- Joined
- Oct 4, 2011
- Messages
- 226
Hello, this ability is a projectile ability that travels 1600/1800/2000/2200 range or until an enemy is hit, deals aoe damage and creates another dummy unit and then loop 2 is turned on to deal aoe damage over time. Right now I am having trouble because my ability fires the projectile towards the center of the map instead of the location layed out..
-
Pyroblast
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Pyroblast (White Wizard)
-
-

Actions
-


Set TempUnit3 = (Casting unit)
-


Set TempPlayer = (Owner of TempUnit3)
-


Set TempInteger = (Level of Pyroblast (White Wizard) for TempUnit3)
-


Set TempLocation = (Position of TempUnit3)
-


Set TempUnit2 = (Target unit of ability being cast)
-


Set TempLocation2 = (Target point of ability being cast)
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(TempUnit2 is alive) Equal to True
-
-



Then - Actions
-




Custom script: call RemoveLocation(udg_TempLocation2)
-




Set TempLocation2 = (Position of TempUnit2)
-
-



Else - Actions
-
-


Set TempReal = (Angle from TempLocation to TempLocation2)
-


Set TempLocation3 = (TempLocation offset by (1400.00 + ((Real(TempInteger)) x 200.00)) towards TempReal degrees)
-


Set TempLocation4 = (TempLocation offset by 10.00 towards TempReal degrees)
-


Custom script: call RemoveLocation(udg_TempLocation)
-


Unit - Create 1 Pyroblast (Dummy 1) for TempPlayer at TempLocation4 facing TempReal degrees
-


Custom script: call RemoveLocation(udg_TempLocation4)
-


Set TempUnit = (Last created unit)
-


Unit Group - Add TempUnit to AA02_ProjectileGroup
-


Custom script: set udg_AA02_IdInteger = GetHandleId(udg_TempUnit)
-


Hashtable - Save (((Real(TempInteger)) x 200.00) + 1400.00) as 1 of AA02_IdInteger in AA99_Hash
-


Hashtable - Save Handle OfTempLocation3 as 2 of AA02_IdInteger in AA99_Hash
-


Hashtable - Save Handle OfTempUnit3 as 3 of AA02_IdInteger in AA99_Hash
-


Hashtable - Save (((Real(TempInteger)) x 40.00) + 40.00) as 4 of AA02_IdInteger in AA99_Hash
-


Hashtable - Save TempReal as 5 of AA02_IdInteger in AA99_Hash
-


Custom script: call RemoveLocation(udg_TempLocation)
-


Custom script: call RemoveLocation(udg_TempLocation2)
-


Trigger - Turn on Pyroblast loop 1 <gen>
-
-
-
Pyroblast loop 1
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Number of units in AA02_ProjectileGroup) Greater than 0
-
-



Then - Actions
-




Unit Group - Pick every unit in AA02_ProjectileGroup and do (Actions)
-





Loop - Actions
-






Set TempUnit = (Picked unit)
-






Set TempPlayer = (Owner of TempUnit)
-






Custom script: set udg_AA02_IdInteger = GetHandleId(udg_TempUnit)
-






Set TempLocation = (Position of TempUnit)
-






Set TempLocation2 = (Load 2 of AA02_IdInteger in AA99_Hash)
-






Set TempReal = (Distance between TempLocation and TempLocation2)
-






Set TempReal2 = (Angle from TempLocation to TempLocation2)
-






Set TempLocation3 = (TempLocation offset by 27.00 towards TempReal2 degrees)
-






Set AA02_TargetsGroup = (Units within 200.00 of TempLocation matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False)) and (((Matching unit) belongs to an ally of TempPlayer) Equal to False)) and (((Owner of (Matching unit)
-






Custom script: call RemoveLocation(udg_TempLocation)
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Number of units in AA02_TargetsGroup) Greater than 0
-
-







Then - Actions
-








Custom script: call RemoveLocation(udg_TempLocation3)
-








Custom script: call RemoveLocation(udg_TempLocation2)
-








Set TempLocation = (Position of TempUnit)
-








Unit Group - Remove TempUnit from AA02_ProjectileGroup
-








Unit - Kill TempUnit
-








Unit Group - Pick every unit in AA02_TargetsGroup and do (Actions)
-









Loop - Actions
-










Unit - Cause (Load 3 of AA02_IdInteger in AA99_Hash) to damage (Picked unit), dealing (Load 4 of AA02_IdInteger from AA99_Hash) damage of attack type Magic and damage type Fire
-










Unit Group - Remove (Picked unit) from AA02_TargetsGroup
-
-
-








Unit - Create 1 Pyroblast (Dummy 2) for TempPlayer at TempLocation facing (Random angle) degrees
-








Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
-








Set TempUnit2 = (Last created unit)
-








Custom script: set udg_AA02_IdInteger2 = GetHandleId(udg_TempUnit2)
-








Unit Group - Add TempUnit2 to AA02_DummyGroup
-








Set TempUnit3 = (Load 3 of AA02_IdInteger in AA99_Hash)
-








Hashtable - Clear all child hashtables of child AA02_IdInteger in AA99_Hash
-








Hashtable - Save 4.98 as 1 of AA02_IdInteger2 in AA99_Hash
-








Hashtable - Save 0.96 as 2 of AA02_IdInteger2 in AA99_Hash
-








Hashtable - Save Handle OfTempUnit3 as 3 of AA02_IdInteger2 in AA99_Hash
-








Trigger - Turn on Pyroblast loop 2 <gen>
-
-







Else - Actions
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










TempReal Greater than 30.00
-
-









Then - Actions
-










Unit - Move TempUnit instantly to TempLocation3
-










Custom script: call RemoveLocation(udg_TempLocation2)
-










Custom script: call RemoveLocation(udg_TempLocation3)
-
-









Else - Actions
-










Custom script: call RemoveLocation(udg_TempLocation3)
-










Set TempLocation = (Position of TempUnit)
-










Unit Group - Remove TempUnit from AA02_ProjectileGroup
-










Unit - Kill TempUnit
-










Unit - Create 1 Pyroblast (Dummy 2) for TempPlayer at TempLocation facing (Random angle) degrees
-










Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
-










Set TempUnit2 = (Last created unit)
-










Custom script: set udg_AA02_IdInteger2 = GetHandleId(udg_TempUnit2)
-










Unit Group - Add TempUnit2 to AA02_DummyGroup
-










Unit Group - Pick every unit in AA02_TargetsGroup and do (Actions)
-











Loop - Actions
-












Unit - Cause (Load 3 of AA02_IdInteger in AA99_Hash) to damage (Picked unit), dealing (Load 4 of AA02_IdInteger from AA99_Hash) damage of attack type Magic and damage type Fire
-












Unit Group - Remove (Picked unit) from AA02_TargetsGroup
-
-
-










Set TempUnit3 = (Load 3 of AA02_IdInteger in AA99_Hash)
-










Hashtable - Clear all child hashtables of child AA02_IdInteger in AA99_Hash
-










Hashtable - Save 4.98 as 1 of AA02_IdInteger2 in AA99_Hash
-










Hashtable - Save 0.96 as 2 of AA02_IdInteger2 in AA99_Hash
-










Hashtable - Save Handle OfTempUnit3 as 3 of AA02_IdInteger2 in AA99_Hash
-










Trigger - Turn on Pyroblast loop 2 <gen>
-
-
-
-
-
-
-
-



Else - Actions
-




Trigger - Turn off (This trigger)
-




Game - Display to (All players) for 0.15 seconds the text: |cff22ccffAA02_UGro...
-
-
-
-
-
Pyroblast loop 2
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Number of units in AA02_DummyGroup) Greater than 0
-
-



Then - Actions
-




Unit Group - Pick every unit in AA02_DummyGroup and do (Actions)
-





Loop - Actions
-






Set TempUnit = (Picked unit)
-






Set TempPlayer = (Owner of TempUnit)
-






Custom script: set udg_AA02_IdInteger2 = GetHandleId(udg_TempUnit)
-






Set TempLocation = (Position of TempUnit)
-






Set TempReal = (Load 1 of AA02_IdInteger2 from AA99_Hash)
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








TempReal Greater than 0.00
-
-







Then - Actions
-








Hashtable - Save (TempReal - 0.03) as 1 of AA02_IdInteger2 in AA99_Hash
-








Set TempReal2 = (Load 2 of AA02_IdInteger2 from AA99_Hash)
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










TempReal2 Greater than 0.00
-
-









Then - Actions
-










Hashtable - Save (TempReal2 - 0.03) as 2 of AA02_IdInteger2 in AA99_Hash
-










Custom script: call RemoveLocation(udg_TempLocation)
-
-









Else - Actions
-










Set AA02_BurnGroup = (Units within 300.00 of TempLocation matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of TempPlayer) Equal to False) and ((Owner of (Matching unit)) Not equal
-










Custom script: call RemoveLocation(udg_TempLocation)
-










Unit Group - Pick every unit in AA02_BurnGroup and do (Actions)
-











Loop - Actions
-












Unit - Cause (Load 3 of AA02_IdInteger2 in AA99_Hash) to damage (Picked unit), dealing 6.00 damage of attack type Magic and damage type Fire
-












Unit Group - Remove (Picked unit) from AA02_BurnGroup
-
-
-










Hashtable - Save 0.96 as 2 of AA02_IdInteger2 in AA99_Hash
-
-
-
-







Else - Actions
-








Unit Group - Remove TempUnit from AA02_DummyGroup
-








Unit - Kill TempUnit
-








Hashtable - Clear all child hashtables of child AA02_IdInteger2 in AA99_Hash
-
-
-
-
-
-



Else - Actions
-




Trigger - Turn off (This trigger)
-
-
-
-




