[10462] Implement spell 6495

Also implement proper work CMSG_FAR_SIGHT.
This packet control switch view point from far sight object to caster
and back wihtout modify far sight object seelction.
This commit is contained in:
VladimirMangos 2010-09-10 05:20:10 +04:00
parent 1341345216
commit aa90aa8fdf
5 changed files with 51 additions and 22 deletions

View file

@ -2089,19 +2089,24 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
case SPELLFAMILY_SHAMAN:
{
// Tidal Force
if (GetId() == 55198)
switch(GetId())
{
// apply max stack bufs
SpellEntry const* buffEntry = sSpellStore.LookupEntry(55166);
if (!buffEntry)
return;
case 55198: // Tidal Force
{
// apply max stack bufs
SpellEntry const* buffEntry = sSpellStore.LookupEntry(55166);
if (!buffEntry)
return;
for(uint32 k = 0; k < buffEntry->StackAmount; ++k)
target->CastSpell(target, buffEntry, true, NULL, this);
for(uint32 k = 0; k < buffEntry->StackAmount; ++k)
target->CastSpell(target, buffEntry, true, NULL, this);
return;
}
}
// Earth Shield
else if ((GetSpellProto()->SpellFamilyFlags & UI64LIT(0x40000000000)))
if ((GetSpellProto()->SpellFamilyFlags & UI64LIT(0x40000000000)))
{
// prevent double apply bonuses
if (target->GetTypeId() != TYPEID_PLAYER || !((Player*)target)->GetSession()->PlayerLoading())
@ -2621,7 +2626,26 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
break;
case SPELLFAMILY_SHAMAN:
{
switch(GetId())
{
case 6495: // Sentry Totem
{
if (target->GetTypeId() != TYPEID_PLAYER)
return;
Totem* totem = target->GetTotem(TOTEM_SLOT_AIR);
if (totem && apply)
((Player*)target)->GetCamera().SetView(totem);
else
((Player*)target)->GetCamera().ResetView(totem);
return;
}
}
break;
}
}
// pet auras