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

the Stop! Spell > HELP!

Status
Not open for further replies.
Level 10
Joined
Aug 17, 2004
Messages
835
This is a very noob question to all of you experenced spell makers out there:
I am tryng to make a spell called Stop! and what it does is when you cast it on an enemy the enemy stops completly, and cannot attack, but only cast spells, it can also only be attacked by magic.
So i tried to modify the banish spell except i cannot stop it completly, can anyone help me do this?h
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Hmm, not a perfect solution would be to play with the gameplay constants and modify the Unit - Maximum Minimum Speed. Change this one to 0 and then set banish reducing movement speed to maximum.

Another solution would be to have another unit cast entagling roots so it can keep the unit still. But unfortunately in this way, you MIGHT have two buffs (not sure), and if a spellbreaker tries to steal the buff, it will steal only the banish one. So I still go for the first one, though I hate messing with the gameplay constants.

~Daelin
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Go into your map at Advanced - Gameplay Constants, check the "Use Custom Gameplay Constants" box and then search for Movement - Unit Speed - Minimum. Change its value to 0 and voila, you've done it! Unfortunately this might cause a stacking of Cripple with Slow and maybe even Banish to stop an unit entirely, instead of just slowing it. So this method indeed has some disadvantages.

//***************************************************

Another method I've just thought at would be to remove the ability of the unit to move. This can be done through the custom script

call UnitRemoveAbilityBJ('Amov', udg_var)
.

Note that the var must be replaced with the variable name to which you will assign the Target Unit of Ability Being Cast. And now, once the unit has the buff and you want to allow it to move once again, add the ability through thsi script.

call UnitAddAbilityBJ('Amov', udg_var )

Again, var is the name of the variable to which you have assigned the targeted unit. This version seems to be even better thant he gameplay constants one since it doesn't affect other spells' effect.

~Daelin
 
Status
Not open for further replies.
Top