• 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.

[General] About leaks: Slam and Thunder Clap are the same spell?

Level 11
Joined
Aug 24, 2022
Messages
434
Hi once more, hivers! I'd like a simple answer this time.

I'm fixing leak problems in my project, and I'm removing all Shockwaves, Warstomps and Thunderclaps from my project. I wouldn't like to trigger all slows for all thunderclaps that I have, but if I must, I'll do it.

Question: Slam (Creep Spell) also leaks as Thunder Clap? I have this doubt, because the order string for it is "creepthunderclap", not "thunderclap"... So this gave me a little hope that it doesn't leak with the terrain deformation. About War Stomp, for example, both hero ability and creep abilities (and variations), have the same order string.

I'm currently removing these native spells, because my game lasts for about one hour, and some heroes keep casting these spells during all the game, making it very heavy at the end due to their terrain deformations.
 
The short answer is: yes, it has the same behavior as Thunder Clap, War Stomp, etc. with respect to terrain deformations.

The longer answer is that it's not super clear whether terraindeformations leak memory or how much. Our main evidence is that for each one you make, its handle ID keeps going up (whereas with most other entities that can be "destroyed", handle IDs get freed up to be re-used).

So if you want to test it yourself, you can just create a trigger with a terrain deformation and then print its handle ID:
  • Esc
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Environment - Create a 0.20 second Normal ripple deformation at (Center of (Playable map area)) with starting radius 1024.00, ending radius 1024.00, and depth 64.00, using 1.00 second ripples spaced 512.00 apart
      • Custom script: call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, I2S(GetHandleId(bj_lastCreatedTerrainDeformation)))
In my case, I just started my map--pressed ESC, then cast "Slam", then pressed ESC again. If the ID jumps by two (e.g. 1, then 3)--then that means that the "Slam" created a terrain deformation that occupied that handle ID in-between. So yeah, looks like it has the same behavior as all the other stomps.
 
Top