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!
I was looking around the spell section and I couldn't find either an approved or working Omnislash. I needed one so here you go. Should be fully MUI and hopefully leak-less.
The Hero warps around the battlefield slashing enemy units and damaging them.
Level 1 - 5 Slashes, 75 Damage
Level 2 - 8 Slashes, 150 Damage
Level 3 - 11 Slashes, 225 Damage
Special thanks to Mantis Style for the ideas.
v1.00b
-> Fixed Hotkey v1.20
-> Target unit is now slashed first.
-> Added some vertex coloring and transparency.
-> Changed animation speed for smooth strikes.
-> Caster now moves in random angles when slashing, specifically single-targets.
-> Fixed the critter bug. v1.30
-> Fixed slashing numbers. It now hits the correct amount of times.
-> Removed annoying comment stripes, kept explanatory comments.
-> Reworked the entire indexing, now it uses Dynamic Index Rycycling [DIR] v1.30b
-> Fixed the death bug. v1.40
-> Now only recycles after spell is done.
-> Change transparency slightly.
Omnislash
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Omnislash
Actions
-------- Indexing Start --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MUI_1 Equal to 0
Then - Actions
-------- If there are currently no instances running, we turn on the loop. --------
Trigger - Turn on Omnislash Loop <gen>
Else - Actions
-------- Increase the indexes --------
Set MUI_1 = (MUI_1 + 1)
-------- End of Indexing --------
-------- Start of Dynamic Indexing --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MUI_1 Greater than Max_Index
Then - Actions
-------- Indexing ~~ --------
Set MUI_2[MUI_1] = MUI_1
Set Max_Index = MUI_1
Else - Actions
-------- End of Dynamic Indexing --------
-------- Makes it easier to read and cleaner. --------
Set Temp = MUI_2[MUI_1]
-------- The MUI boolean --------
-------- Setting The Caster --------
Set CL_Caster[Temp] = (Triggering unit)
-------- Setting the Player --------
Set CL_Player[Temp] = (Owner of (Triggering unit))
-------- Setting the Targeted unit --------
Set CL_Target[Temp] = (Target unit of ability being cast)
-------- Setting the ability level for the caster --------
Set CL_AbilityLevel[Temp] = (Level of Omnislash for (Triggering unit))
-------- ***Here you can change the number of slashes*** --------
Set CL_Slashes[Temp] = (2 + (3 x CL_AbilityLevel[Temp]))
-------- ***Here you can change the damage dealt*** --------
Set CL_Damage[Temp] = (75 x CL_AbilityLevel[Temp])
-------- ***Here you can change the AOE in which the hero teleports*** --------
Set CL_AOE[Temp] = 800.00
-------- ***Here you can change the effect on the weapon of the hero*** --------
Special Effect - Create a special effect attached to the weapon of CL_Caster[Temp] using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
-------- This is used to count the slashes --------
Set CL_Count[Temp] = 0
-------- *** Change this to "False" if you dont want the targeted unit to get slashed first, instead a random unit near him. --------
Set CL_FirstTarget[Temp] = True
-------- Storing the effect --------
Set CL_Special[Temp] = (Last created special effect)
-------- Pausing the Caster --------
Unit - Pause CL_Caster[Temp]
-------- Adding some vertex coloring and transparency (fade). --------
Animation - Change CL_Caster[Temp]'s vertex coloring to (40.00%, 40.00%, 40.00%) with 40.00% transparency
-------- Changes animation speed for smooth slashing. --------
Animation - Change CL_Caster[Temp]'s animation speed to 200.00% of its original speed
For each (Integer MUI_3) from 1 to MUI_1, do (Actions)
Loop - Actions
-------- Makes it easier to read and cleaner. --------
Set Temp = MUI_2[MUI_3]
-------- Counting the number of slashes --------
Set CL_Count[Temp] = (CL_Count[Temp] + 1)
-------- Setting loc to prevent leak --------
Set CL_Loc[1] = (Position of CL_Target[Temp])
-------- Setting the group in which the hero warps --------
Set CL_Group[1] = (Units within CL_AOE[Temp] of CL_Loc[1] matching ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of CL_Player[Temp]) Equal to True))))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CL_FirstTarget[Temp] Equal to True
Then - Actions
-------- Moving hero to target --------
Unit - Move CL_Caster[Temp] instantly to CL_Loc[1]
-------- Making the hero face the target --------
Unit - Make CL_Caster[Temp] face CL_Loc[1] over 0.00 seconds
-------- Damaging the target --------
Unit - Cause CL_Caster[Temp] to damage CL_Target[Temp], dealing (Real(CL_Damage[Temp])) damage of attack type Normal and damage type Normal
-------- Attack animation for eye candy --------
Animation - Play CL_Caster[Temp]'s attack animation
-------- The "Blink" effect. You may change this. --------
Special Effect - Create a special effect attached to the origin of CL_Caster[Temp] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
Special Effect - Destroy (Last created special effect)
-------- Setting the boolean to false else the target will get hit the whole time. --------
Set CL_FirstTarget[Temp] = False
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(CL_Caster[Temp] is alive) Equal to True
CL_Count[Temp] Less than or equal to CL_Slashes[Temp]
(Number of units in CL_Group[1]) Greater than 0
Then - Actions
-------- Setting the next target of the hero --------
Set CL_Victim[Temp] = (Random unit from CL_Group[1])
-------- Setting the loc of the target to prevent leak --------
Set CL_Loc[2] = (Position of CL_Victim[Temp])
Set CL_Loc[3] = (CL_Loc[2] offset by 50.00 towards (Random angle) degrees)
-------- Moving hero to target --------
Unit - Move CL_Caster[Temp] instantly to CL_Loc[3]
-------- Making the hero face the target --------
Unit - Make CL_Caster[Temp] face CL_Loc[2] over 0.00 seconds
-------- Damaging the target --------
Unit - Cause CL_Caster[Temp] to damage CL_Victim[Temp], dealing (Real(CL_Damage[Temp])) damage of attack type Normal and damage type Normal
-------- Attack animation for eye candy --------
Animation - Play CL_Caster[Temp]'s attack animation
-------- The "Blink" effect. You may change this. --------
Special Effect - Create a special effect attached to the origin of CL_Caster[Temp] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
Special Effect - Destroy (Last created special effect)
15:22, 26th Mar 2010
The_Reborn_Devil:
Lol, another Omnislash spell. I swear this is the last omnislash spell I will review unless the next one is really awesome and highly customizable.
The triggering looks ok, but I noticed that in many...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.