*Fix Demonic Empowerment.
*Some code optimisations. *Set formalCasterGuid for area auras correctly. --HG-- branch : trunk
This commit is contained in:
+1
-1
@@ -738,7 +738,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
|
|||||||
to prevent chain proc of these spells
|
to prevent chain proc of these spells
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (triggeredByAura && !triggeredByAura->GetParentAura()->CanProc())
|
if (triggeredByAura && !triggeredByAura->GetParentAura()->GetTarget()->CanProc())
|
||||||
{
|
{
|
||||||
m_canTrigger=false;
|
m_canTrigger=false;
|
||||||
}
|
}
|
||||||
|
|||||||
+24
-11
@@ -346,7 +346,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
|||||||
Aura::Aura(SpellEntry const* spellproto, uint32 effMask, int32 *currentBasePoints, Unit *target, Unit *caster, Item* castItem, Unit * formalCaster) :
|
Aura::Aura(SpellEntry const* spellproto, uint32 effMask, int32 *currentBasePoints, Unit *target, Unit *caster, Item* castItem, Unit * formalCaster) :
|
||||||
m_caster_guid(0), m_castItemGuid(castItem?castItem->GetGUID():0), m_target(target),
|
m_caster_guid(0), m_castItemGuid(castItem?castItem->GetGUID():0), m_target(target),
|
||||||
m_timeCla(1000), m_removeMode(AURA_REMOVE_BY_DEFAULT), m_AuraDRGroup(DIMINISHING_NONE),
|
m_timeCla(1000), m_removeMode(AURA_REMOVE_BY_DEFAULT), m_AuraDRGroup(DIMINISHING_NONE),
|
||||||
m_auraSlot(MAX_AURAS), m_auraLevel(1), m_procCharges(0), m_stackAmount(1),m_auraStateMask(0), m_updated(false), m_isRemoved(false), m_procDeep(0)
|
m_auraSlot(MAX_AURAS), m_auraLevel(1), m_procCharges(0), m_stackAmount(1),m_auraStateMask(0), m_updated(false), m_isRemoved(false)
|
||||||
{
|
{
|
||||||
assert(target);
|
assert(target);
|
||||||
|
|
||||||
@@ -685,6 +685,9 @@ void AreaAuraEffect::Update(uint32 diff)
|
|||||||
if(m_formalCasterGUID == m_target->GetGUID())
|
if(m_formalCasterGUID == m_target->GetGUID())
|
||||||
{
|
{
|
||||||
Unit* caster = m_target;
|
Unit* caster = m_target;
|
||||||
|
Unit * originalCaster = GetCaster();
|
||||||
|
if (!originalCaster)
|
||||||
|
m_target->RemoveAura(GetParentAura());
|
||||||
|
|
||||||
if( !caster->hasUnitState(UNIT_STAT_ISOLATED) )
|
if( !caster->hasUnitState(UNIT_STAT_ISOLATED) )
|
||||||
{
|
{
|
||||||
@@ -723,7 +726,7 @@ void AreaAuraEffect::Update(uint32 diff)
|
|||||||
|
|
||||||
for(std::list<Unit*>::iterator tIter = targets.begin(); tIter != targets.end(); tIter++)
|
for(std::list<Unit*>::iterator tIter = targets.begin(); tIter != targets.end(); tIter++)
|
||||||
{
|
{
|
||||||
if(Aura *aur = (*tIter)->GetAura(GetId(), m_formalCasterGUID))
|
if(Aura *aur = (*tIter)->GetAura(GetId(), GetCasterGUID()))
|
||||||
{
|
{
|
||||||
if(aur->HasEffect(GetEffIndex()))
|
if(aur->HasEffect(GetEffIndex()))
|
||||||
continue;
|
continue;
|
||||||
@@ -733,7 +736,7 @@ void AreaAuraEffect::Update(uint32 diff)
|
|||||||
bool skip = false;
|
bool skip = false;
|
||||||
for(Unit::AuraMap::iterator iter = (*tIter)->GetAuras().begin(); iter != (*tIter)->GetAuras().end();++iter)
|
for(Unit::AuraMap::iterator iter = (*tIter)->GetAuras().begin(); iter != (*tIter)->GetAuras().end();++iter)
|
||||||
{
|
{
|
||||||
bool samecaster = iter->second->GetCasterGUID() == m_formalCasterGUID;
|
bool samecaster = iter->second->GetCasterGUID() == GetCasterGUID();
|
||||||
if(spellmgr.IsNoStackSpellDueToSpell(GetId(), iter->first, samecaster))
|
if(spellmgr.IsNoStackSpellDueToSpell(GetId(), iter->first, samecaster))
|
||||||
{
|
{
|
||||||
skip = true;
|
skip = true;
|
||||||
@@ -750,7 +753,7 @@ void AreaAuraEffect::Update(uint32 diff)
|
|||||||
// recalculate basepoints for lower rank (all AreaAura spell not use custom basepoints?)
|
// recalculate basepoints for lower rank (all AreaAura spell not use custom basepoints?)
|
||||||
//if(actualSpellInfo != GetSpellProto())
|
//if(actualSpellInfo != GetSpellProto())
|
||||||
// actualBasePoints = actualSpellInfo->EffectBasePoints[m_effIndex];
|
// actualBasePoints = actualSpellInfo->EffectBasePoints[m_effIndex];
|
||||||
(*tIter)->AddAuraEffect(actualSpellInfo, GetEffIndex(), caster, &m_currentBasePoints);
|
(*tIter)->AddAuraEffect(actualSpellInfo, GetEffIndex(), caster, &m_currentBasePoints, originalCaster);
|
||||||
|
|
||||||
if(m_areaAuraType == AREA_AURA_ENEMY)
|
if(m_areaAuraType == AREA_AURA_ENEMY)
|
||||||
caster->CombatStart(*tIter);
|
caster->CombatStart(*tIter);
|
||||||
@@ -1507,8 +1510,10 @@ void AuraEffect::HandleAddModifier(bool apply, bool Real, bool changeAmount)
|
|||||||
|
|
||||||
((Player*)m_target)->AddSpellMod(m_spellmod, apply);
|
((Player*)m_target)->AddSpellMod(m_spellmod, apply);
|
||||||
|
|
||||||
|
// Auras with charges do not mod amount of passive auras
|
||||||
|
if (GetParentAura()->GetAuraCharges())
|
||||||
|
return;
|
||||||
// reapply some passive spells after add/remove related spellmods
|
// reapply some passive spells after add/remove related spellmods
|
||||||
//if (GetParentAura()->IsPassive())
|
|
||||||
// Warning: it is a dead loop if 2 auras each other amount-shouldn't happen
|
// Warning: it is a dead loop if 2 auras each other amount-shouldn't happen
|
||||||
switch (modOp)
|
switch (modOp)
|
||||||
{
|
{
|
||||||
@@ -4165,6 +4170,8 @@ void AuraEffect::HandleAuraModUseNormalSpeed(bool /*apply*/, bool Real, bool cha
|
|||||||
|
|
||||||
void AuraEffect::HandleModStateImmunityMask(bool apply, bool Real, bool /*changeAmount*/)
|
void AuraEffect::HandleModStateImmunityMask(bool apply, bool Real, bool /*changeAmount*/)
|
||||||
{
|
{
|
||||||
|
if (!Real)
|
||||||
|
return;
|
||||||
std::list <AuraType> immunity_list;
|
std::list <AuraType> immunity_list;
|
||||||
if (GetMiscValue() & (1<<10))
|
if (GetMiscValue() & (1<<10))
|
||||||
immunity_list.push_back(SPELL_AURA_MOD_STUN);
|
immunity_list.push_back(SPELL_AURA_MOD_STUN);
|
||||||
@@ -4206,6 +4213,8 @@ void AuraEffect::HandleModStateImmunityMask(bool apply, bool Real, bool /*change
|
|||||||
|
|
||||||
void AuraEffect::HandleModMechanicImmunity(bool apply, bool Real, bool /*changeAmount*/)
|
void AuraEffect::HandleModMechanicImmunity(bool apply, bool Real, bool /*changeAmount*/)
|
||||||
{
|
{
|
||||||
|
if (!Real)
|
||||||
|
return;
|
||||||
uint32 mechanic;
|
uint32 mechanic;
|
||||||
mechanic = 1 << GetMiscValue();
|
mechanic = 1 << GetMiscValue();
|
||||||
|
|
||||||
@@ -4280,14 +4289,18 @@ void AuraEffect::HandleModMechanicImmunity(bool apply, bool Real, bool /*changeA
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Heroic Fury (remove Intercept cooldown)
|
// Heroic Fury (remove Intercept cooldown)
|
||||||
if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER )
|
else if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER )
|
||||||
{
|
{
|
||||||
((Player*)m_target)->RemoveSpellCooldown(20252);
|
((Player*)m_target)->RemoveSpellCooldown(20252, true);
|
||||||
|
}
|
||||||
|
// Demonic Empowerment -- voidwalker -- missing movement impairing effects immunity
|
||||||
|
else if (GetId() == 54508)
|
||||||
|
{
|
||||||
|
if (apply)
|
||||||
|
m_target->RemoveMovementImpairingAuras();
|
||||||
|
|
||||||
WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8));
|
m_target->ApplySpellImmune(GetId(),IMMUNITY_STATE,SPELL_AURA_MOD_ROOT,apply);
|
||||||
data << uint32(20252);
|
m_target->ApplySpellImmune(GetId(),IMMUNITY_STATE,SPELL_AURA_MOD_DECREASE_SPEED,apply);
|
||||||
data << uint64(m_target->GetGUID());
|
|
||||||
((Player*)m_target)->GetSession()->SendPacket(&data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,18 +107,6 @@ class TRINITY_DLL_SPEC Aura
|
|||||||
bool IsRemoved() const { return m_isRemoved; }
|
bool IsRemoved() const { return m_isRemoved; }
|
||||||
void SetUpdated(bool val) { m_updated = val; }
|
void SetUpdated(bool val) { m_updated = val; }
|
||||||
|
|
||||||
bool CanProc() const { return !m_procDeep; }
|
|
||||||
void SetCantProc(bool apply)
|
|
||||||
{
|
|
||||||
if(apply)
|
|
||||||
++m_procDeep;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
assert(m_procDeep);
|
|
||||||
--m_procDeep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsPersistent() const;
|
bool IsPersistent() const;
|
||||||
bool IsAreaAura() const;
|
bool IsAreaAura() const;
|
||||||
bool IsAuraType(AuraType type) const;
|
bool IsAuraType(AuraType type) const;
|
||||||
@@ -169,7 +157,6 @@ class TRINITY_DLL_SPEC Aura
|
|||||||
AuraEffect * m_partAuras[3];
|
AuraEffect * m_partAuras[3];
|
||||||
|
|
||||||
uint32 m_procDamage; // used in aura proc code
|
uint32 m_procDamage; // used in aura proc code
|
||||||
int32 m_procDeep;
|
|
||||||
|
|
||||||
bool m_isDeathPersist:1;
|
bool m_isDeathPersist:1;
|
||||||
bool m_isRemovedOnShapeLost:1;
|
bool m_isRemovedOnShapeLost:1;
|
||||||
|
|||||||
@@ -1986,8 +1986,7 @@ void Spell::EffectTriggerSpell(uint32 i)
|
|||||||
// Vanish
|
// Vanish
|
||||||
case 18461:
|
case 18461:
|
||||||
{
|
{
|
||||||
m_caster->RemoveAurasByType(SPELL_AURA_MOD_ROOT);
|
m_caster->RemoveMovementImpairingAuras();
|
||||||
m_caster->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
|
|
||||||
m_caster->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
|
m_caster->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
|
||||||
|
|
||||||
// if this spell is given to NPC it must handle rest by it's own AI
|
// if this spell is given to NPC it must handle rest by it's own AI
|
||||||
@@ -2027,6 +2026,17 @@ void Spell::EffectTriggerSpell(uint32 i)
|
|||||||
m_TriggerSpells.push_back(spellInfo);
|
m_TriggerSpells.push_back(spellInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Demonic Empowerment -- succubus
|
||||||
|
case 54437:
|
||||||
|
{
|
||||||
|
unitTarget->RemoveMovementImpairingAuras();
|
||||||
|
unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STALKED);
|
||||||
|
unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STUN);
|
||||||
|
|
||||||
|
// Cast Lesser Invisibility
|
||||||
|
triggered_spell_id = 7870;
|
||||||
|
break;
|
||||||
|
}
|
||||||
// just skip
|
// just skip
|
||||||
case 23770: // Sayge's Dark Fortune of *
|
case 23770: // Sayge's Dark Fortune of *
|
||||||
// not exist, common cooldown can be implemented in scripts if need.
|
// not exist, common cooldown can be implemented in scripts if need.
|
||||||
@@ -4984,6 +4994,37 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
|||||||
if (AuraEffect * aur = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_WARLOCK, 0x2, 0, 0, m_caster->GetGUID()))
|
if (AuraEffect * aur = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_WARLOCK, 0x2, 0, 0, m_caster->GetGUID()))
|
||||||
aur->GetParentAura()->RefreshAura();
|
aur->GetParentAura()->RefreshAura();
|
||||||
return;
|
return;
|
||||||
|
// Demonic Empowerment
|
||||||
|
case 47193:
|
||||||
|
{
|
||||||
|
if(!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || !((Creature *)unitTarget)->isPet())
|
||||||
|
return;
|
||||||
|
CreatureInfo const * ci = objmgr.GetCreatureTemplate(unitTarget->GetEntry());
|
||||||
|
switch (ci->family)
|
||||||
|
{
|
||||||
|
case CREATURE_FAMILY_SUCCUBUS:
|
||||||
|
unitTarget->CastSpell(unitTarget, 54435, true);
|
||||||
|
break;
|
||||||
|
case CREATURE_FAMILY_VOIDWALKER:
|
||||||
|
{
|
||||||
|
SpellEntry const* spellInfo = sSpellStore.LookupEntry(54443);
|
||||||
|
int32 hp = unitTarget->GetMaxHealth() * m_caster->CalculateSpellDamage(spellInfo, 0, spellInfo->EffectBasePoints[0], unitTarget) /100;
|
||||||
|
unitTarget->CastCustomSpell(unitTarget, 54443,&hp, NULL, NULL,true);
|
||||||
|
//unitTarget->CastSpell(unitTarget, 54441, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CREATURE_FAMILY_FELGUARD:
|
||||||
|
unitTarget->CastSpell(unitTarget, 54508, true);
|
||||||
|
break;
|
||||||
|
case CREATURE_FAMILY_FELHUNTER:
|
||||||
|
unitTarget->CastSpell(unitTarget, 54509, true);
|
||||||
|
break;
|
||||||
|
case CREATURE_FAMILY_IMP:
|
||||||
|
unitTarget->CastSpell(unitTarget, 54444, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-11
@@ -82,7 +82,7 @@ Unit::Unit()
|
|||||||
: WorldObject(), i_motionMaster(this), m_ThreatManager(this), m_HostilRefManager(this)
|
: WorldObject(), i_motionMaster(this), m_ThreatManager(this), m_HostilRefManager(this)
|
||||||
, m_IsInNotifyList(false), m_Notified(false), IsAIEnabled(false), NeedChangeAI(false)
|
, m_IsInNotifyList(false), m_Notified(false), IsAIEnabled(false), NeedChangeAI(false)
|
||||||
, i_AI(NULL), i_disabledAI(NULL), m_removedAurasCount(0), m_Vehicle(NULL), m_transport(NULL)
|
, i_AI(NULL), i_disabledAI(NULL), m_removedAurasCount(0), m_Vehicle(NULL), m_transport(NULL)
|
||||||
, m_ControlledByPlayer(false)
|
, m_ControlledByPlayer(false), m_procDeep(0)
|
||||||
{
|
{
|
||||||
m_objectType |= TYPEMASK_UNIT;
|
m_objectType |= TYPEMASK_UNIT;
|
||||||
m_objectTypeId = TYPEID_UNIT;
|
m_objectTypeId = TYPEID_UNIT;
|
||||||
@@ -12040,16 +12040,16 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (triggerData.effMask)
|
if (triggerData.effMask)
|
||||||
{
|
|
||||||
procTriggered.push_front(triggerData);
|
procTriggered.push_front(triggerData);
|
||||||
if (procExtra & (PROC_EX_INTERNAL_TRIGGERED | PROC_EX_INTERNAL_CANT_PROC))
|
|
||||||
itr->second->SetCantProc(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nothing found
|
// Nothing found
|
||||||
if (procTriggered.empty())
|
if (procTriggered.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (procExtra & (PROC_EX_INTERNAL_TRIGGERED | PROC_EX_INTERNAL_CANT_PROC))
|
||||||
|
SetCantProc(true);
|
||||||
|
|
||||||
// Handle effects proceed this time
|
// Handle effects proceed this time
|
||||||
for(ProcTriggeredList::iterator i = procTriggered.begin(); i != procTriggered.end(); ++i)
|
for(ProcTriggeredList::iterator i = procTriggered.begin(); i != procTriggered.end(); ++i)
|
||||||
{
|
{
|
||||||
@@ -12217,8 +12217,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
|||||||
|
|
||||||
// Cleanup proc requirements
|
// Cleanup proc requirements
|
||||||
if (procExtra & (PROC_EX_INTERNAL_TRIGGERED | PROC_EX_INTERNAL_CANT_PROC))
|
if (procExtra & (PROC_EX_INTERNAL_TRIGGERED | PROC_EX_INTERNAL_CANT_PROC))
|
||||||
for(ProcTriggeredList::iterator i = procTriggered.begin(); i != procTriggered.end(); ++i)
|
SetCantProc(false);
|
||||||
i->aura->SetCantProc(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SpellSchoolMask Unit::GetMeleeDamageSchoolMask() const
|
SpellSchoolMask Unit::GetMeleeDamageSchoolMask() const
|
||||||
@@ -13761,7 +13760,7 @@ void Unit::AddAura(uint32 spellId, Unit* target)
|
|||||||
target->AddAura(Aur);
|
target->AddAura(Aur);
|
||||||
}
|
}
|
||||||
|
|
||||||
Aura * Unit::AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* caster, int32 * basePoints)
|
Aura * Unit::AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* caster, int32 * basePoints, Unit * formalCaster)
|
||||||
{
|
{
|
||||||
// can't do that for passive auras - they stack from same caster so there is no way to get exact aura which should get effect
|
// can't do that for passive auras - they stack from same caster so there is no way to get exact aura which should get effect
|
||||||
//assert (!IsPassiveSpell(spellInfo));
|
//assert (!IsPassiveSpell(spellInfo));
|
||||||
@@ -13772,7 +13771,7 @@ Aura * Unit::AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* c
|
|||||||
|
|
||||||
if (aur)
|
if (aur)
|
||||||
{
|
{
|
||||||
AuraEffect *aurEffect = CreateAuraEffect(aur, effIndex, basePoints, caster);
|
AuraEffect *aurEffect = CreateAuraEffect(aur, effIndex, basePoints, caster,NULL, formalCaster);
|
||||||
if (aurEffect && !aur->SetPartAura(aurEffect, effIndex))
|
if (aurEffect && !aur->SetPartAura(aurEffect, effIndex))
|
||||||
delete aurEffect;
|
delete aurEffect;
|
||||||
}
|
}
|
||||||
@@ -13782,10 +13781,10 @@ Aura * Unit::AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* c
|
|||||||
{
|
{
|
||||||
int32 amount[3];
|
int32 amount[3];
|
||||||
amount[effIndex] = *basePoints;
|
amount[effIndex] = *basePoints;
|
||||||
aur = new Aura(spellInfo, 1<<effIndex, amount, this ,caster);
|
aur = new Aura(spellInfo, 1<<effIndex, amount, this ,caster, NULL,formalCaster);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
aur = new Aura(spellInfo, 1<<effIndex, NULL, this ,caster);
|
aur = new Aura(spellInfo, 1<<effIndex, NULL, this ,caster, NULL,formalCaster);
|
||||||
|
|
||||||
if(!AddAura(aur))
|
if(!AddAura(aur))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
+15
-1
@@ -1188,7 +1188,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
|||||||
void CastSpell(GameObject *go, uint32 spellId, bool triggered, Item *castItem = NULL, AuraEffect* triggeredByAura = NULL, uint64 originalCaster = 0);
|
void CastSpell(GameObject *go, uint32 spellId, bool triggered, Item *castItem = NULL, AuraEffect* triggeredByAura = NULL, uint64 originalCaster = 0);
|
||||||
void AddAura(uint32 spellId, Unit *target);
|
void AddAura(uint32 spellId, Unit *target);
|
||||||
void HandleAuraEffect(AuraEffect * aureff, bool apply);
|
void HandleAuraEffect(AuraEffect * aureff, bool apply);
|
||||||
Aura *AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* caster, int32 * basePoints=NULL);
|
Aura *AddAuraEffect(const SpellEntry * spellInfo, uint8 effIndex, Unit* caster, int32 * basePoints=NULL, Unit * formalCaster=NULL);
|
||||||
|
|
||||||
bool IsDamageToThreatSpell(SpellEntry const * spellInfo) const;
|
bool IsDamageToThreatSpell(SpellEntry const * spellInfo) const;
|
||||||
|
|
||||||
@@ -1607,6 +1607,19 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
|||||||
// group updates
|
// group updates
|
||||||
void UpdateAuraForGroup(uint8 slot);
|
void UpdateAuraForGroup(uint8 slot);
|
||||||
|
|
||||||
|
// proc trigger system
|
||||||
|
bool CanProc(){return !m_procDeep;}
|
||||||
|
void SetCantProc( bool apply)
|
||||||
|
{
|
||||||
|
if(apply)
|
||||||
|
++m_procDeep;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
assert(m_procDeep);
|
||||||
|
--m_procDeep;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// pet auras
|
// pet auras
|
||||||
typedef std::set<PetAura const*> PetAuraSet;
|
typedef std::set<PetAura const*> PetAuraSet;
|
||||||
PetAuraSet m_petAuras;
|
PetAuraSet m_petAuras;
|
||||||
@@ -1673,6 +1686,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
|||||||
|
|
||||||
AuraMap m_Auras;
|
AuraMap m_Auras;
|
||||||
uint32 m_removedAurasCount;
|
uint32 m_removedAurasCount;
|
||||||
|
int32 m_procDeep;
|
||||||
|
|
||||||
typedef std::list<uint64> DynObjectGUIDs;
|
typedef std::list<uint64> DynObjectGUIDs;
|
||||||
DynObjectGUIDs m_dynObjGUIDs;
|
DynObjectGUIDs m_dynObjGUIDs;
|
||||||
|
|||||||
Reference in New Issue
Block a user