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

Rune of Inner Fire not working

Level 14
Joined
Jul 19, 2007
Messages
772
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 64
Joined
Aug 10, 2018
Messages
6,558
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 14
Joined
Jul 19, 2007
Messages
772
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 64
Joined
Aug 10, 2018
Messages
6,558
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: 4
Level 14
Joined
Jul 19, 2007
Messages
772
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.
 
Level 27
Joined
Nov 25, 2021
Messages
481
Or maybe we don't have to use an actual Inner Fire for the Rune's ability? Assuming everything is set correctly, we can use a custom Roar with AoE set to 0 or 1 or something, then set the Damage Increase, Armor Bonus, Buffs and Duration to be similar to the real Inner Fire?
 
Top