aboutsummaryrefslogtreecommitdiff
path: root/src/game/Group.h
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-03-11 22:55:02 +0100
committerTrazom62 <none@none>2010-03-11 22:55:02 +0100
commited8c5ef6ffdbeadb600990fe683f5e20e8f31759 (patch)
treea9628a30089fae19083326d8f38aa2b45f11b8cd /src/game/Group.h
parentd9f257a18c8e7984168d52b2d89b8e1582e27925 (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.h11
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*/ ) { }