Ok I'm not gonna go for a full review now, since the whole thing is slightly spammed and could be improved critically...
This is totally unnecessary:
-
Spell Init
-

Events
-

Conditions
-

Actions
-


-------- These have to be set at map start, otherwise they are Initially ZERO --------
-


-------- Used in Alien Spawn trigger --------
-


Set SpawnTimer1 = 5
-


Set SpawnTimer2 = 3
-


Set SpawnTimer3 = 2
Instead, here's what you do:
-
Spell Cast
-

Events
-


Unit - A unit Starts the effect of an ability
-

Conditions
-


(Ability being cast) Equal to Drop Ship
-

Actions
-


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



If - Conditions
-




Or - Any (Conditions) are true
-





Conditions
-






(Level of Drop Ship for (Triggering unit)) Equal to 1
-






(Level of Drop Ship for (Triggering unit)) Equal to 2
-



Then - Actions
-




Set SpawnTime[DS_CastNO] = ((Level of Drop Ship for (Triggering unit)) + 1)
-



Else - Actions
-


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



If - Conditions
-




(Level of Drop Ship for (Triggering unit)) Equal to 3
-



Then - Actions
-




Set SpawnTime[DS_CastNO] = ((Level of Drop Ship for (Triggering unit)) + 2)
-



Else - Actions
-


-------- Set the caster for Whom to do damage upon the ships crash. --------
-


Set Caster[DS_CastNO] = (Triggering unit)
-


-------- First let's set the level of the Ability being cast, so that we can determine what Units will spawn later. --------
-


Set DS_Level[DS_CastNO] = (Level of Drop Ship for (Triggering unit))
-


-------- Next we set the Target Point of the spell to remove the leak. --------
-


Set TargetPoint[DS_CastNO] = (Target point of ability being cast)
-


-------- Create the Fallin Dropship and add an Expiration timer to it, The timer is set to make the ship Die when it hits the ground. --------
-


Unit - Create 1 Drop Ship for (Owner of (Triggering unit)) at (TargetPoint[DS_CastNO] offset by 500.00 towards 45.00 degrees) facing TargetPoint[DS_CastNO]
-


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


-------- Set the Drop ship under the Cast Number as a variable, to determine Ownership later. --------
-


Set DropShip[DS_CastNO] = (Last created unit)
-


-------- Change the Cast Number for new ownership to the next caster. --------
-


Set DS_CastNO = (DS_CastNO + 1)
-


Unit - Cause (Triggering unit) to damage circular area after 4.40 seconds of radius 500.00 at TargetPoint[DS_CastNO], dealing 20.00 damage of attack type Siege and damage type Fire
-


-------- Turns the Action Triggers on --------
-


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



If - Conditions
-




(Spell Action <gen> is on) Equal to False
-



Then - Actions
-




Trigger - Turn on Spell Action <gen>
-




Trigger - Turn on Alien Spawn <gen>
-



Else - Actions
And then, instead of having all those: If/Then/Else for each single level, you simply do the actions once and use the new variable "SpawnTime[DS_CastNO]".
An why all this:
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

If - Conditions
-


(Number of units in (Units of type Crashed Ship (Level 1))) Equal to 0
-

Then - Actions
-


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



If - Conditions
-




(Number of units in (Units of type Crashed Ship (Level 2))) Equal to 0
-



Then - Actions
-




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





If - Conditions
-






(Number of units in (Units of type Crashed Ship (Level 3))) Equal to 0
-





Then - Actions
-






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







If - Conditions
-








(Number of units in (Units of type Drop Ship)) Equal to 0
-







Then - Actions
-








Set DS_CastNO = 0
-








Custom script: call DestroyGroup (udg_ShipGroup1)
-








Trigger - Turn off (This trigger)
-








Trigger - Turn off Alien Spawn <gen>
-







Else - Actions
-





Else - Actions
-



Else - Actions
-

Else - Actions
Instead of this:
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

If - Conditions
-


(Number of units in (Units of type Crashed Ship (Level 1))) Equal to 0
-


(Number of units in (Units of type Crashed Ship (Level 2))) Equal to 0
-


(Number of units in (Units of type Crashed Ship (Level 3))) Equal to 0
-


(Number of units in (Units of type Drop Ship)) Equal to 0
-

Then - Actions
-


Set DS_CastNO = 0
-


Custom script: call DestroyGroup (udg_ShipGroup1)
-


Trigger - Turn off (This trigger)
-


Trigger - Turn off Alien Spawn <gen>
-

Else - Actions
Other things to mention, is that when the ship is close to the ground, it's motion gets really weird.
In my opinion, you shouldn't automatically kill the units, but instead, create three, once one dies you create another...
Guishiu, now what you gotta do is learn how to minimize number of actions in a trigger as much as possible by learning how to use equations for level-related issues; random examlpe:
Set UnitsToBeSpawned[Index] = Power(Level of Ability, 2) + 2
This would allow spawning then 3 units at level 1, 6 at level 2, 11 at level 3, 18 at level 4 and etc...
Practice on such mathematical equations
