- Joined
- Apr 4, 2011
- Messages
- 995
All of the spell is working fine, except that the unit doesn't take damage and isnt added to the damage over time section of the trigger. I think it might have to do with that unit group, so if someone could help me with that, then that would be cool. Thanks in advance
-
Events
- Map initialization
- Conditions
-
Actions
- -------- Hashtable --------
- -------- ------------------------------------------------------------------------- --------
- Hashtable - Create a hashtable
- Set FS_Hash = (Last created hashtable)
- -------- ------------------------------------------------------------------------- --------
- -------- Number of fires --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_Fires = 5
- -------- ------------------------------------------------------------------------- --------
- -------- Configurable Options --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_DestroyTrees = True
- Set FS_Burn = True
- -------- ------------------------------------------------------------------------- --------
- -------- Damage --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_Damage = 25.00
- -------- ------------------------------------------------------------------------- --------
- -------- Burn Damage --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_DOT = 1.00
- -------- ------------------------------------------------------------------------- --------
- -------- One --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_One = 1
- -------- ------------------------------------------------------------------------- --------
- -------- Burn Radius --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_Radius = 120.00
- -------- ------------------------------------------------------------------------- --------
- -------- Time --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_Timer = 3.00
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Fire Storm
-
Actions
- -------- ------------------------------------------------------------------------- --------
- -------- Spell Variables --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_Caster = (Triggering unit)
- Set FS_Level = (Level of (Ability being cast) for FS_Caster)
- Set FS_Point1 = (Position of FS_Caster)
- Set FS_Direction = ((Facing of (Triggering unit)) + 40.00)
- -------- ------------------------------------------------------------------------- --------
- -------- Totals --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_DamageTotal = (FS_Damage x (Real(FS_Level)))
- -------- ------------------------------------------------------------------------- --------
- -------- SFX --------
- -------- ------------------------------------------------------------------------- --------
- Special Effect - Create a special effect attached to the hand, left of FS_Caster using Abilities\Spells\Orc\TrollBerserk\HeadhunterWEAPONSLeft.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect attached to the hand, right of FS_Caster using Abilities\Spells\Orc\TrollBerserk\HeadhunterWEAPONSLeft.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect attached to the hand, left of FS_Caster using Abilities\Spells\Human\FlameStrike\FlameStrikeEmbers.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect attached to the hand, right of FS_Caster using Abilities\Spells\Human\FlameStrike\FlameStrikeEmbers.mdl
- Special Effect - Destroy (Last created special effect)
- -------- ------------------------------------------------------------------------- --------
- -------- Create Flames --------
- -------- ------------------------------------------------------------------------- --------
-
For each (Integer FS_One) from 1 to FS_Fires, do (Actions)
-
Loop - Actions
- Set FS_Point2 = (FS_Point1 offset by 20.00 towards FS_Direction degrees)
- Unit - Create 1 Fire Storm for (Owner of FS_Caster) at FS_Point2 facing FS_Direction degrees
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Unit - Make (Last created unit) Explode on death
- Unit Group - Add (Last created unit) to FS_FireGroup
- Set FS_Direction = (FS_Direction - 16.00)
- Custom script: call RemoveLocation(udg_FS_Point2)
-
Loop - Actions
- -------- ------------------------------------------------------------------------- --------
- -------- Save stuff --------
- -------- ------------------------------------------------------------------------- --------
- Hashtable - Save FS_DamageTotal as 1 of (Key (Target unit of ability being cast)) in FS_Hash
- Custom script: call RemoveLocation(udg_FS_Point1)
-
Events
- Time - Every 0.04 seconds of game time
- Conditions
-
Actions
-
Unit Group - Pick every unit in FS_FireGroup and do (Actions)
-
Loop - Actions
- -------- ------------------------------------------------------------------------- --------
- -------- Variables --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_DamageTotal = (Load 1 of (Key (Picked unit)) from FS_Hash)
- Set FS_PickedUnit = (Picked unit)
- Set FS_Point1 = (Position of FS_PickedUnit)
- Set FS_Point2 = (FS_Point1 offset by 15.00 towards (Facing of FS_PickedUnit) degrees)
- -------- ------------------------------------------------------------------------- --------
- -------- movement --------
- -------- ------------------------------------------------------------------------- --------
- Unit - Move FS_PickedUnit instantly to FS_Point2
- -------- ------------------------------------------------------------------------- --------
- -------- damage part --------
- -------- ------------------------------------------------------------------------- --------
- Set FS_BurnGroup = (Units within FS_Radius of FS_Point2 matching (((Matching unit) belongs to an enemy of (Owner of FS_PickedUnit)) Equal to True))
-
Unit Group - Pick every unit in FS_BurnGroup and do (Actions)
-
Loop - Actions
- Unit - Cause FS_PickedUnit to damage (Picked unit), dealing FS_DamageTotal damage of attack type Spells and damage type Fire
- Special Effect - Create a special effect attached to the chest of (Picked unit) using Doodads\Cinematic\TownBurningFireEmitter\TownBurningFireEmitter.mdl
- Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FS_Burn Equal to True
-
Then - Actions
- Unit Group - Add (Picked unit) to FS_BurnGroup
- Else - Actions
-
If - Conditions
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FS_BurnGroup)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FS_DestroyTrees Equal to True
-
Then - Actions
-
Destructible - Pick every destructible within FS_Radius of FS_Point2 and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked destructible) is alive) Equal to True
-
Then - Actions
- Set FS_DestructiblePos = (Position of (Picked destructible))
- Special Effect - Create a special effect at FS_DestructiblePos using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
- Special Effect - Destroy (Last created special effect)
- Destructible - Kill (Picked destructible)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Destructible - Pick every destructible within FS_Radius of FS_Point2 and do (Actions)
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
Unit Group - Pick every unit in FS_DOTGroup and do (Actions)
-
Loop - Actions
- Set FS_Timer = (Load 5 of (Key (Picked unit)) from FS_Hash)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- FS_Timer Greater than 0.00
-
Then - Actions
- Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - FS_DOT)
- Hashtable - Save (FS_Timer - 0.04) as 5 of (Key (Picked unit)) in FS_Hash
-
Else - Actions
- Unit Group - Remove (Picked unit) from FS_DOTGroup
- Hashtable - Clear all child hashtables of child (Key (Picked unit)) in FS_Hash
-
If - Conditions
-
Loop - Actions
-
Unit Group - Pick every unit in FS_FireGroup and do (Actions)