• 🏆 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] Northrend Winds

Status
Not open for further replies.
Level 37
Joined
Aug 14, 2006
Messages
7,601
Hey!

Many have told me that this spell bugs. After this spell is cast, the caster remains paused. I really wonder what's going on because I have unpaused the caster after the spell. Here's one guy who whined about the spell:
Arcanon said:
Sometimes you can't control Galeoth anymore after you use it: you can select him, he auto-attacks nearby enemies BUT u can't cast spells or move.

The spell is based on "Berserk" spell from Head Hunter.

So how should I fix this spell?

  • Northrend Winds U
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Northrend Winds (G, R, 2, U)
    • Actions
      • Set Northrend_Winds_Unit = (Casting unit)
      • Set Northrend_Winds_Distance = 200.00
      • Unit - Pause Northrend_Winds_Unit
      • For each (Integer Northrend_Winds_Integer_1) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set Damage_AAA_Spell = (((Real((Level of Northrend Winds (G, R, 2, U) for (Casting unit)))) x 100.00) + (((Real((Intelligence of (Casting unit) (Include bonuses)))) x 3.00) + (((Real((Charges remaining in (Item carried by (Casting unit) of type Low Magic Ball)))) x 10.00) + (((Real
          • Set TempLoc = (Position of Northrend_Winds_Unit)
          • Set Northrend_Winds_Degree = 0.00
          • Set Northrend_Winds_Distance = (Northrend_Winds_Distance + 100.00)
          • Animation - Play Northrend_Winds_Unit's Spell Channel animation
          • Unit - Create 1 Northrend Winds Dummy 2 for Neutral Passive at TempLoc facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Set life of Northrend_Winds_Unit to ((Life of Northrend_Winds_Unit) + 25.00)%
          • For each (Integer Northrend_Winds_Integer_2) from 1 to 8, do (Actions)
            • Loop - Actions
              • Set Northrend_Winds_Degree = (Northrend_Winds_Degree + 45.00)
              • Set TempLoc2 = (TempLoc offset by Northrend_Winds_Distance towards Northrend_Winds_Degree degrees)
              • Unit - Create 1 Northrend Winds Dummy 1 for Neutral Passive at TempLoc2 facing Default building facing degrees
              • Set TempLoc3 = (Position of (Last created unit))
              • Set TempGroup2 = (Units owned by Neutral Hostile)
              • Set TempGroup = (Units within 250.00 of TempLoc3 matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is in TempGroup2) Equal to True) and (((Matching unit) has buff Invulnerable) Equal to False))))
              • Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
              • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
              • Unit Group - Pick every unit in TempGroup and do (Actions)
                • Loop - Actions
                  • Unit - Cause Northrend_Winds_Unit to damage (Picked unit), dealing Damage_AAA_Spell damage of attack type Spells and damage type Normal
                  • Special Effect - Create a special effect attached to the origin of (Picked unit) using war3mapImported\AquaSpike.mdx
                  • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_TempLoc2)
              • Custom script: call RemoveLocation(udg_TempLoc3)
              • Custom script: call DestroyGroup(udg_TempGroup2)
              • Custom script: call DestroyGroup(udg_TempGroup)
          • Custom script: call RemoveLocation(udg_TempLoc)
          • Wait 2.00 seconds
      • Animation - Reset Northrend_Winds_Unit's animation
      • Unit - Unpause Northrend_Winds_Unit
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
Just a quick guess:
Add this to the begging of the actions part:
  • Custom script: local unit udg_Northrend_Winds_Unit
Oh, and this to the bottom:
  • Custom script: set udg_Northrend_Winds_Unit=null
That should fix it, but I have not examined rest of the code.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
You can just use Triggering Unit...

  • Northrend Winds U
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Northrend Winds (G, R, 2, U)
    • Actions
      • Set Northrend_Winds_Distance = 200.00
      • Unit - Pause Triggering Unit
      • For each (Integer Northrend_Winds_Integer_1) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set Damage_AAA_Spell = (((Real((Level of Northrend Winds (G, R, 2, U) for (Triggering Unit)))) x 100.00) + (((Real((Intelligence of (Triggering Unit) (Include bonuses)))) x 3.00) + (((Real((Charges remaining in (Item carried by (Triggering Unit) of type Low Magic Ball)))) x 10.00) + (((Real
          • Set TempLoc = (Position of Triggering Unit)
          • Set Northrend_Winds_Degree = 0.00
          • Set Northrend_Winds_Distance = (Northrend_Winds_Distance + 100.00)
          • Animation - Play Triggering Unit's Spell Channel animation
          • Unit - Create 1 Northrend Winds Dummy 2 for Neutral Passive at TempLoc facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Set life of Triggering Unit to ((Life of Triggering Unit) + 25.00)%
          • For each (Integer Northrend_Winds_Integer_2) from 1 to 8, do (Actions)
            • Loop - Actions
              • Set Northrend_Winds_Degree = (Northrend_Winds_Degree + 45.00)
              • Set TempLoc2 = (TempLoc offset by Northrend_Winds_Distance towards Northrend_Winds_Degree degrees)
              • Unit - Create 1 Northrend Winds Dummy 1 for Neutral Passive at TempLoc2 facing Default building facing degrees
              • Set TempLoc3 = (Position of (Last created unit))
              • Set TempGroup2 = (Units owned by Neutral Hostile)
              • Set TempGroup = (Units within 250.00 of TempLoc3 matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is in TempGroup2) Equal to True) and (((Matching unit) has buff Invulnerable) Equal to False))))
              • Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
              • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
              • Unit Group - Pick every unit in TempGroup and do (Actions)
                • Loop - Actions
                  • Unit - Cause Triggering Unit to damage (Picked unit), dealing Damage_AAA_Spell damage of attack type Spells and damage type Normal
                  • Special Effect - Create a special effect attached to the origin of (Picked unit) using war3mapImported\AquaSpike.mdx
                  • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_TempLoc2)
              • Custom script: call RemoveLocation(udg_TempLoc3)
              • Custom script: call DestroyGroup(udg_TempGroup2)
              • Custom script: call DestroyGroup(udg_TempGroup)
          • Custom script: call RemoveLocation(udg_TempLoc)
          • Wait 2.00 seconds
      • Animation - Reset Triggering Unit's animation
      • Unit - Unpause Triggering Unit
 
Level 5
Joined
Jan 6, 2006
Messages
106
Well, there's nothing wrong that I know of in your script anyway, except the probability of the "Wait" function messing everything up.

And the fact that he can still "auto-attack" enemies means that he is already unpaused. This means there should be nothing wrong with your trigger. See if there are any other conflicting triggers or your hero has any other spells with the same order string. Hope this helps.
 
Status
Not open for further replies.
Top