Core/Auras: Fixed sending amounts for effects that need it, aren't first and don't have SPELL_ATTR8_AURA_POINTS_ON_CLIENT
Port From (https://github.com/TrinityCore/TrinityCore/commit/0a1b81043eaae0e0feba2b693e1f004ac4791c30)
This commit is contained in:
@@ -209,6 +209,16 @@ namespace Game.Spells
|
||||
}
|
||||
}
|
||||
|
||||
public void AddEffectToApplyEffectMask(uint spellEffectIndex)
|
||||
{
|
||||
if ((_effectsToApply & (1 << (int)spellEffectIndex)) != 0)
|
||||
return;
|
||||
|
||||
_effectsToApply |= 1u << (int)spellEffectIndex;
|
||||
if (Aura.EffectTypeNeedsSendingAmount(GetBase().GetEffect(spellEffectIndex).GetAuraType()))
|
||||
_flags |= AuraFlags.Scalable;
|
||||
}
|
||||
|
||||
public void SetNeedClientUpdate()
|
||||
{
|
||||
if (_needClientUpdate || GetRemoveMode() != AuraRemoveMode.None)
|
||||
|
||||
@@ -684,7 +684,7 @@ namespace Game.Spells
|
||||
if (aurApp == null)
|
||||
aurApp = unitTarget._CreateAuraApplication(spellAura, 1u << (int)effectInfo.EffectIndex);
|
||||
else
|
||||
aurApp.UpdateApplyEffectMask(aurApp.GetEffectsToApply() | 1u << (int)effectInfo.EffectIndex, false);
|
||||
aurApp.AddEffectToApplyEffectMask(effectInfo.EffectIndex);
|
||||
}
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.UnlearnSpecialization)]
|
||||
|
||||
Reference in New Issue
Block a user