AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
PetDefines.h File Reference
#include "Define.h"
#include "Optional.h"
#include <array>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  PetStable
 
struct  PetStable::PetInfo
 

Macros

#define PET_FOLLOW_DIST   1.0f
 
#define PET_FOLLOW_ANGLE   (M_PI/2)
 

Enumerations

enum  PetType : uint8 {
  SUMMON_PET = 0 ,
  HUNTER_PET = 1 ,
  MAX_PET_TYPE = 4
}
 
enum  PetSaveMode : int8 {
  PET_SAVE_AS_DELETED = -1 ,
  PET_SAVE_AS_CURRENT = 0 ,
  PET_SAVE_FIRST_STABLE_SLOT = 1 ,
  PET_SAVE_LAST_STABLE_SLOT = MAX_PET_STABLES ,
  PET_SAVE_NOT_IN_SLOT = 100
}
 
enum  HappinessState {
  UNHAPPY = 1 ,
  CONTENT = 2 ,
  HAPPY = 3
}
 
enum  PetSpellState {
  PETSPELL_UNCHANGED = 0 ,
  PETSPELL_CHANGED = 1 ,
  PETSPELL_NEW = 2 ,
  PETSPELL_REMOVED = 3
}
 
enum  PetSpellType {
  PETSPELL_NORMAL = 0 ,
  PETSPELL_FAMILY = 1 ,
  PETSPELL_TALENT = 2
}
 
enum  ActionFeedback {
  FEEDBACK_NONE = 0 ,
  FEEDBACK_PET_DEAD = 1 ,
  FEEDBACK_NOTHING_TO_ATT = 2 ,
  FEEDBACK_CANT_ATT_TARGET = 3
}
 
enum  PetTalk {
  PET_TALK_SPECIAL_SPELL = 0 ,
  PET_TALK_ATTACK = 1
}
 
enum  PetLoadState {
  PET_LOAD_OK = 0 ,
  PET_LOAD_NO_RESULT = 1 ,
  PET_LOAD_ERROR = 2
}
 
enum  NPCEntries {
  NPC_INFERNAL = 89 ,
  NPC_IMP = 416 ,
  NPC_FELHUNTER = 417 ,
  NPC_VOIDWALKER = 1860 ,
  NPC_SUCCUBUS = 1863 ,
  NPC_DOOMGUARD = 11859 ,
  NPC_FELGUARD = 17252 ,
  NPC_EYE_OF_KILROGG = 4277 ,
  NPC_WATER_ELEMENTAL_TEMP = 510 ,
  NPC_MIRROR_IMAGE = 31216 ,
  NPC_WATER_ELEMENTAL_PERM = 37994 ,
  NPC_TREANT = 1964 ,
  NPC_SHADOWFIEND = 19668 ,
  NPC_FIRE_ELEMENTAL = 15438 ,
  NPC_EARTH_ELEMENTAL = 15352 ,
  NPC_FERAL_SPIRIT = 29264 ,
  NPC_RISEN_GHOUL = 26125 ,
  NPC_BLOODWORM = 28017 ,
  NPC_ARMY_OF_THE_DEAD = 24207 ,
  NPC_EBON_GARGOYLE = 27829 ,
  NPC_VENOMOUS_SNAKE = 19833 ,
  NPC_VIPER = 19921 ,
  NPC_GENERIC_IMP = 12922 ,
  NPC_GENERIC_VOIDWALKER = 8996
}
 
enum  PetScalingSpells {
  SPELL_PET_AVOIDANCE = 32233 ,
  SPELL_HUNTER_PET_SCALING_01 = 34902 ,
  SPELL_HUNTER_PET_SCALING_02 = 34903 ,
  SPELL_HUNTER_PET_SCALING_03 = 34904 ,
  SPELL_HUNTER_PET_SCALING_04 = 61017 ,
  SPELL_WARLOCK_PET_SCALING_01 = 34947 ,
  SPELL_WARLOCK_PET_SCALING_02 = 34956 ,
  SPELL_WARLOCK_PET_SCALING_03 = 34957 ,
  SPELL_WARLOCK_PET_SCALING_04 = 34958 ,
  SPELL_WARLOCK_PET_SCALING_05 = 61013 ,
  SPELL_GLYPH_OF_FELGUARD = 56246 ,
  SPELL_GLYPH_OF_VOIDWALKER = 56247 ,
  SPELL_INFERNAL_SCALING_01 = 36186 ,
  SPELL_INFERNAL_SCALING_02 = 36188 ,
  SPELL_INFERNAL_SCALING_03 = 36189 ,
  SPELL_INFERNAL_SCALING_04 = 36190 ,
  SPELL_RITUAL_ENSLAVEMENT = 22987 ,
  SPELL_FERAL_SPIRIT_SPIRIT_HUNT = 58877 ,
  SPELL_FERAL_SPIRIT_SCALING_01 = 35674 ,
  SPELL_FERAL_SPIRIT_SCALING_02 = 35675 ,
  SPELL_FERAL_SPIRIT_SCALING_03 = 35676 ,
  SPELL_FIRE_ELEMENTAL_SCALING_01 = 35665 ,
  SPELL_FIRE_ELEMENTAL_SCALING_02 = 35666 ,
  SPELL_FIRE_ELEMENTAL_SCALING_03 = 35667 ,
  SPELL_FIRE_ELEMENTAL_SCALING_04 = 35668 ,
  SPELL_EARTH_ELEMENTAL_SCALING_01 = 65225 ,
  SPELL_EARTH_ELEMENTAL_SCALING_02 = 65226 ,
  SPELL_EARTH_ELEMENTAL_SCALING_03 = 65227 ,
  SPELL_EARTH_ELEMENTAL_SCALING_04 = 65228 ,
  SPELL_ORC_RACIAL_COMMAND_SHAMAN = 65223 ,
  SPELL_SHADOWFIEND_SCALING_01 = 35661 ,
  SPELL_SHADOWFIEND_SCALING_02 = 35662 ,
  SPELL_SHADOWFIEND_SCALING_03 = 35663 ,
  SPELL_SHADOWFIEND_SCALING_04 = 35664 ,
  SPELL_TREANT_SCALING_01 = 35669 ,
  SPELL_TREANT_SCALING_02 = 35670 ,
  SPELL_TREANT_SCALING_03 = 35671 ,
  SPELL_TREANT_SCALING_04 = 35672 ,
  SPELL_MAGE_PET_SCALING_01 = 35657 ,
  SPELL_MAGE_PET_SCALING_02 = 35658 ,
  SPELL_MAGE_PET_SCALING_03 = 35659 ,
  SPELL_MAGE_PET_SCALING_04 = 35660 ,
  SPELL_ORC_RACIAL_COMMAND_DK = 65221 ,
  SPELL_NIGHT_OF_THE_DEAD_AVOIDANCE = 62137 ,
  SPELL_DK_PET_SCALING_01 = 51996 ,
  SPELL_DK_PET_SCALING_02 = 54566 ,
  SPELL_DK_PET_SCALING_03 = 61697
}
 

Variables

constexpr auto MAX_PET_STABLES = 4
 

Macro Definition Documentation

◆ PET_FOLLOW_ANGLE

#define PET_FOLLOW_ANGLE   (M_PI/2)

◆ PET_FOLLOW_DIST

#define PET_FOLLOW_DIST   1.0f

Enumeration Type Documentation

◆ ActionFeedback

Enumerator
FEEDBACK_NONE 
FEEDBACK_PET_DEAD 
FEEDBACK_NOTHING_TO_ATT 
FEEDBACK_CANT_ATT_TARGET 
71{
72 FEEDBACK_NONE = 0,
76};
@ FEEDBACK_NOTHING_TO_ATT
Definition: PetDefines.h:74
@ FEEDBACK_PET_DEAD
Definition: PetDefines.h:73
@ FEEDBACK_CANT_ATT_TARGET
Definition: PetDefines.h:75
@ FEEDBACK_NONE
Definition: PetDefines.h:72

◆ HappinessState

Enumerator
UNHAPPY 
CONTENT 
HAPPY 
49{
50 UNHAPPY = 1,
51 CONTENT = 2,
52 HAPPY = 3
53};
@ HAPPY
Definition: PetDefines.h:52
@ CONTENT
Definition: PetDefines.h:51
@ UNHAPPY
Definition: PetDefines.h:50

◆ NPCEntries

enum NPCEntries
Enumerator
NPC_INFERNAL 
NPC_IMP 
NPC_FELHUNTER 
NPC_VOIDWALKER 
NPC_SUCCUBUS 
NPC_DOOMGUARD 
NPC_FELGUARD 
NPC_EYE_OF_KILROGG 
NPC_WATER_ELEMENTAL_TEMP 
NPC_MIRROR_IMAGE 
NPC_WATER_ELEMENTAL_PERM 
NPC_TREANT 
NPC_SHADOWFIEND 
NPC_FIRE_ELEMENTAL 
NPC_EARTH_ELEMENTAL 
NPC_FERAL_SPIRIT 
NPC_RISEN_GHOUL 
NPC_BLOODWORM 
NPC_ARMY_OF_THE_DEAD 
NPC_EBON_GARGOYLE 
NPC_VENOMOUS_SNAKE 
NPC_VIPER 
NPC_GENERIC_IMP 
NPC_GENERIC_VOIDWALKER 
92{
93 // Warlock
94 NPC_INFERNAL = 89,
95 NPC_IMP = 416,
96 NPC_FELHUNTER = 417,
97 NPC_VOIDWALKER = 1860,
98 NPC_SUCCUBUS = 1863,
99 NPC_DOOMGUARD = 11859,
100 NPC_FELGUARD = 17252,
101 NPC_EYE_OF_KILROGG = 4277,
102
103 // Mage
105 NPC_MIRROR_IMAGE = 31216,
107
108 // Druid
109 NPC_TREANT = 1964,
110
111 // Priest
112 NPC_SHADOWFIEND = 19668,
113
114 // Shaman
115 NPC_FIRE_ELEMENTAL = 15438,
116 NPC_EARTH_ELEMENTAL = 15352,
117 NPC_FERAL_SPIRIT = 29264,
118
119 // Death Knight
120 NPC_RISEN_GHOUL = 26125,
121 NPC_BLOODWORM = 28017,
122 NPC_ARMY_OF_THE_DEAD = 24207,
123 NPC_EBON_GARGOYLE = 27829,
124
125 // Hunter
126 NPC_VENOMOUS_SNAKE = 19833,
127 NPC_VIPER = 19921,
128
129 // Generic
130 NPC_GENERIC_IMP = 12922,
132};
@ NPC_WATER_ELEMENTAL_TEMP
Definition: PetDefines.h:104
@ NPC_FERAL_SPIRIT
Definition: PetDefines.h:117
@ NPC_EARTH_ELEMENTAL
Definition: PetDefines.h:116
@ NPC_DOOMGUARD
Definition: PetDefines.h:99
@ NPC_RISEN_GHOUL
Definition: PetDefines.h:120
@ NPC_EBON_GARGOYLE
Definition: PetDefines.h:123
@ NPC_TREANT
Definition: PetDefines.h:109
@ NPC_FELHUNTER
Definition: PetDefines.h:96
@ NPC_SHADOWFIEND
Definition: PetDefines.h:112
@ NPC_SUCCUBUS
Definition: PetDefines.h:98
@ NPC_INFERNAL
Definition: PetDefines.h:94
@ NPC_ARMY_OF_THE_DEAD
Definition: PetDefines.h:122
@ NPC_VENOMOUS_SNAKE
Definition: PetDefines.h:126
@ NPC_BLOODWORM
Definition: PetDefines.h:121
@ NPC_EYE_OF_KILROGG
Definition: PetDefines.h:101
@ NPC_VIPER
Definition: PetDefines.h:127
@ NPC_FIRE_ELEMENTAL
Definition: PetDefines.h:115
@ NPC_IMP
Definition: PetDefines.h:95
@ NPC_FELGUARD
Definition: PetDefines.h:100
@ NPC_GENERIC_VOIDWALKER
Definition: PetDefines.h:131
@ NPC_MIRROR_IMAGE
Definition: PetDefines.h:105
@ NPC_WATER_ELEMENTAL_PERM
Definition: PetDefines.h:106
@ NPC_VOIDWALKER
Definition: PetDefines.h:97
@ NPC_GENERIC_IMP
Definition: PetDefines.h:130

◆ PetLoadState

Enumerator
PET_LOAD_OK 
PET_LOAD_NO_RESULT 
PET_LOAD_ERROR 
85{
86 PET_LOAD_OK = 0,
89};
@ PET_LOAD_ERROR
Definition: PetDefines.h:88
@ PET_LOAD_NO_RESULT
Definition: PetDefines.h:87
@ PET_LOAD_OK
Definition: PetDefines.h:86

◆ PetSaveMode

enum PetSaveMode : int8
Enumerator
PET_SAVE_AS_DELETED 
PET_SAVE_AS_CURRENT 
PET_SAVE_FIRST_STABLE_SLOT 
PET_SAVE_LAST_STABLE_SLOT 
PET_SAVE_NOT_IN_SLOT 
40{
41 PET_SAVE_AS_DELETED = -1, // not saved in fact
42 PET_SAVE_AS_CURRENT = 0, // in current slot (with player)
44 PET_SAVE_LAST_STABLE_SLOT = MAX_PET_STABLES, // last in DB stable slot index (including), all higher have same meaning as PET_SAVE_NOT_IN_SLOT
45 PET_SAVE_NOT_IN_SLOT = 100 // for avoid conflict with stable size grow will use 100
46};
@ PET_SAVE_FIRST_STABLE_SLOT
Definition: PetDefines.h:43
@ PET_SAVE_LAST_STABLE_SLOT
Definition: PetDefines.h:44
@ PET_SAVE_AS_DELETED
Definition: PetDefines.h:41
@ PET_SAVE_NOT_IN_SLOT
Definition: PetDefines.h:45
@ PET_SAVE_AS_CURRENT
Definition: PetDefines.h:42
constexpr auto MAX_PET_STABLES
Definition: PetDefines.h:36

◆ PetScalingSpells

Enumerator
SPELL_PET_AVOIDANCE 
SPELL_HUNTER_PET_SCALING_01 
SPELL_HUNTER_PET_SCALING_02 
SPELL_HUNTER_PET_SCALING_03 
SPELL_HUNTER_PET_SCALING_04 
SPELL_WARLOCK_PET_SCALING_01 
SPELL_WARLOCK_PET_SCALING_02 
SPELL_WARLOCK_PET_SCALING_03 
SPELL_WARLOCK_PET_SCALING_04 
SPELL_WARLOCK_PET_SCALING_05 
SPELL_GLYPH_OF_FELGUARD 
SPELL_GLYPH_OF_VOIDWALKER 
SPELL_INFERNAL_SCALING_01 
SPELL_INFERNAL_SCALING_02 
SPELL_INFERNAL_SCALING_03 
SPELL_INFERNAL_SCALING_04 
SPELL_RITUAL_ENSLAVEMENT 
SPELL_FERAL_SPIRIT_SPIRIT_HUNT 
SPELL_FERAL_SPIRIT_SCALING_01 
SPELL_FERAL_SPIRIT_SCALING_02 
SPELL_FERAL_SPIRIT_SCALING_03 
SPELL_FIRE_ELEMENTAL_SCALING_01 
SPELL_FIRE_ELEMENTAL_SCALING_02 
SPELL_FIRE_ELEMENTAL_SCALING_03 
SPELL_FIRE_ELEMENTAL_SCALING_04 
SPELL_EARTH_ELEMENTAL_SCALING_01 
SPELL_EARTH_ELEMENTAL_SCALING_02 
SPELL_EARTH_ELEMENTAL_SCALING_03 
SPELL_EARTH_ELEMENTAL_SCALING_04 
SPELL_ORC_RACIAL_COMMAND_SHAMAN 
SPELL_SHADOWFIEND_SCALING_01 
SPELL_SHADOWFIEND_SCALING_02 
SPELL_SHADOWFIEND_SCALING_03 
SPELL_SHADOWFIEND_SCALING_04 
SPELL_TREANT_SCALING_01 
SPELL_TREANT_SCALING_02 
SPELL_TREANT_SCALING_03 
SPELL_TREANT_SCALING_04 
SPELL_MAGE_PET_SCALING_01 
SPELL_MAGE_PET_SCALING_02 
SPELL_MAGE_PET_SCALING_03 
SPELL_MAGE_PET_SCALING_04 
SPELL_ORC_RACIAL_COMMAND_DK 
SPELL_NIGHT_OF_THE_DEAD_AVOIDANCE 
SPELL_DK_PET_SCALING_01 
SPELL_DK_PET_SCALING_02 
SPELL_DK_PET_SCALING_03 
135{
136 SPELL_PET_AVOIDANCE = 32233,
137
141 SPELL_HUNTER_PET_SCALING_04 = 61017, // Hit / Expertise
142
143 // Warlock
148 SPELL_WARLOCK_PET_SCALING_05 = 61013, // Hit / Expertise
156
157 // Shaman
171
172 // Priest
177
178 // Druid
183
184 // Mage
189
190 // Death Knight
196};
@ SPELL_WARLOCK_PET_SCALING_02
Definition: PetDefines.h:145
@ SPELL_MAGE_PET_SCALING_02
Definition: PetDefines.h:186
@ SPELL_FIRE_ELEMENTAL_SCALING_02
Definition: PetDefines.h:163
@ SPELL_HUNTER_PET_SCALING_02
Definition: PetDefines.h:139
@ SPELL_EARTH_ELEMENTAL_SCALING_02
Definition: PetDefines.h:167
@ SPELL_INFERNAL_SCALING_02
Definition: PetDefines.h:152
@ SPELL_FERAL_SPIRIT_SCALING_03
Definition: PetDefines.h:161
@ SPELL_FIRE_ELEMENTAL_SCALING_03
Definition: PetDefines.h:164
@ SPELL_TREANT_SCALING_04
Definition: PetDefines.h:182
@ SPELL_SHADOWFIEND_SCALING_03
Definition: PetDefines.h:175
@ SPELL_PET_AVOIDANCE
Definition: PetDefines.h:136
@ SPELL_MAGE_PET_SCALING_01
Definition: PetDefines.h:185
@ SPELL_INFERNAL_SCALING_03
Definition: PetDefines.h:153
@ SPELL_SHADOWFIEND_SCALING_01
Definition: PetDefines.h:173
@ SPELL_WARLOCK_PET_SCALING_04
Definition: PetDefines.h:147
@ SPELL_FIRE_ELEMENTAL_SCALING_01
Definition: PetDefines.h:162
@ SPELL_EARTH_ELEMENTAL_SCALING_04
Definition: PetDefines.h:169
@ SPELL_HUNTER_PET_SCALING_03
Definition: PetDefines.h:140
@ SPELL_DK_PET_SCALING_03
Definition: PetDefines.h:195
@ SPELL_RITUAL_ENSLAVEMENT
Definition: PetDefines.h:155
@ SPELL_WARLOCK_PET_SCALING_01
Definition: PetDefines.h:144
@ SPELL_TREANT_SCALING_01
Definition: PetDefines.h:179
@ SPELL_DK_PET_SCALING_01
Definition: PetDefines.h:193
@ SPELL_INFERNAL_SCALING_04
Definition: PetDefines.h:154
@ SPELL_WARLOCK_PET_SCALING_05
Definition: PetDefines.h:148
@ SPELL_TREANT_SCALING_03
Definition: PetDefines.h:181
@ SPELL_WARLOCK_PET_SCALING_03
Definition: PetDefines.h:146
@ SPELL_FERAL_SPIRIT_SCALING_02
Definition: PetDefines.h:160
@ SPELL_MAGE_PET_SCALING_03
Definition: PetDefines.h:187
@ SPELL_FERAL_SPIRIT_SPIRIT_HUNT
Definition: PetDefines.h:158
@ SPELL_FERAL_SPIRIT_SCALING_01
Definition: PetDefines.h:159
@ SPELL_GLYPH_OF_FELGUARD
Definition: PetDefines.h:149
@ SPELL_EARTH_ELEMENTAL_SCALING_03
Definition: PetDefines.h:168
@ SPELL_FIRE_ELEMENTAL_SCALING_04
Definition: PetDefines.h:165
@ SPELL_INFERNAL_SCALING_01
Definition: PetDefines.h:151
@ SPELL_DK_PET_SCALING_02
Definition: PetDefines.h:194
@ SPELL_TREANT_SCALING_02
Definition: PetDefines.h:180
@ SPELL_GLYPH_OF_VOIDWALKER
Definition: PetDefines.h:150
@ SPELL_HUNTER_PET_SCALING_04
Definition: PetDefines.h:141
@ SPELL_EARTH_ELEMENTAL_SCALING_01
Definition: PetDefines.h:166
@ SPELL_SHADOWFIEND_SCALING_02
Definition: PetDefines.h:174
@ SPELL_MAGE_PET_SCALING_04
Definition: PetDefines.h:188
@ SPELL_ORC_RACIAL_COMMAND_SHAMAN
Definition: PetDefines.h:170
@ SPELL_NIGHT_OF_THE_DEAD_AVOIDANCE
Definition: PetDefines.h:192
@ SPELL_ORC_RACIAL_COMMAND_DK
Definition: PetDefines.h:191
@ SPELL_HUNTER_PET_SCALING_01
Definition: PetDefines.h:138
@ SPELL_SHADOWFIEND_SCALING_04
Definition: PetDefines.h:176

◆ PetSpellState

Enumerator
PETSPELL_UNCHANGED 
PETSPELL_CHANGED 
PETSPELL_NEW 
PETSPELL_REMOVED 
56{
59 PETSPELL_NEW = 2,
61};
@ PETSPELL_NEW
Definition: PetDefines.h:59
@ PETSPELL_UNCHANGED
Definition: PetDefines.h:57
@ PETSPELL_CHANGED
Definition: PetDefines.h:58
@ PETSPELL_REMOVED
Definition: PetDefines.h:60

◆ PetSpellType

Enumerator
PETSPELL_NORMAL 
PETSPELL_FAMILY 
PETSPELL_TALENT 
64{
68};
@ PETSPELL_TALENT
Definition: PetDefines.h:67
@ PETSPELL_NORMAL
Definition: PetDefines.h:65
@ PETSPELL_FAMILY
Definition: PetDefines.h:66

◆ PetTalk

enum PetTalk
Enumerator
PET_TALK_SPECIAL_SPELL 
PET_TALK_ATTACK 
79{
82};
@ PET_TALK_SPECIAL_SPELL
Definition: PetDefines.h:80
@ PET_TALK_ATTACK
Definition: PetDefines.h:81

◆ PetType

enum PetType : uint8
Enumerator
SUMMON_PET 
HUNTER_PET 
MAX_PET_TYPE 
30{
31 SUMMON_PET = 0,
32 HUNTER_PET = 1,
33 MAX_PET_TYPE = 4
34};
@ SUMMON_PET
Definition: PetDefines.h:31
@ HUNTER_PET
Definition: PetDefines.h:32
@ MAX_PET_TYPE
Definition: PetDefines.h:33

Variable Documentation

◆ MAX_PET_STABLES

constexpr auto MAX_PET_STABLES = 4
constexpr