diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Texts/CreatureTextMgr.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Texts/CreatureTextMgr.h | 3 | ||||
-rw-r--r-- | src/server/game/Texts/CreatureTextMgrImpl.h | 6 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp index 3f2cdb660eb..86a6aae3306 100644 --- a/src/server/game/Texts/CreatureTextMgr.cpp +++ b/src/server/game/Texts/CreatureTextMgr.cpp @@ -112,7 +112,7 @@ void CreatureTextMgr::LoadCreatureTexts() } } - if (temp.TextRange > TEXT_RANGE_WORLD) + if (temp.TextRange > TEXT_RANGE_PERSONAL) { TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has incorrect TextRange %u.", temp.creatureId, temp.groupId, temp.id, temp.TextRange); temp.TextRange = TEXT_RANGE_NORMAL; @@ -333,6 +333,12 @@ void CreatureTextMgr::SendNonChatPacket(WorldObject* source, WorldPacket const* player->SendDirectMessage(data); return; } + case TEXT_RANGE_PERSONAL: + if (!whisperTarget || !whisperTarget->IsPlayer()) + return; + + whisperTarget->ToPlayer()->SendDirectMessage(data); + return; case TEXT_RANGE_NORMAL: default: break; diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h index 3c6adfdd9eb..72f3e99cf62 100644 --- a/src/server/game/Texts/CreatureTextMgr.h +++ b/src/server/game/Texts/CreatureTextMgr.h @@ -36,7 +36,8 @@ enum CreatureTextRange TEXT_RANGE_AREA = 1, TEXT_RANGE_ZONE = 2, TEXT_RANGE_MAP = 3, - TEXT_RANGE_WORLD = 4 + TEXT_RANGE_WORLD = 4, + TEXT_RANGE_PERSONAL = 5 }; struct CreatureTextEntry diff --git a/src/server/game/Texts/CreatureTextMgrImpl.h b/src/server/game/Texts/CreatureTextMgrImpl.h index a4d368457ad..19082aedcc6 100644 --- a/src/server/game/Texts/CreatureTextMgrImpl.h +++ b/src/server/game/Texts/CreatureTextMgrImpl.h @@ -145,6 +145,12 @@ void CreatureTextMgr::SendChatPacket(WorldObject* source, Builder const& builder localizer(player); return; } + case TEXT_RANGE_PERSONAL: + if (!whisperTarget || !whisperTarget->IsPlayer()) + return; + + localizer(whisperTarget->ToPlayer()); + return; case TEXT_RANGE_NORMAL: default: break; |