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

[Spell] Order recognized even though it shouldn't

Status
Not open for further replies.
Level 12
Joined
May 16, 2020
Messages
660
Hi guys,

I have the following trigger which should only run when using a spell based on immolation:
  • Rot
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Level of Rot for (Triggering unit)) Greater than 0
      • Or - Any (Conditions) are true
        • Conditions
          • (Issued order) Equal to (Order(immolation))
          • (Issued order) Equal to (Order(unimmolation))
    • Actions
      • Game - Display to (All players) the text: triggered...
However, this spell - based on Channel -also triggers it, even though the Base Order ID is Impale, the target type is a point or target and hence should have nothing to do with immolation.

capture-png.369846


Is this a bug?
 

Attachments

  • Capture.PNG
    Capture.PNG
    38.8 KB · Views: 89
Level 12
Joined
Feb 5, 2018
Messages
521
Try changing use/turn on to also impale. If the other ability is also based on channel, it may overlap with the other ability.
 
Level 12
Joined
May 16, 2020
Messages
660
The Immolate ability is not based on channel - it's simply the default Immolate abilit. And I changing it to Impale as suggested, but didn't help unfortunately...

When I use the default Impale ability (just for testing purposes), it doesn't recognize it btw.

EDIT: Ok found the culprit.. it's because I say "Disable Other abilities = TRUE" for 0.5 seconds. Is there any other simple way to "disable" a hero for a duration? (while also making the entire ability selection black)
 
Last edited:
Level 12
Joined
Feb 5, 2018
Messages
521
The Immolate ability is not based on channel - it's simply the default Immolate abilit. And I changing it to Impale as suggested, but didn't help unfortunately...

When I use the default Impale ability (just for testing purposes), it doesn't recognize it btw.

EDIT: Ok found the culprit.. it's because I say "Disable Other abilities = TRUE" for 0.5 seconds. Is there any other simple way to "disable" a hero for a duration? (while also making the entire ability selection black)

What if you deselect the unit and add it back to selection after 0.5sec?

You could add the deselection into your loop trigger.
 
Level 23
Joined
Apr 3, 2018
Messages
460
Maybe try checking that the current order of the caster is not equal to "impale" (in the immolation trigger).

I tried testing this, by giving a unit a channel based ability and standard immolation, when the channel ability is used the current order is "channel" even though the order that activated the trigger is "unimmolation".
 
Level 12
Joined
May 16, 2020
Messages
660
I think the problem is unrelated to the order. What causes the issue is the "disable other abilities", which I assume gives the same order as (un)immolation. I tried fixing it via triggers and add a pause to the unit instead of "disable other abilities". But this triggers the exact same reaction.

So in the end I used this function to "stop" the caster for 0.5 seconds after casting the "impale" ability. And this doesn't conflict with the immolation ability:

  • Custom script: call SetUnitPropWindow( udg_MeatHook_Caster[udg_MeatHook_Index], 0.00 )
 
Status
Not open for further replies.
Top