*Fix per-caster aura state based on [8218] (Author: VladimirMangos;almost nothing left from original patch):
*Fixes all per caster aurastates instead of only conflagrate *Adds a holder for aura state auras for speedup search *Save some memory space by removing m_auraStateMask from aura class. --HG-- branch : trunk
This commit is contained in:
+3
-1
@@ -1023,6 +1023,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
typedef std::set<Unit*> ControlList;
|
||||
typedef std::pair<uint32, uint8> spellEffectPair;
|
||||
typedef std::multimap<uint32, Aura*> AuraMap;
|
||||
typedef std::multimap<AuraState, Aura*> AuraStateAurasMap;
|
||||
typedef std::list<AuraEffect *> AuraEffectList;
|
||||
typedef std::list<Aura *> AuraList;
|
||||
typedef std::list<DiminishingReturn> Diminishing;
|
||||
@@ -1658,6 +1659,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
uint32 CalculateDamage(WeaponAttackType attType, bool normalized);
|
||||
float GetAPMultiplier(WeaponAttackType attType, bool normalized);
|
||||
void ModifyAuraState(AuraState flag, bool apply);
|
||||
uint32 BuildAuraStateUpdateForTarget(Unit * target) const;
|
||||
bool HasAuraState(AuraState flag, SpellEntry const *spellProto = NULL, Unit * Caster = NULL) const ;
|
||||
void UnsummonAllTotems();
|
||||
Unit* SelectMagnetTarget(Unit *victim, SpellEntry const *spellInfo = NULL);
|
||||
@@ -1855,12 +1857,12 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
AuraList m_scAuras; // casted singlecast auras
|
||||
AuraList m_interruptableAuras;
|
||||
AuraList m_removedAuras;
|
||||
AuraStateAurasMap m_auraStateAuras; // Used for improve performance of aura state checks on aura apply/remove
|
||||
uint32 m_interruptMask;
|
||||
|
||||
float m_auraModifiersGroup[UNIT_MOD_END][MODIFIER_TYPE_END];
|
||||
float m_weaponDamage[MAX_ATTACK][2];
|
||||
bool m_canModifyStats;
|
||||
//std::list< spellEffectPair > AuraSpells[TOTAL_AURAS]; // TODO: use this if ok for mem
|
||||
VisibleAuraMap m_visibleAuras;
|
||||
|
||||
float m_speed_rate[MAX_MOVE_TYPE];
|
||||
|
||||
Reference in New Issue
Block a user