Allow stack some auras from some caster in one
Move apply/remove aura state on apply/remove aura (on 1 add / on last remove)
Correctly fill aura flag and send duration update to client
Not use m_procCharges for store satack amount, used m_stackAmount
Fixes in HandlePeriodicDamage (use m_stackAmount, fix formulas to 303, optimisation)
Fixes in Spell::EffectSchoolDMG (use m_stackAmount, fix formulas to 303)
Remove unused uint32 m_PeriodicEventId from aura struct
Add Unit::RemoveSingleSpellAurasFromStack for remove one Spell auras from stack
Add Aura::RefreshAura() for refresh aura duration
Signed-off-by: DiSlord <dislord@nomail.com>
Move to protected: need use SetAuraCharges, GetAuraCharges, DropAuraCharge
Now m_procCharges == 0 if infinite charges, and > 0 for limit
Remove not need UpdateAuraCharges()
Signed-off-by: DiSlord <dislord@nomail.com>
* Implement 256 SPELL_AURA_NO_REAGENT_USE aura
* Move no reagent check to Player::CanNoReagentCast
* Add some func for get/check SpellClassMask (used in some new aura/effect)
Signed-off-by: DiSlord <dislord@nomail.com>
* Add support > 64 bit spellFamily mask
* Remove not used fields in SpellModifier
* Remove not used (and not correct work vs charges) GetTotalFlatMods, GetTotalPctMods
* Use DBC based data for spell_affect
* More better work SPELL_AURA_ADD_TARGET_TRIGGER aura
Signed-off-by: DiSlord <dislord@nomail.com>
Including fix _SCallback for 3 params, triggred mode correct call for .cast back and .cast target.
Remove outdated code for support old 19421 (and ranks) implementation in client data.