Core/Spells: Check to see if a totem has a passive aura. If so: Add the aura directly, if not: Cast the spell.

Fixes #3264
Fixes #3294
This commit is contained in:
Liberate
2011-10-19 14:00:59 +02:00
parent b268b51d0e
commit d7e0190726

View File

@@ -86,9 +86,15 @@ void Totem::InitStats(uint32 duration)
void Totem::InitSummon()
{
// use AddAura instead of CastSpell - this in fact should be an AddSpell equivalent for creatures, but nothing like that exists so far.
if (m_type == TOTEM_PASSIVE)
AddAura(GetSpell(), this);
{
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(GetSpell());
// use AddAura instead of CastSpell if it's a passive aura - this in fact should be an AddSpell equivalent for creatures, but nothing like that exists so far.
if (spellInfo->Attributes & SPELL_ATTR0_PASSIVE)
AddAura(spellInfo->Id, this);
else
CastSpell(this, spellInfo->Id, true);
}
// Some totems can have both instant effect and passive spell
if (GetSpell(1))