• 🏆 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!
  • ✅ Time to vote for the top 3 models! The POLL for Hive's 6th HD Modeling Contest: Mechanical is now open! 📅 Poll close on July 16, 2024! 🔗 Cast your vote now!

Fade Step v1.7

Fade Step
An unique technique that allows the Warden to escape from the battles. Rapidly steps back evading attacks and spells.
Level 1: 300 Range back.
Level 2: 350 Range back.
Level 3: 400 Range back.

  • Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set TempPoint = (Center of (Playable map area))
      • Unit - Create 1 Fade for Neutral Passive at TempPoint facing 0.00 degrees
      • Unit - Add Hidden to (Last created unit)
      • Unit - Add Fade to (Last created unit)
      • Unit - Explode (Last created unit)
      • Custom script: call RemoveLocation (udg_TempPoint)
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Player - Disable Hidden for (Player((Integer A)))
      • -------- First copy the dummy units then the buffs and abilities. After that copy the triggers and make sure it automatically generate new variables. --------
  • Fade Step
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fade Step
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • FSHas[FSLastRecycled] Equal to True
        • Then - Actions
          • Set FSMax = (FSMax + 1)
          • Set FSIndex = FSMax
        • Else - Actions
          • Set FSIndex = FSLastRecycled
          • Set FSLastRecycled = FSRecycledList[FSLastRecycled]
      • Set FSCaster[FSIndex] = (Triggering unit)
      • Set FSCasterPoint[FSIndex] = (Position of FSCaster[FSIndex])
      • Set FSDistance[FSIndex] = 0.00
      • Set FSMaxDistance[FSIndex] = (250.00 + (50.00 x (Real((Level of Fade Step for FSCaster[FSIndex])))))
      • Custom script: set udg_FSDummyGroup[udg_FSIndex] = CreateGroup()
      • -------- --------------------- --------
      • -------- Time needed to travel this distance. --------
      • -------- --------------------- --------
      • -------- If you change this don't forget to change the ability's buff duration too. --------
      • -------- --------------------- --------
      • Set FSTime = 0.40
      • Set FSMove[FSIndex] = (FSMaxDistance[FSIndex] / (FSTime / 0.03))
      • Set FSFade[FSIndex] = (100.00 / (FSMaxDistance[FSIndex] / FSMove[FSIndex]))
      • Set FSFadeC[FSIndex] = (100.00 - FSFade[FSIndex])
      • Set FSFace[FSIndex] = (Facing of FSCaster[FSIndex])
      • Set FSHas[FSIndex] = True
      • Set FSCount = (FSCount + 1)
      • Unit - Add Hidden to FSCaster[FSIndex]
      • Set TempPoint = (Position of FSCaster[FSIndex])
      • Unit - Create 1 Fade for (Triggering player) at TempPoint facing FSFace[FSIndex] degrees
      • Unit - Add Fade Step DUMMY to (Last created unit)
      • Unit - Order (Last created unit) to Orc Troll Berserker - Berserk
      • Set FSDummy[FSIndex] = (Last created unit)
      • Custom script: call RemoveLocation (udg_TempPoint)
      • Animation - Change FSCaster[FSIndex]'s vertex coloring to (100.00%, 100.00%, 100.00%) with FSFade[FSIndex]% transparency
      • Animation - Change FSDummy[FSIndex]'s vertex coloring to (100.00%, 100.00%, 100.00%) with FSFade[FSIndex]% transparency
      • Animation - Change FSDummy[FSIndex]'s animation speed to 150.00% of its original speed
      • Animation - Play FSDummy[FSIndex]'s slam animation
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Fade Step Loop <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Fade Step Loop <gen>
          • Trigger - Turn on Dummy Removal <gen>
        • Else - Actions
  • Fade Step Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer FSInteger) from 0 to FSMax, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FSHas[FSInteger] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FSDistance[FSInteger] Less than FSMaxDistance[FSInteger]
                • Then - Actions
                  • Set TempPoint = (Position of FSCaster[FSInteger])
                  • Set FSDistance[FSInteger] = (FSDistance[FSInteger] + FSMove[FSInteger])
                  • Set TempPoint2 = (TempPoint offset by FSMove[FSInteger] towards (FSFace[FSInteger] + 180.00) degrees)
                  • Set FSFadeC[FSInteger] = (FSFadeC[FSInteger] - FSFade[FSInteger])
                  • Unit - Create 1 Fade for Neutral Passive at TempPoint facing FSFace[FSInteger] degrees
                  • Unit - Add Fade to (Last created unit)
                  • Unit - Order (Last created unit) to Orc Blademaster - Wind Walk
                  • Unit - Add a 0.60 second Generic expiration timer to (Last created unit)
                  • Animation - Change FSCaster[FSInteger]'s vertex coloring to (100.00%, 100.00%, 100.00%) with FSFadeC[FSInteger]% transparency
                  • Animation - Change FSDummy[FSInteger]'s vertex coloring to (100.00%, 100.00%, 100.00%) with FSFadeC[FSInteger]% transparency
                  • Set TempGroup = (Units within 125.00 of TempPoint2 matching ((((Matching unit) is A flying unit) Equal to False) and (((Matching unit) Not equal to FSCaster[FSInteger]) and (((Matching unit) is alive) Equal to True))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (TempGroup is empty) Equal to True
                    • Then - Actions
                      • Unit - Move FSCaster[FSInteger] instantly to TempPoint2
                    • Else - Actions
                      • Unit - Turn collision for FSCaster[FSInteger] Off
                      • Unit - Move FSCaster[FSInteger] instantly to TempPoint2
                      • Unit - Turn collision for FSCaster[FSInteger] On
                  • Unit - Move FSDummy[FSInteger] instantly to TempPoint2
                  • Custom script: call DestroyGroup(udg_TempGroup)
                  • Custom script: call RemoveLocation (udg_TempPoint)
                  • Custom script: call RemoveLocation (udg_TempPoint2)
                • Else - Actions
                  • Unit - Remove Hidden from FSCaster[FSIndex]
                  • Unit Group - Pick every unit in FSDummyGroup[FSInteger] and do (Unit - Remove (Picked unit) from the game)
                  • Custom script: call DestroyGroup(udg_FSDummyGroup[udg_FSInteger])
                  • Unit - Remove FSDummy[FSInteger] from the game
                  • Custom script: call RemoveLocation (udg_FSCasterPoint[udg_FSInteger])
                  • Animation - Change FSCaster[FSInteger]'s animation speed to 100.00% of its original speed
                  • Animation - Change FSCaster[FSInteger]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                  • Animation - Play FSCaster[FSInteger]'s stand animation
                  • Set FSHas[FSInteger] = False
                  • Set FSCount = (FSCount - 1)
                  • Set FSRecycledList[FSInteger] = FSLastRecycled
                  • Set FSLastRecycled = FSInteger
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • FSCount Equal to 0
                    • Then - Actions
                      • Set FSMax = 0
                      • Set FSLastRecycled = 0
                      • Set FSRecycledList[0] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
            • Else - Actions
Special thanks to Maker for the hidden spell book idea.

v 1.7
complete change and optimization
v 1.6
minor fixes
v 1.5
fixed system bug
little efficiency improvement
v 1.4
rewritten indexing
v 1.3
added extra configurable
added little comments for the begginer's in triggers
v 1.2
added hidden spellbook with evasion, spell shield and spell dmg reduce
v 1.1
minor fixes


If you like it please vote for approval.
Also what do you think? Is the effect better without the caster's slam animation?

Keywords:
motion, blur, evade, immune, spell, speed, fast, instant,
Contents

Just another Warcraft III map (Map)

Reviews
Maker, Fade Step v1.7, 23rd Dec Good ability with some originality. Maker, Fade Step v1.7, 22nd Dec You could list the stats per each level in learn tooltip The indexing works, but you could look into dynamic indexing. There's a...

Moderator

M

Moderator

Maker, Fade Step v1.7, 23rd Dec

Good ability with some originality.


Maker, Fade Step v1.7, 22nd Dec

  • You could list the stats per each level in learn tooltip
  • The indexing works, but you could look into dynamic indexing. There's a system in the spell database
  • You don't need to remove all units from a group since you destroy it
  • You don't need dummy removal trigger, you can set Art - death time of the dummy to 0.1 or 0
 
Level 15
Joined
Jul 6, 2009
Messages
889
I don't like the description:
An unique technique that allows the Warden to escape from the battles. During this motion the Warden takes no damage.
Level 1: 300 Range.
Level 2: 350 Range.
Level 3: 400 Range.

What is the range important for? What is meant by escaping? Does the Warden move positions? Answer those questions in the ability tooltip.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
It's MUI and no leaks. The effects are good also.

However FSCount Equal to 0 check should be right after Set FSCount = (FSCount - 1)

And what is the point of this?


  • Actions
    • Set FSGet = False
    • For each (Integer A) from 1 to FSMax, do (Actions)
      • Loop - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • FSGet Equal to False
          • Then - Actions
First you set it to false and then loop and test whether it is false. How could it be true?
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
Heh :D I forgot it there when I tried to make a new recycling system ~.~
edit: If you think it's good please vote for approval.
edit: well FSGet is needed to prevent the overrun, without it the trigger starts with an index with the value of FSMax laso if you cast it more than one time it increases the FSMax so it's required ~.~
 
Last edited:
Level 37
Joined
Mar 6, 2006
Messages
9,240
evasion has an icon too and if i just add the 100% magic reduce it can be still stunned
spell shield has icon too :S

Use a hidden spell book. Give the spell book Evasion, Spell Shield, Spell Damage Reduction. Use item abilities as base. No icons are shown, and the unit won't get stunned or take damage from normal attacks or spells, but can still be targeted by them.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
There's an item ability called spell book. Copy and paste it. Then copy and paste the desired passive abilities. In the spell book, there's data - spell list. Add the passive abilities there. Then disable the spell book:

  • For each (Integer A) from 1 to 16, do (Actions)
    • Loop - Actions
      • Player - Disable Spell Book for (Player((Integer A)))
The spell book icon won't show up. Passive abilities in a spell book won't show up, but still work.
 
Level 7
Joined
Apr 12, 2011
Messages
124
Very nice indeed, just add some kind of pathing checker because atm it's possible to land on trees/destrucables/doodads and boundry. It's also possible to "Fade" out of map boundry's

EDIT: And the slam animation will probably only look good on Warden but idk.
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
Oooookay, pathing is fixed, I just forgot to add a condition ~.~

@Axaron Well, I can add a "ghost" dummy that always play the animation and the caster just move back. And this is an escape spell ~.~ But you can add damage by a simple pick unit group func.

edit: ghost dummy added
 
Last edited:
Level 11
Joined
Sep 30, 2009
Messages
697
Oooookay, pathing is fixed, I just forgot to add a condition ~.~

@Axaron Well, I can add a "ghost" dummy that always play the animation and the caster just move back. And this is an escape spell ~.~ But you can add damage by a simple pick unit group func.

edit: ghost dummy added

Looks better now :) And please don't try to explain me such basicsthings. You made me laugh :p

it is about the spells how do you import them??

http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/spells-importing-tutorial-7335/
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
Okay okay, ~.~

@bladerdog
first import the dummies then the buffs then the abilities then the triggers and make sure you turned on "automatic generate new variables" option in WE
also check the triggers because sometimes at copy it changes the ordered abilities/units
 
Level 7
Joined
Sep 2, 2011
Messages
350
As far as I remember, I already did test this spell before. So I'm going to rate it based on my previous tests.

Rating: 4/5
The spell is clean and smooth
It is really cool
Good choice of effects
Looks deadly
MUI and Leakless
 
Level 7
Joined
Oct 16, 2010
Messages
193
This is a nice spell. The way the hero moves and how the image of the hero blurrs behind the hero looks cool. But when i was spamming the skill i heard the warden scream(like when she dies).+rep for this spell.
 
Level 1
Joined
Mar 17, 2012
Messages
6
Great Spell I like the effects, and the idea of it, but would it be possible to use this spell with a different model like blade master, or something.
+rep nice work =)
 
Level 1
Joined
Mar 17, 2012
Messages
6
Great Spell I like the effects, and the idea of it, but would it be possible to use this spell with a different model like blade master, or something.
+rep nice work =)

It looks fine to me I just tested it =)
And its going right on to my map.
 
Last edited:
Top