mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Core/Groups: Use full guid for guild member storage
This commit is contained in:
@@ -2431,7 +2431,8 @@ bool Guild::LoadMemberFromDB(Field* fields)
|
||||
delete member;
|
||||
return false;
|
||||
}
|
||||
m_members[lowguid] = member;
|
||||
|
||||
m_members[member->GetGUID()] = member;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2721,7 +2722,7 @@ bool Guild::AddMember(ObjectGuid guid, uint8 rankId)
|
||||
std::string name;
|
||||
if (player)
|
||||
{
|
||||
m_members[lowguid] = member;
|
||||
m_members[guid] = member;
|
||||
player->SetInGuild(m_id);
|
||||
player->SetGuildIdInvited(0);
|
||||
player->SetRank(rankId);
|
||||
@@ -2757,7 +2758,7 @@ bool Guild::AddMember(ObjectGuid guid, uint8 rankId)
|
||||
delete member;
|
||||
return false;
|
||||
}
|
||||
m_members[lowguid] = member;
|
||||
m_members[guid] = member;
|
||||
}
|
||||
|
||||
SQLTransaction trans(NULL);
|
||||
@@ -2787,7 +2788,7 @@ void Guild::DeleteMember(ObjectGuid guid, bool isDisbanding, bool isKicked, bool
|
||||
Member* newLeader = NULL;
|
||||
for (Guild::Members::iterator i = m_members.begin(); i != m_members.end(); ++i)
|
||||
{
|
||||
if (i->first == lowguid)
|
||||
if (i->first == guid)
|
||||
oldLeader = i->second;
|
||||
else if (!newLeader || newLeader->GetRankId() > i->second->GetRankId())
|
||||
newLeader = i->second;
|
||||
@@ -2819,7 +2820,7 @@ void Guild::DeleteMember(ObjectGuid guid, bool isDisbanding, bool isKicked, bool
|
||||
|
||||
if (Member* member = GetMember(guid))
|
||||
delete member;
|
||||
m_members.erase(lowguid);
|
||||
m_members.erase(guid);
|
||||
|
||||
// If player not online data in data field will be loaded from guild tabs no need to update it !!
|
||||
if (player)
|
||||
@@ -2852,7 +2853,7 @@ bool Guild::ChangeMemberRank(ObjectGuid guid, uint8 newRank)
|
||||
|
||||
bool Guild::IsMember(ObjectGuid guid) const
|
||||
{
|
||||
Members::const_iterator itr = m_members.find(guid.GetCounter());
|
||||
Members::const_iterator itr = m_members.find(guid);
|
||||
return itr != m_members.end();
|
||||
}
|
||||
|
||||
|
||||
@@ -378,7 +378,7 @@ private:
|
||||
bool LoadFromDB(Field* fields);
|
||||
void SaveToDB(SQLTransaction& trans) const;
|
||||
|
||||
ObjectGuid GetGUID() const { return m_guid; }
|
||||
ObjectGuid const& GetGUID() const { return m_guid; }
|
||||
std::string const& GetName() const { return m_name; }
|
||||
uint32 GetAccountId() const { return m_accountId; }
|
||||
uint8 GetRankId() const { return m_rankId; }
|
||||
@@ -759,7 +759,7 @@ private:
|
||||
void CanStoreItemInTab(Item* pItem, uint8 skipSlotId, bool merge, uint32& count);
|
||||
};
|
||||
|
||||
typedef std::unordered_map<uint32, Member*> Members;
|
||||
typedef std::unordered_map<ObjectGuid, Member*> Members;
|
||||
typedef std::vector<RankInfo> Ranks;
|
||||
typedef std::vector<BankTab*> BankTabs;
|
||||
|
||||
@@ -939,13 +939,13 @@ private:
|
||||
|
||||
inline const Member* GetMember(ObjectGuid guid) const
|
||||
{
|
||||
Members::const_iterator itr = m_members.find(guid.GetCounter());
|
||||
Members::const_iterator itr = m_members.find(guid);
|
||||
return itr != m_members.end() ? itr->second : NULL;
|
||||
}
|
||||
|
||||
inline Member* GetMember(ObjectGuid guid)
|
||||
{
|
||||
Members::iterator itr = m_members.find(guid.GetCounter());
|
||||
Members::iterator itr = m_members.find(guid);
|
||||
return itr != m_members.end() ? itr->second : NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user