aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Guilds/Guild.cpp2
-rw-r--r--src/server/game/Guilds/GuildFinderMgr.cpp52
-rw-r--r--src/server/game/Guilds/GuildFinderMgr.h52
-rw-r--r--src/server/game/Handlers/GuildFinderHandler.cpp59
4 files changed, 82 insertions, 83 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 175e9fe5813..0d3fb635a40 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -1307,7 +1307,7 @@ void Guild::Disband()
CharacterDatabase.CommitTransaction(trans);
- sGuildFinderMgr->DeleteGuild(m_id);
+ sGuildFinderMgr->DeleteGuild(GetGUID());
sGuildMgr->RemoveGuild(m_id);
}
diff --git a/src/server/game/Guilds/GuildFinderMgr.cpp b/src/server/game/Guilds/GuildFinderMgr.cpp
index ee01bbf5467..c3fa5380e11 100644
--- a/src/server/game/Guilds/GuildFinderMgr.cpp
+++ b/src/server/game/Guilds/GuildFinderMgr.cpp
@@ -54,7 +54,7 @@ void GuildFinderMgr::LoadGuildSettings()
do
{
Field* fields = result->Fetch();
- uint32 guildId = fields[0].GetUInt32();
+ ObjectGuid guildId(HIGHGUID_GUILD, fields[0].GetUInt32());
uint8 availability = fields[1].GetUInt8();
uint8 classRoles = fields[2].GetUInt8();
uint8 interests = fields[3].GetUInt8();
@@ -94,15 +94,15 @@ void GuildFinderMgr::LoadMembershipRequests()
do
{
Field* fields = result->Fetch();
- uint32 guildId = fields[0].GetUInt32();
- uint32 playerId = fields[1].GetUInt32();
+ ObjectGuid guildId(HIGHGUID_GUILD, fields[0].GetUInt32());
+ ObjectGuid playerId(HIGHGUID_PLAYER, fields[1].GetUInt32());
uint8 availability = fields[2].GetUInt8();
uint8 classRoles = fields[3].GetUInt8();
uint8 interests = fields[4].GetUInt8();
std::string comment = fields[5].GetString();
uint32 submitTime = fields[6].GetUInt32();
- MembershipRequest request(ObjectGuid(HIGHGUID_PLAYER, playerId), guildId, availability, classRoles, interests, comment, time_t(submitTime));
+ MembershipRequest request(playerId, guildId, availability, classRoles, interests, comment, time_t(submitTime));
_membershipRequests[guildId].push_back(request);
@@ -112,14 +112,14 @@ void GuildFinderMgr::LoadMembershipRequests()
TC_LOG_INFO("server.loading", ">> Loaded %u guild finder membership requests in %u ms.", count, GetMSTimeDiffToNow(oldMSTime));
}
-void GuildFinderMgr::AddMembershipRequest(uint32 guildGuid, MembershipRequest const& request)
+void GuildFinderMgr::AddMembershipRequest(ObjectGuid const& guildGuid, MembershipRequest const& request)
{
_membershipRequests[guildGuid].push_back(request);
SQLTransaction trans = CharacterDatabase.BeginTransaction();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_APPLICANT);
- stmt->setUInt32(0, request.GetGuildId());
- stmt->setUInt32(1, request.GetPlayerGUID());
+ stmt->setUInt32(0, request.GetGuildGuid().GetCounter());
+ stmt->setUInt32(1, request.GetPlayerGUID().GetCounter());
stmt->setUInt8(2, request.GetAvailability());
stmt->setUInt8(3, request.GetClassRoles());
stmt->setUInt8(4, request.GetInterests());
@@ -133,11 +133,11 @@ void GuildFinderMgr::AddMembershipRequest(uint32 guildGuid, MembershipRequest co
SendMembershipRequestListUpdate(*player);
// Notify the guild master and officers the list changed
- if (Guild* guild = sGuildMgr->GetGuildById(guildGuid))
+ if (Guild* guild = sGuildMgr->GetGuildByGuid(guildGuid))
SendApplicantListUpdate(*guild);
}
-void GuildFinderMgr::RemoveAllMembershipRequestsFromPlayer(ObjectGuid playerId)
+void GuildFinderMgr::RemoveAllMembershipRequestsFromPlayer(ObjectGuid const& playerId)
{
for (MembershipRequestStore::iterator itr = _membershipRequests.begin(); itr != _membershipRequests.end(); ++itr)
{
@@ -151,20 +151,20 @@ void GuildFinderMgr::RemoveAllMembershipRequestsFromPlayer(ObjectGuid playerId)
SQLTransaction trans = CharacterDatabase.BeginTransaction();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT);
- stmt->setUInt32(0, itr2->GetGuildId());
- stmt->setUInt32(1, itr2->GetPlayerGUID());
+ stmt->setUInt32(0, itr2->GetGuildGuid().GetCounter());
+ stmt->setUInt32(1, itr2->GetPlayerGUID().GetCounter());
trans->Append(stmt);
CharacterDatabase.CommitTransaction(trans);
itr->second.erase(itr2);
// Notify the guild master and officers the list changed
- if (Guild* guild = sGuildMgr->GetGuildById(itr->first))
+ if (Guild* guild = sGuildMgr->GetGuildByGuid(itr->first))
SendApplicantListUpdate(*guild);
}
}
-void GuildFinderMgr::RemoveMembershipRequest(uint32 playerId, uint32 guildId)
+void GuildFinderMgr::RemoveMembershipRequest(ObjectGuid const& playerId, ObjectGuid const& guildId)
{
std::vector<MembershipRequest>::iterator itr = _membershipRequests[guildId].begin();
for (; itr != _membershipRequests[guildId].end(); ++itr)
@@ -177,7 +177,7 @@ void GuildFinderMgr::RemoveMembershipRequest(uint32 playerId, uint32 guildId)
SQLTransaction trans = CharacterDatabase.BeginTransaction();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT);
- stmt->setUInt32(0, itr->GetGuildId());
+ stmt->setUInt32(0, itr->GetGuildGuid().GetCounter());
stmt->setUInt32(1, itr->GetPlayerGUID().GetCounter());
trans->Append(stmt);
@@ -190,11 +190,11 @@ void GuildFinderMgr::RemoveMembershipRequest(uint32 playerId, uint32 guildId)
SendMembershipRequestListUpdate(*player);
// Notify the guild master and officers the list changed
- if (Guild* guild = sGuildMgr->GetGuildById(guildId))
+ if (Guild* guild = sGuildMgr->GetGuildByGuid(guildId))
SendApplicantListUpdate(*guild);
}
-std::list<MembershipRequest> GuildFinderMgr::GetAllMembershipRequestsForPlayer(uint32 playerGuid)
+std::list<MembershipRequest> GuildFinderMgr::GetAllMembershipRequestsForPlayer(ObjectGuid const& playerGuid)
{
std::list<MembershipRequest> resultSet;
for (MembershipRequestStore::const_iterator itr = _membershipRequests.begin(); itr != _membershipRequests.end(); ++itr)
@@ -212,7 +212,7 @@ std::list<MembershipRequest> GuildFinderMgr::GetAllMembershipRequestsForPlayer(u
return resultSet;
}
-uint8 GuildFinderMgr::CountRequestsFromPlayer(uint32 playerId)
+uint8 GuildFinderMgr::CountRequestsFromPlayer(ObjectGuid const& playerId)
{
uint8 result = 0;
for (MembershipRequestStore::const_iterator itr = _membershipRequests.begin(); itr != _membershipRequests.end(); ++itr)
@@ -256,7 +256,7 @@ LFGuildStore GuildFinderMgr::GetGuildsMatchingSetting(LFGuildPlayer& settings, T
return resultSet;
}
-bool GuildFinderMgr::HasRequest(uint32 playerId, uint32 guildId)
+bool GuildFinderMgr::HasRequest(ObjectGuid const& playerId, ObjectGuid const& guildId)
{
for (std::vector<MembershipRequest>::const_iterator itr = _membershipRequests[guildId].begin(); itr != _membershipRequests[guildId].end(); ++itr)
if (itr->GetPlayerGUID() == playerId)
@@ -264,14 +264,14 @@ bool GuildFinderMgr::HasRequest(uint32 playerId, uint32 guildId)
return false;
}
-void GuildFinderMgr::SetGuildSettings(uint32 guildGuid, LFGuildSettings const& settings)
+void GuildFinderMgr::SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettings const& settings)
{
_guildSettings[guildGuid] = settings;
SQLTransaction trans = CharacterDatabase.BeginTransaction();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_GUILD_SETTINGS);
- stmt->setUInt32(0, settings.GetGUID());
+ stmt->setUInt32(0, settings.GetGUID().GetCounter());
stmt->setUInt8(1, settings.GetAvailability());
stmt->setUInt8(2, settings.GetClassRoles());
stmt->setUInt8(3, settings.GetInterests());
@@ -283,22 +283,20 @@ void GuildFinderMgr::SetGuildSettings(uint32 guildGuid, LFGuildSettings const& s
CharacterDatabase.CommitTransaction(trans);
}
-void GuildFinderMgr::DeleteGuild(uint32 guildId)
+void GuildFinderMgr::DeleteGuild(ObjectGuid const& guildId)
{
std::vector<MembershipRequest>::iterator itr = _membershipRequests[guildId].begin();
while (itr != _membershipRequests[guildId].end())
{
SQLTransaction trans = CharacterDatabase.BeginTransaction();
- uint32 applicant = itr->GetPlayerGUID();
-
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT);
- stmt->setUInt32(0, itr->GetGuildId());
- stmt->setUInt32(1, applicant);
+ stmt->setUInt32(0, itr->GetGuildGuid().GetCounter());
+ stmt->setUInt32(1, itr->GetPlayerGUID().GetCounter());
trans->Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_GUILD_SETTINGS);
- stmt->setUInt32(0, itr->GetGuildId());
+ stmt->setUInt32(0, itr->GetGuildGuid().GetCounter());
trans->Append(stmt);
CharacterDatabase.CommitTransaction(trans);
@@ -314,7 +312,7 @@ void GuildFinderMgr::DeleteGuild(uint32 guildId)
_guildSettings.erase(guildId);
// Notify the guild master the list changed (even if he's not a GM any more, not sure if needed)
- if (Guild* guild = sGuildMgr->GetGuildById(guildId))
+ if (Guild* guild = sGuildMgr->GetGuildByGuid(guildId))
SendApplicantListUpdate(*guild);
}
diff --git a/src/server/game/Guilds/GuildFinderMgr.h b/src/server/game/Guilds/GuildFinderMgr.h
index c110dee871e..b1c57f230dd 100644
--- a/src/server/game/Guilds/GuildFinderMgr.h
+++ b/src/server/game/Guilds/GuildFinderMgr.h
@@ -64,20 +64,20 @@ struct MembershipRequest
_availability = settings.GetAvailability();
_classRoles = settings.GetClassRoles();
_interests = settings.GetInterests();
- _guildId = settings.GetGuildId();
+ _guildId = settings.GetGuildGuid();
_playerGUID = settings.GetPlayerGUID();
_time = settings.GetSubmitTime();
}
- MembershipRequest(ObjectGuid playerGUID, uint32 guildId, uint32 availability, uint32 classRoles, uint32 interests, std::string& comment, time_t submitTime) :
+ MembershipRequest(ObjectGuid const& playerGUID, ObjectGuid const& guildId, uint32 availability, uint32 classRoles, uint32 interests, std::string& comment, time_t submitTime) :
_comment(comment), _guildId(guildId), _playerGUID(playerGUID), _availability(availability),
_classRoles(classRoles), _interests(interests), _time(submitTime) {}
- MembershipRequest() : _guildId(0), _availability(0), _classRoles(0),
+ MembershipRequest() : _availability(0), _classRoles(0),
_interests(0), _time(time(NULL)) {}
- uint32 GetGuildId() const { return _guildId; }
- ObjectGuid GetPlayerGUID() const { return _playerGUID; }
+ ObjectGuid const& GetGuildGuid() const { return _guildId; }
+ ObjectGuid const& GetPlayerGUID() const { return _playerGUID; }
uint8 GetAvailability() const { return _availability; }
uint8 GetClassRoles() const { return _classRoles; }
uint8 GetInterests() const { return _interests; }
@@ -90,7 +90,7 @@ struct MembershipRequest
private:
std::string _comment;
- uint32 _guildId;
+ ObjectGuid _guildId;
ObjectGuid _playerGUID;
uint8 _availability;
@@ -106,14 +106,13 @@ struct LFGuildPlayer
public:
LFGuildPlayer()
{
- _guid = 0;
_roles = 0;
_availability = 0;
_interests = 0;
_level = 0;
}
- LFGuildPlayer(uint32 guid, uint8 role, uint8 availability, uint8 interests, uint8 level)
+ LFGuildPlayer(ObjectGuid const& guid, uint8 role, uint8 availability, uint8 interests, uint8 level)
{
_guid = guid;
_roles = role;
@@ -122,7 +121,7 @@ struct LFGuildPlayer
_level = level;
}
- LFGuildPlayer(uint32 guid, uint8 role, uint8 availability, uint8 interests, uint8 level, std::string& comment) : _comment(comment)
+ LFGuildPlayer(ObjectGuid const& guid, uint8 role, uint8 availability, uint8 interests, uint8 level, std::string& comment) : _comment(comment)
{
_guid = guid;
_roles = role;
@@ -140,7 +139,7 @@ struct LFGuildPlayer
_level = settings.GetLevel();
}
- uint32 GetGUID() const { return _guid; }
+ ObjectGuid const& GetGUID() const { return _guid; }
uint8 GetClassRoles() const { return _roles; }
uint8 GetAvailability() const { return _availability; }
uint8 GetInterests() const { return _interests; }
@@ -149,7 +148,7 @@ struct LFGuildPlayer
private:
std::string _comment;
- uint32 _guid;
+ ObjectGuid _guid;
uint8 _roles;
uint8 _availability;
uint8 _interests;
@@ -164,16 +163,15 @@ struct LFGuildSettings : public LFGuildPlayer
LFGuildSettings(bool listed, TeamId team) : LFGuildPlayer(), _listed(listed), _team(team) {}
- LFGuildSettings(bool listed, TeamId team, uint32 guid, uint8 role, uint8 availability, uint8 interests, uint8 level) :
+ LFGuildSettings(bool listed, TeamId team, ObjectGuid const& guid, uint8 role, uint8 availability, uint8 interests, uint8 level) :
LFGuildPlayer(guid, role, availability, interests, level), _listed(listed), _team(team) {}
- LFGuildSettings(bool listed, TeamId team, uint32 guid, uint8 role, uint8 availability, uint8 interests, uint8 level, std::string& comment) :
+ LFGuildSettings(bool listed, TeamId team, ObjectGuid const& guid, uint8 role, uint8 availability, uint8 interests, uint8 level, std::string& comment) :
LFGuildPlayer(guid, role, availability, interests, level, comment), _listed(listed), _team(team) {}
LFGuildSettings(LFGuildSettings const& settings) :
LFGuildPlayer(settings), _listed(settings.IsListed()), _team(settings.GetTeam()) {}
-
bool IsListed() const { return _listed; }
void SetListed(bool state) { _listed = state; }
@@ -183,8 +181,8 @@ struct LFGuildSettings : public LFGuildPlayer
TeamId _team;
};
-typedef std::map<uint32 /* guildGuid */, LFGuildSettings> LFGuildStore;
-typedef std::map<uint32 /* guildGuid */, std::vector<MembershipRequest> > MembershipRequestStore;
+typedef std::map<ObjectGuid /* guildGuid */, LFGuildSettings> LFGuildStore;
+typedef std::map<ObjectGuid /* guildGuid */, std::vector<MembershipRequest> > MembershipRequestStore;
class GuildFinderMgr
{
@@ -207,48 +205,48 @@ class GuildFinderMgr
* @param guildGuid The guild's database guid.
* @param LFGuildSettings The guild's settings storage.
*/
- void SetGuildSettings(uint32 guildGuid, LFGuildSettings const& settings);
+ void SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettings const& settings);
/**
* @brief Returns settings for a guild.
* @param guildGuid The guild's database guid.
*/
- LFGuildSettings GetGuildSettings(uint32 guildGuid) { return _guildSettings[guildGuid]; }
+ LFGuildSettings GetGuildSettings(ObjectGuid const& guildGuid) { return _guildSettings[guildGuid]; }
/**
* @brief Files a membership request to a guild
* @param guildGuid The guild's database GUID.
* @param MembershipRequest An object storing all data related to the request.
*/
- void AddMembershipRequest(uint32 guildGuid, MembershipRequest const& request);
+ void AddMembershipRequest(ObjectGuid const& guildGuid, MembershipRequest const& request);
/**
* @brief Removes all membership request from a player.
* @param playerId The player's database guid whose application shall be deleted.
*/
- void RemoveAllMembershipRequestsFromPlayer(ObjectGuid playerId);
+ void RemoveAllMembershipRequestsFromPlayer(ObjectGuid const& playerId);
/**
* @brief Removes a membership request to a guild.
* @param playerId The player's database guid whose application shall be deleted.
* @param guildId The guild's database guid
*/
- void RemoveMembershipRequest(uint32 playerId, uint32 guildId);
+ void RemoveMembershipRequest(ObjectGuid const& playerId, ObjectGuid const& guildId);
/// Wipes everything related to a guild. Used when that guild is disbanded
- void DeleteGuild(uint32 guildId);
+ void DeleteGuild(ObjectGuid const& guildId);
/**
* @brief Returns a set of membership requests for a guild
* @param guildGuid The guild's database guid.
*/
- std::vector<MembershipRequest> GetAllMembershipRequestsForGuild(uint32 guildGuid) { return _membershipRequests[guildGuid]; }
+ std::vector<MembershipRequest> GetAllMembershipRequestsForGuild(ObjectGuid const& guildGuid) { return _membershipRequests[guildGuid]; }
/**
* @brief Returns a list of membership requests for a player.
* @param playerGuid The player's database guid.
*/
- std::list<MembershipRequest> GetAllMembershipRequestsForPlayer(uint32 playerGuid);
+ std::list<MembershipRequest> GetAllMembershipRequestsForPlayer(ObjectGuid const& playerGuid);
/**
* @brief Returns a store of guilds matching the settings provided, using bitmask operators.
@@ -257,11 +255,11 @@ class GuildFinderMgr
*/
LFGuildStore GetGuildsMatchingSetting(LFGuildPlayer& settings, TeamId faction);
- /// Provided a player DB guid and a guild DB guid, determines if a pending request is filed with these keys.
- bool HasRequest(uint32 playerId, uint32 guildId);
+ /// Provided a player guid and a guild guid, determines if a pending request is filed with these keys.
+ bool HasRequest(ObjectGuid const& playerId, ObjectGuid const& guildId);
/// Counts the amount of pending membership requests, given the player's db guid.
- uint8 CountRequestsFromPlayer(uint32 playerId);
+ uint8 CountRequestsFromPlayer(ObjectGuid const& playerId);
void SendApplicantListUpdate(Guild& guild);
void SendMembershipRequestListUpdate(Player& player);
diff --git a/src/server/game/Handlers/GuildFinderHandler.cpp b/src/server/game/Handlers/GuildFinderHandler.cpp
index 2dea43dcad1..9091bed97ad 100644
--- a/src/server/game/Handlers/GuildFinderHandler.cpp
+++ b/src/server/game/Handlers/GuildFinderHandler.cpp
@@ -26,7 +26,7 @@ void WorldSession::HandleGuildFinderAddRecruit(WorldPacket& recvPacket)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_LF_GUILD_ADD_RECRUIT");
- if (sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUIDLow()).size() == 10)
+ if (sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUID()).size() == 10)
return;
uint32 classRoles = 0;
@@ -58,8 +58,6 @@ void WorldSession::HandleGuildFinderAddRecruit(WorldPacket& recvPacket)
recvPacket.ReadByteSeq(guid[1]);
recvPacket.ReadByteSeq(guid[3]);
- uint32 guildLowGuid = guid.GetCounter();
-
if (!guid.IsGuild())
return;
if (!(classRoles & GUILDFINDER_ALL_ROLES) || classRoles > GUILDFINDER_ALL_ROLES)
@@ -69,8 +67,8 @@ void WorldSession::HandleGuildFinderAddRecruit(WorldPacket& recvPacket)
if (!(guildInterests & ALL_INTERESTS) || guildInterests > ALL_INTERESTS)
return;
- MembershipRequest request = MembershipRequest(GetPlayer()->GetGUID(), guildLowGuid, availability, classRoles, guildInterests, comment, time(NULL));
- sGuildFinderMgr->AddMembershipRequest(guildLowGuid, request);
+ MembershipRequest request = MembershipRequest(GetPlayer()->GetGUID(), guid, availability, classRoles, guildInterests, comment, time(NULL));
+ sGuildFinderMgr->AddMembershipRequest(guid, request);
}
void WorldSession::HandleGuildFinderBrowse(WorldPacket& recvPacket)
@@ -94,7 +92,7 @@ void WorldSession::HandleGuildFinderBrowse(WorldPacket& recvPacket)
Player* player = GetPlayer();
- LFGuildPlayer settings(player->GetGUIDLow(), classRoles, availability, guildInterests, ANY_FINDER_LEVEL);
+ LFGuildPlayer settings(player->GetGUID(), classRoles, availability, guildInterests, ANY_FINDER_LEVEL);
LFGuildStore guildList = sGuildFinderMgr->GetGuildsMatchingSetting(settings, player->GetTeamId());
uint32 guildCount = guildList.size();
@@ -112,9 +110,9 @@ void WorldSession::HandleGuildFinderBrowse(WorldPacket& recvPacket)
for (LFGuildStore::const_iterator itr = guildList.begin(); itr != guildList.end(); ++itr)
{
LFGuildSettings guildSettings = itr->second;
- Guild* guild = sGuildMgr->GetGuildById(itr->first);
+ Guild* guild = sGuildMgr->GetGuildByGuid(itr->first);
- ObjectGuid guildGUID = ObjectGuid(guild->GetGUID());
+ ObjectGuid guildGUID = guild->GetGUID();
data.WriteBit(guildGUID[7]);
data.WriteBit(guildGUID[5]);
@@ -150,7 +148,7 @@ void WorldSession::HandleGuildFinderBrowse(WorldPacket& recvPacket)
bufferData.WriteByteSeq(guildGUID[7]);
- bufferData << uint8(sGuildFinderMgr->HasRequest(player->GetGUIDLow(), guild->GetGUID())); // Request pending
+ bufferData << uint8(sGuildFinderMgr->HasRequest(player->GetGUID(), guild->GetGUID())); // Request pending
bufferData.WriteByteSeq(guildGUID[2]);
bufferData.WriteByteSeq(guildGUID[0]);
@@ -177,6 +175,11 @@ void WorldSession::HandleGuildFinderBrowse(WorldPacket& recvPacket)
void WorldSession::HandleGuildFinderDeclineRecruit(WorldPacket& recvPacket)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_LF_GUILD_DECLINE_RECRUIT");
+ if (!GetPlayer()->GetGuild())
+ {
+ recvPacket.rfinish();
+ return;
+ }
ObjectGuid playerGuid;
@@ -201,14 +204,14 @@ void WorldSession::HandleGuildFinderDeclineRecruit(WorldPacket& recvPacket)
if (!playerGuid.IsPlayer())
return;
- sGuildFinderMgr->RemoveMembershipRequest(playerGuid.GetCounter(), GetPlayer()->GetGuildId());
+ sGuildFinderMgr->RemoveMembershipRequest(playerGuid, GetPlayer()->GetGuild()->GetGUID());
}
void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_LF_GUILD_GET_APPLICATIONS"); // Empty opcode
- std::list<MembershipRequest> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUIDLow());
+ std::list<MembershipRequest> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUID());
uint32 applicationsCount = applicatedGuilds.size();
WorldPacket data(SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED, 7 + 54 * applicationsCount);
data.WriteBits(applicationsCount, 20);
@@ -218,8 +221,8 @@ void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/)
ByteBuffer bufferData(54 * applicationsCount);
for (std::list<MembershipRequest>::const_iterator itr = applicatedGuilds.begin(); itr != applicatedGuilds.end(); ++itr)
{
- Guild* guild = sGuildMgr->GetGuildById(itr->GetGuildId());
- LFGuildSettings guildSettings = sGuildFinderMgr->GetGuildSettings(itr->GetGuildId());
+ Guild* guild = sGuildMgr->GetGuildByGuid(itr->GetGuildGuid());
+ LFGuildSettings guildSettings = sGuildFinderMgr->GetGuildSettings(itr->GetGuildGuid());
MembershipRequest request = *itr;
ObjectGuid guildGuid = ObjectGuid(guild->GetGUID());
@@ -260,7 +263,7 @@ void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/)
data.FlushBits();
data.append(bufferData);
}
- data << uint32(10 - sGuildFinderMgr->CountRequestsFromPlayer(GetPlayer()->GetGUIDLow())); // Applications count left
+ data << uint32(10 - sGuildFinderMgr->CountRequestsFromPlayer(GetPlayer()->GetGUID())); // Applications count left
GetPlayer()->SendDirectMessage(&data);
}
@@ -274,10 +277,11 @@ void WorldSession::HandleGuildFinderGetRecruits(WorldPacket& recvPacket)
recvPacket >> unkTime;
Player* player = GetPlayer();
- if (!player->GetGuildId())
+ Guild* guild = player->GetGuild();
+ if (!guild)
return;
- std::vector<MembershipRequest> recruitsList = sGuildFinderMgr->GetAllMembershipRequestsForGuild(player->GetGuildId());
+ std::vector<MembershipRequest> recruitsList = sGuildFinderMgr->GetAllMembershipRequestsForGuild(guild->GetGUID());
uint32 recruitCount = recruitsList.size();
ByteBuffer dataBuffer(53 * recruitCount);
@@ -341,15 +345,13 @@ void WorldSession::HandleGuildFinderPostRequest(WorldPacket& /*recvPacket*/)
Player* player = GetPlayer();
- if (!player->GetGuildId()) // Player must be in guild
+ Guild* guild = player->GetGuild();
+ if (!guild) // Player must be in guild
return;
- bool isGuildMaster = true;
- if (Guild* guild = sGuildMgr->GetGuildById(player->GetGuildId()))
- if (guild->GetLeaderGUID() != player->GetGUID())
- isGuildMaster = false;
+ bool isGuildMaster = guild->GetLeaderGUID() == player->GetGUID();
- LFGuildSettings settings = sGuildFinderMgr->GetGuildSettings(player->GetGuildId());
+ LFGuildSettings settings = sGuildFinderMgr->GetGuildSettings(guild->GetGUID());
WorldPacket data(SMSG_LF_GUILD_POST_UPDATED, 35);
data.WriteBit(isGuildMaster); // Guessed
@@ -397,7 +399,7 @@ void WorldSession::HandleGuildFinderRemoveRecruit(WorldPacket& recvPacket)
if (!guildGuid.IsGuild())
return;
- sGuildFinderMgr->RemoveMembershipRequest(GetPlayer()->GetGUIDLow(), guildGuid.GetCounter());
+ sGuildFinderMgr->RemoveMembershipRequest(GetPlayer()->GetGUID(), guildGuid);
}
// Sent any time a guild master sets an option in the interface and when listing / unlisting his guild
@@ -433,10 +435,11 @@ void WorldSession::HandleGuildFinderSetGuildPost(WorldPacket& recvPacket)
if (!player->GetGuildId()) // Player must be in guild
return;
- if (Guild* guild = sGuildMgr->GetGuildById(player->GetGuildId())) // Player must be guild master
- if (guild->GetLeaderGUID() != player->GetGUID())
- return;
+ Guild* guild = sGuildMgr->GetGuildById(player->GetGuildId());
+ // Player must be guild master
+ if (guild->GetLeaderGUID() != player->GetGUID())
+ return;
- LFGuildSettings settings(listed, player->GetTeamId(), player->GetGuildId(), classRoles, availability, guildInterests, level, comment);
- sGuildFinderMgr->SetGuildSettings(player->GetGuildId(), settings);
+ LFGuildSettings settings(listed, player->GetTeamId(), guild->GetGUID(), classRoles, availability, guildInterests, level, comment);
+ sGuildFinderMgr->SetGuildSettings(guild->GetGUID(), settings);
}