Fix Vanilla damage adjustment scaling

This commit is contained in:
郑佩茹
2023-04-20 16:59:04 -06:00
parent 1cf462d6ee
commit 63add43ec2
3 changed files with 18 additions and 4 deletions

View File

@@ -475,7 +475,13 @@ public:
void ModifyHealReceived(Unit* /*target*/, Unit *healer, uint32 &heal, SpellInfo const *spellInfo) override
{
// Skip potions, bandages, percentage based heals like Rune Tap, etc.
if (!sIndividualProgression->enabled || spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES) || spellInfo->Mechanic == MECHANIC_BANDAGE || spellInfo->Id == SPELL_RUNE_TAP)
if (!sIndividualProgression->enabled || spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES) || spellInfo->Mechanic == MECHANIC_BANDAGE)
{
return;
}
// Skip percentage based heals or spells already nerfed by damage reduction
if (spellInfo->Id == SPELL_RUNE_TAP || spellInfo->Id == SPELL_LIFE_STEAL)
{
return;
}
@@ -493,7 +499,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{
heal *= (sIndividualProgression->vanillaHealingAdjustment - gearAdjustment);
heal *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaHealingAdjustment) - gearAdjustment);
}
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
@@ -519,7 +525,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{
damage *= (sIndividualProgression->vanillaPowerAdjustment - gearAdjustment);
damage *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaPowerAdjustment) - gearAdjustment);
}
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
@@ -545,7 +551,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{
damage *= (sIndividualProgression->vanillaPowerAdjustment - gearAdjustment);
damage *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaPowerAdjustment) - gearAdjustment);
}
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{