• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Diablo style gameplay

Status
Not open for further replies.
Level 2
Joined
May 11, 2009
Messages
26
I was thinking that the heros are on a constant stop so he will not move or attack back. Both right or left clicks are the attack command. Once the attack command is give he will ether move there or attack target ONCE. After that the command buttons are no longer required so there is space for more spells.

All units and heros are blind so there is a chance to miss. Agility will lower the miss chance and will not increase attack speed or movement speed.

All heros primary attack is melee (unless the hero is using a bow) and the primary attribute is strength.

Maybe allow choosing stats?
 
Level 30
Joined
Sep 30, 2008
Messages
1,460
It's a nice idea, however, I want Warcraft 3 players to be able to easily understand the map :p Theres nothing I hate more than starting a new map, and having to learn a brand new system :S

I really like the idea of agility acting as a hit/miss percentage though :p In the current build, agility only gives an armour bonus. We removed the attack speed increase to stop players from becoming too imba, so it would make a rather neat change :D
 
Level 16
Joined
Jun 25, 2008
Messages
1,043
I really like the idea of agility acting as a hit/miss percentage though :p In the current build, agility only gives an armour bonus. We removed the attack speed increase to stop players from becoming too imba, so it would make a rather neat change :D

How about a trigger that's something like this:
  • Miss chance
  • Untitled Trigger 001
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
    • Actions
      • Set PlayerNumber = (Player number of (Owner of (Attacking unit)))
      • Set Target[PlayerNumber] = (Attacked unit)
      • Set Attacker[PlayerNumber] = (Attacking unit)
      • Set Agility = (Agility of Attacker[PlayerNumber] (Include bonuses))
      • Set MissPercent = ((Random real number between 0.00 and 100.00) + (Real(Agility)))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MissPercent Less than 50.00
        • Then - Actions
          • Unit - Order Attacker[PlayerNumber] to Stop
          • Countdown Timer - Start Timer as a Repeating timer that will expire in 0.01 seconds
        • Else - Actions
  • Miss loop
    • Events
      • Time - Timer expires
    • Conditions
    • Actions
      • Set DummyPoint = (Position of Attacker[PlayerNumber])
      • Unit - Create 1 Misscasting Dummy for Player 12 (Brown) at DummyPoint facing Default building facing degrees
      • Unit - Order (Last created unit) to Undead Banshee - Curse Attacker[PlayerNumber]
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Unit - Order Attacker[PlayerNumber] to Attack Target[PlayerNumber]
      • Custom script: call RemoveLocation(udg_DummyPoint)
      • Countdown Timer - Pause Timer
(I've tested it and it works fine, should be MUI aswell ^^)
the curse is a spell that gives unit 100% chance to miss over 0.5 sec :p
 
Level 2
Joined
May 11, 2009
Messages
26
How about when a hero stops it goes to hold position instead. This will stop the hero from running off to an enemy.
 
Level 17
Joined
Jun 9, 2007
Messages
2,493
Trackables. Use 'em.

This:

CloudWolf said:
It's a nice idea, however, I want Warcraft 3 players to be able to easily understand the map :p Theres nothing I hate more than starting a new map, and having to learn a brand new system :S

Also, if you cant handle trackables and use them wrong, it end up with a whole lot of shit and i think you know that :p And i dont think anyone of us knows how to handle trackables, but i think RedMarine would like to learn that though xP
 
Level 11
Joined
Apr 28, 2008
Messages
696
You can catch left and right clicks on a target unit. But only if you default selection is your hero. First is simple player selects unit, second if unit gets order rightclick. Selectionevent always works. For right click you have to select your hero and the rightclick the targetunit.
 
Level 19
Joined
Sep 4, 2007
Messages
2,826
You can catch left and right clicks on a target unit. But only if you default selection is your hero. First is simple player selects unit, second if unit gets order rightclick. Selectionevent always works. For right click you have to select your hero and the rightclick the targetunit.

There is a delay in selection events so no.

Thanks for your input though.
 
Level 11
Joined
Apr 28, 2008
Messages
696
When using JASS there is no delay, I use it for my actionbar. The buttons are units, leftclick => selection, rightclick => order rightclick and automatically reselection of the previous target.

JASS:
function InterfaceClickL_Timer takes nothing returns nothing
    if BUTTON.ClickPeriodicSelect(GamePlayer, true) then
        if (GetLocalPlayer() == GamePlayer) then
            call ClearSelection()
            call SelectUnit(GameUnit, true)
        endif
    endif
endfunction

function InterfaceClickR takes nothing returns nothing
    if BUTTON.Click(GetOrderTargetUnit(), false) then
        call PauseUnit(GetTriggerUnit(), true)
        call IssueImmediateOrder(GetTriggerUnit(), "stop")
        call PauseUnit(GetTriggerUnit(), false)
    endif
endfunction

You can adjust the delay by setting the interval of the triggering timer.
 
Level 19
Joined
Sep 4, 2007
Messages
2,826
When using JASS there is no delay, I use it for my actionbar. The buttons are units, leftclick => selection, rightclick => order rightclick and automatically reselection of the previous target.

JASS:
function InterfaceClickL_Timer takes nothing returns nothing
    if BUTTON.ClickPeriodicSelect(GamePlayer, true) then
        if (GetLocalPlayer() == GamePlayer) then
            call ClearSelection()
            call SelectUnit(GameUnit, true)
        endif
    endif
endfunction

function InterfaceClickR takes nothing returns nothing
    if BUTTON.Click(GetOrderTargetUnit(), false) then
        call PauseUnit(GetTriggerUnit(), true)
        call IssueImmediateOrder(GetTriggerUnit(), "stop")
        call PauseUnit(GetTriggerUnit(), false)
    endif
endfunction

You can adjust the delay by setting the interval of the triggering timer.

Does that also imply for multiplayer? Even if this is plausible I doubt we'll actually use it anyway. Restricting players' ability to select other heroes and check upon their status is silly which WarCraft III players expect to be plausible.
 
Level 19
Joined
Sep 4, 2007
Messages
2,826
It may be silly, but that's the way it is in diablo 2 :p

Not sure where my point on this is though.

This is WarCraft III after all. The UI is simply not designed for such drastic changes. This will also dramatically hamper most players from supporting each other. Without the proper informations e.g. level, health, mana, stats, etc. players are a bit lost.
 
Level 11
Joined
Apr 28, 2008
Messages
696
This is WarCraft III after all. The UI is simply not designed for such drastic changes. This will also dramatically hamper most players from supporting each other. Without the proper informations e.g. level, health, mana, stats, etc. players are a bit lost.


simple add conditions to the trigger to filter out WHAT typ of unit the player selects/rightclicks. If it is an allied hero, you won't attack him.
 
Level 17
Joined
Jun 9, 2007
Messages
2,493
simple add conditions to the trigger to filter out WHAT typ of unit the player selects/rightclicks. If it is an allied hero, you won't attack him.

I dont think that he means it that way.
If you have diablo 2 style, you instantly attack a unit when clicking on it without getting any information about it or something, all you get is a health bar over it. And you cant select it becouse you would just attack it.
Its not the ally that is our problem, it is that we still want to keep some Warcraft elements and not make it to much diablo. Otherwise it would confuse newbies.
 
Status
Not open for further replies.
Top