DoomNapkin
D
DoomNapkin
Very, very nice
Scream | Unleashes a sound that damages and silences nearby enemy units. Level 1 - AOE 200, 80 damage, 2 seconds of silence. Level 2 - AOE 250, 160 damage, 3 seconds of silence. Level 3 - AOE 300, 240 damage, 4 seconds of silence. |
| Fire Wall | Creates a wall of fire that damages nearby enemy units. Level 1 - 70 damage per second, lasts 10 seconds. Level 2 - 100 damage per second, lasts 10 seconds. Level 3 - 130 damage per second, lasts 10 seconds. |
| Power Slam | Slams the target with brute force dealing strength damage, there is a chance that target gets stunned. Level 1 - 2x strength damage, 15% to stun for 2 seconds. Level 2 - 4x strength damage, 30% to stun for 3 seconds. Level 3 - 6x strength damage, 45% to stun for 4 seconds. |
| Multi Shot | Shoots multiple arrows towards targeted location. Level 1 - 10 arrows, arrow deals 25 damage. Level 2 - 20 arrows, arrow deals 35 damage. Level 3 - 30 arrows, arrow deals 45 damage. |
| Termal Eruption | Gathers the water into explosion. Explosion deals damage and slows attack and movement rate. Level 1 - AOE 200, 90 damage, 15% decreased attack and movement rate, lasts 3 seconds. Level 2 - AOE 200, 180 damage, 25% decreased attack and movement rate, lasts 4 seconds. Level 3 - AOE 200, 270 damage, 35% decreased attack and movement rate, lasts 5 seconds. |
Aqua Burst | Caster melts down into the earth and strikes out at the targeted location, dealing area damage. Level 1 - Area of Effect 175, 70 damage. Level 2 - Area of Effect 175, 140 damage. Level 3 - Area of Effect 175, 210 damage. |
| Napalm Strike | Calls down a Sun ray that damages and burns the ground. Level 1 - AOE 225, 90 damage, 50 ground damage per second, lasts 6 seconds. Level 2 - AOE 225, 180 damage, 95 ground damage per second, lasts 8 seconds. Level 3 - AOE 225, 270 damage, 135 ground damage per second, lasts 10 seconds. |
| Sinister Strike | Strikes the target with crippling power, dealing agility damage and reducing targeted unit's armor. Level 1 - Deals 2x agility damage, 15% chance to reduce unit's armor by 5 points else 3, lasts 4 seconds. Level 2 - Deals 4x agility damage, 30% chance to reduce unit's armor by 6 points else 4, lasts 5 seconds. Level 3 - Deals 6x agility damage, 45% chance to reduce unit's armor by 7 points else 5, lasts 6 seconds. |
| Shadowstep | Caster moves trough the shadow to the position of targeted unit, dealing movement speed factor damage. Level 1 - Dealing .35x movement speed damage. Level 2 - Dealing .70x movement speed damage. Level 3 - Dealing 1.05x movement speed damage. |
| Wound Poison | Strikes the target with poisoned dagger, dealing some damage on the impact and minnor damage over time, target is confused by the poison and it has a chance to miss on attack. Level 1 - 60 impact damage, 6% to miss on attack, 100 damage over 18 seconds. Level 2 - 120 impact damage, 12% to miss on attack, 200 damage over 18 seconds. Level 3 - 180 impact damage, 18% to miss on attack, 300 damage over 18 seconds. |
Ion Cannon | Charges the powerful laser towards targeted location, laser razes trough everything on its path dealing damage and burns up mana of enemy units in the line. Level 1 - Deals 45 -135 damage, and burns up 30 - 90 mana. Level 2 -Deals 90 -240 damage, and burns up 60 - 180 mana. Level 3 - Deals 135 -405 damage, and burns up 90 - 270 mana. |
Holy Blessing | Blesses the target with pure energy, healing it and making it invulnerable for a brief of time. level 1 - Heals for 90 hit points, invulnerability for 2 seconds. level 2 - Heals for 180 hit points, invulnerability for 4 seconds. level 3 - Heals for 270 hit points, invulnerability for 6 seconds.. |
| Thunder Rage | Caster calls down a bolt of lightning that deals damage to enemy units in the area, thunder bolt instantly kills the units with low HP and explodes them to pieces dealing additional damage in small area around it. Level 1 - Deals .20 x max life of picked unit, instantly kills units below 75 HP, AoE 225, corpse explosion deals 25 damage in AoE 85 around it. Level 2 - Deals .40 x max life of picked unit, instantly kills units below 150 HP, AoE 225, corpse explosion deals 50 damage in AoE 85 around it. Level 3 - Deals .60 x max life of picked unit, instantly kills units below 225 HP, AoE 225, corpse explosion deals 75 damage in AoE 85 around it. |
| Shadow Walk | Caster takes possession of it's own shadow, making it more accurate when evading enemy attacks and more resistant against magic attacks and spells. Removes negative buffs upon cast.Effect fades after a few seconds. Level 1 - Grants 15% evasion against attacks, 7% magic resistance, lasts 4 seconds. Level 2 - Grants 30% evasion against attacks, 14% magic resistance, lasts 8 seconds. Level 3 - Grants 45% evasion against attacks, 21% magic resistance, lasts 12 seconds. |
| Desecration | Caster uses unholy powers in order to steal souls. As caster tries to steal the soul out of a dead body the corpse explodes and soul gets released. Explosion deals damage. Caster consumes the life force of the souls for his own healing. Level 1 - Deals 20 x number of corpses in the AoE 250 damage, heals caster for 10 x number of corpses. Level 2 - Deals 40 x number of corpses in the AoE 250 damage, heals caster for 20 x number of corpses. Level 3 - Deals 60 x number of corpses in the AoE 250 damage, heals caster for 30 x number of corpses. |
| Beast Attack | Strikes the target with brutal force of the beast, damaging it and knocking it back. Level 1 - Deals 1/8 of caster's max life + 1 x caster's strength, knocking back the target in distance of 300. Level 2 - Deals 1/8 of caster's max life + 2 x caster's strength, knocking back the target in distance of 300. Level 3 - Deals 1/8 of caster's max life + 3 x caster's strength, knocking back the target in distance of 300. |
| Earth Fury | Caster slams the ground, dealing damage in area, slowing attack and movement speed of enemy units for a few seconds. There is a chance that caster slams the ground with more power, ripping out waves pure force dealing damage in outer area, making caster to gain attack speed. Level 1 - Deals 125 damage, AoE 200, 25% slow for 2.5 seconds, 45% chance to deal 65 damage in AoE 400, 30% increased attack speed for 7 seconds. Level 2 - Deals 200 damage, AoE 275, 25% slow for 3 seconds, 45% chance to deal 130 damage in AoE 550, 50% increased attack speed for 7 seconds. Level 3 - Deals 275 damage, AoE 350, 25% slow for 3.5 seconds, 45% chance to deal 195 damage in AoE 700, 70% increased attack speed for 7 seconds. |
| Razor Edge | Caster puts all his rage into single powerful spinning strike, quickly striking in a line dealing damage to nearby enemy units in the area. Level 1 - Deals up to 180 damage per unit, AoE 200 in distance of 700. Level 2 - Deals up to 320 damage per unit, AoE 200 in distance of 700. Level 3 - Deals up to 460 damage per unit, AoE 200 in distance of 700. |
| Face of Void | Caster unleashes its arcane power, summoning a slight taste of void upon his foes. Level 1 - AoE 200, 60 damage, 15% slow, lasts 6 seconds. Level 2 - AoE 240, 120 damage, 25% slow, lasts 7 seconds. Level 3 - AoE 280, 180 damage, 35% slow, lasts 8 seconds. |
Arcane Disruption | Casts a mysterious spell upon your allies or foes, recharges some mana and life upon allies or burns mana and damages enemies. Level 1 - Restores/burns 120 mana and heals/damages for 60 points. Level 2 - Restores/burns 170 mana and heals/damages for 85 points. Level 3 - Restores/burns 220 mana and heals/damages for 110 points. |
Impale | Slams the ground with the massive claws, shooting spiked tendrils out in 3 straight lines, dealing damage and hurling enemy ground units into the air in their wake. Level 1 - 50 damage, 1 second stun. Level 2 - 80 damage, 2 second stun. Level 3 - 110 damage, 3 second stun. |
Psychic Rape | Hurls a bolt of negative energy upon the targeted unit, burning its mana and life. Under this effects unit can get stunned. Level 1 - Burns up mana equal to 2x Caster's agility, can stun for 2 seconds. Level 2 - Burns up mana equal to 4x Caster's agility, can stun for 3 seconds. Level 3 - Burns up mana equal to 6x Caster's agility, can stun for 4 seconds. |
Scream

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Scream

Actions


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


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


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


Set Scream_Caster = (Triggering unit)


Set Scream_Ability_Level = (Level of (Ability being cast) for Scream_Caster)


Set Scream_Owner = (Owner of Scream_Caster)


Set Scream_Location = (Position of Scream_Caster)


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


-------- Setting the Spell values --------


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


Set Scream_Base_Area_of_Effect = 200.00


Set Scream_Bounus_Area_of_Effect = 50.00


Set Scream_Area_of_Effect = (Scream_Base_Area_of_Effect + ((Real(Scream_Ability_Level)) x Scream_Bounus_Area_of_Effect))


Set Scream_Base_Damage = 80.00


Set Scream_Total_Damage = (Scream_Base_Damage x (Real(Scream_Ability_Level)))


Set Scream_Damage_Group = (Units within Scream_Area_of_Effect of Scream_Location 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 Scream_Owner) Equal to True))))


Set Scream_Dummy_Ability = Scream(dummy)


Set Scream_Sound = HarpyDeath <gen>


Set Scream_Sound_Volume = 80.00


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


-------- Setting the Dummy, ordering it to cast a spell --------


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


Unit - Create 1 Dummy for Scream_Owner at Scream_Location facing Default building facing degrees


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


Unit - Add Scream_Dummy_Ability to (Last created unit)


Unit - Set level of Scream_Dummy_Ability for (Last created unit) to Scream_Ability_Level


Unit - Order (Last created unit) to Neutral Dark Ranger - Silence Scream_Location


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


-------- Playing a nice sound effect --------


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


Sound - Play Scream_Sound at Scream_Sound_Volume% volume, attached to Scream_Caster


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



Loop - Actions




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




-------- Damaging units and creating nice special effects --------




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




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




Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Undead\AbsorbMana\AbsorbManaBirthMissile.mdl




Special Effect - Destroy (Last created special effect)




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


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


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


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


Custom script: call RemoveLocation(udg_Scream_Location)


Custom script: call DestroyGroup(udg_Scream_Damage_Group)
Power Slam

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Power Slam

Actions


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


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


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


Set Power_Slam_Caster = (Triggering unit)


Set Power_Slam_Target = (Target unit of ability being cast)


Set Power_Slam_Location = (Position of Power_Slam_Target)


Set Power_Slam_Owner = (Owner of Power_Slam_Caster)


Set Power_Slam_Ability_Level = (Level of (Ability being cast) for Power_Slam_Caster)


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


-------- Setting the Spell values --------


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


Set Power_Slam_Strength = (Strength of Power_Slam_Caster (Include bonuses))


Set Power_Slam_Damage_Multiplier = (2 x Power_Slam_Ability_Level)


Set Power_Slam_Damage = ((Real(Power_Slam_Strength)) x (Real(Power_Slam_Damage_Multiplier)))


Set Power_Slam_Base_Chance = 15.00


Set Power_Slam_Total_Chance = (Power_Slam_Base_Chance x (Real(Power_Slam_Ability_Level)))


Set Power_Slam_Dummy_Ability = Power Slam(dummy)


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


-------- Damaging the Target --------


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


Unit - Cause Power_Slam_Caster to damage Power_Slam_Target, dealing Power_Slam_Damage damage of attack type Spells and damage type Unknown


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect at Power_Slam_Location using Abilities\Weapons\Bolt\BoltImpact.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Power_Slam_Location using Abilities\Spells\Human\StormBolt\StormBoltMissile.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Giving a chance to trigger the bonus actions --------


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


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



If - Conditions




(Random real number between 1.00 and 100.00) Less than or equal to Power_Slam_Total_Chance



Then - Actions




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




-------- Setting the Dummy, ordering it to cast a spell --------




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




Unit - Create 1 Dummy for Power_Slam_Owner at Power_Slam_Location facing Default building facing degrees




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




Unit - Add Power_Slam_Dummy_Ability to (Last created unit)




Unit - Set level of Power_Slam_Dummy_Ability for (Last created unit) to Power_Slam_Ability_Level




Unit - Order (Last created unit) to Human Mountain King - Storm Bolt Power_Slam_Target




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




-------- Creating nice special effect --------




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




Special Effect - Create a special effect at Power_Slam_Location using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl




Special Effect - Destroy (Last created special effect)




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



Else - Actions


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


-------- Creating and setting floating text --------


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


Floating Text - Create floating text that reads ((String((Integer(Power_Slam_Damage)))) + !) above Power_Slam_Target with Z offset 0.00, using font size 10.00, color (0.00%, 40.00%, 100.00%), and 0.00% transparency


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds


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


-------- Clearing Leaks --------


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


Custom script: call RemoveLocation(udg_Power_Slam_Location)
Termal Eruption

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Termal Eruption

Actions


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


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


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


Set Termal_Eruption_Caster = (Triggering unit)


Set Termal_Eruption_Owner = (Owner of Termal_Eruption_Caster)


Set Termal_Eruption_Location = (Target point of ability being cast)


Set Termal_Eruption_Ability_Level = (Level of (Ability being cast) for Termal_Eruption_Caster)


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


-------- Setting the Spell values --------


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


Set Termal_Eruption_Area_of_Effect = 200.00


Set Termal_Eruption_Base_Damage = 90.00


Set Termal_Eruption_Total_Damage = (Termal_Eruption_Base_Damage x (Real(Termal_Eruption_Ability_Level)))


Set Termal_Eruption_Loop_Number = 18


Set Termal_Eruption_Dummy_Ability = Termal Eruption(dummy)


Set Termal_Eruption_DummyAbility2 = Termal Eruption2(dummy)


Set Termal_Eruption_Damage_Group = (Units within Termal_Eruption_Area_of_Effect of Termal_Eruption_Location 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 Termal_Eruption_Owner) Equal t


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


For each (Integer A) from 1 to Termal_Eruption_Loop_Number, do (Actions)



Loop - Actions




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




-------- Setting Loop Location --------




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




Set Termal_Eruption_Loop_Location = (Termal_Eruption_Location offset by 50.00 towards (360.00 x ((Real((Integer A))) / (Real(Termal_Eruption_Loop_Number)))) degrees)




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




-------- Setting the Dummy, ordering it to cast a spell --------




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




Unit - Create 1 Dummy for Termal_Eruption_Owner at Termal_Eruption_Location facing Default building facing degrees




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




Unit - Add Termal_Eruption_Dummy_Ability to (Last created unit)




Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm Termal_Eruption_Loop_Location




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




-------- Clearing Leaks --------




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




Custom script: call RemoveLocation(udg_Termal_Eruption_Loop_Location)




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


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



Loop - Actions




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




-------- Damaging the units from unit group and creating nice special effects --------




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




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




Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl




Special Effect - Destroy (Last created special effect)




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


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


-------- Setting the Dummy, ordering it to cast a spell --------


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


Unit - Create 1 Dummy for Termal_Eruption_Owner at Termal_Eruption_Location facing Default building facing degrees


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


Unit - Add Termal_Eruption_DummyAbility2 to (Last created unit)


Unit - Set level of Termal_Eruption_DummyAbility2 for (Last created unit) to Termal_Eruption_Ability_Level


Unit - Order (Last created unit) to Human Mountain King - Thunder Clap


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


-------- Creating nice special effects --------


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


Special Effect - Create a special effect at Termal_Eruption_Location using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Termal_Eruption_Location using Objects\Spawnmodels\NightElf\NECancelDeath\NECancelDeath.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Clearing Leaks --------


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


Custom script: call RemoveLocation(udg_Termal_Eruption_Location)


Custom script: call DestroyGroup(udg_Termal_Eruption_Damage_Group)
Multi Shot

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Multi Shot

Actions


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


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


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


Set Multi_Shot_Caster = (Triggering unit)


Set Multi_Shot_Owner = (Owner of Multi_Shot_Caster)


Set Multi_Shot_Ability_Level = (Level of (Ability being cast) for Multi_Shot_Caster)


Set Multi_Shot_Facing = (Facing of Multi_Shot_Caster)


Set Multi_Shot_Location = (Position of Multi_Shot_Caster)


Set Multi_Shot_Location_2 = (Target point of ability being cast)


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


-------- Setting the Spell values --------


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


Set Multi_Shot_Base_Arrow_Count = 10


Set Multi_Shot_Total_Arrow_Count = ((Multi_Shot_Base_Arrow_Count / 2) x Multi_Shot_Ability_Level)


Set Multi_Shot_Dummy_Ability = Multi Shot(dummy)


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


-------- Setting the Dummy, ordering it to cast a spell --------


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


Unit - Create 1 Dummy for Multi_Shot_Owner at Multi_Shot_Location facing Default building facing degrees


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


Unit - Add Multi_Shot_Dummy_Ability to (Last created unit)


Unit - Set level of Multi_Shot_Dummy_Ability for (Last created unit) to Multi_Shot_Ability_Level


Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm Multi_Shot_Location_2


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


For each (Integer A) from 1 to Multi_Shot_Total_Arrow_Count, do (Actions)



Loop - Actions




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




-------- Setting Loop Location --------




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




Set Multi_Shot_Loop_Location = (Multi_Shot_Location offset by 50.00 towards ((Angle from Multi_Shot_Location to Multi_Shot_Location_2) + (2.00 x (Real((Integer A))))) degrees)




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




-------- Setting the Dummy, ordering it to cast a spell --------




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




Unit - Create 1 Dummy for Multi_Shot_Owner at Multi_Shot_Location facing Default building facing degrees




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




Unit - Add Multi_Shot_Dummy_Ability to (Last created unit)




Unit - Set level of Multi_Shot_Dummy_Ability for (Last created unit) to Multi_Shot_Ability_Level




Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm Multi_Shot_Loop_Location




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




-------- Setting Loop Location --------




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




Set Multi_Shot_Loop_Location2 = (Multi_Shot_Location offset by 50.00 towards ((Angle from Multi_Shot_Location to Multi_Shot_Location_2) - (2.00 x (Real((Integer A))))) degrees)




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




-------- Setting the Dummy, ordering it to cast a spell --------




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




Unit - Create 1 Dummy for Multi_Shot_Owner at Multi_Shot_Location facing Default building facing degrees




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




Unit - Add Multi_Shot_Dummy_Ability to (Last created unit)




Unit - Set level of Multi_Shot_Dummy_Ability for (Last created unit) to Multi_Shot_Ability_Level




Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm Multi_Shot_Loop_Location2




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




-------- Clearing Leaks --------




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




Custom script: call RemoveLocation(udg_Multi_Shot_Loop_Location)




Custom script: call RemoveLocation(udg_Multi_Shot_Loop_Location2)




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


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


-------- Clearing Leaks --------


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


Custom script: call RemoveLocation(udg_Multi_Shot_Location)


Custom script: call RemoveLocation(udg_Multi_Shot_Location_2)
Aqua Burst

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Aqua Burst

Actions


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


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


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


Set Aqua_Burst_Caster = (Triggering unit)


Set Aqua_Burst_Location = (Target point of ability being cast)


Set Aqua_Burst_Ability_Level = (Level of (Ability being cast) for Aqua_Burst_Caster)


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


-------- Setting the Spell values --------


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


Set Aqua_Burst_Area_of_Effect = 175.00


Set Aqua_Burst_Base_Damage = 70.00


Set Aqua_Burst_Total_Damage = (Aqua_Burst_Base_Damage x (Real(Aqua_Burst_Ability_Level)))


Set Aqua_Burst_Damage_Group = (Units within Aqua_Burst_Area_of_Effect of Aqua_Burst_Location 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 Aqua_Burst_Caster)) Equal to T


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


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



Loop - Actions




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




-------- Damaging the units from unit group and creating nice special effects --------




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




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




Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl




Special Effect - Destroy (Last created special effect)




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


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


-------- Moving the unit --------


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


Unit - Pause Aqua_Burst_Caster


Unit - Move Aqua_Burst_Caster instantly to Aqua_Burst_Location


Unit - Unpause Aqua_Burst_Caster


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


-------- Playing a nice unit animation --------


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


Animation - Play Aqua_Burst_Caster's birth animation


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect attached to the origin of Aqua_Burst_Caster using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Clearing Leaks --------


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


Custom script: call RemoveLocation(udg_Aqua_Burst_Location)


Custom script: call DestroyGroup(udg_Aqua_Burst_Damage_Group)
Napalm Strike

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Napalm Strike

Actions


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


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


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


Set Napalm_Strike_Caster = (Triggering unit)


Set Napalm_Strike_Location = (Target point of ability being cast)


Set Napalm_Strike_Owner = (Owner of Napalm_Strike_Caster)


Set Napalm_Strike_Ability_Level = (Level of (Ability being cast) for Napalm_Strike_Caster)


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


-------- Setting the Spell values --------


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


Set Napalm_Strike_Area_of_Effect = 225.00


Set Napalm_Strike_Base_Damage = 90.00


Set Napalm_Strike_Total_Damage = (Napalm_Strike_Base_Damage x (Real(Napalm_Strike_Ability_Level)))


Set Napalm_Strike_Dummy_Ability = Napalm Strike(dummy)


Set Napalm_Strike_Damage_Group = (Units within Napalm_Strike_Area_of_Effect of Napalm_Strike_Location 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 Napalm_Strike_Caster)) E


For each (Integer A) from 1 to 25, do (Actions)



Loop - Actions




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




-------- Creating and setting the dummy --------




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




Unit - Create 1 Dummy for Napalm_Strike_Owner at Napalm_Strike_Location facing Default building facing degrees




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




Animation - Change (Last created unit) flying height to (20.00 x (Real((Integer A)))) at 0.00




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




-------- Creating special effect --------




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




Special Effect - Create a special effect attached to the chest of (Last created unit) using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl




Special Effect - Destroy (Last created special effect)


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



Loop - Actions




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




-------- Damaging the Arera and creating special effect --------




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




Unit - Cause Napalm_Strike_Caster to damage (Picked unit), dealing Napalm_Strike_Total_Damage damage of attack type Spells and damage type Normal




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




-------- Creating special effect --------




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




Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl




Special Effect - Destroy (Last created special effect)


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


-------- Creating special effect --------


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


Special Effect - Create a special effect at Napalm_Strike_Location using Abilities\Spells\Other\Doom\DoomDeath.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Napalm_Strike_Location using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Creating and setting the dummy --------


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


Unit - Create 1 Dummy for Napalm_Strike_Owner at Napalm_Strike_Location facing Default building facing degrees


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


Unit - Add Napalm_Strike_Dummy_Ability to (Last created unit)


Unit - Set level of Napalm_Strike_Dummy_Ability for (Last created unit) to Napalm_Strike_Ability_Level


Unit - Order (Last created unit) to Human Blood Mage - Flame Strike Napalm_Strike_Location


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


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


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


Custom script: call RemoveLocation(udg_Napalm_Strike_Location)


Custom script: call DestroyGroup(udg_Napalm_Strike_Damage_Group)
Wound Poison

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Wound Poison

Actions


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


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


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


-------- Getting casting unit --------


Custom script: local unit a = GetTriggerUnit()


-------- Getting spell target --------


Custom script: local unit b = GetSpellTargetUnit()


-------- Getting ability level --------


Custom script: local integer c = GetUnitAbilityLevelSwapped(GetSpellAbilityId(), a)


-------- Getting loop start value --------


Custom script: local integer d = 1


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


-------- Setting the Spell values --------


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


-------- Inital base damage --------


Custom script: local real e = 60.


-------- Inital total damage --------


Custom script: local real f = (e*I2R(c))


-------- Base damage over time --------


Custom script: local real g = 5.


-------- Total damage over time --------


Custom script: local real h = (g*I2R(c))


-------- Duration between loops --------


Custom script: local real i = .5


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


-------- Damaging the unit and creating nice special effects --------


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


Custom script: call UnitDamageTarget(a, b, f, true,false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNKNOWN,WEAPON_TYPE_WHOKNOWS)


Custom script: call DestroyEffect (AddSpecialEffectTarget("Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl",b,"chest"))


Custom script: call DestroyEffect (AddSpecialEffectTarget("Abilities\\Spells\\NightElf\\ManaBurn\\ManaBurnTarget.mdl",b,"origin"))


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


-------- Starting the loop --------


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


Custom script: loop


Custom script: exitwhen GetBooleanOr(d > 20, GetUnitState(b, UNIT_STATE_LIFE) <= 0.405)


Custom script: call TriggerSleepAction(i)


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


-------- Damaging the unit and creating nice special effects --------


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


Custom script: call UnitDamageTarget(a, b, h, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNKNOWN,WEAPON_TYPE_WHOKNOWS)


Custom script: call DestroyEffect (AddSpecialEffectTarget("Objects\\Spawnmodels\\Other\\HumanBloodCinematicEffect\\HumanBloodCinematicEffect.mdl",b,"chest"))


Custom script: call DestroyEffect (AddSpecialEffectTarget("Abilities\\Spells\\Other\\AcidBomb\\BottleImpact.mdl",b,"chest"))


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


Custom script: set d = d + 1


Custom script: endloop


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


-------- Nulling Locals --------


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


Custom script: set a = null


Custom script: set b = null
Fire Wall

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Fire Wall

Actions


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


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


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


Set Fire_Wall_Caster = (Triggering unit)


Set Fire_Wall_Owner = (Owner of Fire_Wall_Caster)


Set Fire_Wall_Ability_Level = (Level of (Ability being cast) for Fire_Wall_Caster)


Set Fire_Wall_Location = (Target point of ability being cast)


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


-------- Setting the Spell values --------


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


Set Fire_Wall_Duration = 10.00


Set Fire_Wall_Distance = 70.00


Set Fire_Wall_Dummy_Ability = FireWall(dummy)


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


-------- Creating and setting the dummy unit --------


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


Unit - Create 1 Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Location facing Default building facing degrees


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


Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)


Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level


Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation


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


-------- Creating special effect --------


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


Special Effect - Create a special effect at Fire_Wall_Location using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl


Special Effect - Destroy (Last created special effect)


For each (Integer A) from 1 to 5, do (Actions)



Loop - Actions




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




-------- Setting the location --------




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




Set Fire_Wall_Loop_Location = (Fire_Wall_Location offset by (Fire_Wall_Distance x (Real((Integer A)))) towards ((Facing of Fire_Wall_Caster) - 90.00) degrees)




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Loop_Location facing Default building facing degrees




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




Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)




Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level




Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation




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




-------- Creating special effect --------




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




Special Effect - Create a special effect at Fire_Wall_Loop_Location using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl




Special Effect - Destroy (Last created special effect)




Special Effect - Create a special effect at Fire_Wall_Loop_Location using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl




Special Effect - Destroy (Last created special effect)




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




-------- Setting the location --------




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




Set Fire_Wall_Loop_Location_2 = (Fire_Wall_Location offset by (Fire_Wall_Distance x (Real((Integer A)))) towards ((Facing of Fire_Wall_Caster) + 90.00) degrees)




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Loop_Location_2 facing Default building facing degrees




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




Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)




Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level




Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation




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




-------- Creating special effect --------




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




Special Effect - Create a special effect at Fire_Wall_Loop_Location_2 using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl




Special Effect - Destroy (Last created special effect)




Special Effect - Create a special effect at Fire_Wall_Loop_Location_2 using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl




Special Effect - Destroy (Last created special effect)




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




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




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




Custom script: call RemoveLocation(udg_Fire_Wall_Loop_Location)




Custom script: call RemoveLocation(udg_Fire_Wall_Loop_Location_2)


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


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


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


Custom script: call RemoveLocation(udg_Fire_Wall_Location)
Shadowstep

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Shadowstep

Actions


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


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


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


Set Shadowstep_Caster = (Triggering unit)


Set Shadowstep_Target = (Target unit of ability being cast)


Set Shadowstep_Ability_Level = (Level of (Ability being cast) for Shadowstep_Caster)


Set Shadowstep_Location = ((Position of Shadowstep_Target) offset by 125.00 towards (Facing of Shadowstep_Caster) degrees)


Set Shadowstep_Location_2 = (Position of Shadowstep_Caster)


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


-------- Setting the Spell values --------


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


Set Shadowstep_Loop_Number = 20


Set Shadowstep_Base_Damage = (Current movement speed of Shadowstep_Caster)


Set Shadowstep_Damage_Multiplier = 0.35


Set Shadowstep_Total_Damage = (Shadowstep_Base_Damage x (Shadowstep_Damage_Multiplier x (Real(Shadowstep_Ability_Level))))


Set Shadowstep_Calculation = ((Distance between Shadowstep_Location and Shadowstep_Location_2) / (Real(Shadowstep_Loop_Number)))


For each (Integer A) from 1 to Shadowstep_Loop_Number, do (Actions)



Loop - Actions




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




-------- Setting the location --------




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




Set Shadowstep_Loop_Location = (Shadowstep_Location_2 offset by (Shadowstep_Calculation x (Real((Integer A)))) towards (Facing of Shadowstep_Caster) degrees)




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy(Shadowstep) for (Owner of Shadowstep_Caster) at Shadowstep_Loop_Location facing Default building facing degrees




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




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




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




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




Custom script: call RemoveLocation(udg_Shadowstep_Loop_Location)


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


-------- Moving the caster --------


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


Unit - Pause Shadowstep_Caster


Unit - Move Shadowstep_Caster instantly to Shadowstep_Location, facing (Facing of Shadowstep_Target) degrees


Unit - Unpause Shadowstep_Caster


Unit - Cause Shadowstep_Caster to damage Shadowstep_Target, dealing Shadowstep_Total_Damage damage of attack type Spells and damage type Unknown


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


-------- Creating special effects --------


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


Special Effect - Create a special effect attached to the origin of Shadowstep_Target using Abilities\Spells\Human\Invisibility\InvisibilityTarget.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Creating and setting the floating text --------


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


Floating Text - Create floating text that reads ((String((Integer(Shadowstep_Total_Damage)))) + !) above Shadowstep_Target with Z offset 0.00, using font size 10.00, color (80.00%, 80.00%, 80.00%), and 0.00% transparency


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds


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


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


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


Custom script: call RemoveLocation(udg_Shadowstep_Location)


Custom script: call RemoveLocation(udg_Shadowstep_Location_2)
Sinister Strike

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Sinister Strike

Actions


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


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


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


Set Sinister_Strike_Caster = (Triggering unit)


Set Sinister_Strike_Target = (Target unit of ability being cast)


Set Sinister_Strike_Ability_Level = (Level of (Ability being cast) for Sinister_Strike_Caster)


Set Sinister_Strike_Location = (Position of Sinister_Strike_Target)


Set Sinister_Strike_Owner = (Owner of Sinister_Strike_Caster)


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


-------- Setting the Spell values --------


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


Set Sinister_Strike_Dummy_Ability = Sinister Strike(dummy)


Set Sinister_Strike_Dummy_Ability2 = Sinister Strike(dummy_bonus)


Set Sinister_Strike_Atribute = (Agility of Sinister_Strike_Caster (Include bonuses))


Set Sinister_Strike_Damage_Factor = 2.00


Set Sinister_Strike_Total_Damage = (Sinister_Strike_Damage_Factor x ((Real(Sinister_Strike_Atribute)) x (Real(Sinister_Strike_Ability_Level))))


Set Sinister_Strike_Normal_Armor = (Sinister_Strike_Ability_Level + 2)


Set Sinister_Strike_Bonus_Armor = (Sinister_Strike_Ability_Level + 4)


Set Sinister_Strike_Base_Chance = 15.00


Set Sinister_Strike_Total_Chance = (Sinister_Strike_Base_Chance x (Real(Sinister_Strike_Ability_Level)))


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


-------- Creating a big special effect --------


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


For each (Integer A) from 1 to 10, do (Actions)



Loop - Actions




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




-------- Creating special effect --------




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




Special Effect - Create a special effect attached to the origin of Sinister_Strike_Target using Abilities\Spells\Undead\DeathandDecay\DeathandDecayTarget.mdl




Special Effect - Destroy (Last created special effect)


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


-------- Damaging the Target --------


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


Unit - Cause Sinister_Strike_Caster to damage Sinister_Strike_Target, dealing Sinister_Strike_Total_Damage damage of attack type Spells and damage type Unknown


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


-------- Checking for a chance --------


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


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



If - Conditions




(Random real number between 1.00 and 100.00) Less than or equal to Sinister_Strike_Total_Chance



Then - Actions




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




-------- Creating and setting the dummy --------




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




Unit - Create 1 Dummy for Sinister_Strike_Owner at Sinister_Strike_Location facing Default building facing degrees




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




Unit - Add Sinister_Strike_Dummy_Ability2 to (Last created unit)




Unit - Set level of Sinister_Strike_Dummy_Ability for (Last created unit) to Sinister_Strike_Ability_Level




Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb Sinister_Strike_Target




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




-------- Creating special effect --------




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




Special Effect - Create a special effect attached to the origin of Sinister_Strike_Target using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl




Special Effect - Destroy (Last created special effect)




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




-------- Creating floating text --------




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




Floating Text - Create floating text that reads ((String((Integer(Sinister_Strike_Total_Damage)))) + ( / - + ((String(Sinister_Strike_Bonus_Armor)) + !))) above Sinister_Strike_Target with Z offset 0.00, using font size 10.00, color (40.00%, 0.00%, 50.00%), and 0.00% transparency



Else - Actions




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




-------- Creating and setting the dummy --------




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




Unit - Create 1 Dummy for Sinister_Strike_Owner at Sinister_Strike_Location facing Default building facing degrees




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




Unit - Add Sinister_Strike_Dummy_Ability to (Last created unit)




Unit - Set level of Sinister_Strike_Dummy_Ability for (Last created unit) to Sinister_Strike_Ability_Level




Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb Sinister_Strike_Target




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




-------- Creating floating text --------




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




Floating Text - Create floating text that reads ((String((Integer(Sinister_Strike_Total_Damage)))) + ( / - + ((String(Sinister_Strike_Normal_Armor)) + !))) above Sinister_Strike_Target with Z offset 0.00, using font size 10.00, color (40.00%, 0.00%, 50.00%), and 0.00% transparency


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


-------- Setting floating text --------


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


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds


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


-------- Creating floating text --------


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


Custom script: call RemoveLocation(udg_Sinister_Strike_Location)
Ion Canon

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Ion Canon

Actions


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


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


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


Set Ion_Canon_Caster = (Triggering unit)


Set Ion_Canon_Ability_Level = (Level of (Ability being cast) for Ion_Canon_Caster)


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


-------- Setting the Spell values --------


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


Set Ion_Canon_Distance = 50.00


Set Ion_Canon_Loop_Number = 25


Set Ion_Canon_Base_Damage = 45.00


Set Ion_Canon_Total_Damage = (Ion_Canon_Base_Damage x (Real(Ion_Canon_Ability_Level)))


Set Ion_Canon_Base_Mana_Burn = 30.00


Set Ion_Canon_Total_Mana_Burn = (Ion_Canon_Base_Mana_Burn x (Real(Ion_Canon_Ability_Level)))


Set Ion_Canon_AoE = 75.00


Set Ion_Canon_Location = ((Position of Ion_Canon_Caster) offset by 100.00 towards (Facing of Ion_Canon_Caster) degrees)


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


-------- Creating and setting the dummy --------


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


Unit - Create 1 Dummy(Ion Canon Start) for (Owner of Ion_Canon_Caster) at Ion_Canon_Location facing (Facing of Ion_Canon_Caster) degrees


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


For each (Integer A) from 1 to Ion_Canon_Loop_Number, do (Actions)



Loop - Actions




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




-------- Setting a location --------




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




Set Ion_Canon_Loop_Location = (Ion_Canon_Location offset by (Ion_Canon_Distance x (Real((Integer A)))) towards (Facing of Ion_Canon_Caster) degrees)




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




-------- Creating and setting the dummy --------




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




Unit - Create 1 Dummy(Ion Canon) for (Owner of Ion_Canon_Caster) at Ion_Canon_Loop_Location facing (Facing of Ion_Canon_Caster) degrees




Unit - Add Ion_Canon(dummy height trick) to (Last created unit)




Unit - Remove Ion_Canon(dummy height trick) from (Last created unit)




Animation - Change (Last created unit) flying height to 100.00 at 0.00




Unit - Turn collision for (Last created unit) Off




Unit - Add a (0.85 - (0.01 x (Real((Integer A))))) second Generic expiration timer to (Last created unit)




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




-------- Setting the unit group --------




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




Set Ion_Canon_Damage_Group = (Units within Ion_Canon_AoE of Ion_Canon_Loop_Location 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 Ion_Canon_Caster)) Equal to True))))




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





Loop - Actions






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






-------- Damaging the Arera, burning mana and creating special effects --------






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






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






Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - Ion_Canon_Total_Mana_Burn)






Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\DragonHawkMissile\DragonHawkMissile.mdl






Special Effect - Destroy (Last created special effect)






Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl






Special Effect - Destroy (Last created special effect)




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




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




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




Custom script: call DestroyGroup(udg_Ion_Canon_Damage_Group)




Custom script: call RemoveLocation(udg_Ion_Canon_Loop_Location)


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


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


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


Custom script: call RemoveLocation(udg_Ion_Canon_Location)
Holy Blessing

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Holy Blessing

Actions


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


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


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


Custom script: local unit u = GetTriggerUnit()


Custom script: local unit t = GetSpellTargetUnit()


Custom script: local integer i = GetUnitAbilityLevelSwapped(GetSpellAbilityId(), u)


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


-------- Setting the Spell values --------


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


-------- Heal base value --------


Custom script: local real r = 90.


-------- Heal total value --------


Custom script: local real h = r * I2R(i)


-------- Base duration --------


Custom script: local real w = 2.


-------- Total Duration --------


Custom script: local real w2 = w * i


-------- Special effects --------


Custom script: local string s = "Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget.mdl"


Custom script: local string s2 = "Abilities\\Spells\\Human\\DivineShield\\DivineShieldTarget.mdl"


-------- Attachment point --------


Custom script: local string a = "origin"


Custom script: local effect e


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


-------- Starting the spell effect --------


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


-------- Healing unit --------


Custom script: call SetWidgetLife (t, ( GetUnitStateSwap(UNIT_STATE_LIFE, t) + h))


-------- Making unit invulnerable --------


Custom script: call SetUnitInvulnerable (t, true)


-------- Creating special effect --------


Custom script: call DestroyEffect (AddSpecialEffectTarget(s , t, a))


-------- Creating special effect that will last as long as last duration --------


Custom script: set e = AddSpecialEffectTarget (s2, t, a)


-------- Waiting for the end of duration --------


Custom script: call PolledWait (w2)


-------- Making unit back vulnerable --------


Custom script: call SetUnitInvulnerable (t, false)


-------- Destroying special effect --------


Custom script: call DestroyEffect(e)


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


-------- Nulling locals --------


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


Custom script: set u = null


Custom script: set t = null


Custom script: set e = null
Earth Fury

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Earth Fury

Actions


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


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


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


Set Earth_Fury_Caster = (Triggering unit)


Set Earth_Fury_Owner = (Owner of Earth_Fury_Caster)


Set Earth_Fury_Location = (Position of Earth_Fury_Caster)


Set Earth_Fury_Ability_Level = (Level of (Ability being cast) for Earth_Fury_Caster)


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


-------- Setting the Spell values --------


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


Set Earth_Fury_Dummy_Ability = Earth Fury(dummy)


Set Earth_Fury_Dummy_Ability_2 = Earth Fury(dummy frenzy)


Set Earth_Fury_Chance = 45.00


Set Earth_Fury_Base_Damage = 50.00


Set Earth_Fury_Bonus_Damage = 75.00


Set Earth_Fury_Total_Damage = (Earth_Fury_Base_Damage + (Earth_Fury_Bonus_Damage x (Real(Earth_Fury_Ability_Level))))


Set Earth_Fury_Base_Area_of_Effect = 125.00


Set Earth_Fury_AoE_Bouns = 75.00


Set Earth_Fury_Total_Area_of_Effec = (Earth_Fury_Base_Area_of_Effect + (Earth_Fury_AoE_Bouns x (Real(Earth_Fury_Ability_Level))))


Set Earth_Fury_Damage_Group = (Units within Earth_Fury_Total_Area_of_Effec of Earth_Fury_Location 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 Earth_Fury_Owner) Equal to True))))


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


-------- If/Then/Else checks for a chance --------


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


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



If - Conditions




(Random real number between 1.00 and 100.00) Less than or equal to Earth_Fury_Chance



Then - Actions




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy for Earth_Fury_Owner at Earth_Fury_Location facing Default building facing degrees




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




Unit - Add Earth_Fury_Dummy_Ability to (Last created unit)




Unit - Set level of Earth_Fury_Dummy_Ability for (Last created unit) to Earth_Fury_Ability_Level




Unit - Order (Last created unit) to Night Elf Warden - Fan Of Knives




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy(Earth Fury) for Earth_Fury_Owner at Earth_Fury_Location facing Default building facing degrees




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




Unit - Add Earth_Fury_Dummy_Ability_2 to (Last created unit)




Unit - Set level of Earth_Fury_Dummy_Ability_2 for (Last created unit) to Earth_Fury_Ability_Level




Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy Earth_Fury_Caster



Else - Actions


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



Loop - Actions




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




-------- Damaging the Arera and creating special effect --------




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




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




Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl




Special Effect - Destroy (Last created special effect)


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect at Earth_Fury_Location using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Earth_Fury_Location using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Earth_Fury_Location using Doodads\LordaeronSummer\Terrain\LoardaeronRockChunks\LoardaeronRockChunks0.mdl


Special Effect - Destroy (Last created special effect)


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


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


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


Custom script: call RemoveLocation(udg_Earth_Fury_Location)


Custom script: call DestroyGroup(udg_Earth_Fury_Damage_Group)
Thunder Rage

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Thunder Rage

Actions


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


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


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


Set Thunder_Rage_Caster = (Triggering unit)


Set Thunder_Rage_Ability_Level = (Level of (Ability being cast) for Thunder_Rage_Caster)


Set Thunder_Rage_Location = (Target point of ability being cast)


Set Thunder_Rage_Owner = (Owner of Thunder_Rage_Caster)


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


-------- Setting the Spell values --------


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


Set Thunder_Rage_Area_of_Effect = 225.00


Set Thunder_Rage_Mini_AoE = 85.00


Set Thunder_Rage_Base_Mini_Damage = 25.00


Set Thunder_Rage_Damage_Factor = 0.20


Set Thunder_Rage_Base_Unit_HP = 75.00


Set Thunder_Rage_Total_Mini_Damage = (Thunder_Rage_Base_Mini_Damage x (Real(Thunder_Rage_Ability_Level)))


Set Thunder_Rage_Unit_HP = (Thunder_Rage_Base_Unit_HP x (Real(Thunder_Rage_Ability_Level)))


Set Thunder_Rage_Total_Damage = (Thunder_Rage_Damage_Factor x (Real(Thunder_Rage_Ability_Level)))


Set Thunder_Rage_Damage_Group = (Units within Thunder_Rage_Area_of_Effect of Thunder_Rage_Location 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 Thunder_Rage_Owner) Equal to True)))


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


For each (Integer A) from 1 to 25, do (Actions)



Loop - Actions




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




-------- Creating the dummies as a ligtning effect --------




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




Set Thunder_Rage_Loop_Location = (Thunder_Rage_Location offset by (Random real number between 0.00 and 20.00) towards (Random angle) degrees)




Unit - Create 1 Dummy(Raging Thunder) for Thunder_Rage_Owner at Thunder_Rage_Loop_Location facing (Random angle) degrees




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




Animation - Change (Last created unit) flying height to (30.00 x (Real((Integer A)))) at 0.00




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




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




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




Custom script: call RemoveLocation(udg_Thunder_Rage_Loop_Location)


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


-------- Checking for units that gets instantly killed --------


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


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



Loop - Actions




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





If - Conditions






(Life of (Picked unit)) Less than or equal to Thunder_Rage_Unit_HP





Then - Actions






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






-------- Instantly killing picked units --------






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






Unit - Cause Thunder_Rage_Caster to damage (Picked unit), dealing 5000.00 damage of attack type Spells and damage type Normal






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






-------- Prewenting to explode heroes, that could bug in multiplayer games --------






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






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







If - Conditions








((Picked unit) is A Hero) Equal to False







Then - Actions








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








-------- Setting locations, creating another smaller group and expolding killed units --------








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








Set Thunder_Rage_Location2 = (Position of (Picked unit))








Set Thunder_Rage_Mini_Damage_Group = (Units within Thunder_Rage_Mini_AoE of Thunder_Rage_Location2 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 Thunder_Rage_Owner) Equal to True))))








Unit - Remove (Picked unit) from the game








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








-------- Creating nice special effect --------








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








Special Effect - Create a special effect at Thunder_Rage_Location2 using Objects\Spawnmodels\Undead\UndeadLargeDeathExplode\UndeadLargeDeathExplode.mdl








Special Effect - Destroy (Last created special effect)








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









Loop - Actions










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










-------- Damaging the smaller area, as a result of corpse explosion --------










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










Unit - Cause Thunder_Rage_Caster to damage (Picked unit), dealing Thunder_Rage_Total_Mini_Damage damage of attack type Spells and damage type Normal










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










-------- Creating nice special effect --------










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










Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl










Special Effect - Destroy (Last created special effect)










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








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








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








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








Custom script: call DestroyGroup(udg_Thunder_Rage_Mini_Damage_Group)








Custom script: call RemoveLocation(udg_Thunder_Rage_Location2)








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







Else - Actions





Else - Actions






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






-------- Damaging units from the unit group --------






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






Unit - Cause Thunder_Rage_Caster to damage (Picked unit), dealing ((Max life of (Picked unit)) x Thunder_Rage_Total_Damage) damage of attack type Spells and damage type Unknown






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






-------- Creating nice special effect --------






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






Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Orc\LightningShield\LightningShieldBuff.mdl






Special Effect - Destroy (Last created special effect)






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


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect at Thunder_Rage_Location using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Thunder_Rage_Location using Abilities\Spells\Undead\FreezingBreath\FreezingBreathMissile.mdl


Special Effect - Destroy (Last created special effect)


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


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


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


Custom script: call RemoveLocation(udg_Thunder_Rage_Location)


Custom script: call DestroyGroup(udg_Thunder_Rage_Damage_Group)
Beast Attack

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Beast Attack

Actions


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


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


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


Set Beast_Attack_Caster = (Triggering unit)


Set Beast_Attack_Target = (Target unit of ability being cast)


Set Beast_Attack_Ability_Level = (Level of (Ability being cast) for Beast_Attack_Caster)


Set Beast_Attack_Location = (Position of Beast_Attack_Caster)


Set Beast_Attack_Location2 = (Position of Beast_Attack_Target)


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


-------- Setting the Spell values --------


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


Set Beast_Attack_Max_Life = (Max life of Beast_Attack_Caster)


Set Beast_Attack_Damage_Splitter = 8


Set Beast_Attack_Atribute = (Strength of Beast_Attack_Caster (Include bonuses))


Set Beast_Attack_Life_Damage = (Beast_Attack_Max_Life / (Real(Beast_Attack_Damage_Splitter)))


Set Beast_Attack_Atribute_Damage = ((Real(Beast_Attack_Atribute)) x (Real(Beast_Attack_Ability_Level)))


Set Beast_Attack_Total_Damage = (Beast_Attack_Life_Damage + Beast_Attack_Atribute_Damage)


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


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


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


Set KnockbackAngle = (Angle from Beast_Attack_Location to Beast_Attack_Location2)


Set KnockbackSpeed = 12.00


Set KnockbackDistance = 300.00


Hashtable - Save KnockbackSpeed as (Key speed) of (Key (Target unit of ability being cast)) in KnockbackTable


Hashtable - Save KnockbackAngle as (Key angle) of (Key (Target unit of ability being cast)) in KnockbackTable


Hashtable - Save KnockbackDistance as (Key distance) of (Key (Target unit of ability being cast)) in KnockbackTable


Unit - Pause Beast_Attack_Target


Unit - Turn collision for Beast_Attack_Target Off


Unit Group - Add Beast_Attack_Target to KnockbackUnits


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


-------- Damaging the target --------


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


Unit - Cause Beast_Attack_Caster to damage Beast_Attack_Target, dealing Beast_Attack_Total_Damage damage of attack type Spells and damage type Unknown


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect attached to the hand, left of Beast_Attack_Caster using units\human\phoenix\phoenix.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect attached to the hand, right of Beast_Attack_Caster using units\human\phoenix\phoenix.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Crreating Floating Text --------


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


Floating Text - Create floating text that reads ((String((Integer(Beast_Attack_Total_Damage)))) + !) above Beast_Attack_Caster with Z offset 0.00, using font size 10.00, color (100.00%, 5.00%, 5.00%), and 0.00% transparency


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds


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


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


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


Custom script: call RemoveLocation(udg_Beast_Attack_Location)


Custom script: call RemoveLocation(udg_Beast_Attack_Location2)
KnockbackUnits

Events


Time - Every 0.03 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 KnockbackUnits and do (Actions)



Loop - Actions




Set KnockbackSpeed = (Load (Key speed) of (Key (Picked unit)) from KnockbackTable)




Set KnockbackAngle = (Load (Key angle) of (Key (Picked unit)) from KnockbackTable)




Set KnockbackDistance = (Load (Key distance) of (Key (Picked unit)) from KnockbackTable)




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





If - Conditions






KnockbackDistance Greater than 0.00





Then - Actions






Set Knockback_Loc1 = (Position of (Picked unit))






Set Knockback_Loc2 = (Knockback_Loc1 offset by KnockbackSpeed towards KnockbackAngle degrees)






Destructible - Pick every destructible within 175.00 of Knockback_Loc1 and do (Destructible - Kill (Picked destructible))






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







If - Conditions








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







Then - Actions








Unit - Unpause Beast_Attack_Target








Unit - Turn collision for Knockback_Target On








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








Unit Group - Remove (Picked unit) from KnockbackUnits







Else - Actions








Unit - Move (Picked unit) instantly to Knockback_Loc2








Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl








Special Effect - Destroy (Last created special effect)








Hashtable - Save (KnockbackDistance - KnockbackSpeed) as (Key distance) of (Key (Picked unit)) in KnockbackTable








Custom script: call RemoveLocation(udg_Knockback_Loc1)








Custom script: call RemoveLocation(udg_Knockback_Loc2)





Else - Actions






Unit - Unpause Beast_Attack_Target






Unit - Turn collision for Knockback_Target On






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






Unit Group - Remove (Picked unit) from KnockbackUnits
Desecration

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Desecration

Actions


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


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


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


Set Desecration_Caster = (Triggering unit)


Set Desecration_Location = (Target point of ability being cast)


Set Desecration_Ability_Level = (Level of (Ability being cast) for Desecration_Caster)


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


-------- Setting the Spell values --------


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


Set Desecration_Area_of_Effect = 250.00


Set Desecration_Base_Damage = 20.00


Set Desecration_Level_Damage = (Desecration_Base_Damage x (Real(Desecration_Ability_Level)))


Set Desecration_Base_Heal = 10.00


Set Desecration_Level_Heal = (Desecration_Base_Heal x (Real(Desecration_Ability_Level)))


Set Desecration_Corpse_Group = (Units within Desecration_Area_of_Effect of Desecration_Location matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Not equal to True)))


Set Desecration_Damage_Group = (Units within Desecration_Area_of_Effect of Desecration_Location 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 Desecration_Caster)) Equal t


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


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



Loop - Actions




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




-------- Getting final calculations --------




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




Set Desecration_Explosion_Location = (Position of (Picked unit))




Set Desecration_Corpse_Counter = (Number of units in Desecration_Corpse_Group)




Set Desecration_Total_Damage = (Desecration_Level_Damage x (Real(Desecration_Corpse_Counter)))




Set Desecration_Total_Heal = (Desecration_Level_Heal x (Real(Desecration_Corpse_Counter)))




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




-------- Creating nice special effect --------




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




Special Effect - Create a special effect at Desecration_Explosion_Location using Objects\Spawnmodels\NightElf\NightElfLargeDeathExplode\NightElfLargeDeathExplode.mdl




Special Effect - Destroy (Last created special effect)




Special Effect - Create a special effect at Desecration_Explosion_Location using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl




Special Effect - Destroy (Last created special effect)




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




-------- Removing unit, as we don't need it anymore --------




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




Unit - Remove (Picked unit) from the game




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




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




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




Custom script: call RemoveLocation(udg_Desecration_Explosion_Location)




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


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



Loop - Actions




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




-------- Damaging the units --------




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




Unit - Cause Desecration_Caster to damage (Picked unit), dealing Desecration_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




Desecration_Corpse_Counter Greater than 0



Then - Actions




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




-------- Creating nice special effect --------




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




Special Effect - Create a special effect attached to the origin of Desecration_Caster using Abilities\Spells\Undead\DeathPact\DeathPactTarget.mdl




Special Effect - Destroy (Last created special effect)




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




-------- Creating and setting the floating text --------




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




Floating Text - Create floating text that reads (+ + (String((Integer(Desecration_Total_Heal))))) above Desecration_Caster with Z offset 0.00, using font size 10.00, color (40.00%, 0.00%, 50.00%), and 0.00% transparency




Floating Text - Change (Last created floating text): Disable permanence




Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees




Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds




Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds




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



Else - Actions


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect at Desecration_Location using Abilities\Spells\Human\FlameStrike\FlameStrikeTarget.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Desecration_Location using Objects\Spawnmodels\Undead\UDeathMedium\UDeath.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Desecration_Location using Objects\Spawnmodels\Undead\UndeadDissipate\UndeadDissipate.mdl


Special Effect - Destroy (Last created special effect)


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


-------- Healing the caster --------


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


Unit - Set life of Desecration_Caster to ((Life of Desecration_Caster) + Desecration_Total_Heal)


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


-------- Resseting the counter --------


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


Set Desecration_Corpse_Counter = 0


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


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


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


Custom script: call RemoveLocation(udg_Desecration_Location)


Custom script: call DestroyGroup(udg_Desecration_Corpse_Group)


Custom script: call DestroyGroup(udg_Desecration_Damage_Group)
Shadow Walk

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Shadow Walk

Actions


-------- Getting the caster --------


Custom script: local unit u = GetTriggerUnit()


-------- Getting owning player --------


Custom script: local player p = GetOwningPlayer(u)


-------- Getting lefel of an ability --------


Custom script: local integer i = GetUnitAbilityLevelSwapped(GetSpellAbilityId(),u)


-------- Getting ability raw code --------


Custom script: local integer s = 'A00U'


-------- Setting the base duration --------


Custom script: local real t1 = 4.


-------- Setting the total duration --------


Custom script: local real t2 = (t1*I2R(i))


-------- Setting the attachment point --------


Custom script: local string a = "chest"


-------- Setting the model path of the special effect --------


Custom script: local string e = "Abilities\\Spells\\Human\\Invisibility\\InvisibilityTarget.mdl"


-------- Removing NEGATIVE Buffs --------


Custom script: call UnitRemoveBuffs (u, false, true)


-------- Color values are Red, Green, Blue, Transperency --------


Custom script: call SetUnitVertexColor (u, 0, 0, 0, 125)


-------- Creating special effect --------


Custom script: call DestroyEffect (AddSpecialEffectTarget(e, u, a))


-------- Adding hidden abilities from the spell book --------


Custom script: call UnitAddAbility (u, s)


-------- Setting the level of the spell book --------


Custom script: call SetUnitAbilityLevelSwapped(s, u, i )


-------- Hidding the icon of the spell book --------


Custom script: call SetPlayerAbilityAvailable (p, s, false)


-------- Waiting for the end of effect --------


Custom script: call TriggerSleepAction(t2)


-------- Removing the spel lbook with it's abilities --------


Custom script: call UnitRemoveAbility (u, s)


-------- Making spell book ability available again --------


Custom script: call SetPlayerAbilityAvailable (p, s, true)


-------- Creating special effect --------


Custom script: call DestroyEffect (AddSpecialEffectTarget(e, u, a))


-------- Color values are Red, Green, Blue, Transperency --------


Custom script: call SetUnitVertexColor (u, 255, 255, 255, 255)


-------- nulling local --------


Custom script: set u = null
Razor Edge

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Razor Edge

Actions


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


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


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


Set Razor_Edge_Caster = (Triggering unit)


Set Razor_Edge_Location = (Position of Razor_Edge_Caster)


Set Razor_Edge_Location2 = (Target point of ability being cast)


Set Razor_Edge_Ability_Level = (Level of (Ability being cast) for Razor_Edge_Caster)


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


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


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


Set Razor_Edge_Base_Damage = 7.00


Set Razor_Edge_Total_Damage = (Razor_Edge_Base_Damage x (Real(Razor_Edge_Ability_Level)))


Set Razor_Edge_Area_of_Effect = 200.00


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


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


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


Set RE_Knock_Angle = (Angle from Razor_Edge_Location to Razor_Edge_Location2)


Set RE_Knock_Speed = 15.00


Set RE_Knock_Distance = 700.00


Hashtable - Save RE_Knock_Angle as (Key angle) of (Key (Triggering unit)) in RE_Knocktable


Hashtable - Save RE_Knock_Speed as (Key speed) of (Key (Triggering unit)) in RE_Knocktable


Hashtable - Save RE_Knock_Distance as (Key distance) of (Key (Triggering unit)) in RE_Knocktable


Hashtable - Save Handle OfRazor_Edge_Caster as (Key caster) of (Key (Triggering unit)) in RE_Knocktable


Unit - Pause Razor_Edge_Caster


Unit - Turn collision for Razor_Edge_Caster Off


Unit Group - Add Razor_Edge_Caster to RE_Knock_Group


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


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


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


Custom script: call RemoveLocation(udg_Razor_Edge_Location)


Custom script: call RemoveLocation(udg_Razor_Edge_Location2)
RE Knock

Events


Time - Every 0.03 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 RE_Knock_Group and do (Actions)



Loop - Actions




Set RE_Knock_Angle = (Load (Key angle) of (Key (Picked unit)) from RE_Knocktable)




Set RE_Knock_Speed = (Load (Key speed) of (Key (Picked unit)) from RE_Knocktable)




Set RE_Knock_Distance = (Load (Key distance) of (Key (Picked unit)) from RE_Knocktable)




Set Razor_Edge_Caster = (Load (Key caster) of (Key (Picked unit)) in RE_Knocktable)




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





If - Conditions






RE_Knock_Distance Greater than 0.00





Then - Actions






Set RE_Knock_Loc1 = (Position of (Picked unit))






Set RE_Knock_Loc2 = (RE_Knock_Loc1 offset by RE_Knock_Speed towards RE_Knock_Angle degrees)






Set Razor_Edge_Damage_Group = (Units within Razor_Edge_Area_of_Effect of RE_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))))






Destructible - Pick every destructible within 175.00 of RE_Knock_Loc1 and do (Destructible - Kill (Picked destructible))






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







If - Conditions








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







Then - Actions








Unit - Unpause Razor_Edge_Caster








Unit - Turn collision for Razor_Edge_Caster On








Animation - Reset (Picked unit)'s animation








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








Unit Group - Remove (Picked unit) from RE_Knock_Group







Else - Actions








Unit - Move (Picked unit) instantly to RE_Knock_Loc2








Animation - Play (Picked unit)'s attack, walk, stand, spin animation, using only Rare animations








Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl








Special Effect - Destroy (Last created special effect)








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









Loop - Actions










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










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)








Hashtable - Save (RE_Knock_Distance - RE_Knock_Speed) as (Key distance) of (Key (Picked unit)) in RE_Knocktable








Custom script: call RemoveLocation(udg_RE_Knock_Loc1)








Custom script: call RemoveLocation(udg_RE_Knock_Loc2)








Custom script: call DestroyGroup(udg_Razor_Edge_Damage_Group)





Else - Actions






Unit - Unpause Razor_Edge_Caster






Unit - Turn collision for Razor_Edge_Caster On






Animation - Reset (Picked unit)'s animation






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






Unit Group - Remove (Picked unit) from RE_Knock_Group
Psychic Rape

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Psychic Rape

Actions


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


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


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


Set PR_Caster = (Triggering unit)


Set PR_Target = (Target unit of ability being cast)


Set PR_Caster_Loc = (Position of PR_Caster)


Set PR_Target_Loc = (Position of PR_Target)


Set PR_Ability_Level = (Level of (Ability being cast) for PR_Caster)


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


-------- Setting the Spell values --------


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


Set PR_Damage_Factor = 2.00


Set PR_Atribute = (Intelligence of PR_Caster (Include bonuses))


Set PR_Damage = (PR_Damage_Factor x ((Real(PR_Atribute)) x (Real(PR_Ability_Level))))


Set PR_Dummy_Ability = Psychic Rape (Dummy)


Set PR_Target_Mana = (Mana of PR_Target)


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


-------- Checking the state of mana --------


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


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



If - Conditions




(Mana of PR_Target) Less than or equal to PR_Damage



Then - Actions




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




-------- Burns up the mana and creates floating text --------




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




Unit - Cause PR_Caster to damage PR_Target, dealing PR_Target_Mana damage of attack type Spells and damage type Unknown




Floating Text - Create floating text that reads (- + (String((Integer(PR_Target_Mana))))) above PR_Target with Z offset 0.00, using font size 11.00, color (0.00%, 30.00%, 70.00%), and 0.00% transparency



Else - Actions




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




-------- Burns up the mana and creates floating text --------




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




Unit - Cause PR_Caster to damage PR_Target, dealing PR_Damage damage of attack type Spells and damage type Unknown




Floating Text - Create floating text that reads (- + (String((Integer(PR_Damage))))) above PR_Target with Z offset 0.00, using font size 11.00, color (0.00%, 30.00%, 70.00%), and 0.00% transparency


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


-------- Setting the floating text --------


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


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds


Unit - Set mana of PR_Target to ((Mana of PR_Target) - PR_Damage)


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


-------- Creating nice special effect --------


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


Special Effect - Create a special effect attached to the origin of PR_Target using Abilities\Spells\Undead\Possession\PossessionMissile.mdl


Special Effect - Destroy (Last created special effect)


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



If - Conditions




(Mana of PR_Target) Equal to 0.00



Then - Actions




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy for (Owner of PR_Caster) at PR_Target_Loc facing Default building facing degrees




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




Unit - Add PR_Dummy_Ability to (Last created unit)




Unit - Set level of PR_Dummy_Ability for (Last created unit) to PR_Ability_Level




Unit - Order (Last created unit) to Human Mountain King - Storm Bolt PR_Target




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




-------- Creating nice special effect --------




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




Special Effect - Create a special effect attached to the origin of PR_Target using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl




Special Effect - Destroy (Last created special effect)



Else - Actions


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


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


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


Custom script: call RemoveLocation(udg_PR_Target_Loc)


Custom script: call RemoveLocation(udg_PR_Caster_Loc)
Face of Void

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Face of Void

Actions


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


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


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


Set FoV_Caster = (Triggering unit)


Set FoV_Ability_Level = (Level of (Ability being cast) for FoV_Caster)


Set FoV_Location = (Target point of ability being cast)


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


-------- Setting the Spell values --------


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


Set FoV_Base_AoE = 160.00


Set FoV_Bonus_AoE = 40.00


Set FoV_Base_Damage = 60.00


Set FoV_Total_AoE = (FoV_Base_AoE + (FoV_Bonus_AoE x (Real(FoV_Ability_Level))))


Set FoV_Total_Damage = (FoV_Base_Damage x (Real(FoV_Ability_Level)))


Set FoV_Damage_Group = (Units within FoV_Total_AoE of FoV_Location 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 FoV_Caster)) Equal to True))))


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


-------- Generating a unit group --------


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


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



Loop - Actions




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




-------- Creating and setting the dummy unit --------




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




Unit - Create 1 Dummy for (Owner of FoV_Caster) at FoV_Location facing Default building facing degrees




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




Unit - Add Face of Void(dummy) to (Last created unit)




Unit - Set level of Face of Void(dummy) for (Last created unit) to FoV_Ability_Level




Unit - Order (Last created unit) to Human Sorceress - Activate Slow




Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)




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


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


-------- Creating special effects --------


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


Special Effect - Create a special effect at FoV_Location using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at FoV_Location using Objects\Spawnmodels\NightElf\NECancelDeath\NECancelDeath.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at FoV_Location using Abilities\Spells\Undead\DeathPact\DeathPactTarget.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at FoV_Location using Abilities\Spells\Items\AIil\AIilTarget.mdl


Special Effect - Destroy (Last created special effect)


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


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


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


Custom script: call RemoveLocation(udg_FoV_Location)


Custom script: call DestroyGroup(udg_FoV_Damage_Group)
Impale

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Impale

Actions


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


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


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


Set Impale_Caster = (Triggering unit)


Set Impale_Level = (Level of (Ability being cast) for Impale_Caster)


Set Impale_Owner = (Owner of Impale_Caster)


Set Impale_Target_Loc = (Target point of ability being cast)


Set Impale_Caster_Loc = (Position of Impale_Caster)


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


-------- Setting the Spell values --------


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


Set Impale_Dummy_AbilityI = Impale(dummy main)


Set Impale_Dummy_AbilityII = Impale(dummy)


Set Impale_Facing_Angle = (Angle from Impale_Caster_Loc to Impale_Target_Loc)


Set Impale_Dummy_Face = (Impale_Facing_Angle - 180.00)


Set Impale_Angle = 40.00


Set Impale_LocI = (Impale_Caster_Loc offset by 50.00 towards Impale_Dummy_Face degrees)


Set Impale_LocII = (Impale_Caster_Loc offset by 100.00 towards (Impale_Facing_Angle + Impale_Angle) degrees)


Set Impale_LocIII = (Impale_Caster_Loc offset by 100.00 towards (Impale_Facing_Angle - Impale_Angle) degrees)


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


-------- Creating and setting the dummy unit --------


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


Unit - Create 1 Dummy for Impale_Owner at Impale_LocI facing Default building facing degrees


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


Unit - Add Impale_Dummy_AbilityI to (Last created unit)


Unit - Set level of Impale_Dummy_AbilityI for (Last created unit) to Impale_Level


Unit - Order (Last created unit) to Undead Crypt Lord - Impale Impale_Target_Loc


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


Unit - Create 1 Dummy for Impale_Owner at Impale_LocI facing Default building facing degrees


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


Unit - Add Impale_Dummy_AbilityII to (Last created unit)


Unit - Set level of Impale_Dummy_AbilityII for (Last created unit) to Impale_Level


Unit - Order (Last created unit) to Undead Crypt Lord - Impale Impale_LocII


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


Unit - Create 1 Dummy for Impale_Owner at Impale_LocI facing Default building facing degrees


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


Unit - Add Impale_Dummy_AbilityII to (Last created unit)


Unit - Set level of Impale_Dummy_AbilityII for (Last created unit) to Impale_Level


Unit - Order (Last created unit) to Undead Crypt Lord - Impale Impale_LocIII


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


-------- Creating special effects --------


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


Special Effect - Create a special effect at Impale_LocII using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at Impale_LocIII using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl


Special Effect - Destroy (Last created special effect)


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


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


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


Custom script: call RemoveLocation(udg_Impale_Target_Loc)


Custom script: call RemoveLocation(udg_Impale_LocI)


Custom script: call RemoveLocation(udg_Impale_LocII)


Custom script: call RemoveLocation(udg_Impale_LocIII)
Arcane Disruption

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Arcane Disruption

Actions


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


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


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


Set Arcane_Disruption_Caster = (Triggering unit)


Set Arcane_Disruption_Target = (Target unit of ability being cast)


Set Arcane_Disruption_Level = (Level of (Ability being cast) for Arcane_Disruption_Caster)


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


-------- Setting the Spell values --------


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


Set Arcane_Disruption_Base_Mana = 70.00


Set Arcane_Disruption_Bonus_Mana = 50.00


Set Arcane_Disruption_Total_Mana = (Arcane_Disruption_Base_Mana + (Arcane_Disruption_Bonus_Mana x (Real(Arcane_Disruption_Level))))


Set Arcane_Disruption_Damage = (Arcane_Disruption_Total_Mana / 2.00)


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


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



If - Conditions




((Owner of Arcane_Disruption_Target) is an enemy of (Owner of Arcane_Disruption_Caster)) Equal to True



Then - Actions




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




-------- Burning mana and damaging the target --------




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




Unit - Set mana of Arcane_Disruption_Target to ((Mana of Arcane_Disruption_Target) - Arcane_Disruption_Total_Mana)




Unit - Cause Arcane_Disruption_Caster to damage Arcane_Disruption_Target, dealing Arcane_Disruption_Damage damage of attack type Spells and damage type Unknown




Floating Text - Create floating text that reads (- + ((String((Integer(Arcane_Disruption_Total_Mana)))) + (/ + (String((Integer(Arcane_Disruption_Damage))))))) above Arcane_Disruption_Target with Z offset 0.00, using font size 11.00, color (0.00%, 35.00%, 70.00%), and 0.00% transparency



Else - Actions




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




-------- Boosting up the mana and healing --------




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




Unit - Set mana of Arcane_Disruption_Target to ((Mana of Arcane_Disruption_Target) + Arcane_Disruption_Total_Mana)




Unit - Set life of Arcane_Disruption_Target to ((Life of Arcane_Disruption_Target) + Arcane_Disruption_Damage)




Floating Text - Create floating text that reads (+ + ((String((Integer(Arcane_Disruption_Total_Mana)))) + (/ + (String((Integer(Arcane_Disruption_Damage))))))) above Arcane_Disruption_Target with Z offset 0.00, using font size 11.00, color (0.00%, 35.00%, 70.00%), and 0.00% transparency


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


-------- Setting the floating text --------


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


Floating Text - Change (Last created floating text): Disable permanence


Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees


Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds


Floating Text - Change the lifespan of (Last created floating text) to 4.00 seconds


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


-------- Creating special effects --------


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


Special Effect - Create a special effect attached to the origin of Arcane_Disruption_Target using Abilities\Spells\Other\Charm\CharmTarget.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect attached to the origin of Arcane_Disruption_Target using Abilities\Spells\Items\AIil\AIilTarget.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect attached to the origin of Arcane_Disruption_Target using Abilities\Spells\Undead\OrbOfDeath\OrbOfDeathMissile.mdl


Special Effect - Destroy (Last created special effect)