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

Rune of Inner Fire not working

Status
Not open for further replies.
Level 15
Joined
Jul 19, 2007
Messages
855
I've made rune-item in my map that should buff the Hero with inner fire when used but when I try to use the rune, nothing is happening. What could be the problem? I have checked everything and I couldn't find anything wrong. Could it be because Inner Fire is an auto-casted ability? I read somewhere that items can't cast abilities that is auto-casted... So how can I trigger it then?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,868
Almost anytime you need to cast a spell like this you're going to be using a Dummy unit. It's almost always the same pattern: Create dummy unit, add ability to dummy, add expiration timer to dummy so it gets removed automatically, and then order the dummy to cast the ability:
  • Events
    • Unit - A unit Acquires an item
  • Conditions
    • (Item-type of (Item being manipulated)) Equal to Rune of Inner Fire
  • Actions
    • Set Unit = (Triggering unit)
    • Set Point = (Position of Unit)
    • Unit - Create 1 Dummy for (Owner of Unit) at Point...
    • Custom script: call RemoveLocation( udg_Point )
    • Set Dummy = (Last created unit)
    • Unit - Add Inner Fire (Rune) to Dummy
    • Unit - Add a 0.20 second Generic expiration timer to Dummy
    • Unit - Order Dummy to Human - Inner Fire Unit
This Event works for powerups even though they're immediately consumed.

I have one Dummy unit dedicated to all of these effects. It's based on the Locust with the following changes:
Movement Type: None, Speed Base: 0, Model: None, Shadow: None, Attacks Enabled: None.

ALL of those settings are very important!
 
Last edited:
Level 15
Joined
Jul 19, 2007
Messages
855
Almost anytime you need to cast a spell like this you're going to be using a Dummy unit. It's almost always the same pattern: Create dummy unit, add ability to dummy, add expiration timer to dummy so it gets removed automatically, and then order the dummy to cast the ability:
  • Events
    • Unit - A unit Acquires an item
  • Conditions
    • (Item-type of (Item being manipulated)) Equal to Rune of Inner Fire
  • Actions
    • Set Unit = (Triggering unit)
    • Set Point = (Position of Unit)
    • Unit - Create 1 Dummy for (Owner of Unit) at Point...
    • Custom script: call RemoveLocation( udg_Point )
    • Set Dummy = (Last created unit)
    • Unit - Add Inner Fire (Rune) to Dummy
    • Unit - Add a 0.20 second Generic expiration timer to Dummy
    • Unit - Order Dummy to Human - Inner Fire Unit
This Event works for powerups even though they're immediately consumed.

I have one Dummy unit dedicated to all of these effects. It's based on the Locust with the following changes:
Movement Type: None, Speed Base: 0, Model: None, Shadow: None, Attacks Enabled: None.

ALL of those settings are very important!
It doesn't work. Nothings happening when the rune is acquired and I have check everything in the ability and dummy unit and everything is correct but still it wont cast inner fire on the Hero...
  • Heroic Legacy rune
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to Rune of Heroic Legacy
    • Actions
      • Set VariableSet UnitRoHL = (Triggering unit)
      • Set VariableSet PointRoHL = (Position of (Triggering unit))
      • Unit - Create 1 SpellCaster (Heroic Legacy) for (Owner of UnitRoHL) at PointRoHL facing Default building facing degrees
      • Custom script: call RemoveLocation( udg_PointRoHL )
      • Unit - Add Heroic Legacy to (Last created unit)
      • Unit - Add a 0.20 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Priest - Inner Fire UnitRoHL
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,868
Works fine for me.
  • Acquire Inner Fire Rune
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to Inner Fire Rune
    • Actions
      • Set VariableSet IFR_Unit = (Triggering unit)
      • Set VariableSet IFR_Point = (Position of IFR_Unit)
      • Unit - Create 1 Dummy (Uncle) for (Owner of IFR_Unit) at IFR_Point facing Default building facing degrees
      • Custom script: call RemoveLocation( udg_IFR_Point )
      • Set VariableSet IFR_Dummy = (Last created unit)
      • Unit - Add Inner Fire (Rune - Dummy) to IFR_Dummy
      • Unit - Add a 0.20 second Generic expiration timer to IFR_Dummy
      • Unit - Order IFR_Dummy to Human Priest - Inner Fire IFR_Unit
 

Attachments

  • Inner Fire Rune 1.w3m
    18.5 KB · Views: 7
Level 15
Joined
Jul 19, 2007
Messages
855
Works fine for me.
  • Acquire Inner Fire Rune
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to Inner Fire Rune
    • Actions
      • Set VariableSet IFR_Unit = (Triggering unit)
      • Set VariableSet IFR_Point = (Position of IFR_Unit)
      • Unit - Create 1 Dummy (Uncle) for (Owner of IFR_Unit) at IFR_Point facing Default building facing degrees
      • Custom script: call RemoveLocation( udg_IFR_Point )
      • Set VariableSet IFR_Dummy = (Last created unit)
      • Unit - Add Inner Fire (Rune - Dummy) to IFR_Dummy
      • Unit - Add a 0.20 second Generic expiration timer to IFR_Dummy
      • Unit - Order IFR_Dummy to Human Priest - Inner Fire IFR_Unit
Now it's working but I had to change he Generic expiration timer of the summoned unit to 10 sec.
 
Status
Not open for further replies.
Top