• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

WoW-Style Evocation

Status
Not open for further replies.
Level 2
Joined
Aug 17, 2007
Messages
6
Now this spell is tricky for me.

For those who don't know :
Evocation is a channeling spell which channeled for maximum of 8 seconds increases caster's mana regeneration by 1500%.

So what I did was:
1. Making a spell Evocation [Mage] based of Tranquility, lasting 8 seconds, healing nothing.
2. Making Dummy Spell Evocation Effect [Mage - Dummy] based of Brilliance Aura with Mana Regeneration Increase set to "1500" and Percent Bonus to "True" (does this make units gain 1500% more mana?) and Area of Effect set to "1" (This makes only units at exact same position get the buff right?)
3. And then having such trigger :

Evocation

Events
Unit - A unit Starts the effect of an ability

Conditions
(Ability being cast) Equal to Evocation [Mage]

Actions
Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees.
Unit - Add Evocation Effect [Mage - Dummy] to (Last created unit)
Wait until ((Ability being cast) Not equal to Evocation [Mage]), checking every 0.50 seconds
<<No I don't really know what condition should I make to ensure that this effect will run only as long as the spell is being chanelled>>
Unit Group - Pick every unit in (Units within 1.00 of (Position of (Triggering unit)) matching ((Unit-type of (Triggering unit)) Equal to Dummy)) and do (Actions)
Loop - Actions
Unit - Remove (Matching unit) from the game
<<The above is just supposed to remove the dummy unit. I can't remove last created unit cuz the trigger runs for some time, so some other unit may be created during this time>>

The above won't work :/. And when the dummy is supposed to be created there's a lag. Can this be avoided? Any suggestions how to make the spell work?
 
Level 6
Joined
Mar 2, 2006
Messages
306
Wait until ((Ability being cast) Not equal to Evocation [Mage]), checking every 0.50 seconds
functions like (Ability being cast) are useless after any wait.
use this condition:
Current order of (Triggering Unit) not equal to Order("whatever")
(conversion: order to string; check object editor to learn the order name for tranquility)
or this jass code:
JASS:
    local LMage = GetTriggerUnit()  // put this as the first action
    ... ... ... ...
    loop
        exitwhen GetUnitCurrentOrder( LMage ) != OrderId("tranquility")  //or whatever is its order name
        call PolledWait(1)  // or put half a second, whatever
    endloop

--------------
you may have noticed that i used (triggering unit) function up there after i said that "functions like (Ability being cast) are useless after any wait". well they are. (triggering unit) is one of the very few exceptions to that rule. you can use it across entire trigger, even after waits.
--------------
as for dummy unit, just add generic expiration timer when you create it an forget about it.
 
Level 2
Joined
Aug 17, 2007
Messages
6
Thanks but I don't think you totally get how I want this spell to work.

The dummy-unit has an aura that adds the mana regeneration so it has to disappear only after the spell is finished. Also I need it only to affect the caster, so if I place dummy-unit at the position of caster will range 1 of this aura do the trick?
 
Level 6
Joined
Mar 2, 2006
Messages
306
Thanks but I don't think you totally get how I want this spell to work.
my post above was about the line:
"Wait until ((Ability being cast) Not equal to Evocation [Mage]), checking every "0.50 seconds"
which caused problems for you. i did not address rest of the spell.

will range 1 of this aura do the trick?
probably not. but there is no need for dummy or an aura here. just make a modified sobi mask ability (item mana regeneration or something like that), give it to the hero, do the wait, remove it from the hero. no aura, no dummy.
 
Level 2
Joined
Aug 17, 2007
Messages
6
probably not. but there is no need for dummy or an aura here. just make a modified sobi mask ability (item mana regeneration or something like that), give it to the hero, do the wait, remove it from the hero. no aura, no dummy.

Uuuu I like that.
 
Level 10
Joined
Apr 9, 2004
Messages
502
why not base it off the channel ability, and merely add an item bonus regeneration to your caster than increases Regen by the 1500%, and removing it when they stop casting the spell. If you want you could even create a periodic effect or whatever you want. Channel is always the best ability to use for any dummy spells whatsoever.
 
Status
Not open for further replies.
Top