diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-08-31 00:59:04 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-18 17:50:00 +0100 |
| commit | bbbf8df8e52693699059669ffaecd512ccd02657 (patch) | |
| tree | 4d4ace8beedc10c86f561e9414629a56d85a7cca /src/server/game/AI | |
| parent | f94dc007aedadd0e7f1d9f72702892ca5ec4b78d (diff) | |
Entities/Gossip: The Big One™ that gets rid of all uses of The Bad™ and The Ugly™, e.g. gossip preprocessor macros, and replaces them with the new-and-shiny gossip functions.
(cherry picked from commit d55426f5b4e431e6d398b1e2dbbd25f7387328f2)
Diffstat (limited to 'src/server/game/AI')
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedGossip.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedGossip.h | 26 | ||||
| -rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 4 |
3 files changed, 6 insertions, 28 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp index 0c4d372dd66..4a54bdb214c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp @@ -21,9 +21,9 @@ void ClearGossipMenuFor(Player* player) { player->PlayerTalkClass->ClearMenus(); } // Using provided text, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, "", 0); } +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, "", 0); } // Using provided texts, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, popupText, popupMoney, coded); } +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, popupText, popupMoney, coded); } // Uses gossip item info from DB void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action); } void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const& guid) { player->PlayerTalkClass->SendGossipMenu(npcTextID, guid); } diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.h b/src/server/game/AI/ScriptedAI/ScriptedGossip.h index 422775c1856..64739856793 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.h +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.h @@ -82,37 +82,15 @@ enum eTradeskill GOSSIP_SENDER_SEC_STABLEMASTER = 10 }; -class Creature; void TC_GAME_API ClearGossipMenuFor(Player* player); // Using provided text, not from DB -void TC_GAME_API AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action); +void TC_GAME_API AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action); // Using provided texts, not from DB -void TC_GAME_API AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded); +void TC_GAME_API AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded); // Uses gossip item info from DB void TC_GAME_API AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action); void TC_GAME_API SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const& guid); void TC_GAME_API SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature); void TC_GAME_API CloseGossipMenuFor(Player* player); -// Defined fuctions to use with player. -// This fuction add's a menu item, -// a - Icon Id -// b - Text -// c - Sender(this is to identify the current Menu with this item) -// d - Action (identifys this Menu Item) -// e - Text to be displayed in pop up box -// f - Money value in pop up box -// g - Coded -// h - Menu ID from DB -// i - Menu item ID from DB -#define ADD_GOSSIP_ITEM(a, b, c, d) PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, a, b, c, d, "", 0) -#define ADD_GOSSIP_ITEM_DB(h, i, c, d) PlayerTalkClass->GetGossipMenu().AddMenuItem(h, i, c, d) -#define ADD_GOSSIP_ITEM_EXTENDED(a, b, c, d, e, f, g) PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, a, b, c, d, e, f, g) - -// This fuction Sends the current menu to show to client, a - NPCTEXTID(uint32), b - npc guid(uint64) -#define SEND_GOSSIP_MENU(a, b) PlayerTalkClass->SendGossipMenu(a, b) - -// Closes the Menu -#define CLOSE_GOSSIP_MENU() PlayerTalkClass->SendCloseGossip() - #endif diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 6053823c5f0..465cc4b5c84 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2147,9 +2147,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (e.action.sendGossipMenu.gossipMenuId) player->PrepareGossipMenu(GetBaseObject(), e.action.sendGossipMenu.gossipMenuId, true); else - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); - player->SEND_GOSSIP_MENU(e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID()); + SendGossipMenuFor(player, e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID()); } } |
