- Joined
- Apr 30, 2009
- Messages
- 47
Hi
Please someone review my Triggers and tell me what problems it have?
LIFESTEAL
Thanks
Please someone review my Triggers and tell me what problems it have?
LIFESTEAL
-
LS0
-
Events
- Map initialization
- Conditions
-
Actions
- -------- Spirits Number --------
- Set LS_Integer[1] = 5
- -------- Sprits Expration Time --------
- Set LS_Real[3] = 3.00
- -------- Ghoul Number For Heroes --------
- Set LS_Integer[2] = 4
- -------- Ghoul Number For Non-Hero --------
- Set LS_Integer[3] = 1
- -------- Ghouls Expration Time --------
- Set LS_Real[2] = 30.00
- -------- Heal Return Per Spirit (100 x LifeSteal lvl ) --------
- Set LS_Real[2] = 100.00
- -------- Radius of Effect --------
- Set LS_Real[1] = 600.00
- -------- --------------- --------
- Hashtable - Create a hashtable
- Set LS_Hash = (Last created hashtable)
-
Events
-
LS1
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to LifeSteal
-
Actions
- Set LS_Unit[1] = (Triggering unit)
- Set LS_Points[1] = (Position of LS_Unit[1])
- Set LS_G1 = (Units within LS_Real[1] of (Position of LS_Unit[1]) matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) has buff Shadow Strike LS) Equal to False)) and ((((Matching unit) belongs to an ally of (Owner of LS_Unit[1])) Equal to Fa
-
For each (Integer A) from 1 to LS_Integer[1], do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((LS_G1 is empty) Equal to True) and ((All units of LS_G1 are dead) Equal to True)
-
Then - Actions
- Skip remaining actions
- Else - Actions
-
If - Conditions
- Unit - Create 1 LS_Spirit for (Owner of LS_Unit[1]) at LS_Points[1] facing Default building facing degrees
- Set LS_Unit[2] = (Last created unit)
- Set LS_HandleID = (Key (Last created unit))
- Hashtable - Save Handle OfLS_Unit[1] as (Key Caster) of LS_HandleID in LS_Hash
- Set LS_Unit[3] = (Random unit from LS_G1)
- Unit - Add a LS_Real[3] second Generic expiration timer to LS_Unit[2]
- Unit - Add LS_Strike to LS_Unit[2]
- Unit - Set level of LS_Strike for LS_Unit[2] to (Level of LifeSteal for LS_Unit[1])
- Unit - Order LS_Unit[2] to Night Elf Warden - Shadow Strike LS_Unit[3]
- Unit Group - Remove LS_Unit[3] from LS_G1
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call RemoveLocation(udg_LS_Points[1])
- Custom script: call DestroyGroup (udg_LS_G1)
-
Events
-
LS2
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to LS_Strike
-
Actions
- Set LS_Unit[1] = (Triggering unit)
- Set LS_Unit[5] = (Target unit of ability being cast)
- Unit Group - Add LS_Unit[5] to LS_G2
- Set LS_HandleID = (Key (Triggering unit))
- Set LS_Unit[4] = (Load (Key Caster) of LS_HandleID in LS_Hash)
- Set LS_Unit[3] = (Target unit of ability being cast)
- Set LS_Points[1] = (Position of LS_Unit[1])
- Unit - Create 1 LS_Dummy for (Owner of LS_Unit[1]) at LS_Points[1] facing Default building facing degrees
- Set LS_Unit[2] = (Last created unit)
- Unit - Add a 3.00 second Generic expiration timer to LS_Unit[2]
- Unit - Add LS_Miss to LS_Unit[2]
- Unit - Set level of LS_Miss for LS_Unit[2] to (Level of LS_Strike for LS_Unit[1])
- Unit - Order LS_Unit[2] to Neutral Pandaren Brewmaster - Drunken Haze LS_Unit[3]
- Hashtable - Clear all child hashtables of child LS_HandleID in LS_Hash
- Set LS_HandleID = (Key (Target unit of ability being cast))
- Hashtable - Save Handle OfLS_Unit[4] as (Key Owner) of LS_HandleID in LS_Hash
- Unit - Add a 0.20 second Generic expiration timer to LS_Unit[1]
- Custom script: call RemoveLocation(udg_LS_Points[1])
-
Events
-
LS3
-
Events
- Unit - A unit Dies
-
Conditions
- ((Triggering unit) is in LS_G2) Equal to True
-
Actions
- Set LS_Unit[2] = (Triggering unit)
- Set LS_HandleID = (Key (Triggering unit))
- Set LS_Points[1] = (Position of LS_Unit[2])
- Set LS_Unit[1] = (Load (Key Owner) of LS_HandleID in LS_Hash)
- Unit Group - Remove LS_Unit[2] from LS_G2
- Hashtable - Clear all child hashtables of child LS_HandleID in LS_Hash
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (LS_Unit[1] is dead) Equal to True
-
Then - Actions
- Skip remaining actions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (LS_Unit[2] is A Hero) Equal to True
-
Then - Actions
-
For each (Integer A) from 1 to LS_Integer[2], do (Actions)
-
Loop - Actions
- Unit - Create 1 Ghoul LS for (Owner of LS_Unit[1]) at LS_Points[1] facing Default building facing degrees
- Unit - Add a LS_Real[2] second Generic expiration timer to (Last created unit)
- Set LS_HandleID = (Key (Last created unit))
- Hashtable - Save Handle OfLS_Unit[1] as (Key Owner) of LS_HandleID in LS_Hash
-
Loop - Actions
-
For each (Integer A) from 1 to LS_Integer[2], do (Actions)
-
Else - Actions
-
For each (Integer B) from 1 to LS_Integer[3], do (Actions)
-
Loop - Actions
- Unit - Create 1 Ghoul LS for (Owner of LS_Unit[1]) at LS_Points[1] facing Default building facing degrees
- Unit - Add a LS_Real[2] second Generic expiration timer to (Last created unit)
- Set LS_HandleID = (Key (Last created unit))
- Hashtable - Save Handle OfLS_Unit[1] as (Key Owner) of LS_HandleID in LS_Hash
- Game - Display to (All players) the text: ddd
-
Loop - Actions
-
For each (Integer B) from 1 to LS_Integer[3], do (Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
- Custom script: call RemoveLocation(udg_LS_Points[1])
-
Events
-
LS4
-
Events
- Unit - A unit Dies
-
Conditions
- (Unit-type of (Triggering unit)) Equal to Ghoul LS
-
Actions
- Set LS_Unit[2] = (Triggering unit)
- Set LS_HandleID = (Key (Triggering unit))
- Set LS_Points[1] = (Position of LS_Unit[2])
- Set LS_Unit[1] = (Load (Key Owner) of LS_HandleID in LS_Hash)
- Hashtable - Clear all child hashtables of child LS_HandleID in LS_Hash
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (LS_Unit[1] is dead) Equal to True
-
Then - Actions
- Skip remaining actions
- Else - Actions
-
If - Conditions
- Unit - Create 1 LS_Spirit for (Owner of LS_Unit[1]) at LS_Points[1] facing Default building facing degrees
- Set LS_Unit[3] = (Last created unit)
- Unit - Add LS_Finger to LS_Unit[3]
- Unit - Order LS_Unit[3] to Special Archimonde - Finger Of Death LS_Unit[1]
- Custom script: call RemoveLocation(udg_LS_Points[1])
-
Events
-
LS5
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to LS_Finger
-
Actions
- Set LS_Unit[1] = (Triggering unit)
- Set LS_Unit[2] = (Target unit of ability being cast)
- Unit - Set life of LS_Unit[2] to ((Life of LS_Unit[2]) + (LS_Real[2] x (Real((Level of LifeSteal for LS_Unit[2])))))
- Unit - Remove LS_Unit[1] from the game
- Special Effect - Create a special effect attached to the origin of LS_Unit[2] using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
- Special Effect - Destroy (Last created special effect)
-
Events
Thanks