• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Slide Trigger + Unitgroup

Status
Not open for further replies.
Level 3
Joined
Jun 19, 2014
Messages
26
Hello again guys, I need your help again...

I'm working on spell that one of effects is the sliding of a unitgroup towards a target enemy, but the group is only set at the first it runned and I don't know why this happens.

Here are the triggers:

Slide trigger
  • Taijutsu T loop2
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • (TaijutsuNinja is alive) Equal to True
    • Actions
      • Unit Group - Pick every unit in TaiT_group and do (Actions)
        • Loop - Actions
          • Set TaiT_pt = ((Position of (Picked unit)) offset by TaiT_dist towards (Facing of (Picked unit)) degrees)
          • Unit - Move (Picked unit) instantly to TaiT_pt
          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
          • Special Effect - Destroy (Last created special effect)
      • Set TaiT_dist = (TaiT_dist + 20.00)
Activation Trigger (see under the "Setting the Slide Trigger group" comment)
  • Taijutsu T
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Reaper [Dummy]
    • Actions
      • Set TaijutsuNinja = (Triggering unit)
      • Set TaiT_point = (Position of TaijutsuNinja)
      • Set TaiT_target = (Target unit of ability being cast)
      • Set TaiT_endpoint = (Position of TaiT_target)
      • Set TaiT_lvl = (Level of Reaper [Dummy] for TaijutsuNinja)
      • Set Taijutsu_Agi = (Agility of TaijutsuNinja (Include bonuses))
      • Set Taijutsu_Str = (Strength of TaijutsuNinja (Include bonuses))
      • Set TaiT_dmg = (((Real(TaiT_lvl)) x (Real(Taijutsu_Str))) + (2.00 x ((Real(TaiT_lvl)) x (Real(Taijutsu_Agi)))))
      • Set TaiT_dmg = (TaiT_dmg + (300.00 + (100.00 x (Real(TaiT_lvl)))))
      • Floating Text - Create floating text that reads It's over... at TaiT_point with Z offset 5.00, using font size 10.00, color (0.00%, 70.00%, 45.00%), and 20.00% transparency
      • Floating Text - Change (Last created floating text): Disable permanence
      • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
      • Unit - Pause TaiT_target
      • Unit - Make TaiT_unit Invulnerable
      • Unit - Make TaiT_target face TaijutsuNinja over 1.00 seconds
      • Special Effect - Create a special effect attached to the origin of TaiT_target using war3mapImported\AuraUndead.mdx
      • Set TaiT_special = (Last created special effect)
      • Special Effect - Create a special effect attached to the overhead of TaiT_target using war3mapImported\AuraUndead.mdx
      • Set TaiT_special2 = (Last created special effect)
      • Set TaiT_ang = (Facing of TaiT_target)
      • Wait 0.10 seconds
      • Trigger - Turn on Taijutsu T loop <gen>
      • Unit - Pause TaijutsuNinja
      • Unit - Hide TaijutsuNinja
      • Unit - Make TaijutsuNinja Invulnerable
      • Wait 0.30 seconds
      • -------- Setting the Slide Trigger group --------
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Unit - Create 1 TaijutsuFake [Dummy Unit] for (Owner of TaijutsuNinja) at (TaiT_endpoint offset by 400.00 towards TaiT_ang degrees) facing Default building facing degrees
          • Set TaiT_unit2 = (Last created unit)
          • Unit - Make TaiT_unit2 face TaiT_target over 1.00 seconds
          • Unit - Add a 3.00 second Generic expiration timer to TaiT_unit2
          • Animation - Play TaiT_unit2's attack 2 animation
          • Unit Group - Add TaiT_unit2 to TaiT_group
          • Set TaiT_ang = (TaiT_ang + 72.00)
      • Wait 1.00 seconds
      • Set TaiT_dist = 20.00
      • Unit Group - Pick every unit in TaiT_group and do (Actions)
        • Loop - Actions
          • Set TaiT_point = (Position of (Picked unit))
          • Floating Text - Create floating text that reads REAPER!!! at TaiT_point with Z offset 30.00, using font size 10.00, color (0.00%, 70.00%, 45.00%), and 20.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
      • Trigger - Turn off Taijutsu T loop <gen>
      • Trigger - Turn on Taijutsu T loop2 <gen>
      • Wait 0.60 seconds
      • Animation - Play TaiT_target's death animation
      • Special Effect - Create a special effect attached to the overhead of TaiT_target using Abilities\Spells\Demon\DemonBoltImpact\DemonBoltImpact.mdl
      • Set TaiT_spc1 = (Last created special effect)
      • Special Effect - Create a special effect attached to the chest of TaiT_target using Objects\Spawnmodels\Human\HumanBlood\HumanBloodPriest.mdl
      • Set TaiT_spc2 = (Last created special effect)
      • Special Effect - Create a special effect attached to the origin of TaiT_target using Objects\Spawnmodels\Human\HumanLargeDeathExplode\HumanLargeDeathExplode.mdl
      • Set TaiT_spc3 = (Last created special effect)
      • Special Effect - Destroy TaiT_special
      • Special Effect - Destroy TaiT_special2
      • Wait 0.30 seconds
      • Trigger - Turn off Taijutsu T loop2 <gen>
      • Unit Group - Pick every unit in TaiT_group and do (Actions)
        • Loop - Actions
          • Unit - Remove (Picked unit) from the game
      • Custom script: call RemoveLocation (udg_TaiT_point)
      • Custom script: call RemoveLocation (udg_TaiT_pt)
      • Custom script: call RemoveLocation (udg_TaiT_endpoint)
      • Custom script: call DestroyGroup (udg_TaiT_group)
      • Special Effect - Destroy TaiT_spc1
      • Special Effect - Destroy TaiT_spc2
      • Special Effect - Destroy TaiT_spc3
      • -------- Damage reduction detection --------
      • Set hp1_temp = (Life of TaiT_target)
      • Unit - Cause TaijutsuNinja to damage TaiT_target, dealing 10.00 damage of attack type Chaos and damage type Normal
      • Set hp2_real = (hp1_temp - (Life of TaiT_target))
      • Set Dmg_red_temp = ((100.00 x hp2_real) / hp1_temp)
      • Set Dmg_red_temp = (Dmg_red_temp / 100.00)
      • Unit - Set life of TaiT_target to hp1_temp
      • -------- Piercing damage equation --------
      • Set hp1_temp = (TaiT_dmg x Dmg_red_temp)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Dmg_red_temp Greater than 1.00
        • Then - Actions
          • Set hp2_real = (TaiT_dmg x (Dmg_red_temp + 0.50))
        • Else - Actions
          • Set hp2_real = (TaiT_dmg x (Dmg_red_temp / 2.00))
      • Set armorpen = ((hp1_temp - hp2_real) / (1.00 - Dmg_red_temp))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • armorpen Less than or equal to 0.00
        • Then - Actions
          • Set TaiT_dmg = (TaiT_dmg - armorpen)
        • Else - Actions
          • Set TaiT_dmg = (TaiT_dmg + armorpen)
      • -------- Finishing trigger --------
      • Unit - Move TaijutsuNinja instantly to ((Position of TaiT_target) offset by 200.00 towards ((Facing of TaiT_target) - 180.00) degrees)
      • Unit - Unpause TaijutsuNinja
      • Unit - Unhide TaijutsuNinja
      • Unit - Make TaijutsuNinja Vulnerable
      • Unit - Unpause TaiT_target
      • Unit - Make TaiT_target Vulnerable
      • Selection - Select TaijutsuNinja for (Owner of TaijutsuNinja)
      • Animation - Reset TaiT_target's animation
      • Unit - Cause TaijutsuNinja to damage TaiT_target, dealing TaiT_dmg damage of attack type Chaos and damage type Normal
      • Floating Text - Create floating text that reads (String((TaiT_dmg x (1.00 - Dmg_red_temp)))) at (Position of TaiT_target) with Z offset 100.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 5.00% transparency
      • Floating Text - Change (Last created floating text): Disable permanence
      • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
The other loop (only a circle effect)
  • Taijutsu T loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
      • (TaijutsuNinja is alive) Equal to True
    • Actions
      • Unit - Create 1 MirrorFake [Dummy Unit] for (Owner of TaijutsuNinja) at (TaiT_endpoint offset by 400.00 towards (Random angle) degrees) facing Default building facing degrees
      • Set TaiT_unit = (Last created unit)
      • Unit - Add a 0.05 second Generic expiration timer to TaiT_unit
      • Unit - Make TaiT_unit face TaiT_target over 0.05 seconds
 
Level 3
Joined
Jun 19, 2014
Messages
26
As i noticed while I was creating another trigger, the problem was the "destroyGroup" script, because I never set the unitgroup again, I only add and remove units from it.
So, does it have any leaking problem if I don't destroy Group in this trigger?
 
Status
Not open for further replies.
Top