• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Simple Yet Awesome Spellpack v1.1 by BetaGod

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: Ender
THE SIMPLEYETAWESOME SPELLPACK

By BetaGod

Yup! I was VERY bored this weekend and i am also learning to do some spells in GUI. PLEASE keep in mind that i am a complete n00b and i alredy know my coding sucks. I will really appreciate if you could help me out by pointing leak spots, concepts reinforcements and other kinds of helps that could come handly. Cheers and enjoy!


THE SPELLS

421141_10150631461804143_629724142_9293324_1081752883_n.jpg

Summons a fiery orb above the hero, wich remains in that spot throwing up fire bolts at neabry ranges. When the orb finally ends it's effects, it consumes itself creating powerfull ignitions all over the area of effect.

Level 1 - 50 Fire bolt damage and 75 Ignition Damage in a 225 AoE.
Level 2 - 100 Fire bolt damage and 150 Ignition Damage in a 450 AoE.
Level 3 - 150 Fire bolt damage and 225 Ignition Damage in a 675 AoE.
  • Vulcanization Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Vulcanization
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • V_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Vulcanization Loop <gen>
        • Else - Actions
      • Set V_Skip = (V_Skip + 1)
      • Set V_Times = (V_Times + 1)
      • Set V_Off[V_Times] = True
      • Set V_Caster[V_Times] = (Triggering unit)
      • Set V_Location[V_Times] = (Position of V_Caster[V_Times])
      • Set V_AbilityLevel[V_Times] = (Level of Vulcanization for V_Caster[V_Times])
      • Set V_DummyAbility[V_Times] = Fire Missile Dummy
      • Set V_IntervalTimer[V_Times] = 0.00
      • Set V_Player[V_Times] = (Owner of V_Caster[V_Times])
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the blast count --------
      • -------- ---------------------------------------------------------------- --------
      • Set V_EruptionCount[V_Times] = 5
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate spell AoE --------
      • -------- ---------------------------------------------------------------- --------
      • Set V_Aoe[V_Times] = ((Real(V_AbilityLevel[V_Times])) x 225.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate spell's Ignition damage --------
      • -------- ---------------------------------------------------------------- --------
      • Set V_IgnitionDamage[V_Times] = ((Real(V_AbilityLevel[V_Times])) x 75.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate the speciall effect that appears on the cast location --------
      • -------- ---------------------------------------------------------------- --------
      • Set V_OrbSFX = Abilities\Spells\Other\ImmolationRed\ImmolationRedTarget.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate the special effect that appears when ignition is triggered --------
      • -------- ---------------------------------------------------------------- --------
      • Set V_IgnitionSFX = Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- Almost done --------
      • -------- ---------------------------------------------------------------- --------
      • Special Effect - Create a special effect at V_Location[V_Times] using V_OrbSFX
      • Set V_Orb[V_Times] = (Last created special effect)
  • Vulcanization Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer V) from 1 to V_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • V_Off[V] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • V_EruptionCount[V] Less than or equal to 0
                • Then - Actions
                  • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                  • Special Effect - Destroy V_Orb[V]
                  • Set V_Skip = (V_Skip - 1)
                  • Set V_Off[V] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • V_Skip Equal to 0
                    • Then - Actions
                      • Set V_Times = 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
                  • V_EruptionCount[V] Greater than 0
                  • V_IntervalTimer[V] Greater than or equal to 0.60
                • Then - Actions
                  • Set V_IntervalTimer[V] = 0.00
                  • Set V_EruptionCount[V] = (V_EruptionCount[V] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • V_EruptionCount[V] Equal to 5
                    • Then - Actions
                      • For each (Integer A) from 1 to 4, do (Actions)
                        • Loop - Actions
                          • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 4.00) towards ((Real((Integer A))) x 90.00) degrees)
                          • Unit - Create 1 Dummy for V_Player[V] at V_Location[V] facing Default building facing degrees
                          • Set V_Dummy[V] = (Last created unit)
                          • Unit - Add a 1.50 second Generic expiration timer to V_Dummy[V]
                          • Unit - Add V_DummyAbility[V] to V_Dummy[V]
                          • Unit - Set level of V_DummyAbility[V] for V_Dummy[V] to V_AbilityLevel[V]
                          • Unit - Order V_Dummy[V] to Neutral Tinker - Cluster Rockets V_TargetLocation[V]
                          • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • V_EruptionCount[V] Equal to 4
                        • Then - Actions
                          • For each (Integer A) from 1 to 6, do (Actions)
                            • Loop - Actions
                              • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 3.00) towards ((Real((Integer A))) x 60.00) degrees)
                              • Unit - Create 1 Dummy for V_Player[V] at V_Location[V] facing Default building facing degrees
                              • Set V_Dummy[V] = (Last created unit)
                              • Unit - Add a 1.50 second Generic expiration timer to V_Dummy[V]
                              • Unit - Add V_DummyAbility[V] to V_Dummy[V]
                              • Unit - Set level of V_DummyAbility[V] for V_Dummy[V] to V_AbilityLevel[V]
                              • Unit - Order V_Dummy[V] to Neutral Tinker - Cluster Rockets V_TargetLocation[V]
                              • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • V_EruptionCount[V] Equal to 3
                            • Then - Actions
                              • For each (Integer A) from 1 to 8, do (Actions)
                                • Loop - Actions
                                  • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 2.00) towards ((Real((Integer A))) x 45.00) degrees)
                                  • Unit - Create 1 Dummy for V_Player[V] at V_Location[V] facing Default building facing degrees
                                  • Set V_Dummy[V] = (Last created unit)
                                  • Unit - Add a 1.50 second Generic expiration timer to V_Dummy[V]
                                  • Unit - Add V_DummyAbility[V] to V_Dummy[V]
                                  • Unit - Set level of V_DummyAbility[V] for V_Dummy[V] to V_AbilityLevel[V]
                                  • Unit - Order V_Dummy[V] to Neutral Tinker - Cluster Rockets V_TargetLocation[V]
                                  • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • V_EruptionCount[V] Equal to 2
                                • Then - Actions
                                  • For each (Integer A) from 1 to 10, do (Actions)
                                    • Loop - Actions
                                      • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 1.00) towards ((Real((Integer A))) x 36.00) degrees)
                                      • Unit - Create 1 Dummy for V_Player[V] at V_Location[V] facing Default building facing degrees
                                      • Set V_Dummy[V] = (Last created unit)
                                      • Unit - Add a 1.50 second Generic expiration timer to V_Dummy[V]
                                      • Unit - Add V_DummyAbility[V] to V_Dummy[V]
                                      • Unit - Set level of V_DummyAbility[V] for V_Dummy[V] to V_AbilityLevel[V]
                                      • Unit - Order V_Dummy[V] to Neutral Tinker - Cluster Rockets V_TargetLocation[V]
                                      • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • V_EruptionCount[V] Equal to 1
                                    • Then - Actions
                                      • For each (Integer A) from 1 to 12, do (Actions)
                                        • Loop - Actions
                                          • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 4.00) towards ((Real((Integer A))) x 30.00) degrees)
                                          • Special Effect - Create a special effect at V_TargetLocation[V] using V_IgnitionSFX
                                          • Set V_Ignition[V] = (Last created special effect)
                                          • Custom script: set bj_wantDestroyGroup = true
                                          • Unit Group - Pick every unit in (Units within 100.00 of V_TargetLocation[V] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) belongs to an enemy of V_Player[V]) Equal to True))) and do (Actions)
                                            • Loop - Actions
                                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                                              • Special Effect - Destroy (Last created special effect)
                                              • Unit - Cause V_Caster[V] to damage (Picked unit), dealing V_IgnitionDamage[V] damage of attack type Spells and damage type Normal
                                          • Special Effect - Destroy V_Ignition[V]
                                          • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                                      • For each (Integer A) from 1 to 12, do (Actions)
                                        • Loop - Actions
                                          • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 3.00) towards ((Real((Integer A))) x 30.00) degrees)
                                          • Special Effect - Create a special effect at V_TargetLocation[V] using V_IgnitionSFX
                                          • Set V_Ignition[V] = (Last created special effect)
                                          • Custom script: set bj_wantDestroyGroup = true
                                          • Unit Group - Pick every unit in (Units within 100.00 of V_TargetLocation[V] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) belongs to an enemy of V_Player[V]) Equal to True))) and do (Actions)
                                            • Loop - Actions
                                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                                              • Special Effect - Destroy (Last created special effect)
                                              • Unit - Cause V_Caster[V] to damage (Picked unit), dealing V_IgnitionDamage[V] damage of attack type Spells and damage type Normal
                                          • Special Effect - Destroy V_Ignition[V]
                                          • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                                      • For each (Integer A) from 1 to 12, do (Actions)
                                        • Loop - Actions
                                          • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 2.00) towards ((Real((Integer A))) x 30.00) degrees)
                                          • Special Effect - Create a special effect at V_TargetLocation[V] using V_IgnitionSFX
                                          • Set V_Ignition[V] = (Last created special effect)
                                          • Custom script: set bj_wantDestroyGroup = true
                                          • Unit Group - Pick every unit in (Units within 100.00 of V_TargetLocation[V] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) belongs to an enemy of V_Player[V]) Equal to True))) and do (Actions)
                                            • Loop - Actions
                                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                                              • Special Effect - Destroy (Last created special effect)
                                              • Unit - Cause V_Caster[V] to damage (Picked unit), dealing V_IgnitionDamage[V] damage of attack type Spells and damage type Normal
                                          • Special Effect - Destroy V_Ignition[V]
                                          • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                                      • For each (Integer A) from 1 to 12, do (Actions)
                                        • Loop - Actions
                                          • Set V_TargetLocation[V] = (V_Location[V] offset by (V_Aoe[V] / 1.00) towards ((Real((Integer A))) x 30.00) degrees)
                                          • Special Effect - Create a special effect at V_TargetLocation[V] using V_IgnitionSFX
                                          • Set V_Ignition[V] = (Last created special effect)
                                          • Custom script: set bj_wantDestroyGroup = true
                                          • Unit Group - Pick every unit in (Units within 100.00 of V_TargetLocation[V] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) belongs to an enemy of V_Player[V]) Equal to True))) and do (Actions)
                                            • Loop - Actions
                                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                                              • Special Effect - Destroy (Last created special effect)
                                              • Unit - Cause V_Caster[V] to damage (Picked unit), dealing V_IgnitionDamage[V] damage of attack type Spells and damage type Normal
                                          • Special Effect - Destroy V_Ignition[V]
                                          • Custom script: call RemoveLocation(udg_V_TargetLocation[udg_V])
                                      • Custom script: call RemoveLocation(udg_V_Location[udg_V])
                                    • Else - Actions
                • Else - Actions
                  • Set V_IntervalTimer[V] = (V_IntervalTimer[V] + 0.02)
            • Else - Actions

421141_10150631461844143_629724142_9293325_1171394115_n.jpg

Creates a frozen blast impact on the target area. Every unit in the area of effect will recieve some damage, when the blast consumes, some icy fragments will fly off the place, dealing minor damage and stunning enemies they collide with.

Level 1 - 125 Nova damage in a 100 AoE. Releases up to 5 icy bolts that deal 25 damage each one.
Level 2 - 250 Nova damage in a 200 AoE. Releases up to 10 icy bolts that deal 50 damage each one.
Level 3 - 375 Nova damage in a 300 AoE. Releases up to 15 icy bolts that deal 75 damage each one.
  • Frozen Blast Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Frozen Blast
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Set FB_Caster = (Triggering unit)
      • Set FB_StartPoint = (Target point of ability being cast)
      • Set FB_AbilityLevel = (Level of Frozen Blast for FB_Caster)
      • Set FB_DummyAbility = Ice Missile Dummy
      • Set FB_Player = (Owner of FB_Caster)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the nova special effect here --------
      • -------- ---------------------------------------------------------------- --------
      • Set FB_NovaSFX = Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the nova spell damage down here --------
      • -------- ---------------------------------------------------------------- --------
      • Set FB_NovaDamage = ((Real(FB_AbilityLevel)) x 125.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the nova area of effect (should match the one in the object editor) --------
      • -------- ---------------------------------------------------------------- --------
      • Set FB_Aoe = ((Real(FB_AbilityLevel)) x 100.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the number of icy fragments that can spawn upon nova blast --------
      • -------- ---------------------------------------------------------------- --------
      • Set FB_Fragments = (((Random integer number between 1 and 4) x FB_AbilityLevel) + FB_AbilityLevel)
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within FB_Aoe of FB_StartPoint matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of FB_Player) Equal to True))) and do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using FB_NovaSFX
          • Set FB_Nova = (Last created special effect)
          • Unit - Cause FB_Caster to damage (Picked unit), dealing FB_NovaDamage damage of attack type Spells and damage type Cold
          • Special Effect - Destroy FB_Nova
      • For each (Integer A) from 1 to FB_Fragments, do (Actions)
        • Loop - Actions
          • Set FB_TargetPoint = (FB_StartPoint offset by (Random real number between 75.00 and (FB_Aoe x 2.00)) towards (Random real number between 0.00 and 360.00) degrees)
          • Unit - Create 1 Dummy for FB_Player at FB_StartPoint facing Default building facing degrees
          • Set FB_Dummy = (Last created unit)
          • Unit - Add FB_DummyAbility to FB_Dummy
          • Unit - Set level of FB_DummyAbility for FB_Dummy to FB_AbilityLevel
          • Unit - Add a 2.00 second Generic expiration timer to FB_Dummy
          • Unit - Order FB_Dummy to Neutral Tinker - Cluster Rockets FB_TargetPoint
          • Custom script: call RemoveLocation(udg_FB_TargetPoint)
      • Custom script: call RemoveLocation(udg_FB_StartPoint)

421141_10150631461864143_629724142_9293326_65179749_n.jpg

Impacts an enemy unit with a powerfull lightning, creating chaos in it's being. Deals an inital ammount of damage and releases a set of charges that keeps inflicting damage to the target and knocking it back around the battlefield.

Level 1 - 100 Initial damage. Releases 3 charges of 30 damage each one.
Level 2 - 150 Initial damage. Releases 6 charges of 60 damage each one.
Level 3 - 200 Initial damage. Releases 9 charges of 90 damage each one.
  • Focused Lightning Start
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Focused Ligthning
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • FL_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Focused Lightning Loop <gen>
        • Else - Actions
      • Set FL_Skip = (FL_Skip + 1)
      • Set FL_Times = (FL_Times + 1)
      • Set FL_Off[FL_Times] = True
      • Set FL_Caster[FL_Times] = (Triggering unit)
      • Set FL_Target[FL_Times] = (Target unit of ability being cast)
      • Set FL_AbilityLevel[FL_Times] = (Level of Focused Ligthning for FL_Caster[FL_Times])
      • Set FL_StartPoint[FL_Times] = (Position of FL_Target[FL_Times])
      • Set FL_TargetPoint[FL_Times] = FL_StartPoint[FL_Times]
      • Set FL_IntervalTimer[FL_Times] = 0.00
      • Set FL_Player[FL_Times] = (Owner of FL_Caster[FL_Times])
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure damage --------
      • -------- ---------------------------------------------------------------- --------
      • Set FL_Damage[FL_Times] = (FL_AbilityLevel[FL_Times] x 30)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure charge's bounce distance --------
      • -------- ---------------------------------------------------------------- --------
      • Set FL_Distance[FL_Times] = 100.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure charge's bounce angle --------
      • -------- ---------------------------------------------------------------- --------
      • Set FL_Angle[FL_Times] = (Facing of FL_Caster[FL_Times])
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure charge's bounce times --------
      • -------- ---------------------------------------------------------------- --------
      • Set FL_BounceTimes[FL_Times] = (FL_AbilityLevel[FL_Times] x 3)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure charge's bounce SFX on target unit --------
      • -------- ---------------------------------------------------------------- --------
      • Set FL_SFX = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
  • Focused Lightning Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer FL) from 1 to FL_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FL_Off[FL] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FL_BounceTimes[FL] Less than or equal to 0
                • Then - Actions
                  • Custom script: call RemoveLocation(udg_FL_StartPoint[udg_FL])
                  • Set FL_Skip = (FL_Skip - 1)
                  • Set FL_Off[FL] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • FL_Skip Equal to 0
                    • Then - Actions
                      • Set FL_Times = 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
                  • FL_BounceTimes[FL] Greater than 0
                  • FL_IntervalTimer[FL] Greater than or equal to 0.40
                • Then - Actions
                  • Set FL_IntervalTimer[FL] = 0.00
                  • Set FL_BounceTimes[FL] = (FL_BounceTimes[FL] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (FL_Target[FL] is dead) Equal to False
                    • Then - Actions
                      • Set FL_StartPoint[FL_Times] = (Position of FL_Target[FL_Times])
                      • For each (Integer A) from 1 to FL_Times, do (Actions)
                        • Loop - Actions
                          • Set FL_TargetPoint[FL] = (FL_StartPoint[FL] offset by FL_Distance[FL] towards FL_Angle[FL] degrees)
                          • Special Effect - Create a special effect attached to the chest of FL_Target[FL] using FL_SFX
                          • Set FL_SpecialEffect[FL] = (Last created special effect)
                          • Unit - Move FL_Target[FL] instantly to FL_TargetPoint[FL]
                          • Unit - Cause FL_Caster[FL] to damage FL_Target[FL], dealing (Real(FL_Damage[FL])) damage of attack type Spells and damage type Normal
                          • Special Effect - Destroy FL_SpecialEffect[FL]
                          • Custom script: call RemoveLocation(udg_FL_TargetPoint[udg_FL])
                    • Else - Actions
                • Else - Actions
                  • Set FL_IntervalTimer[FL] = (FL_IntervalTimer[FL] + 0.02)
            • Else - Actions

417277_10150631470634143_629724142_9293333_191529227_n.jpg

Slams the ground, dealing damage to every enemy unit in a 300 AoE around the Crypt Lord, slowing down their attack and movement speed rate for a few seconds, and displacing the targets right in ront of the mighty hero, and lifting the targets into the air, dealing impale damage and stunning them for a few seconds.

Level 1 - 100 base damage in 300 AoE, 50% attack and movement speed rate decreased for 5 seconds. 75 impale damage with 2 seconds of stun in a 750 AoE in front of the caster.
Level 2 - 200 base damage in 300 AoE, 60% attack and movement speed rate decreased for 6 seconds. 150 impale damage with 3 seconds of stun in a 750 AoE in front of the caster.
Level 3 - 300 base damage in 300 AoE, 90% attack and movement speed rate decreased for 7 seconds. 225 impale damage with 4 seconds of stun in a 750 AoE in front of the caster.
  • Wrath Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Wrath
    • Actions
      • -------- --------------------------------------------------------------------- --------
      • -------- Basic variables, do not touch --------
      • -------- --------------------------------------------------------------------- --------
      • Set W_Caster = (Triggering unit)
      • Set W_AbilityLevel = (Level of Wrath for W_Caster)
      • Set W_DummyAbility = Impale Dummy
      • Set W_Player = (Owner of W_Caster)
      • -------- --------------------------------------------------------------------- --------
      • -------- Setting location, angles of impale and offset point for displacing enemy units --------
      • -------- --------------------------------------------------------------------- --------
      • Set W_Location = (Position of W_Caster)
      • Set W_Offset = (W_Location offset by 250.00 towards (Facing of W_Caster) degrees)
      • Set W_Angle[1] = 340.00
      • Set W_Angle[2] = 360.00
      • Set W_Angle[3] = 380.00
      • -------- --------------------------------------------------------------------- --------
      • -------- AoE specific of targets (change if needed) --------
      • -------- --------------------------------------------------------------------- --------
      • Set W_Group = (Units within 300.00 of W_Location matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) Not equal to W_Caster) and ((((Matching unit) belongs to an enemy of W_Player) Equal to True)
      • -------- --------------------------------------------------------------------- --------
      • -------- Creating a special effect on target point --------
      • -------- --------------------------------------------------------------------- --------
      • Special Effect - Create a special effect at W_Offset using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • -------- --------------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- --------------------------------------------------------------------- --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in W_Group and do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move (Picked unit) instantly to W_Offset
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • Set W_TargetPoint = (W_Location offset by 100.00 towards (W_Angle[(Integer A)] + (Facing of W_Caster)) degrees)
          • Unit - Create 1 Dummy for W_Player at W_Location facing Default building facing degrees
          • Set W_Dummy = (Last created unit)
          • Unit - Add a 3.00 second Generic expiration timer to W_Dummy
          • Unit - Add W_DummyAbility to W_Dummy
          • Unit - Set level of W_DummyAbility for W_Dummy to W_AbilityLevel
          • Unit - Order W_Dummy to Undead Crypt Lord - Impale W_TargetPoint
          • Custom script: call RemoveLocation(udg_W_TargetPoint)
      • Custom script: call RemoveLocation(udg_W_Location)
      • Custom script: call RemoveLocation(udg_W_Offset)
      • Custom script: call DestroyGroup(udg_W_Group)
417277_10150631470649143_629724142_9293334_327790619_n.jpg

The hero start summoning a great number of locust creatures, that fly off his core to impact nearby enemies. Every unit that collides with one of theese will recieve a ministun and a minor damage.

Level 1 - 10 Collision damage in a MAX AoE of 75. Lasts 6 seconds.
Level 2 - 15 Collision damage in a MAX AoE of 150. Lasts 12 seconds.
Level 3 - 20 Collision damage in a MAX AoE of 225. Lasts 18 seconds.
  • Sharp Swarm Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sharp Swarm
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SS_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Sharp Swarm Loop <gen>
        • Else - Actions
      • Set SS_Skip = (SS_Skip + 1)
      • Set SS_Times = (SS_Times + 1)
      • Set SS_Off[SS_Times] = True
      • Set SS_Caster[SS_Times] = (Triggering unit)
      • Set SS_AbilityLevel[SS_Times] = (Level of Sharp Swarm for SS_Caster[SS_Times])
      • Set SS_DummyAbility = Sharp Swarm Missile Dummy
      • Set SS_Player[SS_Times] = (Owner of SS_Caster[SS_Times])
      • Set SS_IntervalTimer[SS_Times] = 0.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the max AoE that locust can fly to --------
      • -------- ---------------------------------------------------------------- --------
      • Set SS_MaxAoe[SS_Times] = ((Real(SS_AbilityLevel[SS_Times])) x 90.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the duration of the spell --------
      • -------- ---------------------------------------------------------------- --------
      • Set SS_Duration[SS_Times] = ((Real(SS_AbilityLevel[SS_Times])) x 6.00)
  • Sharp Swarm Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer SS) from 1 to SS_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SS_Off[SS] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SS_Duration[SS] Less than or equal to 0.00
                • Then - Actions
                  • Set SS_Skip = (SS_Skip - 1)
                  • Set SS_Off[SS] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SS_Skip Equal to 0
                    • Then - Actions
                      • Set SS_Times = 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
                  • SS_IntervalTimer[SS] Equal to 0.20
                • Then - Actions
                  • Set SS_Duration[SS] = (SS_Duration[SS] - 0.02)
                  • Set SS_IntervalTimer[SS] = 0.00
                  • Set SS_Location[SS] = (Position of SS_Caster[SS])
                  • For each (Integer A) from 1 to (Random integer number between 3 and 6), do (Actions)
                    • Loop - Actions
                      • Set SS_TargetPoint[SS] = (SS_Location[SS] offset by (Random real number between 75.00 and SS_MaxAoe[SS]) towards (Random real number between 0.00 and 360.00) degrees)
                      • Unit - Create 1 Dummy for SS_Player[SS] at SS_Location[SS] facing Default building facing degrees
                      • Set SS_Dummy[SS] = (Last created unit)
                      • Unit - Add a 1.50 second Generic expiration timer to SS_Dummy[SS]
                      • Unit - Add SS_DummyAbility to SS_Dummy[SS]
                      • Unit - Set level of SS_DummyAbility for SS_Dummy[SS] to SS_AbilityLevel[SS]
                      • Unit - Order SS_Dummy[SS] to Neutral Tinker - Cluster Rockets SS_TargetPoint[SS]
                      • Custom script: call RemoveLocation(udg_SS_TargetPoint[udg_SS])
                  • Custom script: call RemoveLocation(udg_SS_Location[udg_SS])
                • Else - Actions
                  • Set SS_Duration[SS] = (SS_Duration[SS] - 0.02)
                  • Set SS_IntervalTimer[SS] = (SS_IntervalTimer[SS] + 0.02)
            • Else - Actions

430658_10150631499489143_629724142_9293379_1120291259_n.jpg

The hero summons an orbitating circle of holy lights that keep spinning around himself for a certain ammount of time. Every second, he releases a pulse of pure sacred energy that purifies allies and enemies, healing or damaging them if they stay inside the circle.

Level 1 - 25 heal/damage per pulse in a 140 AoE. Lasts for 7 seconds.
Level 2 - 50 heal/damage per pulse in a 280 AoE. Lasts for 14 seconds.
Level 3 - 75 heal/damage per pulse in a 420 AoE. Lasts for 21 seconds.
  • Redemption Orbit Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Redemption Orbit
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RO_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Redemption Orbit Loop <gen>
        • Else - Actions
      • Set RO_Skip = (RO_Skip + 1)
      • Set RO_Times = (RO_Times + 1)
      • Set RO_Off[RO_Times] = True
      • Set RO_Caster[RO_Times] = (Triggering unit)
      • Set RO_AbilityLevel[RO_Times] = (Level of Redemption Orbit for RO_Caster[RO_Times])
      • Set RO_IntervalTimer[RO_Times] = 0.00
      • Set RO_Player[RO_Times] = (Owner of RO_Caster[RO_Times])
      • Set RO_Location[RO_Times] = (Position of RO_Caster[RO_Times])
      • Set RO_Radius[RO_Times] = 0.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Set number of missiles that orbitate around the caster --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_MissileCount = 10
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the missile's speed --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_Speed[RO_Times] = 8.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the spell's AoE --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_Aoe[RO_Times] = ((Real(RO_AbilityLevel[RO_Times])) x 140.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the spell's duration --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_Duration[RO_Times] = ((Real(RO_AbilityLevel[RO_Times])) x 7.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the ammount of heal/damage that is made every second --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_Power[RO_Times] = ((Real(RO_AbilityLevel[RO_Times])) x 25.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the special effect shown per missile --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_SFX1 = Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the special effect shown per pulse --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_SFX2 = war3mapImported\TheHolyBomb.mdx
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this one --------
      • -------- ---------------------------------------------------------------- --------
      • Set RO_Angle[RO_Times] = (360.00 / (Real(RO_MissileCount)))
  • Redemption Orbit Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer RO) from 1 to RO_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RO_Off[RO] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RO_Duration[RO] Less than or equal to 0.00
                • Then - Actions
                  • Set RO_Location[RO] = (Position of RO_Caster[RO_Times])
                  • Set RO_Radius[RO] = (RO_Radius[RO] + RO_Speed[RO])
                  • For each (Integer A) from 1 to RO_MissileCount, do (Actions)
                    • Loop - Actions
                      • Set RO_Location2[RO] = (RO_Location[RO] offset by RO_Aoe[RO] towards (RO_Radius[RO] + (RO_Angle[RO] x (Real((Integer A))))) degrees)
                      • Special Effect - Create a special effect at RO_Location2[RO] using RO_SFX2
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: call RemoveLocation(udg_RO_Location2[udg_RO])
                  • Set RO_Skip = (RO_Skip - 1)
                  • Set RO_Off[RO] = False
                  • Custom script: call RemoveLocation(udg_RO_Location[udg_RO])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RO_Skip Equal to 0
                    • Then - Actions
                      • Set RO_Times = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Set RO_IntervalTimer[RO] = (RO_IntervalTimer[RO] + 0.10)
                  • Set RO_Duration[RO] = (RO_Duration[RO] - 0.10)
                  • Set RO_Location[RO] = (Position of RO_Caster[RO_Times])
                  • Set RO_Radius[RO] = (RO_Radius[RO] + RO_Speed[RO])
                  • For each (Integer A) from 1 to RO_MissileCount, do (Actions)
                    • Loop - Actions
                      • Set RO_Location2[RO] = (RO_Location[RO] offset by RO_Aoe[RO] towards (RO_Radius[RO] + (RO_Angle[RO] x (Real((Integer A))))) degrees)
                      • Special Effect - Create a special effect at RO_Location2[RO] using RO_SFX1
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: call RemoveLocation(udg_RO_Location2[udg_RO])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RO_IntervalTimer[RO] Greater than or equal to 1.00
                    • Then - Actions
                      • Set RO_IntervalTimer[RO] = 0.00
                      • Set RO_Group[RO] = (Units within RO_Aoe[RO] of RO_Location[RO] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)))
                      • Special Effect - Create a special effect at RO_Location[RO] using RO_SFX2
                      • Special Effect - Destroy (Last created special effect)
                      • Unit Group - Pick every unit in RO_Group[RO] 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 RO_Player[RO]) Equal to True
                            • Then - Actions
                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using RO_SFX1
                              • Special Effect - Destroy (Last created special effect)
                              • Unit - Cause RO_Caster[RO] to damage (Picked unit), dealing RO_Power[RO] damage of attack type Spells and damage type Normal
                            • Else - Actions
                              • Special Effect - Create a special effect attached to the chest of (Picked unit) using RO_SFX1
                              • Special Effect - Destroy (Last created special effect)
                              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + RO_Power[RO])
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_RO_Location[udg_RO])
                  • Custom script: call DestroyGroup(udg_RO_Group[udg_RO])
            • Else - Actions

430658_10150631499544143_629724142_9293380_619251580_n.jpg

Releases a holy nova that moves around the battlefield following a random pattern. When units get in a 300 AoE close of the nova, they recieve damage if they're enemies or they get healed if allies.

Level 1 - 80 heal/damage per nova. Lasts for 5 seconds.
Level 2 - 160 heal/damage per nova. Lasts for 10 seconds.
Level 3 - 240 heal/damage per nova. Lasts for 15 seconds.
  • Rendezvous Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rendezvous
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Rendezvous Loop <gen>
        • Else - Actions
      • Set E_Skip = (E_Skip + 1)
      • Set E_Times = (E_Times + 1)
      • Set E_Off[E_Times] = True
      • Set E_Caster[E_Times] = (Triggering unit)
      • Set E_AbilityLevel[E_Times] = (Level of Rendezvous for E_Caster[E_Times])
      • Set E_Player[E_Times] = (Owner of E_Caster[E_Times])
      • Set E_StartPoint[E_Times] = (Target point of ability being cast)
      • Set E_TargetPoint[E_Times] = E_StartPoint[E_Times]
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure instance heal/damage --------
      • -------- ---------------------------------------------------------------- --------
      • Set E_Power[E_Times] = ((Real(E_AbilityLevel[E_Times])) x 80.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the effect's AoE --------
      • -------- ---------------------------------------------------------------- --------
      • Set E_Aoe[E_Times] = 300.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure spell's duration --------
      • -------- ---------------------------------------------------------------- --------
      • Set E_Duration[E_Times] = ((Real(E_AbilityLevel[E_Times])) x 5.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the spell's SFXs --------
      • -------- ---------------------------------------------------------------- --------
      • Set E_ImpactSFX = Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
      • Set E_ImpactSFX2 = war3mapImported\TheHolyBomb.mdx
      • Set E_ImpactSFX3 = Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
  • Rendezvous Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer E) from 1 to E_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • E_Off[E] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • E_Duration[E] Less than or equal to 0.00
                • Then - Actions
                  • Set E_Skip = (E_Skip - 1)
                  • Set E_Off[E] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • E_Skip Equal to 0
                    • Then - Actions
                      • Set E_Times = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_E_StartPoint[udg_E])
                  • Custom script: call RemoveLocation(udg_E_TargetPoint[udg_E])
                • Else - Actions
                  • Set E_Duration[E] = (E_Duration[E] - 0.10)
                  • Set E_IntervalTimer[E] = (E_IntervalTimer[E] + 0.10)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • E_IntervalTimer[E] Greater than or equal to 0.40
                    • Then - Actions
                      • Set E_IntervalTimer[E] = 0.00
                      • Set E_TargetPoint[E] = (E_TargetPoint[E] offset by 100.00 towards (Random real number between 0.00 and 360.00) degrees)
                      • Set E_Group[E] = (Units within E_Aoe[E] of E_TargetPoint[E] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)))
                      • Special Effect - Create a special effect at E_TargetPoint[E] using E_ImpactSFX
                      • Special Effect - Destroy (Last created special effect)
                      • Special Effect - Create a special effect at E_TargetPoint[E] using E_ImpactSFX2
                      • Special Effect - Destroy (Last created special effect)
                      • Special Effect - Create a special effect at E_TargetPoint[E] using E_ImpactSFX3
                      • Special Effect - Destroy (Last created special effect)
                      • Unit Group - Pick every unit in E_Group[E] 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 E_Player[E]) Equal to True
                            • Then - Actions
                              • Unit - Cause E_Caster[E] to damage (Picked unit), dealing E_Power[E] damage of attack type Spells and damage type Normal
                            • Else - Actions
                              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + E_Power[E])
                      • Custom script: call DestroyGroup(udg_E_Group[udg_E])
                    • Else - Actions
            • Else - Actions

430658_10150631499579143_629724142_9293381_1061312010_n.jpg

Purges an enemy unit from it's inner demons, dealing damage and stunning it due to the complex task. Also deals the hero's strengh in bonus damage to the target.

Level 1 - Deals 100 base damage and stuns for 5 seconds.
Level 2 - Deals 200 base damage and stuns for 7 seconds.
Level 3 - Deals 300 base damage and stuns for 9 seconds.
  • Exorcism Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Exorcism
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Set R_Caster = (Triggering unit)
      • Set R_Target = (Target unit of ability being cast)
      • Set R_Player = (Owner of R_Caster)
      • Set R_Location = (Position of R_Target)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the number of ghost coming out of the target here --------
      • -------- ---------------------------------------------------------------- --------
      • Set R_Count = 6
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Set R_Angle = (360.00 / (Real(R_Count)))
      • Set R_BonusDamage = (Real((Strength of R_Caster (Include bonuses))))
      • For each (Integer A) from 1 to R_Count, do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for R_Player at R_Location facing Default building facing degrees
          • Special Effect - Create a special effect attached to the chest of R_Dummy using Abilities\Spells\Undead\Possession\PossessionMissile.mdl
          • Unit - Add Storm Crow Form to R_Dummy
          • Unit - Turn collision for R_Dummy Off
          • Animation - Change R_Dummy's vertex coloring to (40.00%, 40.00%, 40.00%) with 75.00% transparency
          • Animation - Change R_Dummy flying height to (Random real number between 60.00 and 300.00) at 0.01
          • Set R_Dummy = (Last created unit)
          • Unit - Add a 1.25 second Generic expiration timer to R_Dummy
          • Unit - Order R_Dummy to Move To (R_Location offset by 300.00 towards ((Real((Integer A))) x R_Angle) degrees)
      • Custom script: call RemoveLocation(udg_R_Location)
      • Unit - Cause R_Caster to damage R_Target, dealing R_BonusDamage damage of attack type Spells and damage type Normal
      • Floating Text - Create floating text that reads ((String((Integer(R_BonusDamage)))) + !) above R_Target with Z offset 0.00, using font size 10.00, color (80.00%, 80.00%, 15.00%), and 0.00% transparency
      • Set R_TempText = (Last created floating text)
      • Floating Text - Set the velocity of R_TempText to 100.00 towards 90.00 degrees
      • Floating Text - Change R_TempText: Disable permanence
      • Floating Text - Change the lifespan of R_TempText to 5.00 seconds
      • Floating Text - Change the fading age of R_TempText to 0.65 seconds

430658_10150631499614143_629724142_9293382_709333412_n.jpg

Launches an unstable sacred granade that will detonate after 2 seconds, dealing damage to units in the area of effect and releasing 3 bolts of holy energy that will move forward up to 5 times to keep damaging enemies in their path.

Level 1 - Main explosion deals 125 damage on a 90 AoE. Holy bolts deal 125 damage on a 100 AoE.
Level 2 - Main explosion deals 250 damage on a 180 AoE. Holy bolts deal 250 damage on a 100 AoE.
Level 3 - Main explosion deals 375 damage on a 270 AoE. Holy bolts deal 375 damage on a 100 AoE.
  • Holy Granade Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Holy Granade
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • HG_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Holy Granade Loop <gen>
        • Else - Actions
      • Set HG_Skip = (HG_Skip + 1)
      • Set HG_Times = (HG_Times + 1)
      • Set HG_Off[HG_Times] = True
      • Set HG_Caster[HG_Times] = (Triggering unit)
      • Set HG_Player[HG_Times] = (Owner of HG_Caster[HG_Times])
      • Set HG_Angle[1] = 340.00
      • Set HG_Angle[2] = 360.00
      • Set HG_Angle[3] = 380.00
      • Set HG_IntervalTimer[HG_Times] = 0.00
      • Set HG_IntervalTimer2[HG_Times] = 0.00
      • Set HG_Facing[HG_Times] = (Facing of HG_Caster[HG_Times])
      • Set HG_Location[HG_Times] = (Position of HG_Caster[HG_Times])
      • Set HG_Location2[HG_Times] = (Target point of ability being cast)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set spell's damage --------
      • -------- ---------------------------------------------------------------- --------
      • Set HG_Power[HG_Times] = ((Real(HG_AbilityLevel[HG_Times])) + 125.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure spell's main explosion AoE (should match the one in the object editor) --------
      • -------- ---------------------------------------------------------------- --------
      • Set HG_Aoe[HG_Times] = ((Real(HG_AbilityLevel[HG_Times])) x 90.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Special effects configuration --------
      • -------- ---------------------------------------------------------------- --------
      • Set HG_SFX = war3mapImported\TheHolyBomb.mdx
      • Set HG_SFX2 = Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
  • Holy Granade Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer HG) from 1 to HG_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HG_Off[HG] Equal to True
            • Then - Actions
              • Set HG_IntervalTimer2[HG] = (HG_IntervalTimer2[HG] + 0.10)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HG_IntervalTimer2[HG] Greater than or equal to 2.00
                • Then - Actions
                  • Set HG_IntervalTimer[HG] = (HG_IntervalTimer[HG] + 0.10)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HG_IntervalTimer[HG] Equal to 0.10
                    • Then - Actions
                      • Special Effect - Create a special effect at HG_Location2[HG] using HG_SFX
                      • Special Effect - Destroy (Last created special effect)
                      • Set HG_Group[HG] = (Units within HG_Aoe[HG] of HG_Location2[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                      • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                        • Loop - Actions
                          • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                      • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HG_IntervalTimer[HG] Equal to 0.40
                    • Then - Actions
                      • For each (Integer A) from 1 to 3, do (Actions)
                        • Loop - Actions
                          • Set HG_Location[HG] = (HG_Location2[HG] offset by 100.00 towards (HG_Angle[(Integer A)] + HG_Facing[HG]) degrees)
                          • Set HG_Group[HG] = (Units within 100.00 of HG_Location[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                          • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX2
                          • Special Effect - Destroy (Last created special effect)
                          • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                            • Loop - Actions
                              • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                          • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                          • Custom script: call RemoveLocation(udg_HG_Location[udg_HG])
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • HG_IntervalTimer[HG] Equal to 0.80
                        • Then - Actions
                          • For each (Integer A) from 1 to 3, do (Actions)
                            • Loop - Actions
                              • Set HG_Location[HG] = (HG_Location2[HG] offset by 200.00 towards (HG_Angle[(Integer A)] + HG_Facing[HG]) degrees)
                              • Set HG_Group[HG] = (Units within 100.00 of HG_Location[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                              • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX2
                              • Special Effect - Destroy (Last created special effect)
                              • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX
                              • Special Effect - Destroy (Last created special effect)
                              • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                                • Loop - Actions
                                  • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                              • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                              • Custom script: call RemoveLocation(udg_HG_Location[udg_HG])
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • HG_IntervalTimer[HG] Equal to 1.20
                            • Then - Actions
                              • For each (Integer A) from 1 to 3, do (Actions)
                                • Loop - Actions
                                  • Set HG_Location[HG] = (HG_Location2[HG] offset by 300.00 towards (HG_Angle[(Integer A)] + HG_Facing[HG]) degrees)
                                  • Set HG_Group[HG] = (Units within 100.00 of HG_Location[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                                  • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX2
                                  • Special Effect - Destroy (Last created special effect)
                                  • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX
                                  • Special Effect - Destroy (Last created special effect)
                                  • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                                    • Loop - Actions
                                      • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                                  • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                                  • Custom script: call RemoveLocation(udg_HG_Location[udg_HG])
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • HG_IntervalTimer[HG] Equal to 1.40
                                • Then - Actions
                                  • For each (Integer A) from 1 to 3, do (Actions)
                                    • Loop - Actions
                                      • Set HG_Location[HG] = (HG_Location2[HG] offset by 400.00 towards (HG_Angle[(Integer A)] + HG_Facing[HG]) degrees)
                                      • Set HG_Group[HG] = (Units within 100.00 of HG_Location[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                                      • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX2
                                      • Special Effect - Destroy (Last created special effect)
                                      • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX
                                      • Special Effect - Destroy (Last created special effect)
                                      • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                                        • Loop - Actions
                                          • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                                      • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                                      • Custom script: call RemoveLocation(udg_HG_Location[udg_HG])
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • HG_IntervalTimer[HG] Equal to 1.80
                                    • Then - Actions
                                      • For each (Integer A) from 1 to 3, do (Actions)
                                        • Loop - Actions
                                          • Set HG_Location[HG] = (HG_Location2[HG] offset by 500.00 towards (HG_Angle[(Integer A)] + HG_Facing[HG]) degrees)
                                          • Set HG_Group[HG] = (Units within 100.00 of HG_Location[HG] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of HG_Player[HG]) Equal to True)))
                                          • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX2
                                          • Special Effect - Destroy (Last created special effect)
                                          • Special Effect - Create a special effect at HG_Location[HG] using HG_SFX
                                          • Special Effect - Destroy (Last created special effect)
                                          • Unit Group - Pick every unit in HG_Group[HG] and do (Actions)
                                            • Loop - Actions
                                              • Unit - Cause HG_Caster[HG] to damage (Picked unit), dealing HG_Power[HG] damage of attack type Spells and damage type Normal
                                          • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                                          • Custom script: call RemoveLocation(udg_HG_Location[udg_HG])
                                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HG_IntervalTimer[HG] Greater than 1.80
                    • Then - Actions
                      • Set HG_Skip = (HG_Skip - 1)
                      • Set HG_Off[HG] = False
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • HG_Skip Equal to 0
                        • Then - Actions
                          • Set HG_Times = 0
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
                      • Custom script: call DestroyGroup(udg_HG_Group[udg_HG])
                      • Custom script: call RemoveLocation(udg_HG_Location2[udg_HG])
                    • Else - Actions
                • Else - Actions
            • Else - Actions

428295_10150631531034143_629724142_9293458_651406800_n.jpg

The Blademaster jumps to the targeted location, dealing damage to nearby enemies and dragging enemy units with him. Once he reaches his location, strikes again twice dealing same damage and once again dragging enemies units with him.

Level 1 - 60 Damage per instance.
Level 2 - 120 Damage per instance.
Level 3 - 180 Damage per instance.
  • Quick Slash Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Quick Slash
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • QS_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Quick Slash Loop <gen>
        • Else - Actions
      • Set QS_Skip = (QS_Skip + 1)
      • Set QS_Times = (QS_Times + 1)
      • Set QS_Off[QS_Times] = True
      • Set QS_Caster[QS_Times] = (Triggering unit)
      • Set QS_AbilityLevel[QS_Times] = (Level of Quick Slash for QS_Caster[QS_Times])
      • Set QS_Location[QS_Times] = (Target point of ability being cast)
      • Set QS_IntervalTimer[QS_Times] = 0.00
      • Set QS_Facing[QS_Times] = (Facing of QS_Caster[QS_Times])
      • Set QS_Player[QS_Times] = (Owner of QS_Caster[QS_Times])
      • -------- ---------------------------------------------------------------- --------
      • -------- Set area of effect --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_Aoe[QS_Times] = 150.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the base travelled distance by slash --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_Distance[QS_Times] = 80.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure the spell damage on instance --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_Damage[QS_Times] = ((Real(QS_AbilityLevel[QS_Times])) x 60.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- This special effects is displayed on the target point of instance per slash --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_SFX = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- This one on the affected enemy unit --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_SFX2 = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- And finally this one on the caster hero --------
      • -------- ---------------------------------------------------------------- --------
      • Set QS_SFX3 = Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- We pause the caster and turn his/her collision off to avoid troubles and smooth the spell --------
      • -------- ---------------------------------------------------------------- --------
      • Unit - Turn collision for QS_Caster[QS_Times] Off
      • Unit - Pause QS_Caster[QS_Times]
  • Quick Slash Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer QS) from 1 to QS_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • QS_Off[QS] Equal to True
            • Then - Actions
              • Set QS_IntervalTimer[QS] = (QS_IntervalTimer[QS] + 0.10)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • QS_IntervalTimer[QS] Equal to 0.20
                • Then - Actions
                  • Set QS_Location[QS] = (Position of QS_Caster[QS])
                  • Set QS_Location2[QS] = (QS_Location[QS] offset by QS_Distance[QS] towards QS_Facing[QS] degrees)
                  • Set QS_Group[QS] = (Units within QS_Aoe[QS] of QS_Location[QS] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of QS_Player[QS]) Equal to True))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Playable map area) contains QS_Location2[QS]) Equal to True
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of QS_Caster[QS] using QS_SFX3
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Move QS_Caster[QS] instantly to QS_Location2[QS]
                      • Animation - Play QS_Caster[QS]'s slam animation
                      • Special Effect - Create a special effect at QS_Location2[QS] using QS_SFX
                      • Special Effect - Destroy (Last created special effect)
                      • Unit Group - Pick every unit in QS_Group[QS] and do (Actions)
                        • Loop - Actions
                          • Special Effect - Create a special effect attached to the chest of (Picked unit) using QS_SFX2
                          • Special Effect - Destroy (Last created special effect)
                          • Unit - Move (Picked unit) instantly to QS_Location2[QS]
                          • Unit - Cause QS_Caster[QS] to damage (Picked unit), dealing QS_Damage[QS] damage of attack type Spells and damage type Normal
                      • Custom script: call DestroyGroup(udg_QS_Group[udg_QS])
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_QS_Location[udg_QS])
                  • Custom script: call RemoveLocation(udg_QS_Location2[udg_QS])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • QS_IntervalTimer[QS] Equal to 0.60
                • Then - Actions
                  • Set QS_Location[QS] = (Position of QS_Caster[QS])
                  • Set QS_Location2[QS] = (QS_Location[QS] offset by (QS_Distance[QS] x 2.00) towards QS_Facing[QS] degrees)
                  • Set QS_Group[QS] = (Units within QS_Aoe[QS] of QS_Location[QS] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of QS_Player[QS]) Equal to True))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Playable map area) contains QS_Location2[QS]) Equal to True
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of QS_Caster[QS] using QS_SFX3
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Move QS_Caster[QS] instantly to QS_Location2[QS]
                      • Animation - Play QS_Caster[QS]'s slam animation
                      • Special Effect - Create a special effect at QS_Location2[QS] using QS_SFX
                      • Special Effect - Destroy (Last created special effect)
                      • Unit Group - Pick every unit in QS_Group[QS] and do (Actions)
                        • Loop - Actions
                          • Special Effect - Create a special effect attached to the chest of (Picked unit) using QS_SFX2
                          • Special Effect - Destroy (Last created special effect)
                          • Unit - Move (Picked unit) instantly to QS_Location2[QS]
                          • Unit - Cause QS_Caster[QS] to damage (Picked unit), dealing QS_Damage[QS] damage of attack type Spells and damage type Normal
                      • Custom script: call DestroyGroup(udg_QS_Group[udg_QS])
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_QS_Location[udg_QS])
                  • Custom script: call RemoveLocation(udg_QS_Location2[udg_QS])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • QS_IntervalTimer[QS] Equal to 0.80
                • Then - Actions
                  • Set QS_Location[QS] = (Position of QS_Caster[QS])
                  • Set QS_Location2[QS] = (QS_Location[QS] offset by (QS_Distance[QS] x 3.00) towards QS_Facing[QS] degrees)
                  • Set QS_Group[QS] = (Units within QS_Aoe[QS] of QS_Location[QS] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of QS_Player[QS]) Equal to True))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Playable map area) contains QS_Location2[QS]) Equal to True
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of QS_Caster[QS] using QS_SFX3
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Move QS_Caster[QS] instantly to QS_Location2[QS]
                      • Animation - Play QS_Caster[QS]'s slam animation
                      • Special Effect - Create a special effect at QS_Location2[QS] using QS_SFX
                      • Special Effect - Destroy (Last created special effect)
                      • Unit Group - Pick every unit in QS_Group[QS] and do (Actions)
                        • Loop - Actions
                          • Special Effect - Create a special effect attached to the chest of (Picked unit) using QS_SFX2
                          • Special Effect - Destroy (Last created special effect)
                          • Unit - Move (Picked unit) instantly to QS_Location2[QS]
                          • Unit - Cause QS_Caster[QS] to damage (Picked unit), dealing QS_Damage[QS] damage of attack type Spells and damage type Normal
                      • Custom script: call DestroyGroup(udg_QS_Group[udg_QS])
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_QS_Location[udg_QS])
                  • Custom script: call RemoveLocation(udg_QS_Location2[udg_QS])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • QS_IntervalTimer[QS] Greater than 0.80
                • Then - Actions
                  • Set QS_Skip = (QS_Skip - 1)
                  • Set QS_Off[QS] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • QS_Skip Equal to 0
                    • Then - Actions
                      • Set QS_Times = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                  • Unit - Turn collision for QS_Caster[QS] On
                  • Unit - Unpause QS_Caster[QS]
                • Else - Actions
            • Else - Actions

428295_10150631531064143_629724142_9293459_570145405_n.jpg

Gives a chance on each attack to slash the target at a very high speed rate, moving the hero to it's position and dealing agility based damage to every enemy unit close enough to the unlucky unit, and pushing it back randomly around the battlefield.

Level 1 - 15% Chance to proc. Deals the hero's agility as bonus damage in a 90 AoE. There is a 30% chance to damage the main target twice.
Level 2 - 30% Chance to proc. Deals two times the hero's agility as bonus damage in a 180 AoE. There is a 60% chance to damage the main target twice.
Level 3 - 45% Chance to proc. Deals three times the hero's agility as bonus damage in a 270 AoE. There is a 90% chance to damage the main target twice.
  • Fiery Edge Start
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Level of Fiery Edge for (Attacking unit)) Greater than 0
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Caster = (Attacking unit)
      • Set FE_Target = (Triggering unit)
      • Set FE_Location = (Position of FE_Target)
      • Set FE_Player = (Owner of FE_Caster)
      • Set FE_AbilityLevel = (Level of Fiery Edge for FE_Caster)
      • -------- ---------------------------------------------------------------- --------
      • -------- Set the spell's area of effect here --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Aoe = ((Real(FE_AbilityLevel)) x 90.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- This is the distance that target unit will travel upon proc --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Distance = ((Real(FE_AbilityLevel)) x 30.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Spell's damage (target unit gets damaged twice) --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Damage = ((Real(FE_AbilityLevel)) x (Real((Agility of FE_Caster (Include bonuses)))))
      • -------- ---------------------------------------------------------------- --------
      • -------- Spell proc chance --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Chance = ((Real(FE_AbilityLevel)) x 15.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- This is the special effect shown on the target unit --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_SFX = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- This one right here is the one shown on the area of effect --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_SFX2 = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- This is the special effect shown on caster --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_SFX3 = Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • Set FE_Group = (Units within FE_Aoe of FE_Location matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of FE_Player) Equal to True)))
      • Set FE_Location2 = (FE_Location offset by FE_Distance towards (Random real number between 0.00 and 360.00) degrees)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random percentage) Less than or equal to FE_Chance
        • Then - Actions
          • Special Effect - Create a special effect attached to the weapon of FE_Caster using FE_SFX3
          • Special Effect - Destroy (Last created special effect)
          • Special Effect - Create a special effect attached to the chest of FE_Target using FE_SFX
          • Special Effect - Destroy (Last created special effect)
          • Special Effect - Create a special effect at FE_Location using FE_SFX2
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move FE_Caster instantly to FE_Location
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random percentage) Less than or equal to (FE_Chance x 2.00)
            • Then - Actions
              • Unit - Cause FE_Caster to damage FE_Target, dealing FE_Damage damage of attack type Spells and damage type Normal
            • Else - Actions
          • Unit Group - Pick every unit in FE_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause FE_Caster to damage (Picked unit), dealing FE_Damage damage of attack type Spells and damage type Normal
          • Unit - Move FE_Target instantly to FE_Location2
        • Else - Actions
      • Custom script: call RemoveLocation(udg_FE_Location)
      • Custom script: call RemoveLocation(udg_FE_Location2)
      • Custom script: call DestroyGroup(udg_FE_Group)

428295_10150631531084143_629724142_9293461_386465743_n.jpg

The hero summons a dark energy pulse around himself until a complete circle is reached. Every unit in contact with a dark energy pulse will get it's soul rotten; recieving damage, and a movement speed and damage output penalty. Additionaly, they won't be able to cast spells.

Level 1 - 100 Damage per pulse, 30% attack damage output penalty and 40% movement speed penalty. Lasts 5 seconds.
Level 2 - 200 Damage per pulse, 50% attack damage output penalty and 60% movement speed penalty. Lasts 7 seconds.
Level 3 - 300 Damage per pulse, 70% attack damage output penalty and 80% movement speed penalty. Lasts 9 seconds.
  • Dark Blast Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Dark Blast
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DB_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Dark Blast Loop <gen>
        • Else - Actions
      • Set DB_Skip = (DB_Skip + 1)
      • Set DB_Times = (DB_Times + 1)
      • Set DB_Off[DB_Times] = True
      • Set DB_Caster[DB_Times] = (Triggering unit)
      • Set DB_AbilityLevel[DB_Times] = (Level of Dark Blast for DB_Caster[DB_Times])
      • Set DB_DummyAbility = Rotten Soul Dummy
      • Set DB_IntervalTimer[DB_Times] = 0.00
      • Set DB_Player[DB_Times] = (Owner of DB_Caster[DB_Times])
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate spell's pulse distance to caster --------
      • -------- ---------------------------------------------------------------- --------
      • Set DB_Distance[DB_Times] = 130.00
      • -------- ---------------------------------------------------------------- --------
      • -------- Configurate spell's pulse damage --------
      • -------- ---------------------------------------------------------------- --------
      • Set DB_Damage[DB_Times] = ((Real(DB_AbilityLevel[DB_Times])) x 100.00)
      • -------- ---------------------------------------------------------------- --------
      • -------- Configure spell's pulse SFX --------
      • -------- ---------------------------------------------------------------- --------
      • Set DB_SFX = Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
  • Dark Blast Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- ---------------------------------------------------------------- --------
      • -------- Don't touch this settings --------
      • -------- ---------------------------------------------------------------- --------
      • For each (Integer DB) from 1 to DB_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • DB_Off[DB] Equal to True
            • Then - Actions
              • Set DB_IntervalTimer[DB] = (DB_IntervalTimer[DB] + 0.10)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Greater than 3.80
                • Then - Actions
                  • Set DB_Skip = (DB_Skip - 1)
                  • Set DB_Off[DB] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • DB_Skip Equal to 0
                    • Then - Actions
                      • Set DB_Times = 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
                  • DB_IntervalTimer[DB] Equal to 0.20
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 0.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 0.40
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 30.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 0.60
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 60.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 0.80
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 90.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 1.00
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 120.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 1.20
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 150.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 1.40
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 180.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 1.60
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 210.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 1.80
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 240.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 2.00
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 270.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 2.20
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 300.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 2.40
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 330.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DB_IntervalTimer[DB] Equal to 2.60
                • Then - Actions
                  • Set DB_Location[DB] = (Position of DB_Caster[DB])
                  • Set DB_Location2[DB] = (DB_Location[DB] offset by DB_Distance[DB] towards 360.00 degrees)
                  • Set DB_Group[DB] = (Units within 100.00 of DB_Location2[DB] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an enemy of DB_Player[DB]) Equal to True)))
                  • Special Effect - Create a special effect at DB_Location2[DB] using DB_SFX
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Create 1 Dummy for DB_Player[DB] at DB_Location2[DB] facing Default building facing degrees
                  • Set DB_Dummy[DB] = (Last created unit)
                  • Unit - Add a 1.50 second Generic expiration timer to DB_Dummy[DB]
                  • Unit - Add DB_DummyAbility to DB_Dummy[DB]
                  • Unit Group - Pick every unit in DB_Group[DB] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DB_Caster[DB] to damage (Picked unit), dealing DB_Damage[DB] damage of attack type Spells and damage type Normal
                      • Unit - Order DB_Dummy[DB] to Neutral Fire Lord - Soul Burn (Picked unit)
                  • Custom script: call DestroyGroup(udg_DB_Group[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location2[udg_DB])
                  • Custom script: call RemoveLocation(udg_DB_Location[udg_DB])
                • Else - Actions
            • Else - Actions

428295_10150631531104143_629724142_9293462_227439633_n.jpg

Slim Shady cast a powerfull nova on the target unit's core, creating several shade bolts that will fly away from it, dealing damage to enemies. Right after this, the target unit is cursed by the Shade Curse, wich reduces it's movement speed, deals an initial ammount of damage and a sightly reduced damage per second.

Level 1 - Spawns 8 shadow bolts dealing 75 damage each one on a 250 distance from target. Shade Curse deals 100 inital damage followed by 15 damage per second and a 40% movement speed penalty. Lasts 12 seconds.
Level 2 - Spawns 8 shadow bolts dealing 150 damage each one on a 350 distance from target. Shade Curse deals 200 inital damage followed by 30 damage per second and a 80% movement speed penalty. Lasts 12 seconds.
Level 3 - Spawns 8 shadow bolts dealing 225 damage each one on a 450 distance from target. Shade Curse deals 300 inital damage followed by 45 damage per second and a 120% movement speed penalty. Lasts 12 seconds.
  • Shade Curse Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shade Curse
    • Actions
      • Set SC_Caster = (Triggering unit)
      • Set SC_Target = (Target unit of ability being cast)
      • Set SC_Location = (Position of SC_Target)
      • Set SC_AbilityLevel = (Level of Shade Curse for SC_Caster)
      • Set SC_DummyAbility = Shadow Missile Dummy
      • Set SC_Player = (Owner of SC_Caster)
      • For each (Integer A) from 1 to 8, do (Actions)
        • Loop - Actions
          • Set SC_Location2 = (SC_Location offset by 50.00 towards (45.00 x (Real((Integer A)))) degrees)
          • Unit - Create 1 Dummy for SC_Player at SC_Location facing Default building facing degrees
          • Set SC_Dummy = (Last created unit)
          • Unit - Add SC_DummyAbility to SC_Dummy
          • Unit - Set level of SC_DummyAbility for SC_Dummy to SC_AbilityLevel