TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Group.h File Reference
#include "DBCEnums.h"
#include "GroupRefManager.h"
#include "LootMgr.h"
#include "QueryResult.h"
#include "SharedDefines.h"
#include "Object.h"
+ Include dependency graph for Group.h:

Go to the source code of this file.

Classes

class  Roll
 
struct  InstanceGroupBind
 
struct  RaidMarker
 
class  Group
 
struct  Group::MemberSlot
 

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  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, GROUPTYPE_EVERYONE_ASSISTANT = 0x40
}
 
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
}
 

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
GROUP_ASSIGN_MAINTANK 
GROUP_ASSIGN_MAINASSIST 
82 {
85 };
Definition: Group.h:83
Definition: Group.h:84
Enumerator
MEMBER_FLAG_ASSISTANT 
MEMBER_FLAG_MAINTANK 
MEMBER_FLAG_MAINASSIST 
75 {
76  MEMBER_FLAG_ASSISTANT = 0x01,
77  MEMBER_FLAG_MAINTANK = 0x02,
79 };
Definition: Group.h:76
Definition: Group.h:77
Definition: Group.h:78
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 
62 {
63  MEMBER_STATUS_OFFLINE = 0x0000,
64  MEMBER_STATUS_ONLINE = 0x0001, // Lua_UnitIsConnected
65  MEMBER_STATUS_PVP = 0x0002, // Lua_UnitIsPVP
66  MEMBER_STATUS_DEAD = 0x0004, // Lua_UnitIsDead
67  MEMBER_STATUS_GHOST = 0x0008, // Lua_UnitIsGhost
68  MEMBER_STATUS_PVP_FFA = 0x0010, // Lua_UnitIsPVPFreeForAll
69  MEMBER_STATUS_UNK3 = 0x0020, // used in calls from Lua_GetPlayerMapPosition/Lua_GetBattlefieldFlagPosition
70  MEMBER_STATUS_AFK = 0x0040, // Lua_UnitIsAFK
71  MEMBER_STATUS_DND = 0x0080 // Lua_UnitIsDND
72 };
Definition: Group.h:63
Definition: Group.h:71
Definition: Group.h:68
Definition: Group.h:67
Definition: Group.h:66
Definition: Group.h:69
Definition: Group.h:65
Definition: Group.h:64
Definition: Group.h:70
enum GroupType
Enumerator
GROUPTYPE_NORMAL 
GROUPTYPE_BG 
GROUPTYPE_RAID 
GROUPTYPE_BGRAID 
GROUPTYPE_LFG_RESTRICTED 
GROUPTYPE_LFG 
GROUPTYPE_EVERYONE_ASSISTANT 
88 {
89  GROUPTYPE_NORMAL = 0x00,
90  GROUPTYPE_BG = 0x01,
91  GROUPTYPE_RAID = 0x02,
93  GROUPTYPE_LFG_RESTRICTED = 0x04, // Script_HasLFGRestrictions()
94  GROUPTYPE_LFG = 0x08,
95  GROUPTYPE_EVERYONE_ASSISTANT = 0x40, // Script_IsEveryoneAssistant() (4.x)
96  // 0x10, leave/change group?, I saw this flag when leaving group and after leaving BG while in group
97  // GROUPTYPE_ONE_PERSON_PARTY = 0x20, 4.x Script_IsOnePersonParty()
98 };
Definition: Group.h:92
Definition: Group.h:93
Definition: Group.h:91
Definition: Group.h:89
Definition: Group.h:90
Definition: Group.h:94
Definition: Group.h:95
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 
101 {
102  GROUP_UPDATE_FLAG_NONE = 0x00000000, // nothing
103  GROUP_UPDATE_FLAG_UNK704 = 0x00000001, // uint8[2] (unk)
104  GROUP_UPDATE_FLAG_STATUS = 0x00000002, // uint16 (GroupMemberStatusFlag)
105  GROUP_UPDATE_FLAG_POWER_TYPE = 0x00000004, // uint8 (PowerType)
106  GROUP_UPDATE_FLAG_UNK322 = 0x00000008, // uint16 (unk)
107  GROUP_UPDATE_FLAG_CUR_HP = 0x00000010, // uint32 (HP)
108  GROUP_UPDATE_FLAG_MAX_HP = 0x00000020, // uint32 (max HP)
109  GROUP_UPDATE_FLAG_CUR_POWER = 0x00000040, // int16 (power value)
110  GROUP_UPDATE_FLAG_MAX_POWER = 0x00000080, // int16 (max power value)
111  GROUP_UPDATE_FLAG_LEVEL = 0x00000100, // uint16 (level value)
112  GROUP_UPDATE_FLAG_UNK200000 = 0x00000200, // int16 (unk)
113  GROUP_UPDATE_FLAG_ZONE = 0x00000400, // uint16 (zone id)
114  GROUP_UPDATE_FLAG_UNK2000000 = 0x00000800, // int16 (unk)
115  GROUP_UPDATE_FLAG_UNK4000000 = 0x00001000, // int32 (unk)
116  GROUP_UPDATE_FLAG_POSITION = 0x00002000, // uint16 (x), uint16 (y), uint16 (z)
117  GROUP_UPDATE_FLAG_VEHICLE_SEAT = 0x00104000, // int32 (vehicle seat id)
118  GROUP_UPDATE_FLAG_AURAS = 0x00008000, // uint8 (unk), uint64 (mask), uint32 (count), for each bit set: uint32 (spell id) + uint16 (AuraFlags) (if has flags Scalable -> 3x int32 (bps))
119  GROUP_UPDATE_FLAG_PET = 0x00010000, // complex (pet)
120  GROUP_UPDATE_FLAG_PHASE = 0x00020000, // int32 (unk), uint32 (phase count), for (count) uint16(phaseId)
121 
128 };
Definition: Group.h:106
Definition: Group.h:115
Definition: Group.h:107
Definition: Group.h:116
Definition: Group.h:119
Definition: Group.h:111
Definition: Group.h:108
Definition: Group.h:110
Definition: Group.h:104
Definition: Group.h:120
Definition: Group.h:102
Definition: Group.h:113
Definition: Group.h:109
Definition: Group.h:122
Definition: Group.h:103
Definition: Group.h:114
Definition: Group.h:105
Definition: Group.h:118
Definition: Group.h:117
Definition: Group.h:112
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 
131 {
132  GROUP_UPDATE_FLAG_PET_NONE = 0x00000000, // nothing
133  GROUP_UPDATE_FLAG_PET_GUID = 0x00000001, // ObjectGuid (pet guid)
134  GROUP_UPDATE_FLAG_PET_NAME = 0x00000002, // cstring (name, NULL terminated string)
135  GROUP_UPDATE_FLAG_PET_MODEL_ID = 0x00000004, // uint16 (model id)
136  GROUP_UPDATE_FLAG_PET_CUR_HP = 0x00000008, // uint32 (HP)
137  GROUP_UPDATE_FLAG_PET_MAX_HP = 0x00000010, // uint32 (max HP)
138  GROUP_UPDATE_FLAG_PET_AURAS = 0x00000020, // [see GROUP_UPDATE_FLAG_AURAS]
139 
142 };
Definition: Group.h:134
Definition: Group.h:135
Definition: Group.h:140
Definition: Group.h:137
Definition: Group.h:132
Definition: Group.h:136
Definition: Group.h:138
Definition: Group.h:133
enum RollVote
Enumerator
PASS 
NEED 
GREED 
DISENCHANT 
NOT_EMITED_YET 
NOT_VALID 
52 {
53  PASS = 0,
54  NEED = 1,
55  GREED = 2,
56  DISENCHANT = 3,
57  NOT_EMITED_YET = 4,
58  NOT_VALID = 5
59 };
Definition: Group.h:53
Definition: Group.h:54
Definition: Group.h:56
Definition: Group.h:55
Definition: Group.h:57
Definition: Group.h:58