Core/Spells: Fixed value of aura effects for stat mod auras applied by items
Port From (https://github.com/TrinityCore/TrinityCore/commit/123858331211db6fe6745f0886c1499f8e598443)
This commit is contained in:
@@ -32,12 +32,12 @@ namespace Game.Spells
|
||||
{
|
||||
public class AuraEffect
|
||||
{
|
||||
public AuraEffect(Aura abase, uint effindex, int? baseAmount, Unit caster)
|
||||
public AuraEffect(Aura baseAura, uint effindex, int? baseAmount, Unit caster)
|
||||
{
|
||||
auraBase = abase;
|
||||
m_spellInfo = abase.GetSpellInfo();
|
||||
_effectInfo = abase.GetSpellEffectInfo(effindex);
|
||||
m_baseAmount = baseAmount.HasValue ? baseAmount.Value : _effectInfo.CalcBaseValue(caster, abase.GetAuraType() == AuraObjectType.Unit ? abase.GetOwner().ToUnit() : null, abase.GetCastItemLevel());
|
||||
auraBase = baseAura;
|
||||
m_spellInfo = baseAura.GetSpellInfo();
|
||||
_effectInfo = baseAura.GetSpellEffectInfo(effindex);
|
||||
m_baseAmount = baseAmount.HasValue ? baseAmount.Value : _effectInfo.CalcBaseValue(caster, baseAura.GetAuraType() == AuraObjectType.Unit ? baseAura.GetOwner().ToUnit() : null, baseAura.GetCastItemId(), baseAura.GetCastItemLevel());
|
||||
m_donePct = 1.0f;
|
||||
m_effIndex = (byte)effindex;
|
||||
m_canBeRecalculated = true;
|
||||
@@ -76,7 +76,7 @@ namespace Game.Spells
|
||||
int amount = 0;
|
||||
|
||||
if (!m_spellInfo.HasAttribute(SpellAttr8.MasterySpecialization) || MathFunctions.fuzzyEq(GetSpellEffectInfo().BonusCoefficient, 0.0f))
|
||||
amount = GetSpellEffectInfo().CalcValue(caster, m_baseAmount, GetBase().GetOwner().ToUnit(), GetBase().GetCastItemLevel());
|
||||
amount = GetSpellEffectInfo().CalcValue(caster, m_baseAmount, GetBase().GetOwner().ToUnit(), GetBase().GetCastItemId(), GetBase().GetCastItemLevel());
|
||||
else if (caster != null && caster.IsTypeId(TypeId.Player))
|
||||
amount = (int)(caster.ToPlayer().m_activePlayerData.Mastery * GetSpellEffectInfo().BonusCoefficient);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user