diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-09-18 15:00:43 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-09-18 15:00:43 +0200 |
| commit | 0b882b2fa4305c8554d675d6c5ba46457c5188e4 (patch) | |
| tree | 7370b78aa4c349a5722e8b0c79488d28d8fbb283 /src/server/game/Spells/SpellInfo.cpp | |
| parent | ee73948a64fc3d767d37cd3cc7f44358c5274b83 (diff) | |
Core/Spells: Update effect value calculations
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 869797e4447..4485c2858af 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -562,22 +562,14 @@ int32 SpellEffectInfo::CalcBaseValue(WorldObject const* caster, Unit const* targ if (ItemSparseEntry const* itemSparse = sItemSparseStore.LookupEntry(itemId)) value *= GetIlvlStatMultiplier(ratingMult, InventoryType(itemSparse->InventoryType)); - if (IsAura(SPELL_AURA_MOD_RATING) && !(MiscValue & ((1 << CR_CORRUPTION) | 1 << (CR_CORRUPTION_RESISTANCE)))) - { - if (GtCombatRatingsMultByILvl const* ratingMult = sCombatRatingsMultByILvlGameTable.GetRow(effectiveItemLevel)) - if (ItemSparseEntry const* itemSparse = sItemSparseStore.LookupEntry(itemId)) - value *= GetIlvlStatMultiplier(ratingMult, InventoryType(itemSparse->InventoryType)); - } - else if (IsAura(SPELL_AURA_MOD_STAT) && MiscValue == STAT_STAMINA) - { + if (Scaling.Class == -6) if (GtStaminaMultByILvl const* staminaMult = sStaminaMultByILvlGameTable.GetRow(effectiveItemLevel)) if (ItemSparseEntry const* itemSparse = sItemSparseStore.LookupEntry(itemId)) value *= GetIlvlStatMultiplier(staminaMult, InventoryType(itemSparse->InventoryType)); - } } value *= Scaling.Coefficient; - if (value != 0.0f && value < 1.0f) + if (value > 0.0f && value < 1.0f) value = 1.0f; return int32(round(value)); @@ -714,7 +706,7 @@ ExpectedStatType SpellEffectInfo::GetScalingExpectedStat() const return ExpectedStatType::PlayerHealth; case SPELL_EFFECT_ENERGIZE: case SPELL_EFFECT_POWER_BURN: - if (!MiscValue) + if (MiscValue == POWER_MANA) return ExpectedStatType::PlayerMana; return ExpectedStatType::None; case SPELL_EFFECT_POWER_DRAIN: @@ -775,12 +767,13 @@ ExpectedStatType SpellEffectInfo::GetScalingExpectedStat() const case SPELL_AURA_MOD_POWER_REGEN: case SPELL_AURA_POWER_BURN: case SPELL_AURA_MOD_MAX_POWER: - if (!MiscValue) + if (MiscValue == POWER_MANA) return ExpectedStatType::PlayerMana; return ExpectedStatType::None; default: break; } + break; default: break; } |
