- Joined
- Jun 10, 2019
- Messages
- 69
Hi all,
As part of a larger project, I'm making a hero ability (based on Death and Decay) called Fire Bolt (unrelated to the in-game Firebolt ability). Fire Bolt is meant to do as follows:
The character picks a target direction
A projectile unit spawns and begins travelling a set distance in that direction
Upon hitting an enemy unit, the projectile unit dies, and the computer picks every nearby unit
Per picked unit, a dummy spawns and casts the spell "Damage (Fire Bolt)" on the picked unit, with the level of Damage (Fire Bolt) depending on the level of Fire Bolt
Note: Damage (Fire Bolt) is based off the Warden's Shadow Strike (I wanted an ability that does instant damage with no stun (I'm looking at you, Firebolt) and would show a projectile (i.e. why I didn't use Chain Lightning - I tried it, but it didn't show the projectile when I changed the art))
The dummy then despawns
That all works perfectly some of the time, but quite often, the damage triggers twice, or sometimes even three times. I know this because 1) I can see the target's health and I can see it's taken too much damage and 2) Shadow Strike shows the damage done, and I'll see two "160!"s pop up right after each other
Without further ado, here are my triggers:
If you need any other information, please don't hesitate to ask.
Thank you for reading!
Edit: I based Fire Bolt off of Death and Decay because I made the spell before I realized how useful the Channel spell is.
As part of a larger project, I'm making a hero ability (based on Death and Decay) called Fire Bolt (unrelated to the in-game Firebolt ability). Fire Bolt is meant to do as follows:
The character picks a target direction
A projectile unit spawns and begins travelling a set distance in that direction
Upon hitting an enemy unit, the projectile unit dies, and the computer picks every nearby unit
Per picked unit, a dummy spawns and casts the spell "Damage (Fire Bolt)" on the picked unit, with the level of Damage (Fire Bolt) depending on the level of Fire Bolt
Note: Damage (Fire Bolt) is based off the Warden's Shadow Strike (I wanted an ability that does instant damage with no stun (I'm looking at you, Firebolt) and would show a projectile (i.e. why I didn't use Chain Lightning - I tried it, but it didn't show the projectile when I changed the art))
The dummy then despawns
That all works perfectly some of the time, but quite often, the damage triggers twice, or sometimes even three times. I know this because 1) I can see the target's health and I can see it's taken too much damage and 2) Shadow Strike shows the damage done, and I'll see two "160!"s pop up right after each other
Without further ado, here are my triggers:
-
Fire Bolt Cast
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Razzle: Fire Bolt
-
-
Actions
-
Set FireBoltCastingUnit = (Triggering unit)
-
Set FireBoltAngle = (Angle from (Position of (Triggering unit)) to (Target point of ability being cast))
-
Unit - Create 1 Fire Bolt Projectile Dummy for (Triggering player) at ((Position of (Triggering unit)) offset by 50.00 towards FireBoltAngle degrees) facing FireBoltAngle degrees
-
Set FireBoltStartPoint = (Position of (Last created unit))
-
Set FireBoltProjectileUnit = (Last created unit)
-
Unit - Add a 1.20 second Generic expiration timer to FireBoltProjectileUnit
-
Set FireBoltTimeVariable = 0.00
-
Trigger - Turn on Fire Bolt Movement <gen>
-
Trigger - Add to Fire Bolt End <gen> the event (Unit - FireBoltProjectileUnit Dies)
-
Trigger - Add to Fire Bolt Impact <gen> the event (Unit - A unit comes within 15.00 of FireBoltProjectileUnit)
-
-
-
Fire Bolt Movement
-
Events
-
Time - Every 0.02 seconds of game time
-
-
Conditions
-
Actions
-
Set FireBoltTimeVariable = (1.00 + FireBoltTimeVariable)
-
Unit - Move FireBoltProjectileUnit instantly to (FireBoltStartPoint offset by (16.00 x FireBoltTimeVariable) towards FireBoltAngle degrees)
-
-
-
Fire Bolt End
-
Events
-
Conditions
-
Actions
-
Trigger - Turn off Fire Bolt Movement <gen>
-
-
-
Fire Bolt Impact
-
Events
-
Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
((((Owner of FireBoltCastingUnit) Equal to Player 1 (Red)) or ((Owner of FireBoltCastingUnit) Equal to Player 2 (Blue))) or ((Owner of FireBoltCastingUnit) Equal to Player 3 (Teal))) and ((((Owner of (Triggering unit)) Equal to Player 4 (Purple)) or ((Owner of (Triggering unit)) Equal to Player 5 (Yellow))) or (((Owner of (Triggering unit)) Equal to Player 6 (Orange)) or ((Owner of (Triggering unit)) Equal to Player 8 (Pink))))
-
((((Owner of FireBoltCastingUnit) Equal to Player 4 (Purple)) or ((Owner of FireBoltCastingUnit) Equal to Player 5 (Yellow))) or ((Owner of FireBoltCastingUnit) Equal to Player 6 (Orange))) and ((((Owner of (Triggering unit)) Equal to Player 1 (Red)) or ((Owner of (Triggering unit)) Equal to Player 2 (Blue))) or (((Owner of (Triggering unit)) Equal to Player 3 (Teal)) or ((Owner of (Triggering unit)) Equal to Player 7 (Green))))
-
-
-
((Triggering unit) is A structure) Equal to False
-
-
Actions
-
Unit - Kill FireBoltProjectileUnit
-
Unit Group - Pick every unit in (Units within 150.00 of (Position of (Triggering unit))) and do (Actions)
-
Loop - Actions
-
Unit - Create 1 Dummy for (Owner of FireBoltCastingUnit) at (Position of (Triggering unit)) facing 0.00 degrees
-
Unit - Add Damage (Fire Bolt) to (Last created unit)
-
Unit - Set level of Damage (Fire Bolt) for (Last created unit) to (Level of Razzle: Fire Bolt for FireBoltCastingUnit)
-
Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike (Picked unit)
-
Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
-
-
-
Trigger - Turn off Fire Bolt Movement <gen>
-
-
If you need any other information, please don't hesitate to ask.
Thank you for reading!
Edit: I based Fire Bolt off of Death and Decay because I made the spell before I realized how useful the Channel spell is.