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

Rapid Slash v1.1

  • Like
Reactions: Oljin
[TD] Rapid Slash [/TD]
Move to targeted unit, slashing the target rapidly and dealing damage each slash.

LEVELS
Level 1: 5 slashes, 15 damage.
Level 2: 6 slashes, 20 damage.
Level 3: 7 slashes, 25 damage.

[TD] SAMPLE IMAGES [/TD]

Sample One

Sample Two

216436-albums5926-picture62773.jpg

216436-albums5926-picture62774.jpg


[TD] CHANGELOGS: [/TD]
[TD]v1.0 - Initial Release
v1.1 - Added some configuration and scripts
[/TD]

[TD] Credits: [/TD]
[TD]- doomhammer99
- Hanky
[/TD]

RS Configuration

RS Cast

RS Loop

  • Events
    • Map initialization
  • Conditions
  • Actions
    • -------- CONFIGURABLE --------
    • -------- set the damage each slash --------
    • Set RS_Damage[1] = 15.00
    • Set RS_Damage[2] = 20.00
    • Set RS_Damage[3] = 25.00
    • -------- set the number of slash --------
    • Set RS_Slashes[1] = 5
    • Set RS_Slashes[2] = 6
    • Set RS_Slashes[3] = 7
    • -------- set the animation speed when slashing --------
    • Set RS_Animation_Speed = 100.00
    • -------- set the transparency when slashing --------
    • Set RS_Transparency = 50.00
    • -------- set the effect to weapon when slashing --------
    • Set RS_Effect[1] = Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
    • -------- set the moving\teleport effect --------
    • Set RS_Effect[2] = Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
    • -------- set the effect to target --------
    • Set RS_Effect[3] = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
    • -------- set the attack type --------
    • Set RS_Attack_Type = Normal
    • -------- set the damage type --------
    • Set RS_Damage_Type = Normal
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to Rapid Slash
  • Actions
    • Trigger - Run RS Configuration <gen> (ignoring conditions)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • RS_Index_Size Equal to 0
      • Then - Actions
        • Trigger - Turn on RS Loop <gen>
      • Else - Actions
    • Set RS_Index_Size = (RS_Index_Size + 1)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • RS_Index_Size Greater than RS_Max_Index
      • Then - Actions
        • Set RS_Index[RS_Index_Size] = RS_Index_Size
        • Set RS_Max_Index = RS_Index_Size
      • Else - Actions
    • Set RS_Current_Index = RS_Index[RS_Index_Size]
    • Set RS_Caster[RS_Current_Index] = (Triggering unit)
    • Set RS_Target[RS_Current_Index] = (Target unit of ability being cast)
    • Set RS_Level = (Level of (Ability being cast) for RS_Caster[RS_Current_Index])
    • Set RS_Damage[RS_Current_Index] = RS_Damage[RS_Level]
    • Set RS_Slashes[RS_Current_Index] = RS_Slashes[RS_Level]
    • Unit - Pause RS_Caster[RS_Current_Index]
    • Unit - Turn collision for RS_Caster[RS_Current_Index] Off
    • Special Effect - Create a special effect attached to the weapon of RS_Caster[RS_Current_Index] using RS_Effect[1]
    • Set RS_Weapon_Effect[RS_Current_Index] = (Last created special effect)
    • Custom script: if UnitAddAbility(udg_RS_Caster[udg_RS_Current_Index], 'Amrf') and UnitRemoveAbility(udg_RS_Caster[udg_RS_Current_Index], 'Amrf') then
    • Custom script: endif
    • Animation - Change RS_Caster[RS_Current_Index] flying height to (Current flying height of RS_Target[RS_Current_Index]) at 0.00
    • Animation - Change RS_Caster[RS_Current_Index]'s animation speed to RS_Animation_Speed% of its original speed
    • Animation - Change RS_Caster[RS_Current_Index]'s vertex coloring to (100.00%, 100.00%, 100.00%) with RS_Transparency% transparency
  • Events
    • Time - Every 0.20 seconds of game time
  • Conditions
  • Actions
    • For each (Integer RS_Loop) from 1 to RS_Index_Size, do (Actions)
      • Loop - Actions
        • Set RS_Current_Index = RS_Index[RS_Loop]
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • And - All (Conditions) are true
              • Conditions
                • (RS_Caster[RS_Current_Index] is alive) Equal to True
                • (RS_Target[RS_Current_Index] is alive) Equal to True
                • RS_Slashes[RS_Current_Index] Greater than 0
          • Then - Actions
            • Set Temp_Point = (Position of RS_Target[RS_Current_Index])
            • Set Temp_Point2 = (Temp_Point offset by 100.00 towards (Random angle) degrees)
            • Animation - Change RS_Caster[RS_Current_Index] flying height to (Current flying height of RS_Target[RS_Current_Index]) at 0.00
            • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_RS_Effect[2], udg_RS_Caster[udg_RS_Current_Index], "chest"))
            • Unit - Move RS_Caster[RS_Current_Index] instantly to Temp_Point2, facing Temp_Point
            • Animation - Play RS_Caster[RS_Current_Index]'s attack animation
            • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_RS_Effect[3], udg_RS_Target[udg_RS_Current_Index], "chest"))
            • Unit - Cause RS_Caster[RS_Current_Index] to damage RS_Target[RS_Current_Index], dealing RS_Damage[RS_Current_Index] damage of attack type RS_Attack_Type and damage type RS_Damage_Type
            • Set RS_Slashes[RS_Current_Index] = (RS_Slashes[RS_Current_Index] - 1)
            • Custom script: call RemoveLocation(udg_Temp_Point)
            • Custom script: call RemoveLocation(udg_Temp_Point2)
          • Else - Actions
            • Special Effect - Destroy RS_Weapon_Effect[RS_Current_Index]
            • Animation - Change RS_Caster[RS_Current_Index]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
            • Animation - Change RS_Caster[RS_Current_Index] flying height to 0.00 at 0.00
            • Animation - Change RS_Caster[RS_Current_Index]'s animation speed to 100.00% of its original speed
            • Unit - Turn collision for RS_Caster[RS_Current_Index] On
            • Unit - Unpause RS_Caster[RS_Current_Index]
            • Set RS_Index[RS_Loop] = RS_Index[RS_Index_Size]
            • Set RS_Index[RS_Index_Size] = RS_Current_Index
            • Set RS_Index_Size = (RS_Index_Size - 1)
            • Set RS_Loop = (RS_Loop - 1)
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • RS_Index_Size Equal to 0
              • Then - Actions
                • Trigger - Turn off (This trigger)
                • Skip remaining actions
              • Else - Actions

Keywords:
Slash, Fast, Move, Shadow, Lightning.
Contents

Rapid Slash v1.1 (Map)

Reviews
13:28, 15th Nov 2012 Magtheridon96: Approved. Well done, it's short, sweet and clean ^_^ You can totally get rid of this line at the top of the cast trigger: Trigger - Run RS Configuration <gen> (ignoring conditions) The trigger runs on map...

Moderator

M

Moderator

13:28, 15th Nov 2012
Magtheridon96: Approved.
Well done, it's short, sweet and clean ^_^

You can totally get rid of this line at the top of the cast trigger:
Trigger - Run RS Configuration <gen> (ignoring conditions)
The trigger runs on map initialization, so you don't need to run it again :p
 
Level 13
Joined
Mar 29, 2012
Messages
530
.....

The Spell isn't totally MUI
(If I am Right)


This is the Add and Remove Crow From
  • Custom script: if UnitAddAbility(udg_Unit, 'Amrf') and UnitRemoveAbility(udg_Unit, 'Amrf') then
  • Custom script: endif
This is the Add and Destroy Effect
  • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_SFXModel, udg_TargetUnit, udg_Attachment or 'origin'))


change 1000000000.00 to 0.00
  • Configuration
  • Events
    • Map Initialization
  • Conditions
  • Actions
    • set AnimationSpeed = 300.00
    • set Size = 100.00
    • set Transparency = 50.00
  • Animation - Change RS_Caster[RS_Current_Index] flying height to (Current flying height of RS_Target[RS_Current_Index]) at 0.00
  • Animation - Change RS_Caster[RS_Current_Index]'s animation speed to 300.00% of its original speed
  • Animation - Change RS_Caster[RS_Current_Index]'s vertex coloring to (Size%, 0.00%, 0.00%) with Transparency% transparency

Done...except the 'Size', maybe I'll try using Fade System

Please, take a look again with how real indexer/indexing should be done. Everything done as the caster starts the effect of the ability should be recycled. Testing, though.
Done...maybe...:grin: is this what you mean ?:grin:

Also, try my Spell Description Templates, For Better and Readable Description.. :D
Thanks for the templates and scripts:grin:
 
Last edited:
Top