mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Auras: implemented SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH (#26176)
This commit is contained in:
@@ -7264,6 +7264,12 @@ float Unit::SpellHealingPctDone(Unit* victim, SpellInfo const* spellProto) const
|
||||
// Healing done percent
|
||||
DoneTotalMod *= GetTotalAuraMultiplier(SPELL_AURA_MOD_HEALING_DONE_PERCENT);
|
||||
|
||||
// bonus from missing health of target
|
||||
float healthPctDiff = 100.0f - victim->GetHealthPct();
|
||||
for (AuraEffect const* healingDonePctVsTargetHealth : GetAuraEffectsByType(SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH))
|
||||
if (healingDonePctVsTargetHealth->IsAffectingSpell(spellProto))
|
||||
AddPct(DoneTotalMod, CalculatePct(float(healingDonePctVsTargetHealth->GetAmount()), healthPctDiff));
|
||||
|
||||
return DoneTotalMod;
|
||||
}
|
||||
|
||||
|
||||
@@ -426,7 +426,7 @@ enum AuraType : uint32
|
||||
SPELL_AURA_MOD_CURRENCY_CATEGORY_GAIN_PCT = 351, // NYI
|
||||
SPELL_AURA_352 = 352,
|
||||
SPELL_AURA_MOD_CAMOUFLAGE = 353, // NYI
|
||||
SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH = 354, // NYI Restoration Shaman mastery - mod healing based on target's health (less = more healing)
|
||||
SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH = 354, // Restoration Shaman mastery - mod healing based on target's health (less = more healing)
|
||||
SPELL_AURA_MOD_CASTING_SPEED = 355, // NYI
|
||||
SPELL_AURA_PROVIDE_TOTEM_CATEGORY = 356,
|
||||
SPELL_AURA_ENABLE_BOSS1_UNIT_FRAME = 357,
|
||||
|
||||
@@ -422,7 +422,7 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
|
||||
&AuraEffect::HandleNULL, //351 SPELL_AURA_MOD_CURRENCY_CATEGORY_GAIN_PCT
|
||||
&AuraEffect::HandleNULL, //352 SPELL_AURA_352
|
||||
&AuraEffect::HandleNULL, //353 SPELL_AURA_MOD_CAMOUFLAGE
|
||||
&AuraEffect::HandleNULL, //354 SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH
|
||||
&AuraEffect::HandleNoImmediateEffect, //354 SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH implemented in Unit::SpellHealingPctDone
|
||||
&AuraEffect::HandleNULL, //355 SPELL_AURA_MOD_CASTING_SPEED
|
||||
&AuraEffect::HandleNoImmediateEffect, //356 SPELL_AURA_PROVIDE_TOTEM_CATEGORY implemented in Player::HasItemTotemCategory
|
||||
&AuraEffect::HandleNULL, //357 SPELL_AURA_ENABLE_BOSS1_UNIT_FRAME
|
||||
|
||||
Reference in New Issue
Block a user