mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Core/Guilds: Implemented basic guild leveling (no player statistics/reputation)
This commit is contained in:
@@ -645,32 +645,33 @@ void WorldSession::HandleSetGuildBankTabText(WorldPacket& recvData)
|
||||
guild->SetBankTabText(tabId, text);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGuildQueryXPOpcode(WorldPacket& recvData)
|
||||
void WorldSession::HandleGuildQueryXPOpcode(WorldPacket& recvPacket)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUERY_GUILD_XP");
|
||||
|
||||
ObjectGuid guildGuid;
|
||||
|
||||
guildGuid[2] = recvData.ReadBit();
|
||||
guildGuid[1] = recvData.ReadBit();
|
||||
guildGuid[0] = recvData.ReadBit();
|
||||
guildGuid[5] = recvData.ReadBit();
|
||||
guildGuid[4] = recvData.ReadBit();
|
||||
guildGuid[7] = recvData.ReadBit();
|
||||
guildGuid[6] = recvData.ReadBit();
|
||||
guildGuid[3] = recvData.ReadBit();
|
||||
guildGuid[2] = recvPacket.ReadBit();
|
||||
guildGuid[1] = recvPacket.ReadBit();
|
||||
guildGuid[0] = recvPacket.ReadBit();
|
||||
guildGuid[5] = recvPacket.ReadBit();
|
||||
guildGuid[4] = recvPacket.ReadBit();
|
||||
guildGuid[7] = recvPacket.ReadBit();
|
||||
guildGuid[6] = recvPacket.ReadBit();
|
||||
guildGuid[3] = recvPacket.ReadBit();
|
||||
|
||||
recvData.ReadByteSeq(guildGuid[7]);
|
||||
recvData.ReadByteSeq(guildGuid[2]);
|
||||
recvData.ReadByteSeq(guildGuid[3]);
|
||||
recvData.ReadByteSeq(guildGuid[6]);
|
||||
recvData.ReadByteSeq(guildGuid[1]);
|
||||
recvData.ReadByteSeq(guildGuid[5]);
|
||||
recvData.ReadByteSeq(guildGuid[0]);
|
||||
recvData.ReadByteSeq(guildGuid[4]);
|
||||
recvPacket.ReadByteSeq(guildGuid[7]);
|
||||
recvPacket.ReadByteSeq(guildGuid[2]);
|
||||
recvPacket.ReadByteSeq(guildGuid[3]);
|
||||
recvPacket.ReadByteSeq(guildGuid[6]);
|
||||
recvPacket.ReadByteSeq(guildGuid[1]);
|
||||
recvPacket.ReadByteSeq(guildGuid[5]);
|
||||
recvPacket.ReadByteSeq(guildGuid[0]);
|
||||
recvPacket.ReadByteSeq(guildGuid[4]);
|
||||
|
||||
//if (Guild* guild = sGuildMgr->GetGuildByGuid(guildGuid))
|
||||
// guild->Send SMSG_GUILD_XP
|
||||
if (Guild* guild = sGuildMgr->GetGuildByGuid(guildGuid))
|
||||
if (guild->IsMember(_player->GetGUID()))
|
||||
guild->SendGuildXP(this);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGuildSetRankPermissionsOpcode(WorldPacket& recvPacket)
|
||||
@@ -741,3 +742,35 @@ void WorldSession::HandleGuildRequestPartyState(WorldPacket& recvData)
|
||||
if (Guild* guild = sGuildMgr->GetGuildByGuid(guildGuid))
|
||||
guild->HandleGuildPartyRequest(this);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGuildRequestMaxDailyXP(WorldPacket& recvPacket)
|
||||
{
|
||||
ObjectGuid guid;
|
||||
guid[0] = recvPacket.ReadBit();
|
||||
guid[3] = recvPacket.ReadBit();
|
||||
guid[5] = recvPacket.ReadBit();
|
||||
guid[1] = recvPacket.ReadBit();
|
||||
guid[4] = recvPacket.ReadBit();
|
||||
guid[6] = recvPacket.ReadBit();
|
||||
guid[7] = recvPacket.ReadBit();
|
||||
guid[2] = recvPacket.ReadBit();
|
||||
|
||||
recvPacket.ReadByteSeq(guid[7]);
|
||||
recvPacket.ReadByteSeq(guid[4]);
|
||||
recvPacket.ReadByteSeq(guid[3]);
|
||||
recvPacket.ReadByteSeq(guid[5]);
|
||||
recvPacket.ReadByteSeq(guid[1]);
|
||||
recvPacket.ReadByteSeq(guid[2]);
|
||||
recvPacket.ReadByteSeq(guid[6]);
|
||||
recvPacket.ReadByteSeq(guid[0]);
|
||||
|
||||
if (Guild* guild = sGuildMgr->GetGuildByGuid(guid))
|
||||
{
|
||||
if (guild->IsMember(_player->GetGUID()))
|
||||
{
|
||||
WorldPacket data(SMSG_GUILD_MAX_DAILY_XP, 8);
|
||||
data << uint64(sWorld->getIntConfig(CONFIG_GUILD_DAILY_XP_CAP));
|
||||
SendPacket(&data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user