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!
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))))
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 (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
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...
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).
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.