diff options
| -rw-r--r-- | src/server/game/AI/CoreAI/TotemAI.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Entities/Totem/Totem.cpp | 14 | ||||
| -rw-r--r-- | src/server/game/Entities/Totem/Totem.h | 9 |
3 files changed, 10 insertions, 22 deletions
diff --git a/src/server/game/AI/CoreAI/TotemAI.cpp b/src/server/game/AI/CoreAI/TotemAI.cpp index d8644c50b35..358baa0c5ad 100644 --- a/src/server/game/AI/CoreAI/TotemAI.cpp +++ b/src/server/game/AI/CoreAI/TotemAI.cpp @@ -97,13 +97,4 @@ void TotemAI::UpdateAI(uint32 /*diff*/) void TotemAI::AttackStart(Unit* /*victim*/) { - // Sentry totem sends ping on attack - if (me->GetEntry() == SENTRY_TOTEM_ENTRY && me->GetOwner()->GetTypeId() == TYPEID_PLAYER) - { - WorldPacket data(MSG_MINIMAP_PING, (8+4+4)); - data << me->GetGUID(); - data << me->GetPositionX(); - data << me->GetPositionY(); - ((Player*)me->GetOwner())->GetSession()->SendPacket(&data); - } } diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp index 3b283ca39c2..efdf386f80e 100644 --- a/src/server/game/Entities/Totem/Totem.cpp +++ b/src/server/game/Entities/Totem/Totem.cpp @@ -77,9 +77,6 @@ void Totem::InitStats(uint32 duration) if (totemSpell->CalcCastTime()) // If spell has cast time -> its an active totem m_type = TOTEM_ACTIVE; - if (GetEntry() == SENTRY_TOTEM_ENTRY) - SetReactState(REACT_AGGRESSIVE); - m_duration = duration; SetLevel(GetOwner()->getLevel()); @@ -88,13 +85,14 @@ void Totem::InitStats(uint32 duration) void Totem::InitSummon() { if (m_type == TOTEM_PASSIVE && GetSpell()) - { CastSpell(this, GetSpell(), true); - } // Some totems can have both instant effect and passive spell if (GetSpell(1)) CastSpell(this, GetSpell(1), true); + + if (m_Properties->Id == SUMMON_TYPE_TOTEM_FIRE && GetOwner()->HasAura(SPELL_TOTEMIC_WRATH_TALENT)) + CastSpell(this, SPELL_TOTEMIC_WRATH, true); } void Totem::UnSummon(uint32 msTime) @@ -120,11 +118,7 @@ void Totem::UnSummon(uint32 msTime) GetOwner()->RemoveAurasDueToSpell(GetSpell(), GetGUID()); - // Remove Sentry Totem Aura - if (GetEntry() == SENTRY_TOTEM_ENTRY) - GetOwner()->RemoveAurasDueToSpell(SENTRY_TOTEM_SPELLID); - - //remove aura all party members too + // remove aura all party members too if (Player* owner = GetOwner()->ToPlayer()) { owner->SendAutoRepeatCancel(this); diff --git a/src/server/game/Entities/Totem/Totem.h b/src/server/game/Entities/Totem/Totem.h index 565d13cd0d0..61bd504d55c 100644 --- a/src/server/game/Entities/Totem/Totem.h +++ b/src/server/game/Entities/Totem/Totem.h @@ -28,9 +28,12 @@ enum TotemType TOTEM_STATUE = 2 // copied straight from MaNGOS, may need more implementation to work }; // Some Totems cast spells that are not in creature DB -#define SENTRY_TOTEM_SPELLID 6495 - -#define SENTRY_TOTEM_ENTRY 3968 +enum TotemSpells +{ + // Totemic Wrath + SPELL_TOTEMIC_WRATH_TALENT = 77746, + SPELL_TOTEMIC_WRATH = 77747 +}; class Totem : public Minion { |
