- Joined
- Jul 18, 2007
- Messages
- 110
-
DeafeningBlast
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Deafening Blast
-
Actions
- Set temp_point = (Position of (Casting unit))
- Unit - Create 1 Dummy (projectile) for (Owner of (Casting unit)) at temp_point facing (Facing of (Casting unit)) degrees
- Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
- Set unitDummyProjectile = (Last created unit)
- Set pointAbilityTarget = (Target point of ability being cast)
- Set unitCaster = (Casting unit)
- Unit - Order unitDummyProjectile to move pointAbilityTarget
- Trigger - Turn on DeafeningBlastP <gen>
- Custom script: call RemoveLocation (udg_temp_point)
-
Events
-
DeafeningBlastP
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
- Set tempDamage = (5 + (80 x (Level of Deafening Blast for unitCaster)))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
- (Integer((Distance between pointAbilityTarget and (Position of unitDummyProjectile)))) Less than 15
- (Integer((Distance between (Position of unitCaster) and (Position of unitDummyProjectile)))) Greater than 600
-
Conditions
-
Or - Any (Conditions) are true
-
Then - Actions
- Trigger - Turn off DeafeningBlastP <gen>
- Unit - Remove unitDummyProjectile from the game
- Skip remaining actions
-
Else - Actions
- Do nothing
-
If - Conditions
- Unit - Move unitDummyProjectile instantly to ((Position of unitDummyProjectile) offset by 15.00 towards (Facing of unitDummyProjectile) degrees)
- Set temp_group = (Units within 150.00 of (Position of unitDummyProjectile))
-
Unit Group - Pick every unit in temp_group and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Owner of (Picked unit)) is an enemy of (Owner of unitDummyProjectile)) Equal to True
-
Then - Actions
- Set temp_point = (Position of (Picked unit))
- Unit - Move (Picked unit) instantly to (temp_point offset by 15.00 towards (Facing of unitDummyProjectile) degrees)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) has buff Deafening Blast ) Equal to False
-
Then - Actions
- Unit - Create 1 Dummy (silenceCaster) for (Owner of unitDummyProjectile) at temp_point facing Default building facing (270.0) degrees
- Set Blast = (Last created unit)
- Unit - Set level of Silence (Blast) for Blast to (Level of Deafening Blast for unitCaster)
- Unit - Order Blast to Neutral Dark Ranger - Silence temp_point
- Unit - Cause Blast to damage (Picked unit), dealing (Real(tempDamage)) damage of attack type Spells and damage type Normal
- Unit - Add a 1.00 second Generic expiration timer to Blast
- Custom script: call DestroyGroup (udg_temp_group)
- Custom script: call RemoveLocation (udg_temp_point)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Events
-Credit to CokeMonkey11 for writing the ability.