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

Harpy Queen Spellpack

This map contains 4 spells.


Level 1 - Summons 3 tornado, which moves 250 unit, damages nearby enemy by 75 and they are cycloned last for 2 seconds.
Level 2 - Summons 4 tornado, which moves 500 unit, damages nearby enemy by 150 and they are cycloned last for 3 seconds.
Level 3 - Summons 5 tornado, which moves 750 unit, damages nearby enemy by 225 and they are cycloned last for 4 seconds.
Level 4 - Summons 6 tornado, which moves 1000 unit, damages nearby enemy by 300 and they are cycloned last for 5 seconds.
  • Harpy Tornado Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Harpy Tornado
    • Actions
      • Set Harpy_Tornado_Degrees = 0.00
      • Set Harpy_Tornado_Caster_Point = (Position of (Triggering unit))
      • Set Hapry_Tornado_Level = (Level of Harpy Tornado for (Triggering unit))
      • Set Harpy_Tornado_Count = (Hapry_Tornado_Level + 2)
      • Set Harpy_Tornado_TriggeringPlayer = (Triggering player)
      • Set Harpy_Tornado_Travel_Range = ((Real(Hapry_Tornado_Level)) x 250.00)
      • Set Harpy_Tornado_Speed = 340.00
      • Set Harpy_Tornado_Damage = ((Real(Hapry_Tornado_Level)) x 75.00)
      • For each (Integer A) from 1 to Harpy_Tornado_Count, do (Actions)
        • Loop - Actions
          • Set Harpy_Tornado_Caster_Point2 = (Harpy_Tornado_Caster_Point offset by 100.00 towards Harpy_Tornado_Degrees degrees)
          • Unit - Create 1 Tornado Dummy for Harpy_Tornado_TriggeringPlayer at Harpy_Tornado_Caster_Point2 facing Default building facing degrees
          • Unit Group - Add (Last created unit) to Harpy_Group
          • Set TempKey = (Key (Last created unit))
          • Hashtable - Save Harpy_Tornado_Travel_Range as 1 of TempKey in Harpy_Hashtable
          • -------- Saves how much will travel the tornado --------
          • Hashtable - Save Harpy_Tornado_Speed as 2 of TempKey in Harpy_Hashtable
          • -------- Saves the movespeed of the tornado --------
          • Hashtable - Save Harpy_Tornado_Degrees as 3 of TempKey in Harpy_Hashtable
          • -------- Saves the angle where the tornado will head --------
          • Hashtable - Save Harpy_Tornado_Damage as 4 of TempKey in Harpy_Hashtable
          • -------- Saves the damage , that will deal the tornado in range --------
          • Hashtable - Save Hapry_Tornado_Level as 5 of TempKey in Harpy_Hashtable
          • -------- Saves Level of ability being cast, to load it in the loop integer and set level of the cyclone (for the last created) to level of the ability being cast --------
          • Set Harpy_Tornado_Degrees = (Harpy_Tornado_Degrees + (360.00 / (Real(Harpy_Tornado_Count))))
          • Custom script: call RemoveLocation(udg_Harpy_Tornado_Caster_Point2)
      • Custom script: call RemoveLocation(udg_Harpy_Tornado_Caster_Point)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Harpy Tornado Effect <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Harpy Tornado Effect <gen>
        • Else - Actions
  • Harpy Tornado Effect
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Harpy_Group and do (Actions)
        • Loop - Actions
          • Set TempUnit = (Picked unit)
          • Unit - Turn collision for TempUnit Off
          • Set TempKey = (Key (Picked unit))
          • Set Harpy_Tornado_Travel_Range = (Load 1 of TempKey from Harpy_Hashtable)
          • Set Harpy_Tornado_Speed = (Load 2 of TempKey from Harpy_Hashtable)
          • Set Harpy_Tornado_Degrees = (Load 3 of TempKey from Harpy_Hashtable)
          • Set Harpy_Tornado_Damage = (Load 4 of TempKey from Harpy_Hashtable)
          • Set Hapry_Tornado_Level = (Load 5 of TempKey from Harpy_Hashtable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Harpy_Tornado_Travel_Range Greater than or equal to 0.00
            • Then - Actions
              • Set TempPoint1 = (Position of TempUnit)
              • Set TempPoint2 = (TempPoint1 offset by (Harpy_Tornado_Speed x 0.03) towards Harpy_Tornado_Degrees degrees)
              • Special Effect - Create a special effect at TempPoint1 using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
              • Special Effect - Destroy (Last created special effect)
              • Custom script: set bj_wantDestroyGroup = true
              • Unit Group - Pick every unit in (Units within 150.00 of TempPoint2) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) is alive) Equal to True
                      • ((Picked unit) is A structure) Equal to False
                      • ((Picked unit) belongs to an enemy of (Owner of TempUnit)) Equal to True
                      • ((Picked unit) is in Harpy_Damaged_UnitGroup) Equal to False
                    • Then - Actions
                      • Set TempPoint3 = (Position of (Picked unit))
                      • Unit Group - Add (Picked unit) to Harpy_Damaged_UnitGroup
                      • Unit - Cause TempUnit to damage (Picked unit), dealing Harpy_Tornado_Damage damage of attack type Spells and damage type Normal
                      • Unit - Create 1 Cyclone for (Owner of TempUnit) at TempPoint3 facing Default building facing degrees
                      • Unit - Set level of Cyclone for (Last created unit) to Hapry_Tornado_Level
                      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                      • Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Cyclone (Picked unit)
                      • Custom script: call RemoveLocation(udg_TempPoint3)
                    • Else - Actions
              • Destructible - Pick every destructible within 150.00 of TempPoint1 and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Current life of (Picked destructible)) Greater than or equal to 0.00
                    • Then - Actions
                      • Unit - Order Harvest to Harvest (Picked destructible)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Current order of Harvest) Equal to (Order(harvest))
                        • Then - Actions
                          • Destructible - Kill (Picked destructible)
                        • Else - Actions
                          • Unit - Order Harvest to Stop
                    • Else - Actions
              • Unit - Move TempUnit instantly to TempPoint2
              • Hashtable - Save (Harpy_Tornado_Travel_Range - (Harpy_Tornado_Speed x 0.03)) as 1 of TempKey in Harpy_Hashtable
              • Custom script: call RemoveLocation(udg_TempPoint1)
              • Custom script: call RemoveLocation(udg_TempPoint2)
            • Else - Actions
              • Unit Group - Remove TempUnit from Harpy_Group
              • Hashtable - Clear all child hashtables of child TempKey in Harpy_Hashtable
              • Unit - Remove TempUnit from the game
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Harpy_Group is empty) Equal to True
                • Then - Actions
                  • Unit Group - Remove all units from Harpy_Damaged_UnitGroup
                  • Trigger - Turn off (This trigger)
                • Else - Actions

Level 1 - Magically binds a target and throws him in the opposite direction. Where the target will land, it will deal 70 damage to enemies and stuns last for 1.5 seconds.
Level 2 - Magically binds a target and throws him in the opposite direction. Where the target will land, it will deal 80 damage to enemies and stuns last for 1.5 seconds.
Level 3 - Magically binds a target and throws him in the opposite direction. Where the target will land, it will deal 90 damage to enemies and stuns last for 1.5 seconds.
Level 4 - Magically binds a target and throws him in the opposite direction. Where the target will land, it will deal 100 damage to enemies and stuns last for 1.5 seconds.
  • Magical Nest
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Magical Nest
    • Actions
      • Set TempKey = (Key (Target unit of ability being cast))
      • Set Magical_Nest_Caster_Unit = (Triggering unit)
      • Set Magical_Nest_Caster_Point = (Position of Magical_Nest_Caster_Unit)
      • Set Magical_Nest_Unit = (Target unit of ability being cast)
      • Set TempPoint1 = (Position of Magical_Nest_Unit)
      • Unit - Pause Magical_Nest_Caster_Unit
      • Unit - Pause Magical_Nest_Unit
      • Special Effect - Create a special effect attached to the chest of Magical_Nest_Unit using Abilities\Spells\Human\AerialShackles\AerialShacklesTarget.mdl
      • Set Magical_Nest_Special_Effect = (Last created special effect)
      • Hashtable - Save Handle OfMagical_Nest_Special_Effect as 1 of TempKey in Magical_Hashtable
      • -------- Saves the special effect on the unit, to don't leak --------
      • Set Magical_Nest_Range_Beetween = (Distance between Magical_Nest_Caster_Point and TempPoint1)
      • Hashtable - Save (2.00 x Magical_Nest_Range_Beetween) as 2 of TempKey in Magical_Hashtable
      • -------- We save here the 2x the distance beetween the target and the triggering unit (this will be changed) --------
      • -------- 2x because the target unit will travel to the opposite of his location, so 1 x distance is the point of the triggering unit , and + 1 x distance is the opposite of the target unit where he was --------
      • Set Magical_Nest_Angle = (Angle from Magical_Nest_Caster_Point to TempPoint1)
      • Hashtable - Save Magical_Nest_Angle as 3 of TempKey in Magical_Hashtable
      • -------- We save the angle beetween points, we need this to know in which degrees will travel the unit --------
      • Lightning - Create a Magic Leash lightning effect from source Magical_Nest_Caster_Point to target TempPoint1
      • Set Magical_Nest_Lighting = (Last created lightning effect)
      • Hashtable - Save Handle OfMagical_Nest_Lighting as 4 of TempKey in Magical_Hashtable
      • -------- this is just an anothere special effect , we save this to don't leak, and move it to the position of target unit , while it's activated the Effect trigger --------
      • Set Magical_Nest_Speed = -1800.00
      • Hashtable - Save Magical_Nest_Speed as 5 of TempKey in Magical_Hashtable
      • Hashtable - Save Handle OfMagical_Nest_Caster_Unit as 6 of TempKey in Magical_Hashtable
      • -------- We save the speed of the target's unit, and we save with -speed, because we want to go to the opposite of his location, not to 3 x distance beetween position of triggering unit and the target unit --------
      • Set Magical_Nest_Level = (Level of Magical Nest for Magical_Nest_Caster_Unit)
      • Hashtable - Save Magical_Nest_Level as 7 of TempKey in Magical_Hashtable
      • -------- The Level variable is to set the level of the Damage and Stun to the last created unit to level of Magical Nest. --------
      • Set Magical_Nest_UnitHeight = (Current flying height of Magical_Nest_Unit)
      • Hashtable - Save Magical_Nest_UnitHeight as 8 of TempKey in Magical_Hashtable
      • -------- This is just to show that the unit is flying, so we save his current flying height --------
      • Hashtable - Save (2.00 x Magical_Nest_Range_Beetween) as 9 of TempKey in Magical_Hashtable
      • -------- This is the distance beetween the triggering unit and the targeted unit , but this distance's value will not change --------
      • Unit - Add Crow Form to Magical_Nest_Unit
      • Unit - Remove Crow Form from Magical_Nest_Unit
      • Unit Group - Add Magical_Nest_Unit to Magical_Nest_UnitGroup
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Magical Nest Effect <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Magical Nest Effect <gen>
        • Else - Actions
      • Custom script: call RemoveLocation(udg_Magical_Nest_Caster_Point)
      • Custom script: call RemoveLocation(udg_TempPoint1)
  • Magical Nest Effect
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Magical_Nest_UnitGroup and do (Actions)
        • Loop - Actions
          • Set Magical_Nest_Unit = (Picked unit)
          • Unit - Turn collision for Magical_Nest_Unit Off
          • Set TempKey = (Key (Picked unit))
          • Set Magical_Nest_Special_Effect = (Load 1 of TempKey in Magical_Hashtable)
          • Set Magical_Nest_Range_Beetween = (Load 2 of TempKey from Magical_Hashtable)
          • Set Magical_Nest_Angle = (Load 3 of TempKey from Magical_Hashtable)
          • Set Magical_Nest_Lighting = (Load 4 of TempKey in Magical_Hashtable)
          • Set Magical_Nest_Speed = (Load 5 of TempKey from Magical_Hashtable)
          • Set Magical_Nest_Caster_Unit = (Load 6 of TempKey in Magical_Hashtable)
          • Set Magical_Nest_Caster_Point = (Position of Magical_Nest_Caster_Unit)
          • Set Magical_Nest_Level = (Load 7 of TempKey from Magical_Hashtable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Magical_Nest_Range_Beetween Greater than 0.00
            • Then - Actions
              • Unit - Make Magical_Nest_Caster_Unit face Magical_Nest_Unit over 0.01 seconds
              • Set TempPoint1 = (Position of Magical_Nest_Unit)
              • Set TempPoint2 = (TempPoint1 offset by (Magical_Nest_Speed x 0.03) towards Magical_Nest_Angle degrees)
              • Lightning - Move Magical_Nest_Lighting to source Magical_Nest_Caster_Point and target TempPoint2
              • Unit - Move Magical_Nest_Unit instantly to TempPoint2
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Magical_Nest_Range_Beetween Less than or equal to ((Load 9 of TempKey from Magical_Hashtable) / 2.00)
                • Then - Actions
                  • Set Magical_Nest_UnitHeight = (Magical_Nest_UnitHeight - 25.00)
                  • Animation - Change Magical_Nest_Unit flying height to Magical_Nest_UnitHeight at 1000000000.00
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Magical_Nest_UnitHeight Less than or equal to 0.00
                    • Then - Actions
                      • Unit - Create 1 Special Effect for (Owner of Magical_Nest_Caster_Unit) at TempPoint1 facing Default building facing degrees
                      • Unit - Kill (Last created unit)
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Magical_Nest_Range_Beetween Greater than ((Load 9 of TempKey from Magical_Hashtable) / 2.00)
                    • Then - Actions
                      • Set Magical_Nest_UnitHeight = (Magical_Nest_UnitHeight + 20.00)
                      • Animation - Change Magical_Nest_Unit flying height to Magical_Nest_UnitHeight at 1000000000.00
                    • Else - Actions
              • Hashtable - Save (Magical_Nest_Range_Beetween + (Magical_Nest_Speed x 0.03)) as 2 of TempKey in Magical_Hashtable
              • Custom script: call RemoveLocation(udg_TempPoint1)
              • Custom script: call RemoveLocation(udg_TempPoint2)
            • Else - Actions
              • Set TempPoint1 = (Position of Magical_Nest_Unit)
              • Special Effect - Destroy Magical_Nest_Special_Effect
              • Unit - Unpause Magical_Nest_Caster_Unit
              • Unit - Unpause Magical_Nest_Unit
              • Lightning - Destroy Magical_Nest_Lighting
              • Custom script: set bj_wantDestroyGroup = true
              • Destructible - Pick every destructible within 250.00 of TempPoint1 and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Current life of (Picked destructible)) Greater than or equal to 0.00
                    • Then - Actions
                      • Unit - Order Harvest to Harvest (Picked destructible)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Current order of Harvest) Equal to (Order(harvest))
                        • Then - Actions
                          • Destructible - Kill (Picked destructible)
                        • Else - Actions
                          • Unit - Order Harvest to Stop
                    • Else - Actions
              • Unit Group - Pick every unit in (Units within 250.00 of TempPoint1) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) is A structure) Equal to False
                      • ((Picked unit) belongs to an enemy of (Owner of Magical_Nest_Caster_Unit)) Equal to True
                      • ((Picked unit) is alive) Equal to True
                      • Magical_Nest_Unit Not equal to (Picked unit)
                    • Then - Actions
                      • Set TempPoint2 = (Position of (Picked unit))
                      • Unit - Create 1 Damage And Stun for (Owner of Magical_Nest_Caster_Unit) at TempPoint2 facing Default building facing degrees
                      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                      • Unit - Set level of Magical Nest Stun for (Last created unit) to Magical_Nest_Level
                      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
                      • Custom script: call RemoveLocation(udg_TempPoint2)
                    • Else - Actions
              • Special Effect - Create a special effect at TempPoint1 using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
              • Unit Group - Remove Magical_Nest_Unit from Magical_Nest_UnitGroup
              • Unit - Turn collision for Magical_Nest_Unit On
              • Hashtable - Clear all child hashtables of child TempKey in Magical_Hashtable
              • Animation - Reset Magical_Nest_Unit's animation
              • Custom script: call RemoveLocation(udg_TempPoint1)
              • Custom script: call RemoveLocation(udg_Magical_Nest_Caster_Point)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Magical_Nest_UnitGroup is empty) Equal to True
                • Then - Actions
                  • Trigger - Turn off Magical Nest Effect <gen>
                • Else - Actions

Level 1 - Whenever the Harpy cast a spells becomes agressive. Gaining 2 agility, last for 10 seconds. The time and agility stacks.
Level 2 - Whenever the Harpy cast a spells becomes agressive. Gaining 4 agility, last for 10 seconds. The time and agility stacks.
Level 3 - Whenever the Harpy cast a spells becomes agressive. Gaining 6 agility, last for 10 seconds. The time and agility stacks.
Level 4 - Whenever the Harpy cast a spells becomes agressive. Gaining 8 agility, last for 10 seconds. The time and agility stacks.
  • Rage
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Level of Rage for (Triggering unit)) Greater than 0
    • Actions
      • Set Rage_Unit = (Triggering unit)
      • Set TempKey = (Key (Triggering unit))
      • Set Rage_Agility = ((Level of Rage for Rage_Unit) x 2)
      • Hashtable - Save (Rage_Agility + (Load 1 of TempKey from Rage_Hashtable)) as 1 of TempKey in Rage_Hashtable
      • -------- Saves the Agility gained, + agility gained before. --------
      • Set Rage_Timer = 10
      • Hashtable - Save (Rage_Timer + (Load 2 of TempKey from Rage_Hashtable)) as 2 of TempKey in Rage_Hashtable
      • -------- Saves the timer (which is 10) + the left timer in the rage timer. So this will help to stack the time. --------
      • Set Rage_Currently_Agility = (Agility of Rage_Unit (Exclude bonuses))
      • Hero - Modify Agility of Rage_Unit: Set to (Rage_Currently_Agility + Rage_Agility)
      • Unit Group - Add Rage_Unit to Rage_UnitGroup
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Rage Timer <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Rage Timer <gen>
        • Else - Actions
  • Rage Timer
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Rage_UnitGroup and do (Actions)
        • Loop - Actions
          • Set Rage_Unit = (Picked unit)
          • Set TempKey = (Key (Picked unit))
          • Set Rage_Agility = (Load 1 of TempKey from Rage_Hashtable)
          • Set Rage_Timer = (Load 2 of TempKey from Rage_Hashtable)
          • Set Rage_Currently_Agility = (Agility of Rage_Unit (Include bonuses))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Rage_Timer Greater than 0
            • Then - Actions
              • Game - Display to (All players) the text: (String(Rage_Timer))
              • Hashtable - Save (Rage_Timer - 1) as 2 of TempKey in Rage_Hashtable
            • Else - Actions
              • Hero - Modify Agility of Rage_Unit: Set to (Rage_Currently_Agility - Rage_Agility)
              • Hashtable - Clear all child hashtables of child TempKey in Rage_Hashtable
              • Unit Group - Remove Rage_Unit from Rage_UnitGroup
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Rage_UnitGroup is empty) Equal to True
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions

Level 1 - The Harpy Queen with his powerful wings create a powerful attack, damaging in line the enemies. Deals 50 + agility in damage.
Level 2 - The Harpy Queen with his powerful wings create a powerful attack, damaging in line the enemies. Deals 50 +(2 x agility) in damage.
Level 3 - The Harpy Queen with his powerful wings create a powerful attack, damaging in line the enemies. Deals 50 +(3 x agility) in damage.
  • Green Blast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Green Blast
    • Actions
      • Set Green_Caster_Unit = (Triggering unit)
      • Set TempPoint1 = (Position of Green_Caster_Unit)
      • Set TempPoint3 = (Target point of ability being cast)
      • Set Green_Angle = (Angle from TempPoint1 to TempPoint3)
      • Set TempPoint2 = (TempPoint1 offset by 100.00 towards Green_Angle degrees)
      • Unit - Create 1 Green Blast Dummy for (Triggering player) at TempPoint2 facing Green_Angle degrees
      • Set TempKey = (Key (Last created unit))
      • Hashtable - Save Green_Angle as 1 of TempKey in Green_Hashtable
      • -------- Saves the angle of the target point and the position of the triggering unit. --------
      • Set Green_Speed = 700.00
      • Hashtable - Save Green_Speed as 2 of TempKey in Green_Hashtable
      • -------- Saves the movement speed of the Green Blast Dummy --------
      • Set Green_Travel_Range = 2000.00
      • Hashtable - Save Green_Travel_Range as 3 of TempKey in Green_Hashtable
      • -------- Saves the Traveled Range, so he will move 2000 unit from the position of the triggering unit. --------
      • Set Green_Damage = (50.00 + ((Real((Agility of Green_Caster_Unit (Include bonuses)))) x (Real((Level of Green Blast for Green_Caster_Unit)))))
      • Hashtable - Save Green_Damage as 4 of TempKey in Green_Hashtable
      • -------- And the last command , will save the damage that will deal to the unit's in line. --------
      • Unit Group - Add (Last created unit) to Green_UnitGroup
      • Custom script: call RemoveLocation(udg_TempPoint1)
      • Custom script: call RemoveLocation(udg_TempPoint2)
      • Custom script: call RemoveLocation(udg_TempPoint3)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Green Blast Effect <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Green Blast Effect <gen>
        • Else - Actions
  • Green Blast Effect
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Green_UnitGroup and do (Actions)
        • Loop - Actions
          • Set TempUnit = (Picked unit)
          • Unit - Turn collision for TempUnit Off
          • Set TempKey = (Key (Picked unit))
          • Set Green_Angle = (Load 1 of TempKey from Green_Hashtable)
          • Set Green_Speed = (Load 2 of TempKey from Green_Hashtable)
          • Set Green_Travel_Range = (Load 3 of TempKey from Green_Hashtable)
          • Set Green_Damage = (Load 4 of TempKey from Green_Hashtable)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Green_Travel_Range Greater than or equal to 0.00
            • Then - Actions
              • Set TempPoint1 = (Position of TempUnit)
              • Set TempPoint2 = (TempPoint1 offset by (Green_Speed x 0.03) towards Green_Angle degrees)
              • Custom script: set bj_wantDestroyGroup = true
              • Unit Group - Pick every unit in (Units within 250.00 of TempPoint2) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) is A structure) Equal to False
                      • ((Picked unit) belongs to an enemy of (Owner of TempUnit)) Equal to True
                      • ((Picked unit) is alive) Equal to True
                      • ((Picked unit) is in Green_Damaged_UnitGroup) Equal to False
                    • Then - Actions
                      • Unit - Cause TempUnit to damage (Picked unit), dealing Green_Damage damage of attack type Spells and damage type Normal
                      • Unit Group - Add (Picked unit) to Green_Damaged_UnitGroup
                    • Else - Actions
              • Unit - Move TempUnit instantly to TempPoint2
              • Hashtable - Save (Green_Travel_Range - (Green_Speed x 0.03)) as 3 of TempKey in Green_Hashtable
              • Custom script: call RemoveLocation(udg_TempPoint1)
              • Custom script: call RemoveLocation(udg_TempPoint2)
            • Else - Actions
              • Unit Group - Remove TempUnit from Green_UnitGroup
              • Unit - Remove TempUnit from the game
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Green_UnitGroup is empty) Equal to True
                • Then - Actions
                  • Unit Group - Remove all units from Green_Damaged_UnitGroup
                  • Trigger - Turn off (This trigger)
                • Else - Actions


Keywords:
Harpy, Tornado, Blast, Destructible Destroy, Knockback, Leap, Throw, Magical, Green
Contents

Harpy Queen Spellpack v1.1 (Map)

Reviews
19th Dec 2011 Bribe: I like this a lot. I recommend adding comments to describe what you are saving into the hashtable, instead of using variables to describe it (though this is totally optional). In the "Rage Timer" trigger what is the game message...

Moderator

M

Moderator

19th Dec 2011
Bribe: I like this a lot. I recommend adding comments to describe what you are saving into the hashtable, instead of using variables to describe it (though this is totally optional). In the "Rage Timer" trigger what is the game message doing there? Is that a remnant of your debugging?

This does just about everything right. I'm going to approve this spell with a 4/5 rating (Recommended).
 
Top