*Correct some trap proc checks (do not threat trap cast as triggered)

*Fix a typo causing freeze.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-07-30 19:07:51 +02:00
parent d193b687e8
commit a2701d589d
2 changed files with 4 additions and 1 deletions
+3
View File
@@ -797,6 +797,9 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && (m_spellInfo->SpellFamilyFlags[1] & 0x00002000 || m_spellInfo->SpellFamilyFlags[0] & 0x1C))
{
m_procAttacker |= PROC_FLAG_ON_TRAP_ACTIVATION;
// Trigger only from spells originally casted by hunter(trap activation) to prevent multiple trigger from trap triggered spells
if (m_originalCasterGUID != m_caster->GetGUID() && m_originalCasterGUID)
return;
}
/*
Effects which are result of aura proc from triggered spell cannot proc
+1 -1
View File
@@ -4229,7 +4229,7 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
{
bool canBreak = false;
// Get mask of all aurastates from remaining auras
for(AuraStateAurasMap::iterator itr = m_auraStateAuras.lower_bound(auraState); itr != m_auraStateAuras.upper_bound(auraState) || !(auraStateFound && canBreak);)
for(AuraStateAurasMap::iterator itr = m_auraStateAuras.lower_bound(auraState); itr != m_auraStateAuras.upper_bound(auraState) && !(auraStateFound && canBreak);)
{
if (itr->second == Aur)
{