aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorShauren <none@none>2010-12-26 16:35:29 +0100
committerShauren <none@none>2010-12-26 16:35:29 +0100
commit79070ca820e1bd0cf311a9c1a10b145740eb9fd8 (patch)
treea123808d614947dc09712213661dc0bde1a5590f /src/server/game/Spells/SpellEffects.cpp
parent821c0f6c42efd4d194763a8e55f68b89af463a2d (diff)
Scripts/Serpentshrine Cavern: Fixed "The Lurker Above" achievement and removed hacks for the event
--HG-- branch : trunk
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 60d3fe5704c..a1406a5ab18 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2631,12 +2631,19 @@ void Spell::EffectEnergizePct(SpellEffIndex effIndex)
void Spell::SendLoot(uint64 guid, LootType loottype)
{
- Player* player = (Player*)m_caster;
+ Player* player = m_caster->ToPlayer();
if (!player)
return;
if (gameObjTarget)
{
+ // special case, already has GossipHello inside so return and avoid calling twice
+ if (gameObjTarget->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
+ {
+ gameObjTarget->Use(m_caster);
+ return;
+ }
+
if (sScriptMgr->OnGossipHello(player, gameObjTarget))
return;
@@ -2662,10 +2669,6 @@ void Spell::SendLoot(uint64 guid, LootType loottype)
gameObjTarget->TriggeringLinkedGameObject(trapEntry,m_caster);
return;
- case GAMEOBJECT_TYPE_GOOBER:
- gameObjTarget->Use(m_caster);
- return;
-
case GAMEOBJECT_TYPE_CHEST:
// TODO: possible must be moved to loot release (in different from linked triggering)
if (gameObjTarget->GetGOInfo()->chest.eventId)