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

Grand Slash

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Here's the trigger

  • Grand Slash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Grand Slash
    • Actions
      • Custom script: local location eloc
      • Set index = (index + 1)
      • Set enemy[index] = (Target unit of ability being cast)
      • Set eloc = (Position of enemy[index])
      • Unit - Add Storm Crow Form to (Casting unit)
      • Animation - Change (Casting unit) flying height to 450.00 at 35.00
      • Animation - Change (Casting unit)'s animation speed to 30.00% of its original speed
      • Unit - Pause (Triggering unit)
      • Unit - Pause enemy[index]
      • Animation - Player (Triggering unit)'s Attack Slam animation
      • Unit - Remove Storm Crow Form From caster
      • Wait 2.00 seconds
      • Special Effect - Create a special effect attached to the chest of caster using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Move (Triggering unit) instantly to eloc
      • Animation - Change (Triggering unit) flying height to 0.00 at 1000.00
      • Wait 0.20 seconds
      • Special Effect - Create a special effect attached to the chest of enemy[index] using Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Make caster Vulnerable
      • Unit - Unpause (Triggering unit)
      • Unit - Unpause enemy[index]
      • Animation - Change (Triggering unit)'s animation speed to 100.00% of its original speed
      • Wait 0.20 seconds
      • Unit - Cause caster to damage enemy, dealing (75.00 x (Real((Hero level of (Triggering unit))))) damage of attack type Hero and damage type Normal
      • Set index = (index - 1)
      • Custom script: call RemoveLocation(udg_eloc)
The hero jumps into the air and teleports to the target dealing 500 damage and causing the target's soul to deform
feel free to edit it

Thanks to defskull and Maker for the advice
Specially to Vehster for fixing it

Keywords:
Slash, Killing, Deadly, Teleporting
Contents

Grand Slash (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. Bribe: - Use (Triggering unit) not (Casting unit) - Waits make it not MUI. The local variable you created in custom script doesn't do anything. You need to prefix it with udg_ if you...

Moderator

M

Moderator

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

Bribe:

- Use (Triggering unit) not (Casting unit)
- Waits make it not MUI. The local variable you created in custom script doesn't do anything. You need to prefix it with udg_ if you want to try to make it work.
- I suggest learning how to index your spells to operate on timers instead of waits
- There are some leaks just because of the waits.

Needs a lot of work. I advise still asking for help in the Triggers & Scripts forum until you get this right.
 
Level 12
Joined
Apr 16, 2010
Messages
584
think i saw this in Triggers and Scripts forum=) You should write credits who helped you - Maker.
But okay lets go to spell
Review

-you use waits, which makes it non-MUI. MUI means multiple units can cast same spell at the same time without causing any bugs. Here's a [self="http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/multi-instancible-gui-spell-making-34393/"]tutorial[/self] to help with MUI;
-when you change the caster's height change it at 0.00;
-instead of Casting Unit use Triggering Unit;
-you make caster invulnerable - bad.
You cleared leaks, good job)
So the spell needs to be fixed
 
Level 7
Joined
Apr 11, 2011
Messages
173
It is quite easy to index this one...

Never use waits unless your using a local variable/triggering unit bebem.

Waits do not make it non-MUI stanley....
Why is it bad to make a floating paused unit invulnerable?

In the tutorial you posted, even it used waits.....

For example;

Event - Unit casts spell.
Condition - ability equal to spell.
Actions -
Give +1337 armor bonus/ability to triggering unit.
Wait any number of seconds ( 25 ).
Remove +1337 armor bonus/ability from triggering unit.
 
Last edited:
Level 12
Joined
Apr 16, 2010
Messages
584
You do something, you jump :p Nah still. And it would be better too. Ex: same things with channel abilities: when you channel and someone hits you or stuns you e.t.c So you see that making him inv aint fun? =)
[on topic]You should also store the damage into variable and make to support multiple levels.
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
These locals and simple custom script can make it MUI...


  • Grand Slash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Grand Slash
    • Actions
      • Custom script: local unit udg_caster = GetTriggerUnit()
      • Custom script: local unit udg_enemy = GetSpellTargetUnit()
      • Custom script: local location udg_caster_loc = GetUnitLoc(udg_caster)
      • Custom script: local location udg_enemy_loc = GetUnitLoc(udg_enemy)
      • Unit - Add Storm Crow Form to caster
      • Animation - Change caster flying height to 999999.00 at 400.00
      • Animation - Change caster's animation speed to 30.00% of its original speed
      • Unit - Pause caster
      • Unit - Pause enemy
      • Unit - Make caster Invulnerable
      • Unit - Remove Storm Crow Form from caster
      • Wait 2.00 seconds
      • Custom script: call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", udg_enemy, "chest"))
      • Unit - Move caster instantly to enemy_loc
      • Animation - Change caster flying height to 0.00 at 1000.00
      • Wait 0.20 seconds
      • Animation - Play caster's Attack animation
      • Custom script: call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", udg_enemy, "chest"))
      • Unit - Make caster Vulnerable
      • Unit - Unpause caster
      • Unit - Unpause enemy
      • Animation - Change caster's animation speed to 100.00% of its original speed
      • Wait 0.20 seconds
      • Unit - Cause caster to damage enemy, dealing 500.00 damage of attack type Hero and damage type Normal
      • Custom script: call RemoveLocation (udg_caster_loc)
      • Custom script: call RemoveLocation (udg_enemy_loc)
      • Custom script: set udg_caster = null
      • Custom script: set udg_enemy = null
      • Custom script: set udg_caster_loc = null
      • Custom script: set udg_enemy_loc = null


But it's not advisable to use the prefix "udg_" when creating locals for the exception with this case which uses globals...
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
You shouldn't do it that way because it shouldn't work and it seems to be a bad way for MUI, you always need the prefix for shadowing locals with globals do you not?

Here is your spell fixed and made better as well now is MUI.

LOL!, why dont you test it?...local variables cannot interfere with each others unlike globals...I already tested it and it's working...so no matter how long the wait is, it's still MUI...

The prefix "udg" is a MUST in "this case" coz he's using GUI reffering to the caster and enemy...GUI cant call locals except for custom scripts...He might as well use ALL in custom scripts to avoid the "udg" prefix...

This spell is too simple to be indexed...
 
Level 2
Joined
Sep 30, 2008
Messages
13
You shouldn't do it that way because it shouldn't work and it seems to be a bad way for MUI, you always need the prefix for shadowing locals with globals do you not?

Here is your spell fixed and made better as well now is MUI.

it cause the enemy's movement speed to slow down permanently :wink::fp::ogre_icwydt:

One Question. What does the variable Index do???
 
Last edited:
Level 29
Joined
Mar 10, 2009
Messages
5,016
wait is fine if you used them correctly but a good spell has ZERO WAITS, my example to is just to show you how to make your spell MUI in a very simple way...

@Vehster

I just looked up your sample map and I must say your indexing is horrible, you should initialize the index in the Grand Slash trigger and make another trigger for the loop...indexing can consists of 2 or more not less...

In conclusion, your sample spell still NOT MUI...
 
Level 12
Joined
Dec 17, 2009
Messages
951
im NOT a pro trigger, but if you used a loop trigger using every xx seconds and for every x do actions
something like that, thats what i see into some MUI spells to evade waits :)
 
Top