--HG--
branch : trunk
This commit is contained in:
Blaymoira
2009-01-18 19:48:55 +01:00
2 changed files with 13 additions and 10 deletions
+2 -1
View File
@@ -3579,7 +3579,8 @@ void Spell::EffectSummonGuardian(uint32 i)
}
// trigger
if(!m_originalCaster || m_originalCaster->GetTypeId() != TYPEID_PLAYER /*m_spellInfo->Id == 40276*/)
if(!m_originalCaster || m_originalCaster->GetTypeId() != TYPEID_PLAYER
&& !((Creature*)m_originalCaster)->isTotem()/*m_spellInfo->Id == 40276*/)
{
EffectSummonWild(i);
return;
+11 -9
View File
@@ -258,8 +258,9 @@ Unit::~Unit()
if(m_charmInfo) delete m_charmInfo;
RemoveAllAuras();
assert(m_Auras.begin() == m_Auras.end());
sLog.outDetail("Deconstruct Unit Entry = %u", GetEntry());
if(m_scAuras.size())
sLog.outError("Unit %u has sc auras during deconstruction", GetEntry());
}
void Unit::Update( uint32 p_time )
@@ -4662,13 +4663,6 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
Aur->SetStackAmount(0);
Aur->_RemoveAura();
delete Aur;
if(caster_channeled)
RemoveAurasAtChanneledTarget (AurSpellInfo);
if(statue)
statue->UnSummon();
if(mode != AURA_REMOVE_BY_STACK)
{
@@ -4684,6 +4678,14 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
}
}
delete Aur;
if(caster_channeled)
RemoveAurasAtChanneledTarget (AurSpellInfo);
if(statue)
statue->UnSummon();
// only way correctly remove all auras from list
if( m_Auras.empty() )
i = m_Auras.end();