* [Shared Tasks] Cross Zone Remove Fix
Why:
The cross_zone_remove_task quest methods were not removing from
shared_task_members database table and were not clearing shared task
cache. This resulted in a situation where a character could not
request other shared tasks.
What:
Shamelessly copied shared task logic from ClientTaskState::CancelTask
into ClientTaskState::RemoveTaskByTaskID
* What:
Instead of copying code from CancelTask into RemoveTaskByTaskID, it is better
for code maintenance to simply call CancelTask from RemoveTaskByTaskID.
This is cleaner.
Note: I chose to be explicit with the remove_from_db parameter, despite true
being the default. I tend to do this to protect from the default value
changing in the future.
* [Shared Tasks] RemoveTaskByTaskID Cleanup
Removed unused variables.
Distinguished log messages for Shared Tasks from regular Tasks.
Added 1 rule per class that defines tracking distance multiplier for that class
Kept the defaults of 12 for ranger, 10 for druid, and 7 for bard
Created 1 method for determining class tracking distance multiplier
Created 1 method for determining if a class can track, based on multiplier
Updated tracking logic to use these methods to determine whether a tracking
packet should and can be sent or not.
What:
Add toggle for compounding bonuses for lifetap heals.
Why:
When spell damage and heal amount bonuses are scaled to ludicrous
levels, this double dip results in very high heals from
relatively weak lifetaps.
Created new rule: Spells:CompoundLifetapHeals
If true (default):
Apply spell damage bonuses to lifetap damage
Pass that amount through heal bonuses
Heal for this resulting amount
If false:
Apply spell damage bonuses to lifetap damage
Heal for this resulting amount