- Joined
- Aug 12, 2008
- Messages
- 350
Spell DescriptionActive Ability
Spell Type : Single Target
Cast Range : 100
Lyner grab hold of a target and toss the target high up in the air then shoot couple of arrows to the target.
Level 1: 1.5 seconds in the air
Level 2: 2 seconds in the air
Level 3: 2.5 seconds in the air
Here goes the trigger:
-
Hypershot
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Hypershot
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_index_size Equal to 0
-
Then - Actions
- Trigger - Turn on Hypershot float <gen>
- Trigger - Turn on Hypershot strikes <gen>
- Else - Actions
-
If - Conditions
- Set HS_index_size = (HS_index_size + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_index_size Greater than HS_index_max
-
Then - Actions
- Set HS_index1[HS_index_size] = HS_index_size
- Set HS_index_max = HS_index_size
- Else - Actions
-
If - Conditions
- Set HS_index2 = HS_index1[HS_index_size]
- -------- ======================================================== --------
- Set HS_duration_count[HS_index2] = 0.00
- Set HS_floatspeed[HS_index2] = 35.00
- -------- ----- setting the caster and target ----- --------
- Set HS_caster[HS_index2] = (Triggering unit)
- Set HS_target[HS_index2] = (Target unit of ability being cast)
- -------- ----- duration of target unit in the air ----- --------
- Set HS_duration_max[HS_index2] = (1.00 + (0.50 x (Real((Level of Hypershot for HS_caster[HS_index2])))))
- -------- ----- damage dealt per arrow ----- --------
- Set HS_dmgPerArrow[HS_index2] = (10.00 + (10.00 x (Real((Level of Hypershot_attachment for HS_caster[HS_index2])))))
- -------- ----- adding crow form ability to target to make it float ----- --------
- Unit - Add Crow Form to HS_target[HS_index2]
- Unit - Remove Crow Form from HS_target[HS_index2]
- -------- ----- increase the caster's animation speed ----- --------
- Animation - Change HS_caster[HS_index2]'s animation speed to 500.00% of its original speed
- -------- ----- pause the caster and target ----- --------
- Unit - Pause HS_caster[HS_index2]
- Unit - Pause HS_target[HS_index2]
- -------- ----- add invulnerable to target during float ----- --------
- Unit - Add Invulnerable (Neutral) to HS_target[HS_index2]
- -------- ----- adding attachment/special effects ----- --------
- Unit - Add Hypershot_attachment to HS_caster[HS_index2]
- -------- ----- adding locust to the caster ----- --------
- Custom script: call UnitAddAbility(udg_HS_caster[udg_HS_index2], 'Aloc')
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
Hypershot float
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
-
For each (Integer HS_index3) from 1 to HS_index_size, do (Actions)
-
Loop - Actions
- Set HS_index2 = HS_index1[HS_index3]
- Animation - Change HS_target[HS_index2] flying height to ((Current flying height of HS_target[HS_index2]) + HS_floatspeed[HS_index2]) at 0.00
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Current flying height of HS_target[HS_index2]) Less than or equal to 550.00
-
Then - Actions
- Set HS_floatspeed[HS_index2] = (HS_floatspeed[HS_index2] - 1.15)
-
Else - Actions
- Set HS_floating[HS_index2] = True
- Unit - Remove Invulnerable (Neutral) from HS_target[HS_index2]
- Unit Group - Add HS_caster[HS_index2] to HS_strikegroup
- Unit - Unpause HS_caster[HS_index2]
- Unit - Order HS_caster[HS_index2] to Attack HS_target[HS_index2]
-
If - Conditions
-
Loop - Actions
-
For each (Integer HS_index3) from 1 to HS_index_size, do (Actions)
-
Events
-
Hypershot strikes
-
Events
- Time - Every 0.20 seconds of game time
- Conditions
-
Actions
-
Unit Group - Pick every unit in HS_strikegroup and do (Actions)
-
Loop - Actions
-
For each (Integer HS_index3) from 1 to HS_index_size, do (Actions)
-
Loop - Actions
- Set HS_index2 = HS_index1[HS_index3]
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (HS_target[HS_index2] is alive) Equal to True
- HS_duration_count[HS_index2] Less than HS_duration_max[HS_index2]
-
Then - Actions
- Set HS_duration_count[HS_index2] = (HS_duration_count[HS_index2] + 0.20)
- Animation - Play HS_caster[HS_index2]'s attack animation
- Set HS_casterpoint = (Position of HS_caster[HS_index2])
- Unit - Create 1 dummy unit for (Owner of HS_caster[HS_index2]) at HS_casterpoint facing Default building facing degrees
- Set HS_dummy[HS_index2] = (Last created unit)
- Unit - Add Hypershot_dummy to HS_dummy[HS_index2]
- Unit - Order HS_dummy[HS_index2] to Human Mountain King - Storm Bolt HS_target[HS_index2]
- Unit - Cause HS_caster[HS_index2] to damage HS_target[HS_index2], dealing HS_dmgPerArrow[HS_index2] damage of attack type Spells and damage type Normal
- Custom script: call RemoveLocation (udg_HS_casterpoint)
-
Else - Actions
- Animation - Change HS_target[HS_index2] flying height to 0.00 at 1000.00
- Unit - Remove Hypershot_attachment from HS_caster[HS_index2]
- Animation - Change HS_caster[HS_index2]'s animation speed to 100.00% of its original speed
- Unit Group - Remove HS_caster[HS_index2] from HS_strikegroup
- -------- ----- complete way to remove locust ----- --------
- Unit - Hide HS_caster[HS_index2]
- Custom script: call UnitRemoveAbility(udg_HS_caster[udg_HS_index2], 'Aloc')
- Unit - Unhide HS_caster[HS_index2]
- Unit - Add Bear Form to HS_caster[HS_index2]
- Unit - Order HS_caster[HS_index2] to Night Elf Druid Of The Claw - Bear Form
- Unit - Remove Bear Form from HS_caster[HS_index2]
- -------- ----- -------------------------------------------------- ----- --------
- Set HS_index1[HS_index3] = HS_index1[HS_index_size]
- Set HS_index1[HS_index_size] = HS_index2
- Set HS_index_size = (HS_index_size - 1)
- Set HS_index3 = (HS_index3 - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_index_size Equal to 0
-
Then - Actions
- Trigger - Turn off Hypershot float <gen>
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
-
If - Conditions
-
Loop - Actions
-
For each (Integer HS_index3) from 1 to HS_index_size, do (Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in HS_strikegroup and do (Actions)
-
Events
Can anyone help me with this?
EDIT: Solved.
Last edited: