• 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!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Spell] Yurnero's Omnislash

Status
Not open for further replies.

Kusanagi Kuro

Hosted Project: SC
Level 10
Joined
Mar 11, 2012
Messages
708
Hello everyone. I'm trying to create a version of Yurnero's Omnislash. It's like this: When my unit casted the spell on the enemy, it will rapidly strike the target, also changing its position through time. (For example 1st strike is in front of the target, 2nd strike is to the left side, etc). Unlike Omnislash, I want my spell not making my unit invulnerable and the spell will be stop if my unit is disabled (stunned, hex, even entangle or ensnare). I can do the damage part and the position part but I dont know how to make the stop part.
Oh, and also, I want each strike has animation, not just standing. (I dont know to do this part too :D)
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
Oh, and also, I want each strike has animation, not just standing. (I dont know to do this part too :D)
SetUnitX/Y + SetUnitAnimationIndex.

This will allow the unit to perform normal attack while Omnislashing (because SetUnitX/Y does not interrupt unit's order or halts it - unlike MoveUnit function).

For the animation, you can have up to 2-3 different animation for the slashing, you just need to find the index and randomize the animation per slash, that would look it slashing not just one animation.

For the stopping part, hmm...

I'm thinking performing a buff check, but that will take many buff check considering if your game is like DotA.

Use OR condition for each of the debuff and stop the caster if it has at least one debuff on it (such as Hex).

(For example 1st strike is in front of the target, 2nd strike is to the left side, etc)
Use Random Angle function.

  • Unit - Move (Triggering unit) instantly to ((Position of (Target unit of ability being cast)) offset by 50.00 towards (Random angle) degrees)
Just an example - remember, use SetUnitX/Y, not this.
 
SetUnitX/Y(which unit, blah blah)
IDK if it's the same as Offset Projection but it sets the location of the unit.

SetUnitAnimationIndex(which Unit, which index)

This sets the animation index example index 1 is stand index 2 is attack.. You will have to guess or open it via the model editor to see in the sequence manager.
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
Here's an example of it.

@Wrathion
Don't guess them, try them ! (uploaded a test map for SetUnitAnimationByIndex).

@hayaku
If you were wondering what are the Animation[1~3] meant, it's their animation index in which the caster slash.
2, 3 and 8 are the index and at each iteration, you randomize it.
 

Attachments

  • Omnislash.w3x
    13.6 KB · Views: 212
  • SetUnitAnimationByIndex (1).w3x
    13.5 KB · Views: 264
Status
Not open for further replies.
Top