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

Bunny Run 1.01

Hello people. From the screenshot you can see that spell is silly.
Yes it is. It was made for the Spells/Systems mini contest 19.
Theme of the contest was "Comedy". People made lost of funny stuff.
This was my entry. Bunny Run is spell that dont cause any damage.
Tooltip will explain everything. Here is the GUI code. I hope spell is funny
and useful. P.S.: read hero proper names.

  • Bunny Run Setings
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Bunny Run
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • BR_Integer[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Bunny Run Loop <gen>
        • Else - Actions
      • -------- Checking for units that already have the buff. If caster already have the buff, it will be replaced. --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) is in BR_Group) Equal to True
        • Then - Actions
          • For each (Integer BR_Integer[3]) from 1 to (Number of units in BR_Group), do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Triggering unit) Equal to BR_Caster[BR_Integer[3]]
                • Then - Actions
                  • Set BR_Level[BR_Integer[3]] = (Level of Bunny Run for (Triggering unit))
                  • Set BR_Duration[BR_Integer[3]] = (4.00 + (1.00 x (Real(BR_Level[BR_Integer[3]]))))
                • Else - Actions
        • Else - Actions
          • Unit Group - Add (Triggering unit) to BR_Group
          • Set BR_Integer[1] = (BR_Integer[1] + 1)
          • Set BR_Integer[2] = (BR_Integer[2] + 1)
          • Set BR_On[BR_Integer[2]] = True
          • Set BR_Caster[BR_Integer[2]] = (Triggering unit)
          • Set BR_Level[BR_Integer[2]] = (Level of Bunny Run for (Triggering unit))
          • Set BR_Duration[BR_Integer[2]] = (3.00 + (1.00 x (Real(BR_Level[BR_Integer[2]]))))
          • -------- Jump is not random. It is fake parabola. It will not move unit at point, but just change the height. Chose some values for variables to make nice looking jump, not too frequent, and not too high. --------
          • Set BR_MaxDistance[BR_Integer[2]] = 312.00
          • Set BR_Distance[BR_Integer[2]] = BR_MaxDistance[BR_Integer[2]]
          • Set BR_Height[BR_Integer[2]] = 100.00
          • -------- This changes landing time with level, so jumps will be more frequent. --------
          • Set BR_Speed[BR_Integer[2]] = (6.00 + (2.00 x (Real(BR_Level[BR_Integer[2]]))))
          • -------- Yes, lots of effects --------
          • Special Effect - Create a special effect attached to the foot left of (Triggering unit) using units\critters\EasterRabbit\EasterRabbit.mdl
          • Set BR_Effect[BR_Integer[2]] = (Last created special effect)
          • Special Effect - Create a special effect attached to the foot right of (Triggering unit) using units\critters\EasterRabbit\EasterRabbit.mdl
          • Set BR_Effect2[BR_Integer[2]] = (Last created special effect)
          • Special Effect - Create a special effect attached to the foot right of (Triggering unit) using Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
          • Set BR_Effect3[BR_Integer[2]] = (Last created special effect)
          • Special Effect - Create a special effect attached to the foot left of (Triggering unit) using Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
          • Set BR_Effect4[BR_Integer[2]] = (Last created special effect)
          • -------- Making ground unit to be able to change height --------
          • Unit - Add Storm Crow Form to (Triggering unit)
          • Unit - Remove Storm Crow Form from (Triggering unit)
  • Bunny Run Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer BR_Integer[0]) from 1 to BR_Integer[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BR_On[BR_Integer[0]] Equal to True
            • Then - Actions
              • -------- Even if duration is 0, we have to finish the last jump to make it looks smooth. So we wait for distance variable to become 0 and it becomes 0 when unit lands on ground. --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • BR_Distance[BR_Integer[0]] Less than or equal to 0.00
                  • BR_Duration[BR_Integer[0]] Less than or equal to 0.00
                • Then - Actions
                  • -------- The group below is for units that are under effect of this spell. --------
                  • Unit Group - Remove BR_Caster[BR_Integer[0]] from BR_Group
                  • Special Effect - Destroy BR_Effect[BR_Integer[0]]
                  • Special Effect - Destroy BR_Effect2[BR_Integer[0]]
                  • Special Effect - Destroy BR_Effect3[BR_Integer[0]]
                  • Special Effect - Destroy BR_Effect4[BR_Integer[0]]
                  • Set BR_On[BR_Integer[0]] = False
                  • -------- Standard recycling --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BR_Integer[0] Less than BR_Integer[2]
                    • Then - Actions
                      • Set BR_On[BR_Integer[0]] = BR_On[BR_Integer[2]]
                      • Set BR_Caster[BR_Integer[0]] = BR_Caster[BR_Integer[2]]
                      • Set BR_Distance[BR_Integer[0]] = BR_Distance[BR_Integer[2]]
                      • Set BR_Speed[BR_Integer[0]] = BR_Speed[BR_Integer[2]]
                      • Set BR_MaxDistance[BR_Integer[0]] = BR_MaxDistance[BR_Integer[2]]
                      • Set BR_Duration[BR_Integer[0]] = BR_Duration[BR_Integer[2]]
                      • Set BR_Height[BR_Integer[0]] = BR_Height[BR_Integer[2]]
                      • Set BR_Level[BR_Integer[0]] = BR_Level[BR_Integer[2]]
                      • Set BR_Parabola[BR_Integer[0]] = BR_Parabola[BR_Integer[2]]
                      • Set BR_Effect[BR_Level[0]] = BR_Effect[BR_Integer[0]]
                      • Set BR_Effect2[BR_Integer[0]] = BR_Effect2[BR_Integer[2]]
                      • Set BR_Effect3[BR_Integer[0]] = BR_Effect3[BR_Integer[2]]
                      • Set BR_Effect4[BR_Integer[0]] = BR_Effect4[BR_Integer[2]]
                    • Else - Actions
                  • Set BR_Integer[2] = (BR_Integer[2] - 1)
                  • Set BR_Integer[1] = (BR_Integer[1] - 1)
                  • Set BR_Integer[0] = (BR_Integer[0] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BR_Integer[2] Equal to 0
                    • Then - Actions
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • -------- dead unit have to stop jumping, at least land on ground. Seting duration to 0. Else dead unit will jump til effect ends. --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (BR_Caster[BR_Integer[0]] is dead) Equal to True
                    • Then - Actions
                      • Set BR_Duration[BR_Integer[0]] = 0.00
                    • Else - Actions
                      • -------- Unit is alive? Yes. Reduce duration by repiod of looping. --------
                      • Set BR_Duration[BR_Integer[0]] = (BR_Duration[BR_Integer[0]] - 0.02)
                  • -------- Calculating parabola and changing unit height. --------
                  • Set BR_Distance[BR_Integer[0]] = (BR_Distance[BR_Integer[0]] - BR_Speed[BR_Integer[0]])
                  • Set BR_Parabola[BR_Integer[0]] = (((4.00 x BR_Height[BR_Integer[0]]) / BR_MaxDistance[BR_Integer[0]]) x ((BR_MaxDistance[BR_Integer[0]] - BR_Distance[BR_Integer[0]]) x (BR_Distance[BR_Integer[0]] / BR_MaxDistance[BR_Integer[0]])))
                  • Animation - Change BR_Caster[BR_Integer[0]] flying height to BR_Parabola[BR_Integer[0]] at 0.00
                  • -------- If duration is not 0 or less (spell still have effect) and distance > 0 (unit land on ground) than repeat jump --------
                  • -------- Those actions run when unit land on ground (but not the last landing) --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BR_Distance[BR_Integer[0]] Less than or equal to 0.00
                      • BR_Duration[BR_Integer[0]] Greater than 0.00
                    • Then - Actions
                      • Sound - Play RatWhat1 <gen> at 100.00% volume, attached to BR_Caster[BR_Integer[0]]
                      • -------- refreshing distance to make unit to jump again --------
                      • Set BR_Distance[BR_Integer[0]] = BR_MaxDistance[BR_Integer[0]]
                      • Set BR_Point[0] = (Position of BR_Caster[BR_Integer[0]])
                      • -------- dummy uses spell that cause enemys to miss. Here it is spawning and casting spell at position of special effect. Duration is always the same, because special effect animation cant be extended. --------
                      • Unit - Create 1 Dummy for (Owner of BR_Caster[BR_Integer[0]]) at BR_Point[0] facing Default building facing degrees
                      • Unit - Add Cloud (Custom) to (Last created unit)
                      • Unit - Order (Last created unit) to Human Dragonhawk Rider - Cloud BR_Point[0]
                      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                      • Special Effect - Create a special effect at BR_Point[0] using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • -------- Only one leak? nice.... kill ET! --------
                      • Custom script: call RemoveLocation (udg_BR_Point[0])
                    • Else - Actions
            • Else - Actions
Summon two cute bunny slippers, that increase movemet speed. They are so exiding to be summoned, what they jump all the time and makes hero to jump too. Every leap will leave dust cloud. It makes enemys to miss with 25% of chance. Level 1 - 40% movement speed for 4 seconds. Level 2 - 60% movement speed for 5 seconds. Level 3 - 80% movement speed for 6 seconds.


Keywords:
Bunny, Run, Movement, Funny, Speed, Simple, Rabbit, Jump, I dont know what else to write here
Contents

Just another Warcraft III map (Map)

Reviews
18:28, 2nd Jun 2011 Maker: The spell could benefit from custom special effect bunny model which disappears immediately when destroyed. I'd like you not to use an array for the point variable for example since you only need one index of it. Change...

Moderator

M

Moderator

18:28, 2nd Jun 2011
Maker:
The spell could benefit from custom special effect bunny model which disappears immediately when destroyed.
I'd like you not to use an array for the point variable for example since you only need one index of it.
Change the buff's tooltip.
Worthy of some lulz.
 
Level 20
Joined
Jul 12, 2010
Messages
1,717
No it is not. human eye can see ~47 FPS. 0.02 (or 50 FPS) is snooth enough. 0.03 is 33 FPS (~14 fps difference or 1/4 less smooth) and this may looks like laggy.

i didn't knew that xD
thnx for the useful information^^


ONTOPIC:
this spell is so much fun!! 5/5 xD
maybe when unit lands you could create a dummy and dummy could thunder clap(custom) to damage units...
or you could leave it as it is :p
 
that is considering that the load on the processor is the same... but in reality, since .02 will run more often, it will take up more of the processors power than a .03 timer interval... so it will actually lag more than a .03 interval, specially on lower spec comps... ^_^

I still haven't get over this spell... still laughing when I test it...
 
Level 1
Joined
Jun 5, 2014
Messages
1
Hi NFWAR ,
Just noticed that theres something wrong in your trigger
One of the special effect is not destroyed if used by multiple unit


Check your
  • Bunny Run Loop
Your code is like this :
  • Set BR_Effect[BR_Level[0]] = BR_Effect[BR_Integer[0]]
I think it should be
  • Set BR_Effect[BR_Integer[0]] = BR_Effect[BR_Integer[2]]

CMIIW (Correct me if im wrong) , thanks !
 
Last edited:
Top