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

[Trigger] War Stomp effect shows up after cast

Level 11
Joined
Aug 11, 2009
Messages
594
For some reason, when casting this ability, 4 War Stomp special effects happen with about 1 sec interval between each other. But I dont even have the War Stomp special effect triggered into this spell. Anyone recognize this issue?

  • WB Ult Effect
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Tremor-Tremor Fruit (Whitebeard)
    • Actions
      • Set VariableSet Tremor_Caster = (Triggering unit)
      • Set VariableSet Tremor_Player = (Owner of Tremor_Caster)
      • Set VariableSet Tremor_PlayerNumber = (Player number of Tremor_Player)
      • Set VariableSet Tremor_Point = (Position of Tremor_Caster)
      • Unit - Create 1 D Ult (Whitebeard) for Tremor_Player at Tremor_Point facing Default building facing degrees
      • Animation - Change (Last created unit)'s animation speed to 75.00% of its original speed
      • Unit - Add a 0.80 second Generic expiration timer to (Last created unit)
      • Set VariableSet Tremor_Damage = ((9.00 x (Real((Strength of Tremor_Caster (Include bonuses))))) + (24.00 x (Real((Intelligence of Tremor_Caster (Include bonuses))))))
      • Set VariableSet Tremor_UnitGroup = (Units within 500.00 of Tremor_Point matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Tremor_Player.) Equal to True)).)
      • Unit Group - Pick every unit in Tremor_UnitGroup and do (Actions)
        • Loop - Actions
          • Set VariableSet Tremor_Target = (Picked unit)
          • Set VariableSet Tremor_Point = (Position of Tremor_Target)
          • Special Effect - Create a special effect at Tremor_Point using war3mapImported\by_wood_gongchengsipai_6.mdl
          • Special Effect - Set Scale of (Last created special effect) to 0.50
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Tremor_Point)
          • Trigger - Turn off WB Passives <gen>
          • Unit - Cause Tremor_Caster to damage Tremor_Target, dealing Tremor_Damage damage of attack type Spells and damage type Normal
          • Trigger - Turn on WB Passives <gen>
      • Custom script: call DestroyGroup(udg_Tremor_UnitGroup)
      • Special Effect - Create a special effect at Tremor_Point using war3mapImported\DustWave.mdl
      • Special Effect - Set Scale of (Last created special effect) to 6.00
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_Tremor_Point)
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,552
You almost never want to use "A unit FINISHES casting an ability. The proper Event is "A unit Starts the effect" of an ability.

Oh, and that repeating effect is a Reforged bug with certain Special Effects, the only solution as far as I know is to rely on ability Art instead.
 
Level 11
Joined
Aug 11, 2009
Messages
594
Based the spell on Channel and it was to get the timing right with the cast animation.

Edit: So is it one of the special effects made in the trigger that causes this bug? How would I go about using ability Art instead? :)
 
Last edited:

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,552
Based the spell on Channel and it was to get the timing right with the cast animation.

Edit: So is it one of the special effects made in the trigger that causes this bug? How would I go about using ability Art instead? :)
Use the art fields in the Object Editor. You can change a unit's model to anything you want, and the majority of abilities allow for their own art effects. Do whatever works for you, you have both an ability AND a dummy unit to rely on.
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,552
Based the spell on Channel and it was to get the timing right with the cast animation.

Edit: So is it one of the special effects made in the trigger that causes this bug? How would I go about using ability Art instead? :)
Sorry, a bit distracted, you're also removing Tremor_Point and then referencing it after. Here's a fixed trigger:
  • WB Ult Effect
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Tremor-Tremor Fruit (Whitebeard)
    • Actions
      • Set VariableSet Tremor_Caster = (Triggering unit)
      • Set VariableSet Tremor_Player = (Owner of Tremor_Caster)
      • Set VariableSet Tremor_PlayerNumber = (Player number of Tremor_Player)
      • Set VariableSet Tremor_Point = (Position of Tremor_Caster)
      • Special Effect - Create a special effect at Tremor_Point using war3mapImported\DustWave.mdl
      • Special Effect - Set Scale of (Last created special effect) to 6.00
      • Special Effect - Destroy (Last created special effect)
      • Unit - Create 1 D Ult (Whitebeard) for Tremor_Player at Tremor_Point facing Default building facing degrees
      • Animation - Change (Last created unit)'s animation speed to 75.00% of its original speed
      • Unit - Add a 0.80 second Generic expiration timer to (Last created unit)
      • Set VariableSet Tremor_Damage = ((9.00 x (Real((Strength of Tremor_Caster (Include bonuses))))) + (24.00 x (Real((Intelligence of Tremor_Caster (Include bonuses))))))
      • Set VariableSet Tremor_UnitGroup = (Units within 500.00 of Tremor_Point matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Tremor_Player.) Equal to True))
      • Custom script: call RemoveLocation(udg_Tremor_Point)
      • Unit Group - Pick every unit in Tremor_UnitGroup and do (Actions)
        • Loop - Actions
          • Set VariableSet Tremor_Target = (Picked unit)
          • Set VariableSet Tremor_Point = (Position of Tremor_Target)
          • Special Effect - Create a special effect at Tremor_Point using war3mapImported\by_wood_gongchengsipai_6.mdl
          • Special Effect - Set Scale of (Last created special effect) to 0.50
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Tremor_Point)
          • Trigger - Turn off WB Passives <gen>
          • Unit - Cause Tremor_Caster to damage Tremor_Target, dealing Tremor_Damage damage of attack type Spells and damage type Normal
          • Trigger - Turn on WB Passives <gen>
      • Custom script: call DestroyGroup(udg_Tremor_UnitGroup)
This is assuming that you want the Starts effect event. Also, don't forget that dead units get added to Unit Groups, as well as invulnerable, magic immune, buildings, mechanical, etc. There's a lot of things to account for!
 
Last edited:
Top