• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Simple Spell Pack v1.3

Version: 1.3
Language: GUI
MUI: Yes
Documented: Yes
User Friendly: Yes
Works With Latest Patch: Yes
Current Number of Spells: 22
Current Number of Systems: 3

Author: -BerzekeR-


images


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.


ssp-scream.jpg


images


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.



fire-wall.png


Thunder%20Clap.jpg


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.


ssp-power-slam.jpg


images


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.


ssp-multi-shot.jpg


images


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.


ssp-water-eruption.jpg


images


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.



ssp-aqua-burst.jpg


images


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.


napalm-strike.png


abilitytheblackarrow.png


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.


sinister-strike.png


images


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.



shadowstep.png


images


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.


wound-poison.png


images


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.



ion-canon.png


images


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..



holy-blessing.png



images

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.


thunder-rage.jpg



images


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.


shadow-walk.jpg



deathcoil.gif


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.


desecration.jpg




images


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.


beast-attack.jpg




images


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.


earth-fury.jpg




images


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.


razor-edge.jpg


153325-albums2005-picture15670.jpg


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.


Faceofvoid.jpg




images


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.


Arcanedipursion.jpg



images


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.


impale.jpg



images


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.


Psychicrape.jpg






Item System

This item system allows you to:
-Make items with recipe:
*Get items and a recipe and it will automatically give you a greater item
-Make items without recipe:
*Get items and they will automatically combine into greater item
-Make item upgrades;
*Makes two same items into greater one
*note this system only works with only one unit owned by player

Commands

First select a hero you would like to modify.

And as the hero is selected you can start to type commands as:

Examples:

-str 50 [gives 50 strength]
-int 5 [gives 5 intelligence]
-ms 100 [gives 100 movement speed]
-spd [checks the movement speed]

-agi -15 [decreases agility by 15]
-ms -100 [decreases movement speed by 100]
-gold 1000 [gives 1000 gold]

Donation

Simple system, all you need is gold, then you go to the shrine and then you "pray", so you can gain atributes, can be modified to gain other abilities too.




  • 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)



v1.0:
-Uploaded

v1.1:
-Updated[26.5.2009]
-Added Spells:
+Fire Wall
+Napalm Strike
+Sinister Strike
+Shadowstep
+Wound Poison
+Holy Blessing
+Ion Canon
-Added "Hero Edit" System

v1.1a
-fixed a typo in Sinister Strike

v1.2 updated [13.8.2009]
-Added Spells:
+Thunder Rage
+Shadow Walk
+Beast Attack
+Earth Fury
+Desecration
+Razor Edge
-Added Systems:
+Item System
-A bit changed terrain
-Hero Tavern added
-Shops Added
-Many many, stuff for gameplay added (for better testing experience)

v1.2a
-added a little condition in RE Knock trigger, that reduces the spam of SFX (thanks to Rmx)

v1.2b
-removed those units from the map
-some texts dispay a bit faster

v1.2c[October 2009]
-Fixed some ability tooltips (a few spelling mistakes)
-Replaced "default" hero tootips with a bit custom ones
-A few "game" actions added

v1.2d[29. Nov 2009]
-Fixed periodic triggers, from now on they are no longer "on" all the time
-Also fixed a possible "bug" with "pause unit action"

v1.3[27.Feb 2010]
-added 4 spells
+Face of Void
+Arcane Disruption
+Impale
+Psychic Rape
-Added Donation system
-added 2 new heroes
+Archamge
+Anubis
-slightly changed terrain
-other minor updates




Dark_Dragon (helping me so many times with coding)
Wymlord (for providing a simple hashtable knockback)
Deuterium (helping with ideas, checking the code)
Rmx (helping with ideas, checking the code)
Kingz (helping with ideas, checking the code)
Nerovesper (helping with ideas, checking the code)
baassee (helping with ideas, checking the code)
Eccho (just because he's awesome :p)
PsychoNerdial (supporting the whole thing)
hvo-busterkomo (beeing an awesome mod)
Hanky (also for being awesome)
Megafyr (I don't remember, but he helped in someway with that items)
If i forgot to mention someone, please let me know and I'll addy you on the list =)


Have Fun!

~Berz

Keywords:
fire, arrow, stun, water, slam, power, holy, poison, strike, shadow, item, system, edge, blade, rage, fury, canon, evasion, explosion, dead, lightning
Contents

Simple Spell Pack [SSP] v1.3 (Map)

Reviews
Approved a century later. Review here 18:04, 3rd Jun 2009 hvo-busterkomo: Effects were simple, yet pleasing visually. Leak free, MUI, configurable, and well documented. I'd like to give this a 5/5, but the GUI really brings it down...
Level 37
Joined
Mar 6, 2006
Messages
9,240
  • Remove invulnerability ability from the dummy, it has Locust which makes it invulnerable
  • Set the dummy's Art - Cast Point to 0.000 so spells are cast immediately, not after 0.3 second delay
  • Leaks
    • Set Shadowstep_Location = ((Position of Shadowstep_Target) offset by 125.00 towards (Facing of Shadowstep_Caster) degrees)
    • Set Ion_Canon_Location = ((Position of Ion_Canon_Caster) offset by 100.00 towards (Facing of Ion_Canon_Caster) degrees)
  • Beast Attack knockback destroys all destructibles inculding bridges, which is not good. Same for RE knock
  • Beast Attack knockback spams effects every 0.03 seconds, abilities in WC3 shouldn't do that
  • Shadow Walk could use the native, not this BJ: Custom script: call SetUnitAbilityLevelSwapped(s, u, i )
  • Shadow Walk is not MUI, the spell book icon can show on another unit
  • In Impale, caster loc is not removed

You could have shared variables between abilities, you have about 50 point variables in the map for example, but you only need about 5.
 
Level 3
Joined
Apr 3, 2014
Messages
53
Awesome spell pack, great ideas and easy to put in another map, i love your work, + rep 5/5 !
 

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
The spell pack was approved back in 2010, but I set it to Needs Fix in 2012 because of leaks and MUI issues. Purge approved the spell pack recently.

There are still leaks and at least one spell is not MUI.

Huh. My bad then, but I also suggested to give another moderation not just instantly approve it. Bcs actually I haven't checked the code yet.
 
Level 4
Joined
Jun 25, 2013
Messages
52
Hi Berz I am trying to implement the spell Beast Attack into my map. I already successfully added a ton of your spells. But this one always conflicts itself with the other spell Shadowstep for some weird reason. I have assigned both to one hero but everytime I use one another the spell learned first will be executed before the other spell gets executed. It is completely weird.
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
Hey. Amm, Im not sure, but I think the problem is that both spells are using same base ability. I think I used chain lightning for both spells and now trigger detects that spell is being used and it just simply runs trigger for one spell and ignores the other. You should try to take some other target unit spell in OE and null the values, no damage, no special effects etc,.. and set it as base spell for one of the mentioned spells.

Thou I'm not 100% sure this is the problem.

Try to do that and let me know what happens, ok?

~Berz
 
Level 4
Joined
Jun 25, 2013
Messages
52
Hey. Amm, Im not sure, but I think the problem is that both spells are using same base ability. I think I used chain lightning for both spells and now trigger detects that spell is being used and it just simply runs trigger for one spell and ignores the other. You should try to take some other target unit spell in OE and null the values, no damage, no special effects etc,.. and set it as base spell for one of the mentioned spells.

Thou I'm not 100% sure this is the problem.

Try to do that and let me know what happens, ok?

~Berz

I have the same problem with two other spells which are Face of Void and Termal Erruption. I tried using a different spell flame strike, blizzard but it did not change anything. I also tried switching hotkeys and stuff like that.
I am also experiencing problems with one other spell (it is called PowerSlam) which does not deal any damage. Seriously I tried everything and I used like 10 of your custom spells without any problem they work nice and look fancy:) ...
Can you have a look I uploaded a not done yet version of the map to http://www.epicwar.com/maps/249018/ it is free to edit in world editor.

In this version i already replaced the earth furry, windjump with other spells for the dwarven hero but it is basically the same problem with those two and they just fit Gandalf way too nicely... :)

Oh and before I forget if you do me the favour of taking a look you need to open it up in local area network for testing or bnet whatever you prefer. There is a selection pause operation at the start.

Thx for all that support even after all those years. Your awsm.
 
Level 4
Joined
Jun 25, 2013
Messages
52
I first tried changing face of void which did not work since it had a dummy, I was unsure if i would have to change that too? So I changed Termal Erruption and got a profit. :) thx a lot mate.

I still have two spells which however deal no damage not using any dummy:
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) and ((((Matching unit) is A Hero) Not equal to True) and ((Level of Reincarnation
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)

Actually both of these spells are not using any dummies and only one object spell. Have I forgotten something? Maybe I am totally wrong put shouldn't there be a unit generated somewhere for empty unit group? Compared everything 1 on 1 and did not find the bug yet.
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
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) and ((((Matching unit) is A Hero) Not equal to True) and ((Level of Reincarnation

Something is wrong with this line i think. Because if it does everything else but id doesn't do damage, there is something wrong with conditions of the unit group.

check the unit group, something got messed up with copying.

Else I don't see anything out of ordinary with the code. Hope this helps.

~Berz
 
Level 1
Joined
Dec 25, 2016
Messages
3
I want to be able to change the values in the spells by how much they deal damage/heal and change the number of times it can be upgraded to 5. How do lol I also do not have alot of experience in this.
Ex: Holy Blessing from 3 levels to 5, healing amount changed, and duration changed.
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
I want to be able to change the values in the spells by how much they deal damage/heal and change the number of times it can be upgraded to 5. How do lol I also do not have alot of experience in this.
Ex: Holy Blessing from 3 levels to 5, healing amount changed, and duration changed.

Well for more levels you just set 5 levels of the spell in object editor, and that goes for base spell and also for dummy spells. As goes for values, some are original spells from object editor, and some are ran by triggers and are calculated automatically e.g. base value of healing is 70 at level 1, and if the only multiplier is ability level then at level two is 140. But as far as I remember there are some more complex calculations like level x number of units in area x base damage x amount of agility etc, those are tricky because if you mix the values, it could do way too much damage or it wouldn't work at all..

And if you say you are new to this, search for some how to import tutorials :)

Have a nice day.

~Berz
 
Top