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!
Unit - Create 1 Dummy - Focus Shot for (Owner of Caster) at Point1 facing (Position of Target)
Set Dummy = (Last created unit)
Trigger - Turn on Darkness Arrow Move 1 <gen>
Custom script: call RemoveLocation(udg_Point1)
Custom script: call RemoveLocation(udg_Point2)
Trigger 2 (Movement):
Events
Time - Every 0.03 seconds of game time
Actions
Set Point2 = (Position of Target)
Set Point3 = (Position of Dummy)
Special Effect - Create a special effect at Point3 using Abilities\Spells\Other\BlackArrow\BlackArrowMissile.mdl
Special Effect - Destroy (Last created special effect)
Set Point4 = (Point3 offset by ((Distance between Point3 and Point2) / 5.00) towards (Angle from Point3 to Point2) degrees)
Unit - Move Dummy instantly to Point4, facing Point2
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between Point3 and Point2) Less than or equal to 30.00
Then - Actions
Trigger - Turn off (This trigger)
Unit - Remove Dummy from the game
Special Effect - Create a special effect at Point3 using Abilities\Spells\Undead\OrbOfDeath\AnnihilationMissile.mdl
Special Effect - Destroy (Last created special effect)
Unit - Cause Caster to damage Target, dealing (5.00 x (Real((Agility of Caster (Include bonuses))))) damage of attack type Chaos and damage type Normal
Else - Actions
Custom script: call RemoveLocation(udg_Point2)
Custom script: call RemoveLocation(udg_Point3)
Custom script: call RemoveLocation(udg_Point4)
If there is a way to make this MUI I'd love to hear it.
-------- Now in the main trigger we use Index[2] as an array for all variables with no exceptions (unless it's a universal variable which holds the same info for all the units) --------
-------- here go all your actions prior to the Looping --------
-------- to have the same Loop Trigger to run for all the units seperatly, we use a Loop actions :) --------
-------- this Loop Action uses Index[3] as it's integer, which is basically a different variabel then Index[1] and Index[2] --------
-------- This Loop runs from integer 1 (which is the minimal possible array number possible for Index[2]) to Index[2] (which is the highest number possible) --------
-------- Thus all the units using the spell whose Index[2] varies from 1 to n, will have their actions running in variables with the same specific array integer used in the Main Trigger for each unit --------
-------- We subtract the value of Index[1] by 1 since one instance is done, and as we've said, Index[1] records the number of INSTANCES RUNNING only --------
-------- Now this condition checks if there are no more instance running --------
-------- So, if Index[1] is zero, that implies that there are no instance running --------
-------- in that case, we set the value of Index[2] back to zero (a sort of recycling method so that the value doesn't keep on summing up to a high value) --------
-------- and then since there are no instance running and using the Loop (all the Booleans would be False in that case) --------
-------- we turn the trigger off for the sake of efficiency --------
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.