diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 13 | ||||
-rw-r--r-- | src/server/game/Guilds/Guild.h | 8 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 33516b8fd82..1c485e2f749 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -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(); } diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index 4160edf5250..c090dbe52e6 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -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; } |