6#ifndef SKYFIRESERVER_GROUP_H
7#define SKYFIRESERVER_GROUP_H
31#define MAX_RAID_SUBGROUPS MAXRAIDSIZE/MAXGROUPSIZE
32#define TARGETICONCOUNT 8
188 void Disband(
bool hideDestroy =
false);
@ GROUP_ASSIGN_MAINASSIST
@ GROUPTYPE_EVERYONE_IS_ASSISTANT
@ GROUP_UPDATE_FLAG_PHASE
@ GROUP_UPDATE_FLAG_CUR_HP
@ GROUP_UPDATE_FLAG_PET_CUR_HP
@ GROUP_UPDATE_FLAG_POWER_TYPE
@ GROUP_UPDATE_FLAG_PET_CUR_POWER
@ GROUP_UPDATE_FLAG_PET_MAX_POWER
@ GROUP_UPDATE_FLAG_PET_UNK2
@ GROUP_UPDATE_FLAG_MAX_HP
@ GROUP_UPDATE_FLAG_VEHICLE_SEAT
@ GROUP_UPDATE_FLAG_STATUS
@ GROUP_UPDATE_FLAG_PET_POWER_TYPE
@ GROUP_UPDATE_FLAG_MAX_POWER
@ GROUP_UPDATE_FLAG_POSITION
@ GROUP_UPDATE_FLAG_PET_MODEL_ID
@ GROUP_UPDATE_FLAG_PET_NAME
@ GROUP_UPDATE_FLAG_PET_AURAS
@ GROUP_UPDATE_FLAG_AURAS
@ GROUP_UPDATE_FLAG_LEVEL
@ GROUP_UPDATE_FLAG_UNK400
@ GROUP_UPDATE_FLAG_PET_GUID
@ GROUP_UPDATE_FLAG_PET_MAX_HP
@ GROUP_UPDATE_FLAG_CUR_POWER
GroupJoinBattlegroundResult
@ GROUP_REMOVEMETHOD_DEFAULT
MemberSlotList const & GetMemberSlots() const
void BroadcastGroupUpdate(void)
void NeedBeforeGreed(Loot *loot, WorldObject *pLootedObject)
void ReadyCheckMemberHasResponded(uint64 guid)
bool AddLeaderInvite(Player *player)
void SetBattlefieldGroup(Battlefield *bf)
void SendLootAllPassed(Roll const &roll)
uint64 m_targetIcons[TARGETICONCOUNT]
void SendTargetIconList(WorldSession *session)
void SetTargetIcon(uint8 id, ObjectGuid whoGuid, ObjectGuid targetGuid, uint8 Index)
uint32 m_maxEnchantingLevel
void DelinkMember(uint64 guid)
void SubGroupCounterDecrease(uint8 subgroup)
void SetLootMethod(LootMethod method)
DifficultyID m_dungeonDifficulty
void ChangeFlagEveryoneAssistant(bool apply)
void _initRaidSubGroupsCounter()
void LoadMemberFromDB(uint32 guidLow, uint8 memberFlags, uint8 subgroup, uint8 roles)
bool isRollLootActive() const
member_citerator _getMemberCSlot(uint64 Guid) const
void SetLootThreshold(ItemQualities threshold)
void GroupLoot(Loot *loot, WorldObject *pLootedObject)
void Disband(bool hideDestroy=false)
InstanceGroupBind * BindToInstance(InstanceSave *save, bool permanent, bool load=false)
void LoadGroupFromDB(Field *field)
std::list< MemberSlot > MemberSlotList
bool AddMember(Player *player)
void SetGroupMemberFlag(uint64 guid, bool apply, GroupMemberFlags flag)
Rolls::iterator GetRoll(uint64 Guid)
GroupJoinBattlegroundResult CanJoinBattlegroundQueue(Battleground const *bgOrTemplate, BattlegroundQueueTypeId bgQueueTypeId, uint32 MinPlayerCount, uint32 MaxPlayerCount, bool isRated, uint32 arenaSlot)
GroupRefManager m_memberMgr
void BroadcastPacket(WorldPacket *packet, bool ignorePlayersInBGRaid, int group=-1, uint64 ignore=0)
std::set< Player * > InvitesList
member_witerator _getMemberWSlot(uint64 Guid)
void SendLootStartRoll(uint32 CountDown, uint32 mapid, const Roll &r)
void RemoveInvite(Player *player)
void SetDungeonDifficulty(DifficultyID difficulty)
ItemQualities GetLootThreshold() const
MemberSlotList m_memberSlots
bool ReadyCheckInProgress() const
uint32 GetMembersCount() const
std::vector< Roll * > Rolls
void SendLootRoll(uint64 SourceGuid, uint64 TargetGuid, uint8 RollNumber, RollType RollType, const Roll &r)
GroupReference const * GetFirstMember() const
void ResetMaxEnchantingLevel()
void _homebindIfInstance(Player *player)
DifficultyID m_raidDifficulty
void BroadcastAddonMessagePacket(WorldPacket *packet, const std::string &prefix, bool ignorePlayersInBGRaid, int group=-1, uint64 ignore=0)
BoundInstancesMap m_boundInstances[15]
uint8 GetMemberGroup(uint64 guid) const
void ToggleGroupMemberFlag(member_witerator slot, GroupMemberFlags flag, bool apply)
void SendLootStartRollToPlayer(uint32 countDown, uint32 mapId, Player *p, bool canNeed, Roll const &r)
void SetLooterGuid(uint64 guid)
bool ReadyCheckAllResponded() const
const char * GetLeaderName() const
void SetLfgRoles(uint64 guid, const uint8 roles)
void BroadcastReadyCheck(WorldPacket *packet)
void SetRaidDifficulty(DifficultyID difficulty)
MemberSlotList::iterator member_witerator
bool _readyCheckInProgress
void SetBattlegroundGroup(Battleground *bg)
void UpdatePlayerOutOfRange(Player *player)
LootMethod GetLootMethod() const
void UpdateLooterGuid(WorldObject *pLootedObject, bool ifneed=false)
bool IsMember(uint64 guid) const
Player * GetInvited(uint64 guid) const
bool HasFreeSlotSubGroup(uint8 subgroup) const
void CountTheRoll(Rolls::iterator roll)
UNORDERED_MAP< uint32, InstanceGroupBind > BoundInstancesMap
bool RemoveMember(uint64 guid, const RemoveMethod &method=GROUP_REMOVEMETHOD_DEFAULT, uint64 kicker=0, const char *reason=NULL)
GroupReference * GetFirstMember()
uint32 GetLowGUID() const
void SetMemberRole(uint64 guid, uint32 role)
uint64 GetMemberGUID(const std::string &name)
DifficultyID GetRaidDifficulty() const
bool AddInvite(Player *player)
uint8 * m_subGroupsCounts
void SendLootRollWon(uint64 SourceGuid, uint64 TargetGuid, uint8 RollNumber, RollType RollType, const Roll &r)
void CountRollVote(uint64 playerGUID, uint64 Guid, RollType Choise)
uint32 GetMemberRole(uint64 guid) const
BoundInstancesMap & GetBoundInstances(DifficultyID difficulty)
MemberSlotList::const_iterator member_citerator
bool RoleCheckAllResponded() const
bool _setMembersGroup(uint64 guid, uint8 group)
DifficultyID GetDifficulty(MapEntry const *mapEntry) const
void SubGroupCounterIncrease(uint8 subgroup)
bool Create(Player *leader)
void ReadyCheckResetResponded()
bool SameSubGroup(uint64 guid1, uint64 guid2) const
void UnbindInstance(uint32 mapid, uint8 difficulty, bool unload=false)
void ReadyCheck(bool state)
InstanceGroupBind * GetBoundInstance(Player *player)
bool IsAssistant(uint64 guid) const
uint32 GetDbStoreId() const
uint64 GetLeaderGUID() const
bool IsLeader(uint64 guid) const
void SendReadyCheckCompleted()
uint64 GetLooterGuid() const
void LinkMember(GroupReference *pRef)
ItemQualities m_lootThreshold
DifficultyID GetDungeonDifficulty() const
void ResetInstances(InstanceResetMethod method, bool isRaid, Player *SendMsgTo)
void RemoveUniqueGroupMemberFlag(GroupMemberFlags flag)
bool InCombatToInstance(uint32 instanceId)
void MasterLoot(Loot *loot, WorldObject *pLootedObject)
void SendUpdateToPlayer(uint64 playerGUID, MemberSlot *slot=NULL)
void ChangeMembersGroup(uint64 guid, uint8 group)
void ChangeLeader(uint64 guid)
void SendLooter(Creature *creature, Player *pLooter)
void targetObjectBuildLink()
void setLoot(Loot *pLoot)
uint8 totalPlayersRolling
Roll(uint64 _guid, LootItem const &li)
std::map< uint64, RollType > PlayerVote
Player session in the World.
bool readyCheckHasResponded