- Joined
- Jan 13, 2008
- Messages
- 559
Hello, I implemented this approved spell into my map: http://www.hiveworkshop.com/forums/...a-234171/?prev=search=fire%20fury&d=list&r=20
But for some reason after casting it on multiple enemies (i often need only 2-3 tries) the game crashes.
Here are the 2 trigger:
But for some reason after casting it on multiple enemies (i often need only 2-3 tries) the game crashes.
Here are the 2 trigger:
-
Fire Fury Cast
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Fire Fury
-
Actions
- -------- --------------------------------------------------------------------- --------
- -------- PART ONE - Casting Initialization & Level Settings --------
- -------- --------------------------------------------------------------------- --------
- -------- XX Sets temporary locs XX --------
- Set FF_TempPoint1 = (Position of (Triggering unit))
- Set FF_TempPoint2 = (Target point of ability being cast)
- -------- << Sets minimal distance (default : 0.00 (= none)) >> --------
- -------- It is recommended to set it as the same as the AoE effect (default = 200.00) to prevent any abuse --------
- Set FF_MinimalDistance = 0.00
- -------- XX Checks for minimal distance XX --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Distance between FF_TempPoint1 and FF_TempPoint2) Less than FF_MinimalDistance
-
Then - Actions
- -------- XX Sets the sound & message error player XX --------
- Custom script: if GetLocalPlayer() == GetOwningPlayer(GetTriggerUnit()) then
- -------- << Sets the error sound played >> --------
- Sound - Play No sound
- -------- << Sets the error message displayed >> --------
- Game - Display to (All players) the text: <Empty String>
- -------- XX Removes the player error condition XX --------
- Custom script: endif
- -------- XX Stops the caster XX --------
- Unit - Order (Triggering unit) to Stop
- -------- XX Skips remaining actions and cancels the spell XX --------
- Skip remaining actions
- Else - Actions
-
If - Conditions
- -------- XX Removes loc leaks XX --------
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- -------- XX Adds one more spell XX --------
- Set FF_Integer1 = (FF_Integer1 + 1)
- -------- XX Sets the Caster XX --------
- Set FF_Caster[FF_Integer1] = (Triggering unit)
- -------- << Sets the distance between the Caster and the fireballs spawning location >> --------
- Set FF_DistanceCast = 60.00
- -------- Level Settings --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Ability being cast) for FF_Caster[FF_Integer1]) Equal to 1
-
Then - Actions
- -------- << Sets the damages once a fireball hits a single target >> --------
- Set FF_SingleDamages[FF_Integer1] = (player_spelldamage[((Player number of (Owner of (Triggering unit))) - 1)] / 2.00)
- -------- << Sets the damages when the fireballs collide with each other (AoE) >> --------
- Set FF_AoEDamages[FF_Integer1] = (player_spelldamage[((Player number of (Owner of (Triggering unit))) - 1)] x 0.70)
- -------- << Sets the size of the final AoE effect if the fireballs collide with each other >> --------
- Set FF_FinalAoE[FF_Integer1] = 200.00
- Else - Actions
-
If - Conditions
- -------- --------------------------------------------------------------------- --------
- -------- PART TWO : Dummy Unit setup --------
- -------- --------------------------------------------------------------------- --------
- -------- XX Sets temporary locs XX --------
- Set FF_TempPoint1 = (Position of FF_Caster[FF_Integer1])
- Set FF_TempPoint2 = (Target point of ability being cast)
- -------- XX Sets the angle between the Caster and the targeted area XX --------
- Set FF_Angle[FF_Integer1] = (Angle from FF_TempPoint1 to FF_TempPoint2)
- -------- XX Sets temporary loc XX --------
- Set FF_TempPoint3 = (FF_TempPoint1 offset by FF_DistanceCast towards FF_Angle[FF_Integer1] degrees)
- -------- [[ Creates and sets the dummy which will move in a straight line ]] --------
- Unit - Create 1 Dummy Line Unit for (Owner of FF_Caster[FF_Integer1]) at FF_TempPoint3 facing Default building facing degrees
- Set FF_DummyUnit[FF_Integer1] = (Last created unit)
- -------- XX Removes loc leaks XX --------
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- Custom script: call RemoveLocation(udg_FF_TempPoint3)
- -------- --------------------------------------------------------------------- --------
- -------- PART THREE : Fireballs setup --------
- -------- --------------------------------------------------------------------- --------
- -------- << Sets the starting distance between the two fireballs (actually, between the dummy and the fireball itself, so (Distance between fireballs/2)) >> --------
- Set FF_FireBallDistanceInit = 50.00
- -------- XX Sets temporary locs XX --------
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer1])
- Set FF_TempPoint2 = (FF_TempPoint1 offset by FF_FireBallDistanceInit towards (FF_Angle[FF_Integer1] + 90.00) degrees)
- Set FF_TempPoint3 = (FF_TempPoint1 offset by FF_FireBallDistanceInit towards (FF_Angle[FF_Integer1] - 90.00) degrees)
- -------- [[ Spawns and sets fireballs ]] --------
- Unit - Create 1 Fireball for (Owner of FF_Caster[FF_Integer1]) at FF_TempPoint2 facing FF_Angle[FF_Integer1] degrees
- Set FF_FireBall1[FF_Integer1] = (Last created unit)
- Unit - Create 1 Fireball for (Owner of FF_Caster[FF_Integer1]) at FF_TempPoint3 facing FF_Angle[FF_Integer1] degrees
- Set FF_FireBall2[FF_Integer1] = (Last created unit)
- -------- XX Removes loc leaks XX --------
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- Custom script: call RemoveLocation(udg_FF_TempPoint3)
- -------- --------------------------------------------------------------------- --------
- -------- PART FOUR : Data & Visual Settings --------
- -------- --------------------------------------------------------------------- --------
- -------- XX Sets temporary locs XX --------
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer1])
- Set FF_TempPoint2 = (Target point of ability being cast)
- -------- XX Sets the distance between the caster and the targeted area XX --------
- Set FF_FullDistance[FF_Integer1] = (Distance between FF_TempPoint1 and FF_TempPoint2)
- -------- << Sets if allowed to keep moving even if hitting a single target >> --------
- Set FF_AllowedToKeepMoving[FF_Integer1] = True
- -------- << Sets the fireballs AoE size >> --------
- Set FF_FireBallAoE[FF_Integer1] = 75.00
- -------- << Sets if the fireballs will hit (deals damages to) buildings, go through, or disappear once they hit one >> --------
- Set FF_HitBuildings[FF_Integer1] = False
- Set FF_GoThroughBuildings[FF_Integer1] = False
- -------- << Sets if the final explosion will hit buildings >> --------
- Set FF_BuildingAoE[FF_Integer1] = False
- -------- << Sets if the fireballs will destroy trees, go through, or disappear once they hit one >> --------
- Set FF_KillTrees[FF_Integer1] = True
- Set FF_GoThroughTrees[FF_Integer1] = False
- -------- << Sets if the final explosion will destroy trees >> --------
- Set FF_KillTreesAoE[FF_Integer1] = False
- -------- << Sets if allowed to go through water >> --------
- Set FF_AllowWater[FF_Integer3] = False
- -------- << Sets if allowed to fly over cliffs & doodads >> --------
- Set FF_AllowCliffs[FF_Integer1] = False
- -------- << Sets the fireballs height >> --------
- Animation - Change FF_FireBall1[FF_Integer1] flying height to 60.00 at 0.00
- Animation - Change FF_FireBall2[FF_Integer1] flying height to 60.00 at 0.00
- -------- << Sets the special effect if a fireball hits an ennemy >> --------
- Set FF_SingleUnitEffect[FF_Integer1] = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
- -------- << Sets the explosion effect if the fireballs collide >> --------
- Set FF_ExplosionEffect[FF_Integer1] = Abilities\Spells\Other\Doom\DoomDeath.mdl
- -------- << Sets the fireballs speed >> --------
- Set FF_FireBallSpeed[FF_Integer1] = 15.00
- -------- XX Sets the additionnal distance for the fireballs in the arc effect XX --------
- Set FF_FireBallAdditionnalDistance[FF_Integer1] = FF_FireBallDistanceInit
- -------- << Sets the arc of the fireballs >> --------
- Set FF_FireBallArc[FF_Integer1] = 0.15
- -------- XX Sets the arc settings for the fireballs XX --------
- Set FF_FireBallArcSettings[FF_Integer1] = (FF_FullDistance[FF_Integer1] x FF_FireBallArc[FF_Integer1])
- -------- XX Resets distance reached XX --------
- Set FF_DistanceReached[FF_Integer1] = 0.00
- -------- XX Resets real timer for arc effect XX --------
- Set FF_RealTimer[FF_Integer1] = 0.00
- -------- XX Marks as undone XX --------
- Set FF_Done[FF_Integer1] = False
- -------- XX Removes loc leaks XX --------
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- -------- XX Setup ending : checks if the loop trigger is already running XX --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_Integer2 Equal to 0
-
Then - Actions
- Trigger - Turn on Fire Fury Loop <gen>
- Else - Actions
-
If - Conditions
- Set FF_Integer2 = (FF_Integer2 + 1)
-
Events
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
-
For each (Integer FF_Integer3) from 1 to FF_Integer1, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_Done[FF_Integer3] Equal to False
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_DistanceReached[FF_Integer3] Less than FF_FullDistance[FF_Integer3]
-
Then - Actions
- Set FF_DistanceReached[FF_Integer3] = (FF_DistanceReached[FF_Integer3] + FF_FireBallSpeed[FF_Integer3])
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer3])
- Set FF_TempPoint2 = (FF_TempPoint1 offset by FF_FireBallSpeed[FF_Integer3] towards FF_Angle[FF_Integer3] degrees)
- Unit - Move FF_DummyUnit[FF_Integer3] instantly to FF_TempPoint2
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- Set FF_RealTimer[FF_Integer3] = (FF_RealTimer[FF_Integer3] + (180.00 / (FF_FullDistance[FF_Integer3] / FF_FireBallSpeed[FF_Integer3])))
- Set FF_FireBallDistance[FF_Integer3] = ((Sin(FF_RealTimer[FF_Integer3])) x FF_FireBallArcSettings[FF_Integer3])
- Set FF_FireBallTempAdd[FF_Integer3] = ((FF_FullDistance[FF_Integer3] - FF_DistanceReached[FF_Integer3]) x (FF_FireBallAdditionnalDistance[FF_Integer3] / 666.00))
- Set FF_FireBallDistance[FF_Integer3] = (FF_FireBallDistance[FF_Integer3] + FF_FireBallTempAdd[FF_Integer3])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall1[FF_Integer3] is alive) Equal to True
-
Then - Actions
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer3])
- Set FF_TempPoint2 = (FF_TempPoint1 offset by FF_FireBallDistance[FF_Integer3] towards (FF_Angle[FF_Integer3] + 90.00) degrees)
- Set FF_TempPoint3 = (Position of FF_FireBall1[FF_Integer3])
- Unit - Move FF_FireBall1[FF_Integer3] instantly to FF_TempPoint2, facing (Angle from FF_TempPoint3 to FF_TempPoint1) degrees
- Set FF_TempGroup = (Units within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and ((((Matching unit) belongs to an enemy of (Owner of FF_Caster[FF_Integer3])) Equal to
-
Unit Group - Pick every unit in FF_TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall1[FF_Integer3] is alive) Equal to True
- ((Picked unit) is in FF_GroupFireBall1[FF_Integer3]) Equal to False
-
Then - Actions
- Unit Group - Add (Picked unit) to FF_GroupFireBall1[FF_Integer3]
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_SingleDamages[FF_Integer3] damage of attack type Spells and damage type Fire
- Special Effect - Create a special effect attached to the chest of (Picked unit) using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_AllowedToKeepMoving[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Remove FF_FireBall1[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FF_TempGroup)
-
Destructible - Pick every destructible within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_KillTrees[FF_Integer3] Equal to True
-
Then - Actions
- Destructible - Kill (Picked destructible)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughTrees[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Terrain pathing at FF_TempPoint3 of type Amphibious Pathing is off) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_AllowWater[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Terrain pathing at FF_TempPoint3 of type Walkability is off) Equal to True
- FF_AllowCliffs[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Set FF_TempGroup = (Units within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 matching ((((Matching unit) is A structure) Equal to True) and (((Matching unit) is alive) Equal to True)))
-
Unit Group - Pick every unit in FF_TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall1[FF_Integer3] is alive) Equal to True
- FF_HitBuildings[FF_Integer3] Equal to True
-
Then - Actions
- Unit Group - Add (Picked unit) to FF_GroupFireBall1[FF_Integer3]
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_SingleDamages[FF_Integer3] damage of attack type Spells and damage type Fire
- Special Effect - Create a special effect at FF_TempPoint3 using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughBuildings[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Remove FF_FireBall1[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughBuildings[FF_Integer3] Equal to False
-
Then - Actions
- Special Effect - Create a special effect at FF_TempPoint3 using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
- Unit - Remove FF_FireBall1[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall1[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FF_TempGroup)
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- Custom script: call RemoveLocation(udg_FF_TempPoint3)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall2[FF_Integer3] is alive) Equal to True
-
Then - Actions
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer3])
- Set FF_TempPoint2 = (FF_TempPoint1 offset by FF_FireBallDistance[FF_Integer3] towards (FF_Angle[FF_Integer3] - 90.00) degrees)
- Set FF_TempPoint3 = (Position of FF_FireBall2[FF_Integer3])
- Unit - Move FF_FireBall2[FF_Integer3] instantly to FF_TempPoint2, facing (Angle from FF_TempPoint3 to FF_TempPoint1) degrees
- Set FF_TempGroup = (Units within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and ((((Matching unit) belongs to an enemy of (Owner of FF_Caster[FF_Integer3])) Equal to
-
Unit Group - Pick every unit in FF_TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall2[FF_Integer3] is alive) Equal to True
- ((Picked unit) is in FF_GroupFireBall2[FF_Integer3]) Equal to False
-
Then - Actions
- Unit Group - Add (Picked unit) to FF_GroupFireBall2[FF_Integer3]
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_SingleDamages[FF_Integer3] damage of attack type Spells and damage type Fire
- Special Effect - Create a special effect attached to the chest of (Picked unit) using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_AllowedToKeepMoving[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Remove FF_FireBall2[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FF_TempGroup)
-
Destructible - Pick every destructible within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_KillTrees[FF_Integer3] Equal to True
-
Then - Actions
- Destructible - Kill (Picked destructible)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughTrees[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Terrain pathing at FF_TempPoint3 of type Amphibious Pathing is off) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_AllowWater[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Terrain pathing at FF_TempPoint3 of type Walkability is off) Equal to True
- FF_AllowCliffs[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Kill FF_FireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Set FF_TempGroup = (Units within FF_FireBallAoE[FF_Integer3] of FF_TempPoint3 matching ((((Matching unit) is A structure) Equal to True) and (((Matching unit) is alive) Equal to True)))
-
Unit Group - Pick every unit in FF_TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall2[FF_Integer3] is alive) Equal to True
- FF_HitBuildings[FF_Integer3] Equal to True
-
Then - Actions
- Unit Group - Add (Picked unit) to FF_GroupFireBall2[FF_Integer3]
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_SingleDamages[FF_Integer3] damage of attack type Spells and damage type Fire
- Special Effect - Create a special effect at FF_TempPoint3 using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughBuildings[FF_Integer3] Equal to False
-
Then - Actions
- Unit - Remove FF_FireBall2[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_GoThroughBuildings[FF_Integer3] Equal to False
-
Then - Actions
- Special Effect - Create a special effect at FF_TempPoint3 using FF_SingleUnitEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
- Unit - Remove FF_FireBall2[FF_Integer3] from the game
- Unit Group - Remove all units from FF_GroupFireBall2[FF_Integer3]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FF_TempGroup)
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Custom script: call RemoveLocation(udg_FF_TempPoint2)
- Custom script: call RemoveLocation(udg_FF_TempPoint3)
- Else - Actions
-
If - Conditions
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (FF_FireBall1[FF_Integer3] is alive) Equal to True
- (FF_FireBall2[FF_Integer3] is alive) Equal to True
-
Then - Actions
- Set FF_TempPoint1 = (Position of FF_DummyUnit[FF_Integer3])
- Special Effect - Create a special effect at FF_TempPoint1 using FF_ExplosionEffect[FF_Integer3]
- Special Effect - Destroy (Last created special effect)
- Set FF_TempGroup = (Units within FF_FinalAoE[FF_Integer3] of FF_TempPoint1 matching (((((Matching unit) is A flying unit) Equal to False) and (((Matching unit) is alive) Equal to True)) and ((((Matching unit) belongs to an enemy of (Owner of FF_Caster[FF_Integer3])) Equal to Tr
-
Unit Group - Pick every unit in FF_TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A structure) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_BuildingAoE[FF_Integer3] Equal to True
-
Then - Actions
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_AoEDamages[FF_Integer3] damage of attack type Spells and damage type Fire
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Unit - Cause FF_Caster[FF_Integer3] to damage (Picked unit), dealing FF_AoEDamages[FF_Integer3] damage of attack type Spells and damage type Fire
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call RemoveLocation(udg_FF_TempPoint1)
- Unit - Remove FF_FireBall1[FF_Integer3] from the game
- Unit - Remove FF_FireBall2[FF_Integer3] from the game
-
Else - Actions
- Unit - Kill FF_FireBall1[FF_Integer3]
- Unit - Kill FF_FireBall2[FF_Integer3]
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_KillTreesAoE[FF_Integer3] Equal to True
-
Then - Actions
- Destructible - Pick every destructible within FF_FinalAoE[FF_Integer3] of FF_TempPoint1 and do (Destructible - Kill (Picked destructible))
- Else - Actions
-
If - Conditions
- Unit Group - Remove all units from FF_GroupFireBall1[FF_Integer3]
- Unit Group - Remove all units from FF_GroupFireBall2[FF_Integer3]
- Unit - Remove FF_DummyUnit[FF_Integer3] from the game
- Set FF_Done[FF_Integer3] = True
- Set FF_Integer2 = (FF_Integer2 - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FF_Integer2 Equal to 0
-
Then - Actions
- Set FF_Integer1 = 0
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
For each (Integer FF_Integer3) from 1 to FF_Integer1, do (Actions)