diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/ArenaTeam.cpp | 36 | ||||
-rw-r--r-- | src/game/ArenaTeam.h | 13 | ||||
-rw-r--r-- | src/game/ArenaTeamHandler.cpp | 56 | ||||
-rw-r--r-- | src/game/CharacterHandler.cpp | 10 | ||||
-rw-r--r-- | src/game/Guild.cpp | 55 | ||||
-rw-r--r-- | src/game/Guild.h | 94 | ||||
-rw-r--r-- | src/game/GuildHandler.cpp | 144 | ||||
-rw-r--r-- | src/game/PetitionsHandler.cpp | 48 | ||||
-rw-r--r-- | src/game/Player.cpp | 11 | ||||
-rw-r--r-- | src/game/WorldSession.cpp | 7 | ||||
-rw-r--r-- | src/game/WorldSession.h | 1 |
11 files changed, 219 insertions, 256 deletions
diff --git a/src/game/ArenaTeam.cpp b/src/game/ArenaTeam.cpp index 23e97be8dcb..ab6d6df4a0f 100644 --- a/src/game/ArenaTeam.cpp +++ b/src/game/ArenaTeam.cpp @@ -312,9 +312,8 @@ void ArenaTeam::Disband(WorldSession *session) // event if (session) { - WorldPacket data; - session->BuildArenaTeamEventPacket(&data, ERR_ARENA_TEAM_DISBANDED_S, 2, session->GetPlayerName(), GetName(), ""); - BroadcastPacket(&data); + // probably only 1 string required... + BroadcastEvent(ERR_ARENA_TEAM_DISBANDED_S, 0, 2, session->GetPlayerName(), GetName(), ""); } while (!m_members.empty()) @@ -488,6 +487,37 @@ void ArenaTeam::BroadcastPacket(WorldPacket *packet) } } +void ArenaTeam::BroadcastEvent(ArenaTeamEvents event, uint64 guid, uint8 strCount, std::string str1, std::string str2, std::string str3) +{ + WorldPacket data(SMSG_ARENA_TEAM_EVENT, 1+1+1); + data << uint8(event); + data << uint8(strCount); + switch (strCount) + { + case 0: + break; + case 1: + data << str1; + break; + case 2: + data << str1 << str2; + break; + case 3: + data << str1 << str2 << str3; + break; + default: + sLog.outError("Unhandled strCount %u in ArenaTeam::BroadcastEvent", strCount); + return; + } + + if (guid) + data << uint64(guid); + + BroadcastPacket(&data); + + sLog.outDebug("WORLD: Sent SMSG_ARENA_TEAM_EVENT"); +} + uint8 ArenaTeam::GetSlotByType(uint32 type) { switch(type) diff --git a/src/game/ArenaTeam.h b/src/game/ArenaTeam.h index e270beca4fc..1bfbe2d214e 100644 --- a/src/game/ArenaTeam.h +++ b/src/game/ArenaTeam.h @@ -25,14 +25,12 @@ enum ArenaTeamCommandTypes { ERR_ARENA_TEAM_CREATE_S = 0x00, ERR_ARENA_TEAM_INVITE_SS = 0x01, - //ERR_ARENA_TEAM_QUIT_S = 0x02, ERR_ARENA_TEAM_QUIT_S = 0x03, - ERR_ARENA_TEAM_FOUNDER_S = 0x0C // need check, probably wrong... + ERR_ARENA_TEAM_FOUNDER_S = 0x0E }; enum ArenaTeamCommandErrors { - //ARENA_TEAM_PLAYER_NO_MORE_IN_ARENA_TEAM = 0x00, ERR_ARENA_TEAM_INTERNAL = 0x01, ERR_ALREADY_IN_ARENA_TEAM = 0x02, ERR_ALREADY_IN_ARENA_TEAM_S = 0x03, @@ -46,8 +44,12 @@ enum ArenaTeamCommandErrors ERR_ARENA_TEAM_PLAYER_NOT_IN_TEAM_SS = 0x0A, ERR_ARENA_TEAM_PLAYER_NOT_FOUND_S = 0x0B, ERR_ARENA_TEAM_NOT_ALLIED = 0x0C, - ERR_ARENA_TEAM_PLAYER_TO_LOW = 0x15, - ERR_ARENA_TEAM_FULL = 0x16 + ERR_ARENA_TEAM_IGNORING_YOU_S = 0x13, + ERR_ARENA_TEAM_TARGET_TOO_LOW_S = 0x15, + ERR_ARENA_TEAM_TARGET_TOO_HIGH_S = 0x16, + ERR_ARENA_TEAM_TOO_MANY_MEMBERS_S = 0x17, + ERR_ARENA_TEAM_NOT_FOUND = 0x1B, + ERR_ARENA_TEAMS_LOCKED = 0x1E }; enum ArenaTeamEvents @@ -180,6 +182,7 @@ class ArenaTeam void SaveToDB(); void BroadcastPacket(WorldPacket *packet); + void BroadcastEvent(ArenaTeamEvents event, uint64 guid, uint8 strCount, std::string str1, std::string str2, std::string str3); void Roster(WorldSession *session); void Query(WorldSession *session); diff --git a/src/game/ArenaTeamHandler.cpp b/src/game/ArenaTeamHandler.cpp index ef1117e1f13..ac35acc0fac 100644 --- a/src/game/ArenaTeamHandler.cpp +++ b/src/game/ArenaTeamHandler.cpp @@ -102,7 +102,7 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recv_data) if (player->getLevel() < sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", player->GetName(), ERR_ARENA_TEAM_PLAYER_TO_LOW); + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", player->GetName(), ERR_ARENA_TEAM_TARGET_TOO_LOW_S); return; } @@ -137,7 +137,7 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recv_data) if (arenateam->GetMembersSize() >= arenateam->GetType() * 2) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,arenateam->GetName(),"",ERR_ARENA_TEAM_FULL); + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, arenateam->GetName(), "", ERR_ARENA_TEAM_TOO_MANY_MEMBERS_S); return; } @@ -163,26 +163,27 @@ void WorldSession::HandleArenaTeamAcceptOpcode(WorldPacket & /*recv_data*/) if (_player->GetArenaTeamId(at->GetSlot())) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,"","",ERR_ALREADY_IN_ARENA_TEAM); // already in arena team that size + // already in arena team that size + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ALREADY_IN_ARENA_TEAM); return; } if (!sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && _player->GetTeam() != objmgr.GetPlayerTeamByGUID(at->GetCaptain())) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,"","",ERR_ARENA_TEAM_NOT_ALLIED);// not let enemies sign petition + // not let enemies sign petition + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_NOT_ALLIED); return; } if (!at->AddMember(_player->GetGUID())) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,"","",ERR_ARENA_TEAM_INTERNAL);// arena team not found + // arena team not found + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S,"","",ERR_ARENA_TEAM_INTERNAL); return; } // event - WorldPacket data; - BuildArenaTeamEventPacket(&data, ERR_ARENA_TEAM_JOIN_SS, 2, _player->GetName(), at->GetName(), ""); - at->BroadcastPacket(&data); + at->BroadcastEvent(ERR_ARENA_TEAM_JOIN_SS, _player->GetGUID(), 2, _player->GetName(), at->GetName(), ""); } void WorldSession::HandleArenaTeamDeclineOpcode(WorldPacket & /*recv_data*/) @@ -221,11 +222,9 @@ void WorldSession::HandleArenaTeamLeaveOpcode(WorldPacket & recv_data) at->DelMember(_player->GetGUID()); // event - WorldPacket data; - BuildArenaTeamEventPacket(&data, ERR_ARENA_TEAM_LEAVE_SS, 2, _player->GetName(), at->GetName(), ""); - at->BroadcastPacket(&data); + at->BroadcastEvent(ERR_ARENA_TEAM_LEAVE_SS, _player->GetGUID(), 2, _player->GetName(), at->GetName(), ""); - //send you are no longer member of team + // send you are no longer member of team SendArenaTeamCommandResult(ERR_ARENA_TEAM_QUIT_S, at->GetName(), "", 0); } @@ -288,9 +287,7 @@ void WorldSession::HandleArenaTeamRemoveOpcode(WorldPacket & recv_data) at->DelMember(member->guid); // event - WorldPacket data; - BuildArenaTeamEventPacket(&data, ERR_ARENA_TEAM_REMOVE_SSS, 3, name, at->GetName(), _player->GetName()); - at->BroadcastPacket(&data); + at->BroadcastEvent(ERR_ARENA_TEAM_REMOVE_SSS, 0, 3, name, at->GetName(), _player->GetName()); } void WorldSession::HandleArenaTeamLeaderOpcode(WorldPacket & recv_data) @@ -329,9 +326,7 @@ void WorldSession::HandleArenaTeamLeaderOpcode(WorldPacket & recv_data) at->SetCaptain(member->guid); // event - WorldPacket data; - BuildArenaTeamEventPacket(&data, ERR_ARENA_TEAM_LEADER_CHANGED_SSS, 3, _player->GetName(), name, at->GetName()); - at->BroadcastPacket(&data); + at->BroadcastEvent(ERR_ARENA_TEAM_LEADER_CHANGED_SSS, 0, 3, _player->GetName(), name, at->GetName()); } void WorldSession::SendArenaTeamCommandResult(uint32 team_action, const std::string& team, const std::string& player, uint32 error_id) @@ -344,31 +339,6 @@ void WorldSession::SendArenaTeamCommandResult(uint32 team_action, const std::str SendPacket(&data); } -void WorldSession::BuildArenaTeamEventPacket(WorldPacket *data, uint8 eventid, uint8 str_count, const std::string& str1, const std::string& str2, const std::string& str3) -{ - data->Initialize(SMSG_ARENA_TEAM_EVENT, 1+1+1); - *data << eventid; - *data << str_count; - switch(str_count) - { - case 1: - *data << str1; - break; - case 2: - *data << str1; - *data << str2; - break; - case 3: - *data << str1; - *data << str2; - *data << str3; - break; - default: - sLog.outError("Unhandled str_count %u in SendArenaTeamEvent()", str_count); - return; - } -} - void WorldSession::SendNotInArenaTeamPacket(uint8 type) { WorldPacket data(SMSG_ARENA_ERROR, 4+1); // 886 - You are not in a %uv%u arena team diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index af055e7eb0b..84c893aa526 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -663,7 +663,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder) Guild* guild = objmgr.GetGuildById(pCurrChar->GetGuildId()); if (guild) { - data.Initialize(SMSG_GUILD_EVENT, (2+guild->GetMOTD().size()+1)); + data.Initialize(SMSG_GUILD_EVENT, (1+1+guild->GetMOTD().size()+1)); data << uint8(GE_MOTD); data << uint8(1); data << guild->GetMOTD(); @@ -672,13 +672,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder) guild->DisplayGuildBankTabsInfo(this); - data.Initialize(SMSG_GUILD_EVENT, (5+10)); // we guess size - data<<uint8(GE_SIGNED_ON); - data<<uint8(1); - data<< pCurrChar->GetName(); - data<< pCurrChar->GetGUID(); - guild->BroadcastPacket(&data); - DEBUG_LOG("WORLD: Sent guild-signed-on (SMSG_GUILD_EVENT)"); + guild->BroadcastEvent(GE_SIGNED_ON, pCurrChar->GetGUID(), 1, pCurrChar->GetName(), "", ""); } else { diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp index d58d5816277..b77bbf33864 100644 --- a/src/game/Guild.cpp +++ b/src/game/Guild.cpp @@ -475,21 +475,10 @@ void Guild::DelMember(uint64 guid, bool isDisbanding) // when leader non-exist (at guild load with deleted leader only) not send broadcasts if (oldLeader) { - WorldPacket data(SMSG_GUILD_EVENT, (1+1+(oldLeader->Name).size()+1+(best->Name).size()+1)); - data << (uint8)GE_LEADER_CHANGED; - data << (uint8)2; - data << oldLeader->Name; - data << best->Name; - BroadcastPacket(&data); - - data.Initialize(SMSG_GUILD_EVENT, (1+1+(oldLeader->Name).size()+1)); - data << (uint8)GE_LEFT; - data << (uint8)1; - data << oldLeader->Name; - BroadcastPacket(&data); - } + BroadcastEvent(GE_LEADER_CHANGED, 0, 2, oldLeader->Name, best->Name, ""); - sLog.outDebug("WORLD: Sent (SMSG_GUILD_EVENT)"); + BroadcastEvent(GE_LEFT, guid, 1, oldLeader->Name, "", ""); + } } members.erase(GUID_LOPART(guid)); @@ -689,9 +678,7 @@ int32 Guild::GetRank(uint32 LowGuid) void Guild::Disband() { - WorldPacket data(SMSG_GUILD_EVENT, 1); - data << (uint8)GE_DISBANDED; - BroadcastPacket(&data); + BroadcastEvent(GE_DISBANDED, 0, 0, "", "", ""); while (!members.empty()) { @@ -772,7 +759,7 @@ void Guild::Query(WorldSession *session) { WorldPacket data(SMSG_GUILD_QUERY_RESPONSE, (8*32+200));// we can only guess size - data << m_Id; + data << uint32(m_Id); data << m_Name; for (size_t i = 0 ; i < GUILD_RANKS_MAX_COUNT; ++i) // show always 10 ranks @@ -2294,6 +2281,38 @@ void Guild::MoveFromCharToBank(Player * pl, uint8 PlayerBag, uint8 PlayerSlot, u } } +void Guild::BroadcastEvent(GuildEvents event, uint64 guid, uint8 strCount, std::string str1, std::string str2, std::string str3) +{ + WorldPacket data(SMSG_GUILD_EVENT, 1+1+(guid ? 8 : 0)); + data << uint8(event); + data << uint8(strCount); + + switch(strCount) + { + case 0: + break; + case 1: + data << str1; + break; + case 2: + data << str1 << str2; + break; + case 3: + data << str1 << str2 << str3; + break; + default: + sLog.outError("Guild::BroadcastEvent: incorrect strings count %u!", strCount); + break; + } + + if(guid) + data << uint64(guid); + + BroadcastPacket(&data); + + sLog.outDebug("WORLD: Sent SMSG_GUILD_EVENT"); +} + bool GuildItemPosCount::isContainedIn(GuildItemPosCountVec const &vec) const { for (GuildItemPosCountVec::const_iterator itr = vec.begin(); itr != vec.end(); ++itr) diff --git a/src/game/Guild.h b/src/game/Guild.h index c33f727b95c..717306688b4 100644 --- a/src/game/Guild.h +++ b/src/game/Guild.h @@ -72,61 +72,60 @@ enum Typecommand GUILD_INVITE_S = 0x01, GUILD_QUIT_S = 0x03, GUILD_FOUNDER_S = 0x0E, - GUILD_UNK1 = 0x10, - GUILD_BANK_S = 0x15, - GUILD_UNK3 = 0x16 + GUILD_UNK1 = 0x13, + GUILD_UNK2 = 0x14 }; enum CommandErrors { - GUILD_PLAYER_NO_MORE_IN_GUILD = 0x00, - GUILD_INTERNAL = 0x01, - GUILD_ALREADY_IN_GUILD = 0x02, - ALREADY_IN_GUILD = 0x03, - INVITED_TO_GUILD = 0x04, - ALREADY_INVITED_TO_GUILD = 0x05, - GUILD_NAME_INVALID = 0x06, - GUILD_NAME_EXISTS = 0x07, - GUILD_LEADER_LEAVE = 0x08, - GUILD_PERMISSIONS = 0x08, - GUILD_PLAYER_NOT_IN_GUILD = 0x09, - GUILD_PLAYER_NOT_IN_GUILD_S = 0x0A, - GUILD_PLAYER_NOT_FOUND = 0x0B, - GUILD_NOT_ALLIED = 0x0C, - GUILD_RANK_TOO_HIGH_S = 0x0D, - GUILD_ALREADY_LOWEST_RANK_S = 0x0E, - GUILD_TEMP_ERROR = 0x11, - GUILD_RANK_IN_USE = 0x12, - GUILD_IGNORE = 0x13, - GUILD_ERR_UNK1 = 0x17, - GUILD_WITHDRAW_TOO_MUCH = 0x18, - GUILD_BANK_NO_MONEY = 0x19, - GUILD_BANK_TAB_IS_FULL = 0x1B, - GUILD_BANK_ITEM_NOT_FOUND = 0x1C + ERR_PLAYER_NO_MORE_IN_GUILD = 0x00, + ERR_GUILD_INTERNAL = 0x01, + ERR_ALREADY_IN_GUILD = 0x02, + ERR_ALREADY_IN_GUILD_S = 0x03, + ERR_INVITED_TO_GUILD = 0x04, + ERR_ALREADY_INVITED_TO_GUILD_S = 0x05, + ERR_GUILD_NAME_INVALID = 0x06, + ERR_GUILD_NAME_EXISTS_S = 0x07, + ERR_GUILD_LEADER_LEAVE = 0x08, + ERR_GUILD_PERMISSIONS = 0x08, + ERR_GUILD_PLAYER_NOT_IN_GUILD = 0x09, + ERR_GUILD_PLAYER_NOT_IN_GUILD_S = 0x0A, + ERR_GUILD_PLAYER_NOT_FOUND_S = 0x0B, + ERR_GUILD_NOT_ALLIED = 0x0C, + ERR_GUILD_RANK_TOO_HIGH_S = 0x0D, + ERR_GUILD_RANK_TOO_LOW_S = 0x0E, + ERR_GUILD_RANKS_LOCKED = 0x11, + ERR_GUILD_RANK_IN_USE = 0x12, + ERR_GUILD_IGNORING_YOU_S = 0x13, + ERR_GUILD_UNK1 = 0x14, + ERR_GUILD_WITHDRAW_LIMIT = 0x19, + ERR_GUILD_NOT_ENOUGH_MONEY = 0x1A, + ERR_GUILD_BANK_FULL = 0x1C, + ERR_GUILD_ITEM_NOT_FOUND = 0x1D }; enum GuildEvents { - GE_PROMOTION = 0x00, - GE_DEMOTION = 0x01, - GE_MOTD = 0x02, - GE_JOINED = 0x03, - GE_LEFT = 0x04, - GE_REMOVED = 0x05, - GE_LEADER_IS = 0x06, - GE_LEADER_CHANGED = 0x07, - GE_DISBANDED = 0x08, - GE_TABARDCHANGE = 0x09, - GE_UNK1 = 0x0A, // string, string EVENT_GUILD_ROSTER_UPDATE - GE_UNK2 = 0x0B, // EVENT_GUILD_ROSTER_UPDATE - GE_SIGNED_ON = 0x0C, // ERR_FRIEND_ONLINE_SS - GE_SIGNED_OFF = 0x0D, // ERR_FRIEND_OFFLINE_S - GE_UNK3 = 0x0E, // EVENT_GUILDBANKBAGSLOTS_CHANGED - GE_BANKTAB_PURCHASED= 0x0F, // EVENT_GUILDBANK_UPDATE_TABS - GE_UNK5 = 0x10, // EVENT_GUILDBANK_UPDATE_TABS - GE_UNK6 = 0x11, // EVENT_GUILDBANK_UPDATE_MONEY, string 0000000000002710 is 1 gold - GE_UNK7 = 0x12, // MSG_GUILD_BANK_MONEY_WITHDRAWN - GE_UNK8 = 0x13 // EVENT_GUILDBANK_TEXT_CHANGED + GE_PROMOTION = 0x00, + GE_DEMOTION = 0x01, + GE_MOTD = 0x02, + GE_JOINED = 0x03, + GE_LEFT = 0x04, + GE_REMOVED = 0x05, + GE_LEADER_IS = 0x06, + GE_LEADER_CHANGED = 0x07, + GE_DISBANDED = 0x08, + GE_TABARDCHANGE = 0x09, + GE_UNK1 = 0x0A, // string, string EVENT_GUILD_ROSTER_UPDATE tab content change? + GE_UNK2 = 0x0B, // EVENT_GUILD_ROSTER_UPDATE + GE_SIGNED_ON = 0x0C, // ERR_FRIEND_ONLINE_SS + GE_SIGNED_OFF = 0x0D, // ERR_FRIEND_OFFLINE_S + GE_GUILDBANKBAGSLOTS_CHANGED = 0x0E, // EVENT_GUILDBANKBAGSLOTS_CHANGED + GE_BANKTAB_PURCHASED = 0x0F, // EVENT_GUILDBANK_UPDATE_TABS + GE_UNK5 = 0x10, // EVENT_GUILDBANK_UPDATE_TABS + GE_GUILDBANK_UPDATE_MONEY = 0x11, // EVENT_GUILDBANK_UPDATE_MONEY, string 0000000000002710 is 1 gold + GE_GUILD_BANK_MONEY_WITHDRAWN = 0x12, // MSG_GUILD_BANK_MONEY_WITHDRAWN + GE_GUILDBANK_TEXT_CHANGED = 0x13 // EVENT_GUILDBANK_TEXT_CHANGED }; enum PetitionTurns @@ -336,6 +335,7 @@ class Guild void BroadcastToOfficers(WorldSession *session, const std::string& msg, uint32 language = LANG_UNIVERSAL); void BroadcastPacketToRank(WorldPacket *packet, uint32 rankId); void BroadcastPacket(WorldPacket *packet); + void BroadcastEvent(GuildEvents event, uint64 guid, uint8 strCount, std::string str1, std::string str2, std::string str3); template<class Do> void BroadcastWorker(Do& _do, Player* except = NULL) 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) */ diff --git a/src/game/PetitionsHandler.cpp b/src/game/PetitionsHandler.cpp index 95a1e0beb87..2c80f7468f3 100644 --- a/src/game/PetitionsHandler.cpp +++ b/src/game/PetitionsHandler.cpp @@ -149,12 +149,12 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recv_data) { if (objmgr.GetGuildByName(name)) { - SendGuildCommandResult(GUILD_CREATE_S, name, GUILD_NAME_EXISTS); + SendGuildCommandResult(GUILD_CREATE_S, name, ERR_GUILD_NAME_EXISTS_S); return; } if (objmgr.IsReservedName(name) || !ObjectMgr::IsValidCharterName(name)) { - SendGuildCommandResult(GUILD_CREATE_S, name, GUILD_NAME_INVALID); + SendGuildCommandResult(GUILD_CREATE_S, name, ERR_GUILD_NAME_INVALID); return; } } @@ -268,17 +268,17 @@ void WorldSession::HandlePetitionShowSignOpcode(WorldPacket & recv_data) sLog.outDebug("CMSG_PETITION_SHOW_SIGNATURES petition entry: '%u'", petitionguid_low); WorldPacket data(SMSG_PETITION_SHOW_SIGNATURES, (8+8+4+1+signs*12)); - data << petitionguid; // petition guid - data << _player->GetGUID(); // owner guid - data << petitionguid_low; // guild guid (in Trinity always same as GUID_LOPART(petitionguid) - data << signs; // sign's count + data << uint64(petitionguid); // petition guid + data << uint64(_player->GetGUID()); // owner guid + data << uint32(petitionguid_low); // guild guid (in mangos always same as GUID_LOPART(petitionguid) + data << uint8(signs); // sign's count for (uint8 i = 1; i <= signs; ++i) { Field *fields2 = result->Fetch(); uint64 plguid = fields2[0].GetUInt64(); - data << plguid; // Player GUID + data << uint64(plguid); // Player GUID data << (uint32)0; // there 0 ... result->NextRow(); @@ -429,7 +429,7 @@ void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recv_data) sLog.outDebug("Petition (GUID: %u) renamed to '%s'", GUID_LOPART(petitionguid), newname.c_str()); WorldPacket data(MSG_PETITION_RENAME, (8+newname.size()+1)); - data << petitionguid; + data << uint64(petitionguid); data << newname; SendPacket(&data); } @@ -472,7 +472,7 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recv_data) if (type != 9) SendArenaTeamCommandResult(ERR_ARENA_TEAM_INVITE_SS, "", "", ERR_ARENA_TEAM_NOT_ALLIED); else - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_NOT_ALLIED); + SendGuildCommandResult(GUILD_CREATE_S, "", ERR_GUILD_NOT_ALLIED); return; } @@ -480,7 +480,7 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recv_data) { if (_player->getLevel() < sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", _player->GetName(), ERR_ARENA_TEAM_PLAYER_TO_LOW); + SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", _player->GetName(), ERR_ARENA_TEAM_TARGET_TOO_LOW_S); return; } @@ -504,7 +504,7 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recv_data) { if (_player->GetGuildId()) { - SendGuildCommandResult(GUILD_INVITE_S, _player->GetName(), ALREADY_IN_GUILD); + SendGuildCommandResult(GUILD_INVITE_S, _player->GetName(), ERR_ALREADY_IN_GUILD_S); return; } if (_player->GetGuildIdInvited()) @@ -524,8 +524,8 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recv_data) if (result) { WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8+8+4)); - data << petitionguid; - data << _player->GetGUID(); + data << uint64(petitionguid); + data << uint64(_player->GetGUID()); data << (uint32)PETITION_SIGN_ALREADY_SIGNED; // close at signer side @@ -542,8 +542,8 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recv_data) sLog.outDebug("PETITION SIGN: GUID %u by player: %s (GUID: %u Account: %u)", GUID_LOPART(petitionguid), _player->GetName(),plguidlo,GetAccountId()); WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8+8+4)); - data << petitionguid; - data << _player->GetGUID(); + data << uint64(petitionguid); + data << uint64(_player->GetGUID()) data << (uint32)PETITION_SIGN_OK; // close at signer side @@ -580,7 +580,7 @@ void WorldSession::HandlePetitionDeclineOpcode(WorldPacket & recv_data) if (owner) // petition owner online { WorldPacket data(MSG_PETITION_DECLINE, 8); - data << _player->GetGUID(); + data << uint64(_player->GetGUID()); owner->GetSession()->SendPacket(&data); } } @@ -616,7 +616,7 @@ void WorldSession::HandleOfferPetitionOpcode(WorldPacket & recv_data) if (type != 9) SendArenaTeamCommandResult(ERR_ARENA_TEAM_INVITE_SS, "", "", ERR_ARENA_TEAM_NOT_ALLIED); else - SendGuildCommandResult(GUILD_CREATE_S, "", GUILD_NOT_ALLIED); + SendGuildCommandResult(GUILD_CREATE_S, "", ERR_GUILD_NOT_ALLIED); return; } @@ -650,7 +650,7 @@ void WorldSession::HandleOfferPetitionOpcode(WorldPacket & recv_data) { if (player->GetGuildId()) { - SendGuildCommandResult(GUILD_INVITE_S, _player->GetName(), ALREADY_IN_GUILD); + SendGuildCommandResult(GUILD_INVITE_S, _player->GetName(), ERR_ALREADY_IN_GUILD_S); return; } @@ -667,17 +667,17 @@ void WorldSession::HandleOfferPetitionOpcode(WorldPacket & recv_data) signs = result->GetRowCount(); WorldPacket data(SMSG_PETITION_SHOW_SIGNATURES, (8+8+4+signs+signs*12)); - data << petitionguid; // petition guid - data << _player->GetGUID(); // owner guid - data << GUID_LOPART(petitionguid); // guild guid (in Trinity always same as GUID_LOPART(petition guid) - data << signs; // sign's count + data << uint64(petitionguid); // petition guid + data << uint64(_player->GetGUID()); // owner guid + data << uint32(GUID_LOPART(petitionguid)); // guild guid (in mangos always same as GUID_LOPART(petition guid) + data << uint8(signs); // sign's count for (uint8 i = 1; i <= signs; ++i) { Field *fields2 = result->Fetch(); plguid = fields2[0].GetUInt64(); - data << plguid; // Player GUID + data << uint64(plguid); // Player GUID data << (uint32)0; // there 0 ... result->NextRow(); @@ -772,7 +772,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recv_data) { if (objmgr.GetGuildByName(name)) { - SendGuildCommandResult(GUILD_CREATE_S, name, GUILD_NAME_EXISTS); + SendGuildCommandResult(GUILD_CREATE_S, name, ERR_GUILD_NAME_EXISTS_S); return; } } diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 98e8dec9e69..5c938400080 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -6334,16 +6334,9 @@ void Player::RewardReputation(Quest const *pQuest) } else { - uint32 row = 1; - int32 field = 0; + uint32 row = ((pQuest->RewRepValueId[i] < 0) ? 1 : 0) + 1; + uint32 field = abs(pQuest->RewRepValueId[i]); - if (pQuest->RewRepValueId[i] < 0) - { - ++row; - field = abs(pQuest->RewRepValueId[i]); - } - else - field = pQuest->RewRepValueId[i]; if (const QuestFactionRewEntry *pRow = sQuestFactionRewardStore.LookupEntry(row)) { int32 repPoints = pRow->QuestRewFactionValue[field]; diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index b51170f117b..5decb5d9ecd 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -391,12 +391,7 @@ void WorldSession::LogoutPlayer(bool Save) guild->SetMemberStats(_player->GetGUID()); guild->UpdateLogoutTime(_player->GetGUID()); - WorldPacket data(SMSG_GUILD_EVENT, (1+1+12+8)); // name limited to 12 in character table. - data<<(uint8)GE_SIGNED_OFF; - data<<(uint8)1; - data<<_player->GetName(); - data<<_player->GetGUID(); - guild->BroadcastPacket(&data); + guild->BroadcastEvent(GE_SIGNED_OFF, _player->GetGUID(), 1, _player->GetName(), "", ""); } ///- Remove pet diff --git a/src/game/WorldSession.h b/src/game/WorldSession.h index cdb42cfadb7..548a126ad25 100644 --- a/src/game/WorldSession.h +++ b/src/game/WorldSession.h @@ -233,7 +233,6 @@ class WorldSession // Guild/Arena Team void SendGuildCommandResult(uint32 typecmd, const std::string& str, uint32 cmdresult); void SendArenaTeamCommandResult(uint32 team_action, const std::string& team, const std::string& player, uint32 error_id); - void BuildArenaTeamEventPacket(WorldPacket *data, uint8 eventid, uint8 str_count, const std::string& str1, const std::string& str2, const std::string& str3); void SendNotInArenaTeamPacket(uint8 type); void SendPetitionShowList(uint64 guid); void SendSaveGuildEmblem(uint32 msg); |