• 🏆 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!

Affecting magic invulnerable units with custom ultimates

Status
Not open for further replies.
Level 12
Joined
Mar 23, 2008
Messages
942
All my ultimates are triggered, but I'm getting some headaches from magic invulnerable units.
The easiest is the damage, I fixed with a few modifications on "intuitive damage system".
The main problem are Crowd Control and Debuffs.

Example: There is one ultimate that creates a circular area that freezes all enemies inside it, dealing damage and stunning for x seconds.
The damage is triggered, but the stun is cast by dummy casters, but they don't work on magic immune units.

I know that any spell that needs lvl 2 or more to learn naturally affects magic immune units, but the dummy caster can't be a hero unit, there is any way to make the spell ignore magic immunity?

Thanks in advance, and sorry for any grammatical errors.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
How come the dummy can't be a hero?

You could just use

Unit- Pause unit and then create a special effect on the stunned unit. Save the effect and stun duration to hashtable, and add the unit to a unit group. Activate a periodic trigger, and reduce the timer, and save it again. When the timer hits zero, remove the effect and unpause the unit:

  • Stun
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Stun_Group and do (Actions)
        • Loop - Actions
          • Set Temp_Real_1 = (Load (Key time) of (Key (Picked unit)) from Stun_Hash)
          • -------- ------------------------------ --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Temp_Real_1 Greater than 0.00
            • Then - Actions
              • Set Temp_Real_1 = (Temp_Real_1 - 0.25)
              • -------- ------------------------------ --------
              • Hashtable - Save Temp_Real_1 as (Key time) of (Key (Picked unit)) in Stun_Hash
              • -------- ------------------------------ --------
            • Else - Actions
              • Set Temp_Effect = (Load (Key effect) of (Key (Picked unit)) in Stun_Hash)
              • Special Effect - Destroy Temp_Effect
              • -------- ------------------------------ --------
              • Unit Group - Remove (Picked unit) from Stun_Group
              • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Stun_Hash
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Stun_Group is empty) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
 
Level 12
Joined
Mar 23, 2008
Messages
942
@Maker
If the dummy caster is a hero, you would get an icon, some messages, "your hero has died" and many things I don't want to mess now.
Using pause units to stuns is a big mess, one example would be a short stun after a long stun, the unit will only take the short one. (Of course you can fix that, but I prefer to try simple solutions before using that).

@idodik
Ok... But channel does nothing...
 
Level 4
Joined
Feb 23, 2009
Messages
99
(sorry, dunno how to use the trigger wrap)
Isnt it easier to just make
Unit Group - Pick all units in x matching x and do actions
Loop- Actions
Unit group - Pause(picked unit)

Wait(stun duration)

Unit Group - Pick all units in x matching x and do actions
Unit group - Unpause(picked unit)
 
Level 12
Joined
Aug 22, 2008
Messages
911
@idodik
Ok... But channel does nothing...
The point is Channel can choose the targets for you and you can trigger the entire effect of the spell. For example if you want a stun effect there's a spell with an effect similar to a stun called TimeStop somewhere here in the Hive. It's a good spell and I've based a frost spell on it that works perfectly.
 
Level 4
Joined
Feb 23, 2009
Messages
99
Okay here u go.
An ultimate, freezes everything inside the area, damages enemies over time, and affects magic-invulnerable units.


if there's anything you dislike tell me soon.
 

Attachments

  • FreezinCold Man.w3x
    18.6 KB · Views: 51
Level 12
Joined
Mar 23, 2008
Messages
942
@Muhahahahaaa
No, I really want to stun it.

@overload119
The unit will become vulnerable to spells while stunned.

@Maker
That is the best idea so far.
Edit: I remember now, if you use Expiration timer on a hero, the variables and memory will leak since dead heroes are still ingame.

@CrazyKiD
Read one of my posts above, there are some problems using pause unit

@idodik
...That is exactly the point, the ultimate is already based in channel, and I want to avoid pause unit as much as possible.

@CrazyKiD
My spell is already done, and I will not use pause unit, thanks anyway ^^
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Unit- Pause unit and then create a special effect on the stunned unit. Save the effect and stun duration to hashtable, and add the unit to a unit group. Activate a periodic trigger, and reduce the timer, and save it again. When the timer hits zero, remove the effect and unpause the unit.

@Maker
Using pause units to stuns is a big mess, one example would be a short stun after a long stun, the unit will only take the short one. (Of course you can fix that, but I prefer to try simple solutions before using that).

Applying "pause" trigger on magic immune units and creating stunn SFX "overhead" of them. Then unpausing them when the effect should lift. This won't work for you?

Hmm..
 
Level 11
Joined
May 31, 2008
Messages
698
I know you said the spell is done but just an idea: maybe you could create the dummy hero for neutral hostile so it wouldnt show up for any players. if the target is neutral hostile then you can just make the dummy unit for neutral passive. And to remove the leaks do this:

Event - A unit dies
Condition - Unit type of dying unit is Dummy
Action - Remove dying unit from game
 
Level 12
Joined
Mar 23, 2008
Messages
942
I know you said the spell is done but just an idea: maybe you could create the dummy hero for neutral hostile so it wouldn't show up for any players. if the target is neutral hostile then you can just make the dummy unit for neutral passive. And to remove the leaks do this:

Event - A unit dies
Condition - Unit type of dying unit is Dummy
Action - Remove dying unit from game

You see... I'm using exactly that right now...


Strange...
 
Level 11
Joined
Jun 28, 2008
Messages
2,362
I don't really understand why ultimate should target invulnerable, kinda imba. Anyways, I was to lazy to read whole discussion (sorry), but, did you try the targets allowed for dummy or spell? But that probably wont work.

Cant you just make a dummy, with 100% chance bash, and make it attack all picked units. Just make that dummy can attack invulnerable.
 
Level 12
Joined
Mar 23, 2008
Messages
942
Couldn't you just pause the units in the area by triggers then add the stun effect?

Maker said:
You could just use

Unit- Pause unit and then create a special effect on the stunned unit.

CrazyKiD said:
(sorry, dunno how to use the trigger wrap)
Isnt it easier to just make
Unit Group - Pick all units in x matching x and do actions
Loop- Actions
Unit group - Pause(picked unit)

Wait(stun duration)

Unit Group - Pick all units in x matching x and do actions
Unit group - Unpause(picked unit)

akrep_ve_su said:
Applying "pause" trigger on magic immune units and creating stunn SFX "overhead" of them. Then unpausing them when the effect should lift. This won't work for you?

manstie said:
Couldn't you just pause the units in the area by triggers then add the stun effect?

Answer again:

Saishy said:
Using pause units to stuns is a big mess, one example would be a short stun after a long stun, the unit will only take the short one. (Of course you can fix that, but I prefer to try simple solutions before using that).

SeriousCatAvatar.jpg



HailFireer said:
I don't really understand why ultimate should target invulnerable, kinda imba. Anyways, I was to lazy to read whole discussion (sorry), but, did you try the targets allowed for dummy or spell? But that probably wont work.

Cant you just make a dummy, with 100% chance bash, and make it attack all picked units. Just make that dummy can attack invulnerable.
I tried that, you can target the unit but the spell does nothing.
The dash thing is not fully controllable, I will try to avoid it.
 
Level 10
Joined
Jan 28, 2009
Messages
442
@Maker
That is the best idea so far.
Edit: I remember now, if you use Expiration timer on a hero, the variables and memory will leak since dead heroes are still ingame.

To solve this you can add a unique classification to all dummy heroes, or give them an ability or something else that is detectable through triggers. Then make a trigger that removes units with your condition from the game, when they die (expire).
 
Level 11
Joined
May 31, 2008
Messages
698
Oh yeah i just thought of this but you could use the web ability because that can be casted on magic immune units. Also ensnare can be casted on immunes. Im not sure if the webbed unit can turn or attack, but i know ensnared units can so ensnare wouldnt be the best choice for this situation
 
Level 12
Joined
Mar 23, 2008
Messages
942
Oh yeah i just thought of this but you could use the web ability because that can be casted on magic immune units. Also ensnare can be casted on immunes. Im not sure if the webbed unit can turn or attack, but i know ensnared units can so ensnare wouldnt be the best choice for this situation

Webbed units can attack and turn, its a pain in the ass for TDs maps.
 
Level 4
Joined
Feb 23, 2009
Messages
99
I thought you have done the spell..? is there anything wrong with the spell I gave you?
 
Last edited:
Status
Not open for further replies.
Top