aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/ArenaTeam.cpp36
-rw-r--r--src/game/ArenaTeam.h13
-rw-r--r--src/game/ArenaTeamHandler.cpp56
-rw-r--r--src/game/CharacterHandler.cpp10
-rw-r--r--src/game/Guild.cpp55
-rw-r--r--src/game/Guild.h94
-rw-r--r--src/game/GuildHandler.cpp144
-rw-r--r--src/game/PetitionsHandler.cpp48
-rw-r--r--src/game/Player.cpp11
-rw-r--r--src/game/WorldSession.cpp7
-rw-r--r--src/game/WorldSession.h1
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);