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:
@@ -2073,12 +2073,12 @@ namespace Game.Spells
|
||||
foreach (SpellEffectInfo auraSpellEffect in GetEffects())
|
||||
if (auraSpellEffect != null)
|
||||
basePoints[auraSpellEffect.EffectIndex] = (m_spellValue.CustomBasePointsMask & (1 << (int)auraSpellEffect.EffectIndex)) != 0 ?
|
||||
m_spellValue.EffectBasePoints[auraSpellEffect.EffectIndex] : auraSpellEffect.CalcBaseValue(m_originalCaster, unit, m_castItemLevel);
|
||||
m_spellValue.EffectBasePoints[auraSpellEffect.EffectIndex] : auraSpellEffect.CalcBaseValue(m_originalCaster, unit, m_castItemEntry, m_castItemLevel);
|
||||
|
||||
bool refresh = false;
|
||||
bool resetPeriodicTimer = !_triggeredCastFlags.HasAnyFlag(TriggerCastFlags.DontResetPeriodicTimer);
|
||||
m_spellAura = Aura.TryRefreshStackOrCreate(m_spellInfo, m_castId, (byte)effectMask, unit,
|
||||
m_originalCaster, out refresh, basePoints, m_CastItem, ObjectGuid.Empty, resetPeriodicTimer, ObjectGuid.Empty, m_castItemLevel);
|
||||
m_originalCaster, out refresh, basePoints, m_CastItem, ObjectGuid.Empty, resetPeriodicTimer, ObjectGuid.Empty, m_castItemEntry, m_castItemLevel);
|
||||
if (m_spellAura != null)
|
||||
{
|
||||
// Set aura stack amount to desired value
|
||||
@@ -7121,7 +7121,7 @@ namespace Game.Spells
|
||||
if ((m_spellValue.CustomBasePointsMask & (1 << (int)i)) != 0)
|
||||
basePoint = m_spellValue.EffectBasePoints[i];
|
||||
|
||||
return m_caster.CalculateSpellDamage(target, m_spellInfo, i, basePoint, m_castItemLevel);
|
||||
return m_caster.CalculateSpellDamage(target, m_spellInfo, i, basePoint, m_castItemEntry, m_castItemLevel);
|
||||
}
|
||||
int CalculateDamage(uint i, Unit target, out float variance)
|
||||
{
|
||||
@@ -7129,7 +7129,7 @@ namespace Game.Spells
|
||||
if ((m_spellValue.CustomBasePointsMask & (1 << (int)i)) != 0)
|
||||
basePoint = m_spellValue.EffectBasePoints[i];
|
||||
|
||||
return m_caster.CalculateSpellDamage(target, m_spellInfo, i, out variance, basePoint, m_castItemLevel);
|
||||
return m_caster.CalculateSpellDamage(target, m_spellInfo, i, out variance, basePoint, m_castItemEntry, m_castItemLevel);
|
||||
}
|
||||
public SpellState GetState()
|
||||
{
|
||||
@@ -7566,7 +7566,7 @@ namespace Game.Spells
|
||||
Cypher.Assert(effects.Length <= SpellConst.MaxEffects);
|
||||
foreach (SpellEffectInfo effect in effects)
|
||||
if (effect != null)
|
||||
EffectBasePoints[effect.EffectIndex] = effect.CalcBaseValue(caster, null, -1);
|
||||
EffectBasePoints[effect.EffectIndex] = effect.CalcBaseValue(caster, null, 0, -1);
|
||||
|
||||
CustomBasePointsMask = 0;
|
||||
MaxAffectedTargets = proto.MaxAffectedTargets;
|
||||
|
||||
Reference in New Issue
Block a user