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 Group - Pick every unit in (Units within Vortex_AoE[(i x 2)] of loc matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) is A flying unit) Equal to False)) and ((((Matching unit) is Magic Immune) Equal to Fa and do (Actions)
Loop - Actions
-------- Add to debug group so they won't be damaged again --------
Unit Group - Add (Picked unit) to Vortex_Struck[i]
-------- Deal damage equal to the number of spheres * damage --------
Unit - Cause Vortex_Caster[i] to damage (Picked unit), dealing ((Real((Number of units in Vortex_Sphere[i]))) x Vortex_Damage[i]) damage of attack type Spells and damage type Normal
-------- Save total damage dealt * decrement --------
Set Vortex_Heal[(i x 3)] = (Vortex_Heal[(i x 3)] + (((Real((Number of units in Vortex_Sphere[i]))) x Vortex_Damage[i]) x Vortex_Heal[((i x 3) + 1)]))
-------- Create special effect --------
Special Effect - Create a special effect attached to the origin of (Picked unit) using Vortex_Sfx[(i x 4)]
Special Effect - Destroy (Last created special effect)
-------- Remove a sphere from the sphere group --------
Set u = (Random unit from Vortex_Sphere[i])
Unit Group - Remove u from Vortex_Sphere[i]
Unit - Remove u from the game
-------- Aplly tree check and kill tree --------
Destructible - Pick every destructible within Vortex_AoE[(i x 2)] of loc and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Vortex_Caster[i] Not equal to No unit
(Vortex_Caster[i] is dead) Equal to False
Vortex_Heal[(i x 3)] Not equal to 0.00
Then - Actions
Set loc = (Position of Vortex_Missile[i])
-------- Apply heal --------
Unit - Set life of Vortex_Caster[i] to ((Life of Vortex_Caster[i]) + Vortex_Heal[(i x 3)])
Special Effect - Create a special effect attached to the origin of Vortex_Caster[i] using Vortex_Sfx[((i x 4) + 2)]
Special Effect - Destroy (Last created special effect)
-------- Display heal ammount --------
Floating Text - Create floating text that reads ((String((Integer(Vortex_Heal[(i x 3)])))) + !!) above Vortex_Caster[i] with Z offset 0.00, using font size 10.00, color (60.00%, 0.00%, 80.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds
Custom script: set bj_wantDestroyGroup = true
-------- Pick all valid enemys (including the ones which were hit already) --------
Unit Group - Pick every unit in (Units within Vortex_AoE[((i x 2) + 1)] of loc matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) is A flying unit) Equal to False)) and ((((Matching unit) is Magic Immune) Equal and do (Actions)
Loop - Actions
-------- Deal damage equal to total damage --------
Unit - Cause Vortex_Caster[i] to damage (Picked unit), dealing Vortex_Heal[(i x 3)] damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the origin of (Picked unit) using Vortex_Sfx[((i x 4) + 1)]
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation( udg_loc )
Else - Actions
-------- Remove main missile --------
Unit - Remove Vortex_Missile[i] from the game
-------- Remove spheres --------
Unit Group - Pick every unit in Vortex_Sphere[i] and do (Actions)
Loop - Actions
Unit - Remove (Picked unit) from the game
-------- Shift data to increase performance of loop --------
Set Vortex_Missile[i] = Vortex_Missile[Vortex_Max]
Set Vortex_Caster[i] = Vortex_Caster[Vortex_Max]
Set Vortex_Damage[i] = Vortex_Damage[Vortex_Max]
Set Vortex_Heal[(i x 3)] = Vortex_Heal[(Vortex_Max x 3)]
Set Vortex_Heal[((i x 3) + 1)] = Vortex_Heal[((Vortex_Max x 3) + 1)]
Set Vortex_Heal[((i x 3) + 2)] = Vortex_Heal[((Vortex_Max x 3) + 2)]
Set Vortex_AoE[(i x 2)] = Vortex_AoE[(Vortex_Max x 2)]
Set Vortex_AoE[((i x 2) + 1)] = Vortex_AoE[((Vortex_Max x 2) + 1)]
Set Vortex_Speed[(i x 3)] = Vortex_Speed[(Vortex_Max x 3)]
Set Vortex_Speed[((i x 3) + 1)] = Vortex_Speed[((Vortex_Max x 3) + 1)]
Set Vortex_Speed[((i x 3) + 2)] = Vortex_Speed[((Vortex_Max x 3) + 2)]
Set Vortex_Rotation_Speed[i] = Vortex_Rotation_Speed[Vortex_Max]
Set Vortex_Rotation_Angle[i] = Vortex_Rotation_Angle[Vortex_Max]
Set Vortex_Radius[i] = Vortex_Radius[Vortex_Max]
Set Vortex_Distance[(i x 2)] = Vortex_Distance[(Vortex_Max x 2)]
Set Vortex_Distance[((i x 2) + 1)] = Vortex_Distance[((Vortex_Max x 2) + 1)]
Set Vortex_Sfx[(i x 4)] = Vortex_Sfx[(Vortex_Max x 4)]
Set Vortex_Sfx[((i x 4) + 1)] = Vortex_Sfx[((Vortex_Max x 4) + 1)]
Set Vortex_Sfx[((i x 4) + 2)] = Vortex_Sfx[((Vortex_Max x 4) + 2)]
Set Vortex_Sfx[((i x 4) + 3)] = Vortex_Sfx[((Vortex_Max x 4) + 3)]
Unit Group - Remove all units from Vortex_Struck[i]
Unit Group - Add all units of Vortex_Struck[Vortex_Max] to Vortex_Struck[i]
Unit Group - Remove all units from Vortex_Struck[Vortex_Max]
Unit Group - Remove all units from Vortex_Sphere[i]
Unit Group - Add all units of Vortex_Sphere[Vortex_Max] to Vortex_Sphere[i]
Unit Group - Remove all units from Vortex_Sphere[Vortex_Max]
-------- Decrease loop integer --------
Set Vortex_Max = (Vortex_Max - 1)
Set i = (i - 1)
-------- Turn trigger off if there are no instances left --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Vortex_Max Less than 1
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
If anyone wants to know why this kind of 3D-Polar-Projection works the person may ask me
Keywords:
Vortex of Destruction, Vortex, Tornado, death, death coil, XAOS_WIZARD, D4RK_G4ND4LF
5 minutes before I uploaded it worked 100% and could be spammed 1000 times
must have been some recent change
wait a sec
edit:
wtf
I changed cooldown back to 0 for testing reason and it works fine
I changed to 25 again and it bugged
edit2:
bug is caused by
"set bj_wantDestroyGroup = true" in the "Reset Cooldown" trigger
it destroys the new groups for the spheres :/
will be fixed in 2 mins
Looks wierd when the missiles suddenly disappear. Maybe adding matching effects would fit well ... for the rest I like it. Reminds me to my (already deleted) spell "Nightmare Missile" ...
The automatical cooldown reset trigger sux btw :/
I tested if it's MUI and I'm doubting it. I suggest you check it again. I won't vote for now.
Personally i would like it more if the missile moves a determined distance, instead the distance between caster and targeted point because it happens always to me that I click on a place directly in front of the caster and so can´t use the full strength of the spell xDD
But thats easy to change so it doesn´t matter.
5/5 from me
Offtopic: I think I got the 2D-Array thing you told me
WA!! SOME MANY TRIGGERS!! I SEE ALREADY ALMOST FAINTED !! but still got the download but i don't know how to import in the spell and thats the problem...
wow, really cool. Never seen anything like it. Anyway, how can I reduce the speed the spell moves? I want to use it in a boss fight, where the players should dodge the spell, in order prevent the Boss getting too much healing % from the total dmg done.
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.