Moderator
M
Moderator
| Maker, Fade Step v1.7, 23rd Dec |
Good ability with some originality. |
| Maker, Fade Step v1.7, 22nd Dec |
|
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