• 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.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

Rune of Inner Fire not working

Status
Not open for further replies.
Level 15
Joined
Jul 19, 2007
Messages
857
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 74
Joined
Aug 10, 2018
Messages
7,954
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
857
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 74
Joined
Aug 10, 2018
Messages
7,954
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: 10
Level 15
Joined
Jul 19, 2007
Messages
857
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