• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Why does the spell keep on looping?

Status
Not open for further replies.
Level 5
Joined
Jan 23, 2014
Messages
152
The spell is based from Carrion Swarm(unit).

  • Cero
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Cero (Vasto Lorde)
    • Actions
      • Set Cero_Caster = (Casting unit)
      • Set Cero_Loc[0] = (Position of Cero_Caster)
      • Set Cero_Loc[1] = (Target point of ability being cast)
      • Set Cero_Loc[2] = (Cero_Loc[0] offset by 100.00 towards (Angle from Cero_Loc[1] to Cero_Loc[0]) degrees)
      • Unit - Pause Cero_Caster
      • Animation - Play Cero_Caster's channel animation
      • Special Effect - Create a special effect attached to the head of Cero_Caster using Abilities\Spells\Other\Doom\DoomTarget.mdl
      • Set Cero_SFX[0] = (Last created special effect)
      • Special Effect - Destroy Cero_SFX[0]
      • Special Effect - Create a special effect attached to the head of Cero_Caster using Abilities\Spells\Other\Doom\DoomTarget.mdl
      • Set Cero_SFX[1] = (Last created special effect)
      • Special Effect - Destroy Cero_SFX[1]
      • Trigger - Turn on Cero Timer <gen>
      • Countdown Timer - Start Cero_Timer as a One-shot timer that will expire in 2.00 seconds


  • Cero Timer
    • Events
      • Time - Cero_Timer expires
    • Conditions
    • Actions
      • Countdown Timer - Pause Cero_Timer
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Cero_Caster is dead) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit - Create 1 Ichigo Cero for (Owner of Cero_Caster) at Cero_Loc[2] facing (Angle from Cero_Loc[0] to Cero_Loc[1]) degrees
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Unpause Cero_Caster
          • Trigger - Turn on Cero Damage <gen>
          • Trigger - Turn off (This trigger)
  • Cero Damage
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set Cero_Move = (Cero_Move + 240.00)
      • Set Cero_Loc[3] = (Cero_Loc[0] offset by Cero_Move towards (Angle from Cero_Loc[0] to Cero_Loc[1]) degrees)
      • Special Effect - Create a special effect at Cero_Loc[3] using war3mapImported\SuperBigExplosion.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 220.00 of Cero_Loc[3] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of Cero_Caster)) Equal to False) and (((Matching unit) is in Ce and do (Actions)
        • Loop - Actions
          • Unit - Cause Cero_Caster to damage (Picked unit), dealing 3000.00 damage of attack type Spells and damage type Death
          • Unit Group - Add (Picked unit) to Cero_Group
      • Set Cero_Distance = (Distance between Cero_Loc[0] and Cero_Loc[3])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Cero_Distance Greater than or equal to 6000.00) or ((Cero_Caster is dead) Equal to True)
        • Then - Actions
          • Unit Group - Remove all units from Cero_Group
          • Set Cero_Move = 0.00
          • Trigger - Turn off (This trigger)
          • Custom script: call RemoveLocation (udg_Cero_Loc[0])
          • Custom script: call RemoveLocation (udg_Cero_Loc[1])
          • Custom script: call RemoveLocation (udg_Cero_Loc[2])
          • Custom script: call RemoveLocation (udg_Cero_Loc[3])
        • Else - Actions
      • Custom script: call RemoveLocation (udg_Cero_Loc[3])
 
Level 5
Joined
Jan 23, 2014
Messages
152
I've tried reducing it to 3000, and it still loops.
Not only does the damage trigger loop, but the units casts the spell again until it runs out of mana. The timer trigger should only run once, but it does, so I guess it casts the spell over and over. does this mean I have missed something in the object editor?
 
Level 5
Joined
Jan 23, 2014
Messages
152
It still loops

  • Cero
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Cero (Vasto Lorde)
    • Actions
      • Set Cero_Caster = (Casting unit)
      • Set Cero_Loc[0] = (Position of Cero_Caster)
      • Set Cero_Loc[1] = (Target point of ability being cast)
      • Set Cero_Loc[2] = (Cero_Loc[0] offset by 100.00 towards (Angle from Cero_Loc[1] to Cero_Loc[0]) degrees)
      • Unit - Pause Cero_Caster
      • Animation - Play Cero_Caster's channel animation
      • Special Effect - Create a special effect attached to the head of Cero_Caster using Abilities\Spells\Other\Doom\DoomTarget.mdl
      • Set Cero_SFX[0] = (Last created special effect)
      • Special Effect - Create a special effect attached to the head of Cero_Caster using Abilities\Spells\Other\Doom\DoomTarget.mdl
      • Set Cero_SFX[1] = (Last created special effect)
      • Special Effect - Destroy Cero_SFX[0]
      • Special Effect - Destroy Cero_SFX[1]
      • Trigger - Turn on Cero Timer <gen>
      • Countdown Timer - Start Cero_Timer as a One-shot timer that will expire in 2.00 seconds
      • Trigger - Turn off (This trigger)
  • Cero Timer
    • Events
      • Time - Cero_Timer expires
    • Conditions
    • Actions
      • Countdown Timer - Pause Cero_Timer
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Cero_Caster is dead) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit - Create 1 Ichigo Cero for (Owner of Cero_Caster) at Cero_Loc[2] facing (Angle from Cero_Loc[0] to Cero_Loc[1]) degrees
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Trigger - Turn on Cero Damage <gen>
          • Trigger - Turn off (This trigger)
  • Cero Damage
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Set Cero_Move = (Cero_Move + 300.00)
      • Set Cero_Loc[3] = (Cero_Loc[0] offset by Cero_Move towards (Angle from Cero_Loc[0] to Cero_Loc[1]) degrees)
      • Special Effect - Create a special effect at Cero_Loc[3] using war3mapImported\SuperBigExplosion.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 300.00 of Cero_Loc[3] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of Cero_Caster)) Equal to False) and (((Matching unit) is in Ce and do (Actions)
        • Loop - Actions
          • Unit - Cause Cero_Caster to damage (Picked unit), dealing 3000.00 damage of attack type Spells and damage type Death
          • Unit Group - Add (Picked unit) to Cero_Group
      • Set Cero_Distance = (Distance between Cero_Loc[0] and Cero_Loc[3])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Cero_Distance Greater than or equal to 3000.00) or ((Cero_Caster is dead) Equal to True)
        • Then - Actions
          • Unit - Unpause Cero_Caster
          • Unit Group - Remove all units from Cero_Group
          • Set Cero_Move = 0.00
          • Set Cero_Distance = 0.00
          • Custom script: call RemoveLocation (udg_Cero_Loc[0])
          • Custom script: call RemoveLocation (udg_Cero_Loc[1])
          • Custom script: call RemoveLocation (udg_Cero_Loc[2])
          • Custom script: call RemoveLocation (udg_Cero_Loc[3])
          • Trigger - Turn on Cero <gen>
          • Trigger - Turn off (This trigger)
        • Else - Actions
      • Custom script: call RemoveLocation (udg_Cero_Loc[3])
 
Level 5
Joined
Jan 23, 2014
Messages
152
Still loops, I've tried setting the cooldown to 3 seconds. the loop stops now. I guess setting the cooldown to 1 second is a bad idea when testing triggered spells. Thank you for helping! :) +REP
 
Status
Not open for further replies.
Top