- Joined
- Apr 21, 2013
- Messages
- 1,194
But i couldn't find where any help is appreciated. The dummy stops when second is cast.
-
FB Configuration
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
-------- Setting the ability ID --------
-
Set FB_AbilityID = Fire Ball
-
-------- set the effect --------
-
Set FB_SPC1 = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
-
-------- Damage --------
-
Set FB_Damage[1] = 100.00
-
Set FB_Damage[2] = 150.00
-
Set FB_Damage[3] = 250.00
-
Set FB_Damage[4] = 400.00
-
-------- AoE of FireBall --------
-
Set FB_AoE[1] = 100.00
-
Set FB_AoE[2] = 100.00
-
Set FB_AoE[3] = 100.00
-
Set FB_AoE[4] = 100.00
-
-------- Max Distance of FireBall --------
-
Set FB_MaxDistance = 1000.00
-
-------- Speed of the ball --------
-
Set FB_Speed = (1500.00 x 0.03)
-
-------- ----------Creating the Peasant to harvest the trees---------- --------
-
Custom script: set udg_FB_TreeDestroyer = CreateUnit (Player(15), 'hpea', 0,0,0)
-
Custom script: call UnitAddAbility(udg_FB_TreeDestroyer, 'Aloc')
-
Unit - Hide FB_TreeDestroyer
-
-
-
FB Execution
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Fire Ball
-
-
Actions
-
Set FB_Index = (FB_Index + 1)
-
Set FB_Caster[FB_Index] = (Triggering unit)
-
Set tempLoc1 = (Position of FB_Caster[FB_Index])
-
Set tempLoc2 = (Target point of ability being cast)
-
Set FB_Angle[FB_Index] = (Angle from tempLoc1 to tempLoc2)
-
Unit - Create 1 FireballDummy for (Owner of FB_Caster[FB_Index]) at tempLoc1 facing FB_Angle[FB_Index] degrees
-
Set FB_Dummy[FB_Index] = (Last created unit)
-
Set FB_DistanceTravelled[FB_Index] = 0.00
-
Custom script: set udg_FB_DamageGroup[udg_FB_Index] = CreateGroup()
-
Custom script: call RemoveLocation(udg_tempLoc1)
-
Custom script: call RemoveLocation(udg_tempLoc2)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
FB_Index Equal to 1
-
-
Then - Actions
-
Trigger - Turn on FB Loop <gen>
-
-
Else - Actions
-
-
-
-
FB Loop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer FB_LoopInteger) from 1 to FB_Index, do (Actions)
-
Loop - Actions
-
Set tempLoc1 = (Position of FB_Dummy[FB_LoopInteger])
-
Set tempLoc2 = (tempLoc1 offset by FB_Speed towards FB_Angle[FB_LoopInteger] degrees)
-
Set FB_DistanceTravelled[FB_LoopInteger] = (FB_DistanceTravelled[FB_LoopInteger] + FB_Speed)
-
Custom script: set bj_wantDestroyGroup = true
-
Unit - Move FB_Dummy[FB_LoopInteger] instantly to tempLoc2
-
Unit Group - Pick every unit in (Units within FB_AoE[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] of tempLoc2) and do (Actions)
-
Loop - Actions
-
Set tempUnit = (Picked unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(tempUnit is alive) Equal to True
-
(tempUnit is in FB_DamageGroup[FB_LoopInteger]) Equal to False
-
(tempUnit belongs to an enemy of (Owner of FB_Caster[FB_LoopInteger])) Equal to True
-
-
Then - Actions
-
Unit - Cause FB_Dummy[FB_LoopInteger] to damage tempUnit, dealing FB_Damage[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] damage of attack type Pierce and damage type Fire
-
Special Effect - Create a special effect at (Position of tempUnit) using FB_SPC1
-
Special Effect - Destroy (Last created special effect)
-
Unit - Hide FB_Dummy[FB_LoopInteger]
-
-
Else - Actions
-
-
Unit Group - Add tempUnit to FB_DamageGroup[FB_LoopInteger]
-
-
-
Destructible - Pick every destructible within FB_AoE[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] of tempLoc2 and do (Actions)
-
Loop - Actions
-
Set tempDestructible = (Picked destructible)
-
Unit - Order FB_TreeDestroyer to Harvest tempDestructible
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Current order of FB_TreeDestroyer) Equal to (Order(harvest))
-
-
Then - Actions
-
Destructible - Kill tempDestructible
-
-
Else - Actions
-
-
Unit - Order FB_TreeDestroyer to Stop
-
-
-
Custom script: call RemoveLocation(udg_tempLoc1)
-
Custom script: call RemoveLocation(udg_tempLoc2)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
FB_DistanceTravelled[FB_LoopInteger] Greater than or equal to FB_MaxDistance
-
-
Then - Actions
-
Unit - Kill FB_Dummy[FB_LoopInteger]
-
Set FB_Angle[FB_LoopInteger] = FB_Angle[FB_Index]
-
Set FB_Caster[FB_LoopInteger] = FB_Caster[FB_Index]
-
Set FB_Dummy[FB_LoopInteger] = FB_Dummy[FB_Index]
-
Set FB_DamageGroup[FB_LoopInteger] = FB_DamageGroup[FB_Index]
-
Set FB_DistanceTravelled[FB_LoopInteger] = FB_DistanceTravelled[FB_Index]
-
Set FB_Index = (FB_Index - 1)
-
Set FB_LoopInteger = (FB_LoopInteger - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
CM_Index Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-
Last edited: