ImmortaL_GoD
New Member
- Reaction score
- 4
Trigger:
- 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)
- 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
- Events
Ok, the problem is in the damage being done with this ability (and I'm just making sure that it will properly level). The rest works fine, but for some reason the damage seemingly accumulates on the targets; just simply does dramatically more damage than it should, sometimes just one hitting all heroes. How can I properly apply or fix the damage with this? Any help would be appreciated, thanks.
-Credit to CokeMonkey11 for writing the ability.