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!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
Tornado Attack.w3x
Variables
Int
Int
Reset
Tornado Attack
Tornado Attack
Tornado Attack Loop
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.
Name
Type
is_array
initial_value
Deg_Tornado
real
Yes
Group_Tornado1
group
Yes
Group_Tornado2
group
Yes
Int_Tornado
integer
No
Point_Tornado
location
Yes
Unt_Tornado1
unit
Yes
Unt_Tornado2
unit
Yes
Int
Events
Map initialization
Conditions
Actions
Visibility - Disable fog of war
Visibility - Disable black mask
Reset
Events
Player - Player 1 (Red) skips a cinematic sequence
Conditions
Actions
Custom script: WESTRING_SCRIPT_WANTDESTROY
Unit Group - Pick every unit in (Units owned by Player 1 (Red).) and do (Reset ability cooldowns for (Picked unit).)
Tornado Attack
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Tornado Attack
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in Group_Tornado1[1]) Equal to 0
Then - Actions
Trigger - Turn on Tornado_Attack_Loop <gen>
Else - Actions
Set Variable Set Int_Tornado = (Int_Tornado + 1)
Set Variable Set Unt_Tornado1[Int_Tornado] = (Triggering unit)
Set Variable Set Point_Tornado[1] = (Position of Unt_Tornado1[Int_Tornado])
Set Variable Set Point_Tornado[2] = (Target point of ability being cast)
Set Variable Set Deg_Tornado[Int_Tornado] = (Angle from Point_Tornado[1] to Point_Tornado[2])
Unit - Create 1 . Dummy Tornado Attack for (Owner of Unt_Tornado1[Int_Tornado]) at Point_Tornado[1] facing (Facing of Unt_Tornado1[Int_Tornado]) degrees
Set Variable Set Unt_Tornado2[Int_Tornado] = (Last created unit)
Unit - Add a 2.50 second Generic expiration timer to Unt_Tornado2[Int_Tornado]
Unit - Turn collision for Unt_Tornado2[Int_Tornado] Off .
Unit Group - Add Unt_Tornado2[Int_Tornado] to Group_Tornado1[1]
Unit Group - Add Unt_Tornado2[Int_Tornado] to Group_Tornado2[Int_Tornado]
For each (Integer A) from 0 to Int_Tornado , do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unt_Tornado2[(Integer A)] is in Group_Tornado1[1].) Equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unt_Tornado2[(Integer A)] is alive) Equal to True
Then - Actions
Set Variable Set Point_Tornado[1] = (Position of Unt_Tornado2[(Integer A)])
Set Variable Set Point_Tornado[2] = (Point_Tornado[1] offset by 50.00 towards Deg_Tornado[(Integer A)] degrees.)
Unit - Move Unt_Tornado2[(Integer A)] instantly to Point_Tornado[2] , facing Deg_Tornado[(Integer A)] degrees
Set Variable Set Group_Tornado1[2] = (Units within 200.00 of Point_Tornado[2] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of Unt_Tornado1[(Integer A)]).) Equal to True) and ((((Matching unit) is in Group_Tornado2[(Integer A)].) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))).)
Unit Group - Pick every unit in Group_Tornado1[2] and do (Actions)
Loop - Actions
Set Variable Set Point_Tornado[3] = (Position of (Picked unit))
Unit - Cause Unt_Tornado1[(Integer A)] to damage (Picked unit) , dealing ((75.00 x (Real((Level of Tornado Attack for Unt_Tornado1[(Integer A)])))) x (Real((Number of units in Group_Tornado2[(Integer A)])))) damage of attack type Hero and damage type Divine
Unit - Create 1 . Dummy Other for (Owner of Unt_Tornado1[(Integer A)]) at Point_Tornado[3] facing Default building facing degrees
Unit - Add Tornado Attack Effect to (Last created unit)
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Cyclone . (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is A Hero) Equal to True
Then - Actions
Unit Group - Add (Picked unit) to Group_Tornado2[(Integer A)]
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.