- Joined
- Sep 14, 2009
- Messages
- 284
Hello. I need someone to look at these triggers and find out whats wrong.
Here is the in-game spell description:
Creates two gales at each side of the target point, dealing X + (80% of Spell Power) magic damage and silencing enemies caught between them for 2 seconds.Cooldown: 9 seconds.
The spell is supposed to send two tornadoes against each other, dealing damage in a horizontal line in front of the caster.
The problem is, about 50% of the times the caster uses the spell, only one of the tornadoes appear. But sometimes both of them appear and works perfectly.
I used Bribes damage detection system to make the spell.
The spell is not supposed to be MUI.
Here are the triggers:
Trigger #1
Here is the in-game spell description:
Creates two gales at each side of the target point, dealing X + (80% of Spell Power) magic damage and silencing enemies caught between them for 2 seconds.Cooldown: 9 seconds.
The spell is supposed to send two tornadoes against each other, dealing damage in a horizontal line in front of the caster.
The problem is, about 50% of the times the caster uses the spell, only one of the tornadoes appear. But sometimes both of them appear and works perfectly.
I used Bribes damage detection system to make the spell.
The spell is not supposed to be MUI.
Here are the triggers:
Trigger #1
-
HowlingGalesCast
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to (==) Orias - Howling Gales (Q)
-
Actions
- Set HowlingGalesCaster = (Triggering unit)
- Set TempGroupA = (Units in CombatRect matching ((((Matching unit) belongs to an enemy of (Owner of HowlingGalesCaster)) Equal to (==) True) and ((Level of Dummy Unit for (Matching unit)) Not equal to (!=) 1)))
-
Unit Group - Pick every unit in TempGroupA and do (Actions)
-
Loop - Actions
- Unit - Remove Howling Gales Invalid Target from (Picked unit)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_TempGroupA)
- Set HowlingGalesPoint[1] = (Target point of ability being cast)
- Set HowlingGalesPoint[2] = (Target point of ability being cast)
- Set TempPointA = (Target point of ability being cast)
- Set TempPointB = (TempPointA offset by 300.00 towards ((Facing of HowlingGalesCaster) + 90.00) degrees)
- Custom script: call RemoveLocation(udg_TempPointA)
- Unit - Create 1 Dummy for (Owner of HowlingGalesCaster) at TempPointB facing Default building facing (270.0) degrees
- Custom script: call RemoveLocation(udg_TempPointB)
- Set TempUnitA = (Last created unit)
- Unit - Add a 3.00 second Generic expiration timer to TempUnitA
- Unit - Add Dummy - Howling Gales to TempUnitA
- -------- - --------
- Set TempPointA = (Target point of ability being cast)
- Set TempPointB = (TempPointA offset by 300.00 towards ((Facing of HowlingGalesCaster) - 90.00) degrees)
- Custom script: call RemoveLocation(udg_TempPointA)
- Unit - Create 1 Dummy for (Owner of HowlingGalesCaster) at TempPointB facing Default building facing (270.0) degrees
- Custom script: call RemoveLocation(udg_TempPointB)
- Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
- Unit - Add Dummy - Howling Gales to (Last created unit)
- -------- - --------
- Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm HowlingGalesPoint[1]
- Custom script: call RemoveLocation(udg_HowlingGalesPoint[1])
- Unit - Order TempUnitA to Undead Dreadlord - Carrion Swarm HowlingGalesPoint[2]
- Custom script: call RemoveLocation(udg_HowlingGalesPoint[2])
-
Events
-
HowlingGalesDmg
-
Events
- Game - DamageEvent becomes Equal to 1.00
-
Conditions
- (Level of Dummy - Howling Gales for DamageEventSource) Equal to (==) 1
- (Level of Howling Gales Invalid Target for DamageEventTarget) Not equal to (!=) 1
- AbilityMagical Equal to (==) False
- AbilityPhysical Equal to (==) False
- ItemDragonChainmailDmg Equal to (==) False
- ItemObsidianCleaverDmg Equal to (==) False
-
Actions
- Unit - Add Howling Gales Invalid Target to DamageEventTarget
- Set AbilityAoE = True
- Set AbilityMagical = True
- Set TempUnitA = HowlingGalesCaster
- Trigger - Run GetSpellPower <gen> (checking conditions)
- Unit - Cause HowlingGalesCaster to damage DamageEventTarget, dealing ((25.00 + (55.00 x (Real((Level of Orias - Howling Gales (Q) for HowlingGalesCaster))))) + (0.80 x TempRealA)) damage of attack type Spells and damage type Unknown
- Set AbilityMagical = False
- Set AbilityAoE = False
- Set TempPointA = (Position of DamageEventTarget)
- Unit - Create 1 Dummy for (Owner of HowlingGalesCaster) at TempPointA facing Default building facing (270.0) degrees
- Custom script: call RemoveLocation(udg_TempPointA)
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Unit - Add Dummy - Howling Gales (Silence) to (Last created unit)
- Unit - Set level of Dummy - Howling Gales (Silence) for (Last created unit) to (Level of Orias - Howling Gales (Q) for HowlingGalesCaster)
- Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Drunken Haze DamageEventTarget
-
Events