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

Stone Glaze v1.1

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Stone Glaze v1.1
Created by x3GlikE
Stone Glaze

32px-Spell_holy_holybolt.png
With all his might the Paladin uses all his engery to slow every other unit around him.

500 AoE. Slow lasts 5 seconds on heros 10 on units.
Cooldown - ( 180 Seconds ).

P.S I know this spell is very simple but hey this is my first spell I ever made that is MUI and first I uploaded everyone's gotta start somewhere.


193455-albums4270-picture40446.png

193455-albums4270-picture40445.png

193455-albums4270-picture40444.png

193455-albums4270-picture40443.png

193455-albums4270-picture40442.png

193455-albums4270-picture40442.png

193455-albums4270-picture40442.png


v1.0 First Release.

v1.1
*Fixed all known leaks to me.
*Dummy unit doesn't give shadow away any more.


Keywords:
Stone Glaze x3GlikE
Contents

Stone Glazev1.1 (Map)

Reviews
12.12 IcemanBo: For long time as NeedsFix. Rejected. Bribe: Judging by the script all this does is create a simple group-pick after 0.02 seconds. Why even have any time delay at all? Try to take advantage of the bj_wantDestroyGroup custom...

Moderator

M

Moderator

12.12
IcemanBo: For long time as NeedsFix. Rejected.

Bribe:

Judging by the script all this does is create a simple group-pick after 0.02 seconds. Why even have any time delay at all?

Try to take advantage of the bj_wantDestroyGroup custom script instead of the group set/pick/destroy, it's a lot more efficient.

The structure here is quite bad. You create a bunch of the same effect and attach them all to one dummy unit.

If you intend to make this a repeating-effect, 0.03 is the best timer in GUI.

## Needs fix ##
 
I've just got to say, that this is rather too simple.
Yes, the idea is good, but more effects should be added, like an increase to armor and healing for friendly units, or also a stun.
Stone Glaze is the name, let them turn into stone for a while, like let a dummy cast Storm Bolt with no missile projectile and change the Stun buff effect into a gray-colored Frost Nova effect.

Please show the code in the description.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Change the hotkey, S is for Stop.
The ability's animation is spell slam, but the unit does not have that animation.
You don't need to have a looping trigger.
The looping trigger leaks a unit group and locations.
Don't create dummies for structures.
You could create the dummy for neutral passive. Now it gives vision.
Use "starts the effect of an ability". With "begins casting", it can be abused by presing stop. No mana cost and cooldown.
It's too simple.

I think you should try to create a couple more spells, maybe ask for comments and help in the Triggers and scripts section before uploading the next spell ;)
 
Level 8
Joined
Jun 30, 2010
Messages
259
Yes you can. Just depends on when you want to make things happen. Stops casting requires the casting to be aborted with some other order for example.

OR you could just use the Channel spell and set a "Follow Through Time" to 1 second. This gives it a very short, almost unnotifiable casting time (due to the fact that almost all spells uses this casting time, for example, Shockwave is not instant, neither is Holy Light, and almost all other spells) and it also makes you unable to stop the spell from casting, since you are unable to take any action for 1 second, that is, if you have checked that field value.
 
Level 9
Joined
Dec 3, 2010
Messages
162
OR you could just use the Channel spell and set a "Follow Through Time" to 1 second. This gives it a very short, almost unnotifiable casting time (due to the fact that almost all spells uses this casting time, for example, Shockwave is not instant, neither is Holy Light, and almost all other spells) and it also makes you unable to stop the spell from casting, since you are unable to take any action for 1 second, that is, if you have checked that field value.

But that's all solved by the simple "Starts the effect of an ability" event. Why would you go through the hassle just to achieve the same result.

Now, on to the comments on the coding.

Firstly, leaks.

  • Set SG_Group = (Units within SG_AoE of (Position of SG_Dummy[SG_Time]) matching ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SG_Dummy[SG_Time])) Equal to True)))
Should be:

  • Set TempPoint = (Position of SG_Dummy[SG_Time])
  • Set SG_Group = (Units within SG_AoE of TempPoint matching ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SG_Dummy[SG_Time])) Equal to True)))
  • Unit Group - Pick every unit in SG_Group and do (Actions)
    • Loop - Actions
      • Set SG_Loc[1] = (Position of (Picked unit))
      • ...
You're not removing the location variable SG_Loc[1] in the loop. Should be:

  • Unit Group - Pick every unit in SG_Group and do (Actions)
    • Loop - Actions
      • Set SG_Loc[1] = (Position of (Picked unit))
      • ...
      • Custom script: call RemoveLocation ( udg_SG_Loc[1] )
Secondly, you could use a single dummy unit to cast for the whole unit group. The requirement is that the Cast Point, Cast Backswing and Movement speed must be 0. Thus:

  • Unit - Create 1 Dummy for (Owner of SG_Dummy[1]) at SG_Loc[SG_Time] facing Default building facing degrees
  • Set TempUnit = (Last created unit)
  • Unit Group - Pick every unit in SG_Group and do (Actions)
    • Loop - Actions
      • Set SG_Loc[1] = (Position of (Picked unit))
      • Unit - Order TempUnit to Human Sorceress - Slow (Picked unit)
      • Special Effect - Create a special effect attached to the chest of SG_Dummy[SG_Time] using Abilities\Spells\Orc\EtherealForm\SpiritWalkerChange.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation ( udg_SG_Loc[1] )
  • Unit - Remove TempUnit from the game
Thirdly, why do you even need the periodic trigger? You could just do:

  • SGCast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Stone Glaze
    • Actions
      • Set SG_AoE = 500.00
      • Set Temp_Point = (Position of (Triggering unit))
      • Set SG_Group = (Units within SG_AoE of Temp_Point matching ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True)))
      • Unit Group - Pick every unit in SG_Group and do (Actions)
        • Loop - Actions
          • Set SG_Loc[1] = (Position of (Picked unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at SG_Loc[1] facing Default building facing degrees
          • Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)
          • Unit - Add a 0.15 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation ( udg_SG_Loc[1] )
      • Custom script: call DestroyGroup( udg_SG_Group )
      • Custom script: call RemoveLocation(udg_Temp_Point)
 
Last edited:
Level 8
Joined
Jun 30, 2010
Messages
259
But that's all solved by the simple "Starts the effect of an ability" event. Why would you go through the hassle just to achieve the same result.

Basing the spell off of the Channel ability the first thing you do when you make the spell is in my opinion the way of achieving the best result.
Changing the Event also works, but that would ruin some of the good parts of basing it off of Channel.

Pros:
Basing it off of Channel makes you able to withstand all the Event bugs, and you can add casting timers, follow throught time, and other special stuff.
Cons:
Doing it this way may however look terrible in game, since all your abilitys are removed for a short duration.
This can be removed by unchecking the box "Disable other Abilitys" but this might require you to increase the Follow throught Time or add the event instead.

I believe it is all a matter of what you prefer, and, since the maker of this spell obviously did not base it off of Channel, well, then sure you can just change the Event.
Since this is mainly just a reminder of another way you can make a spell, should you want to create another one.
 
Level 9
Joined
Dec 3, 2010
Messages
162
Basing the spell off of the Channel ability the first thing you do when you make the spell is in my opinion the way of achieving the best result.
Changing the Event also works, but that would ruin some of the good parts of basing it off of Channel.

Pros:
Basing it off of Channel makes you able to withstand all the Event bugs, and you can add casting timers, follow throught time, and other special stuff.
Cons:
Doing it this way may however look terrible in game, since all your abilitys are removed for a short duration.
This can be removed by unchecking the box "Disable other Abilitys" but this might require you to increase the Follow throught Time or add the event instead.

I believe it is all a matter of what you prefer, and, since the maker of this spell obviously did not base it off of Channel, well, then sure you can just change the Event.
Since this is mainly just a reminder of another way you can make a spell, should you want to create another one.

I don't really understand what you mean by Event bugs? What bug does the event "Starts the effect of an ability" have? Plus, "Begins casting an ability" had the intended effect of running the trigger even before the unit actually cast the ability. So, can't really say it's a bug.

Other spells can have casting time, not just channel. Follow through time is useful though, as you can use it for channeling spells. However, other spells also have Follow Through time, spells such as Blizzard.
 
Level 8
Joined
Jun 30, 2010
Messages
259
I don't really understand what you mean by Event bugs? What bug does the event "Starts the effect of an ability" have? Plus, "Begins casting an ability" had the intended effect of running the trigger even before the unit actually cast the ability. So, can't really say it's a bug.

Other spells can have casting time, not just channel. Follow through time is useful though, as you can use it for channeling spells. However, other spells also have Follow Through time, spells such as Blizzard.

It is not really a bug, its more of a leak, since you can use the stop ability to make the spell trigger without triggering the mana cost and cooldown.
Therefore you might have to use the "Finishes casting an ability" in order for the spell to work.

Yes, I know that other spells have casting time. I mentioned it in my first post. That was why I said that I prefered to use a 1 second Follow through time on Channel in order to create a nice spell.
 
Level 9
Joined
Dec 3, 2010
Messages
162
It is not really a bug, its more of a leak, since you can use the stop ability to make the spell trigger without triggering the mana cost and cooldown.
Therefore you might have to use the "Finishes casting an ability" in order for the spell to work.

Yes, I know that other spells have casting time. I mentioned it in my first post. That was why I said that I prefered to use a 1 second Follow through time on Channel in order to create a nice spell.

All you have to do is to use "Starts the effect of an ability", not "Finishes casting an ability". "Starts the effect of an ability" fires when the mana is deducted and the caster actually casts the spell.

Only problem with using follow through time is that it consumes mana and makes the spell go in cooldown. Casting time does not do that, and you can cancel the spell from being actually cast too. Thus, using that method doesn't really replicate "Cast Time" perfectly.
 
Level 8
Joined
Jun 30, 2010
Messages
259
All you have to do is to use "Starts the effect of an ability", not "Finishes casting an ability". "Starts the effect of an ability" fires when the mana is deducted and the caster actually casts the spell.

Only problem with using follow through time is that it consumes mana and makes the spell go in cooldown. Casting time does not do that, and you can cancel the spell from being actually cast too. Thus, using that method doesn't really replicate "Cast Time" perfectly.

Wrong. Using "Starts the effect of ability" causes the spell to be cancel-able before the spell is actually cast.
 
Level 9
Joined
Dec 3, 2010
Messages
162
Wrong. Using "Starts the effect of ability" causes the spell to be cancel-able before the spell is actually cast.

Nope. That's begins casting an ability. If you use Begins casting an ability, the trigger will fire even though you spam stop right before the caster actually casts. As for Starts an effect of an ability, the trigger will only fire when the mana is actually deducted. Yes, it can still be canceled, if your caster's Cast Backswing and Cast Point is high enough. However, the trigger actions will not fire in the event if you stop the hero from actually casting the ability, that is for Starts the effect of an ability. Thus, there won't be any situation where the spell trigger will fire incorrectly.
 
Starts the effect of an ability + Channel = best thing...

@Laserdude - that's why we use Starts the effect, ( so that if you cancel the cast, the spell trigger wont fire ), coz a spell which would still fire even if you cancel casting is an OVERPOWERED spell...

follow through time is just the time that the unit uses to play the spell animation repeatedly when casting, unless you stop him or the FTT ends... its used when making channeling spells based on Channel...

and using follow through + disable other abilities is not that much desirable....


Can someone post triggers?

anyway, the idea is too simple and could be done using just Thunder Clap, maybe add some things that cannot be done using Thunder clap, else I vote for rejection...
 
Top