mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-09 08:17:56 +00:00
feat(Core/Gossips): override BoxMoney from DB (#10414)
This commit is contained in:
@@ -37,9 +37,9 @@ void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Uses gossip item info from DB
|
// Uses gossip item info from DB
|
||||||
void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action)
|
void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action, uint32 boxMoney /*= 0*/)
|
||||||
{
|
{
|
||||||
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action);
|
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action, boxMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid)
|
void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid)
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint
|
|||||||
void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, std::string const& popupText, uint32 popupMoney, bool coded);
|
void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, std::string const& popupText, uint32 popupMoney, bool coded);
|
||||||
|
|
||||||
// Uses gossip item info from DB
|
// Uses gossip item info from DB
|
||||||
void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action);
|
void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action, uint32 boxMoney = 0);
|
||||||
|
|
||||||
// Send menu text
|
// Send menu text
|
||||||
void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid);
|
void SendGossipMenuFor(Player* player, uint32 npcTextID, ObjectGuid const guid);
|
||||||
|
|||||||
@@ -74,8 +74,9 @@ void GossipMenu::AddMenuItem(int32 menuItemId, uint8 icon, std::string const& me
|
|||||||
* @param menuItemId Gossip menu item id.
|
* @param menuItemId Gossip menu item id.
|
||||||
* @param sender Identifier of the current menu.
|
* @param sender Identifier of the current menu.
|
||||||
* @param action Custom action given to OnGossipHello.
|
* @param action Custom action given to OnGossipHello.
|
||||||
|
* @param boxMoney Custom price for pop-up box. If > 0, it will replace DB value.
|
||||||
*/
|
*/
|
||||||
void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action)
|
void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action, uint32 boxMoney)
|
||||||
{
|
{
|
||||||
/// Find items for given menu id.
|
/// Find items for given menu id.
|
||||||
GossipMenuItemsMapBounds bounds = sObjectMgr->GetGossipMenuItemsMapBounds(menuId);
|
GossipMenuItemsMapBounds bounds = sObjectMgr->GetGossipMenuItemsMapBounds(menuId);
|
||||||
@@ -126,7 +127,7 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro.
|
/// Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro.
|
||||||
AddMenuItem(-1, itr->second.OptionIcon, strOptionText, sender, action, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded);
|
AddMenuItem(-1, itr->second.OptionIcon, strOptionText, sender, action, strBoxText, boxMoney ? boxMoney : itr->second.BoxMoney, itr->second.BoxCoded);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ public:
|
|||||||
~GossipMenu();
|
~GossipMenu();
|
||||||
|
|
||||||
void AddMenuItem(int32 menuItemId, uint8 icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded = false);
|
void AddMenuItem(int32 menuItemId, uint8 icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded = false);
|
||||||
void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action);
|
void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action, uint32 boxMoney);
|
||||||
|
|
||||||
void SetMenuId(uint32 menu_id) { _menuId = menu_id; }
|
void SetMenuId(uint32 menu_id) { _menuId = menu_id; }
|
||||||
[[nodiscard]] uint32 GetMenuId() const { return _menuId; }
|
[[nodiscard]] uint32 GetMenuId() const { return _menuId; }
|
||||||
|
|||||||
Reference in New Issue
Block a user