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

Need Spell help!

Status
Not open for further replies.
Level 8
Joined
Oct 2, 2004
Messages
417
This probably belongs in the Spell Forum...

I want to make a spell called Storm. When cast, it summons a timed-life, controllable twister, just like Tornado. However, rather than dealing damage, I want the twister to dispel magic of units it touches. The caster must also channel this spell.

How would I make this work? Would I base the spell off of Tornado?
 
Level 16
Joined
Sep 3, 2004
Messages
2,086
Base it off tornado, and make an integer loop that picks units around them, creates the dispel by making sure the picked unit isn't the summoned unit, and remove all magical buffs, unless you want it to remove stun and poison. If you need it, use variables to allow multi-instanceability
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Tornado is the best solution. However, to make it efficient and less lagy, I'd have a dummy unit which has Dispel Magic, the spell having the stats you want. Have it have 1.5 seconds cooldown, and have 100000 range. I'll explain you why. Oh, and have it cost 0 mana. Now, give it to the dummy unit and let's go to the triggers. In this case it will NOT be multiinstance. And no, I don't find FORs the best solution.

First, make 3 triggers. Make third turned off (not enabled) from the beginning.That means that it will look transparent.

Trigger 1:

Event - An unit Starts the Effect of an Ability
Conditions - Ability being cast equal to YourTornado
Actions - Create one dummy unit at position of (Casting Unit) for owner of (Casting Unit)
- Pick up random unit within plyable map matching condition (Type of (Matching Unit) is equal to Tornado_Unit) and do action set Tornado as (Picked Unit)
- Set Dummy as (Last Created Unit)
- Turn on Trigger 2

Trigger 2:

Event - Every 1 seconds of the game
Actions - Reset Unit's Dummy Cooldowns
- Order Dummy to Human - Dispel Magic at position of Tornado

Trigger 3:

Event - An unit Stops Casting an Ability
Conditions - Ability being cast equal to YourTornado
Actions - Turn off Trigger 2
- Remove Dummy

This assures NO multi-instanceability but the spell will work. If you need multi-instance, I might try making it in JASS.
 
Level 4
Joined
Sep 21, 2004
Messages
110
Or you could just give the dummy unit auto-cast dryad dispel with short range, and give the tornado the factory ability which spawns a dispel caster everyone 1 second or so. Make the dummy unit have a negative hp regen. Multi instance and trigger free :D
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
I KNOW that don't be sarcastic Dr. Nitro. I just wanted to know how you intended to TRACK the tornado so you can cast the dispel. As for Abolish Magic... Cough cough, the spell is supposed to affect ALL units around not only one. Do you want to cast a dummy for each of them? This sounds silly... And much more complicated.
 
Level 1
Joined
Nov 24, 2004
Messages
4
He is saying that there are no dummy casters, since the tornado is a unit then you just give the tornade the ability and shorten the range for it to like 100 or something and reduce the cooldown time to .01. Then you get a moving tornado unit casting an auto-cast dispel to all units within 100 of the tornado
 
Status
Not open for further replies.
Top