TrinityCore
Loading...
Searching...
No Matches
Group.h File Reference
#include "DBCEnums.h"
#include "DatabaseEnvFwd.h"
#include "GroupRefManager.h"
#include "Loot.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

class  Roll
 
struct  InstanceGroupBind
 
class  Group
 
struct  Group::MemberSlot
 
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 GROUP_UPDATE_FLAGS_COUNT   20
 

Enumerations

enum  RollVote {
  PASS = 0 , NEED = 1 , GREED = 2 , DISENCHANT = 3 ,
  NOT_EMITED_YET = 4 , NOT_VALID = 5
}
 
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
}
 
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 {
  GROUPTYPE_NORMAL = 0x00 , GROUPTYPE_BG = 0x01 , GROUPTYPE_RAID = 0x02 , GROUPTYPE_BGRAID = GROUPTYPE_BG | GROUPTYPE_RAID ,
  GROUPTYPE_LFG_RESTRICTED = 0x04 , GROUPTYPE_LFG = 0x08
}
 
enum  GroupUpdateFlags {
  GROUP_UPDATE_FLAG_NONE = 0x00000000 , GROUP_UPDATE_FLAG_STATUS = 0x00000001 , GROUP_UPDATE_FLAG_CUR_HP = 0x00000002 , GROUP_UPDATE_FLAG_MAX_HP = 0x00000004 ,
  GROUP_UPDATE_FLAG_POWER_TYPE = 0x00000008 , GROUP_UPDATE_FLAG_CUR_POWER = 0x00000010 , GROUP_UPDATE_FLAG_MAX_POWER = 0x00000020 , GROUP_UPDATE_FLAG_LEVEL = 0x00000040 ,
  GROUP_UPDATE_FLAG_ZONE = 0x00000080 , GROUP_UPDATE_FLAG_POSITION = 0x00000100 , GROUP_UPDATE_FLAG_AURAS = 0x00000200 , GROUP_UPDATE_FLAG_PET_GUID = 0x00000400 ,
  GROUP_UPDATE_FLAG_PET_NAME = 0x00000800 , GROUP_UPDATE_FLAG_PET_MODEL_ID = 0x00001000 , GROUP_UPDATE_FLAG_PET_CUR_HP = 0x00002000 , GROUP_UPDATE_FLAG_PET_MAX_HP = 0x00004000 ,
  GROUP_UPDATE_FLAG_PET_POWER_TYPE = 0x00008000 , GROUP_UPDATE_FLAG_PET_CUR_POWER = 0x00010000 , GROUP_UPDATE_FLAG_PET_MAX_POWER = 0x00020000 , GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000 ,
  GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00080000 , GROUP_UPDATE_PET = 0x0007FC00 , GROUP_UPDATE_FULL = 0x0007FFFF
}
 

Variables

static const uint8 GroupUpdateLength [GROUP_UPDATE_FLAGS_COUNT] = { 0, 2, 2, 2, 1, 2, 2, 2, 2, 4, 8, 8, 1, 2, 2, 2, 1, 2, 2, 8}
 

Macro Definition Documentation

◆ GROUP_UPDATE_FLAGS_COUNT

#define GROUP_UPDATE_FLAGS_COUNT   20

Definition at line 125 of file Group.h.

◆ MAX_GROUP_SIZE

#define MAX_GROUP_SIZE   5

Definition at line 43 of file Group.h.

◆ MAX_RAID_SIZE

#define MAX_RAID_SIZE   40

Definition at line 44 of file Group.h.

◆ MAX_RAID_SUBGROUPS

#define MAX_RAID_SUBGROUPS   MAX_RAID_SIZE / MAX_GROUP_SIZE

Definition at line 45 of file Group.h.

◆ TARGET_ICONS_COUNT

#define TARGET_ICONS_COUNT   8

Definition at line 47 of file Group.h.

Enumeration Type Documentation

◆ GroupMemberAssignment

Enumerator
GROUP_ASSIGN_MAINTANK 
GROUP_ASSIGN_MAINASSIST 

Definition at line 79 of file Group.h.

◆ GroupMemberFlags

Enumerator
MEMBER_FLAG_ASSISTANT 
MEMBER_FLAG_MAINTANK 
MEMBER_FLAG_MAINASSIST 

Definition at line 72 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 

Definition at line 59 of file Group.h.

◆ GroupType

enum GroupType
Enumerator
GROUPTYPE_NORMAL 
GROUPTYPE_BG 
GROUPTYPE_RAID 
GROUPTYPE_BGRAID 
GROUPTYPE_LFG_RESTRICTED 
GROUPTYPE_LFG 

Definition at line 85 of file Group.h.

◆ GroupUpdateFlags

Enumerator
GROUP_UPDATE_FLAG_NONE 
GROUP_UPDATE_FLAG_STATUS 
GROUP_UPDATE_FLAG_CUR_HP 
GROUP_UPDATE_FLAG_MAX_HP 
GROUP_UPDATE_FLAG_POWER_TYPE 
GROUP_UPDATE_FLAG_CUR_POWER 
GROUP_UPDATE_FLAG_MAX_POWER 
GROUP_UPDATE_FLAG_LEVEL 
GROUP_UPDATE_FLAG_ZONE 
GROUP_UPDATE_FLAG_POSITION 
GROUP_UPDATE_FLAG_AURAS 
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_POWER_TYPE 
GROUP_UPDATE_FLAG_PET_CUR_POWER 
GROUP_UPDATE_FLAG_PET_MAX_POWER 
GROUP_UPDATE_FLAG_PET_AURAS 
GROUP_UPDATE_FLAG_VEHICLE_SEAT 
GROUP_UPDATE_PET 
GROUP_UPDATE_FULL 

Definition at line 98 of file Group.h.

◆ RollVote

enum RollVote
Enumerator
PASS 
NEED 
GREED 
DISENCHANT 
NOT_EMITED_YET 
NOT_VALID 

Definition at line 49 of file Group.h.

Variable Documentation

◆ GroupUpdateLength

const uint8 GroupUpdateLength[GROUP_UPDATE_FLAGS_COUNT] = { 0, 2, 2, 2, 1, 2, 2, 2, 2, 4, 8, 8, 1, 2, 2, 2, 1, 2, 2, 8}
static

Definition at line 127 of file Group.h.