0.03 is preferred over .02, its more efficient and won't have a major effect visually.
-
(Load 9 of Key from Bomb_Hash) Less than or equal to (Load 4 of Key from Bomb_Hash)
Why not set the variable before the condition, so that you don't call it as many times?
This is your parabola without the BJs:
-
set udg_Bomb_Height = 4*LoadReal(udg_Bomb_Hash, udg_Key, 5)*udg_Bomb_Distance*(LoadReal(udg_Bomb_Hash, udg_Key, 4)-udg_Bomb_Distance)/Pow(LoadReal(udg_Bomb_Hash, udg_Key, 4), 2.00)
============================================
-
Set Bomb_KnockbackOn = False
-
Set Bomb_Speed = 15.00
-
Set Bomb_MaxHeight = 500.00
Instead of setting the values as variables and then saving the variables, why not directly save them in the hashtable?
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in Bomb_Group) Equal to 0
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
Else - Actions
Instead of checking this condition every loop, perhaps move it so that you only check this when a unit is removed from the unit group?
================================
-
Set Bomb_KnockbackGroup = (Units within 300.00 of (Load 2 of Key in Bomb_Hash) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of (Load 0 of Key in Bomb_Hash))) Equal to Tr
-
Hashtable - Save Handle OfBomb_KnockbackGroup as 11 of Key in Bomb_Hash
-
Unit Group - Pick every unit in (Load 11 of Key in Bomb_Hash) and do (Actions)
-
Loop - Actions
Instead of loading the hashtable, use the Bomb_KnockbackGroup variable.
-
Unit - Remove (Load 8 of Key in Bomb_Hash) from the game
If I'm correct, Explode Unit is preferred over Remove Unit