- Joined
- Jun 17, 2014
- Messages
- 236
Hello, everyone!
I have a trigger that damage unit by 2 time to specific unit, i need it to only damage 1 time to specific unit.
i've try to add the unit to group, so the unit not damaged again, but it's not worked .
i will give +REP for someone who try to helping
here is my trigger
I only need to fix the damage problem not other!
so dont read all of the trigger.
STATUS : UNSOLVED
I have a trigger that damage unit by 2 time to specific unit, i need it to only damage 1 time to specific unit.
i've try to add the unit to group, so the unit not damaged again, but it's not worked .
i will give +REP for someone who try to helping
here is my trigger
-
For each (Integer LP_Index[3]) from 1 to 4, do (Actions)
-
Loop - Actions
- Set LP_Point[LP_Index[3]] = (LP_Point[5] offset by (100.00 x (Real(LP_Index[3]))) towards (Facing of LP_Caster[LP_Index[2]]) degrees)
- Special Effect - Create a special effect at LP_Point[LP_Index[3]] using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
- Special Effect - Destroy (Last created special effect)
- Set LP_Group2[LP_Index[2]] = (Units within 100.00 of LP_Point[LP_Index[3]] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of LP_Caster[LP_Index[2]])) Equal to True)))
-
Unit Group - Pick every unit in LP_Group2[LP_Index[2]] and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is in LP_Group) Equal to False
-
Then - Actions
- Set NextDamageType = DamageTypePhysicalSpell
- Unit - Cause LP_Caster[LP_Index[2]] to damage (Picked unit), dealing LP_Damage[LP_Index[2]] damage of attack type Hero and damage type Normal
- Trigger - Run ClearDamageEvent (checking conditions)
- Unit Group - Add (Picked unit) to LP_Group
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call RemoveLocation(udg_LP_Point[udg_LP_Index[3]])
-
Loop - Actions
- Custom script: call DestroyGroup(udg_LP_Group2[udg_LP_Index[2]])
- Custom script: call DestroyGroup(udg_LP_Group)
-
Lash of Pain
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to (Lara) Lash of Pain
-
Actions
- Set LP_Index[1] = (LP_Index[1] + 1)
- Set LP_Caster[LP_Index[1]] = (Triggering unit)
- Set LP_Level[LP_Index[1]] = (Level of (Ability being cast) for LP_Caster[LP_Index[1]])
- Set LP_IsChannel[LP_Index[1]] = True
- Set LP_IsAttack[LP_Index[1]] = False
- Set LP_IsComplete[LP_Index[1]] = False
- Set LP_Timer[LP_Index[1]] = 0
- Set LP_Damage[LP_Index[1]] = ((40.00 + (80.00 x (Real(LP_Level[LP_Index[1]])))) + (0.60 x UnitAttack[(Custom value of LP_Caster[LP_Index[1]])]))
- Unit - Add (Lara) Cancel Lash of Pain to LP_Caster[LP_Index[1]]
- Custom script: call SetPlayerAbilityAvailable( GetOwningPlayer(udg_LP_Caster[udg_LP_Index[1]]), 'Aatk', false )
- Custom script: call SetPlayerAbilityAvailable( GetOwningPlayer(udg_LP_Caster[udg_LP_Index[1]]), 'Amov', false )
- Player - Disable (Lara) Bear Trap for (Owner of LP_Caster[LP_Index[1]])
- Player - Disable (Lara) Charm for (Owner of LP_Caster[LP_Index[1]])
- Player - Disable (Lara) Lash of Pain for (Owner of LP_Caster[LP_Index[1]])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Index[1] Equal to 1
-
Then - Actions
- Trigger - Turn on LoopLP <gen>
- Trigger - Turn on Cancel <gen>
- Else - Actions
-
If - Conditions
-
Events
-
LoopLP
-
Events
- Time - Every 0.04 seconds of game time
- Conditions
-
Actions
-
For each (Integer LP_Index[2]) from 1 to LP_Index[1], do (Actions)
-
Loop - Actions
- Set LP_Timer[LP_Index[2]] = (LP_Timer[LP_Index[2]] + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_IsChannel[LP_Index[2]] Equal to True
- LP_IsAttack[LP_Index[2]] Equal to False
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Timer[LP_Index[2]] Equal to 25
-
Then - Actions
- Set LP_Damage[LP_Index[2]] = (LP_Damage[LP_Index[2]] x 1.25)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Timer[LP_Index[2]] Equal to 50
-
Then - Actions
- Set LP_Damage[LP_Index[2]] = (LP_Damage[LP_Index[2]] x 1.25)
- Unit - Order LP_Caster[LP_Index[2]] to Orc Troll Berserker - Berserk
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_IsComplete[LP_Index[2]] Equal to True
-
Then - Actions
- Unit - Remove (Lara) Cancel Lash of Pain from LP_Caster[LP_Index[2]]
- Unit - Order LP_Caster[LP_Index[2]] to Stop
- Unit - Pause LP_Caster[LP_Index[2]]
- Animation - Change LP_Caster[LP_Index[2]]'s animation speed to 200.00% of its original speed
- Custom script: call SetUnitAnimationByIndex ( udg_LP_Caster[udg_LP_Index[2]] , 4 )
- Set LP_Timer[LP_Index[2]] = 0
- Set LP_IsAttack[LP_Index[2]] = True
- Set LP_IsComplete[LP_Index[2]] = False
- Set LP_IsChannel[LP_Index[2]] = False
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_IsAttack[LP_Index[2]] Equal to True
- LP_IsChannel[LP_Index[2]] Equal to False
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Timer[LP_Index[2]] Equal to 10
-
Then - Actions
- Set LP_Point[5] = (Position of LP_Caster[LP_Index[2]])
-
For each (Integer LP_Index[3]) from 1 to 4, do (Actions)
-
Loop - Actions
- Set LP_Point[LP_Index[3]] = (LP_Point[5] offset by (100.00 x (Real(LP_Index[3]))) towards (Facing of LP_Caster[LP_Index[2]]) degrees)
- Special Effect - Create a special effect at LP_Point[LP_Index[3]] using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
- Special Effect - Destroy (Last created special effect)
- Set LP_Group2[LP_Index[2]] = (Units within 100.00 of LP_Point[LP_Index[3]] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of LP_Caster[LP_Index[2]])) Equal to True)))
-
Unit Group - Pick every unit in LP_Group2[LP_Index[2]] and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is in LP_Group) Equal to False
-
Then - Actions
- Set NextDamageType = DamageTypePhysicalSpell
- Unit - Cause LP_Caster[LP_Index[2]] to damage (Picked unit), dealing LP_Damage[LP_Index[2]] damage of attack type Hero and damage type Normal
- Trigger - Run ClearDamageEvent (checking conditions)
- Unit Group - Add (Picked unit) to LP_Group
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Custom script: call RemoveLocation (udg_LP_Point[udg_LP_Index[3]])
-
Loop - Actions
- Custom script: call ChangeUnitSpeed2 (udg_LP_Caster[udg_LP_Index[2]], 1.0 , 5.00 , false , 'A02M', false)
- Custom script: call RemoveLocation (udg_LP_Point[5])
- Animation - Change LP_Caster[LP_Index[2]]'s animation speed to 100.00% of its original speed
- Unit - Unpause LP_Caster[LP_Index[2]]
- Unit - Unpause LP_Caster[LP_Index[2]]
- Custom script: call SetPlayerAbilityAvailable( GetOwningPlayer(udg_LP_Caster[udg_LP_Index[2]]), 'Aatk', true )
- Custom script: call SetPlayerAbilityAvailable( GetOwningPlayer(udg_LP_Caster[udg_LP_Index[2]]), 'Amov', true )
- Player - Enable (Lara) Bear Trap for (Owner of LP_Caster[LP_Index[2]])
- Player - Enable (Lara) Charm for (Owner of LP_Caster[LP_Index[2]])
- Player - Enable (Lara) Lash of Pain for (Owner of LP_Caster[LP_Index[2]])
- Custom script: call DestroyGroup(udg_LP_Group)
- Custom script: call DestroyGroup(udg_LP_Group2[udg_LP_Index[2]])
- Set LP_Caster[LP_Index[2]] = LP_Caster[LP_Index[1]]
- Set LP_Timer[LP_Index[2]] = 0
- Set LP_Timer[LP_Index[2]] = LP_Timer[LP_Index[1]]
- Set LP_IsChannel[LP_Index[2]] = LP_IsChannel[LP_Index[1]]
- Set LP_IsAttack[LP_Index[2]] = LP_IsAttack[LP_Index[1]]
- Set LP_IsComplete[LP_Index[2]] = LP_IsComplete[LP_Index[1]]
- Set LP_Remove[LP_Index[2]] = LP_Remove[LP_Index[1]]
- Set LP_Damage[LP_Index[2]] = LP_Damage[LP_Index[1]]
- Set LP_Index[1] = (LP_Index[1] - 1)
- Set LP_Index[2] = (LP_Index[2] - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Index[1] Equal to 0
-
Then - Actions
- Trigger - Turn off Cancel <gen>
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
For each (Integer LP_Index[2]) from 1 to LP_Index[1], do (Actions)
-
Events
-
Cancel
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to (Lara) Cancel Lash of Pain
-
Actions
-
For each (Integer LP_Index[2]) from 1 to LP_Index[1], do (Actions)
-
Loop - Actions
- Set LP_IsComplete[LP_Index[2]] = True
- Set LP_IsChannel[LP_Index[2]] = False
-
Loop - Actions
-
For each (Integer LP_Index[2]) from 1 to LP_Index[1], do (Actions)
-
Events
I only need to fix the damage problem not other!
so dont read all of the trigger.
STATUS : UNSOLVED