diff --git a/src/game/ChannelHandler.cpp b/src/game/ChannelHandler.cpp index 077bfcc79..bc96a7543 100644 --- a/src/game/ChannelHandler.cpp +++ b/src/game/ChannelHandler.cpp @@ -27,10 +27,13 @@ void WorldSession::HandleJoinChannelOpcode(WorldPacket& recvPacket) std::string channelname, pass; recvPacket >> channel_id; - recvPacket.read_skip(); - recvPacket.read_skip(); - recvPacket >> pass; - recvPacket >> channelname; + recvPacket.ReadBit(); // has voice + recvPacket.ReadBit(); // zone update + + uint8 channelLength = recvPacket.ReadBits(8); + uint8 passwordLength = recvPacket.ReadBits(8); + channelname = recvPacket.ReadString(channelLength); + pass = recvPacket.ReadString(passwordLength); if (channelname.empty()) return; diff --git a/src/game/GMTicketHandler.cpp b/src/game/GMTicketHandler.cpp index 5475dabd1..6f8e13fa1 100644 --- a/src/game/GMTicketHandler.cpp +++ b/src/game/GMTicketHandler.cpp @@ -40,6 +40,8 @@ void WorldSession::SendGMTicketGetTicket(uint32 status, GMTicket* ticket /*= NUL data << float(0); // 0 - "Your ticket will be serviced soon", 1 - "Wait time currently unavailable" data << uint8(0); // if == 2 and next field == 1 then "Your ticket has been escalated" data << uint8(0); // const + data << uint8(0); // average wait time string + data << uint32(0); // average wait time } SendPacket(&data); } diff --git a/src/game/GuildHandler.cpp b/src/game/GuildHandler.cpp index e4d36f662..1c4741979 100644 --- a/src/game/GuildHandler.cpp +++ b/src/game/GuildHandler.cpp @@ -1206,8 +1206,9 @@ void WorldSession::HandleSetGuildBankTabText(WorldPacket& recv_data) uint8 TabId; std::string Text; + recv_data >> TabId; - recv_data >> Text; + Text = recv_data.ReadString(recv_data.ReadBits(14)); uint32 GuildId = GetPlayer()->GetGuildId(); if (!GuildId) diff --git a/src/game/LootHandler.cpp b/src/game/LootHandler.cpp index 17a356a7c..2c146bde5 100644 --- a/src/game/LootHandler.cpp +++ b/src/game/LootHandler.cpp @@ -260,7 +260,8 @@ void WorldSession::HandleLootMoneyOpcode(WorldPacket& /*recv_data*/) WorldPacket data(SMSG_LOOT_MONEY_NOTIFY, 4 + 1); data << uint32(money_per_player); - data << uint8(playersNear.size() > 1 ? 0 : 1);// 0 is "you share of loot..." + data << uint8(playersNear.size() > 1 ? 0 : 1); // 0 is "you share of loot..." + data << uint32(0); // guild share (*i)->GetSession()->SendPacket(&data); } @@ -273,6 +274,7 @@ void WorldSession::HandleLootMoneyOpcode(WorldPacket& /*recv_data*/) WorldPacket data(SMSG_LOOT_MONEY_NOTIFY, 4 + 1); data << uint32(pLoot->gold); data << uint8(1); // 1 is "you loot..." + data << uint32(0); // guild share player->GetSession()->SendPacket(&data); } diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 6f7ed67ca..07230bfdb 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4675,6 +4675,8 @@ void Spell::SendResurrectRequest(Player* target) data << uint8(0); data << uint8(m_caster->GetTypeId() == TYPEID_PLAYER ? 0 : 1); + data << uint32(m_spellInfo->Id); + target->GetSession()->SendPacket(&data); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a76aa1f9a..17a35ec52 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12173" + #define REVISION_NR "12174" #endif // __REVISION_NR_H__