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

how to remove terrain defformation from war stomp

Status
Not open for further replies.
Level 11
Joined
Jul 17, 2013
Messages
544
hi, war stomp creates terrain defformation and it lags a bit in game i tired using neutral war stomp 1 and set into two values terrain defformation to 0 and still terrain deforms a bit! when using it in game did i do something wrong? or it doesnt allow you to fully remove defformation. or is there alternate spell which i can use? i would like a spell which works in aoe, and stuns enemy! and doesnt deform
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,537
You can trigger the effects of War Stomp. You'll need:
-The base ability for casting the spell. I recommend using Channel (Options: Visible, Follow Through Time: 0, Disable Other Abilities = False, and you can create the Special Effect/Art here or trigger it)
-A Dummy unit (Movement Type: None, Speed Base = 0, and it's cast point/cast backswing set to 0)
-An ability based on Storm Bolt for the Stun effect (with a 0 second cooldown, 0 mana cost, 0 missile speed, and 99999 cast range)
  • War Stomp
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Custom War Stomp
    • Actions
      • Set TempCaster = (Triggering unit)
      • Set TempPlayer = (Triggering player)
      • Set Point = (Position of TempCaster)
      • -------- - --------
      • Unit - Create 1 Dummy for TempPlayer at Point facing Default building facing degrees
      • Set Dummy = (Last created unit)
      • Unit - Add Stun (Dummy Ability) to Dummy
      • Unit - Add a 1.00 second Generic expiration timer to Dummy
      • -------- - --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 300.00 of Point) and do (Actions)
        • Loop - Actions
          • Set PickedUnit = (Picked unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PickedUnit is alive) Equal to True
              • (PickedUnit belongs to an enemy of TempPlayer) Equal to True
              • (PickedUnit is A ground unit) Equal to True
              • (PickedUnit is A structure) Equal to False
              • (PickedUnit is invulnerable) Equal to False
              • (PickedUnit is hidden) Equal to False
            • Then - Actions
              • Set PickedPoint = (Position of PickedUnit)
              • Unit - Move Dummy instantly to PickedPoint
              • Custom script: call RemoveLocation (udg_PickedPoint)
              • Unit - Order Dummy to Human Mountain King - Storm Bolt PickedUnit
              • Unit - Cause TempCaster to damage PickedUnit, dealing 100.00 damage of attack type Spells and damage type Normal
            • Else - Actions
      • -------- - --------
      • Custom script: call RemoveLocation (udg_Point)
You can trigger the damage (I do this already) or apply the damage with the Dummy's Stun ability. If you want the ability to scale per level then you can add levels to the Dummy's Stun ability and then do this:
  • Unit - Set level of Stun (Dummy Ability) for Dummy to (Level of (Ability being cast) for TempCaster)
If you trigger the damage and want to scale it per level then you can use a Real variable like this:
  • Set Damage = (100.00 x (Real((Level of (Ability being cast) for TempCaster))))
You can also adjust the Area of Effect by changing Pick every unit in (Units within 300.00 of Point).
 
Last edited:
Maybe because you're running on a deformated toaster. :D
I've never experienced any lag with those, unless you are refering to a ridiculous amount of instances running at same time, sure it lags.
No I am talking about one simple unit casting a spell that causes terrain deformation, clicking a critter long enough for it to explode (causes heavy terrain deformation), and any other kind of terrain deformation horribly lags large maps with lots of terrain height variations and tons of doodads. I mean I can send you my map just to show you so you see that there's not really a lot of stuff going on at once in it.

You can see an example here (this is vanilla war stomp and vanilla shock wave):
The Fountain of Youth (Evil spells showcase) - YouTube | HIVE
 
Level 8
Joined
May 21, 2019
Messages
435
Maybe because you're running on a deformated toaster. :D
I've never experienced any lag with those, unless you are refering to a ridiculous amount of instances running at same time, sure it lags.
I have found that a better PC will indeed make these lags less severe, but like FeelsGoodMan said, there's a bunch of things that will worsen these lags to affect even really good PCs.
The funny part is that I never had any issues with this on the shitty PC I used to play Warcraft 3 back when it launched, but then at some point, this lag issue started appearing. It's almost as if the way that this deformation works was written for hardware/software that was in use at the time, but then became deprecated at some point or another.
Either that, or this problem only really happens in large maps with lots of terrain and doodads. It's entirely possible that terrain deformation are far too wide-reaching in their checks.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
The performance issues are caused by destructable count. If you strip all destructables from the map the performance is silky smooth. I proved this with an Azeroth Wars based map where the author reported the exact same problem. With destructables frozen for 1-2 seconds. Without destructables on map no FPS drop at all. I may have removed all doodads as well as destructables, I forget the details.

Suddenly that Blizzard limit in the editor makes more sense!
 
Level 8
Joined
May 21, 2019
Messages
435
The performance issues are caused by destructable count. If you strip all destructables from the map the performance is silky smooth. I proved this with an Azeroth Wars based map where the author reported the exact same problem. With destructables frozen for 1-2 seconds. Without destructables on map no FPS drop at all. I may have removed all doodads as well as destructables, I forget the details.

Suddenly that Blizzard limit in the editor makes more sense!
Is it known whether or not the dimensions of a doodad makes a difference, or is it solely the deformation running checks on all doodads in the map that causes this issue? If not, the obvious fix would be to make clutter doodads, but that obviously only works if the problem is related to quantity rather than volume.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Is it known whether or not the dimensions of a doodad makes a difference, or is it solely the deformation running checks on all doodads in the map that causes this issue? If not, the obvious fix would be to make clutter doodads, but that obviously only works if the problem is related to quantity rather than volume.
I have not tested it. All I did was confirm that stutter happened before and then after removing all doodads and destructables no more stutter occurred.
 
Status
Not open for further replies.
Top