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

Adrenaline Rush v. 1.4 [Special Edition]

  • Like
Reactions: Vladadamm
Hello THW. This spell is made for you to use. Hopes you like it. The spell is fully MUI, leakless, lagless.

Adrenaline Rush
The hero pumps out alot of adrenaline throught the body, allowing her to spin in a speed that is almost unable to see, rushing forward to the targeted location for 1200 range. Damages for 70/100/130/160 damage in an Area of 250

  • AR Preload
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Setting up the damage for the spell --------
      • For each (Integer AR_PreLoop) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set AR_Damage[AR_PreLoop] = (40.00 + (30.00 x (Real(AR_PreLoop))))
  • AR Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Adrenaline Rush
    • Actions
      • -------- Setting up some important variables. Also, preparing the unit for the Effect. --------
      • -------- Here i fix the whole spell MUI (Multi-Unit Instanceability) --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AR_Index Equal to 0
        • Then - Actions
          • Trigger - Turn on AR Loop <gen>
          • Trigger - Turn on AR AnimLoop <gen>
        • Else - Actions
      • Set AR_Index = (AR_Index + 1)
      • Set AR_MUI = (AR_MUI + 1)
      • Set AR_Boolean[AR_MUI] = True
      • -------- Adding the Caster, Casters Location, The targeted point where the spell been casted and the Distance between the caster and the Targeted Point to VARIABLES. --------
      • Set AR_Cstr[AR_MUI] = (Triggering unit)
      • Set AR_CstrPos[AR_MUI] = (Position of AR_Cstr[AR_MUI])
      • Set AR_TPOABC[AR_MUI] = (Target point of ability being cast)
      • Set AR_DisCalc1[AR_MUI] = (Distance between AR_CstrPos[AR_MUI] and AR_TPOABC[AR_MUI])
      • -------- Creating some nice SFX on the unit. --------
      • Special Effect - Create a special effect attached to the hand, left of AR_Cstr[AR_MUI] using Abilities\Spells\Undead\DevourMagic\DevourMagicBirthMissile.mdl
      • Set AR_SFX1[AR_MUI] = (Last created special effect)
      • -------- Clearing a Leak... --------
      • Custom script: call RemoveLocation (udg_AR_CstrPos[udg_AR_MUI])
      • -------- Turning the Collision off and Pausing the unit for easier work. --------
      • Unit - Turn collision for AR_Cstr[AR_MUI] Off
      • Unit - Pause (Triggering unit)
      • -------- Making the Animation 300% faster than normal. --------
      • Animation - Change AR_Cstr[AR_MUI]'s animation speed to 250.00% of its original speed
  • AR Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer AR_Loop) from 1 to AR_MUI, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • AR_Boolean[AR_Loop] Equal to True
            • Then - Actions
              • -------- The If, Then, Else Action below checks if the range the unit has been moved is less than the Effects end. --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • AR_DisCount[AR_Loop] Less than AR_DisCalc1[AR_Loop]
                • Then - Actions
                  • -------- Calculating some distances for the Effect. --------
                  • Set AR_Speed[AR_Loop] = 20.00
                  • Set AR_DisCount[AR_Loop] = (AR_DisCount[AR_Loop] + AR_Speed[AR_Loop])
                  • -------- Setting up point variables for the Move Effect & Special Effects. --------
                  • Set AR_Loc[1] = (Position of AR_Cstr[AR_Loop])
                  • Set AR_Loc[2] = (AR_Loc[1] offset by AR_Speed[AR_Loop] towards (Angle from AR_Loc[1] to AR_TPOABC[AR_Loop]) degrees)
                  • -------- Moving the unit. --------
                  • Unit - Move AR_Cstr[AR_Loop] instantly to AR_Loc[2]
                  • -------- Again, adding points to variables for special effects, --------
                  • Set AR_Loc[4] = (AR_Loc[1] offset by 50.00 towards ((Facing of AR_Cstr[AR_Loop]) - 90.00) degrees)
                  • Set AR_Loc[5] = (AR_Loc[1] offset by 50.00 towards ((Facing of AR_Cstr[AR_Loop]) - 270.00) degrees)
                  • -------- Creating the Special Effects --------
                  • For each (Integer AR_SFX_Loop1) from 4 to 5, do (Actions)
                    • Loop - Actions
                      • Special Effect - Create a special effect at AR_Loc[AR_SFX_Loop1] using Abilities\Spells\Undead\ReplenishMana\SpiritTouchTarget.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: call RemoveLocation (udg_AR_Loc[udg_AR_SFX_Loop1])
                  • -------- Storing all the units thats going to be damaged into a variable and damages them and adding some nice Special Effects --------
                  • Set AR_DmgGroup = (Units within 250.00 of AR_Loc[2] matching ((((Matching unit) belongs to an enemy of (Owner of AR_Cstr[AR_Loop])) Equal to True) and ((((Matching unit) is in AR_SafeGroup[AR_Loop]) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matchi
                  • Unit Group - Pick every unit in AR_DmgGroup and do (Actions)
                    • Loop - Actions
                      • -------- To avoid units being damaged twice, i add all theese who have been damaged into a Safe Group. --------
                      • Unit Group - Add (Picked unit) to AR_SafeGroup[AR_Loop]
                      • -------- Damaging the Unit --------
                      • Unit - Cause AR_Cstr[AR_Loop] to damage (Picked unit), dealing AR_Damage[(Level of Adrenaline Rush for AR_Cstr[AR_Loop])] damage of attack type Spells and damage type Normal
                      • -------- Creating some SFX on the damaged unit --------
                      • Set AR_Loc[3] = (Position of (Picked unit))
                      • Special Effect - Create a special effect at AR_Loc[3] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Special Effect - Create a special effect at AR_Loc[3] using Abilities\Spells\Human\Defend\DefendCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: call RemoveLocation (udg_AR_Loc[3])
                  • Destructible - Pick every destructible within 250.00 of AR_Loc[2] and do (Actions)
                    • Loop - Actions
                      • Set AR_Loc[6] = (Position of (Picked destructible))
                      • Unit - Create 1 Dummy Unit for (Owner of AR_Cstr[AR_Loop]) at AR_Loc[6] facing Default building facing degrees
                      • Unit - Add Eat Tree to (Last created unit)
                      • Unit - Order (Last created unit) to Night Elf Ancients - Eat Tree (Picked destructible)
                      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • -------- Clearing Leaks --------
                  • Custom script: call DestroyGroup (udg_AR_DmgGroup)
                  • Custom script: call RemoveLocation (udg_AR_Loc[1])
                  • Custom script: call RemoveLocation (udg_AR_Loc[2])
                • Else - Actions
                  • -------- This is the end of the effect. Setting some variables to NULL and changing unit back to normal --------
                  • Set AR_DisCount[AR_Loop] = 0.00
                  • Custom script: call RemoveLocation (udg_AR_TPOABC[udg_AR_Loop])
                  • Special Effect - Destroy AR_SFX1[AR_Loop]
                  • Unit Group - Remove all units from AR_SafeGroup[AR_Loop]
                  • Animation - Change AR_Cstr[AR_Loop]'s animation speed to 100.00% of its original speed
                  • Unit - Unpause AR_Cstr[AR_Loop]
                  • Unit - Turn collision for AR_Cstr[AR_Loop] On
                  • -------- This is for the Multi-Unit Instanceability. --------
                  • -------- AWARE! DO NOT CHANGE! --------
                  • Set AR_Cstr[AR_Loop] = No unit
                  • Set AR_Index = (AR_Index - 1)
                  • Set AR_Boolean[AR_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • AR_Index Equal to 0
                    • Then - Actions
                      • Trigger - Turn off AR AnimLoop <gen>
                      • Trigger - Turn off (This trigger)
                      • Set AR_MUI = 0
                    • Else - Actions
            • Else - Actions
  • AR AnimLoop
    • Events
      • Time - Every 0.15 seconds of game time
    • Conditions
    • Actions
      • -------- This whole trigger is made only for the purpose of the spin Animation. --------
      • -------- Worked with this for like 2 hrs because i couldn't get understand how to do this. Thanks alot to [email protected] --------
      • For each (Integer AR_Loop2) from 1 to AR_MUI, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • AR_Boolean[AR_Loop2] Equal to True
            • Then - Actions
              • Animation - Play AR_Cstr[AR_Loop2]'s Spell Slam animation
            • Else - Actions
v.1.4 [Special Edition] -
• Reworked some SFX.

v. 1.3 [Special Edition] -
• Added spin animation, Thanks to Garfield1337 for his suggestions!
• Reworked the SFX.
• Increased the Range of the spell.
• Reworked the Documentation for better Understanding.
• Spell does now Cut down Trees.

v. 1.2 -
• Turned the Loop trigger off when the spell isn't used

v. 1.1 -
• Reworked the SFX
• Added Documentation
• Fixed a leak

v. 1.0 -
• Created and Uploaded!


Keywords:
tjordell,wc3,rush,adrenaline
Contents

Adrenaline Rush (Map)

Reviews
19:30, 11th October 2012 Magtheridon96: - Would be cool if the special effects were configurable in a trigger running on map initialization. - The indexing system can be improved. Check out this. :D 00:22, 17th Jun 2010 Hanky: Your spell...

Moderator

M

Moderator

19:30, 11th October 2012
Magtheridon96:

- Would be cool if the special effects were configurable in a trigger running on map initialization.
- The indexing system can be improved. Check out this.

:D

00:22, 17th Jun 2010
Hanky:
Your spell looks fine but there are two things you could improve:
- the trigger AR Loop should be disabled at the start
- you could improve the indexing system

Apart from those stuff your spell looks good enough for getting approved.
 
I suggest saving the X of AR_TBOABC location and the Y as reals
  • Set X = (X of (AR_TBOABC[AR_MUI]))
  • Set Y = (Y of (AR_TBOABC[AR_MUI]))
or

  • Custom script: set udg_x = GetLocationX (udg_AR_TBOABC[udg_AR_MUI])
  • Custom script: set udg_y = GetLocationY (udg_AR_TBOABC[udg_AR_MUI])
(P.S. Those names used for variables are killing me!)

This way, you will remove the leak of that point, but retain its coordinates for further calls.

You lack documentation, unfortunately, which informs people of what your next step is and why.

You don't need the preload in the Map Initialization, you can simply do that within the loop.

The effect is really simple, it's a knockback-based effect, which is overused. I think it will get the rating of useful.

Good job though.
 
Level 11
Joined
Jan 25, 2009
Messages
572
Oh damn. Sry i didn't saw the leak of AR_TPOABC... And btw when i named it to "TPOABC" it means "Target Point Of Ability Being Cast". I will add documentation and i thought i mention that the spell was really simple in the description and that i don't wwant people to say that, but i must have forgot that. Thanks everyone for comments and tips, as i said in my other spell. My other spell is really simple to. But I like it. Even if it's not really sick much to code. But anyways, there's no rules that says that the spell MUST be sickness advanced, is there? Observe: I've read all the rules, but may have forgot some.
 
Level 5
Joined
Aug 20, 2015
Messages
133
this spell is bugged
targeting hero itself will cause bugs
unit can cross map borders
why this was approved?
 
Top