mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 02:11:30 +00:00
[Rules] Add optional rule for lifetap heals (#1689)
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
This commit is contained in:
parent
17c8e8414c
commit
acf5836253
@ -387,6 +387,7 @@ RULE_BOOL(Spells, InvisRequiresGroup, false, "Invis requires the the target to b
|
||||
RULE_INT(Spells, ClericInnateHealFocus, 5, "Clerics on live get a 5 pct innate heal focus")
|
||||
RULE_BOOL(Spells, DOTsScaleWithSpellDmg, false, "Allow SpellDmg stat to affect DoT spells")
|
||||
RULE_BOOL(Spells, HOTsScaleWithHealAmt, false, "Allow HealAmt stat to affect HoT spells")
|
||||
RULE_BOOL(Spells, CompoundLifetapHeals, true, "True: Lifetap heals calculate damage bonuses and then heal bonuses. False: Lifetaps heal using the amount damaged to mob.")
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(Combat)
|
||||
|
||||
@ -3613,7 +3613,7 @@ void Mob::CommonDamage(Mob* attacker, int &damage, const uint16 spell_id, const
|
||||
if (spell_id != SPELL_UNKNOWN && IsLifetapSpell(spell_id)) {
|
||||
int healed = damage;
|
||||
|
||||
healed = attacker->GetActSpellHealing(spell_id, healed);
|
||||
healed = RuleB(Spells, CompoundLifetapHeals) ? attacker->GetActSpellHealing(spell_id, healed) : healed;
|
||||
LogCombat("Applying lifetap heal of [{}] to [{}]", healed, attacker->GetName());
|
||||
attacker->HealDamage(healed);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user