• 🏆 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!

[Solved] Custom Channel not interrupting

Status
Not open for further replies.
Level 3
Joined
Jan 27, 2017
Messages
13
I made a custom channel for a boss fight that was working when I made it but suddenly no longer functions properly and I am not sure why.

Ability: Periodically an add will start channeling (using channel), after so many seconds if the add is still channeling then the add will kill itself and heal the boss for a percent of its hp.

Problem: The casting and execution is correct but when a stun or interrupt is used on the add it immediately resumes casting the ability when it wakes up so it will always go off. I can't figure out why especially because it was working for a long time. Note interrupts are .01s stuns and stuns go up to 8s in my map.

  • Ghost Channel
    • Events
      • Time - A1M_StartChannel_Timer expires
    • Conditions
    • Actions
      • -------- Uses G --------
      • Set Temp_G = (Units in A1M Region <gen> matching (((Unit-type of (Matching unit)) Equal to Ghost) and (((Matching unit) is alive) Equal to True)))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Temp_G is empty) Equal to False
        • Then - Actions
          • Set Temp_Unit = (Random unit from Temp_G)
          • Unit - Order Temp_Unit to Special - Channel
          • Countdown Timer - Start A1M_ChannelCast_Timer as a One-shot timer that will expire in 5.00 seconds
        • Else - Actions
      • Custom script: call DestroyGroup(udg_Temp_G)
      • Countdown Timer - Start A1M_StartChannel_Timer as a One-shot timer that will expire in 12.00 seconds
  • Ghost Cast
    • Events
      • Time - A1M_ChannelCast_Timer expires
    • Conditions
      • (Frozen Necromancer 0065 <gen> is alive) Equal to True
      • (Current order of Temp_Unit) Equal to (Order(channel))
    • Actions
      • Special Effect - Create a special effect attached to the origin of Temp_Unit using Abilities\Spells\Items\AIam\AIamTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Order Temp_Unit to Stop
      • Special Effect - Create a special effect attached to the origin of Frozen Necromancer 0065 <gen> using Abilities\Spells\Items\AIam\AIamTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Set life of Frozen Necromancer 0065 <gen> to ((Percentage life of Frozen Necromancer 0065 <gen>) + 20.00)%
      • Unit - Kill Temp_Unit
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
I've had similar problems with Channel. It seems the game saves the order prior the unit being issued the stun order (ex: have a unit walk in a straight line, stun them, and the unit should keep continuing walking after the stun ends). You will need to order the unit to "stop" when the stun is applied so that they dont use the spell order. Alternatively, you can just give the spell a cooldown.
 
Level 3
Joined
Jan 27, 2017
Messages
13
I've had similar problems with Channel. It seems the game saves the order prior the unit being issued the stun order (ex: have a unit walk in a straight line, stun them, and the unit should keep continuing walking after the stun ends). You will need to order the unit to "stop" when the stun is applied so that they dont use the spell order. Alternatively, you can just give the spell a cooldown.
Thanks for the tip, didn't realize the order was stored i thought it got reset.
 
Status
Not open for further replies.
Top