aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-07-23 01:22:46 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-07-23 01:22:46 +0200
commit41ebf1493c3b48f7cba3767b3e3b00e4f6eedea1 (patch)
tree970873ad801dd3f3c0f038dc25ba0945220ff453
parenta94bbf34808c3a05cb6c4c889e3f890e4bec74a1 (diff)
Core/Spells: Fix shaman talent "Totemic Wrath" and small cleanup
-rw-r--r--src/server/game/AI/CoreAI/TotemAI.cpp9
-rw-r--r--src/server/game/Entities/Totem/Totem.cpp14
-rw-r--r--src/server/game/Entities/Totem/Totem.h9
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
{