Status
Coding : GUI/Trigger
Spell Type : MUI
Ability Description
Unleashes shits which move towards different angles traveling 500 distance and damaging everything within their paths. The shits unleash a foul smell which heals nearby friendly non-mechanical units once they stop moving.
Level 1 - Lure 5 nearest enemy to attack caster unit, each Shit deal 100 damage within the path and heal 1 hit points every seconds within 200 range. Lasts for 5 seconds.
Level 2 - Lure 10 nearest enemy to attack caster unit, each Shit deal 200 damage within the path and heal 2 hit points every seconds within 250 range. Lasts for 10 seconds.
Level 3 - Lure 15 nearest enemy to attack caster unit, each Shit deal 300 damage within the path and heal 3 hit points every seconds within 300 range. Lasts for 15 seconds.
Version 1.01 Update
Fix documentation.
Trigger:
- Holy Shit On
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Holy Shit
- Actions
- Set HS_Hero_Decoy = (Casting unit)
- Set HS_Point[0] = (Position of HS_Hero_Decoy)
- Set LEVEL = (Level of Holy Shit for HS_Hero_Decoy)
- -------- The number of Poop or Shit --------
- Set HS_Shits = 5
- Set HS_Formula = (360.00 / (Real(HS_Shits)))
- For each (Integer HS1) from 1 to HS_Shits, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- HS_Skip Equal to 0
- Then - Actions
- Trigger - Turn on Holy Shit Loop <gen>
- Else - Actions
- If - Conditions
- Set HS_Times = (HS_Times + 1)
- Set HS_Skip = (HS_Skip + 1)
- Set HS_Off[HS_Times] = True
- Set HS_Caster[HS_Times] = HS_Hero_Decoy
- -------- Distance and Speed ... --------
- Set HS_Distance_Max[HS_Times] = 500.00
- Set HS_Speed[HS_Times] = 22.00
- Set HS_XS_Formula[HS_Times] = (HS_Distance_Max[HS_Times] / HS_Speed[HS_Times])
- Set HS_Regeneration_Duration[HS_Times] = ((Real(LEVEL)) x 5.00)
- Set HS_Regeneration_Level_Ability[HS_Times] = LEVEL
- Set HS_Spam[HS_Times] = 0
- Set HS_Angle[HS_Times] = (HS_Formula x (Real(HS1)))
- Unit - Create 1 Holy Shit for (Owner of HS_Hero_Decoy) at HS_Point[0] facing HS_Angle[HS_Times] degrees
- Unit - Turn collision for HS_Dummy[HS_Times] Off
- Set HS_Dummy[HS_Times] = (Last created unit)
- Set HS_Point[3] = (HS_Point[0] offset by 400.00 towards HS_Angle[HS_Times] degrees)
- Unit - Create 1 Dummy Caster for (Owner of HS_Hero_Decoy) at HS_Point[0] facing HS_Point[3]
- Unit - Add Dummy Wave to (Last created unit)
- Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
- Unit - Set level of Dummy Wave for (Last created unit) to LEVEL
- Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave HS_Point[3]
- Custom script: call RemoveLocation(udg_HS_Point[3])
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Set LEVEL = 0
- Set HS_Formula = 0.00
- Set HS_Shits = 0
- Set HS_Hero_Decoy = No unit
- Custom script: call RemoveLocation(udg_HS_Point[0])
- Events
Trigger:
- Holy Shit Loop
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer HS2) from 1 to HS_Times, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- HS_Off[HS2] Equal to True
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- HS_Distance_Max[HS2] Less than or equal to 0.00
- Then - Actions
- Set HS_Skip = (HS_Skip - 1)
- Set HS_Off[HS2] = False
- Unit - Add a HS_Regeneration_Duration[HS2] second Generic expiration timer to HS_Dummy[HS2]
- Unit - Add Unit Regeneration Aura to HS_Dummy[HS2]
- Unit - Set level of Unit Regeneration Aura for HS_Dummy[HS2] to HS_Regeneration_Level_Ability[HS2]
- Set HS_Dummy[HS2] = No unit
- Set HS_Caster[HS2] = No unit
- Set HS_Distance_Max[HS2] = 0.00
- Set HS_Regeneration_Duration[HS2] = 0.00
- Set HS_Regeneration_Level_Ability[HS2] = 0
- Set HS_Speed[HS2] = 0.00
- Set HS_XS_Formula[HS2] = 0.00
- Set HS_Spam[HS2] = 0
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- HS_Skip Equal to 0
- Then - Actions
- Set HS_Times = 0
- Trigger - Turn off Holy Shit Loop <gen>
- Else - Actions
- If - Conditions
- Else - Actions
- Set HS_Distance_Max[HS2] = (HS_Distance_Max[HS2] - HS_Speed[HS2])
- Set HS_Point[1] = (Position of HS_Dummy[HS2])
- Set HS_Speed[HS2] = (HS_Distance_Max[HS2] / HS_XS_Formula[HS2])
- Set HS_Speed[HS2] = (HS_Speed[HS2] + 4.50)
- Set HS_Point[2] = (HS_Point[1] offset by HS_Speed[HS2] towards HS_Angle[HS2] degrees)
- Unit - Move HS_Dummy[HS2] instantly to HS_Point[2]
- Set HS_Spam[HS2] = (HS_Spam[HS2] + 1)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- HS_Spam[HS2] Equal to 6
- Then - Actions
- Set HS_Spam[HS2] = 0
- Special Effect - Create a special effect at HS_Point[1] using Abilities\Spells\Human\Slow\SlowCaster.mdl
- Special Effect - Destroy (Last created special effect)
- Else - Actions
- If - Conditions
- Custom script: call RemoveLocation(udg_HS_Point[1])
- Custom script: call RemoveLocation(udg_HS_Point[2])
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- For each (Integer HS2) from 1 to HS_Times, do (Actions)
- Events