TrinityCore
Group.h File Reference
#include "DBCEnums.h"
#include "DatabaseEnvFwd.h"
#include "GroupInstanceRefManager.h"
#include "GroupRefManager.h"
#include "Object.h"
#include "RaceMask.h"
#include "SharedDefines.h"
#include "Timer.h"
#include "UniqueTrackablePtr.h"
#include <map>
+ Include dependency graph for Group.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RaidMarker
 
class  Group
 
struct  Group::MemberSlot
 
class  Group::CountdownInfo
 
struct  Group::NoopGroupDeleter
 

Macros

#define MAX_GROUP_SIZE   5
 
#define MAX_RAID_SIZE   40
 
#define MAX_RAID_SUBGROUPS   MAX_RAID_SIZE / MAX_GROUP_SIZE
 
#define TARGET_ICONS_COUNT   8
 
#define RAID_MARKERS_COUNT   8
 
#define READYCHECK_DURATION   35000
 

Enumerations

enum  GroupMemberOnlineStatus {
  MEMBER_STATUS_OFFLINE = 0x0000 , MEMBER_STATUS_ONLINE = 0x0001 , MEMBER_STATUS_PVP = 0x0002 , MEMBER_STATUS_DEAD = 0x0004 ,
  MEMBER_STATUS_GHOST = 0x0008 , MEMBER_STATUS_PVP_FFA = 0x0010 , MEMBER_STATUS_UNK3 = 0x0020 , MEMBER_STATUS_AFK = 0x0040 ,
  MEMBER_STATUS_DND = 0x0080 , MEMBER_STATUS_RAF = 0x0100 , MEMBER_STATUS_VEHICLE = 0x0200
}
 
enum  GroupMemberFlags { MEMBER_FLAG_ASSISTANT = 0x01 , MEMBER_FLAG_MAINTANK = 0x02 , MEMBER_FLAG_MAINASSIST = 0x04 }
 
enum  GroupMemberAssignment { GROUP_ASSIGN_MAINTANK = 0 , GROUP_ASSIGN_MAINASSIST = 1 }
 
enum  GroupType { GROUP_TYPE_NONE = 0 , GROUP_TYPE_NORMAL = 1 , GROUP_TYPE_WORLD_PVP = 4 }
 
enum  GroupFlags : uint16 {
  GROUP_FLAG_NONE = 0x000 , GROUP_FLAG_FAKE_RAID = 0x001 , GROUP_FLAG_RAID = 0x002 , GROUP_FLAG_LFG_RESTRICTED = 0x004 ,
  GROUP_FLAG_LFG = 0x008 , GROUP_FLAG_DESTROYED = 0x010 , GROUP_FLAG_ONE_PERSON_PARTY = 0x020 , GROUP_FLAG_EVERYONE_ASSISTANT = 0x040 ,
  GROUP_FLAG_GUILD_GROUP = 0x100 , GROUP_FLAG_CROSS_FACTION = 0x200 , GROUP_FLAG_RESTRICT_PINGS = 0x400 , GROUP_MASK_BGRAID = GROUP_FLAG_FAKE_RAID | GROUP_FLAG_RAID
}
 
enum  GroupCategory : uint8 { GROUP_CATEGORY_HOME = 0 , GROUP_CATEGORY_INSTANCE = 1 , MAX_GROUP_CATEGORY }
 
enum  GroupUpdateFlags {
  GROUP_UPDATE_FLAG_NONE = 0x00000000 , GROUP_UPDATE_FLAG_UNK704 = 0x00000001 , GROUP_UPDATE_FLAG_STATUS = 0x00000002 , GROUP_UPDATE_FLAG_POWER_TYPE = 0x00000004 ,
  GROUP_UPDATE_FLAG_UNK322 = 0x00000008 , GROUP_UPDATE_FLAG_CUR_HP = 0x00000010 , GROUP_UPDATE_FLAG_MAX_HP = 0x00000020 , GROUP_UPDATE_FLAG_CUR_POWER = 0x00000040 ,
  GROUP_UPDATE_FLAG_MAX_POWER = 0x00000080 , GROUP_UPDATE_FLAG_LEVEL = 0x00000100 , GROUP_UPDATE_FLAG_UNK200000 = 0x00000200 , GROUP_UPDATE_FLAG_ZONE = 0x00000400 ,
  GROUP_UPDATE_FLAG_UNK2000000 = 0x00000800 , GROUP_UPDATE_FLAG_UNK4000000 = 0x00001000 , GROUP_UPDATE_FLAG_POSITION = 0x00002000 , GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00104000 ,
  GROUP_UPDATE_FLAG_AURAS = 0x00008000 , GROUP_UPDATE_FLAG_PET = 0x00010000 , GROUP_UPDATE_FLAG_PHASE = 0x00020000 , GROUP_UPDATE_FULL
}
 
enum  GroupUpdatePetFlags {
  GROUP_UPDATE_FLAG_PET_NONE = 0x00000000 , GROUP_UPDATE_FLAG_PET_GUID = 0x00000001 , GROUP_UPDATE_FLAG_PET_NAME = 0x00000002 , GROUP_UPDATE_FLAG_PET_MODEL_ID = 0x00000004 ,
  GROUP_UPDATE_FLAG_PET_CUR_HP = 0x00000008 , GROUP_UPDATE_FLAG_PET_MAX_HP = 0x00000010 , GROUP_UPDATE_FLAG_PET_AURAS = 0x00000020 , GROUP_UPDATE_PET_FULL
}
 
enum class  CountdownTimerType : int32 { Pvp = 0 , ChallengeMode = 1 , PlayerCountdown = 2 }
 
enum class  PingSubjectType : uint8 {
  Attack = 0 , Warning = 1 , Assist = 2 , OnMyWay = 3 ,
  AlertThreat = 4 , AlertNotThreat = 5 , Max
}
 

Macro Definition Documentation

◆ MAX_GROUP_SIZE

#define MAX_GROUP_SIZE   5

Definition at line 50 of file Group.h.

◆ MAX_RAID_SIZE

#define MAX_RAID_SIZE   40

Definition at line 51 of file Group.h.

◆ MAX_RAID_SUBGROUPS

#define MAX_RAID_SUBGROUPS   MAX_RAID_SIZE / MAX_GROUP_SIZE

Definition at line 52 of file Group.h.

◆ RAID_MARKERS_COUNT

#define RAID_MARKERS_COUNT   8

Definition at line 55 of file Group.h.

◆ READYCHECK_DURATION

#define READYCHECK_DURATION   35000

Definition at line 57 of file Group.h.

◆ TARGET_ICONS_COUNT

#define TARGET_ICONS_COUNT   8

Definition at line 54 of file Group.h.

Enumeration Type Documentation

◆ CountdownTimerType

enum class CountdownTimerType : int32
strong
Enumerator
Pvp 
ChallengeMode 
PlayerCountdown 

Definition at line 175 of file Group.h.

◆ GroupCategory

Enumerator
GROUP_CATEGORY_HOME 
GROUP_CATEGORY_INSTANCE 
MAX_GROUP_CATEGORY 

Definition at line 111 of file Group.h.

◆ GroupFlags

Enumerator
GROUP_FLAG_NONE 
GROUP_FLAG_FAKE_RAID 
GROUP_FLAG_RAID 
GROUP_FLAG_LFG_RESTRICTED 
GROUP_FLAG_LFG 
GROUP_FLAG_DESTROYED 
GROUP_FLAG_ONE_PERSON_PARTY 
GROUP_FLAG_EVERYONE_ASSISTANT 
GROUP_FLAG_GUILD_GROUP 
GROUP_FLAG_CROSS_FACTION 
GROUP_FLAG_RESTRICT_PINGS 
GROUP_MASK_BGRAID 

Definition at line 94 of file Group.h.

◆ GroupMemberAssignment

Enumerator
GROUP_ASSIGN_MAINTANK 
GROUP_ASSIGN_MAINASSIST 

Definition at line 81 of file Group.h.

◆ GroupMemberFlags

Enumerator
MEMBER_FLAG_ASSISTANT 
MEMBER_FLAG_MAINTANK 
MEMBER_FLAG_MAINASSIST 

Definition at line 74 of file Group.h.

◆ GroupMemberOnlineStatus

Enumerator
MEMBER_STATUS_OFFLINE 
MEMBER_STATUS_ONLINE 
MEMBER_STATUS_PVP 
MEMBER_STATUS_DEAD 
MEMBER_STATUS_GHOST 
MEMBER_STATUS_PVP_FFA 
MEMBER_STATUS_UNK3 
MEMBER_STATUS_AFK 
MEMBER_STATUS_DND 
MEMBER_STATUS_RAF 
MEMBER_STATUS_VEHICLE 

Definition at line 59 of file Group.h.

◆ GroupType

enum GroupType
Enumerator
GROUP_TYPE_NONE 
GROUP_TYPE_NORMAL 
GROUP_TYPE_WORLD_PVP 

Definition at line 87 of file Group.h.

◆ GroupUpdateFlags

Enumerator
GROUP_UPDATE_FLAG_NONE 
GROUP_UPDATE_FLAG_UNK704 
GROUP_UPDATE_FLAG_STATUS 
GROUP_UPDATE_FLAG_POWER_TYPE 
GROUP_UPDATE_FLAG_UNK322 
GROUP_UPDATE_FLAG_CUR_HP 
GROUP_UPDATE_FLAG_MAX_HP 
GROUP_UPDATE_FLAG_CUR_POWER 
GROUP_UPDATE_FLAG_MAX_POWER 
GROUP_UPDATE_FLAG_LEVEL 
GROUP_UPDATE_FLAG_UNK200000 
GROUP_UPDATE_FLAG_ZONE 
GROUP_UPDATE_FLAG_UNK2000000 
GROUP_UPDATE_FLAG_UNK4000000 
GROUP_UPDATE_FLAG_POSITION 
GROUP_UPDATE_FLAG_VEHICLE_SEAT 
GROUP_UPDATE_FLAG_AURAS 
GROUP_UPDATE_FLAG_PET 
GROUP_UPDATE_FLAG_PHASE 
GROUP_UPDATE_FULL 

Definition at line 119 of file Group.h.

◆ GroupUpdatePetFlags

Enumerator
GROUP_UPDATE_FLAG_PET_NONE 
GROUP_UPDATE_FLAG_PET_GUID 
GROUP_UPDATE_FLAG_PET_NAME 
GROUP_UPDATE_FLAG_PET_MODEL_ID 
GROUP_UPDATE_FLAG_PET_CUR_HP 
GROUP_UPDATE_FLAG_PET_MAX_HP 
GROUP_UPDATE_FLAG_PET_AURAS 
GROUP_UPDATE_PET_FULL 

Definition at line 149 of file Group.h.

◆ PingSubjectType

enum class PingSubjectType : uint8
strong
Enumerator
Attack 
Warning 
Assist 
OnMyWay 
AlertThreat 
AlertNotThreat 
Max 

Definition at line 182 of file Group.h.