Skip to content

Commit 3c83d99

Browse files
committed
Core/Guilds: Use full guid for guild member storage
(cherry picked from commit f13d0da)
1 parent d2da9ce commit 3c83d99

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/server/game/Guilds/Guild.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1949,7 +1949,7 @@ bool Guild::LoadMemberFromDB(Field* fields)
19491949
ObjectGuid::LowType lowguid = fields[1].GetUInt32();
19501950
ObjectGuid playerGuid(HighGuid::Player, lowguid);
19511951

1952-
auto [memberIt, isNew] = m_members.try_emplace(lowguid, m_id, playerGuid, fields[2].GetUInt8());
1952+
auto [memberIt, isNew] = m_members.try_emplace(playerGuid, m_id, playerGuid, fields[2].GetUInt8());
19531953
if (!isNew)
19541954
{
19551955
TC_LOG_ERROR("guild", "Tried to add {} to guild '{}'. Member already exists.", playerGuid.ToString(), m_name);
@@ -2206,7 +2206,7 @@ bool Guild::AddMember(CharacterDatabaseTransaction trans, ObjectGuid guid, uint8
22062206
if (rankId == GUILD_RANK_NONE)
22072207
rankId = _GetLowestRankId();
22082208

2209-
auto [memberIt, isNew] = m_members.try_emplace(lowguid, m_id, guid, rankId);
2209+
auto [memberIt, isNew] = m_members.try_emplace(guid, m_id, guid, rankId);
22102210
if (!isNew)
22112211
{
22122212
TC_LOG_ERROR("guild", "Tried to add {} to guild '{}'. Member already exists.", guid.ToString(), m_name);
@@ -2279,7 +2279,7 @@ bool Guild::DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bo
22792279
Member* newLeader = nullptr;
22802280
for (auto& [memberGuid, member] : m_members)
22812281
{
2282-
if (memberGuid == lowguid)
2282+
if (memberGuid == guid)
22832283
oldLeader = &member;
22842284
else if (!newLeader || newLeader->GetRankId() > member.GetRankId())
22852285
newLeader = &member;
@@ -2307,7 +2307,7 @@ bool Guild::DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bo
23072307
// Call script on remove before member is actually removed from guild (and database)
23082308
sScriptMgr->OnGuildRemoveMember(this, player, isDisbanding, isKicked);
23092309

2310-
m_members.erase(lowguid);
2310+
m_members.erase(guid);
23112311

23122312
// If player not online data in data field will be loaded from guild tabs no need to update it !!
23132313
if (player)
@@ -2347,7 +2347,7 @@ bool Guild::ChangeMemberRank(CharacterDatabaseTransaction trans, ObjectGuid guid
23472347

23482348
bool Guild::IsMember(ObjectGuid guid) const
23492349
{
2350-
return m_members.find(guid.GetCounter()) != m_members.end();
2350+
return m_members.find(guid) != m_members.end();
23512351
}
23522352

23532353
uint64 Guild::GetMemberAvailableMoneyForRepairItems(ObjectGuid guid) const

src/server/game/Guilds/Guild.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ class TC_GAME_API Guild
746746
uint64 m_bankMoney;
747747

748748
std::vector<RankInfo> m_ranks;
749-
std::unordered_map<uint32, Member> m_members;
749+
std::unordered_map<ObjectGuid, Member> m_members;
750750
std::vector<BankTab> m_bankTabs;
751751

752752
// These are actually ordered lists. The first element is the oldest entry.
@@ -769,13 +769,13 @@ class TC_GAME_API Guild
769769

770770
inline Member const* GetMember(ObjectGuid guid) const
771771
{
772-
auto itr = m_members.find(guid.GetCounter());
772+
auto itr = m_members.find(guid);
773773
return (itr != m_members.end()) ? &itr->second : nullptr;
774774
}
775775

776776
inline Member* GetMember(ObjectGuid guid)
777777
{
778-
auto itr = m_members.find(guid.GetCounter());
778+
auto itr = m_members.find(guid);
779779
return (itr != m_members.end()) ? &itr->second : nullptr;
780780
}
781781

0 commit comments

Comments
 (0)