Moderator
M
Moderator
Maker, 3rd Aug 2011, Dark Phase v1.1
Could be useful. No leaks and it is MUI.
Dark Phase - Requires
*NOTE* changed hotkey to "D"
----------------------------------------------------------------------------------------------------
Map Loading Screen Details
Thanks to 0emjlr3 for the map template, however used own systems.
Press ESC to Restore your Mana, Hp and ability cooldowns.
Creeps respawn every 5 seconds.
Hope you enjoy me spell, Dont forget to leave feedback and comments.
----------------------------------------------------------------------------------------------------
TRIGGERS
- Dark Phase
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Dark Phase
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DP_Index1 Equal to 0
- Then - Actions
- Trigger - Turn on Dark Phase Loop <gen>
- Else - Actions
- Set DP_Index1 = (DP_Index1 + 1)
- Set DP_Index2 = (DP_Index2 + 1)
- Set DP_Caster[DP_Index2] = (Triggering unit)
- Set DP_TargetPoint[DP_Index2] = (Target point of ability being cast)
- Set DP_Duration[DP_Index2] = (1.50 + (0.50 x (Real((Level of Dark Phase for DP_Caster[DP_Index2])))))
- Set DP_Expired[DP_Index2] = 0.00
- Set DP_Boolean[DP_Index2] = True
- Set DP_Damage[DP_Index2] = (50.00 + ((Real((Level of Dark Phase for DP_Caster[DP_Index2]))) x 25.00))
- Set DP_Player[DP_Index2] = (Owner of DP_Caster[DP_Index2])
- -------- ----------- --------
- -------- Create Dummy Unit --------
- -------- ----------- --------
- Unit - Create 1 DP_Dummy for DP_Player[DP_Index2] at DP_TargetPoint[DP_Index2] facing Default building facing degrees
- Set DP_Dummy[DP_Index2] = (Last created unit)
- -------- ----------- --------
- -------- Add Ability --------
- Unit - Add dummy stun to DP_Dummy[DP_Index2]
- Unit - Set level of dummy stun for DP_Dummy[DP_Index2] to (Level of Dark Phase for DP_Caster[DP_Index2])
- Unit - Order DP_Dummy[DP_Index2] to Orc Tauren Chieftain - War Stomp
- Custom script: set bj_wantDestroyGroup = true
- Unit Group - Pick every unit in (Units within 500.00 of DP_TargetPoint[DP_Index2] matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) belongs to an ally of DP_Player[DP_Index2]) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) a and do (Actions)
- Loop - Actions
- Unit - Cause DP_Caster[DP_Index2] to damage (Picked unit), dealing DP_Damage[DP_Index2] damage of attack type Spells and damage type Normal
- -------- ----------- --------
- For each (Integer DP_loop) from 1 to 16, do (Actions)
- Loop - Actions
- Set DP_TempPoint = (DP_TargetPoint[DP_Index2] offset by 100.00 towards ((Real(DP_loop)) x 22.50) degrees)
- Unit - Create 1 DP_Dummy2 for DP_Player[DP_Index2] at DP_TempPoint facing DP_TargetPoint[DP_Index2]
- Set DP_Dummy2[DP_Index2] = (Last created unit)
- Unit - Add a 2.00 second Generic expiration timer to DP_Dummy2[DP_Index2]
- Unit Group - Add DP_Dummy2[DP_Index2] to DP_Group[DP_Index2]
- Custom script: call RemoveLocation(udg_DP_TempPoint)
- -------- ----------- --------
- Dark Phase Loop
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer DP_IndexLoop) from 1 to DP_Index2, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DP_Boolean[DP_IndexLoop] Equal to True
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (DP_Caster[DP_Index2] is alive) Equal to True
- (DP_Caster[DP_IndexLoop] has buff Sleep (Pause)) Equal to False
- (DP_Caster[DP_IndexLoop] has buff Stunned (Pause)) Equal to False
- (DP_Duration[DP_IndexLoop] Greater than or equal to DP_Expired[DP_IndexLoop]
- Then - Actions
- Set DP_Expired[DP_IndexLoop] = (DP_Expired[DP_IndexLoop] + 0.03)
- Else - Actions
- Set DP_Index1 = (DP_Index1 - 1)
- Set DP_Boolean[DP_IndexLoop] = False
- Custom script: call DestroyGroup(udg_DP_Group[udg_DP_IndexLoop])
- Custom script: call RemoveLocation(udg_DP_TargetPoint[udg_DP_IndexLoop])
- Unit Group - Pick every unit in DP_Group[DP_IndexLoop] and do (Actions)
- Loop - Actions
- Unit - Remove (Picked unit) from the game
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DP_Index1 Equal to 0
- Then - Actions
- Set DP_Index2 = 0
- Trigger - Turn off (This trigger)
- Else - Actions
- Else - Actions