diff --git a/src/game/AI/ScriptedAI/ScriptedGossip.cpp b/src/game/AI/ScriptedAI/ScriptedGossip.cpp new file mode 100644 index 000000000..cf0846108 --- /dev/null +++ b/src/game/AI/ScriptedAI/ScriptedGossip.cpp @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license: http://github.com/azerothcore/azerothcore-wotlk/LICENSE-GPL2 + * Copyright (C) 2008-2016 TrinityCore + * Copyright (C) 2005-2009 MaNGOS + */ + +#include "ScriptedGossip.h" +#include "Player.h" +#include "Creature.h" + +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); } +// 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); } +// 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, uint64 const& guid) { player->PlayerTalkClass->SendGossipMenu(npcTextID, guid); } +void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature) { if (creature) SendGossipMenuFor(player, npcTextID, creature->GetGUID()); } +void CloseGossipMenuFor(Player* player) { player->PlayerTalkClass->SendCloseGossip(); } diff --git a/src/game/AI/ScriptedAI/ScriptedGossip.h b/src/game/AI/ScriptedAI/ScriptedGossip.h index 0ed90f109..68de53473 100644 --- a/src/game/AI/ScriptedAI/ScriptedGossip.h +++ b/src/game/AI/ScriptedAI/ScriptedGossip.h @@ -68,6 +68,18 @@ enum eTradeskill GOSSIP_SENDER_SEC_STABLEMASTER = 10 }; +class Creature; +void ClearGossipMenuFor(Player* player); +// Using provided text, not from DB +void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action); +// 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); +// Uses gossip item info from DB +void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action); +void SendGossipMenuFor(Player* player, uint32 npcTextID, uint64 const& guid); +void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature); +void CloseGossipMenuFor(Player* player); + // Defined fuctions to use with player. // This fuction add's a menu item,