diff options
| author | Trazom62 <none@none> | 2010-03-11 22:55:02 +0100 |
|---|---|---|
| committer | Trazom62 <none@none> | 2010-03-11 22:55:02 +0100 |
| commit | ed8c5ef6ffdbeadb600990fe683f5e20e8f31759 (patch) | |
| tree | a9628a30089fae19083326d8f38aa2b45f11b8cd /src/game/Group.h | |
| parent | d9f257a18c8e7984168d52b2d89b8e1582e27925 (diff) | |
Implement group loot for chest having GroupLootRules (go type=3, data15=1).
Implement round robin loot.
Implement round robin for underthreshold items (group loot and need befor greed).
Fix "all players pass" bug on creature.
Add SMSG_LOOT_LIST message to indicate looter (round robin or master).
And some other minor loot bugs.
Fixes issue #167.
Fixes issue #247.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Group.h')
| -rw-r--r-- | src/game/Group.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/game/Group.h b/src/game/Group.h index a28e7a25d1f..a95a09047ca 100644 --- a/src/game/Group.h +++ b/src/game/Group.h @@ -184,7 +184,7 @@ class Group void ChangeLeader(const uint64 &guid); void SetLootMethod(LootMethod method) { m_lootMethod = method; } void SetLooterGuid(const uint64 &guid) { m_looterGuid = guid; } - void UpdateLooterGuid( Creature* creature, bool ifneed = false ); + void UpdateLooterGuid(WorldObject* pLootedObject, bool ifneed = false); void SetLootThreshold(ItemQualities threshold) { m_lootThreshold = threshold; } void Disband(bool hideDestroy=false); @@ -324,9 +324,10 @@ class Group void SendLootRoll(const uint64& SourceGuid, const uint64& TargetGuid, uint8 RollNumber, uint8 RollType, const Roll &r); void SendLootRollWon(const uint64& SourceGuid, const uint64& TargetGuid, uint8 RollNumber, uint8 RollType, const Roll &r); void SendLootAllPassed(uint32 NumberOfPlayers, const Roll &r); - void GroupLoot(const uint64& playerGUID, Loot *loot, Creature *creature); - void NeedBeforeGreed(const uint64& playerGUID, Loot *loot, Creature *creature); - void MasterLoot(const uint64& playerGUID, Loot *loot, Creature *creature); + void SendLooter(Creature *pCreature, Player *pLooter); + void GroupLoot(Loot *loot, WorldObject* pLootedObject); + void NeedBeforeGreed(Loot *loot, WorldObject* pLootedObject); + void MasterLoot(Loot *loot, WorldObject* pLootedObject); Rolls::iterator GetRoll(uint64 Guid) { Rolls::iterator iter; @@ -341,7 +342,7 @@ class Group } void CountTheRoll(Rolls::iterator roll, uint32 NumberOfPlayers); void CountRollVote(const uint64& playerGUID, const uint64& Guid, uint32 NumberOfPlayers, uint8 Choise); - void EndRoll(); + void EndRoll(Loot *loot); void LinkMember(GroupReference *pRef) { m_memberMgr.insertFirst(pRef); } void DelinkMember(GroupReference* /*pRef*/ ) { } |
