Core/Spells: Revert d7e0190726 and solve it differently.

All totems have TARGET_UNIT_CASTER as implicit target except from Wrath of Air and Flametongue.
To make Glyph of Totem of Wrath work again modified these 2 totems to be the same as the other totems.
This still makes the 2 totems not stackable.
Fixes #3293
This commit is contained in:
Liberate
2011-10-19 18:35:21 +02:00
parent be0b2fcf97
commit 1431a5d15c
2 changed files with 19 additions and 6 deletions
+1 -6
View File
@@ -88,12 +88,7 @@ void Totem::InitSummon()
{ {
if (m_type == TOTEM_PASSIVE) if (m_type == TOTEM_PASSIVE)
{ {
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(GetSpell()); CastSpell(this, GetSpell(), true);
// 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 // Some totems can have both instant effect and passive spell
+18
View File
@@ -3179,6 +3179,24 @@ void SpellMgr::LoadDbcDataCorrections()
case 6474: // Earthbind Totem (instant pulse) case 6474: // Earthbind Totem (instant pulse)
spellInfo->AttributesEx5 |= SPELL_ATTR5_START_PERIODIC_AT_APPLY; spellInfo->AttributesEx5 |= SPELL_ATTR5_START_PERIODIC_AT_APPLY;
break; break;
case 2895: // Wrath of Air Totem rank 1 (Aura)
case 68933: // Wrath of Air Totem rank 2 (Aura)
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER;
spellInfo->EffectImplicitTargetB[0] = 0;
break;
case 52109: // Flametongue Totem rank 1 (Aura)
case 52110: // Flametongue Totem rank 2 (Aura)
case 52111: // Flametongue Totem rank 3 (Aura)
case 52112: // Flametongue Totem rank 4 (Aura)
case 52113: // Flametongue Totem rank 5 (Aura)
case 58651: // Flametongue Totem rank 6 (Aura)
case 58654: // Flametongue Totem rank 7 (Aura)
case 58655: // Flametongue Totem rank 8 (Aura)
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER;
spellInfo->EffectImplicitTargetA[1] = TARGET_UNIT_CASTER;
spellInfo->EffectImplicitTargetB[0] = 0;
spellInfo->EffectImplicitTargetB[1] = 0;
break;
case 53241: // Marked for Death (Rank 1) case 53241: // Marked for Death (Rank 1)
case 53243: // Marked for Death (Rank 2) case 53243: // Marked for Death (Rank 2)
case 53244: // Marked for Death (Rank 3) case 53244: // Marked for Death (Rank 3)