THE_X
New Member
- Reaction score
- 49
So i got this ability, its kind of like a healing ward sorta, it transfers life from a random enemy hero to either the caster (who has first priority) or another allied hero in range and it has a lightning effect and yea, well its not working and wondering if anyone could help me out, heres the triggers
The Cast
The Effect
The Cast
Code:
LIfe Transfer Ward Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Life Transfer
Actions
Set Point[1] = (Target point of ability being cast)
Unit - Create 1 Life Transfer Ward for (Owner of (Triggering unit)) at Point[1] facing 270.00 degrees
Set MUI = (MUI + 1)
Unit - Set the custom value of (Last created unit) to MUI
Unit - Add a (5.00 x (Real((Level of Life Transfer for (Triggering unit))))) second Generic expiration timer to (Last created unit)
Set LifeTransferDrain[(Custom value of (Last created unit))] = No unit
Set LifeTransferHeal[(Custom value of (Last created unit))] = No unit
Set LifeTransferHealCaster[(Custom value of (Last created unit))] = (Triggering unit)
Custom script: call RemoveLocation (udg_Point[1])
The Effect
Code:
LIfe Transfer Ward
Events
Time - Every 0.04 seconds of game time
Conditions
Actions
Set Group[1] = (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Life Transfer Ward))
Unit Group - Pick every unit in Group[1] and do (Actions)
Loop - Actions
Set Point[1] = (Position of (Picked unit))
Set Unit[1] = (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
LifeTransferDrain[(Custom value of (Picked unit))] Equal to No unit
LifeTransferHeal[(Custom value of (Picked unit))] Equal to No unit
Then - Actions
Set Group[2] = (Units within 500.00 of Point[1] matching ((Matching unit) Equal to LifeTransferHealCaster[(Custom value of Unit[1])]))
Unit Group - Pick every unit in Group[2] and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Group[2] is empty) Equal to True
Then - Actions
Set Group[3] = (Units within 500.00 of Point[1] matching ((((Matching unit) is A Hero) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Unit[1])) Equal to True) and (((Matching unit) is Magic Immune) Equa
Set Group[4] = (Units within 500.00 of Point[1] matching ((((Matching unit) is A Hero) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Unit[1])) Equal to False) and (((Matching unit) is Magic Immune) Equ
Unit Group - Pick every unit in Group[3] and do (Actions)
Loop - Actions
Set LifeTransferDrain[(Custom value of Unit[1])] = (Picked unit)
Set Point[2] = (Position of (Picked unit))
Lightning - Create a Finger of Death lightning effect from source Point[1] to target Point[2]
Set LifeTransferLDrain[(Custom value of Unit[1])] = (Last created lightning effect)
Custom script: call RemoveLocation (udg_Point[2])
Unit Group - Pick every unit in Group[4] and do (Actions)
Loop - Actions
Set LifeTransferHeal[(Custom value of Unit[1])] = (Picked unit)
Set Point[3] = (Position of (Picked unit))
Lightning - Create a Healing Wave - Secondary lightning effect from source Point[1] to target Point[3]
Set LifeTransferLHeal[(Custom value of Unit[1])] = (Last created lightning effect)
Custom script: call RemoveLocation (udg_Point[3])
Custom script: call DestroyGroup (udg_Group[3])
Custom script: call DestroyGroup (udg_Group[4])
Else - Actions
Custom script: call DestroyGroup (udg_Group[2])
Else - Actions
Set Point[2] = (Position of LifeTransferDrain[(Custom value of Unit[1])])
Set Point[3] = (Position of LifeTransferHeal[(Custom value of Unit[1])])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit[1] is alive) Equal to True
(Distance between Point[1] and Point[2]) Less than or equal to 500.00
(Distance between Point[1] and Point[3]) Less than or equal to 500.00
Then - Actions
Lightning - Move LifeTransferLDrain[(Custom value of Unit[1])] to source Point[1] and target Point[2]
Lightning - Move LifeTransferLHeal[(Custom value of Unit[1])] to source Point[1] and target Point[3]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 1
Then - Actions
Unit - Cause LifeTransferHealCaster[(Custom value of Unit[1])] to damage LifeTransferDrain[(Custom value of Unit[1])], dealing 2.00 damage of attack type Spells and damage type Spirit Link
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 2
Then - Actions
Unit - Cause LifeTransferHealCaster[(Custom value of Unit[1])] to damage LifeTransferDrain[(Custom value of Unit[1])], dealing 3.20 damage of attack type Spells and damage type Spirit Link
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 3
Then - Actions
Unit - Cause LifeTransferHealCaster[(Custom value of Unit[1])] to damage LifeTransferDrain[(Custom value of Unit[1])], dealing 4.40 damage of attack type Spells and damage type Spirit Link
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 1
Then - Actions
Unit - Set life of LifeTransferHeal[(Custom value of Unit[1])] to ((Life of LifeTransferHeal[(Custom value of Unit[1])]) + 2.00)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 2
Then - Actions
Unit - Set life of LifeTransferHeal[(Custom value of Unit[1])] to ((Life of LifeTransferHeal[(Custom value of Unit[1])]) + 3.20)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Life Transfer for LifeTransferHealCaster[(Custom value of Unit[1])]) Equal to 3
Then - Actions
Unit - Set life of LifeTransferHeal[(Custom value of Unit[1])] to ((Life of LifeTransferHeal[(Custom value of Unit[1])]) + 4.40)
Else - Actions
Else - Actions
Set LifeTransferDrain[(Custom value of Unit[1])] = No unit
Set LifeTransferHeal[(Custom value of Unit[1])] = No unit
Lightning - Destroy LifeTransferLDrain[(Custom value of Unit[1])]
Lightning - Destroy LifeTransferLHeal[(Custom value of Unit[1])]
Custom script: call RemoveLocation (udg_Point[2])
Custom script: call RemoveLocation (udg_Point[3])
Custom script: call RemoveLocation (udg_Point[1])
Custom script: call DestroyGroup (udg_Group[1])