1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. The mythological era has spawned some interesting characters around. Check them out and be sure to vote for them in the 30th Poll of the Texturing Contest.
    Dismiss Notice
  3. The 20th iteration of the Terraining Contest is upon us! Join and create exquisite Water Structures for it.
    Dismiss Notice
  4. Hivers united and created a bunch of 2v2 melee maps. Vote for the best in our Melee Mapping Contest #4 - Poll!
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice

Hive's Spellpack v2.2

Submitted by Tiche3
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
Credits goes to every single requester that requested these spells. And from the v2.0 thanks to Pharaoh_ for his awesome function SetUnitX,Y. Thanks to Maker for the condition If somewhat unit group[something] has 0 units, then set that group=CreateGroup(). These functions helped me develop this map and learn making MUI spells. Credits also goes to Weep for his awesome DDS (damage detection system). Thank you hive :)

This spellpack contains lots of spells, which people in the hive requested and needed for their map, so that's why it is Hive's Spellpack!

This spellpack has 38 spells and few stuff that someone needed help with.

So moving on with the spells, oh by the way, 34/38 spells are MUI.

The Spells' Descriptions

Bleed MUI

Fang bites the targeted unit and cripples it dealing damage and if the unit moves, it only gets worse for the unit. Deals 15% of moved distance as damage.

Level 1 - 100 bite damage, lasts 2 seconds.
Level 2 - 120 bite damage, lasts 3 seconds.
Level 3 - 140 bite damage, lasts 4 seconds.
Level 4 - 160 bite damage, lasts 5 seconds.

Soul Catch MUI

Swifty releases a wave of pure energy, which absorbs enemy heroes souls, damages them and gives them to Swifty. The wave travels 800 range. Also increases Swifty's Soul Mastery soul captivity.

Level 1 - 3 bonus souls. Deals 0.5 x Intelligence as damage.
Level 2 - 6 bonus souls. Deals 1 x Intelligence plus 0.5 x Strength as damage.
Level 3 - 9 bonus souls. Deals 1.5 x Intelligence plus 1 x Strength as damage.
Level 4 - 12 bonus souls. Deals 2 x Intelligence plus 1.5 x Strength as damage.

Soul Mastery MUI

Swifty catches the souls of the units she kills. Every soul gives Swifty 2 bonus damage.

Level 1 - Soul limit is 10.
Level 2 - Soul limit is 20.
Level 3 - Soul limit is 30.
Level 4 - Soul limit is 40.

Warp MUI

Swifty mysteriously warps in the direction she is facing, knocking the units back in the place she was and she warped and dealing damage. Consumes 2 souls.

Level 1 - 550 warping range, deals 25 + 2 x Amount of Souls.
Level 2 - 700 warping range, deals 25 + 3 x Amount of Souls.
Level 3 - 850 warping range, deals 25 + 4 x Amount of Souls.
Level 4 - 1000 warping range, deals 25 + 5 x Amount of Souls.

If Swifty doesn't have enough souls, the distance is reduced by 1/3.

Soul Vortex MUI

Swifty forms a vortex out of souls which slows the units by 50% inside 400 AoE and reduces their magic defence. Upon leaving the vortex, enemy units take 100 pure damage.

Level 1 - 20% magic reduction, lasts 6 seconds.
Level 2 - 30% magic reduction, lasts 8 seconds.
Level 3 - 40% magic reduction, lasts 10 seconds.

Soul Vortex Extinction (Addition)

Switfty lets loose of the soul vortex, dealing 150 + 10 x Souls damage to the enemy units inside the vortex. Consumes all souls.

Alpha Strike MUI

aPcIIIk moves swiftly around the battlefield, dealing damage and having a chance to deal additional damage to creeps. Jumps up to 4 units.

Level 1 - 100 damage, 15% chance to deal additional 400 damage to creeps.
Level 2 - 175 damage, 30% chance to deal additional 400 damage to creeps.
Level 3 - 250 damage, 45% chance to deal additional 400 damage to creeps.
Level 4 - 325 damage, 60% chance to deal additional 400 damage to creeps.

Meditate MUI

aPcIIIk meditates for 5 seconds, healing himself. aPcIIIk also has increased defences during meditation.

Level 1 - 175 hit points over 5 seconds, 10 armor and 10% magic resistance..
Level 2 - 350 hit points over 5 seconds, 20 armor and 20% magic resistance.
Level 3 - 525 hit points over 5 seconds, 30 armor and 30% magic resistance.
Level 4 - 700 hit points over 5 seconds, 40 armor and 40% magic resistance.

Wuju Style MUI

aPcIIIk is experienced at Wuju fighting style and has improved damage. He can also substitute the passive bonus to double the bonus for 10 seconds. While on cooldown, aPcIIIk gains no bonuses.

Level 1 - 10 bonus damage.
Level 2 - 20 bonus damage.
Level 3 - 30 bonus damage.
Level 4 - 40 bonus damage.

Highlander MUI

aPcIIIk goes into rage, increasing his attack speed and making impenetrable movement speed for a period of time. During that time, if aPcIIIk kills an enemy hero, all of his abilities will refresh cooldowns.

Level 1 - 40% attack speed, bonuses last for 6 seconds.
Level 2 - 60% attack speed, bonuses last for 9 seconds.
Level 3 - 80% attack speed, bonuses last for 12 seconds.

Spinning Blow MUI

Starts blowing a gush of very heavy spinning wind, which travels and makes affected units spins few times and gets dizzy, having a chance to miss and has it's movement speed slowed by 12%. Spell is channeling. Channeling increases travelled range.

Tornado Jump MUI

Dissapears and after 1.3 seconds appears in the targeted spot, throwing all units in 300 range in the air.

Eye of the Tornado MUI

Summons 6 tornados around typhoon (650 range away from it) spinning around Typhoon and getting closer to it while pulling enemies into them and causing damage. Each tornado AoE of 300. Max channeling time - 2.5sec. Damage per second - 45/65/85

Multi Shot MUI

Hero shoots a pack of arrows in the direction it is facing. Each arrow deals damage equal to the amount of hero's agility. Arrows 3/4/5/6. Casting time of 0.9 seconds.

Snipe Assasination Shot MUI

Takes aim for critical range assasination shot with superior grade arrow. 1.2 sec casting time. Casting range: 1000/1200/1400/1600. Damage: 125/150/175/200. If the target gets hit from behind deals aditional 2.75/3/3.25/3.5 x AGI damage.

Sneaky MUI

Gives a percent chance to avoid attacks. While standing slowly blends away (becomes invisible). Each time this hero kills another hero it gains agility.

Level 1 - 5% chance that an opponent misses, 4.5 seconds fading time, 1.25 bonus agility from hero kill.
Level 2 - 10% chance that an opponent misses, 3.75 seconds fading time 1.5 bonus agility from hero kill.
Level 3 - 15% chance that an opponent misses, 3 seconds fading time, 1.75 bonus agility from hero kill.
Level 4 - 20% chance that an opponent misses, 2.25 seconds fading time, 2 bonus agility from hero kill.

Traceless Assasination MUI
Hero becomes invisible after fading for 1.25 seconds. During that time, it can do anything without being noticed by the enemy. Lasts 4.5/5.5/6.5 seconds.

Borrowed Time NOT MUI


When used, the hero gains life instead of getting damaged. If not on cooldown, it will automaticaly activate when your hero life drops below 400 hp. Dispells all negative buffs on cast.
Level 1 - Lasts 3 seconds.
Level 2 - Lasts 4 seconds.
Level 3 - Lasts 5 seconds.

Chain Link MUI

Chains you and your enemy with a link, that when broken will stun the enemy for 3 seconds and deal damage.

Level 1 - Lasts 3 seconds, 75 damage, 650 range.
Level 2 - Lasts 4 seconds, 150 damage, 600 range.
Level 3 - Lasts 4 seconds, 225 damage, 550 range.

Empathic Warp NOT MUI

Sets a link between you and your target. The link transfers the damage your target takes. Link transfers 20%/30%/40%/50% of the damage to you. Lasts 20 seconds, or when the link reaches 1200 range.

Essence Shift MUI

Whenever a unit casts a spell while under this aura, it will restore percentage of it's mana.

Level 1 - 10% mana.
Level 2 - 15% mana.
Level 3 - 20% mana.

Fortune Reversal MUI

The hero uses magic, that swaps his targets mana with health. Health can't go below 500, also stuns the opponent.

Level 1 - 70% swap, 1 second stun.
Level 2 - 80% swap, 1 second stun.
Level 3 - 90% swap, 1 second stun.

Frost Aura MUI

Nearby units get their movement speed slowed stackably and when they are slowed almost to halt, the aura freezes them.

Level 1 - 500 AoE
Level 2 - 600 AoE
Level 3 - 700 AoE

Mind Explosion MUI

The mage focuses his mind power on an area. Enemy UNIT cought in the area will get damaged by 25%(+25) of its max hp. If it dies by the damage, it explodes. Dealing damage delt on it to 300 aoe. If target is hero, burn up (mage's int x 2(+2)) mana but delt no damage.

Devastating Strike MUI

The Hero kicks the target, after that jumps to him and slashes him, dealing 5/10/15 damage per slash, the target gets maimed, slowing his movement speed by 40% for 5 seconds. The Hero kick the target again.

Penitence MUI

The caster channels a powerful spell, which damages the enemy or heals the ally. The damage/heal is 75/150/225

Reverse Polarity MUI

Moves nearby units into one spot stunning them and dealing damage.

Level 1 - 100 damage, 2.5 second stun.
Level 2 - 175 damage, 3 second stun.
Level 3 - 250 damage, 3.5 second stun.

Spell of Randomness MUI

The Caster casts a spell, which damages the targeted unit by a random amount of damage and slows the target for 5 seconds. Also, in a random area around the target, random units are randomly damaged and also slowed.

Split Mana MUI

Splits the mana of friendly units in 500 AoE.

Unholy Plats MUI

Heals the allies in 600 area and sends unholy bolts to enemies that deal damage.

Level 1 - 100 damage.
Level 2 - 200 damage.
Level 3 - 300 damage.

Burnout NOT MUI

Increases hit points regeneration by 85% (+30%xlevel) and when it mana drops to 100 (-5xlevel) low amount, it will begin to use it's health instead of mana for the next 10 spells. When it uses 10 spells, it will heal it's mana by 25%(+5%xlevel).


Dual Weapon Mastery MUI

Gives Akacia a chance to increase hers attack speed for 2 seconds. Also gives an ability to focus sonic charges, which is involved in her other abilities.

Level 1 - 20% chance to get 50% increased attack speed.
Level 2 - 20% chance to get 100% increased attack speed.
Level 3 - 20% chance to get 150% increased attack speed.
Level 4 - 20% chance to get 200% increased attack speed.


Sonic Blaster MUI

Discharges a solid beam of sonic force toward a distant target. Uses 1 Sonic Charge.

Level 1 - Deals 50 + 20 x Sonic Charges damage.
Level 2 - Deals 50 + 30 x Sonic Charges damage.
Level 3 - Deals 50 + 40 x Sonic Charges damage.
Level 4 - Deals 50 + 50 x Sonic Charges damage.


Sonic Focus MUI

Akacia focuses hers energy on the blades to increase power to her special attacks. Costs 20 hp. Maximum of 2/4/6/8 Charges.


Triple Sonic Slash MUI

You channel a sonic force which causes your weapon to strike three times the norm. Uses 2 Sonic Charges.

Level 1 - Deals 100 + 20 x Sonic Charges damage.
Level 2 - Deals 100 + 30 x Sonic Charges damage.
Level 3 - Deals 100 + 40 x Sonic Charges damage.
Level 4 - Deals 100 + 50 x Sonic Charges damage.


Sonic Rush MUI

Akacia releases a charge to rush forward for 600 range, dealing damage depending on remaining charges and stuning the units she touches for 2 seconds. Upon reaching the final destination she gains 200% attack speed for 5 seconds. Uses 1 Sonic Charge.

Level 1 - Deals 100 + 20 x Sonic Charges damage.
Level 2 - Deals 200 + 20 x Sonic Charges damage.
Level 3 - Deals 300 + 20 x Sonic Charges damage.

Unit Cannon MUI

Drags your units near the caster and shoots them as a projectile, unloading them at the targeted spot.

Level 1 - 300 AoE.
Level 2 - 400 AoE.
Level 3 - 500 AoE.
Level 4 - 600 AoE.



The triggers to the spells (it's much, believe me)

The triggers

Chain Link

  • Chain Link
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Chain Link
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Chain_Link_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Chain Link Loop <gen>
        • Else - Actions
      • Set Chain_Link_Mui_Integer = (Chain_Link_Mui_Integer + 1)
      • Set Chain_Link_Mui_Turnoff = (Chain_Link_Mui_Turnoff + 1)
      • Set Chain_Link_Off[Chain_Link_Mui_Integer] = True
      • -------- Setting the units for further use --------
      • Set Chain_Link_Unit[Chain_Link_Mui_Integer] = (Triggering unit)
      • Set Chain_Linked_Unit[Chain_Link_Mui_Integer] = (Target unit of ability being cast)
      • -------- Setting the locations for the lightning (the chain --------
      • Set Chain_Pos = (Position of Chain_Link_Unit[Chain_Link_Mui_Integer])
      • Set Chained_Pos = (Position of Chain_Linked_Unit[Chain_Link_Mui_Integer])
      • -------- Creating the lightning --------
      • Lightning - Create a lightning effect Magic Leash Chain_Pos Chained_Pos
      • -------- Setting the lightning for further use --------
      • Set Chained_Chain[Chain_Link_Mui_Integer] = (Last created lightning effect)
      • -------- Removing Leaks --------
      • Custom script: call RemoveLocation(udg_Chained_Pos)
      • Custom script: call RemoveLocation(udg_Chain_Pos)

  • Chain Link Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Chain_Link_Mui_Loop) from 1 to Chain_Link_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Chain_Link_Off[Chain_Link_Mui_Loop] Equal to True
            • Then - Actions
              • -------- Using the units, for positions, to avoid leaks and stuff :D --------
              • Set Chain_Pos = (Position of Chain_Link_Unit[Chain_Link_Mui_Loop])
              • Set Chained_Pos = (Position of Chain_Linked_Unit[Chain_Link_Mui_Loop])
              • -------- The distance between your hero and the target --------
              • Set Chain_Distance[Chain_Link_Mui_Loop] = (Distance between Chain_Pos and Chained_Pos)
              • -------- This is for checking the time (seconds of the link) --------
              • Set Chain_Time[Chain_Link_Mui_Loop] = (Chain_Time[Chain_Link_Mui_Loop] + 1)
              • -------- Time is , 25 times=1second, 50=2seconds + 1second per level --------
              • -------- And checking the distance, 700-50xlevel is 700-50, 700-100,700-150,700-200 --------
              • -------- If any of these apply, then we do the effects, Else we move the lightning for the lightning NOT TO STAY IN ONE PLACE --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Chain_Link_Unit[Chain_Link_Mui_Loop] is dead) Equal to True
                      • (Chain_Linked_Unit[Chain_Link_Mui_Loop] is dead) Equal to True
                      • Chain_Time[Chain_Link_Mui_Loop] Greater than or equal to (50 + (25 x (Level of Chain Link for Chain_Link_Unit[Chain_Link_Mui_Loop])))
                      • Chain_Distance[Chain_Link_Mui_Loop] Greater than or equal to (900.00 - (50.00 x (Real((Level of Chain Link for Chain_Link_Unit[Chain_Link_Mui_Loop])))))
                • Then - Actions
                  • Set Chain_Link_Mui_Turnoff = (Chain_Link_Mui_Turnoff - 1)
                  • Set Chain_Time[Chain_Link_Mui_Loop] = 0
                  • Set Chain_Link_Off[Chain_Link_Mui_Loop] = False
                  • -------- Creating a Dummy unit for the stun effect --------
                  • Unit - Create 1 Dummy :) for (Owner of Chain_Link_Unit[Chain_Link_Mui_Loop]) at Chain_Pos facing Default building facing degrees
                  • -------- Giving him the ability (stun) --------
                  • Unit - Add Storm Bolt [Hex] to (Last created unit)
                  • -------- Ordering to stun the target --------
                  • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt Chain_Linked_Unit[Chain_Link_Mui_Loop]
                  • -------- Adding 1 second duration, so after 1 sec of creation the dummy dies, making you go 1 unit more, after 1 sec, same amount of units --------
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • -------- You deal damage 75x level, level 1 75x1, level 2 75x2=150 and etc. --------
                  • Unit - Cause (Last created unit) to damage Chain_Linked_Unit[Chain_Link_Mui_Loop], dealing (75.00 x (Real((Level of Chain Link for Chain_Link_Unit[Chain_Link_Mui_Loop])))) damage of attack type Spells and damage type Magic
                  • -------- Destroy lightning, to remove leaks --------
                  • Lightning - Destroy Chained_Chain[Chain_Link_Mui_Loop]
                  • -------- Setting the timer to 0 for further spell use --------
                  • -------- Removing the leaks and turning off the trigger as it should be :) --------
                  • Custom script: call RemoveLocation(udg_Chain_Pos)
                  • Custom script: call RemoveLocation(udg_Chained_Pos)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Chain_Link_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Chain_Link_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • -------- If the time is <3/4/5/6 and the distance is <650/600/550/500 you move the lightning to the current places of units, so it doesn't stay in one plaace. --------
                  • Lightning - Move Chained_Chain[Chain_Link_Mui_Loop] Chain_Pos Chained_Pos
                  • Custom script: call RemoveLocation(udg_Chain_Pos)
                  • Custom script: call RemoveLocation(udg_Chained_Pos)
            • Else - Actions


Essence Shift

  • Essence Shift
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • ((Triggering unit) has buff Essence Shift [Level 1]) Equal to True
          • ((Triggering unit) has buff Essence Shift [Level 2]) Equal to True
          • ((Triggering unit) has buff Essence Shift [Level 3]) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff Essence Shift [Level 1]) Equal to True
        • Then - Actions
          • Set Essence_Shift_Percentage = 0.10
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Triggering unit) has buff Essence Shift [Level 2]) Equal to True
            • Then - Actions
              • Set Essence_Shift_Percentage = 0.15
            • Else - Actions
              • Set Essence_Shift_Percentage = 0.20
      • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + ((Max mana of (Triggering unit)) x Essence_Shift_Percentage))
      • Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Undead\ReplenishHealth\ReplenishHealthCasterOverhead.mdl
      • Special Effect - Destroy (Last created special effect)


Reverse Polarity

  • Reverse Polarity aka Impact
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Reverse Polarity
    • Actions
      • Set Reverse_Polarity_Position = (Position of (Triggering unit))
      • Set Reverse_Polarity_Pos_Off = (Reverse_Polarity_Position offset by 250.00 towards (Facing of (Triggering unit)) degrees)
      • Set Reverse_Polarity_Group = (Units within 400.00 of Reverse_Polarity_Position matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) Not equal to (Triggering unit)) and ((((Matching unit) belongs to an enemy of (
      • Unit Group - Pick every unit in Reverse_Polarity_Group and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to Reverse_Polarity_Pos_Off
      • Custom script: call DestroyGroup(udg_Reverse_Polarity_Group)
      • Custom script: call RemoveLocation(udg_Reverse_Polarity_Position)
      • Custom script: call RemoveLocation(udg_Reverse_Polarity_Pos_Off)


Unholy Plats

  • Unholy Plats
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Unholy Plats
    • Actions
      • Set Unholy_Plats_Pos = (Position of (Triggering unit))
      • Set Unholy_Plats_Group = (Units within 612.00 of Unholy_Plats_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is alive) Equal to True))))
      • Unit Group - Pick every unit in Unholy_Plats_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Triggering player)) Equal to True
            • Then - Actions
              • Unit - Create 1 Dummy :) for (Triggering player) at Unholy_Plats_Pos facing Default building facing degrees
              • Unit - Add Death Coil to (Last created unit)
              • Unit - Set level of Death Coil for (Last created unit) to (Level of Unholy Plats for (Triggering unit))
              • Unit - Order (Last created unit) to Undead Death Knight - Death Coil (Picked unit)
              • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
            • Else - Actions
              • Set Unholy_Plats_Allie_Pos = (Position of (Picked unit))
              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (100.00 x (Real((Level of Unholy Plats for (Triggering unit))))))
              • Special Effect - Create a special effect at Unholy_Plats_Allie_Pos using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
              • Special Effect - Destroy (Last created special effect)
      • Custom script: call DestroyGroup(udg_Unholy_Plats_Group)
      • Custom script: call RemoveLocation(udg_Unholy_Plats_Pos)
      • Custom script: call RemoveLocation(udg_Unholy_Plats_Allie_Pos)


Force Staff

  • Force Staff
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Force
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Force_Staff_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Force Staff Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target unit of ability being cast) Equal to No unit
        • Then - Actions
          • Set Force_Staff_Mui_Integer = (Force_Staff_Mui_Integer + 1)
          • Set Force_Staff_Mui_Turnoff = (Force_Staff_Mui_Turnoff + 1)
          • Set Force_Staff_Off[Force_Staff_Mui_Integer] = True
          • Set Force_Staff_Unit[Force_Staff_Mui_Integer] = (Triggering unit)
          • Unit - Turn collision for Force_Staff_Unit[Force_Staff_Mui_Integer] Off
          • Set Force_Staff_Distance[Force_Staff_Mui_Integer] = 600.00
          • Set Force_Staff_Facing[Force_Staff_Mui_Integer] = (Facing of Force_Staff_Unit[Force_Staff_Mui_Integer])
        • Else - Actions
          • Set Force_Staff_Mui_Integer = (Force_Staff_Mui_Integer + 1)
          • Set Force_Staff_Mui_Turnoff = (Force_Staff_Mui_Turnoff + 1)
          • Set Force_Staff_Off[Force_Staff_Mui_Integer] = True
          • Set Force_Staff_Unit[Force_Staff_Mui_Integer] = (Target unit of ability being cast)
          • Unit - Turn collision for Force_Staff_Unit[Force_Staff_Mui_Integer] Off
          • Set Force_Staff_Distance[Force_Staff_Mui_Integer] = 600.00
          • Set Force_Staff_Facing[Force_Staff_Mui_Integer] = (Facing of Force_Staff_Unit[Force_Staff_Mui_Integer])

  • Force Staff Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Force_Staff_Mui_Loop) from 1 to Force_Staff_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Force_Staff_Off[Force_Staff_Mui_Loop] Equal to True
            • Then - Actions
              • Set Force_Pos = (Position of Force_Staff_Unit[Force_Staff_Mui_Loop])
              • Set Force_Pos_Off = (Force_Pos offset by 50.00 towards Force_Staff_Facing[Force_Staff_Mui_Loop] degrees)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • Force_Staff_Distance[Force_Staff_Mui_Loop] Less than or equal to 0.00
                      • (Terrain pathing at Force_Pos_Off of type Flyability is off) Equal to True
                • Then - Actions
                  • Unit - Turn collision for Force_Staff_Unit[Force_Staff_Mui_Loop] On
                  • Set Force_Staff_Off[Force_Staff_Mui_Loop] = False
                  • Set Force_Staff_Mui_Turnoff = (Force_Staff_Mui_Turnoff - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Force_Staff_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Force_Staff_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Destructible - Pick every destructible within 150.00 of Force_Pos and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Destructible-type of (Picked destructible)) Equal to Summer Tree Wall
                        • Then - Actions
                          • Destructible - Kill (Picked destructible)
                        • Else - Actions
                  • Custom script: call SetUnitX(udg_Force_Staff_Unit[udg_Force_Staff_Mui_Loop],GetLocationX(udg_Force_Pos_Off))
                  • Custom script: call SetUnitY(udg_Force_Staff_Unit[udg_Force_Staff_Mui_Loop],GetLocationY(udg_Force_Pos_Off))
                  • Special Effect - Create a special effect attached to the origin of Force_Staff_Unit[Force_Staff_Mui_Loop] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Set Force_Staff_Distance[Force_Staff_Mui_Loop] = (Force_Staff_Distance[Force_Staff_Mui_Loop] - 50.00)
              • Custom script: call RemoveLocation(udg_Force_Pos)
              • Custom script: call RemoveLocation(udg_Force_Pos_Off)
            • Else - Actions


Borrowed Time

  • Borrowed Time Initialization
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Borrowed Time
    • Actions
      • Set Borrower = (Triggering unit)
      • Trigger - Add to Borrowed Time Checking <gen> the event (Unit - Borrower Takes damage)
      • Trigger - Add to Borrowed Time Damage <gen> the event (Unit - Borrower Takes damage)
      • Trigger - Turn off (This trigger)

  • Borrowed Time Checking
    • Events
    • Conditions
      • (Life of Borrower) Less than or equal to 400.00
      • Borrowed_Cooldown Equal to False
    • Actions
      • Unit - Remove Negative buffs from Borrower
      • Unit - Order Borrower to Special - Channel

  • Borrowed Time Activation
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • Borrowed_Cooldown Equal to False
      • (Ability being cast) Equal to Borrowed Time
    • Actions
      • Special Effect - Create a special effect attached to the origin of Borrower using Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl
      • Set Borrowed_Effect = (Last created special effect)
      • Trigger - Turn on Borrowed Time Damage <gen>
      • Set Borrowed_Cooldown = True
      • Unit - Remove Negative buffs from Borrower
      • Trigger - Run Borrowed Time Timer <gen> (ignoring conditions)
      • Trigger - Turn on Borrowed Time Seconds <gen>

  • Borrowed Time Timer
    • Events
    • Conditions
    • Actions
      • Wait 10.00 seconds
      • Set Borrowed_Cooldown = False
      • Trigger - Turn off (This trigger)

  • Borrowed Time Damage
    • Events
    • Conditions
      • (Damage source) Not equal to Borrower
    • Actions
      • Unit - Set life of Borrower to ((Life of Borrower) + ((Damage taken) x 2.00))

  • Borrowed Time Seconds
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • Set Borrowed_Time = (Borrowed_Time + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Borrowed_Time Greater than or equal to (50 + (25 x (Level of Borrowed Time for Borrower)))
        • Then - Actions
          • Set Borrowed_Time = 0
          • Special Effect - Destroy Borrowed_Effect
          • Trigger - Turn off Borrowed Time Damage <gen>
          • Trigger - Turn off (This trigger)
        • Else - Actions


Empathic Warp

  • Empathic Warp Cancel
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Break Empathic Warp
    • Actions
      • Set Empathic_Warp_Time = 0
      • Trigger - Turn off Empathic Warp Damage <gen>
      • Trigger - Turn off Empathic Warp Loop <gen>
      • Custom script: call RemoveLocation(udg_Empathic_Warper_Pos)
      • Custom script: call RemoveLocation(udg_Empathic_Warpee_Pos)
      • Lightning - Destroy Empathic_Warp
      • Player - Disable Break Empathic Warp for (Owner of (Triggering unit))
      • Player - Enable Empathic Warp for (Owner of (Triggering unit))

  • Empathic Warp Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Empathic Warp
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Empathic Warp for (Triggering unit)) Equal to 1
        • Then - Actions
          • Unit - Add Break Empathic Warp to (Triggering unit)
          • Player - Disable Break Empathic Warp for (Owner of (Triggering unit))
        • Else - Actions
          • Unit - Increase level of Break Empathic Warp for (Triggering unit)

  • Empathic Warp
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Empathic Warp
    • Actions
      • Player - Enable Break Empathic Warp for (Owner of (Triggering unit))
      • Set Empathic_Warper = (Triggering unit)
      • Set Empathic_Warpee = (Target unit of ability being cast)
      • Set Empathic_Warpee_Pos = (Position of Empathic_Warpee)
      • Set Empathic_Warper_Pos = (Position of Empathic_Warper)
      • Lightning - Create a lightning effect Mana Burn Empathic_Warper_Pos Empathic_Warpee_Pos
      • Set Empathic_Warp = (Last created lightning effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Target unit of ability being cast) is in Empathic_Warp_Group) Equal to True
        • Then - Actions
        • Else - Actions
          • Trigger - Add to Empathic Warp Damage <gen> the event (Unit - Empathic_Warpee Takes damage)
          • Unit Group - Add (Target unit of ability being cast) to Empathic_Warp_Group
      • Custom script: call RemoveLocation(udg_Empathic_Warpee_Pos)
      • Custom script: call RemoveLocation(udg_Empathic_Warper_Pos)
      • Player - Disable Empathic Warp for (Owner of (Triggering unit))
      • Trigger - Turn on Empathic Warp Damage <gen>
      • Trigger - Turn on Empathic Warp Loop <gen>

  • Empathic Warp Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • Set Empathic_Warpee_Pos = (Position of Empathic_Warpee)
      • Set Empathic_Warper_Pos = (Position of Empathic_Warper)
      • Set Empathic_Warp_Time = (Empathic_Warp_Time + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Empathic_Warpee is dead) Equal to True
              • (Empathic_Warper is dead) Equal to True
              • (Distance between Empathic_Warpee_Pos and Empathic_Warper_Pos) Greater than or equal to 1200.00
              • Empathic_Warp_Time Equal to 500
        • Then - Actions
          • Set Empathic_Warp_Time = 0
          • Player - Disable Break Empathic Warp for (Owner of Empathic_Warper)
          • Player - Enable Empathic Warp for (Owner of Empathic_Warper)
          • Trigger - Turn off Empathic Warp Damage <gen>
          • Trigger - Turn off (This trigger)
          • Custom script: call RemoveLocation(udg_Empathic_Warper_Pos)
          • Custom script: call RemoveLocation(udg_Empathic_Warpee_Pos)
          • Lightning - Destroy Empathic_Warp
        • Else - Actions
          • Lightning - Move Empathic_Warp Empathic_Warpee_Pos Empathic_Warper_Pos
          • Custom script: call RemoveLocation(udg_Empathic_Warper_Pos)
          • Custom script: call RemoveLocation(udg_Empathic_Warpee_Pos)

  • Empathic Warp Damage
    • Events
    • Conditions
      • (Damage source) Not equal to Empathic_Warpee
      • (Damage source) Not equal to Empathic_Warper
    • Actions
      • Set Empathic_Warper_Life = (Life of Empathic_Warper)
      • Set Empathic_Warp_Dmg_Amount = ((Damage taken) x (0.10 + (0.10 x (Real((Level of Empathic Warp for Empathic_Warper))))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Empathic_Warp_Dmg_Amount Greater than or equal to Empathic_Warper_Life
        • Then - Actions
          • Unit - Set life of Empathic_Warper to 1.00
          • Unit - Set life of Empathic_Warpee to ((Life of Empathic_Warpee) + Empathic_Warp_Dmg_Amount)
          • Special Effect - Create a special effect attached to the chest of Empathic_Warper using Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • Unit - Set life of Empathic_Warpee to ((Life of Empathic_Warpee) + Empathic_Warp_Dmg_Amount)
          • Trigger - Turn off Detecting a Melee attack <gen>
          • Unit - Cause (Damage source) to damage Empathic_Warper, dealing Empathic_Warp_Dmg_Amount damage of attack type Hero and damage type Normal
          • Trigger - Turn on Detecting a Melee attack <gen>
          • Special Effect - Create a special effect attached to the chest of Empathic_Warper using Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
          • Special Effect - Destroy (Last created special effect)


Fortune Reversal

  • Fortune Reversal
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fortune Reversal
    • Actions
      • Set Fortune_Reversed = (Target unit of ability being cast)
      • Set Fortune_Reversal_Health = ((Life of Fortune_Reversed) x (0.60 + (0.10 x (Real((Level of Fortune Reversal for (Triggering unit)))))))
      • Set Fortune_Reversal_Mana = ((Mana of Fortune_Reversed) x (0.60 + (0.10 x (Real((Level of Fortune Reversal for (Triggering unit)))))))
      • Unit - Set mana of Fortune_Reversed to ((Mana of Fortune_Reversed) - Fortune_Reversal_Mana)
      • Unit - Set life of Fortune_Reversed to ((Life of Fortune_Reversed) - Fortune_Reversal_Health)
      • Unit - Set mana of Fortune_Reversed to ((Mana of Fortune_Reversed) + Fortune_Reversal_Health)
      • Unit - Set life of Fortune_Reversed to ((Life of Fortune_Reversed) + Fortune_Reversal_Mana)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of Fortune_Reversed) Less than 500.00
        • Then - Actions
          • Unit - Set life of Fortune_Reversed to 500.00
        • Else - Actions


Penitence

  • Penitence
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Penitence
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Penitence_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Penitence Loop <gen>
          • Trigger - Turn on Penitence Cancel <gen>
        • Else - Actions
      • Set Penitence_Mui_Integer = (Penitence_Mui_Integer + 1)
      • Set Penitence_Mui_Turnoff = (Penitence_Mui_Turnoff + 1)
      • Set Penitence_Off[Penitence_Mui_Integer] = True
      • Set Penitencer[Penitence_Mui_Integer] = (Triggering unit)
      • Set Penitencer_Target[Penitence_Mui_Integer] = (Target unit of ability being cast)
      • Set Penitence_Time[Penitence_Mui_Integer] = 0

  • Penitence Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Penitence_Mui_Loop) from 1 to Penitence_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Penitence_Off[Penitence_Mui_Loop] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Penitence_Time[Penitence_Mui_Loop] Equal to 75
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Penitencer_Target[Penitence_Mui_Loop] belongs to an enemy of (Owner of Penitencer[Penitence_Mui_Loop])) Equal to True
                    • Then - Actions
                      • Trigger - Turn off Detecting a Melee attack <gen>
                      • Unit - Cause Penitencer[Penitence_Mui_Loop] to damage Penitencer_Target[Penitence_Mui_Loop], dealing (75.00 x (Real((Level of Penitence for Penitencer[Penitence_Mui_Loop])))) damage of attack type Spells and damage type Magic
                      • Trigger - Turn on Detecting a Melee attack <gen>
                      • Special Effect - Create a special effect attached to the chest of Penitencer_Target[Penitence_Mui_Loop] using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                      • Unit - Set life of Penitencer_Target[Penitence_Mui_Loop] to ((Life of Penitencer_Target[Penitence_Mui_Loop]) + (75.00 x (Real((Level of Penitence for Penitencer[Penitence_Mui_Loop])))))
                      • Special Effect - Create a special effect attached to the chest of Penitencer_Target[Penitence_Mui_Loop] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                  • Set Penitence_Mui_Turnoff = (Penitence_Mui_Turnoff - 1)
                  • Set Penitence_Off[Penitence_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Penitence_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Penitence_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                      • Trigger - Turn off Penitence Cancel <gen>
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • Penitence_Time[Penitence_Mui_Loop] Equal to 20
                          • Penitence_Time[Penitence_Mui_Loop] Equal to 50
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Penitencer_Target[Penitence_Mui_Loop] belongs to an enemy of (Owner of Penitencer[Penitence_Mui_Loop])) Equal to True
                        • Then - Actions
                          • Trigger - Turn off Detecting a Melee attack <gen>
                          • Unit - Cause Penitencer[Penitence_Mui_Loop] to damage Penitencer_Target[Penitence_Mui_Loop], dealing (75.00 x (Real((Level of Penitence for Penitencer[Penitence_Mui_Loop])))) damage of attack type Spells and damage type Magic
                          • Trigger - Turn on Detecting a Melee attack <gen>
                          • Special Effect - Create a special effect attached to the chest of Penitencer_Target[Penitence_Mui_Loop] using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                          • Unit - Set life of Penitencer_Target[Penitence_Mui_Loop] to ((Life of Penitencer_Target[Penitence_Mui_Loop]) + (75.00 x (Real((Level of Penitence for Penitencer[Penitence_Mui_Loop])))))
                          • Special Effect - Create a special effect attached to the chest of Penitencer_Target[Penitence_Mui_Loop] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
                          • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • Set Penitence_Time[Penitence_Mui_Loop] = (Penitence_Time[Penitence_Mui_Loop] + 1)
            • Else - Actions

  • Penitence Cancel
    • Events
      • Unit - A unit Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Penitence
    • Actions
      • For each (Integer Penitence_Stop_Loop) from 1 to Penitence_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to Penitencer[Penitence_Stop_Loop]
            • Then - Actions
              • Set Penitence_Off[Penitence_Stop_Loop] = False
              • Set Penitence_Mui_Turnoff = (Penitence_Mui_Turnoff - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Penitence_Mui_Turnoff Equal to 0
                • Then - Actions
                  • Set Penitence_Mui_Integer = 0
                  • Trigger - Turn off (This trigger)
                  • Trigger - Turn off Penitence Loop <gen>
                • Else - Actions
              • Skip remaining actions
            • Else - Actions


Devastating Strike

  • Devastating Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Devastating Strike
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Devastating_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Devastating Strike Loop <gen>
          • Trigger - Turn on Devastating Check <gen>
        • Else - Actions
      • Set Devastating_Check_Mui_Integer = (Devastating_Check_Mui_Integer + 1)
      • Set Devastating_Check_Mui_Turnoff = (Devastating_Check_Mui_Turnoff + 1)
      • Set Devastating_Check_Off[Devastating_Check_Mui_Integer] = True
      • Set Devastating_Mui_Integer = (Devastating_Mui_Integer + 1)
      • Set Devastating_Mui_Turnoff = (Devastating_Mui_Turnoff + 1)
      • Set Devastating_Off[Devastating_Mui_Integer] = True
      • Set Devastator[Devastating_Mui_Integer] = (Triggering unit)
      • Set Devastator_Target[Devastating_Mui_Integer] = (Target unit of ability being cast)
      • Set Devastator_Height[Devastating_Mui_Integer] = 0.00
      • Set Devastator_Pos = (Position of (Triggering unit))
      • Special Effect - Create a special effect attached to the chest of (Target unit of ability being cast) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
      • Set Devastation_Sfx = (Last created special effect)
      • Special Effect - Destroy Devastation_Sfx
      • Unit - Add Crow Form to (Triggering unit)
      • Unit - Remove Crow Form from (Triggering unit)
      • Unit - Create 1 Dummy :) for (Owner of (Triggering unit)) at Devastator_Pos facing Default building facing degrees
      • Unit - Add Storm Bolt [Devastator] to (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Triggering unit)
      • Unit - Create 1 Dummy :) for (Owner of (Triggering unit)) at Devastator_Pos facing Default building facing degrees
      • Unit - Add Storm Bolt [Devastator] to (Last created unit)
      • Unit - Set level of Storm Bolt [Devastator] for (Last created unit) to (Level of Devastating Strike for (Triggering unit))
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Target unit of ability being cast)
      • Unit - Turn collision for (Target unit of ability being cast) Off
      • Custom script: call RemoveLocation(udg_Devastator_Pos)

  • Devastating Strike Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Devastating_Mui_Loop) from 1 to Devastating_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Devastating_Off[Devastating_Mui_Loop] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Devastator[Devastating_Mui_Loop] is dead) Equal to True
                      • (Devastator_Target[Devastating_Mui_Loop] is dead) Equal to True
                      • Devastation_Time[Devastating_Mui_Loop] Equal to 175
                • Then - Actions
                  • Unit - Remove Devastating Strike buff from Devastator[Devastating_Mui_Loop]
                  • Unit - Remove Devastating Strike buff from Devastator_Target[Devastating_Mui_Loop]
                  • Set Devastator_Height[Devastating_Mui_Loop] = 0.00
                  • Set Devastation_Time[Devastating_Mui_Loop] = 0
                  • Unit - Turn collision for Devastator[Devastating_Mui_Loop] On
                  • Unit - Turn collision for Devastator_Target[Devastating_Mui_Loop] On
                  • Animation - Change Devastator[Devastating_Mui_Loop] flying height to 0.00 at 9999.00
                  • Animation - Change Devastator[Devastating_Mui_Loop]'s animation speed to 100.00% of its original speed
                  • Set Devastating_Mui_Turnoff = (Devastating_Mui_Turnoff - 1)
                  • Set Devastating_Off[Devastating_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Devastating_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Devastating_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                  • Trigger - Turn off Devastating Check <gen>
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Devastation_Time[Devastating_Mui_Loop] Less than 25
                    • Then - Actions
                      • Set Devastator_Target_Pos = (Position of Devastator_Target[Devastating_Mui_Loop])
                      • Unit - Make Devastator[Devastating_Mui_Loop] face Devastator_Target[Devastating_Mui_Loop] over 0.00 seconds
                      • Unit - Make Devastator_Target[Devastating_Mui_Loop] face Devastator[Devastating_Mui_Loop] over 0.00 seconds
                      • Set Devastator_Target_Pos_Off = (Devastator_Target_Pos offset by 24.00 towards (Facing of Devastator[Devastating_Mui_Loop]) degrees)
                      • Set Devastation_Group[Devastating_Mui_Loop] = (Units within 100.00 of Devastator_Target_Pos matching ((((Matching unit) is alive) Equal to True) and ((Matching unit) Not equal to Devastator_Target[Devastating_Mui_Loop])))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Number of units in Devastation_Group[Devastating_Mui_Loop]) Equal to 0
                        • Then - Actions
                        • Else - Actions
                          • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing 5.00 damage of attack type Hero and damage type Normal
                          • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                          • Special Effect - Destroy (Last created special effect)
                      • Destructible - Pick every destructible within 125.00 of Devastator_Target_Pos and do (Actions)
                        • Loop - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Destructible-type of (Picked destructible)) Equal to Summer Tree Wall
                            • Then - Actions
                              • Destructible - Kill (Picked destructible)
                            • Else - Actions
                      • Unit - Move Devastator_Target[Devastating_Mui_Loop] instantly to Devastator_Target_Pos_Off
                      • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                      • Custom script: call RemoveLocation(udg_Devastator_Target_Pos)
                      • Custom script: call RemoveLocation(udg_Devastator_Target_Pos_Off)
                      • Custom script: call DestroyGroup(udg_Devastation_Group[udg_Devastating_Mui_Loop])
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 25
                          • Devastation_Time[Devastating_Mui_Loop] Less than 50
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Devastation_Time[Devastating_Mui_Loop] Equal to 25
                            • Then - Actions
                              • Unit - Turn collision for Devastator[Devastating_Mui_Loop] Off
                            • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 37
                              • Devastation_Time[Devastating_Mui_Loop] Less than 50
                            • Then - Actions
                              • Set Devastator_Height[Devastating_Mui_Loop] = (Devastator_Height[Devastating_Mui_Loop] - 20.00)
                              • Set Devastator_Target_Pos = (Position of Devastator_Target[Devastating_Mui_Loop])
                              • Set Devastator_Pos = (Position of Devastator[Devastating_Mui_Loop])
                              • Set Devastator_Pos_Off = (Devastator_Pos offset by 23.00 towards (Facing of Devastator[Devastating_Mui_Loop]) degrees)
                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                              • Animation - Change Devastator[Devastating_Mui_Loop] flying height to Devastator_Height[Devastating_Mui_Loop] at 9999.00
                              • Unit - Move Devastator[Devastating_Mui_Loop] instantly to Devastator_Pos_Off
                            • Else - Actions
                              • Set Devastator_Height[Devastating_Mui_Loop] = (Devastator_Height[Devastating_Mui_Loop] + 20.00)
                              • Set Devastator_Target_Pos = (Position of Devastator_Target[Devastating_Mui_Loop])
                              • Set Devastator_Pos = (Position of Devastator[Devastating_Mui_Loop])
                              • Set Devastator_Pos_Off = (Devastator_Pos offset by 23.00 towards (Facing of Devastator[Devastating_Mui_Loop]) degrees)
                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                              • Animation - Change Devastator[Devastating_Mui_Loop] flying height to Devastator_Height[Devastating_Mui_Loop] at 9999.00
                              • Unit - Move Devastator[Devastating_Mui_Loop] instantly to Devastator_Pos_Off
                          • Custom script: call RemoveLocation(udg_Devastator_Target_Pos)
                          • Custom script: call RemoveLocation(udg_Devastator_Pos)
                          • Custom script: call RemoveLocation(udg_Devastator_Pos_Off)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Devastation_Time[Devastating_Mui_Loop] Equal to 50
                            • Then - Actions
                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                              • Animation - Change Devastator[Devastating_Mui_Loop]'s animation speed to 300.00% of its original speed
                              • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                              • Unit - Turn collision for Devastator[Devastating_Mui_Loop] On
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 50
                                  • Devastation_Time[Devastating_Mui_Loop] Less than 65
                                • Then - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Devastation_Time[Devastating_Mui_Loop] Equal to 60
                                    • Then - Actions
                                      • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (5.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                      • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                      • Special Effect - Destroy (Last created special effect)
                                    • Else - Actions
                                  • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 65
                                      • Devastation_Time[Devastating_Mui_Loop] Less than 80
                                    • Then - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Devastation_Time[Devastating_Mui_Loop] Equal to 65
                                        • Then - Actions
                                          • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                        • Else - Actions
                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Devastation_Time[Devastating_Mui_Loop] Equal to 75
                                        • Then - Actions
                                          • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (5.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                          • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                          • Special Effect - Destroy (Last created special effect)
                                        • Else - Actions
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 80
                                          • Devastation_Time[Devastating_Mui_Loop] Less than 95
                                        • Then - Actions
                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            • If - Conditions
                                              • Devastation_Time[Devastating_Mui_Loop] Equal to 80
                                            • Then - Actions
                                              • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                            • Else - Actions
                                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            • If - Conditions
                                              • Devastation_Time[Devastating_Mui_Loop] Equal to 90
                                            • Then - Actions
                                              • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (5.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                              • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                              • Special Effect - Destroy (Last created special effect)
                                            • Else - Actions
                                        • Else - Actions
                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            • If - Conditions
                                              • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 95
                                              • Devastation_Time[Devastating_Mui_Loop] Less than 110
                                            • Then - Actions
                                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                • If - Conditions
                                                  • Devastation_Time[Devastating_Mui_Loop] Equal to 105
                                                • Then - Actions
                                                  • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (5.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                                  • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                                  • Special Effect - Destroy (Last created special effect)
                                                • Else - Actions
                                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                • If - Conditions
                                                  • Devastation_Time[Devastating_Mui_Loop] Equal to 95
                                                • Then - Actions
                                                  • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                                                  • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                • Else - Actions
                                                  • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                            • Else - Actions
                                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                • If - Conditions
                                                  • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 110
                                                  • Devastation_Time[Devastating_Mui_Loop] Less than 125
                                                • Then - Actions
                                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    • If - Conditions
                                                      • Devastation_Time[Devastating_Mui_Loop] Equal to 120
                                                    • Then - Actions
                                                      • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (5.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                                      • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                                      • Special Effect - Destroy (Last created special effect)
                                                    • Else - Actions
                                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    • If - Conditions
                                                      • Devastation_Time[Devastating_Mui_Loop] Equal to 110
                                                    • Then - Actions
                                                      • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                                                      • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                    • Else - Actions
                                                      • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                • Else - Actions
                                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    • If - Conditions
                                                      • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 125
                                                      • Devastation_Time[Devastating_Mui_Loop] Less than 150
                                                    • Then - Actions
                                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                        • If - Conditions
                                                          • Devastation_Time[Devastating_Mui_Loop] Equal to 125
                                                        • Then - Actions
                                                          • Animation - Change Devastator[Devastating_Mui_Loop]'s animation speed to 50.00% of its original speed
                                                          • Animation - Play Devastator[Devastating_Mui_Loop]'s attack animation
                                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                        • Else - Actions
                                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                        • If - Conditions
                                                          • Devastation_Time[Devastating_Mui_Loop] Equal to 145
                                                        • Then - Actions
                                                          • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing (30.00 x (Real((Level of Devastating Strike for Devastator[Devastating_Mui_Loop])))) damage of attack type Hero and damage type Normal
                                                          • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
                                                          • Special Effect - Destroy (Last created special effect)
                                                          • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                                                          • Special Effect - Destroy (Last created special effect)
                                                          • Set Devastator_Target_Pos = (Position of Devastator_Target[Devastating_Mui_Loop])
                                                          • Unit - Create 1 Dummy :) for (Owner of Devastator[Devastating_Mui_Loop]) at Devastator_Target_Pos facing Default building facing degrees
                                                          • Unit - Add Slow to (Last created unit)
                                                          • Unit - Order (Last created unit) to Human Sorceress - Slow Devastator_Target[Devastating_Mui_Loop]
                                                          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                                                          • Unit - Create 1 Dummy :) for (Owner of Devastator[Devastating_Mui_Loop]) at Devastator_Target_Pos facing Default building facing degrees
                                                          • Unit - Add Storm Bolt [Hex] to (Last created unit)
                                                          • Unit - Set level of Storm Bolt [Hex] for (Last created unit) to (Level of Devastating Strike for Devastator[Devastating_Mui_Loop])
                                                          • Unit - Remove Devastating Strike buff from Devastator_Target[Devastating_Mui_Loop]
                                                          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt Devastator_Target[Devastating_Mui_Loop]
                                                          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                                                          • Custom script: call RemoveLocation(udg_Devastator_Target_Pos)
                                                        • Else - Actions
                                                    • Else - Actions
                                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                        • If - Conditions
                                                          • Devastation_Time[Devastating_Mui_Loop] Greater than or equal to 150
                                                          • Devastation_Time[Devastating_Mui_Loop] Less than 175
                                                        • Then - Actions
                                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            • If - Conditions
                                                              • Devastation_Time[Devastating_Mui_Loop] Equal to 150
                                                            • Then - Actions
                                                              • Unit - Make Devastator[Devastating_Mui_Loop] face Devastator_Target[Devastating_Mui_Loop] over 0.00 seconds
                                                              • Unit - Make Devastator_Target[Devastating_Mui_Loop] face Devastator[Devastating_Mui_Loop] over 0.00 seconds
                                                              • Animation - Change Devastator[Devastating_Mui_Loop]'s animation speed to 100.00% of its original speed
                                                              • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                              • Set Devastator_Facing[Devastating_Mui_Loop] = (Facing of Devastator[Devastating_Mui_Loop])
                                                            • Else - Actions
                                                          • Set Devastator_Target_Pos = (Position of Devastator_Target[Devastating_Mui_Loop])
                                                          • Unit - Make Devastator[Devastating_Mui_Loop] face Devastator_Target[Devastating_Mui_Loop] over 0.00 seconds
                                                          • Unit - Make Devastator_Target[Devastating_Mui_Loop] face Devastator[Devastating_Mui_Loop] over 0.00 seconds
                                                          • Set Devastator_Target_Pos_Off = (Devastator_Target_Pos offset by 24.00 towards Devastator_Facing[Devastating_Mui_Loop] degrees)
                                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                          • Set Devastation_Group[Devastating_Mui_Loop] = (Units within 100.00 of Devastator_Target_Pos matching ((((Matching unit) is alive) Equal to True) and ((Matching unit) Not equal to Devastator_Target[Devastating_Mui_Loop])))
                                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            • If - Conditions
                                                              • (Number of units in Devastation_Group[Devastating_Mui_Loop]) Equal to 0
                                                            • Then - Actions
                                                            • Else - Actions
                                                              • Unit - Cause Devastator[Devastating_Mui_Loop] to damage Devastator_Target[Devastating_Mui_Loop], dealing 5.00 damage of attack type Hero and damage type Normal
                                                              • Special Effect - Create a special effect attached to the chest of Devastator_Target[Devastating_Mui_Loop] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                                                              • Special Effect - Destroy (Last created special effect)
                                                          • Destructible - Pick every destructible within 125.00 of Devastator_Target_Pos and do (Actions)
                                                            • Loop - Actions
                                                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                                • If - Conditions
                                                                  • (Destructible-type of (Picked destructible)) Equal to Summer Tree Wall
                                                                • Then - Actions
                                                                  • Destructible - Kill (Picked destructible)
                                                                • Else - Actions
                                                          • Unit - Move Devastator_Target[Devastating_Mui_Loop] instantly to Devastator_Target_Pos_Off
                                                          • Set Devastation_Time[Devastating_Mui_Loop] = (Devastation_Time[Devastating_Mui_Loop] + 1)
                                                          • Custom script: call RemoveLocation(udg_Devastator_Target_Pos)
                                                          • Custom script: call RemoveLocation(udg_Devastator_Target_Pos_Off)
                                                          • Custom script: call DestroyGroup(udg_Devastation_Group[udg_Devastating_Mui_Loop])
                                                        • Else - Actions
            • Else - Actions

  • Devastating Check
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Devastating_Check_Mui_Loop) from 1 to Devastating_Check_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Devastating_Check_Off[Devastating_Check_Mui_Loop] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Devastating_Check[Devastating_Check_Mui_Loop] Equal to 145
                • Then - Actions
                  • Set Devastating_Check[Devastating_Check_Mui_Loop] = 0
                  • Set Devastating_Check_Mui_Turnoff = (Devastating_Check_Mui_Turnoff - 1)
                  • Set Devastating_Check_Off[Devastating_Check_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Devastating_Check_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Devastating_Check_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Devastating_Check[Devastating_Check_Mui_Loop] Greater than 25
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • (Devastator[Devastating_Check_Mui_Loop] has buff Devastating Strike ) Equal to True
                              • (Devastator_Target[Devastating_Check_Mui_Loop] has buff Devastating Strike ) Equal to True
                              • (Devastator[Devastating_Check_Mui_Loop] has buff Stunned) Equal to True
                              • (Devastator_Target[Devastating_Check_Mui_Loop] has buff Stunned) Equal to True
                        • Then - Actions
                        • Else - Actions
                          • Set Devastating_Check[Devastating_Check_Mui_Loop] = 0
                          • Set Devastating_Check_Mui_Turnoff = (Devastating_Check_Mui_Turnoff - 1)
                          • Set Devastating_Check_Off[Devastating_Check_Mui_Loop] = False
                          • Set Devastation_Time[Devastating_Check_Mui_Loop] = 0
                          • Set Devastating_Mui_Turnoff = (Devastating_Health_Mui_Turnoff - 1)
                          • Set Devastating_Off[Devastating_Check_Mui_Loop] = False
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • Devastating_Check_Mui_Turnoff Equal to 0
                            • Then - Actions
                              • Set Devastating_Check_Mui_Integer = 0
                              • Trigger - Turn off (This trigger)
                            • Else - Actions
                          • Set Devastating_Check[Devastating_Check_Mui_Loop] = 0
                          • Unit - Turn collision for Devastator[Devastating_Check_Mui_Loop] On
                          • Unit - Turn collision for Devastator_Target[Devastating_Check_Mui_Loop] On
                          • Unit - Remove Devastating Strike buff from Devastator[Devastating_Check_Mui_Loop]
                          • Unit - Remove Devastating Strike buff from Devastator_Target[Devastating_Check_Mui_Loop]
                          • Animation - Change Devastator[Devastating_Check_Mui_Loop] flying height to 0.00 at 9999.00
                          • Animation - Change Devastator[Devastating_Check_Mui_Loop]'s animation speed to 100.00% of its original speed
                    • Else - Actions
              • Set Devastating_Check[Devastating_Check_Mui_Loop] = (Devastating_Check[Devastating_Check_Mui_Loop] + 1)
            • Else - Actions


Spell of Randomness

  • Spell of Randomness
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Spell of Randomness
    • Actions
      • Set Random_Position = (Position of (Target unit of ability being cast))
      • Special Effect - Create a special effect attached to the chest of (Target unit of ability being cast) using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Create 1 Dummy :) for (Triggering player) at Random_Position facing Default building facing degrees
      • Unit - Add Slow to (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Sorceress - Slow (Target unit of ability being cast)
      • Trigger - Turn off Detecting a Melee attack <gen>
      • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing (Random real number between 50.00 and 350.00) damage of attack type Spells and damage type Magic
      • Trigger - Turn on Detecting a Melee attack <gen>
      • Set Random_Area = (Random real number between 200.00 and 600.00)
      • Set Random_Group = (Units within (Random real number between 200.00 and 600.00) of Random_Position matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) belongs to an enemy of (Triggering player
      • Set Random_Group_Random_People = (Random (Random integer number between 1 and (Number of units in Random_Group)) units from Random_Group)
      • Custom script: call RemoveLocation(udg_Random_Position)
      • Unit Group - Pick every unit in Random_Group_Random_People and do (Actions)
        • Loop - Actions
          • Set Random_Position = (Position of (Picked unit))
          • Unit - Create 1 Dummy :) for (Triggering player) at Random_Position facing Default building facing degrees
          • Unit - Add Slow to (Last created unit)
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)
          • Trigger - Turn off Detecting a Melee attack <gen>
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (Random real number between 50.00 and 350.00) damage of attack type Spells and damage type Magic
          • Trigger - Turn on Detecting a Melee attack <gen>
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Random_Position)
      • Custom script: call DestroyGroup(udg_Random_Group)
      • Custom script: call DestroyGroup(udg_Random_Group_Random_People)


Burnout

  • Burnout Real Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • Burnout_Burning Equal to True
      • (Triggering unit) Equal to Burnouter
      • Or - Any (Conditions) are true
        • Conditions
          • (Ability being cast) Equal to Devastating Strike
          • (Ability being cast) Equal to Mind Explosion
          • (Ability being cast) Equal to Penitence
          • (Ability being cast) Equal to Chain Link
    • Actions
      • -------- ^^ Above put the abilities the unit will use --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Devastating Strike
        • Then - Actions
          • Set Burnout_Mana = 50.00
          • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + 50.00)
          • -------- This if - then - else is only nescesary if you don't want to make the unit suicide (: --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Triggering unit)) Less than or equal to Burnout_Mana
            • Then - Actions
              • Unit - Set life of (Triggering unit) to 1.00
              • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
              • Special Effect - Destroy (Last created special effect)
            • Else - Actions
              • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - Burnout_Mana)
              • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
              • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Ability being cast) Equal to Penitence
            • Then - Actions
              • Set Burnout_Mana = 50.00
              • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + 50.00)
              • -------- This if - then - else is only nescesary if you don't want to make the unit suicide (: --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Life of (Triggering unit)) Less than or equal to Burnout_Mana
                • Then - Actions
                  • Unit - Set life of (Triggering unit) to 1.00
                  • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - Burnout_Mana)
                  • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Ability being cast) Equal to Mind Explosion
                • Then - Actions
                  • Set Burnout_Mana = 25.00
                  • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + 25.00)
                  • -------- This if - then - else is only nescesary if you don't want to make the unit suicide (: --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Life of (Triggering unit)) Less than or equal to Burnout_Mana
                    • Then - Actions
                      • Unit - Set life of (Triggering unit) to 1.00
                      • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                      • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - Burnout_Mana)
                      • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                      • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Ability being cast) Equal to Chain Link
                    • Then - Actions
                      • Set Burnout_Mana = 70.00
                      • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + 70.00)
                      • -------- This if - then - else is only nescesary if you don't want to make the unit suicide (: --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Life of (Triggering unit)) Less than or equal to Burnout_Mana
                        • Then - Actions
                          • Unit - Set life of (Triggering unit) to 1.00
                          • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                          • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - Burnout_Mana)
                          • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\CannonTowerMissile\CannonTowerMissile.mdl
                          • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
      • Set Burnout_Casts = (Burnout_Casts + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Burnout_Casts Equal to 10
        • Then - Actions
          • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + ((Max mana of (Triggering unit)) x (0.25 + (0.05 x (Real((Level of Burnout for (Triggering unit))))))))
          • Set Burnout_Casts = 0
          • Set Burnout_Burning = False
          • Trigger - Turn on Burnout Begin Burning <gen>
        • Else - Actions

  • Burnout Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Burnout
    • Actions
      • Set Burnouter = (Triggering unit)
      • Trigger - Turn on Burnout Begin Burning <gen>
      • Trigger - Turn off (This trigger)

  • Burnout Begin Burning
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • (Mana of Burnouter) Less than or equal to (100.00 - (5.00 x (Real((Level of Burnout for Burnouter)))))
      • Burnout_Burning Equal to False
    • Actions
      • Set Burnout_Burning = True
      • Trigger - Turn off (This trigger)


Mind Explosion

  • Mind Explosion
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Mind Explosion
    • Actions
      • Set Mind_Explosion_Pos = (Target point of ability being cast)
      • Set Mind_Explosion_Group = (Units within 412.00 of Mind_Explosion_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) belongs to an enemy of (Triggering player)) Equal to True) and (((Matching un
      • Unit Group - Pick every unit in Mind_Explosion_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A Hero) Equal to True
            • Then - Actions
              • Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - ((Real((Intelligence of (Triggering unit) (Include bonuses)))) x (2.00 x (Real((Level of Mind Explosion for (Triggering unit)))))))
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl
              • Special Effect - Destroy (Last created special effect)
            • Else - Actions
              • Trigger - Turn off Detecting a Melee attack <gen>
              • Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Max life of (Triggering unit)) x (0.25 + (0.25 x (Real((Level of Mind Explosion for (Triggering unit))))))) damage of attack type Spells and damage type Magic
              • Trigger - Turn on Detecting a Melee attack <gen>
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
              • Special Effect - Destroy (Last created special effect)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is dead) Equal to True
                • Then - Actions
                  • Set Mind_Explosion_Death_Pos = (Position of (Picked unit))
                  • Set Mind_Explosion_Death = (Units within 300.00 of Mind_Explosion_Death_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) belongs to an enemy of (Triggering player)) Equal to True) and (((Match
                  • Unit Group - Pick every unit in Mind_Explosion_Death and do (Actions)
                    • Loop - Actions
                      • Trigger - Turn off Detecting a Melee attack <gen>
                      • Unit - Cause (Triggering unit) to damage (Picked unit), dealing 300.00 damage of attack type Spells and damage type Magic
                      • Trigger - Turn on Detecting a Melee attack <gen>
                      • Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                      • Special Effect - Destroy (Last created special effect)
                  • Custom script: call RemoveLocation(udg_Mind_Explosion_Death_Pos)
                  • Custom script: call DestroyGroup(udg_Mind_Explosion_Death)
                • Else - Actions
      • Custom script: call DestroyGroup(udg_Mind_Explosion_Group)
      • Custom script: call RemoveLocation(udg_Mind_Explosion_Pos)


Frost Aura

  • Frost Aura Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Frost Aura
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Frost Aura for (Triggering unit)) Equal to 1
        • Then - Actions
          • Set Frost_Aura_Mui_Integer = (Frost_Aura_Mui_Integer + 1)
          • Set Frosty[Frost_Aura_Mui_Integer] = (Triggering unit)
          • Trigger - Turn on Frost Aura Loop <gen>
        • Else - Actions

  • Frost Aura Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Frost_Aura_Loop) from 1 to Frost_Aura_Mui_Integer, do (Actions)
        • Loop - Actions
          • Set Frosty_Pos = (Position of Frosty[Frost_Aura_Loop])
          • Set Frosty_Group = (Units within (400.00 + (100.00 x (Real((Level of Frost Aura for Frosty[Frost_Aura_Loop]))))) of Frosty_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy
          • Unit Group - Add all units of Frosty_Group to Frosty_Groupie_Two
          • Custom script: call RemoveLocation(udg_Frosty_Pos)
          • Unit Group - Pick every unit in Frosty_Groupie_Two and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current movement speed of (Picked unit)) Less than or equal to 20.00
                • Then - Actions
                  • Set Frosty_Pos = (Position of (Picked unit))
                  • Unit - Create 1 Dummy :) for (Owner of Frosty[Frost_Aura_Loop]) at Frosty_Pos facing Default building facing degrees
                  • Unit - Add Frost Aura [Dummy] to (Last created unit)
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • Unit - Order (Last created unit) to Night Elf Keeper Of The Grove - Entangling Roots (Picked unit)
                  • Custom script: call RemoveLocation(udg_Frosty_Pos)
                  • Unit Group - Remove (Picked unit) from Frosty_Groupie_Two
                  • Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) has buff Frost Aura ) Equal to False
                    • Then - Actions
                      • Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))
                      • Unit Group - Remove (Picked unit) from Frosty_Groupie_Two
                    • Else - Actions
                      • Unit - Set (Picked unit) movement speed to ((Current movement speed of (Picked unit)) - (1.00 x (Real((Level of Frost Aura for Frosty[Frost_Aura_Loop])))))
          • Custom script: call DestroyGroup(udg_Frosty_Group)


Split Mana

  • Split Mana
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Split Mana
    • Actions
      • Set Split_Mana_Amount = 0.00
      • Set Split_Mana_Caster = (Triggering unit)
      • Set Split_Mana_Pos = (Position of Split_Mana_Caster)
      • Set Split_Mana_Group = (Units within 512.00 of Split_Mana_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an ally of (Owner of Split_Mana_Caster)) Equal to True) and (((Matching unit) is alive) Equal to True))))
      • Unit Group - Pick every unit in Split_Mana_Group and do (Actions)
        • Loop - Actions
          • Set Split_Mana_Amount = (Split_Mana_Amount + (Mana of (Picked unit)))
      • Set Split_Mana_Divided = (Split_Mana_Amount / (Real((Number of units in Split_Mana_Group))))
      • Unit Group - Pick every unit in Split_Mana_Group and do (Actions)
        • Loop - Actions
          • Unit - Set mana of (Picked unit) to Split_Mana_Divided
          • Set Split_Mana_Group_Pos = (Position of (Picked unit))
          • Special Effect - Create a special effect at Split_Mana_Group_Pos using Abilities\Spells\Items\AIma\AImaTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Split_Mana_Group_Pos)
      • Custom script: call RemoveLocation(udg_Split_Mana_Pos)
      • Custom script: call DestroyGroup(udg_Split_Mana_Group)


Dual Weapon Mastery

  • Dual Weapon Mastery
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Dual Weapon Mastery
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Dual Weapon Mastery for (Triggering unit)) Equal to 1
        • Then - Actions
          • Unit - Add Sonic Focus to (Triggering unit)
          • Unit - Add Dual Weapon Mastery [Dummy] to (Triggering unit)
        • Else - Actions
          • Unit - Increase level of Sonic Focus for (Triggering unit)

  • Dual Weapon Mastery Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Dual_Weapon_Mui_Loop) from 1 to Dual_Weapon_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Dual_Weapon_Off[Dual_Weapon_Mui_Loop] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Dual_Weapon_Time[Dual_Weapon_Mui_Loop] Equal to 50
                • Then - Actions
                  • Set Dual_Weapon_Time[Dual_Weapon_Mui_Loop] = 0
                  • Unit - Set level of Dual Weapon Mastery [Dummy] for Duelist[Dual_Weapon_Mui_Loop] to 1
                  • Special Effect - Destroy Dual_Weapon_Sfx[Dual_Weapon_Mui_Loop]
                  • Set Dual_Weapon_Mui_Turnoff = (Dual_Weapon_Mui_Turnoff - 1)
                  • Set Dual_Weapon_Off[Dual_Weapon_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Dual_Weapon_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Dual_Weapon_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Set Dual_Weapon_Time[Dual_Weapon_Mui_Loop] = (Dual_Weapon_Time[Dual_Weapon_Mui_Loop] + 1)
            • Else - Actions


Sonic Focus

  • Sonic Focus
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sonic Focus
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Focused Force for (Triggering unit)) Greater than 0
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Sonic Focus for (Triggering unit)) Equal to 1
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Focused Force for (Triggering unit)) Equal to 2
                • Then - Actions
                • Else - Actions
                  • Unit - Increase level of Focused Force for (Triggering unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Life of (Triggering unit)) Less than or equal to 20.00
                    • Then - Actions
                      • Unit - Set life of (Triggering unit) to 1.00
                    • Else - Actions
                      • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 20.00)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Sonic Focus for (Triggering unit)) Equal to 2
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Focused Force for (Triggering unit)) Equal to 4
                    • Then - Actions
                    • Else - Actions
                      • Unit - Increase level of Focused Force for (Triggering unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Life of (Triggering unit)) Less than or equal to 20.00
                        • Then - Actions
                          • Unit - Set life of (Triggering unit) to 1.00
                        • Else - Actions
                          • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 20.00)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Sonic Focus for (Triggering unit)) Equal to 3
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Focused Force for (Triggering unit)) Equal to 6
                        • Then - Actions
                        • Else - Actions
                          • Unit - Increase level of Focused Force for (Triggering unit)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Life of (Triggering unit)) Less than or equal to 20.00
                            • Then - Actions
                              • Unit - Set life of (Triggering unit) to 1.00
                            • Else - Actions
                              • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 20.00)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Sonic Focus for (Triggering unit)) Equal to 4
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Level of Focused Force for (Triggering unit)) Equal to 8
                            • Then - Actions
                            • Else - Actions
                              • Unit - Increase level of Focused Force for (Triggering unit)
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Life of (Triggering unit)) Less than or equal to 20.00
                                • Then - Actions
                                  • Unit - Set life of (Triggering unit) to 1.00
                                • Else - Actions
                                  • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 20.00)
                        • Else - Actions
        • Else - Actions
          • Unit - Add Focused Force to (Triggering unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Triggering unit)) Less than or equal to 20.00
            • Then - Actions
              • Unit - Set life of (Triggering unit) to 1.00
            • Else - Actions
              • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 20.00)


Triple Sonic Slash

  • Triple Sonic Slash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Triple Sonic Slash
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Focused Force for (Triggering unit)) Less than or equal to 1
        • Then - Actions
          • Set ErrorPlayer = (Owner of (Triggering unit))
          • Set ErrorMessage = Need to charge up Force.
          • Unit - Order (Triggering unit) to Stop
          • Custom script: call ErrorMessage(udg_ErrorMessage,udg_ErrorPlayer)
        • Else - Actions
          • Set Triple_Sonic_Damage = (100.00 + ((10.00 + (10.00 x (Real((Level of Sonic Focus for (Triggering unit)))))) x (Real((Level of Focused Force for (Triggering unit))))))
          • Trigger - Turn off Detecting a Melee attack <gen>
          • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing Triple_Sonic_Damage damage of attack type Chaos and damage type Unknown
          • Trigger - Turn on Detecting a Melee attack <gen>
          • Special Effect - Create a special effect attached to the chest of (Target unit of ability being cast) using Abilities\Spells\Items\WandOfNeutralization\NeutralizationMissile.mdl
          • Special Effect - Destroy (Last created special effect)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Focused Force for (Triggering unit)) Equal to 2
            • Then - Actions
              • Unit - Remove Focused Force from (Triggering unit)
            • Else - Actions
              • Unit - Decrease level of Focused Force for (Triggering unit)
              • Unit - Decrease level of Focused Force for (Triggering unit)


Sonic Blaster

  • Sonic Blaster
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sonic Blaster
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Focused Force for (Triggering unit)) Equal to 0
        • Then - Actions
          • Set ErrorPlayer = (Owner of (Triggering unit))
          • Set ErrorMessage = Need to charge up Force.
          • Unit - Order (Triggering unit) to Stop
          • Custom script: call ErrorMessage(udg_ErrorMessage,udg_ErrorPlayer)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Sonic_Blaster_Mui_Turnoff Equal to 0
            • Then - Actions
              • Trigger - Turn on Sonic Blaster Loop <gen>
            • Else - Actions
          • Set Sonic_Blaster_Mui_Integer = (Sonic_Blaster_Mui_Integer + 1)
          • Set Sonic_Blaster_Mui_Turnoff = (Sonic_Blaster_Mui_Turnoff + 1)
          • Set Sonic_Blaster_Off[Sonic_Blaster_Mui_Integer] = True
          • Set Sonic_Blaster_Damage[Sonic_Blaster_Mui_Integer] = (50.00 + ((10.00 + (10.00 x (Real((Level of Sonic Focus for (Triggering unit)))))) x (Real((Level of Focused Force for (Triggering unit))))))
          • Set Sonic_Blaster_Pos = (Position of (Triggering unit))
          • Set Sonic_Blaster_Blaster[Sonic_Blaster_Mui_Integer] = (Triggering unit)
          • Set Sonic_Blaster_Target[Sonic_Blaster_Mui_Integer] = (Target unit of ability being cast)
          • Unit - Create 1 Sonic Blaster Dummy for (Triggering player) at Sonic_Blaster_Pos facing (Facing of (Triggering unit)) degrees
          • Set Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Integer] = (Last created unit)
          • Custom script: call RemoveLocation(udg_Sonic_Blaster_Pos)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Focused Force for (Triggering unit)) Equal to 1
            • Then - Actions
              • Unit - Remove Focused Force from (Triggering unit)
            • Else - Actions
              • Unit - Decrease level of Focused Force for (Triggering unit)

  • Sonic Blaster Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Sonic_Blaster_Mui_Loop) from 1 to Sonic_Blaster_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Sonic_Blaster_Off[Sonic_Blaster_Mui_Loop] Equal to True
            • Then - Actions
              • Set Sonic_Blaster_Pos = (Position of Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Loop])
              • Set Sonic_Blaster_Group = (Units within 25.00 of Sonic_Blaster_Pos matching ((Matching unit) Equal to Sonic_Blaster_Target[Sonic_Blaster_Mui_Loop]))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in Sonic_Blaster_Group) Equal to 1
                • Then - Actions
                  • Trigger - Turn off Detecting a Melee attack <gen>
                  • Unit - Cause Sonic_Blaster_Blaster[Sonic_Blaster_Mui_Loop] to damage Sonic_Blaster_Target[Sonic_Blaster_Mui_Loop], dealing Sonic_Blaster_Damage[Sonic_Blaster_Mui_Loop] damage of attack type Chaos and damage type Universal
                  • Trigger - Turn on Detecting a Melee attack <gen>
                  • Special Effect - Create a special effect attached to the chest of Sonic_Blaster_Target[Sonic_Blaster_Mui_Loop] using Abilities\Spells\Items\WandOfNeutralization\NeutralizationMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Remove Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Loop] from the game
                  • Set Sonic_Blaster_Mui_Turnoff = (Sonic_Blaster_Mui_Turnoff - 1)
                  • Set Sonic_Blaster_Off[Sonic_Blaster_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Sonic_Blaster_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Sonic_Blaster_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Set Sonic_Blaster_Target_Pos = (Position of Sonic_Blaster_Target[Sonic_Blaster_Mui_Loop])
                  • Set Sonic_Blaster_Pos_Off = (Sonic_Blaster_Pos offset by 50.00 towards (Angle from Sonic_Blaster_Pos to Sonic_Blaster_Target_Pos) degrees)
                  • Unit - Move Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Loop] instantly to Sonic_Blaster_Pos_Off, facing (Facing of Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Loop]) degrees
                  • Unit - Make Sonic_Blaster_Dummy[Sonic_Blaster_Mui_Loop] face Sonic_Blaster_Target_Pos over 0.00 seconds
                  • Custom script: call RemoveLocation(udg_Sonic_Blaster_Target_Pos)
                  • Custom script: call RemoveLocation(udg_Sonic_Blaster_Pos_Off)
              • Custom script: call RemoveLocation(udg_Sonic_Blaster_Pos)
              • Custom script: call DestroyGroup(udg_Sonic_Blaster_Group)
            • Else - Actions


Sonic Rush

  • Sonic Rush
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sonic Rush
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Focused Force for (Triggering unit)) Equal to 0
        • Then - Actions
          • Set ErrorPlayer = (Owner of (Triggering unit))
          • Unit - Order (Triggering unit) to Stop
          • Set ErrorMessage = Need to charge up Force.
          • Custom script: call ErrorMessage(udg_ErrorMessage,udg_ErrorPlayer)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Sonic_Rush_Mui_Turnoff Equal to 0
            • Then - Actions
              • Trigger - Turn on Sonic Rush Loop <gen>
            • Else - Actions
          • Set Sonic_Rush_Mui_Integer = (Sonic_Rush_Mui_Integer + 1)
          • Set Sonic_Rush_Mui_Turnoff = (Sonic_Rush_Mui_Turnoff + 1)
          • Set Sonic_Rush_Distance[Sonic_Rush_Mui_Integer] = 600
          • Set Sonic_Rush_Facing[Sonic_Rush_Mui_Integer] = (Facing of (Triggering unit))
          • Set Sonic_Rush_Off[Sonic_Rush_Mui_Integer] = True
          • Set Sonic_Rush_Rusher[Sonic_Rush_Mui_Integer] = (Triggering unit)
          • Unit - Turn collision for (Triggering unit) Off
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Number of units in Sonic_Rush_Group_2[Sonic_Rush_Mui_Loop]) Equal to 0
            • Then - Actions
              • Custom script: set udg_Sonic_Rush_Group_2[udg_Sonic_Rush_Mui_Integer]=CreateGroup()
            • Else - Actions
          • Set Sonic_Rush_Damage[Sonic_Rush_Mui_Integer] = ((100.00 x (Real((Level of Sonic Rush for (Triggering unit))))) + (20.00 x (Real((Level of Focused Force for (Triggering unit))))))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Focused Force for (Triggering unit)) Less than or equal to 1
            • Then - Actions
              • Unit - Remove Focused Force from (Triggering unit)
            • Else - Actions
              • Unit - Decrease level of Focused Force for (Triggering unit)

  • Sonic Rush Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Sonic_Rush_Mui_Loop) from 1 to Sonic_Rush_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Sonic_Rush_Off[Sonic_Rush_Mui_Loop] Equal to True
            • Then - Actions
              • Set Sonic_Rush_Pos = (Position of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop])
              • Set Sonic_Rush_Pos_Off = (Sonic_Rush_Pos offset by 48.00 towards Sonic_Rush_Facing[Sonic_Rush_Mui_Loop] degrees)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • Sonic_Rush_Distance[Sonic_Rush_Mui_Loop] Less than or equal to 0
                      • (Terrain pathing at Sonic_Rush_Pos_Off of type Flyability is off) Equal to True
                • Then - Actions
                  • Unit - Create 1 Dummy :) for (Owner of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop]) at Sonic_Rush_Pos facing Default building facing degrees
                  • Unit - Add Sonic Rush [Attack Speed] to (Last created unit)
                  • Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop]
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • Unit - Turn collision for Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] On
                  • Unit Group - Remove all units from Sonic_Rush_Group_2[Sonic_Rush_Mui_Loop]
                  • Set Sonic_Rush_Mui_Turnoff = (Sonic_Rush_Mui_Turnoff - 1)
                  • Set Sonic_Rush_Off[Sonic_Rush_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Sonic_Rush_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Sonic_Rush_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_Sonic_Rush_Pos)
                  • Custom script: call DestroyGroup(udg_Sonic_Rush_Group_2[udg_Sonic_Rush_Mui_Loop])
                • Else - Actions
                  • Set Sonic_Rush_Distance[Sonic_Rush_Mui_Loop] = (Sonic_Rush_Distance[Sonic_Rush_Mui_Loop] - 48)
                  • Set Sonic_Rush_Group = (Units within 150.00 of Sonic_Rush_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop])) Equal to True) and ((((Matching unit) is alive) Equal to True)
                  • Special Effect - Create a special effect attached to the chest of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] using Abilities\Spells\Human\Defend\DefendCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Special Effect - Create a special effect attached to the chest of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Special Effect - Create a special effect attached to the chest of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Move Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] instantly to Sonic_Rush_Pos_Off, facing Sonic_Rush_Facing[Sonic_Rush_Mui_Loop] degrees
                  • Special Effect - Create a special effect attached to the chest of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit Group - Add all units of Sonic_Rush_Group to Sonic_Rush_Group_2[Sonic_Rush_Mui_Loop]
                  • Custom script: call RemoveLocation(udg_Sonic_Rush_Pos)
                  • Unit Group - Pick every unit in Sonic_Rush_Group and do (Actions)
                    • Loop - Actions
                      • Set Sonic_Rush_Pos = (Position of (Picked unit))
                      • Unit - Create 1 Dummy :) for (Owner of Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop]) at Sonic_Rush_Pos facing Default building facing degrees
                      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                      • Unit - Add Storm Bolt [Hex] to (Last created unit)
                      • Unit - Increase level of Storm Bolt [Hex] for (Last created unit)
                      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
                      • Trigger - Turn off Detecting a Melee attack <gen>
                      • Unit - Cause Sonic_Rush_Rusher[Sonic_Rush_Mui_Loop] to damage (Picked unit), dealing Sonic_Rush_Damage[Sonic_Rush_Mui_Loop] damage of attack type Spells and damage type Magic
                      • Trigger - Turn on Detecting a Melee attack <gen>
                      • 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)
                      • Custom script: call RemoveLocation(udg_Sonic_Rush_Pos)
                  • Custom script: call DestroyGroup(udg_Sonic_Rush_Group)
              • Custom script: call RemoveLocation(udg_Sonic_Rush_Pos_Off)
            • Else - Actions


Multi Shot

  • Multi Shot Setup
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Set Multi_Shot_Angles[1] = 0
      • Set Multi_Shot_Angles[2] = 5
      • Set Multi_Shot_Angles[3] = -5
      • Set Multi_Shot_Angles[4] = 10
      • Set Multi_Shot_Angles[5] = -10
      • Set Multi_Shot_Angles[6] = 15
      • Set Multi_Shot_Angles[7] = -15
      • Set Multi_Shot_Angles[8] = 20
      • Set Multi_Shot_Angles[9] = -20
      • Set Multi_Shot_Angles[10] = 25
      • Set Multi_Shot_Angles[11] = -25

  • Multi Shot
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Multi Shot
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Multi_Shot_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Multi Shot Loop <gen>
        • Else - Actions
      • For each (Integer Multi_Shot_Inside_Loop) from 1 to ((Level of Multi Shot for (Triggering unit)) + 2), do (Actions)
        • Loop - Actions
          • Set Multi_Shot_Mui_Integer = (Multi_Shot_Mui_Integer + 1)
          • Set Multi_Shot_Mui_Turnoff = (Multi_Shot_Mui_Turnoff + 1)
          • Set Multi_Shot_Off[Multi_Shot_Mui_Integer] = True
          • Set Multi_Shot_Unit[Multi_Shot_Mui_Integer] = (Triggering unit)
          • Set Multi_Shot_Pos = (Position of (Triggering unit))
          • Set Multi_Shot_Pos_Off = (Target point of ability being cast)
          • Unit - Create 1 Multi Shot Dummy for (Triggering player) at Multi_Shot_Pos facing ((Angle from Multi_Shot_Pos to Multi_Shot_Pos_Off) + (Real(Multi_Shot_Angles[Multi_Shot_Inside_Loop]))) degrees
          • Set Multi_Shot_Dummies[Multi_Shot_Mui_Integer] = (Last created unit)
          • Set Multi_Shot_Facing[Multi_Shot_Mui_Integer] = (Facing of (Last created unit))
          • Set Multi_Shot_Distance[Multi_Shot_Mui_Integer] = 625.00
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Number of units in Multi_Shot_Group_2[Multi_Shot_Mui_Integer]) Equal to 0
            • Then - Actions
              • Custom script: set udg_Multi_Shot_Group_2[udg_Multi_Shot_Mui_Integer]=CreateGroup()
            • Else - Actions
          • Custom script: call RemoveLocation(udg_Multi_Shot_Pos)
          • Custom script: call RemoveLocation(udg_Multi_Shot_Pos_Off)

  • Multi Shot Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Multi_Shot_Mui_Loop) from 1 to Multi_Shot_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Multi_Shot_Off[Multi_Shot_Mui_Loop] Equal to True
            • Then - Actions
              • Set Multi_Shot_Pos = (Position of Multi_Shot_Dummies[Multi_Shot_Mui_Loop])
              • Set Multi_Shot_Pos_Off = (Multi_Shot_Pos offset by 48.00 towards Multi_Shot_Facing[Multi_Shot_Mui_Loop] degrees)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • Multi_Shot_Distance[Multi_Shot_Mui_Loop] Less than or equal to 0.00
                      • (Terrain pathing at Multi_Shot_Pos_Off of type Flyability is off) Equal to True
                • Then - Actions
                  • Unit - Remove Multi_Shot_Dummies[Multi_Shot_Mui_Loop] from the game
                  • Unit Group - Remove all units from Multi_Shot_Group_2[Multi_Shot_Mui_Loop]
                  • Set Multi_Shot_Mui_Turnoff = (Multi_Shot_Mui_Turnoff - 1)
                  • Set Multi_Shot_Off[Multi_Shot_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Multi_Shot_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Multi_Shot_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                  • Custom script: call DestroyGroup(udg_Multi_Shot_Group_2[udg_Multi_Shot_Mui_Loop])
                • Else - Actions
                  • Set Multi_Shot_Group = (Units within 120.00 of Multi_Shot_Pos matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is in Multi_Shot_Group_2[Multi_Shot_Mui_Loop]) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belo
                  • Unit Group - Pick every unit in Multi_Shot_Group and do (Actions)
                    • Loop - Actions
                      • Trigger - Turn off Detecting a Melee attack <gen>
                      • Unit - Cause Multi_Shot_Unit[Multi_Shot_Mui_Loop] to damage (Picked unit), dealing (Real((Agility of Multi_Shot_Unit[Multi_Shot_Mui_Loop] (Include bonuses)))) damage of attack type Hero and damage type Normal
                      • Trigger - Turn on Detecting a Melee attack <gen>
                      • 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)
                  • Unit Group - Add all units of Multi_Shot_Group to Multi_Shot_Group_2[Multi_Shot_Mui_Loop]
                  • Unit - Move Multi_Shot_Dummies[Multi_Shot_Mui_Loop] instantly to Multi_Shot_Pos_Off, facing Multi_Shot_Facing[Multi_Shot_Mui_Loop] degrees
                  • Set Multi_Shot_Distance[Multi_Shot_Mui_Loop] = (Multi_Shot_Distance[Multi_Shot_Mui_Loop] - 48.00)
                  • Custom script: call DestroyGroup(udg_Multi_Shot_Group)
              • Custom script: call RemoveLocation(udg_Multi_Shot_Pos)
              • Custom script: call RemoveLocation(udg_Multi_Shot_Pos_Off)
            • Else - Actions


Snipe Assasination Shot

  • Snipe Assasination Shot
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Snipe Assasination Shot
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Snipe_Shot_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Snipe Assasination Shot Loop <gen>
        • Else - Actions
      • Set Snipe_Shot_Mui_Integer = (Snipe_Shot_Mui_Integer + 1)
      • Set Snipe_Shot_Mui_Turnoff = (Snipe_Shot_Mui_Turnoff + 1)
      • Set Snipe_Shot_Off[Snipe_Shot_Mui_Integer] = True
      • Set Snipe_Shot_Sniper[Snipe_Shot_Mui_Integer] = (Triggering unit)
      • Set Snipe_Shot_Target[Snipe_Shot_Mui_Integer] = (Target unit of ability being cast)
      • Set Snipe_Shot_Pos = (Position of (Triggering unit))
      • Unit - Create 1 Snipe Assasination Shot Dummy for (Triggering player) at Snipe_Shot_Pos facing (Facing of (Triggering unit)) degrees
      • Set Snipe_Shot_Dummies[Snipe_Shot_Mui_Integer] = (Last created unit)
      • Custom script: call RemoveLocation(udg_Snipe_Shot_Pos)

  • Snipe Assasination Shot Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Snipe_Shot_Mui_Loop) from 1 to Snipe_Shot_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Snipe_Shot_Off[Snipe_Shot_Mui_Loop] Equal to True
            • Then - Actions
              • Set Snipe_Shot_Pos = (Position of Snipe_Shot_Dummies[Snipe_Shot_Mui_Loop])
              • Set Snipe_Shot_Target_Pos = (Position of Snipe_Shot_Target[Snipe_Shot_Mui_Loop])
              • Set Snipe_Shot_Group = (Units within 40.00 of Snipe_Shot_Pos matching ((Matching unit) Equal to Snipe_Shot_Target[Snipe_Shot_Mui_Loop]))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in Snipe_Shot_Group) Equal to 1
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Cos(((Facing of Snipe_Shot_Target[Snipe_Shot_Mui_Loop]) - (Angle from Snipe_Shot_Target_Pos to Snipe_Shot_Pos)))) Greater than (Cos(90.00))
                    • Then - Actions
                    • Else - Actions
                      • Trigger - Turn off Detecting a Melee attack <gen>
                      • Unit - Cause Snipe_Shot_Sniper[Snipe_Shot_Mui_Loop] to damage Snipe_Shot_Target[Snipe_Shot_Mui_Loop], dealing ((2.50 + (0.25 x (Real((Level of Snipe Assasination Shot for Snipe_Shot_Sniper[Snipe_Shot_Mui_Loop]))))) x (Real((Agility of Snipe_Shot_Sniper[Snipe_Shot_Mui_Loop] (Include bonuses))))) damage of attack type Normal and damage type Normal
                      • Trigger - Turn on Detecting a Melee attack <gen>
                      • Special Effect - Create a special effect attached to the chest of Snipe_Shot_Target[Snipe_Shot_Mui_Loop] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                      • Special Effect - Destroy (Last created special effect)
                  • Trigger - Turn off Detecting a Melee attack <gen>
                  • Unit - Cause Snipe_Shot_Sniper[Snipe_Shot_Mui_Loop] to damage Snipe_Shot_Target[Snipe_Shot_Mui_Loop], dealing (100.00 + (25.00 x (Real((Level of Snipe Assasination Shot for Snipe_Shot_Sniper[Snipe_Shot_Mui_Loop]))))) damage of attack type Normal and damage type Normal
                  • Trigger - Turn on Detecting a Melee attack <gen>
                  • Unit - Remove Snipe_Shot_Dummies[Snipe_Shot_Mui_Loop] from the game
                  • Set Snipe_Shot_Mui_Turnoff = (Snipe_Shot_Mui_Turnoff - 1)
                  • Set Snipe_Shot_Off[Snipe_Shot_Mui_Loop] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Snipe_Shot_Mui_Turnoff Equal to 0
                    • Then - Actions
                      • Set Snipe_Shot_Mui_Integer = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Set Snipe_Shot_Pos_Off = (Snipe_Shot_Pos offset by 60.00 towards (Angle from Snipe_Shot_Pos to Snipe_Shot_Target_Pos) degrees)
                  • Unit - Move Snipe_Shot_Dummies[Snipe_Shot_Mui_Loop] instantly to Snipe_Shot_Pos_Off, facing (Angle from Snipe_Shot_Pos to Snipe_Shot_Target_Pos) degrees
                  • Custom script: call RemoveLocation(udg_Snipe_Shot_Pos_Off)
              • Custom script: call RemoveLocation(udg_Snipe_Shot_Pos)
              • Custom script: call RemoveLocation(udg_Snipe_Shot_Target_Pos)
              • Custom script: call DestroyGroup(udg_Snipe_Shot_Group)
            • Else - Actions


Sneaky

  • Sneaky Kills
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • (Level of Sneaky for (Killing unit)) Greater than 0
    • Actions
      • For each (Integer Sneaky_Kill_Loop) from 1 to Sneaky_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Killing unit) Equal to Sneaky_Ranger[Sneaky_Kill_Loop]
            • Then - Actions
              • Hero - Modify Agility of Sneaky_Ranger[Sneaky_Kill_Loop]: Subtract (Integer(Sneaky_Kill_Count[Sneaky_Kill_Loop]))
              • Set Sneaky_Kill_Count[Sneaky_Kill_Loop] = (Sneaky_Kill_Count[Sneaky_Kill_Loop] + (1.00 + (0.25 x (Real((Level of Sneaky for Sneaky_Ranger[Sneaky_Kill_Loop]))))))
              • Hero - Modify Agility of Sneaky_Ranger[Sneaky_Kill_Loop]: Add (Integer(Sneaky_Kill_Count[Sneaky_Kill_Loop]))
              • Set Sneaky_Pos = (Position of (Killing unit))
              • Floating Text - Create floating text that reads (+ + ((String((Integer((1.00 + (0.25 x (Real((Level of Sneaky for (Killing unit)))))))))) + Agility)) at Sneaky_Pos with Z offset 0.00, using font size 10.00, color (50.00%, 50.00%, 100.00%), and 0.00% transparency
              • Set Sneaky_Floatin = (Last created floating text)
              • Floating Text - Change Sneaky_Floatin: Disable permanence
              • Floating Text - Change the lifespan of Sneaky_Floatin to 4.00 seconds
              • Floating Text - Change the fading age of Sneaky_Floatin to 2.50 seconds
              • Floating Text - Set the velocity of Sneaky_Floatin to 64.00 towards 90.00 degrees
              • Custom script: call RemoveLocation(udg_Sneaky_Pos)
            • Else - Actions

  • Sneaky Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Sneaky
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Sneaky for (Triggering unit)) Equal to 1
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Sneaky_Mui_Integer Equal to 0
            • Then - Actions
              • Trigger - Turn on Sneaky Attacks <gen>
              • Trigger - Turn on Sneaky Loop <gen>
            • Else - Actions
          • Set Sneaky_Mui_Integer = (Sneaky_Mui_Integer + 1)
          • Set Sneaky_Ranger[Sneaky_Mui_Integer] = (Triggering unit)
          • Set Sneaky_Previous_Pos[Sneaky_Mui_Integer] = (Position of (Triggering unit))
        • Else - Actions

  • Sneaky Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Sneaky_Mui_Loop) from 1 to Sneaky_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Traceless_Stop_Sneaky[Sneaky_Mui_Loop] Equal to False
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Sneaky_Ranger[Sneaky_Mui_Loop] is alive) Equal to True
                • Then - Actions
                  • Set Sneaky_Pos = (Position of Sneaky_Ranger[Sneaky_Mui_Loop])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between Sneaky_Pos and Sneaky_Previous_Pos[Sneaky_Mui_Loop]) Equal to 0.00
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Sneaky_Ranger[Sneaky_Mui_Loop] has buff Sneaky ) Equal to False
                        • Then - Actions
                          • Unit - Create 1 Dummy :) for (Owner of Sneaky_Ranger[Sneaky_Mui_Loop]) at Sneaky_Pos facing Default building facing degrees
                          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                          • Unit - Add Sneaky [Dummy] to (Last created unit)
                          • Unit - Set level of Sneaky [Dummy] for (Last created unit) to (Level of Sneaky for Sneaky_Ranger[Sneaky_Mui_Loop])
                          • Unit - Order (Last created unit) to Human Sorceress - Invisibility Sneaky_Ranger[Sneaky_Mui_Loop]
                        • Else - Actions
                    • Else - Actions
                      • Unit - Remove Sneaky buff from Sneaky_Ranger[Sneaky_Mui_Loop]
                  • Custom script: call RemoveLocation(udg_Sneaky_Pos)
                  • Custom script: call RemoveLocation(udg_Sneaky_Previous_Pos[udg_Sneaky_Mui_Loop])
                  • Set Sneaky_Previous_Pos[Sneaky_Mui_Loop] = (Position of Sneaky_Ranger[Sneaky_Mui_Loop])
                • Else - Actions
            • Else - Actions

  • Sneaky Attacks
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) has buff Sneaky ) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Current order of (Attacking unit)) Not equal to (Order(hold position))
        • Then - Actions
          • Unit - Remove Sneaky buff from (Attacking unit)
        • Else - Actions


Traceless Assasination

  • Traceless Assasination
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Traceless Assasination
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Traceless_Mui_Turnoff Equal to 0
        • Then - Actions
          • Trigger - Turn on Traceless Assasination Loop <gen>
        • Else - Actions
      • For each (Integer Traceless_New_Check) from 0 to Traceless_Mui_Integer, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to Traceless_Tracer[Traceless_New_Check]
              • Or - Any (Conditions) are true
                • Conditions
                  • (Level of Traceless Assasination [Dummy] for (Triggering unit)) Greater than 0
                  • (Level of Traceless Assasination [Fading] for (Triggering unit)) Greater than 0