• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Solved] Spell problem

Status
Not open for further replies.
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)
    • -------- ------------------------------------------------------------------------- --------
    • -------- 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
        • 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
          • Else - 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
 
Status
Not open for further replies.
Top