diff options
author | Rat <none@none> | 2010-09-20 21:58:14 +0200 |
---|---|---|
committer | Rat <none@none> | 2010-09-20 21:58:14 +0200 |
commit | cf93313316daf39465d36d08ca6a7c8e20ab1ce0 (patch) | |
tree | fa8682d76fdef99c88e67c0b91f7ad5cf5e9423f | |
parent | f69c252f1dacd7c985eb7ce1a360384690fcb2dd (diff) |
Scripts/DB_Scripts: enable DB scripts to use CHAT_MSG_RAID_BOSS_WHISPER (42) as chat type
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Maps/Map.cpp | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index eef8d4b6a85..34c122109e1 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -4745,7 +4745,7 @@ void ObjectMgr::LoadScripts(ScriptsType type) { case SCRIPT_COMMAND_TALK: { - if (tmp.datalong > CHAT_TYPE_WHISPER) + if (tmp.datalong > CHAT_TYPE_WHISPER && tmp.datalong != CHAT_MSG_RAID_BOSS_WHISPER) { sLog.outErrorDb("Table `%s` has invalid talk type (datalong = %u) in SCRIPT_COMMAND_TALK for script id %u", tableName.c_str(),tmp.datalong,tmp.id); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 1bb697bc5a8..085c9957c66 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3030,7 +3030,7 @@ void Map::ScriptsProcess() switch (step.script->command) { case SCRIPT_COMMAND_TALK: - if (step.script->datalong > CHAT_TYPE_WHISPER) + if (step.script->datalong > CHAT_TYPE_WHISPER && step.script->datalong != CHAT_MSG_RAID_BOSS_WHISPER) { sLog.outError("%s invalid chat type (%u) specified, skipping.", step.script->GetDebugInfo().c_str(), step.script->datalong); break; @@ -3096,6 +3096,14 @@ void Map::ScriptsProcess() } cSource->Whisper(step.script->dataint, targetGUID); break; + case CHAT_MSG_RAID_BOSS_WHISPER: //42 + if (!targetGUID || !IS_PLAYER_GUID(targetGUID)) + { + sLog.outError("%s attempt to raidbosswhisper to non-player unit, skipping.", step.script->GetDebugInfo().c_str()); + break; + } + cSource->MonsterWhisper(step.script->dataint, targetGUID, true); + break; default: break; // must be already checked at load } |