[7116] Correctly show quest/gossip menues.

In case non defeault gossip text with quest only
In case empty quest and gossip menus and gossip text.
This commit is contained in:
VladimirMangos 2009-01-19 17:55:33 +03:00
parent 9af1caccd8
commit ac9b14d70c
2 changed files with 2 additions and 4 deletions

View file

@ -813,10 +813,8 @@ void Creature::sendPreparedGossip(Player* player)
if(!player) if(!player)
return; return;
GossipMenu& gossipmenu = player->PlayerTalkClass->GetGossipMenu();
// in case empty gossip menu open quest menu if any // in case empty gossip menu open quest menu if any
if (gossipmenu.Empty() && GetNpcTextId() == 0) if (player->PlayerTalkClass->GetGossipMenu().Empty() && !player->PlayerTalkClass->GetQuestMenu().Empty())
{ {
player->SendPreparedQuest(GetGUID()); player->SendPreparedQuest(GetGUID());
return; return;

View file

@ -125,7 +125,7 @@ bool PlayerMenu::GossipOptionCoded( unsigned int Selection )
void PlayerMenu::SendGossipMenu( uint32 TitleTextId, uint64 npcGUID ) void PlayerMenu::SendGossipMenu( uint32 TitleTextId, uint64 npcGUID )
{ {
WorldPacket data( SMSG_GOSSIP_MESSAGE, (100) ); // guess size WorldPacket data( SMSG_GOSSIP_MESSAGE, (100) ); // guess size
data << npcGUID; data << uint64(npcGUID);
data << uint32(0); // new 2.4.0 data << uint32(0); // new 2.4.0
data << uint32( TitleTextId ); data << uint32( TitleTextId );
data << uint32( mGossipMenu.MenuItemCount() ); // max count 0x0F data << uint32( mGossipMenu.MenuItemCount() ); // max count 0x0F