• 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.

Stop the recall ability, when being attacked

Level 5
Joined
Feb 6, 2024
Messages
12
Hello 😁
I'm making a MOBA game within the world editor and stumble upon an issue, that I can't seem to find a solution for.
In my map I have made a recall ability applied on every hero. So when they use the recall ability, they will wait 8 seconds and then be teleported back to base, from where ever they stood before.

- I want to make a simple trigger; that stops the recall ability for heroes, if they are being attacked.

Can anyone help me achieve this goal? :razz:
 

Attachments

  • Recall Trigger.PNG
    Recall Trigger.PNG
    93.9 KB · Views: 13
Level 7
Joined
Jan 13, 2025
Messages
51
I would do something like -
Event - Unit is attacked
Condition - Ability being cast equal to x AND owner of triggering unit equal to
Action - Order Unit to ( STOP ) or something like that....
I think this should work but i just wrote this as like a base version, I would have to test it more at home but more or less you want something like this, right ?
 
Level 45
Joined
Feb 27, 2007
Messages
5,578
Attacked event runs when a unit begins the windup for its attack, not when the attack deals damage.
  • Events
    • Unit - A unit takes damage
    • -------- or some other equivalent event from a damage detection system --------
  • Conditions
    • (Damage from Normal Attack) equal to True
    • -------- or some other equivalent condition from a damage detection system --------
    • (Current order of (Triggering Unit)) equal to BASE_ORDER_ID_OF_THE_RECALL_SPELL
  • Actions
    • Unit - Order (Triggering Unit) to Stop
 
Level 5
Joined
Feb 6, 2024
Messages
12
It looks like I'm not able to collect the (Event: Unit - A unit takes damage).
Only through: "Unit - Specific Unit Event"; am I able to find: "takes damage".

- Is this because i got an older version of the World Editor or what do u guys think?


This is the closest I could get trying to do your example Pyrogasm. (Uploaded file)
 

Attachments

  • Trigger Stop recall.PNG
    Trigger Stop recall.PNG
    127.1 KB · Views: 8
Level 30
Joined
Aug 29, 2012
Messages
1,383
Yes they added it as a generic unit event with reforged so you'll either need to used "is attacked" or find a workaround like this in a separate trigger

  • Events
    • Unit - A unit enters (Playable map area)
  • Conditions
    • ((Triggering unit) is A Hero) Equal to True
  • Actions
    • Trigger - Add to Stop Recall <gen> the event (Unit - (Triggering unit) Takes damage)
Only that way you can use triggering unit as a specific unit event
 
Level 5
Joined
Feb 6, 2024
Messages
12
Sadly I tried out your idears, but it didn't work. :sad:
Maybe it's do to my old version of world editor or maybe I'm just missing a point.
I had hoped for a so called "easy" trigger to do the job and thats why I haven't looked more into your Pyrogasm: (detection system)
Thank you so much for your help anyways and taking your time to write.

- I've decied to move on without achieve this goal. Maybe others will do!

Stop the recall ability, when being attacked: Unsolved

 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Sadly I tried out your idears, but it didn't work. :sad:
Maybe it's do to my old version of world editor or maybe I'm just missing a point.
I had hoped for a so called "easy" trigger to do the job and thats why I haven't looked more into your Pyrogasm: (detection system)
Thank you so much for your help anyways and taking your time to write.

- I've decied to move on without achieve this goal. Maybe others will do!

Stop the recall ability, when being attacked: Unsolved

This helps everyone, please use this method instead of posting pictures of your triggers:

Anyway, how about using some simple triggers for now:

1) The Recall SUPER ability should be based on the Channel ability. Set it's Follow Through Time to however long you want it to take, set Disable Other Abilities = False, and Options = Visible. Set the Base Order Id to something unused by your units like "submerge".

2) Use a Unit Group to track that the caster has begun channeling the ability:
  • Start Recall
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Recall SUPER
    • Actions
      • Unit - Add (Triggering unit) to Recalling_Group
      • Trigger - Turn on Cancel Recall <gen>
3) Stop tracking the caster when it stops casting the ability (for any reason):
  • Stop Recall
    • Events
      • Unit - A unit Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Recall SUPER
    • Actions
      • Unit - Remove (Triggering unit) from Recalling_Group
      • If ((Recalling_Group is empty) Equal to True) then do (Trigger - Turn off Cancel Recall <gen>) else do (Do nothing)
4) Teleport the caster when it successfully finishes channeling Recall:
  • Finish Recall
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Recall SUPER
    • Actions
      • Unit - Move (Triggering unit) to (Some place)
5) Cancel channeling Recall when the caster is attacked:
  • Cancel Recall
    • Events
      • Unit - A unit is Attacked
    • Conditions
      • ((Triggering unit) is in Recalling_Group) Equal to True
    • Actions
      • Unit - Order (Triggering unit) to Stop
Notes:
- Recalling_Group is a Unit Group variable.
- The Cancel Recall trigger should be Initially OFF. It's designed to be On while a unit is channeling Recall SUPER and Off while no units are channeling. This will help with your map's performance since "A unit is Attacked" can happen pretty often.
1737143331094.png
 
Last edited:
Top