diff options
Diffstat (limited to 'src/game/GuildHandler.cpp')
-rw-r--r-- | src/game/GuildHandler.cpp | 144 |
1 files changed, 52 insertions, 92 deletions
diff --git a/src/game/GuildHandler.cpp b/src/game/GuildHandler.cpp index 763bc09a080..0b150358896 100644 --- a/src/game/GuildHandler.cpp +++ b/src/game/GuildHandler.cpp @@ -42,7 +42,7 @@ void WorldSession::HandleGuildQueryOpcode(WorldPacket& recvPacket) return; } - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); } void WorldSession::HandleGuildCreateOpcode(WorldPacket& recvPacket) @@ -86,7 +86,7 @@ void WorldSession::HandleGuildInviteOpcode(WorldPacket& recvPacket) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } @@ -97,27 +97,27 @@ void WorldSession::HandleGuildInviteOpcode(WorldPacket& recvPacket) // not let enemies sign guild charter if (!sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && player->GetTeam() != GetPlayer()->GetTeam()) { - SendGuildCommandResult(GUILD_INVITE_S, Invitedname, GUILD_NOT_ALLIED); + SendGuildCommandResult(GUILD_INVITE_S, Invitedname, ERR_GUILD_NOT_ALLIED); return; } if (player->GetGuildId()) { plname = player->GetName(); - SendGuildCommandResult(GUILD_INVITE_S, plname, ALREADY_IN_GUILD); + SendGuildCommandResult(GUILD_INVITE_S, plname, ERR_ALREADY_IN_GUILD_S); return; } if (player->GetGuildIdInvited()) { plname = player->GetName(); - SendGuildCommandResult(GUILD_INVITE_S, plname, ALREADY_INVITED_TO_GUILD); + SendGuildCommandResult(GUILD_INVITE_S, plname, ERR_ALREADY_INVITED_TO_GUILD_S); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_INVITE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -148,13 +148,13 @@ void WorldSession::HandleGuildRemoveOpcode(WorldPacket& recvPacket) Guild* guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_REMOVE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -162,20 +162,20 @@ void WorldSession::HandleGuildRemoveOpcode(WorldPacket& recvPacket) MemberSlot* slot = guild->GetMemberSlot(plName, plGuid); if (!slot) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_PLAYER_NOT_IN_GUILD_S); return; } if (slot->RankId == GR_GUILDMASTER) { - SendGuildCommandResult(GUILD_QUIT_S, "", GUILD_LEADER_LEAVE); + SendGuildCommandResult(GUILD_QUIT_S, "", ERR_GUILD_LEADER_LEAVE); return; } //do not allow to kick player with same or higher rights if (GetPlayer()->GetRank() >= slot->RankId) { - SendGuildCommandResult(GUILD_QUIT_S, plName, GUILD_RANK_TOO_HIGH_S); + SendGuildCommandResult(GUILD_QUIT_S, plName, ERR_GUILD_RANK_TOO_HIGH_S); return; } @@ -183,12 +183,7 @@ void WorldSession::HandleGuildRemoveOpcode(WorldPacket& recvPacket) // Put record into guildlog guild->LogGuildEvent(GUILD_EVENT_LOG_UNINVITE_PLAYER, GetPlayer()->GetGUIDLow(), GUID_LOPART(plGuid), 0); - WorldPacket data(SMSG_GUILD_EVENT, (2+20)); // guess size - data << (uint8)GE_REMOVED; - data << (uint8)2; // strings count - data << plName; - data << GetPlayer()->GetName(); - guild->BroadcastPacket(&data); + guild->BroadcastEvent(GE_REMOVED, 0, 2, plName, _player->GetName(), ""); } void WorldSession::HandleGuildAcceptOpcode(WorldPacket& /*recvPacket*/) @@ -211,11 +206,7 @@ void WorldSession::HandleGuildAcceptOpcode(WorldPacket& /*recvPacket*/) // Put record into guildlog guild->LogGuildEvent(GUILD_EVENT_LOG_JOIN_GUILD, GetPlayer()->GetGUIDLow(), 0, 0); - WorldPacket data(SMSG_GUILD_EVENT, (2+10)); // guess size - data << (uint8)GE_JOINED; - data << (uint8)1; // strings count - data << player->GetName(); - guild->BroadcastPacket(&data); + guild->BroadcastEvent(GE_JOINED, player->GetGUID(), 1, player->GetName(), "", ""); sLog.outDebug("WORLD: Sent (SMSG_GUILD_EVENT)"); } @@ -236,7 +227,7 @@ void WorldSession::HandleGuildInfoOpcode(WorldPacket& /*recvPacket*/) guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } @@ -270,13 +261,13 @@ void WorldSession::HandleGuildPromoteOpcode(WorldPacket& recvPacket) Guild* guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_PROMOTE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -285,13 +276,13 @@ void WorldSession::HandleGuildPromoteOpcode(WorldPacket& recvPacket) if (!slot) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_PLAYER_NOT_IN_GUILD_S); return; } if (plGuid == GetPlayer()->GetGUID()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_NAME_INVALID); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_NAME_INVALID); return; } @@ -300,19 +291,13 @@ void WorldSession::HandleGuildPromoteOpcode(WorldPacket& recvPacket) //GetPlayer()->GetRank() + 1 is highest rank that current player can promote to if (GetPlayer()->GetRank() + 1 >= slot->RankId) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_RANK_TOO_HIGH_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_RANK_TOO_HIGH_S); return; } uint32 newRankId = slot->RankId - 1; //when promoting player, rank is decreased - WorldPacket data(SMSG_GUILD_EVENT, (2+30)); // guess size - data << (uint8)GE_PROMOTION; - data << (uint8)3; // strings count - data << GetPlayer()->GetName(); - data << plName; - data << guild->GetRankName(newRankId); - guild->BroadcastPacket(&data); + guild->BroadcastEvent(GE_PROMOTION, 0, 3, _player->GetName(), plName, guild->GetRankName(newRankId)); guild->ChangeRank(plGuid, newRankId); // Put record into guildlog @@ -333,13 +318,13 @@ void WorldSession::HandleGuildDemoteOpcode(WorldPacket& recvPacket) if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_DEMOTE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -348,27 +333,27 @@ void WorldSession::HandleGuildDemoteOpcode(WorldPacket& recvPacket) if (!slot) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_PLAYER_NOT_IN_GUILD_S); return; } if (plGuid == GetPlayer()->GetGUID()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_NAME_INVALID); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_NAME_INVALID); return; } //do not allow to demote same or higher rank if (GetPlayer()->GetRank() >= slot->RankId) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_RANK_TOO_HIGH_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_RANK_TOO_HIGH_S); return; } //do not allow to demote lowest rank if (slot->RankId >= guild->GetLowestRank()) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_ALREADY_LOWEST_RANK_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_RANK_TOO_LOW_S); return; } @@ -378,13 +363,7 @@ void WorldSession::HandleGuildDemoteOpcode(WorldPacket& recvPacket) // Put record into guildlog guild->LogGuildEvent(GUILD_EVENT_LOG_DEMOTE_PLAYER, GetPlayer()->GetGUIDLow(), GUID_LOPART(plGuid), newRankId); - WorldPacket data(SMSG_GUILD_EVENT, (2+30)); // guess size - data << (uint8)GE_DEMOTION; - data << (uint8)3; // strings count - data << GetPlayer()->GetName(); - data << plName; - data << guild->GetRankName(slot->RankId); - guild->BroadcastPacket(&data); + guild->BroadcastEvent(GE_DEMOTION, 0, 3, _player->GetName(), plName, guild->GetRankName(slot->RankId)); } void WorldSession::HandleGuildLeaveOpcode(WorldPacket& /*recvPacket*/) @@ -394,13 +373,13 @@ void WorldSession::HandleGuildLeaveOpcode(WorldPacket& /*recvPacket*/) Guild *guild = objmgr.GetGuildById(_player->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (_player->GetGUID() == guild->GetLeader() && guild->GetMemberSize() > 1) { - SendGuildCommandResult(GUILD_QUIT_S, "", GUILD_LEADER_LEAVE); + SendGuildCommandResult(GUILD_QUIT_S, "", ERR_GUILD_LEADER_LEAVE); return; } @@ -414,15 +393,9 @@ void WorldSession::HandleGuildLeaveOpcode(WorldPacket& /*recvPacket*/) // Put record into guildlog guild->LogGuildEvent(GUILD_EVENT_LOG_LEAVE_GUILD, _player->GetGUIDLow(), 0, 0); - WorldPacket data(SMSG_GUILD_EVENT, (2+10)); // guess size - data << (uint8)GE_LEFT; - data << (uint8)1; // strings count - data << _player->GetName(); - guild->BroadcastPacket(&data); - - sLog.outDebug("WORLD: Sent (SMSG_GUILD_EVENT)"); + guild->BroadcastEvent(GE_LEFT, _player->GetGUID(), 1, _player->GetName(), "", ""); - SendGuildCommandResult(GUILD_QUIT_S, guild->GetName(), GUILD_PLAYER_NO_MORE_IN_GUILD); + SendGuildCommandResult(GUILD_QUIT_S, guild->GetName(), ERR_PLAYER_NO_MORE_IN_GUILD); } void WorldSession::HandleGuildDisbandOpcode(WorldPacket& /*recvPacket*/) @@ -432,13 +405,13 @@ void WorldSession::HandleGuildDisbandOpcode(WorldPacket& /*recvPacket*/) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (GetPlayer()->GetGUID() != guild->GetLeader()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -463,13 +436,13 @@ void WorldSession::HandleGuildLeaderOpcode(WorldPacket& recvPacket) if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (oldLeader->GetGUID() != guild->GetLeader()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -485,14 +458,7 @@ void WorldSession::HandleGuildLeaderOpcode(WorldPacket& recvPacket) guild->SetLeader(newLeaderGUID); guild->ChangeRank(oldLeader->GetGUID(), GR_OFFICER); - WorldPacket data(SMSG_GUILD_EVENT, (2+20)); // guess size - data << (uint8)GE_LEADER_CHANGED; - data << (uint8)2; // strings count - data << oldLeader->GetName(); - data << name.c_str(); - guild->BroadcastPacket(&data); - - //sLog.outDebug("WORLD: Sent (SMSG_GUILD_EVENT)"); + guild->BroadcastEvent(GE_LEADER_CHANGED, 0, 2, oldLeader->GetName(), name, ""); } void WorldSession::HandleGuildMOTDOpcode(WorldPacket& recvPacket) @@ -509,25 +475,19 @@ void WorldSession::HandleGuildMOTDOpcode(WorldPacket& recvPacket) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_SETMOTD)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } guild->SetMOTD(MOTD); - WorldPacket data(SMSG_GUILD_EVENT, (2+MOTD.size()+1)); - data << (uint8)GE_MOTD; - data << (uint8)1; // strings count - data << MOTD; - guild->BroadcastPacket(&data); - - sLog.outDebug("WORLD: Sent (SMSG_GUILD_EVENT)"); + guild->BroadcastEvent(GE_MOTD, 0, 1, MOTD, "", ""); } void WorldSession::HandleGuildSetPublicNoteOpcode(WorldPacket& recvPacket) @@ -543,13 +503,13 @@ void WorldSession::HandleGuildSetPublicNoteOpcode(WorldPacket& recvPacket) Guild* guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_EPNOTE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -581,13 +541,13 @@ void WorldSession::HandleGuildSetOfficerNoteOpcode(WorldPacket& recvPacket) Guild* guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (!guild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_EOFFNOTE)) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -596,7 +556,7 @@ void WorldSession::HandleGuildSetOfficerNoteOpcode(WorldPacket& recvPacket) if (!slot) { - SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); + SendGuildCommandResult(GUILD_INVITE_S, plName, ERR_GUILD_PLAYER_NOT_IN_GUILD_S); return; } @@ -618,13 +578,13 @@ void WorldSession::HandleGuildRankOpcode(WorldPacket& recvPacket) if (!guild) { recvPacket.rpos(recvPacket.wpos()); // set to end to avoid warnings spam - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } else if (GetPlayer()->GetGUID() != guild->GetLeader()) { recvPacket.rpos(recvPacket.wpos()); // set to end to avoid warnings spam - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -667,13 +627,13 @@ void WorldSession::HandleGuildAddRankOpcode(WorldPacket& recvPacket) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } if (GetPlayer()->GetGUID() != guild->GetLeader()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -693,12 +653,12 @@ void WorldSession::HandleGuildDelRankOpcode(WorldPacket& /*recvPacket*/) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } else if (GetPlayer()->GetGUID() != guild->GetLeader()) { - SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_PERMISSIONS); + SendGuildCommandResult(GUILD_INVITE_S, "", ERR_GUILD_PERMISSIONS); return; } @@ -730,7 +690,7 @@ void WorldSession::HandleGuildChangeInfoTextOpcode(WorldPacket& recvPacket) Guild *guild = objmgr.GetGuildById(GetPlayer()->GetGuildId()); if (!guild) { - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_PLAYER_NOT_IN_GUILD); + ERR_GUILD_PLAYER_NOT_IN_GUILD); return; } @@ -866,7 +826,7 @@ void WorldSession::HandleGuildBankerActivate(WorldPacket & recv_data) } } - SendGuildCommandResult(GUILD_BANK_S, "", GUILD_PLAYER_NOT_IN_GUILD); + SendGuildCommandResult(GUILD_UNK1, "", ERR_GUILD_PLAYER_NOT_IN_GUILD); } /* Called when opening guild bank tab only (first one) */ |