- 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
-
-
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
-
-
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')
-
-
-
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]
-
-
-
-
-
-
-
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
-
-
-
-
-
-
-
-
-
Can anyone help me with this?
EDIT: Solved.
Last edited: