Planetary Devastation

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Planetary Devastation (N E W)

Actions


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



If - Conditions




EX_Chib_Index_size Equal to 0



Then - Actions




Trigger - Turn on Planetary Devastation Loop <gen>



Else - Actions


-------- Increase the index size --------


Set EX_Chib_Index_size = (EX_Chib_Index_size + 1)


-------- Dynamic Index --------


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



If - Conditions




EX_Chib_Index_size Greater than EX_Chib_Max_size



Then - Actions




Set EX_Chib_index[EX_Chib_Index_size] = EX_Chib_Index_size




Set EX_Chib_Max_size = EX_Chib_Index_size



Else - Actions


-------- Dynamic Index End --------


Set EX_Chib_Temp_Int = EX_Chib_index[EX_Chib_Index_size]


-------- F I X T H I N G S Y O U W A N T H E R E --------


-------- Changable values are found below --------


Set EX_Chib_RegionLength[EX_Chib_Temp_Int] = 3000.00


Set EX_Chib_MaxCoreSize[EX_Chib_Temp_Int] = 2500.00


Set EX_Chib_CoreSpeed[EX_Chib_Temp_Int] = 5.00


Set EX_Chib_MaxRange[EX_Chib_Temp_Int] = 1000.00


Set EX_Chib_MaxCoreHeight[EX_Chib_Temp_Int] = 600.00


Set EX_Chib_MaxDamage[EX_Chib_Temp_Int] = (275.00 + (75.00 x (Real((Level of (Ability being cast) for EX_Chib_Unit[EX_Chib_Temp_Int])))))


Set EX_Chib_RocksDummyType[EX_Chib_Temp_Int] = DUMMY rocks


Set EX_Chib_CoreDummyType[EX_Chib_Temp_Int] = DUMMY core


Set EX_Chib_DummyAoE[EX_Chib_Temp_Int] = DUMMY AoE


Set EX_Chib_UnitEffect1[EX_Chib_Temp_Int] = Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl


-------- Dont touch values here --------


Set EX_Chib_RegionWidth[EX_Chib_Temp_Int] = EX_Chib_RegionLength[EX_Chib_Temp_Int]


Set EX_Chib_Timer[EX_Chib_Temp_Int] = 0.00


Set EX_Chib_CoreSize[EX_Chib_Temp_Int] = 10.00


Set EX_Chib_Unit[EX_Chib_Temp_Int] = (Triggering unit)


Set EX_Chib_UnitPos[EX_Chib_Temp_Int] = (Position of EX_Chib_Unit[EX_Chib_Temp_Int])


Set EX_Chib_TargetPoint[EX_Chib_Temp_Int] = (EX_Chib_UnitPos[EX_Chib_Temp_Int] offset by 1000.00 towards (Facing of (Triggering unit)) degrees)


Set EX_Chib_CoreRise[EX_Chib_Temp_Int] = True


Set EX_Chib_ChargeRange[EX_Chib_Temp_Int] = 50.00


Set EX_Chib_Check[EX_Chib_Temp_Int] = True


Set EX_Chi_DamageCalculator[EX_Chib_Temp_Int] = False


Set EX_Chib_SingleCheck[EX_Chib_Temp_Int] = True


Set EX_Chib_Order[EX_Chib_Temp_Int] = (Current order of (Triggering unit))


Set EX_Chib_ChargeDamage[EX_Chib_Temp_Int] = 0.00


Set EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] = 100.00


Custom script: set udg_EX_Chib_RocksGroup[udg_EX_Chib_Temp_Int] = CreateGroup()


Custom script: set udg_EX_Chib_RocksGroupEyeCandy[udg_EX_Chib_Temp_Int] = CreateGroup()


Custom script: set udg_EX_Chib_TargetGroup[udg_EX_Chib_Temp_Int] = CreateGroup()
Planetary Devastation Loop

Events


Time - Every 0.03 seconds of game time

Conditions

Actions


For each (Integer EX_Chib_Loop) from 1 to EX_Chib_Index_size, do (Actions)



Loop - Actions




Set EX_Chib_Temp_Int = EX_Chib_index[EX_Chib_Loop]




-------- If the caster has mana and is still casting then perform the actions --------




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





If - Conditions






(Mana of EX_Chib_Unit[EX_Chib_Temp_Int]) Greater than or equal to 1.00






(Current order of EX_Chib_Unit[EX_Chib_Temp_Int]) Equal to EX_Chib_Order[EX_Chib_Temp_Int]





Then - Actions






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







If - Conditions








EX_Chib_Timer[EX_Chib_Temp_Int] Less than or equal to 0.00







Then - Actions








-------- If the timer is 0 or has only started create the sphere and order it to move towards the point target --------








Unit - Create 1 EX_Chib_CoreDummyType[EX_Chib_Temp_Int] for (Owner of EX_Chib_Unit[EX_Chib_Temp_Int]) at EX_Chib_UnitPos[EX_Chib_Temp_Int] facing Default building facing degrees








Animation - Change (Last created unit)'s animation speed to 0.00% of its original speed








Set EX_Chib_Core[EX_Chib_Temp_Int] = (Last created unit)








Unit - Order EX_Chib_Core[EX_Chib_Temp_Int] to Move To EX_Chib_TargetPoint[EX_Chib_Temp_Int]








Animation - Change EX_Chib_Core[EX_Chib_Temp_Int] flying height to EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] at 0.00








Set EX_Chib_RocksSpawn[EX_Chib_Temp_Int] = (Region centered at EX_Chib_TargetPoint[EX_Chib_Temp_Int] with size (EX_Chib_RegionWidth[EX_Chib_Temp_Int], EX_Chib_RegionLength[EX_Chib_Temp_Int]))







Else - Actions








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









If - Conditions










EX_Chib_CoreRise[EX_Chib_Temp_Int] Equal to True









Then - Actions










-------- if the sphere still hasnt aquired the max height the sphere would continue to fly higher --------










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











If - Conditions












(Current flying height of EX_Chib_Core[EX_Chib_Temp_Int]) Greater than or equal to EX_Chib_MaxCoreHeight[EX_Chib_Temp_Int]











Then - Actions












-------- the sphere now has aquired max height. --------












-------- now turn on damage charging --------












Set EX_Chi_DamageCalculator[EX_Chib_Temp_Int] = True












-------- now increase the sphere's size --------












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













If - Conditions














EX_Chib_CoreSize[EX_Chib_Temp_Int] Less than EX_Chib_MaxCoreSize[EX_Chib_Temp_Int]













Then - Actions














-------- if the sphere is smaller than the indicated max size, the sphere would increase its size --------














-------- create a small effect indicating the AoE of the spell --------














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















If - Conditions
















EX_Chib_SingleCheck[EX_Chib_Temp_Int] Equal to True















Then - Actions
















Unit - Create 1 EX_Chib_DummyAoE[EX_Chib_Temp_Int] for (Owner of EX_Chib_Unit[EX_Chib_Temp_Int]) at EX_Chib_TargetPoint[EX_Chib_Temp_Int] facing Default building facing degrees
















Animation - Change (Last created unit)'s size to (EX_Chib_ChargeRange[EX_Chib_Temp_Int]%, EX_Chib_ChargeRange[EX_Chib_Temp_Int]%, EX_Chib_ChargeRange[EX_Chib_Temp_Int]%) of its original size
















Set EX_Chib_DummyAoeEffect[EX_Chib_Temp_Int] = (Last created unit)
















Set EX_Chib_SingleCheck[EX_Chib_Temp_Int] = False
















-------- shake the camera off all the players --------
















Player Group - Pick every player in (All players) and do (Actions)

















Loop - Actions


















Camera - Shake the camera for (Picked player) with magnitude 10.00















Else - Actions














Set EX_Chib_TempPoint = (Random point in EX_Chib_RocksSpawn[EX_Chib_Temp_Int])














-------- now spawn effects (rocks) around the sphere --------














Unit - Create 1 DUMMY rocks for (Owner of EX_Chib_Unit[EX_Chib_Temp_Int]) at EX_Chib_TempPoint facing (Random angle) degrees














Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]














Special Effect - Destroy (Last created special effect)














Set EX_Chib_RandomRocksSize = (Random real number between 50.00 and 300.00)














Animation - Change (Last created unit)'s size to (EX_Chib_RandomRocksSize%, EX_Chib_RandomRocksSize%, EX_Chib_RandomRocksSize%) of its original size














Animation - Change (Last created unit)'s animation speed to 10.00% of its original speed














Set EX_Chib_RandomRocksHeight = (Random real number between 50.00 and 500.00)














Animation - Change (Last created unit) flying height to EX_Chib_RandomRocksHeight at 500.00














Unit Group - Add (Last created unit) to EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int]














Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)














-------- and the effect (rocks) that travels to toward the sphere --------














Set EX_Chib_TempPoint = (Random point in EX_Chib_RocksSpawn[EX_Chib_Temp_Int])














Unit - Create 1 DUMMY rocks for (Owner of EX_Chib_Unit[EX_Chib_Temp_Int]) at EX_Chib_TempPoint facing (Random angle) degrees














Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]














Special Effect - Destroy (Last created special effect)














Set EX_Chib_RandomRocksSize = (Random real number between 20.00 and 300.00)














Animation - Change (Last created unit)'s size to (EX_Chib_RandomRocksSize%, EX_Chib_RandomRocksSize%, EX_Chib_RandomRocksSize%) of its original size














Animation - Change (Last created unit)'s animation speed to 10.00% of its original speed














Animation - Change (Last created unit) flying height to EX_Chib_MaxCoreHeight[EX_Chib_Temp_Int] at 500.00














Unit Group - Add (Last created unit) to EX_Chib_RocksGroup[EX_Chib_Temp_Int]














Unit - Order (Last created unit) to Move To EX_Chib_TargetPoint[EX_Chib_Temp_Int]














-------- Increase the size of the sphere --------














Animation - Change EX_Chib_Core[EX_Chib_Temp_Int]'s size to (EX_Chib_CoreSize[EX_Chib_Temp_Int]%, EX_Chib_CoreSize[EX_Chib_Temp_Int]%, EX_Chib_CoreSize[EX_Chib_Temp_Int]%) of its original size














-------- Increase the size of the AoE indicating effect --------














Animation - Change EX_Chib_DummyAoeEffect[EX_Chib_Temp_Int]'s size to (EX_Chib_ChargeRange[EX_Chib_Temp_Int]%, EX_Chib_ChargeRange[EX_Chib_Temp_Int]%, EX_Chib_ChargeRange[EX_Chib_Temp_Int]%) of its original size














Set EX_Chib_CoreSize[EX_Chib_Temp_Int] = (EX_Chib_CoreSize[EX_Chib_Temp_Int] + 20.00)














Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)













Else - Actions














-------- now the sphere is big enough. set core rise to false to prevent the trigger to go in here again... --------














Set EX_Chib_CoreRise[EX_Chib_Temp_Int] = False














-------- set the timer to 1 for the next event --------














Set EX_Chib_Timer[EX_Chib_Temp_Int] = 1.00











Else - Actions












Set EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] = (EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] + EX_Chib_CoreSpeed[EX_Chib_Temp_Int])












Animation - Change EX_Chib_Core[EX_Chib_Temp_Int] flying height to EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] at 0.00









Else - Actions










-------- now the sphere is big enough and we created all the effects. --------










-------- we setted the timer to 1 now we have to wait until the timer is greater than or equal 5 --------










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











If - Conditions












EX_Chib_Timer[EX_Chib_Temp_Int] Greater than or equal to 5.00











Then - Actions












-------- we are ready to release the sphere to the ground --------












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













If - Conditions














EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] Greater than 0.00













Then - Actions














-------- while the sphere is in the air, clean the rocks that went to the sphere --------














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















If - Conditions
















EX_Chib_Check[EX_Chib_Temp_Int] Equal to True















Then - Actions
















Unit Group - Pick every unit in EX_Chib_RocksGroup[EX_Chib_Temp_Int] and do (Actions)

















Loop - Actions


















Unit Group - Remove (Picked unit) from EX_Chib_RocksGroup[EX_Chib_Temp_Int]


















Unit - Remove (Picked unit) from the game
















Set EX_Chib_Check[EX_Chib_Temp_Int] = False
















Custom script: call DestroyGroup(udg_EX_Chib_RocksGroup[udg_EX_Chib_Temp_Int])















Else - Actions














Set EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] = (EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] - (EX_Chib_CoreSpeed[EX_Chib_Temp_Int] x 15.00))














Animation - Change EX_Chib_Core[EX_Chib_Temp_Int] flying height to EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] at 0.00













Else - Actions














-------- now the sphere has landed --------














-------- turn off damage charging --------














Set EX_Chi_DamageCalculator[EX_Chib_Temp_Int] = False














Set EX_Chib_TargetGroup[EX_Chib_Temp_Int] = (Units within EX_Chib_ChargeRange[EX_Chib_Temp_Int] of EX_Chib_TargetPoint[EX_Chib_Temp_Int] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive) Equal to True) a














Environment - Create a 4.00 second Depression ripple deformation at EX_Chib_TargetPoint[EX_Chib_Temp_Int] with starting radius EX_Chib_ChargeRange[EX_Chib_Temp_Int], ending radius EX_Chib_ChargeRange[EX_Chib_Temp_Int], and depth 100.00, using 1.00 second ripples spaced 512.00 apart














Animation - Play EX_Chib_Unit[EX_Chib_Temp_Int]'s attack slam animation














-------- deal damage --------














Unit Group - Pick every unit in EX_Chib_TargetGroup[EX_Chib_Temp_Int] and do (Actions)















Loop - Actions
















Set EX_Chib_TempPoint = (Position of (Picked unit))
















Unit - Cause EX_Chib_Unit[EX_Chib_Temp_Int] to damage (Picked unit), dealing EX_Chib_ChargeDamage[EX_Chib_Temp_Int] damage of attack type Spells and damage type Unknown
















Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]
















Special Effect - Destroy (Last created special effect)
















Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)














Custom script: call DestroyGroup(udg_EX_Chib_TargetGroup[udg_EX_Chib_Temp_Int])














Unit Group - Pick every unit in EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int] and do (Actions)















Loop - Actions
















Set EX_Chib_TempPoint = (Position of (Picked unit))
















Unit Group - Remove (Picked unit) from EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int]
















Unit - Add a (Random real number between 1.00 and 10.00) second Generic expiration timer to (Picked unit)
















Animation - Change (Picked unit) flying height to 0.00 at 500.00
















Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
















Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]
















Special Effect - Destroy (Last created special effect)
















Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)














Custom script: call DestroyGroup(udg_EX_Chib_RocksGroupEyeCandy[udg_EX_Chib_Temp_Int])














-------- T U R N O F F / L A S T F I X B E F O R E C L O S E L O O P --------














Unit - Remove EX_Chib_Core[EX_Chib_Temp_Int] from the game














Unit - Remove EX_Chib_DummyAoeEffect[EX_Chib_Temp_Int] from the game














Special Effect - Create a special effect at EX_Chib_TargetPoint[EX_Chib_Temp_Int] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl














Special Effect - Destroy (Last created special effect)














-------- M U I M A K E R --------














Set EX_Chib_Timer[EX_Chib_Temp_Int] = 0.00














Custom script: call RemoveLocation(udg_EX_Chib_TargetPoint[udg_EX_Chib_Temp_Int])














Custom script: call RemoveLocation(udg_EX_Chib_UnitPos[udg_EX_Chib_Temp_Int])














-------- RecycleIndex --------














Set EX_Chib_index[EX_Chib_Loop] = EX_Chib_index[EX_Chib_Index_size]














Set EX_Chib_index[EX_Chib_Index_size] = EX_Chib_Temp_Int














Set EX_Chib_Index_size = (EX_Chib_Index_size - 1)














Set EX_Chib_Loop = (EX_Chib_Loop - 1)














-------- Turn the loop off --------














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















If - Conditions
















EX_Chib_Index_size Equal to 0















Then - Actions
















Player Group - Pick every player in (All players) and do (Actions)

















Loop - Actions


















Camera - Stop swaying/shaking the camera for (Picked player)
















Trigger - Turn off (This trigger)















Else - Actions











Else - Actions








-------- Here is where we charge the damage range and deduct mana from the caster --------








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









If - Conditions










EX_Chi_DamageCalculator[EX_Chib_Temp_Int] Equal to True









Then - Actions










-------- we need to limit the damage to prevent other bugs in the spell --------










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











If - Conditions












EX_Chib_ChargeDamage[EX_Chib_Temp_Int] Less than or equal to EX_Chib_MaxDamage[EX_Chib_Temp_Int]











Then - Actions












Set EX_Chib_ChargeDamage[EX_Chib_Temp_Int] = (EX_Chib_ChargeDamage[EX_Chib_Temp_Int] + (EX_Chib_MaxDamage[EX_Chib_Temp_Int] / 260.00))












Set EX_Chib_ChargeRange[EX_Chib_Temp_Int] = (EX_Chib_ChargeRange[EX_Chib_Temp_Int] + ((EX_Chib_MaxRange[EX_Chib_Temp_Int] - 50.00) / 260.00))












Unit - Set mana of EX_Chib_Unit[EX_Chib_Temp_Int] to ((Mana of EX_Chib_Unit[EX_Chib_Temp_Int]) - 2.00)











Else - Actions









Else - Actions





Else - Actions






-------- The caster may have cancelled the spell or ran out of mana... now do actions --------






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







If - Conditions








EX_Chib_ChargeDamage[EX_Chib_Temp_Int] Greater than or equal to (EX_Chib_MaxDamage[EX_Chib_Temp_Int] x 0.10)







Then - Actions








-------- If the caster managed to charge up to 10% of the max damage he can release the sphere prematurely --------








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









If - Conditions










EX_Chib_Timer[EX_Chib_Temp_Int] Greater than or equal to 5.00









Then - Actions










-------- run the same steps, but only deals damage with the amout of damage it has charged --------










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











If - Conditions












EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] Greater than 0.00











Then - Actions












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













If - Conditions














EX_Chib_Check[EX_Chib_Temp_Int] Equal to True













Then - Actions














Unit Group - Pick every unit in EX_Chib_RocksGroup[EX_Chib_Temp_Int] and do (Actions)















Loop - Actions
















Unit Group - Remove (Picked unit) from EX_Chib_RocksGroup[EX_Chib_Temp_Int]
















Unit - Remove (Picked unit) from the game














Set EX_Chib_Check[EX_Chib_Temp_Int] = False














Custom script: call DestroyGroup(udg_EX_Chib_RocksGroup[udg_EX_Chib_Temp_Int])














Set EX_Chi_DamageCalculator[EX_Chib_Temp_Int] = False













Else - Actions












Set EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] = (EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] - (EX_Chib_CoreSpeed[EX_Chib_Temp_Int] x 15.00))












Animation - Change EX_Chib_Core[EX_Chib_Temp_Int] flying height to EX_Chib_CoreCurrentHeight[EX_Chib_Temp_Int] at 0.00











Else - Actions












Set EX_Chib_TargetGroup[EX_Chib_Temp_Int] = (Units within EX_Chib_ChargeRange[EX_Chib_Temp_Int] of EX_Chib_TargetPoint[EX_Chib_Temp_Int] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive) Equal to True) a












Environment - Create a 4.00 second Depression ripple deformation at EX_Chib_TargetPoint[EX_Chib_Temp_Int] with starting radius EX_Chib_ChargeRange[EX_Chib_Temp_Int], ending radius EX_Chib_ChargeRange[EX_Chib_Temp_Int], and depth 100.00, using 1.00 second ripples spaced 512.00 apart












Animation - Play EX_Chib_Unit[EX_Chib_Temp_Int]'s attack slam animation












Unit Group - Pick every unit in EX_Chib_TargetGroup[EX_Chib_Temp_Int] and do (Actions)













Loop - Actions














Set EX_Chib_TempPoint = (Position of (Picked unit))














Unit - Cause EX_Chib_Unit[EX_Chib_Temp_Int] to damage (Picked unit), dealing EX_Chib_ChargeDamage[EX_Chib_Temp_Int] damage of attack type Spells and damage type Unknown














Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]














Special Effect - Destroy (Last created special effect)














Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)












Custom script: call DestroyGroup(udg_EX_Chib_TargetGroup[udg_EX_Chib_Temp_Int])












Unit Group - Pick every unit in EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int] and do (Actions)













Loop - Actions














Set EX_Chib_TempPoint = (Position of (Picked unit))














Unit Group - Remove (Picked unit) from EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int]














Unit - Add a (Random real number between 1.00 and 10.00) second Generic expiration timer to (Picked unit)














Animation - Change (Picked unit) flying height to 0.00 at 500.00














Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed














Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]














Special Effect - Destroy (Last created special effect)














Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)












Custom script: call DestroyGroup(udg_EX_Chib_RocksGroupEyeCandy[udg_EX_Chib_Temp_Int])












-------- T U R N O F F / L A S T F I X B E F O R E C L O S E L O O P --------












Unit - Remove EX_Chib_Core[EX_Chib_Temp_Int] from the game












Unit - Remove EX_Chib_DummyAoeEffect[EX_Chib_Temp_Int] from the game












Special Effect - Create a special effect at EX_Chib_TargetPoint[EX_Chib_Temp_Int] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl












Special Effect - Destroy (Last created special effect)












-------- M U I M A K E R --------












Set EX_Chib_Timer[EX_Chib_Temp_Int] = 0.00












Custom script: call RemoveLocation(udg_EX_Chib_TargetPoint[udg_EX_Chib_Temp_Int])












Custom script: call RemoveLocation(udg_EX_Chib_UnitPos[udg_EX_Chib_Temp_Int])












-------- RecycleIndex --------












Set EX_Chib_index[EX_Chib_Loop] = EX_Chib_index[EX_Chib_Index_size]












Set EX_Chib_index[EX_Chib_Index_size] = EX_Chib_Temp_Int












Set EX_Chib_Index_size = (EX_Chib_Index_size - 1)












Set EX_Chib_Loop = (EX_Chib_Loop - 1)












-------- Turn the loop off --------












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













If - Conditions














EX_Chib_Index_size Equal to 0













Then - Actions














Player Group - Pick every player in (All players) and do (Actions)















Loop - Actions
















Camera - Stop swaying/shaking the camera for (Picked player)














Trigger - Turn off (This trigger)













Else - Actions









Else - Actions







Else - Actions








-------- Here is when the caster hasn't been able to charge the sphere up to 10%. netherless the sphere is useless it does not deal any damage --------








Unit Group - Pick every unit in EX_Chib_RocksGroup[EX_Chib_Temp_Int] and do (Actions)









Loop - Actions










Unit Group - Remove (Picked unit) from EX_Chib_RocksGroup[EX_Chib_Temp_Int]










Unit - Remove (Picked unit) from the game








Custom script: call DestroyGroup(udg_EX_Chib_RocksGroup[udg_EX_Chib_Temp_Int])








Unit Group - Pick every unit in EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int] and do (Actions)









Loop - Actions










Set EX_Chib_TempPoint = (Position of (Picked unit))










Unit Group - Remove (Picked unit) from EX_Chib_RocksGroupEyeCandy[EX_Chib_Temp_Int]










Unit - Add a (Random real number between 1.00 and 10.00) second Generic expiration timer to (Picked unit)










Animation - Change (Picked unit) flying height to 0.00 at 500.00










Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed










Special Effect - Create a special effect at EX_Chib_TempPoint using EX_Chib_UnitEffect1[EX_Chib_Temp_Int]










Special Effect - Destroy (Last created special effect)










Custom script: call RemoveLocation(udg_EX_Chib_TempPoint)








Custom script: call DestroyGroup(udg_EX_Chib_RocksGroupEyeCandy[udg_EX_Chib_Temp_Int])








-------- T U R N O F F / L A S T F I X B E F O R E C L O S E L O O P --------








Unit - Remove EX_Chib_Core[EX_Chib_Temp_Int] from the game








Unit - Remove EX_Chib_DummyAoeEffect[EX_Chib_Temp_Int] from the game








-------- M U I M A K E R --------








Set EX_Chib_Timer[EX_Chib_Temp_Int] = 0.00








Custom script: call RemoveLocation(udg_EX_Chib_TargetPoint[udg_EX_Chib_Temp_Int])








Custom script: call RemoveLocation(udg_EX_Chib_UnitPos[udg_EX_Chib_Temp_Int])








-------- RecycleIndex --------








Set EX_Chib_index[EX_Chib_Loop] = EX_Chib_index[EX_Chib_Index_size]








Set EX_Chib_index[EX_Chib_Index_size] = EX_Chib_Temp_Int








Set EX_Chib_Index_size = (EX_Chib_Index_size - 1)








Set EX_Chib_Loop = (EX_Chib_Loop - 1)








-------- Turn the loop off --------








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









If - Conditions










EX_Chib_Index_size Equal to 0









Then - Actions










Player Group - Pick every player in (All players) and do (Actions)











Loop - Actions












Camera - Stop swaying/shaking the camera for (Picked player)










Trigger - Turn off (This trigger)









Else - Actions




-------- The timer of the spell, increment it with the looping time (I used 0.03) --------




Set EX_Chib_Timer[EX_Chib_Temp_Int] = (EX_Chib_Timer[EX_Chib_Temp_Int] + 0.03)
Planetary Devastation Clean

Events


Unit - A unit Dies

Conditions


(Unit-type of (Dying unit)) Equal to DUMMY rocks

Actions


-------- To avoid the dummy from playing its death animation remove it quickly when it dies --------


Unit - Remove (Dying unit) from the game