- Joined
- Jan 30, 2013
- Messages
- 12,877
I suggest to use preload at Map Init
Preload

Events


Map initialization

Conditions

Actions


Set Point = (Center of (Playable map area))


Set DummyCaster = Dummy Caster


Unit - Create 1 DummyCaster for Player 1 (Red) at Point facing Default building facing degrees


Unit - Add Storm Bolt (Starburst) to (Last created unit)


Unit - Hide (Last created unit)


Custom script: call RemoveLocation(udg_Point)


-------- For Prevent Loop Bug --------


Set StarburstLoop = 0


-------- Delay for Starburst Required --------


Set KiritoDelay = 10.00


-------- Count per slash --------


Set KiritoSlashCount = 30.00


-------- Delay for Final Blow --------


Set KiritoFinalDelay = 11.00


-------- Ability Cast --------


Set StarburstAbility = Starburst Stream


-------- Damage dealt per hit --------


Set StarburstDamage[1] = 15.00


Set StarburstDamage[2] = 25.00


Set StarburstDamage[3] = 35.00


-------- Damage for final blow --------


Set StarburstFinalDamage[1] = 300.00


Set StarburstFinalDamage[2] = 500.00


Set StarburstFinalDamage[3] = 700.00
StarbustStreamGeneric

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to StarburstAbility

Actions


Set StarburstMax = (StarburstMax + 1)


Set Kirito[StarburstMax] = (Triggering unit)


Set KiritoTarget[StarburstMax] = (Target unit of ability being cast)


Set KiritoPoint[StarburstMax] = (Position of Kirito[StarburstMax])


Set KiritoPoint2[StarburstMax] = (Position of KiritoTarget[StarburstMax])


Set StarburstStage[StarburstMax] = 1


Set StarburstCount[StarburstMax] = 0.00


Set KiritoSlash[StarburstMax] = 0.00


Set KiritoFinal[StarburstMax] = 0.00


Set StarburstLevel[StarburstMax] = (Level of StarburstAbility for Kirito[StarburstMax])


Unit - Make KiritoTarget[StarburstMax] face Kirito[StarburstMax] over 0.00 seconds


Unit - Pause Kirito[StarburstMax]


Unit - Pause KiritoTarget[StarburstMax]


Special Effect - Create a special effect attached to the head of Kirito[StarburstMax] using Units\NightElf\Wisp\WispExplode.mdl


Special Effect - Destroy (Last created special effect)


Custom script: call RemoveLocation(udg_KiritoPoint[udg_StarburstMax])


Custom script: call RemoveLocation(udg_KiritoPoint2[udg_StarburstMax])


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




StarburstMax Equal to 1



Then - Actions




Trigger - Turn on Starburst StartLoop <gen>



Else - Actions
Starburst StartLoop

Events


Time - Every 0.20 seconds of game time

Conditions

Actions


For each (Integer StarburstLoop) from 1 to StarburstMax, do (Actions)



Loop - Actions




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






Or - Any (Conditions) are true







Conditions








(KiritoTarget[StarburstLoop] is dead) Equal to True








(Kirito[StarburstLoop] is dead) Equal to True





Then - Actions






Animation - Change Kirito[StarburstLoop]'s animation speed to 100.00% of its original speed






Unit - Unpause Kirito[StarburstLoop]






Unit - Unpause KiritoTarget[StarburstLoop]






Animation - Reset Kirito[StarburstLoop]'s animation






Set Kirito[StarburstLoop] = Kirito[StarburstMax]






Set Kirito[StarburstMax] = No unit






Set KiritoTarget[StarburstLoop] = KiritoTarget[StarburstMax]






Set KiritoTarget[StarburstMax] = No unit






Set StarburstCount[StarburstLoop] = StarburstCount[StarburstMax]






Set KiritoSlash[StarburstLoop] = KiritoSlash[StarburstMax]






Set KiritoFinal[StarburstLoop] = KiritoFinal[StarburstMax]






Set StarburstStage[StarburstLoop] = StarburstStage[StarburstMax]






Set StarburstLoop = (StarburstLoop - 1)






Set StarburstMax = (StarburstMax - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








StarburstMax Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions





Else - Actions




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






StarburstStage[StarburstLoop] Equal to 1





Then - Actions






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








StarburstCount[StarburstLoop] Equal to KiritoDelay







Then - Actions








Set StarburstStage[StarburstLoop] = 2








Set KiritoPoint[StarburstLoop] = (Position of Kirito[StarburstLoop])








Set KiritoPoint2[StarburstLoop] = (Position of KiritoTarget[StarburstLoop])








Set KiritoPoint3[StarburstLoop] = (KiritoPoint2[StarburstLoop] offset by 30.00 towards (Facing of Kirito[StarburstLoop]) degrees)








Set KiritoPoint4[StarburstLoop] = (KiritoPoint2[StarburstLoop] offset by -120.00 towards (Angle from KiritoPoint[StarburstLoop] to KiritoPoint2[StarburstLoop]) degrees)








Unit - Move Kirito[StarburstLoop] instantly to KiritoPoint4[StarburstLoop]








Unit - Move KiritoTarget[StarburstLoop] instantly to KiritoPoint3[StarburstLoop]








Custom script: call RemoveLocation(udg_KiritoPoint4[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint2[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint3[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint[udg_StarburstLoop])







Else - Actions








Set StarburstCount[StarburstLoop] = (StarburstCount[StarburstLoop] + 1.00)





Else - Actions




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






StarburstStage[StarburstLoop] Equal to 2





Then - Actions






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








KiritoSlash[StarburstLoop] Equal to KiritoSlashCount







Then - Actions








Set KiritoAnimationDelay[StarburstLoop] = True








Set StarburstStage[StarburstLoop] = 3







Else - Actions








Set KiritoSlash[StarburstLoop] = (KiritoSlash[StarburstLoop] + 1.00)








Set KiritoPoint[StarburstLoop] = (Position of Kirito[StarburstLoop])








Set KiritoPoint2[StarburstLoop] = (Position of KiritoTarget[StarburstLoop])








Set KiritoPoint4[StarburstLoop] = (KiritoPoint2[StarburstLoop] offset by 30.00 towards (Facing of Kirito[StarburstLoop]) degrees)








Set KiritoPoint3[StarburstLoop] = (KiritoPoint2[StarburstLoop] offset by -120.00 towards (Angle from KiritoPoint[StarburstLoop] to KiritoPoint2[StarburstLoop]) degrees)








Animation - Change Kirito[StarburstLoop]'s animation speed to 200.00% of its original speed








Animation - Play KiritoTarget[StarburstLoop]'s hit animation








Animation - Play Kirito[StarburstLoop]'s attack -1 animation








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










(KiritoTarget[StarburstLoop] is A structure) Equal to False









Then - Actions










Unit - Move KiritoTarget[StarburstLoop] instantly to KiritoPoint4[StarburstLoop]










Unit - Move Kirito[StarburstLoop] instantly to KiritoPoint3[StarburstLoop]









Else - Actions








Special Effect - Create a special effect at KiritoPoint2[StarburstLoop] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl








Special Effect - Destroy (Last created special effect)








Special Effect - Create a special effect attached to the chest of KiritoTarget[StarburstLoop] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl








Special Effect - Destroy (Last created special effect)








Unit - Cause Kirito[StarburstLoop] to damage KiritoTarget[StarburstLoop], dealing StarburstDamage[StarburstLevel[StarburstLoop]] damage of attack type Spells and damage type Normal








Custom script: call RemoveLocation(udg_KiritoPoint4[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint3[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint2[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint[udg_StarburstLoop])





Else - Actions




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






StarburstStage[StarburstLoop] Equal to 3





Then - Actions






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








KiritoFinal[StarburstLoop] Greater than or equal to KiritoFinalDelay







Then - Actions








Set KiritoPoint[StarburstLoop] = (Position of Kirito[StarburstLoop])








Set KiritoPoint2[StarburstLoop] = (Position of KiritoTarget[StarburstLoop])








Unit - Cause Kirito[StarburstLoop] to damage KiritoTarget[StarburstLoop], dealing StarburstFinalDamage[StarburstLevel[StarburstLoop]] damage of attack type Spells and damage type Normal








Special Effect - Create a special effect at KiritoPoint2[StarburstLoop] using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl








Special Effect - Set Scale of (Last created special effect) to 3.00








Special Effect - Destroy (Last created special effect)








Unit - Create 1 DummyCaster for (Owner of Kirito[StarburstLoop]) at KiritoPoint2[StarburstLoop] facing Default building facing degrees








Unit - Add a 3.00 second Generic expiration timer to (Last created unit)








Unit - Add Storm Bolt (Starburst) to (Last created unit)








Unit - Order (Last created unit) to Human Mountain King - Storm Bolt KiritoTarget[StarburstLoop]








Animation - Change Kirito[StarburstLoop]'s animation speed to 100.00% of its original speed








Unit - Unpause Kirito[StarburstLoop]








Unit - Unpause KiritoTarget[StarburstLoop]








Animation - Reset Kirito[StarburstLoop]'s animation








Custom script: call RemoveLocation(udg_KiritoPoint2[udg_StarburstLoop])








Custom script: call RemoveLocation(udg_KiritoPoint[udg_StarburstLoop])








Set Kirito[StarburstLoop] = Kirito[StarburstMax]








Set Kirito[StarburstMax] = No unit








Set KiritoTarget[StarburstLoop] = KiritoTarget[StarburstMax]








Set Kirito[StarburstMax] = No unit








Set StarburstCount[StarburstLoop] = StarburstCount[StarburstMax]








Set KiritoSlash[StarburstLoop] = KiritoSlash[StarburstMax]








Set KiritoFinal[StarburstLoop] = KiritoFinal[StarburstMax]








Set StarburstStage[StarburstLoop] = StarburstStage[StarburstMax]








Set StarburstMax = (StarburstMax - 1)








Set StarburstLoop = (StarburstLoop - 1)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










StarburstMax Equal to 0









Then - Actions










Trigger - Turn off (This trigger)









Else - Actions







Else - Actions








Set KiritoFinal[StarburstLoop] = (KiritoFinal[StarburstLoop] + 1.00)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










KiritoAnimationDelay[StarburstLoop] Equal to True









Then - Actions










Animation - Change Kirito[StarburstLoop]'s animation speed to 25.00% of its original speed










Animation - Play Kirito[StarburstLoop]'s attack slam animation










Set KiritoAnimationDelay[StarburstLoop] = False









Else - Actions





Else - Actions