Merge pull request #4742 from Subv/gossips

Gossips
This commit is contained in:
Jorge
2012-01-10 03:16:06 -08:00
3 changed files with 7 additions and 7 deletions
+4 -5
View File
@@ -13997,6 +13997,10 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool
PrepareQuestMenu(source->GetGUID()); PrepareQuestMenu(source->GetGUID());
} }
if (source->GetTypeId() == TYPEID_GAMEOBJECT)
if (source->ToGameObject()->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
PrepareQuestMenu(source->GetGUID());
for (GossipMenuItemsMap::const_iterator itr = menuItemBounds.first; itr != menuItemBounds.second; ++itr) for (GossipMenuItemsMap::const_iterator itr = menuItemBounds.first; itr != menuItemBounds.second; ++itr)
{ {
bool canTalk = true; bool canTalk = true;
@@ -14082,11 +14086,6 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool
switch (itr->second.OptionType) switch (itr->second.OptionType)
{ {
case GOSSIP_OPTION_QUESTGIVER:
if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
PrepareQuestMenu(source->GetGUID());
canTalk = false;
break;
case GOSSIP_OPTION_GOSSIP: case GOSSIP_OPTION_GOSSIP:
if (go->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER && go->GetGoType() != GAMEOBJECT_TYPE_GOOBER) if (go->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER && go->GetGoType() != GAMEOBJECT_TYPE_GOOBER)
canTalk = false; canTalk = false;
@@ -160,7 +160,8 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
else else
{ {
go->AI()->GossipSelect(_player, menuId, gossipListId); go->AI()->GossipSelect(_player, menuId, gossipListId);
sScriptMgr->OnGossipSelect(_player, go, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId)); if (!sScriptMgr->OnGossipSelect(_player, go, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId)))
_player->OnGossipSelect(go, gossipListId, menuId);
} }
} }
} }
+1 -1
View File
@@ -510,7 +510,7 @@ public:
stmt->setUInt32(0, targetAccountId); stmt->setUInt32(0, targetAccountId);
stmt->setUInt8(1, uint8(gm)); stmt->setUInt8(1, uint8(gm));
stmt->setUInt32(2, gmRealmID); stmt->setInt32(2, gmRealmID);
LoginDatabase.Execute(stmt); LoginDatabase.Execute(stmt);
} }