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

[GUI][MUI]{Earth-Quake} [1.04] <Updated>

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
I updated spell to maximum. I improved everything what maker said except 1 thing, that is to caster deal damage instead of dummys.
So i think it works now enough good to be approved. Also i added 1 new boolean and 1 new integer.
Boolean = EQ_LimitedChunks - Easly allows you to use limited chunks or not. If it's off spell wouldn't check EQ_MaxChunks.
Integer = EQ_MaxChunks - Only works when LimitedChunks are on. This is the maximal number of chunks created.
Triggers Below!
Updated again :p
Fixed some parts. No need to post triggers again all i did is:
From: Time elapsed of game 0.03 changed to Melee initialization.
and removed these : Set Integer = 0
Set Integer = Integer + 1
And added Set Integer = 1

Keywords:
Quake,Earth,EarthQuake,Earth Quake, Shaking, Stunning, Damaging, Ground...
Contents

Just another Warcraft III map (Map)

Reviews
12th Dec 2015 IcemanBo: For too long time as NeedsFix. Rejected. 14:21, 30th May 2011 Maker: Make the number of rocks configurable, it can cause lag because of 34 dummies per cast. EQ RemoveChunks should be turned on/off. Remove the extra and...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For too long time as NeedsFix. Rejected.

14:21, 30th May 2011
Maker:
Make the number of rocks configurable, it can cause lag because of 34 dummies per cast.
EQ RemoveChunks should be turned on/off.
Remove the extra and, it generated unneeded code here:
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • And - All (Conditions) are true
        • Conditions
          • EQ_CreateChunks Equal to True
          • EQ_RemoveChunks Equal to True
Make the caster damage enemies, currently the dummies deal the damage.

Maker, 14.07.2011
Causes some serious fps drop even on a good computer when casted on the same spot on two units a few times. It's the terrain deformations.
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
Picture isn't best, and i forgot to post triggers so Triggers are here :
It's my first time to do spell with indexing ;)
  • EQ Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (==) EarthQuake
    • Actions
      • -------- Starting Indexing System --------
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (EQ_CasterGroup is empty) Equal to (==) False
          • Then - Actions
            • Set EQ_Integer1 = (EQ_Integer1 + 1)
          • Else - Actions
            • Set EQ_Integer1 = 0
            • Set EQ_Integer1 = (EQ_Integer1 + 1)
      • -------- Making Basic stuff --------
      • -------- Don't change these --------
      • Set EQ_Caster[EQ_Integer1] = (Triggering unit)
      • Set EQ_Loc[0] = (Position of EQ_Caster[EQ_Integer1])
      • Set EQ_Loc[1] = (Target point of ability being cast)
      • Set EQ_Facing[EQ_Integer1] = (Angle from EQ_Loc[0] to EQ_Loc[1])
      • Set EQ_Angle[EQ_Integer1] = (EQ_Facing[EQ_Integer1] + (Random real number between -45.00 and 45.00))
      • -------- This is distance, on how far would spell go. --------
      • -------- This is Changeable --------
      • Set EQ_DistanceMax = (250.00 + (250.00 x (Real((Level of EarthQuake for EQ_Caster[EQ_Integer1])))))
      • -------- Don't change these --------
      • Set EQ_Distance[EQ_Integer1] = 0.00
      • Set EQ_Distance_Offset[EQ_Integer1] = 0.00
      • Set EQ_Distance_Offset_2[EQ_Integer1] = 0.00
      • Set EQ_CurrentChunks[EQ_Integer1] = 0
      • Unit Group - Add EQ_Caster[EQ_Integer1] to EQ_CasterGroup
      • -------- Removing Leaks --------
      • -------- Remaining triggers aren't comented, cause all what you can change --------
      • -------- was here or in trigger "EQ Changeables" --------
      • Custom script: call RemoveLocation(udg_EQ_Loc[0])
      • Custom script: call RemoveLocation(udg_EQ_Loc[1])
      • Trigger - Turn on EQ Loop 2 <gen>
      • Trigger - Turn on EQ Loop <gen>
  • EQ Loop
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • Do Multiple ActionsFor each (Integer EQ_Integer2) from 1 to EQ_Integer1, do (Actions)
        • Loop - Actions
          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_Distance[EQ_Integer2] Less than (<) EQ_DistanceMax
            • Then - Actions
              • Set EQ_Loc[1] = (Position of EQ_Caster[EQ_Integer2])
              • Set EQ_Loc[2] = (EQ_Loc[1] offset by 160.00 towards EQ_Angle[EQ_Integer2] degrees)
              • Set EQ_Angle[EQ_Integer2] = (EQ_Facing[EQ_Integer2] + (Random real number between -45.00 and 45.00))
              • Set EQ_Distance[EQ_Integer2] = (EQ_Distance[EQ_Integer2] + 15.00)
              • Set EQ_Distance_Offset[EQ_Integer2] = (EQ_Distance_Offset[EQ_Integer2] + 15.00)
              • Set EQ_Loc[3] = (EQ_Loc[2] offset by EQ_Distance_Offset[EQ_Integer2] towards EQ_Angle[EQ_Integer2] degrees)
              • Unit - Create 1 Dummy for (Owner of EQ_Caster[EQ_Integer2]) at EQ_Loc[3] facing EQ_Loc[3]
              • Unit - Add a EQ_ChunksDuration second Generic expiration timer to (Last created unit)
              • Unit - Set level of EarthQuake (Projectiles) for (Last created unit) to (Level of EarthQuake for EQ_Caster[EQ_Integer2])
              • Unit - Order (Last created unit) to Neutral Tinker - Cluster Rockets EQ_Loc[3]
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • EQ_RemoveDestructables Equal to (==) True
                  • Then - Actions
                    • Destructible - Pick every destructible within 100.00 of EQ_Loc[3] and do (Actions)
                      • Loop - Actions
                        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • (Destructible-type of (Picked destructible)) Not equal to (!=) EQ_ChunkType
                            • ((Picked destructible) is alive) Equal to (==) True
                            • ((Picked destructible) is invulnerable) Equal to (==) False
                          • Then - Actions
                            • Destructible - Kill (Picked destructible)
                          • Else - Actions
                  • Else - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • EQ_CreateChunks Equal to (==) True
                    • EQ_CurrentChunks[EQ_Integer2] Less than or equal to (<=) EQ_MaxChunks
                  • Then - Actions
                    • Destructible - Create a EQ_ChunkType at EQ_Loc[3] facing (Random angle) with scale 0.50 and variation 0
                    • Destructible - Set life of (Last created destructible) to 5.00%
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • EQ_LimitedChunks Equal to (==) True
                        • Then - Actions
                          • Set EQ_CurrentChunks[EQ_Integer2] = (EQ_CurrentChunks[EQ_Integer2] + 1)
                        • Else - Actions
                  • Else - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • EQ_CreateEffects Equal to (==) True
                  • Then - Actions
                    • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ_EffectGroundDust Not equal to (!=) <Empty String>
                      • Then - Actions
                        • Special Effect - Create a special effect at EQ_Loc[3] using EQ_EffectGroundDust
                        • Special Effect - Destroy (Last created special effect)
                      • Else - Actions
                  • Else - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • EQ_MakeDeformations Equal to (==) True
                  • Then - Actions
                    • Environment - Create a 1.00 second Temporary crater deformation at EQ_Loc[3] with radius 150.00 and depth 300.00
                    • Environment - Stop (Last created terrain deformation) over 3.00 seconds
                  • Else - Actions
              • Custom script: call RemoveLocation(udg_EQ_Loc[1])
              • Custom script: call RemoveLocation(udg_EQ_Loc[2])
              • Custom script: call RemoveLocation(udg_EQ_Loc[3])
            • Else - Actions
              • Unit Group - Remove EQ_Caster[EQ_Integer2] from EQ_CasterGroup
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (EQ_CasterGroup is empty) Equal to (==) True
                  • Then - Actions
                    • Trigger - Turn off (This trigger)
                  • Else - Actions
  • EQ Loop 2
    • Events
      • Time - Every 0.09 seconds of game time
    • Conditions
    • Actions
      • Do Multiple ActionsFor each (Integer EQ_Integer2) from 1 to EQ_Integer1, do (Actions)
        • Loop - Actions
          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_Distance[EQ_Integer2] Less than (<) EQ_DistanceMax
            • Then - Actions
              • Set EQ_Loc[1] = (Position of EQ_Caster[EQ_Integer2])
              • Set EQ_Loc[2] = (EQ_Loc[1] offset by 160.00 towards EQ_Angle[EQ_Integer2] degrees)
              • Set EQ_Distance_Offset_2[EQ_Integer2] = (EQ_Distance_Offset_2[EQ_Integer2] + 30.00)
              • Set EQ_Loc[5] = (EQ_Loc[2] offset by EQ_Distance_Offset_2[EQ_Integer2] towards EQ_Angle[EQ_Integer2] degrees)
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • EQ_CreateEffects Equal to (==) True
                  • Then - Actions
                    • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ_EffectGroundClap Not equal to (!=) <Empty String>
                      • Then - Actions
                        • Special Effect - Create a special effect at EQ_Loc[5] using EQ_EffectGroundClap
                        • Special Effect - Destroy (Last created special effect)
                      • Else - Actions
                    • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ_EffectGroundClap_2 Not equal to (!=) <Empty String>
                      • Then - Actions
                        • Special Effect - Create a special effect at EQ_Loc[5] using EQ_EffectGroundClap_2
                        • Special Effect - Destroy (Last created special effect)
                      • Else - Actions
                  • Else - Actions
              • Custom script: call RemoveLocation(udg_EQ_Loc[1])
              • Custom script: call RemoveLocation(udg_EQ_Loc[2])
              • Custom script: call RemoveLocation(udg_EQ_Loc[5])
            • Else - Actions
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (EQ_CasterGroup is empty) Equal to (==) True
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
  • EQ RemoveChunks
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to (==) Dummy
    • Actions
      • Set EQ_Loc[4] = (Position of (Dying unit))
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • EQ_CreateChunks Equal to (==) True
            • EQ_RemoveChunks Equal to (==) True
          • Then - Actions
            • Destructible - Pick every destructible within 100.00 of EQ_Loc[4] and do (Actions)
              • Loop - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (Destructible-type of (Picked destructible)) Equal to (==) EQ_ChunkType
                  • Then - Actions
                    • Destructible - Kill (Picked destructible)
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • EQ_CreateEffects Equal to (==) True
                        • Then - Actions
                          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • EQ_EffectGroundChuckDestroyed Not equal to (!=) <Empty String>
                            • Then - Actions
                              • Special Effect - Create a special effect at EQ_Loc[4] using EQ_EffectGroundChuckDestroyed
                              • Special Effect - Destroy (Last created special effect)
                            • Else - Actions
                        • Else - Actions
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • EQ_MakeDeformations Equal to (==) True
                        • Then - Actions
                          • Environment - Create a 3.00 second Temporary crater deformation at EQ_Loc[4] with radius 100.00 and depth 30.00
                          • Environment - Stop (Last created terrain deformation) over 3.00 seconds
                        • Else - Actions
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • EQ_ChunksDoDamageAfterDeath Equal to (==) True
                        • Then - Actions
                          • Set EQ_ChunkEnemyGroup = (Units within 100.00 of EQ_Loc[4] matching ((((Matching unit) belongs to an enemy of (Owner of (Dying unit))) Equal to (==) True) and ((((Matching unit) is hidden) Equal to (==) False) and (((Matching unit) is Magic Immune) Equal to (==) False))))
                          • Unit Group - Pick every unit in EQ_ChunkEnemyGroup and do (Actions)
                            • Loop - Actions
                              • Unit - Cause (Dying unit) to damage (Picked unit), dealing EQ_ChunksDamage damage of attack type Spells and damage type Normal
                          • Custom script: call DestroyGroup(udg_EQ_ChunkEnemyGroup)
                        • Else - Actions
                  • Else - Actions
          • Else - Actions
      • Unit - Remove (Dying unit) from the game
      • Custom script: call RemoveLocation(udg_EQ_Loc[4])
AND Now Changeables
  • EQ Changeables
    • Events
      • Time - Elapsed game time is 0.03 seconds
    • Conditions
    • Actions
      • -------- Now---- GLOBAL ------ Booleans! --------
      • -------- Choose between 7 options, turn on or off whatever you want --------
      • -------- Configure 8 options to your needs. --------
      • -------- To get your wanted results --------
      • Set EQ_EffectGroundChuckDestroyed = Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
      • Set EQ_EffectGroundClap = Abilities\Spells\Orc\EarthQuake\EarthQuakeTarget.mdl
      • Set EQ_EffectGroundClap_2 = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Set EQ_EffectGroundDust = Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
      • Set EQ_MaxChunks = 10
      • Set EQ_ChunksDamage = 2.50
      • Set EQ_ChunksDoDamageAfterDeath = True
      • Set EQ_ChunkType = Chunks
      • Set EQ_RemoveChunks = True
      • Set EQ_ChunksDuration = 5.00
      • Set EQ_CreateChunks = True
      • Set EQ_LimitedChunks = False
      • Set EQ_CreateEffects = True
      • Set EQ_MakeDeformations = True
      • Set EQ_RemoveDestructables = True
      • -------- End of booleans --------
And i again, i hope you like my spell/system.
TRIGGERS UPDATED TO 1.03!!!!!!!
 
Last edited:
You mispelled destructibles. 1/5....... XD lol jk
Triggering looks good, but you leaked one thing.
You should destroy the locations before you turn on the loops in the EQ Casting trigger.

Testing...

I like the spell!
[+] MUI
[+] Good Triggering
[+] Somewhat Original
[+] Easy to Implement
[+] No leaks (almost)

5/5

One more thing. I'm most probably wrong, but in the second loop trigger (EQ Loop 2), i suggest you use the variable EQ_Loc[3] instead of EQ_Loc[2]. I think it could cause bugs since both loops are constantly overwriting that variable. (am i right or not?)
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
Thank you,You also can expect, "To do" list, done, cause it's nearly done ;) and Recycling system too :D
Edit : Recycling system done. Now spell is castable, and there will be no indexing problems. PS: Don't say me that it works bad when you cast it twice at same time, with an unit, cause those and this spells are done to be with Cooldown ;)
Knockback would be added later... :(
Chunks dissapear over time : Done ;)
New changeables!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Now you can change 3 effects, clap effect, dust effect, and effect when chuck dissapears.
Now you can turn on off, damage of chunk, when it is destroyed, and damage that it would do ;)
Magtheridon96 like he said, i fixed points, on Cast trigger :)
Now just to edit main post
 
Last edited:
Level 37
Joined
Mar 6, 2006
Messages
9,240
Set the configurables in a separate trigger that runs at map ini or at 0.00 game time. Not during every cast.
Leak in EQLoop, also uses trig unit:
  • Unit - Create 1 Dummy for (Owner of EQ_Caster[EQ_Integer2]) at EQ_Loc[2] facing (Position of (Triggering unit))
Do something about this:
  • Destructible - Pick every destructible within 100.00 of EQ_Loc[2] and do (Actions)
It destroys all destructilbles, like bridges.
You leak a unit group in EQ Remove Chunks.
You could make the caster do the damage.
  • Unit - Cause (Dying unit) to damage (Picked unit), dealing EQ_ChunksDamage damage of attack type Spells and damage type Normal
Research and normal button positions do no t match.
Make the ability support levels.
There's maybe a bit too many effects.
There's a debug message in the cast trigger.
The art duration is set to 0.03 but there is no art.
Is the follow through time that low on purpose?
EQ Remove Chunks should be turned on/off.
EQ Loop 2 is never turned off.
The dummy doesn't need Invulnerability ability, it has Locust.
I'd like the caster to get the credit from the kills, not the dummy.
I'd love to see the dummies recycled.
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
NEW UPDATE!!!! 1.02!
Now one more cool effect!
Now when you let string to empty string, it won't create any effect.
Fixed everything what maker said, expect destroying all destructibles and bridges and that caster gets gold, i mean seriusly that's not needed, dummy is yours, he can't get exp, so you get whole exp, and get whole gold ...
MORE CHANGEABLES :D
now you can turn on/off removing chunks :)
When Deformations are turned off, now every destroyed chunk, creates a little hole, it's temporary so you don't need to care about it :d
-----------------------------------------
Now when deformations are on, caster gets knockedback :) (a little, so he can't go down in rat hole :D) <-- Removed :( Works bad :/
Now Deformations won't affect YOU!!!! Cause spell starts in front of you with little offset ;)
 
Last edited:
Level 13
Joined
Jun 9, 2009
Messages
1,129
razor21, First that spell is not created to make fatal errors!!! And it's created to be used with Cooldown!!!!! Second about destructibles you're telling whole time, ofc that it destroys every destructibles in wave. Third, learn more about triggering and then talk about how and what should i edit. Seriusly!
Fourth - "(it only says pick every destructible of type rocks)" Learn about this, It says, Pick every destructible in point with X , Y. And then PICKED DESTRUCTIBLE NOT EQUAL TO CHUNK!!!!!!
 
Level 22
Joined
Nov 14, 2008
Messages
3,256
its laggy, and creates fatal error. when spammed at the same location.

i guess you need to pick only living destructibles. +__+ (it only says pick every destructible of type rocks)

It's not weird when you think about it. It creates a terrain deform every 0.03 second + picks dead dests + loads of effects + creating lots of destructables "chunks".

Still a spell should work flawless with or without cooldown, seriously take the constructive criticism.
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
hmmm, i know what you want to say baassee, and what razor21 wanted to say, i taked all constructive criticism from all, but he said so many wrong things, and this spell can be changeable! read it, add or remove whatever you want, don't use all effects, if string is empty, no effect would be created (wont even create)... i'll see, what i can change, but about crashing, THAT'S TOTALY WRONG, i mean why do you cast spell at same location, and what's point of casting spell thousand times...
Baassee, i'll fix that what you said, cause you're friendly i guess XD no seriously i'll fix it ;) (Idk but my spell doesn't laggs :eek:)
 
Level 16
Joined
Aug 20, 2009
Messages
1,552
fine, what i meant is,

try casting the same spell at the same location 4x.

the first wave is okay, it works just fine,
but the second wave, it creates a damn lag, because they pick the same destructibles which is already dead, multiple times. within "100" of EQ_Loc[4].

picking at x,y? it just pick destructibles within 100 of a dummy killed with expiration timer.

wrong? is picking only living chunks wrong?

what happens when there is 4 rock chunks at the same location?
the first wave, the rock is killed, it works normally.
the second time, it picks the rock of the 2nd skill cast, and the "Dead" Rock from the first wave, causing the trigger to work "Twice".

and at the 4th time, the trigger run 4 times for all the "Dead" chunks. (Including the damage trigger when the rock is dead, it run 4x, coz it counts the dead chunks too.) get the logic?.

  • Destructible - Pick every destructible within 100.00 of EQ_Loc[4] and do (Actions)
    • Loop - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Destructible-type of (Picked destructible)) Equal to EQ_ChunkType
        • Then - Actions
          • Destructible - Kill (Picked destructible)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_CreateEffects Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • EQ_EffectGroundChuckDestroyed Not equal to <Empty String>
                • Then - Actions
                  • Special Effect - Create a special effect at EQ_Loc[4] using EQ_EffectGroundChuckDestroyed
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_MakeDeformations Equal to True
            • Then - Actions
              • Environment - Create a 3.00 second Temporary crater deformation at EQ_Loc[4] with radius 70.00 and depth 45.00
              • Environment - Stop (Last created terrain deformation) over 3.00 seconds
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_ChunksDoDamageAfterDeath Equal to True
            • Then - Actions
              • Set EQ_ChunkEnemyGroup = (Units within 100.00 of EQ_Loc[4] matching ((((Matching unit) belongs to an enemy of (Owner of (Dying unit))) Equal to True) and ((((Matching unit) is hidden) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
              • Unit Group - Pick every unit in EQ_ChunkEnemyGroup and do (Actions)
                • Loop - Actions
                  • Unit - Cause (Dying unit) to damage (Picked unit), dealing EQ_ChunksDamage damage of attack type Spells and damage type Normal
              • Custom script: call DestroyGroup(udg_EQ_ChunkEnemyGroup)
            • Else - Actions
        • Else - Actions
you should check if the destructible within 100 of EQ_Loc[4] is alive, what you did was just picking every Destructibles, of type rock chunks, within 100 range of the dying location of the dummy. don't tell me you don't know, that it picks "DEAD" Destructibles too, imagine the trigger running for the "DEAD" Destructibles, what would happen?. it would run the whole thing for the "DEAD" Variable existing in the same location too.

you can simply add another condition can't you? to fix this.
like this

  • Destructible - Pick every destructible within 100.00 of EQ_Loc[4] and do (Actions)
    • Loop - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Destructible-type of (Picked destructible)) Equal to EQ_ChunkType
          • ((Picked destructible) is alive) Equal to True
        • Then - Actions
          • Destructible - Kill (Picked destructible)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_CreateEffects Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • EQ_EffectGroundChuckDestroyed Not equal to <Empty String>
                • Then - Actions
                  • Special Effect - Create a special effect at EQ_Loc[4] using EQ_EffectGroundChuckDestroyed
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_MakeDeformations Equal to True
            • Then - Actions
              • Environment - Create a 3.00 second Temporary crater deformation at EQ_Loc[4] with radius 70.00 and depth 45.00
              • Environment - Stop (Last created terrain deformation) over 3.00 seconds
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • EQ_ChunksDoDamageAfterDeath Equal to True
            • Then - Actions
              • Set EQ_ChunkEnemyGroup = (Units within 100.00 of EQ_Loc[4] matching ((((Matching unit) belongs to an enemy of (Owner of (Dying unit))) Equal to True) and ((((Matching unit) is hidden) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
              • Unit Group - Pick every unit in EQ_ChunkEnemyGroup and do (Actions)
                • Loop - Actions
                  • Unit - Cause (Dying unit) to damage (Picked unit), dealing EQ_ChunksDamage damage of attack type Spells and damage type Normal
              • Custom script: call DestroyGroup(udg_EQ_ChunkEnemyGroup)
            • Else - Actions
        • Else - Actions
then run the trigger, it works a lot better, look how much lag does it reduce.
and how much correction does it made. the spell now will not damage the unit 4x of the original chunks dead damage, when there is multiple "DEAD" Chunks around.

what happen when you stack more "DEAD" Destructibles? it damages the same unit with the total "Chunks damage x Total number of dead destructibles within 100 range within dying dummy positioin". isn't that crazy? it multiplies my 2nd wave damage each time i cast the spell on the same location !, i can use this "Glitch" To own the whole game.

if you don't agree with this, picking only "Alive" Chunks,

you should ve assigned each dummy to each chunks.
so that it only kills "Specific" Chunks when the "Specific" Dummy died.

If you still don't know what i am talking about, re-read every sentence i wrote.
 
Level 9
Joined
Dec 12, 2007
Messages
489
some that i found:

  • Else - Actions
  • Set EQ_Integer1 = 0
  • Set EQ_Integer1 = (EQ_Integer1 + 1)
is the same like:
  • Else - Actions
  • Set EQ_Integer1 = 1

and for best, i would suggest you to remove the option for Terrain Deformation, as it has been known to cause lag and possible desync in game.

and when you reason with this:
razor21, First that spell is not created to make fatal errors!!! And it's created to be used with Cooldown!!!!!

if your ability/spell is limited by cooldown, it doesn't MUI after all.
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
What a ? about integer idk where it even is and it's not that big deal. about terrain deformations... srsly i added boolean Deformations On/Off...
And WT* Are talking about cooldown ? Please check spell and then give comment, or read what we were talking about. It's said that it gives critical error if you spam map... ofc it would do something bad if you cast 1 spell 1000 times on same place... and it is MUI so pls if you got something good to say, say it, if you wanna flame keep it up to you. And about telling what is mui and what it isn't, have you even check triggers ?
Edit : I'm sorry if it sounds agressive...
 
Level 9
Joined
Dec 12, 2007
Messages
489
about terrain deformations... srsly i added boolean Deformations On/Off...
i said, i suggest you to remove the option for terrain deformation, not just able to turn it off. the reason is explained already.

It's said that it gives critical error if you spam map... ofc it would do something bad if you cast 1 spell 1000 times on same place...
the fact is, if you spam a spell, it will cause a massive lag and fps reduction at most, but then if your spell have nothing wrong, it would be normal again when all instances of the spell ends.
and now someone says that sometimes it gives critical error, its an indicator that something is wrong with your spell trigger. and its your job to find and fix it.

and it is MUI so pls if you got something good to say, say it, if you wanna flame keep it up to you. And about telling what is mui and what it isn't, have you even check triggers ?
yes i do have check the triggers, but the point that i want to bring is:
a MUI spells is capable of being spammed many times without large drawback.
yet you imply that:
razor21, First that spell is not created to make fatal errors!!! And it's created to be used with Cooldown!!!!!
the fact that your spell instance is limited by cooldown. means it is not fully multiinstanceable.
or in simple words, even if you set the cooldown to 0, it should still work perfectly.

if necessary, i suggest you to try some approved spells in Spells section that has been deemed to be MUI. and try spam them ingame for references.
 
Level 13
Joined
Jun 9, 2009
Messages
1,129
i already got MUI spell man. About Cooldown, i said that not because of criticals, i said that because of FPS losing. And IT DOESN'T GIVES A CRASH!!!!!!!!!!!!! maybe it gave crash because he/she razor done something wrong with him self or because of uughgh long spell casting but spell like spell would never give crash i tested it in MP... and yes it ofc gives FPS back to normal after casting, and even if you gave rapid rage at spell casting!!! and you really use that stupid for defence "razor21, First that spell is not created to make fatal errors!!! And it's created to be used with Cooldown!!!!!" :S i already answered for it
 
Level 9
Joined
Dec 12, 2007
Messages
489
About Cooldown, i said that not because of criticals, i said that because of FPS losing. And IT DOESN'T GIVES A CRASH!!!!!!!!!!!!! maybe it gave crash because he/she razor done something wrong with him self or because of uughgh long spell casting but spell like spell would never give crash i tested it in MP... and yes it ofc gives FPS back to normal after casting, and even if you gave rapid rage at spell casting!!! and you really use that stupid for defence "razor21, First that spell is not created to make fatal errors!!! And it's created to be used with Cooldown!!!!!" :S i already answered for it

hmmm i see, then i'm sorry for those argument,

[offtopic]

but then again, i would like to remind you to mind your language and words,
as from what i see from the thread, your answer cause misunderstanding to the readers and not only to me, and you only answer clearly when someone explain his point in rage and repeatedly etc.

[/offtopic]
 
Level 6
Joined
Sep 5, 2007
Messages
264
@88Warcraft3: I believe that Magtheridon96 is talking about trigger 5 (or "EQ Changeables") he is refering to the fact that trigger is firing every 0.03 seconds when you only need to fire it on map initialization (because all your settings only need to get set once, because the values don't change) then after that you only need to READ the settings not WRITE them.

Good work BTW, 4/5 (I'm definately not a fan of GUI... and it'd run a hell of alot faster being JASS only... so I can't say 5/5, sorry :sad:).
 
Top