| Cutting Edge | Caster bursts into inner rage, rapidly attacking everything on his path, dealing damage and quickly moving towards the targeted point. Level 1 - Deals up to 70 damage per unit, AoE 200 in distance of 900. Level 2 - Deals up to 140 damage per unit, AoE 200 in distance of 900. Level 3 - Deals up to 240 damage per unit, AoE 200 in distance of 900. |
Cutting Edge

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Cutting Edge

Actions


-------- ------------------------------------------------------------------------------------------------- --------


-------- Getting the Spell constants --------


-------- ------------------------------------------------------------------------------------------------- --------


Set CE_Caster = (Triggering unit)


Set CE_Location = (Position of CE_Caster)


Set CE_Location2 = (Target point of ability being cast)


Set CE_Ability_Level = (Level of (Ability being cast) for CE_Caster)


-------- ------------------------------------------------------------------------------------------------- --------


-------- Setting the spell values --------


-------- ------------------------------------------------------------------------------------------------- --------


Set CE_Base_Damage = 10.00


Set CE_Total_Damage = (CE_Base_Damage x (Real(CE_Ability_Level)))


Set CE_Area_of_Effect = 200.00


Set CE_Destroy_Trees = True


-------- Set pathing to False, if you want your hero to move trough cliffs and doodads, note you can go off map, which could cause bugs, so I suggest you leave it to True --------


Set CE_Pathing_On = True


-------- ------------------------------------------------------------------------------------------------- --------


-------- Knockback Setings --------


-------- ------------------------------------------------------------------------------------------------- --------


Special Effect - Create a special effect attached to the weapon of CE_Caster using Abilities\Spells\Items\OrbCorruption\OrbCorruptionSpecialArt.mdl


Set CE_Special_Effect = (Last created special effect)


Special Effect - Create a special effect attached to the weapon of CE_Caster using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl


Set CE_Special_Effect1 = (Last created special effect)


Set CE_Knock_Angle = (Angle from CE_Location to CE_Location2)


Set CE_Knock_Speed = 50.00


Set CE_Knock_Distance = 900.00


Hashtable - Save CE_Knock_Angle as (Key angle) of (Key (Triggering unit)) in CE_Knocktable


Hashtable - Save CE_Knock_Speed as (Key speed) of (Key (Triggering unit)) in CE_Knocktable


Hashtable - Save CE_Knock_Distance as (Key distance) of (Key (Triggering unit)) in CE_Knocktable


Hashtable - Save Handle OfCE_Caster as (Key caster) of (Key (Triggering unit)) in CE_Knocktable


Hashtable - Save Handle OfCE_Special_Effect as (Key sfx) of (Key (Triggering unit)) in CE_Knocktable


Hashtable - Save Handle OfCE_Special_Effect1 as (Key sfx1) of (Key (Triggering unit)) in CE_Knocktable


Animation - Change CE_Caster's animation speed to 1500.00% of its original speed


Unit - Turn collision for CE_Caster Off


Unit Group - Add CE_Caster to CE_Knock_Group


Trigger - Turn on Cutting Edge Knock <gen>


-------- ------------------------------------------------------------------------------------------------- --------


-------- Clearing leaks --------


-------- ------------------------------------------------------------------------------------------------- --------


Custom script: call RemoveLocation(udg_CE_Location)


Custom script: call RemoveLocation(udg_CE_Location2)
Cutting Edge Knock

Events


Time - Every 0.06 seconds of game time

Conditions

Actions


-------- ------------------------------------------------------------------------------------------------- --------


-------- Leave this actions as they are/// You can add change special effects but that's it --------


-------- ------------------------------------------------------------------------------------------------- --------


Unit Group - Pick every unit in CE_Knock_Group and do (Actions)



Loop - Actions




Set CE_Knock_Angle = (Load (Key angle) of (Key (Picked unit)) from CE_Knocktable)




Set CE_Knock_Speed = (Load (Key speed) of (Key (Picked unit)) from CE_Knocktable)




Set CE_Knock_Distance = (Load (Key distance) of (Key (Picked unit)) from CE_Knocktable)




Set CE_Caster = (Load (Key caster) of (Key (Picked unit)) in CE_Knocktable)




Set CE_Special_Effect = (Load (Key sfx) of (Key (Picked unit)) in CE_Knocktable)




Set CE_Special_Effect1 = (Load (Key sfx1) of (Key (Picked unit)) in CE_Knocktable)




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






CE_Knock_Distance Greater than 0.00





Then - Actions






Set CE_Knock_Loc1 = (Position of (Picked unit))






Set CE_Knock_Loc2 = (CE_Knock_Loc1 offset by CE_Knock_Speed towards CE_Knock_Angle degrees)






Set CE_Damage_Group = (Units within CE_Area_of_Effect of CE_Knock_Loc1 matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of (Picked unit))) Equal to True))))






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








CE_Destroy_Trees Equal to True







Then - Actions








Destructible - Pick every destructible within CE_Area_of_Effect of CE_Knock_Loc1 and do (Actions)









Loop - Actions










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












((Picked destructible) is alive) Equal to True











Then - Actions












Unit - Create 1 Peasant for (Owner of (Picked unit)) at CE_Knock_Loc1 facing Default building facing degrees












Unit - Add a 0.50 second Generic expiration timer to (Last created unit)












Unit - Hide (Last created unit)












Unit - Order (Last created unit) to Harvest (Picked destructible)












If (All Conditions are True) then do (Then Actions) else do (Else Actions)













If - Conditions














(Current order of (Last created unit)) Equal to (Order(harvest))













Then - Actions














Destructible - Kill (Picked destructible)













Else - Actions











Else - Actions







Else - Actions






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








CE_Pathing_On Equal to True







Then - Actions








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










(Terrain pathing at CE_Knock_Loc2 of type Walkability is off) Equal to True









Then - Actions










Unit - Turn collision for CE_Caster On










Animation - Reset (Picked unit)'s animation










Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed










Special Effect - Destroy CE_Special_Effect










Special Effect - Destroy CE_Special_Effect1










Custom script: call RemoveLocation(udg_CE_Knock_Loc1)










Custom script: call RemoveLocation(udg_CE_Knock_Loc2)










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in CE_Knocktable










Unit Group - Remove (Picked unit) from CE_Knock_Group










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












(Number of units in CE_Knock_Group) Equal to 0











Then - Actions












Trigger - Turn off Cutting Edge Knock <gen>











Else - Actions









Else - Actions










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












((Picked unit) is dead) Equal to True











Then - Actions












Unit - Turn collision for CE_Caster On












Animation - Reset (Picked unit)'s animation












Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed












Special Effect - Destroy CE_Special_Effect












Special Effect - Destroy CE_Special_Effect1












Custom script: call RemoveLocation(udg_CE_Knock_Loc1)












Custom script: call RemoveLocation(udg_CE_Knock_Loc2)












Hashtable - Clear all child hashtables of child (Key (Picked unit)) in CE_Knocktable












Unit Group - Remove (Picked unit) from CE_Knock_Group











Else - Actions












Unit - Move (Picked unit) instantly to CE_Knock_Loc2












Unit - Make (Picked unit) face CE_Knock_Angle over 0.00 seconds












Animation - Play (Picked unit)'s attack animation












Unit - Create 1 Dummy for (Owner of (Picked unit)) at CE_Knock_Loc2 facing CE_Knock_Angle degrees












Unit - Add a 0.50 second Generic expiration timer to (Last created unit)












Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 85.00% transparency












Animation - Change (Last created unit)'s animation speed to 200.00% of its original speed












Animation - Play (Last created unit)'s attack animation












Unit Group - Pick every unit in CE_Damage_Group and do (Actions)













Loop - Actions














Unit - Cause CE_Caster to damage (Picked unit), dealing CE_Total_Damage damage of attack type Spells and damage type Unknown














If (All Conditions are True) then do (Then Actions) else do (Else Actions)















If - Conditions
















(Random integer number between 1 and 100) Less than 33















Then - Actions
















If (All Conditions are True) then do (Then Actions) else do (Else Actions)

















If - Conditions


















(Random integer number between 1 and 100) Less than or equal to 50

















Then - Actions


















Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl


















Special Effect - Destroy (Last created special effect)

















Else - Actions


















Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl


















Special Effect - Destroy (Last created special effect)















Else - Actions












Hashtable - Save (CE_Knock_Distance - CE_Knock_Speed) as (Key distance) of (Key (Picked unit)) in CE_Knocktable












Custom script: call RemoveLocation(udg_CE_Knock_Loc1)












Custom script: call RemoveLocation(udg_CE_Knock_Loc2)












Custom script: call DestroyGroup(udg_CE_Damage_Group)







Else - Actions








Unit - Move (Picked unit) instantly to CE_Knock_Loc2








Unit - Make (Picked unit) face CE_Knock_Angle over 0.00 seconds








Animation - Play (Picked unit)'s attack animation








Unit - Create 1 Dummy for (Owner of (Picked unit)) at CE_Knock_Loc2 facing CE_Knock_Angle degrees








Unit - Add a 0.50 second Generic expiration timer to (Last created unit)








Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 85.00% transparency








Animation - Change (Last created unit)'s animation speed to 200.00% of its original speed








Animation - Play (Last created unit)'s attack animation








Unit Group - Pick every unit in CE_Damage_Group and do (Actions)









Loop - Actions










Unit - Cause CE_Caster to damage (Picked unit), dealing CE_Total_Damage damage of attack type Spells and damage type Unknown










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












(Random integer number between 1 and 100) Less than 33











Then - Actions












If (All Conditions are True) then do (Then Actions) else do (Else Actions)













If - Conditions














(Random integer number between 1 and 100) Less than or equal to 50













Then - Actions














Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl














Special Effect - Destroy (Last created special effect)













Else - Actions














Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl














Special Effect - Destroy (Last created special effect)











Else - Actions








Hashtable - Save (CE_Knock_Distance - CE_Knock_Speed) as (Key distance) of (Key (Picked unit)) in CE_Knocktable








Custom script: call RemoveLocation(udg_CE_Knock_Loc1)








Custom script: call RemoveLocation(udg_CE_Knock_Loc2)








Custom script: call DestroyGroup(udg_CE_Damage_Group)





Else - Actions






Unit - Turn collision for CE_Caster On






Animation - Reset (Picked unit)'s animation






Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed






Special Effect - Destroy CE_Special_Effect






Special Effect - Destroy CE_Special_Effect1






Hashtable - Clear all child hashtables of child (Key (Picked unit)) in CE_Knocktable






Unit Group - Remove (Picked unit) from CE_Knock_Group






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








(Number of units in CE_Knock_Group) Equal to 0







Then - Actions








Trigger - Turn off Cutting Edge Knock <gen>







Else - Actions