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 | |
| parent | ee73948a64fc3d767d37cd3cc7f44358c5274b83 (diff) | |
Core/Spells: Update effect value calculations
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 17 |
2 files changed, 6 insertions, 13 deletions
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index c73daf5594f..941ecc72605 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -1116,7 +1116,7 @@ struct CriteriaEntry // CriteriaType::CompleteQuestsInSort = 58 int32 QuestSortID; - // CriteriaType::KilledAllUnitsInSpawnRegion = 64 + // CriteriaType::KilledAllUnitsInSpawnRegion = 64 int32 SpawnRegionID; // CriteriaType::PlayerTriggerGameEvent = 73 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; } |
