aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Guilds/Guild.cpp13
-rw-r--r--src/server/game/Guilds/Guild.h8
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;
}