aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Grids/ObjectGridLoader.cpp5
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp2
-rw-r--r--src/server/scripts/Commands/cs_message.cpp4
-rw-r--r--src/server/scripts/World/npcs_special.cpp26
4 files changed, 6 insertions, 31 deletions
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp
index dd54836edee..5de63d91649 100644
--- a/src/server/game/Grids/ObjectGridLoader.cpp
+++ b/src/server/game/Grids/ObjectGridLoader.cpp
@@ -210,14 +210,15 @@ void ObjectGridUnloader::Visit(GridRefManager<T> &m)
void ObjectGridStoper::Visit(CreatureMapType &m)
{
// stop any fights at grid de-activation and remove dynobjects created at cast by creatures
- for (CreatureMapType::iterator iter=m.begin(); iter != m.end(); ++iter)
+ for (CreatureMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
iter->getSource()->RemoveAllDynObjects();
if (iter->getSource()->isInCombat())
{
iter->getSource()->CombatStop();
iter->getSource()->DeleteThreatList();
- iter->getSource()->AI()->EnterEvadeMode();
+ if (iter->getSource()->IsAIEnabled)
+ iter->getSource()->AI()->EnterEvadeMode();
}
}
}
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index ca79c1c350a..2c41f6175d0 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -321,7 +321,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
}
Player* receiver = sObjectAccessor->FindPlayerByName(to);
- if (!receiver)
+ if (!receiver || (!receiver->isAcceptWhispers() && receiver->GetSession()->HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) && !receiver->IsInWhisperWhiteList(sender->GetGUID())))
{
SendPlayerNotFoundNotice(to);
return;
diff --git a/src/server/scripts/Commands/cs_message.cpp b/src/server/scripts/Commands/cs_message.cpp
index 66f55b85c1c..218d16d8b68 100644
--- a/src/server/scripts/Commands/cs_message.cpp
+++ b/src/server/scripts/Commands/cs_message.cpp
@@ -213,12 +213,12 @@ public:
if (Player* player = sObjectAccessor->FindPlayerByName(name))
{
handler->GetSession()->GetPlayer()->RemoveFromWhisperWhiteList(player->GetGUID());
- handler->PSendSysMessage(LANG_COMMAND_WHISPEROFFPLAYER, name);
+ handler->PSendSysMessage(LANG_COMMAND_WHISPEROFFPLAYER, name.c_str());
return true;
}
else
{
- handler->PSendSysMessage(LANG_PLAYER_NOT_FOUND, name);
+ handler->PSendSysMessage(LANG_PLAYER_NOT_FOUND, name.c_str());
handler->SetSentErrorMessage(true);
return false;
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 43dbe778d6d..4c913d8c42e 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -2951,31 +2951,6 @@ public:
};
};
-/*######
-## npc_generic_harpoon_cannon
-######*/
-
-class npc_generic_harpoon_cannon : public CreatureScript
-{
-public:
- npc_generic_harpoon_cannon() : CreatureScript("npc_generic_harpoon_cannon") { }
-
- struct npc_generic_harpoon_cannonAI : public ScriptedAI
- {
- npc_generic_harpoon_cannonAI(Creature* creature) : ScriptedAI(creature) {}
-
- void Reset()
- {
- me->SetUnitMovementFlags(MOVEMENTFLAG_ROOT);
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const
- {
- return new npc_generic_harpoon_cannonAI(creature);
- }
-};
-
void AddSC_npcs_special()
{
new npc_air_force_bots();
@@ -3007,5 +2982,4 @@ void AddSC_npcs_special()
new npc_earth_elemental();
new npc_firework();
new npc_spring_rabbit();
- new npc_generic_harpoon_cannon();
}