mirror of
https://github.com/mangosfour/server.git
synced 2025-12-26 07:37:02 +00:00
Merge remote branch 'origin/master' into 330
Conflicts: src/game/ObjectMgr.h
This commit is contained in:
commit
7c6cae1af7
58 changed files with 1937 additions and 990 deletions
|
|
@ -27,6 +27,7 @@
|
|||
GossipMenu::GossipMenu()
|
||||
{
|
||||
m_gItems.reserve(16); // can be set for max from most often sizes to speedup push_back and less memory use
|
||||
m_gMenuId = 0;
|
||||
}
|
||||
|
||||
GossipMenu::~GossipMenu()
|
||||
|
|
@ -44,13 +45,24 @@ void GossipMenu::AddMenuItem(uint8 Icon, const std::string& Message, uint32 dtSe
|
|||
gItem.m_gMessage = Message;
|
||||
gItem.m_gCoded = Coded;
|
||||
gItem.m_gSender = dtSender;
|
||||
gItem.m_gAction = dtAction;
|
||||
gItem.m_gOptionId = dtAction;
|
||||
gItem.m_gBoxMessage = BoxMessage;
|
||||
gItem.m_gBoxMoney = BoxMoney;
|
||||
|
||||
m_gItems.push_back(gItem);
|
||||
}
|
||||
|
||||
void GossipMenu::AddGossipMenuItemData(uint32 action_menu, uint32 action_poi, uint32 action_script)
|
||||
{
|
||||
GossipMenuItemData pItemData;
|
||||
|
||||
pItemData.m_gAction_menu = action_menu;
|
||||
pItemData.m_gAction_poi = action_poi;
|
||||
pItemData.m_gAction_script = action_script;
|
||||
|
||||
m_gItemsData.push_back(pItemData);
|
||||
}
|
||||
|
||||
void GossipMenu::AddMenuItem(uint8 Icon, const std::string& Message, bool Coded)
|
||||
{
|
||||
AddMenuItem( Icon, Message, 0, 0, "", 0, Coded);
|
||||
|
|
@ -77,7 +89,7 @@ uint32 GossipMenu::MenuItemAction( unsigned int ItemId )
|
|||
{
|
||||
if ( ItemId >= m_gItems.size() ) return 0;
|
||||
|
||||
return m_gItems[ ItemId ].m_gAction;
|
||||
return m_gItems[ ItemId ].m_gOptionId;
|
||||
}
|
||||
|
||||
bool GossipMenu::MenuItemCoded( unsigned int ItemId )
|
||||
|
|
@ -90,6 +102,8 @@ bool GossipMenu::MenuItemCoded( unsigned int ItemId )
|
|||
void GossipMenu::ClearMenu()
|
||||
{
|
||||
m_gItems.clear();
|
||||
m_gItemsData.clear();
|
||||
m_gMenuId = 0;
|
||||
}
|
||||
|
||||
PlayerMenu::PlayerMenu( WorldSession *session ) : pSession(session)
|
||||
|
|
@ -122,13 +136,13 @@ bool PlayerMenu::GossipOptionCoded( unsigned int Selection )
|
|||
return mGossipMenu.MenuItemCoded( Selection );
|
||||
}
|
||||
|
||||
void PlayerMenu::SendGossipMenu( uint32 TitleTextId, uint64 npcGUID )
|
||||
void PlayerMenu::SendGossipMenu(uint32 TitleTextId, uint64 objectGUID)
|
||||
{
|
||||
WorldPacket data( SMSG_GOSSIP_MESSAGE, (100) ); // guess size
|
||||
data << uint64(npcGUID);
|
||||
data << uint32(0); // new 2.4.0
|
||||
data << uint32( TitleTextId );
|
||||
data << uint32( mGossipMenu.MenuItemCount() ); // max count 0x10
|
||||
WorldPacket data(SMSG_GOSSIP_MESSAGE, (100)); // guess size
|
||||
data << uint64(objectGUID);
|
||||
data << uint32(mGossipMenu.GetMenuId()); // new 2.4.0
|
||||
data << uint32(TitleTextId);
|
||||
data << uint32(mGossipMenu.MenuItemCount()); // max count 0x10
|
||||
|
||||
for (uint32 iI = 0; iI < mGossipMenu.MenuItemCount(); ++iI )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue