From bbf86641a1c35fcc66de30d7a79175c31effde88 Mon Sep 17 00:00:00 2001 From: Rat Date: Sun, 26 Sep 2010 20:48:25 +0200 Subject: Core/Scripts/SmartAI: removed test code Core/CreatureTextMgr: added reload command handle text from DB handle grouped texts handle repeatable/single texts based on probability todo: sound/emote, code cleanup --HG-- branch : trunk --- src/server/game/Texts/CreatureTextMgr.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/server/game/Texts/CreatureTextMgr.h') diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h index 11ba84f691b..70ad8b6f9b0 100644 --- a/src/server/game/Texts/CreatureTextMgr.h +++ b/src/server/game/Texts/CreatureTextMgr.h @@ -52,9 +52,14 @@ enum TextRange -typedef std::vector CreatureTextGroup; //texts in a group -typedef UNORDERED_MAP CreatureTextHolder; //groups for a creature -typedef UNORDERED_MAP CreatureTextMap; //all creatures +typedef std::vector CreatureTextGroup; //texts in a group +typedef UNORDERED_MAP CreatureTextHolder; //groups for a creature by groupid +typedef UNORDERED_MAP CreatureTextMap; //all creatures by entry + +//used for handling non-repeatable random texts +typedef std::vector CreatureTextRepeatIds; +typedef UNORDERED_MAP CreatureTextRepeatGroup; +typedef UNORDERED_MAP CreatureTextRepeatMap;//guid based class CreatureTextMgr { @@ -65,12 +70,17 @@ class CreatureTextMgr void LoadCreatureTexts(); CreatureTextMap const& GetTextMap() const { return mTextMap; } - void SendChat(WorldObject* source, char const* text, ChatType msgtype = CHAT_TYPE_SAY, Language language = LANG_UNIVERSAL, uint64 whisperGuid = 0, TextRange range = TEXT_RANGE_NORMAL) const; - + void SendChat(Creature* source, uint8 textGroup, uint64 whisperGuid = 0, ChatType msgtype = CHAT_TYPE_SAY, Language language = LANG_UNIVERSAL, TextRange range = TEXT_RANGE_NORMAL); + void SendChatString(WorldObject* source, char const* text, ChatType msgtype = CHAT_TYPE_SAY, Language language = LANG_UNIVERSAL, uint64 whisperGuid = 0, TextRange range = TEXT_RANGE_NORMAL) const; + private: - CreatureTextMap mTextMap; + CreatureTextRepeatIds GetRepeatGroup(Creature* source, uint8 textGroup); + void SetRepeatId(Creature* source, uint8 textGroup, uint8 id); void BuildMonsterChat(WorldPacket *data, WorldObject* source, ChatType msgtype, char const* text, Language language, uint64 whisperGuid) const; void SendChatPacket(WorldPacket *data, WorldObject* source, ChatType msgtype, uint64 whisperGuid, TextRange range) const; + + CreatureTextMap mTextMap; + CreatureTextRepeatMap mTextRepeatMap; }; #define sCreatureTextMgr (*ACE_Singleton::instance()) -- cgit v1.2.3