[9327] Replace leader based indexing groups by group ids.

* This must repolve problem with loot.
  Before if some mob killed by group member and then leader changed
  then group members can't loot this mob body.
* Possible resolve crashes at loot. Now group storage content not dependent from leader changes.
This commit is contained in:
VladimirMangos 2010-02-08 08:19:35 +03:00
parent 5a7eb09bd2
commit 8e0069f364
8 changed files with 66 additions and 42 deletions

View file

@ -408,10 +408,10 @@ class ObjectMgr
void LoadGameobjectInfo();
void AddGameobjectInfo(GameObjectInfo *goinfo);
Group * GetGroupByLeaderLowGUID(uint32 lowguid) const;
Group* GetGroupById(uint32 id) const;
Group* GetGroupByLeaderLowGUID(uint32 guid) const; // slow way by leader guid
void AddGroup(Group* group);
void RemoveGroup(Group* group);
void UpdateGroup(uint32 old_guidlow, Group* group); // when need update leader guid as group key
Guild* GetGuildByLeader(uint64 const&guid) const;
Guild* GetGuildById(uint32 GuildId) const;
@ -656,6 +656,7 @@ class ObjectMgr
uint32 GenerateAuctionID();
uint64 GenerateEquipmentSetGuid();
uint32 GenerateGuildId();
uint32 GenerateGroupId();
uint32 GenerateItemTextID();
uint32 GenerateMailID();
uint32 GeneratePetNumber();
@ -894,8 +895,9 @@ class ObjectMgr
uint32 m_ItemTextId;
uint32 m_mailid;
uint32 m_hiPetNumber;
uint32 m_groupId;
// first free low guid for seelcted guid type
// first free low guid for selected guid type
uint32 m_hiCharGuid;
uint32 m_hiCreatureGuid;
uint32 m_hiItemGuid;