D.O.T. A.O.E. bug [HASHTABLE]
i am new 2 hashtable i read tutorial but i think its miss few things so im bugged here!!
im tryng to do a damage over time into a aoe of the caster when he cast thunder clap.... but nothing going on
edit : i think i set some key wrong
p.s.yes i did created hashtable in the int
i am new 2 hashtable i read tutorial but i think its miss few things so im bugged here!!
im tryng to do a damage over time into a aoe of the caster when he cast thunder clap.... but nothing going on
edit : i think i set some key wrong
p.s.yes i did created hashtable in the int
-
DOT AOE
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to DOT AOE
-
-

Actions
-


-------- here we prepare variable to be add in hashtable --------
-


Set Trigger_Unit = (Triggering unit)
-


Set DOT_Dmg = 2000.00
-


Set DOT_AOE = 400.00
-


Set DOT_Duration = 10.00
-


Set DOT_PointTrigger = (Position of Trigger_Unit)
-


Set DamageOverTimeUnits = (Units within 600.00 of DOT_PointTrigger matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Trigger_Unit)) Equal to True)))
-


Unit Group - Pick every unit in DamageOverTimeUnits and do (Actions)
-



Loop - Actions
-




Hashtable - Save Handle OfTrigger_Unit as (Key unit) of (Key (Picked unit)) in DamageOverTime
-




Unit Group - Add (Picked unit) to DamageOverTimeUnits
-
-
-


-------- BELOW we are storing variable in hashtable :) --------
-


Hashtable - Save DOT_AOE as (Key aoe) of (Key (Picked unit)) in DamageOverTime
-


Hashtable - Save DOT_Dmg as (Key damage) of (Key (Picked unit)) in DamageOverTime
-


-------- Store the duration in the Hashtable under the Picked unit's Handle ID --------
-


Hashtable - Save DOT_Duration as 0 of (Key (Picked unit)) in DamageOverTime
-


-------- - --------
-


-------- removing leak location becuz its useless --------
-


Custom script: call RemoveLocation(udg_DOT_PointTrigger)
-


Custom script: call DestroyGroup(udg_DamageOverTimeUnits)
-
-
-
DOT AOE loop
-

Events
-


Time - Every 1.00 seconds of game time
-
-

Conditions
-

Actions
-


Set DamageOverTimeUnits = (Load (Key group) of (Key (Picked unit)) in DamageOverTime)
-


Unit Group - Pick every unit in DamageOverTimeUnits and do (Actions)
-



Loop - Actions
-




Set Trigger_Unit = (Load (Key unit) of (Key (Picked unit)) in DamageOverTime)
-




Set DOT_AOE = (Load (Key aoe) of (Key (Picked unit)) from DamageOverTime)
-




Set DOT_Dmg = (Load (Key damage) of (Key (Picked unit)) from DamageOverTime)
-




-------- Get the remaining time in seconds --------
-




Set RemainingTime = (Load 0 of (Key (Picked unit)) from DamageOverTime)
-




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





If - Conditions
-






RemainingTime Greater than 0.00
-
-





Then - Actions
-






-------- Heal the unit and update the time remaining --------
-






Hashtable - Save (RemainingTime - 1.00) as 0 of (Key (Picked unit)) in DamageOverTime
-






Unit - Cause Trigger_Unit to damage (Picked unit), dealing DOT_Dmg damage of attack type Spells and damage type Magic
-
-





Else - Actions
-






-------- The healing is done, clean up --------
-






Unit Group - Remove (Picked unit) from DamageOverTimeUnits
-






Hashtable - Clear all child hashtables of child (Key (Picked unit)) in DamageOverTime
-
-
-
-
-
-
Last edited:




