TrinityCore
Loading...
Searching...
No Matches
Group Class Reference

#include <Group.h>

Classes

class  CountdownInfo
 
struct  MemberSlot
 
struct  NoopGroupDeleter
 

Public Types

typedef std::list< MemberSlot > MemberSlotList
 
typedef MemberSlotList::const_iterator member_citerator
 

Public Member Functions

 Group ()
 
 ~Group ()
 
void Update (uint32 diff)
 
bool Create (Player *leader)
 
void LoadGroupFromDB (Field *field)
 
void LoadMemberFromDB (ObjectGuid::LowType guidLow, uint8 memberFlags, uint8 subgroup, uint8 roles)
 
bool AddInvite (Player *player)
 
void RemoveInvite (Player *player)
 
void RemoveAllInvites ()
 
bool AddLeaderInvite (Player *player)
 
bool AddMember (Player *player)
 
bool RemoveMember (ObjectGuid guid, RemoveMethod method=GROUP_REMOVEMETHOD_DEFAULT, ObjectGuid kicker=ObjectGuid::Empty, const char *reason=nullptr)
 
void ChangeLeader (ObjectGuid guid)
 
void SetLootMethod (LootMethod method)
 
void SetLooterGuid (ObjectGuid guid)
 
void SetMasterLooterGuid (ObjectGuid guid)
 
void UpdateLooterGuid (WorldObject *pLootedObject, bool ifneed=false)
 
void SetLootThreshold (ItemQualities threshold)
 
void Disband (bool hideDestroy=false)
 
void SetLfgRoles (ObjectGuid guid, uint8 roles)
 
uint8 GetLfgRoles (ObjectGuid guid) const
 
void SetEveryoneIsAssistant (bool apply)
 
RestrictPingsTo GetRestrictPings () const
 
void SetRestrictPingsTo (RestrictPingsTo restrictTo)
 
void UpdateReadyCheck (uint32 diff)
 
void StartReadyCheck (ObjectGuid starterGuid, Milliseconds duration=Milliseconds(READYCHECK_DURATION))
 
void EndReadyCheck ()
 
bool IsReadyCheckStarted (void) const
 
bool IsReadyCheckCompleted (void) const
 
void SetOfflineMembersReadyChecked (void)
 
void SetMemberReadyCheck (ObjectGuid guid, bool ready)
 
void SetMemberReadyCheck (MemberSlot *slot, bool ready)
 
void SetMemberReadyChecked (MemberSlot *slot)
 
void ResetMemberReadyChecked (void)
 
void AddRaidMarker (uint8 markerId, uint32 mapId, float positionX, float positionY, float positionZ, ObjectGuid transportGuid=ObjectGuid::Empty)
 
void DeleteRaidMarker (uint8 markerId)
 
void SendRaidMarkersChanged (WorldSession *session=nullptr) const
 
bool IsFull () const
 
bool isLFGGroup () const
 
bool isRaidGroup () const
 
bool isBGGroup () const
 
bool isBFGroup () const
 
bool IsCreated () const
 
GroupCategory GetGroupCategory () const
 
ObjectGuid GetLeaderGUID () const
 
ObjectGuid GetGUID () const
 
const char * GetLeaderName () const
 
LootMethod GetLootMethod () const
 
ObjectGuid GetLooterGuid () const
 
ObjectGuid GetMasterLooterGuid () const
 
ItemQualities GetLootThreshold () const
 
uint32 GetDbStoreId () const
 
bool IsMember (ObjectGuid guid) const
 
bool IsLeader (ObjectGuid guid) const
 
ObjectGuid GetMemberGUID (std::string const &name) const
 
uint8 GetMemberFlags (ObjectGuid guid) const
 
bool IsAssistant (ObjectGuid guid) const
 
Player * GetInvited (ObjectGuid guid) const
 
Player * GetInvited (const std::string &name) const
 
bool SameSubGroup (ObjectGuid guid1, ObjectGuid guid2) const
 
bool SameSubGroup (ObjectGuid guid1, MemberSlot const *slot2) const
 
bool SameSubGroup (Player const *member1, Player const *member2) const
 
bool HasFreeSlotSubGroup (uint8 subgroup) const
 
GroupRefManager & GetMembers ()
 
GroupRefManager const & GetMembers () const
 
MemberSlotList const & GetMemberSlots () const
 
uint32 GetMembersCount () const
 
uint32 GetInviteeCount () const
 
GroupFlags GetGroupFlags () const
 
uint8 GetMemberGroup (ObjectGuid guid) const
 
void ConvertToLFG ()
 
void ConvertToRaid ()
 
void ConvertToGroup ()
 
void SetBattlegroundGroup (Battleground *bg)
 
void SetBattlefieldGroup (Battlefield *bf)
 
GroupJoinBattlegroundResult CanJoinBattlegroundQueue (BattlegroundTemplate const *bgOrTemplate, BattlegroundQueueTypeId bgQueueTypeId, uint32 MinPlayerCount, uint32 MaxPlayerCount, bool isRated, uint32 arenaSlot, ObjectGuid &errorGuid) const
 
void ChangeMembersGroup (ObjectGuid guid, uint8 group)
 
void SwapMembersGroups (ObjectGuid firstGuid, ObjectGuid secondGuid)
 
void SetTargetIcon (uint8 symbol, ObjectGuid target, ObjectGuid changedBy)
 
void SetGroupMemberFlag (ObjectGuid guid, bool apply, GroupMemberFlags flag)
 
void RemoveUniqueGroupMemberFlag (GroupMemberFlags flag)
 
void SetDungeonDifficultyID (Difficulty difficulty)
 
void SetRaidDifficultyID (Difficulty difficulty)
 
void SetLegacyRaidDifficultyID (Difficulty difficulty)
 
Difficulty GetDifficultyID (MapEntry const *mapEntry) const
 
Difficulty GetDungeonDifficultyID () const
 
Difficulty GetRaidDifficultyID () const
 
Difficulty GetLegacyRaidDifficultyID () const
 
void ResetInstances (InstanceResetMethod method, Player *notifyPlayer)
 
void SendTargetIconList (WorldSession *session) const
 
void SendUpdate () const
 
void SendUpdateToPlayer (Player *player, MemberSlot const *slot=nullptr) const
 
void SendUpdateDestroyGroupToPlayer (Player *player) const
 
void UpdatePlayerOutOfRange (Player const *player) const
 
template<class Worker >
void BroadcastWorker (Worker const &worker) const
 
void BroadcastPacket (WorldPacket const *packet, bool ignorePlayersInBGRaid, int group=-1, ObjectGuid ignoredPlayer=ObjectGuid::Empty) const
 
void BroadcastAddonMessagePacket (WorldPacket const *packet, const std::string &prefix, bool ignorePlayersInBGRaid, int group=-1, ObjectGuid ignore=ObjectGuid::Empty) const
 
void LinkMember (GroupReference *pRef)
 
void DelinkMember (ObjectGuid guid)
 
ObjectGuid GetRecentInstanceOwner (uint32 mapId) const
 
uint32 GetRecentInstanceId (uint32 mapId) const
 
void SetRecentInstance (uint32 mapId, ObjectGuid instanceOwner, uint32 instanceId)
 
void LinkOwnedInstance (GroupInstanceReference *ref)
 
void StartLeaderOfflineTimer ()
 
void StopLeaderOfflineTimer ()
 
void SelectNewPartyOrRaidLeader ()
 
void BroadcastGroupUpdate (void)
 
void StartCountdown (CountdownTimerType timerType, Seconds duration, Optional< time_t > startTime={ })
 
CountdownInfo const * GetCountdownInfo (CountdownTimerType timerType) const
 
Trinity::unique_weak_ptr< Group > GetWeakPtr () const
 

Protected Types

typedef MemberSlotList::iterator member_witerator
 
typedef std::set< Player * > InvitesList
 

Protected Member Functions

bool _setMembersGroup (ObjectGuid guid, uint8 group)
 
void _homebindIfInstance (Player *player)
 
void _initRaidSubGroupsCounter ()
 
member_citerator _getMemberCSlot (ObjectGuid Guid) const
 
member_witerator _getMemberWSlot (ObjectGuid Guid)
 
void SubGroupCounterIncrease (uint8 subgroup)
 
void SubGroupCounterDecrease (uint8 subgroup)
 
void ToggleGroupMemberFlag (member_witerator slot, uint8 flag, bool apply)
 

Protected Attributes

MemberSlotList m_memberSlots
 
GroupRefManager m_memberMgr
 
InvitesList m_invitees
 
ObjectGuid m_leaderGuid
 
uint8 m_leaderFactionGroup
 
std::string m_leaderName
 
GroupFlags m_groupFlags
 
GroupCategory m_groupCategory
 
Difficulty m_dungeonDifficulty
 
Difficulty m_raidDifficulty
 
Difficulty m_legacyRaidDifficulty
 
Battleground * m_bgGroup
 
Battlefield * m_bfGroup
 
ObjectGuid m_targetIcons [TARGET_ICONS_COUNT]
 
LootMethod m_lootMethod
 
ItemQualities m_lootThreshold
 
ObjectGuid m_looterGuid
 
ObjectGuid m_masterLooterGuid
 
std::unordered_map< uint32, std::pair< ObjectGuid, uint32 > > m_recentInstances
 
GroupInstanceRefManager m_ownedInstancesMgr
 
uint8 * m_subGroupsCounts
 
ObjectGuid m_guid
 
uint32 m_dbStoreId
 
bool m_isLeaderOffline
 
TimeTracker m_leaderOfflineTimer
 
bool m_readyCheckStarted
 
Milliseconds m_readyCheckTimer
 
std::array< std::unique_ptr< RaidMarker >, RAID_MARKERS_COUNT > m_markers
 
uint32 m_activeMarkers
 
std::array< std::unique_ptr< CountdownInfo >, 3 > m_countdowns
 
RestrictPingsTo m_pingRestriction
 
Trinity::unique_trackable_ptr< Group > m_scriptRef
 

Detailed Description

request member stats checken

Todo:
uninvite people that not accepted invite

Definition at line 208 of file Group.h.

Member Typedef Documentation

◆ InvitesList

typedef std::set<Player*> Group::InvitesList
protected

Definition at line 247 of file Group.h.

◆ member_citerator

typedef MemberSlotList::const_iterator Group::member_citerator

Definition at line 223 of file Group.h.

◆ member_witerator

typedef MemberSlotList::iterator Group::member_witerator
protected

Definition at line 246 of file Group.h.

◆ MemberSlotList

typedef std::list<MemberSlot> Group::MemberSlotList

Definition at line 222 of file Group.h.

Constructor & Destructor Documentation

◆ Group()

Group::Group ( )

Definition at line 58 of file Group.cpp.

References m_countdowns, m_markers, m_targetIcons, RAID_MARKERS_COUNT, and TARGET_ICONS_COUNT.

◆ ~Group()

Member Function Documentation

◆ _getMemberCSlot()

◆ _getMemberWSlot()

◆ _homebindIfInstance()

void Group::_homebindIfInstance ( Player *  player)
protected

◆ _initRaidSubGroupsCounter()

void Group::_initRaidSubGroupsCounter ( )
protected

Definition at line 1774 of file Group.cpp.

References m_memberSlots, m_subGroupsCounts, and MAX_RAID_SUBGROUPS.

Referenced by ConvertToRaid(), Create(), and LoadGroupFromDB().

◆ _setMembersGroup()

◆ AddInvite()

◆ AddLeaderInvite()

◆ AddMember()

bool Group::AddMember ( Player *  player)

Definition at line 424 of file Group.cpp.

References Group::MemberSlot::_class, UpdateData::BuildPacket(), Object::BuildValuesUpdateBlockForPlayerWithFlag(), CHAR_INS_GROUP_MEMBER, CharacterDatabase, Player::CheckInstanceValidity(), Player::FailCriteria(), Group::MemberSlot::flags, Unit::GetClass(), ObjectGuid::GetCounter(), Player::GetGroup(), BaseEntity::GetGUID(), WorldLocation::GetMapId(), GetMembers(), WorldObject::GetName(), Player::GetPet(), Unit::GetRace(), Group::MemberSlot::group, GROUP_TYPE_NORMAL, GROUP_UPDATE_FULL, GROUP_UPDATE_PET_FULL, Group::MemberSlot::guid, UpdateData::HasData(), Player::HaveAtClient(), isBFGroup(), isBGGroup(), isRaidGroup(), m_dbStoreId, m_groupCategory, Player::m_InstanceValid, m_memberSlots, m_subGroupsCounts, m_targetIcons, MAX_GROUP_SIZE, MAX_RAID_SUBGROUPS, ModifyPartyStatus, Group::MemberSlot::name, UF::PartyMember, Group::MemberSlot::race, Group::MemberSlot::readyChecked, Player::ResetGroupUpdateSequenceIfNeeded(), Group::MemberSlot::roles, Player::SendDirectMessage(), SendUpdate(), Player::SetBattlegroundOrBattlefieldRaid(), Player::SetGroup(), Player::SetGroupInvite(), Player::SetGroupUpdateFlag(), Player::SetOriginalGroup(), Player::SetPartyType(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt64(), PreparedStatementBase::setUInt8(), sScriptMgr, SubGroupCounterIncrease(), TARGET_ICONS_COUNT, UpdatePlayerOutOfRange(), and Player::UpdateVisibleObjectInteractions().

Referenced by Battlefield::AddOrSetPlayerToCorrectBfGroup(), Battleground::AddOrSetPlayerToCorrectBgGroup(), Create(), group_commandscript::HandleGroupJoinCommand(), WorldSession::HandlePartyInviteResponseOpcode(), and lfg::LFGMgr::MakeNewGroup().

◆ AddRaidMarker()

void Group::AddRaidMarker ( uint8  markerId,
uint32  mapId,
float  positionX,
float  positionY,
float  positionZ,
ObjectGuid  transportGuid = ObjectGuid::Empty 
)

◆ BroadcastAddonMessagePacket()

void Group::BroadcastAddonMessagePacket ( WorldPacket const *  packet,
const std::string &  prefix,
bool  ignorePlayersInBGRaid,
int  group = -1,
ObjectGuid  ignore = ObjectGuid::Empty 
) const

◆ BroadcastGroupUpdate()

◆ BroadcastPacket()

◆ BroadcastWorker()

template<class Worker >
void Group::BroadcastWorker ( Worker const &  worker) const
inline

Definition at line 376 of file Group.h.

◆ CanJoinBattlegroundQueue()

GroupJoinBattlegroundResult Group::CanJoinBattlegroundQueue ( BattlegroundTemplate const *  bgOrTemplate,
BattlegroundQueueTypeId  bgQueueTypeId,
uint32  MinPlayerCount,
uint32  MaxPlayerCount,
bool  isRated,
uint32  arenaSlot,
ObjectGuid &  errorGuid 
) const

◆ ChangeLeader()

◆ ChangeMembersGroup()

◆ ConvertToGroup()

◆ ConvertToLFG()

◆ ConvertToRaid()

◆ Create()

◆ DeleteRaidMarker()

void Group::DeleteRaidMarker ( uint8  markerId)

◆ DelinkMember()

void Group::DelinkMember ( ObjectGuid  guid)

◆ Disband()

◆ EndReadyCheck()

◆ GetCountdownInfo()

Group::CountdownInfo const * Group::GetCountdownInfo ( CountdownTimerType  timerType) const

Definition at line 1397 of file Group.cpp.

References AsUnderlyingType(), and m_countdowns.

Referenced by WorldSession::HandleQueryCountdownTimer().

◆ GetDbStoreId()

uint32 Group::GetDbStoreId ( ) const
inline

◆ GetDifficultyID()

◆ GetDungeonDifficultyID()

Difficulty Group::GetDungeonDifficultyID ( ) const
inline

Definition at line 363 of file Group.h.

Referenced by WorldSession::HandleSetDungeonDifficultyOpcode().

◆ GetGroupCategory()

◆ GetGroupFlags()

GroupFlags Group::GetGroupFlags ( ) const
inline

Definition at line 341 of file Group.h.

Referenced by CriteriaHandler::ModifierSatisfied().

◆ GetGUID()

◆ GetInvited() [1/2]

Player * Group::GetInvited ( const std::string &  name) const

Definition at line 414 of file Group.cpp.

References m_invitees.

◆ GetInvited() [2/2]

Player * Group::GetInvited ( ObjectGuid  guid) const

Definition at line 404 of file Group.cpp.

References m_invitees.

Referenced by WorldSession::HandlePartyUninviteOpcode().

◆ GetInviteeCount()

uint32 Group::GetInviteeCount ( ) const
inline

Definition at line 340 of file Group.h.

Referenced by Player::UninviteFromGroup().

◆ GetLeaderGUID()

◆ GetLeaderName()

char const * Group::GetLeaderName ( ) const

Definition at line 1628 of file Group.cpp.

References m_leaderName.

Referenced by ChatLogScript::OnChat().

◆ GetLegacyRaidDifficultyID()

Difficulty Group::GetLegacyRaidDifficultyID ( ) const
inline

Definition at line 365 of file Group.h.

Referenced by WorldSession::HandleSetRaidDifficultyOpcode().

◆ GetLfgRoles()

uint8 Group::GetLfgRoles ( ObjectGuid  guid) const

Definition at line 1435 of file Group.cpp.

References _getMemberCSlot(), and m_memberSlots.

Referenced by WorldSession::HandleSetRoleOpcode().

◆ GetLooterGuid()

ObjectGuid Group::GetLooterGuid ( ) const

Definition at line 1638 of file Group.cpp.

References ObjectGuid::Empty, FREE_FOR_ALL, GetLootMethod(), and m_looterGuid.

Referenced by Unit::Kill(), and UpdateLooterGuid().

◆ GetLootMethod()

LootMethod Group::GetLootMethod ( ) const

Definition at line 1633 of file Group.cpp.

References m_lootMethod.

Referenced by GetLooterGuid(), and UpdateLooterGuid().

◆ GetLootThreshold()

ItemQualities Group::GetLootThreshold ( ) const

Definition at line 1650 of file Group.cpp.

References m_lootThreshold.

Referenced by Loot::FillLoot().

◆ GetMasterLooterGuid()

ObjectGuid Group::GetMasterLooterGuid ( ) const

Definition at line 1645 of file Group.cpp.

References m_masterLooterGuid.

Referenced by WorldSession::HandleLootMasterGiveOpcode().

◆ GetMemberFlags()

uint8 Group::GetMemberFlags ( ObjectGuid  guid) const

Definition at line 1674 of file Group.cpp.

References _getMemberCSlot(), and m_memberSlots.

Referenced by group_commandscript::GroupFlagCommand().

◆ GetMemberGroup()

◆ GetMemberGUID()

ObjectGuid Group::GetMemberGUID ( std::string const &  name) const

Definition at line 1665 of file Group.cpp.

References ObjectGuid::Empty, m_memberSlots, and Group::MemberSlot::name.

◆ GetMembers() [1/2]

◆ GetMembers() [2/2]

GroupRefManager const & Group::GetMembers ( ) const
inline

Definition at line 337 of file Group.h.

◆ GetMembersCount()

◆ GetMemberSlots()

MemberSlotList const & Group::GetMemberSlots ( ) const
inline

◆ GetRaidDifficultyID()

Difficulty Group::GetRaidDifficultyID ( ) const
inline

Definition at line 364 of file Group.h.

Referenced by WorldSession::HandleSetRaidDifficultyOpcode().

◆ GetRecentInstanceId()

uint32 Group::GetRecentInstanceId ( uint32  mapId) const
inline

Definition at line 394 of file Group.h.

Referenced by MapManager::CreateMap(), and MapManager::FindInstanceIdForPlayer().

◆ GetRecentInstanceOwner()

ObjectGuid Group::GetRecentInstanceOwner ( uint32  mapId) const
inline

◆ GetRestrictPings()

RestrictPingsTo Group::GetRestrictPings ( ) const

Definition at line 1857 of file Group.cpp.

References m_pingRestriction.

◆ GetWeakPtr()

Trinity::unique_weak_ptr< Group > Group::GetWeakPtr ( ) const
inline

Definition at line 417 of file Group.h.

◆ HasFreeSlotSubGroup()

bool Group::HasFreeSlotSubGroup ( uint8  subgroup) const

Definition at line 1698 of file Group.cpp.

References m_subGroupsCounts, and MAX_GROUP_SIZE.

Referenced by WorldSession::HandleChangeSubGroupOpcode().

◆ IsAssistant()

◆ isBFGroup()

◆ isBGGroup()

◆ IsCreated()

◆ IsFull()

◆ IsLeader()

◆ isLFGGroup()

◆ IsMember()

◆ isRaidGroup()

◆ IsReadyCheckCompleted()

bool Group::IsReadyCheckCompleted ( void  ) const

Definition at line 1494 of file Group.cpp.

References m_memberSlots.

Referenced by SetMemberReadyChecked().

◆ IsReadyCheckStarted()

bool Group::IsReadyCheckStarted ( void  ) const
inline

Definition at line 285 of file Group.h.

◆ LinkMember()

void Group::LinkMember ( GroupReference *  pRef)

Definition at line 1762 of file Group.cpp.

References m_memberMgr, and LinkedListHead::push_front().

Referenced by GroupReference::targetObjectBuildLink().

◆ LinkOwnedInstance()

void Group::LinkOwnedInstance ( GroupInstanceReference *  ref)

◆ LoadGroupFromDB()

◆ LoadMemberFromDB()

◆ RemoveAllInvites()

void Group::RemoveAllInvites ( )

◆ RemoveInvite()

void Group::RemoveInvite ( Player *  player)

◆ RemoveMember()

◆ RemoveUniqueGroupMemberFlag()

void Group::RemoveUniqueGroupMemberFlag ( GroupMemberFlags  flag)

Definition at line 1808 of file Group.cpp.

References m_memberSlots.

Referenced by WorldSession::HandleSetPartyAssignment(), and SetGroupMemberFlag().

◆ ResetInstances()

◆ ResetMemberReadyChecked()

void Group::ResetMemberReadyChecked ( void  )

Definition at line 1540 of file Group.cpp.

References m_memberSlots.

Referenced by EndReadyCheck().

◆ SameSubGroup() [1/3]

bool Group::SameSubGroup ( ObjectGuid  guid1,
MemberSlot const *  slot2 
) const

Definition at line 1690 of file Group.cpp.

References _getMemberCSlot(), Group::MemberSlot::group, and m_memberSlots.

◆ SameSubGroup() [2/3]

bool Group::SameSubGroup ( ObjectGuid  guid1,
ObjectGuid  guid2 
) const

◆ SameSubGroup() [3/3]

bool Group::SameSubGroup ( Player const *  member1,
Player const *  member2 
) const

Definition at line 994 of file Group.cpp.

References Player::GetGroup(), and Player::GetSubGroup().

◆ SelectNewPartyOrRaidLeader()

void Group::SelectNewPartyOrRaidLeader ( )

◆ SendRaidMarkersChanged()

◆ SendTargetIconList()

◆ SendUpdate()

◆ SendUpdateDestroyGroupToPlayer()

◆ SendUpdateToPlayer()

void Group::SendUpdateToPlayer ( Player *  player,
MemberSlot const *  slot = nullptr 
) const

Definition at line 821 of file Group.cpp.

References _getMemberCSlot(), Player::CanRewardQuest(), WorldPackets::Party::PartyPlayerInfo::Class, WorldPackets::Party::PartyPlayerInfo::Connected, WorldPackets::Party::PartyUpdate::DifficultySettings, ObjectGuid::Empty, WorldPackets::Party::PartyPlayerInfo::FactionGroup, ObjectAccessor::FindConnectedPlayer(), WorldPackets::Party::PartyPlayerInfo::Flags, Player::GetFactionGroupForRace(), Player::GetGroup(), BaseEntity::GetGUID(), Unit::GetLevel(), GetMembersCount(), Player::GetSession(), GROUP_TYPE_NONE, GROUP_TYPE_NORMAL, Group::MemberSlot::guid, WorldPackets::Party::PartyPlayerInfo::GUID, IsCreated(), isLFGGroup(), WorldPackets::Party::PartyUpdate::LeaderFactionGroup, WorldPackets::Party::PartyUpdate::LeaderGUID, lfg::LFG_STATE_FINISHED_DUNGEON, WorldPackets::Party::PartyUpdate::LfgInfos, WorldPackets::Party::PartyUpdate::LootSettings, m_dungeonDifficulty, m_groupCategory, m_groupFlags, m_guid, m_leaderFactionGroup, m_leaderGuid, m_legacyRaidDifficulty, m_lootMethod, m_lootThreshold, m_masterLooterGuid, m_memberSlots, m_pingRestriction, m_raidDifficulty, MASTER_LOOT, WorldPackets::Party::PartyUpdate::MyIndex, WorldPackets::Party::PartyPlayerInfo::Name, Player::NextGroupUpdateSequenceNumber(), WorldPackets::Party::PartyUpdate::PartyFlags, WorldPackets::Party::PartyUpdate::PartyGUID, WorldPackets::Party::PartyUpdate::PartyIndex, WorldPackets::Party::PartyUpdate::PartyType, WorldPackets::Party::PartyUpdate::PingRestriction, WorldPackets::Party::PartyUpdate::PlayerList, WorldSession::PlayerLogout(), WorldPackets::Party::PartyPlayerInfo::RolesAssigned, Player::SendDirectMessage(), WorldPackets::Party::PartyUpdate::SequenceNum, sLFGMgr, sObjectMgr, WorldPackets::Party::PartyPlayerInfo::Subgroup, and WorldPackets::Party::PartyUpdate::Write().

Referenced by SendUpdate().

◆ SetBattlefieldGroup()

void Group::SetBattlefieldGroup ( Battlefield *  bf)

Definition at line 1716 of file Group.cpp.

References m_bfGroup.

Referenced by Battlefield::AddOrSetPlayerToCorrectBfGroup().

◆ SetBattlegroundGroup()

void Group::SetBattlegroundGroup ( Battleground *  bg)

Definition at line 1711 of file Group.cpp.

References m_bgGroup.

Referenced by Battleground::SetBgRaid().

◆ SetDungeonDifficultyID()

◆ SetEveryoneIsAssistant()

◆ SetGroupMemberFlag()

◆ SetLegacyRaidDifficultyID()

◆ SetLfgRoles()

void Group::SetLfgRoles ( ObjectGuid  guid,
uint8  roles 
)

◆ SetLooterGuid()

void Group::SetLooterGuid ( ObjectGuid  guid)

Definition at line 1410 of file Group.cpp.

References m_looterGuid.

Referenced by UpdateLooterGuid().

◆ SetLootMethod()

void Group::SetLootMethod ( LootMethod  method)

Definition at line 1405 of file Group.cpp.

References m_lootMethod.

◆ SetLootThreshold()

void Group::SetLootThreshold ( ItemQualities  threshold)

Definition at line 1420 of file Group.cpp.

References m_lootThreshold.

◆ SetMasterLooterGuid()

void Group::SetMasterLooterGuid ( ObjectGuid  guid)

Definition at line 1415 of file Group.cpp.

References m_masterLooterGuid.

◆ SetMemberReadyCheck() [1/2]

◆ SetMemberReadyCheck() [2/2]

void Group::SetMemberReadyCheck ( ObjectGuid  guid,
bool  ready 
)

◆ SetMemberReadyChecked()

void Group::SetMemberReadyChecked ( MemberSlot *  slot)

◆ SetOfflineMembersReadyChecked()

void Group::SetOfflineMembersReadyChecked ( void  )

◆ SetRaidDifficultyID()

◆ SetRecentInstance()

void Group::SetRecentInstance ( uint32  mapId,
ObjectGuid  instanceOwner,
uint32  instanceId 
)
inline

Definition at line 400 of file Group.h.

Referenced by MapManager::CreateMap().

◆ SetRestrictPingsTo()

◆ SetTargetIcon()

◆ StartCountdown()

void Group::StartCountdown ( CountdownTimerType  timerType,
Seconds  duration,
Optional< time_t >  startTime = { } 
)

Definition at line 1386 of file Group.cpp.

References AsUnderlyingType(), and m_countdowns.

Referenced by Battleground::AddOrSetPlayerToCorrectBgGroup().

◆ StartLeaderOfflineTimer()

void Group::StartLeaderOfflineTimer ( )

◆ StartReadyCheck()

◆ StopLeaderOfflineTimer()

void Group::StopLeaderOfflineTimer ( )

Definition at line 1829 of file Group.cpp.

References m_isLeaderOffline.

◆ SubGroupCounterDecrease()

void Group::SubGroupCounterDecrease ( uint8  subgroup)
protected

Definition at line 1802 of file Group.cpp.

References m_subGroupsCounts.

Referenced by ChangeMembersGroup(), and RemoveMember().

◆ SubGroupCounterIncrease()

void Group::SubGroupCounterIncrease ( uint8  subgroup)
protected

Definition at line 1796 of file Group.cpp.

References m_subGroupsCounts.

Referenced by _setMembersGroup(), AddMember(), ChangeMembersGroup(), and LoadMemberFromDB().

◆ SwapMembersGroups()

◆ ToggleGroupMemberFlag()

void Group::ToggleGroupMemberFlag ( member_witerator  slot,
uint8  flag,
bool  apply 
)
protected

Definition at line 1815 of file Group.cpp.

Referenced by ChangeLeader(), SetEveryoneIsAssistant(), and SetGroupMemberFlag().

◆ Update()

◆ UpdateLooterGuid()

◆ UpdatePlayerOutOfRange()

◆ UpdateReadyCheck()

void Group::UpdateReadyCheck ( uint32  diff)

Definition at line 1444 of file Group.cpp.

References EndReadyCheck(), m_readyCheckStarted, and m_readyCheckTimer.

Referenced by Update().

Member Data Documentation

◆ m_activeMarkers

uint32 Group::m_activeMarkers
protected

Definition at line 462 of file Group.h.

Referenced by AddRaidMarker(), DeleteRaidMarker(), and SendRaidMarkersChanged().

◆ m_bfGroup

Battlefield* Group::m_bfGroup
protected

Definition at line 442 of file Group.h.

Referenced by isBFGroup(), and SetBattlefieldGroup().

◆ m_bgGroup

Battleground* Group::m_bgGroup
protected

Definition at line 441 of file Group.h.

Referenced by isBGGroup(), SetBattlegroundGroup(), and ~Group().

◆ m_countdowns

std::array<std::unique_ptr<CountdownInfo>, 3> Group::m_countdowns
protected

Definition at line 464 of file Group.h.

Referenced by GetCountdownInfo(), Group(), and StartCountdown().

◆ m_dbStoreId

◆ m_dungeonDifficulty

Difficulty Group::m_dungeonDifficulty
protected

◆ m_groupCategory

GroupCategory Group::m_groupCategory
protected

◆ m_groupFlags

◆ m_guid

◆ m_invitees

InvitesList Group::m_invitees
protected

Definition at line 432 of file Group.h.

Referenced by AddInvite(), GetInvited(), GetInvited(), RemoveAllInvites(), and RemoveInvite().

◆ m_isLeaderOffline

bool Group::m_isLeaderOffline
protected

Definition at line 453 of file Group.h.

Referenced by StartLeaderOfflineTimer(), StopLeaderOfflineTimer(), and Update().

◆ m_leaderFactionGroup

uint8 Group::m_leaderFactionGroup
protected

Definition at line 434 of file Group.h.

Referenced by AddLeaderInvite(), ChangeLeader(), Create(), LoadGroupFromDB(), and SendUpdateToPlayer().

◆ m_leaderGuid

ObjectGuid Group::m_leaderGuid
protected

◆ m_leaderName

std::string Group::m_leaderName
protected

Definition at line 435 of file Group.h.

Referenced by AddLeaderInvite(), ChangeLeader(), Create(), GetLeaderName(), and LoadGroupFromDB().

◆ m_leaderOfflineTimer

TimeTracker Group::m_leaderOfflineTimer
protected

Definition at line 454 of file Group.h.

Referenced by StartLeaderOfflineTimer(), and Update().

◆ m_legacyRaidDifficulty

Difficulty Group::m_legacyRaidDifficulty
protected

◆ m_looterGuid

ObjectGuid Group::m_looterGuid
protected

Definition at line 446 of file Group.h.

Referenced by Create(), GetLooterGuid(), LoadGroupFromDB(), and SetLooterGuid().

◆ m_lootMethod

LootMethod Group::m_lootMethod
protected

◆ m_lootThreshold

ItemQualities Group::m_lootThreshold
protected

◆ m_markers

std::array<std::unique_ptr<RaidMarker>, RAID_MARKERS_COUNT> Group::m_markers
protected

Definition at line 461 of file Group.h.

Referenced by AddRaidMarker(), DeleteRaidMarker(), Group(), and SendRaidMarkersChanged().

◆ m_masterLooterGuid

ObjectGuid Group::m_masterLooterGuid
protected

◆ m_memberMgr

GroupRefManager Group::m_memberMgr
protected

Definition at line 431 of file Group.h.

Referenced by DelinkMember(), LinkMember(), and RemoveMember().

◆ m_memberSlots

◆ m_ownedInstancesMgr

GroupInstanceRefManager Group::m_ownedInstancesMgr
protected

Definition at line 449 of file Group.h.

Referenced by LinkOwnedInstance(), and ResetInstances().

◆ m_pingRestriction

RestrictPingsTo Group::m_pingRestriction
protected

◆ m_raidDifficulty

Difficulty Group::m_raidDifficulty
protected

◆ m_readyCheckStarted

bool Group::m_readyCheckStarted
protected

Definition at line 457 of file Group.h.

Referenced by EndReadyCheck(), SetMemberReadyCheck(), StartReadyCheck(), and UpdateReadyCheck().

◆ m_readyCheckTimer

Milliseconds Group::m_readyCheckTimer
protected

Definition at line 458 of file Group.h.

Referenced by EndReadyCheck(), StartReadyCheck(), and UpdateReadyCheck().

◆ m_recentInstances

std::unordered_map<uint32 , std::pair<ObjectGuid , uint32 > > Group::m_recentInstances
protected

Definition at line 448 of file Group.h.

Referenced by ResetInstances().

◆ m_scriptRef

Trinity::unique_trackable_ptr<Group> Group::m_scriptRef
protected

Definition at line 469 of file Group.h.

◆ m_subGroupsCounts

uint8* Group::m_subGroupsCounts
protected

◆ m_targetIcons

ObjectGuid Group::m_targetIcons[TARGET_ICONS_COUNT]
protected

Definition at line 443 of file Group.h.

Referenced by AddMember(), Create(), Group(), LoadGroupFromDB(), SendTargetIconList(), and SetTargetIcon().


The documentation for this class was generated from the following files: