Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
Creature.h File Reference
#include "Cell.h"
#include "Common.h"
#include "DatabaseEnv.h"
#include "ItemPrototype.h"
#include "LootMgr.h"
#include "Unit.h"
#include "UpdateMask.h"
#include <list>
Include dependency graph for Creature.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  AssistDelayEvent
class  Creature
struct  CreatureAddon
struct  CreatureBaseStats
struct  CreatureData
struct  CreatureLocale
struct  CreatureModelInfo
struct  CreatureTemplate
struct  EquipmentInfo
class  ForcedDespawnDelayEvent
struct  GossipMenuItemsLocale
struct  PointOfInterestLocale
struct  TrainerSpell
struct  TrainerSpellData
struct  VendorItem
struct  VendorItemCount
struct  VendorItemData

Macros

#define CREATURE_FLAG_EXTRA_DB_ALLOWED
#define CREATURE_REGEN_INTERVAL   2 * IN_MILLISECONDS
#define CREATURE_Z_ATTACK_RANGE   3
#define MAX_CREATURE_QUEST_ITEMS   6
#define MAX_EQUIPMENT_ITEMS   3
#define MAX_KILL_CREDIT   2
#define MAX_VENDOR_ITEMS   150

Typedefs

typedef UNORDERED_MAP< uint32, CreatureAddonCreatureAddonContainer
typedef UNORDERED_MAP< uint16, CreatureBaseStatsCreatureBaseStatsContainer
typedef UNORDERED_MAP< uint16, CreatureModelInfoCreatureModelContainer
typedef std::map< uint32, time_t > CreatureSpellCooldowns
typedef UNORDERED_MAP< uint32, CreatureTemplateCreatureTemplateContainer
typedef UNORDERED_MAP< uint32, EquipmentInfoContainerInternalEquipmentInfoContainer
typedef UNORDERED_MAP< uint8, EquipmentInfoEquipmentInfoContainerInternal
typedef UNORDERED_MAP< uint32, TrainerSpellTrainerSpellMap
typedef std::list< VendorItemCountVendorItemCounts
typedef std::vector< VendorItem * > VendorItemList

Enumerations

enum  ChatType {
  CHAT_TYPE_SAY = 0 , CHAT_TYPE_YELL = 1 , CHAT_TYPE_TEXT_EMOTE = 2 , CHAT_TYPE_BOSS_EMOTE = 3 ,
  CHAT_TYPE_WHISPER = 4 , CHAT_TYPE_BOSS_WHISPER = 5 , CHAT_TYPE_ZONE_YELL = 6 , CHAT_TYPE_END = 255
}
enum  CreatureFlagsExtra {
  CREATURE_FLAG_EXTRA_INSTANCE_BIND = 0x00000001 , CREATURE_FLAG_EXTRA_CIVILIAN = 0x00000002 , CREATURE_FLAG_EXTRA_NO_PARRY = 0x00000004 , CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN = 0x00000008 ,
  CREATURE_FLAG_EXTRA_NO_BLOCK = 0x00000010 , CREATURE_FLAG_EXTRA_NO_CRUSH = 0x00000020 , CREATURE_FLAG_EXTRA_NO_XP_AT_KILL = 0x00000040 , CREATURE_FLAG_EXTRA_TRIGGER = 0x00000080 ,
  CREATURE_FLAG_EXTRA_NO_TAUNT = 0x00000100 , CREATURE_FLAG_EXTRA_WORLDEVENT = 0x00004000 , CREATURE_FLAG_EXTRA_GUARD = 0x00008000 , CREATURE_FLAG_EXTRA_NO_CRIT = 0x00020000 ,
  CREATURE_FLAG_EXTRA_NO_SKILLGAIN = 0x00040000 , CREATURE_FLAG_EXTRA_TAUNT_DIMINISH = 0x00080000 , CREATURE_FLAG_EXTRA_ALL_DIMINISH = 0x00100000 , CREATURE_FLAG_EXTRA_DUNGEON_BOSS = 0x10000000
}
enum  InhabitTypeValues { INHABIT_GROUND = 1 , INHABIT_WATER = 2 , INHABIT_AIR = 4 , INHABIT_ANYWHERE = INHABIT_GROUND | INHABIT_WATER | INHABIT_AIR }

Macro Definition Documentation

◆ CREATURE_FLAG_EXTRA_DB_ALLOWED

#define CREATURE_FLAG_EXTRA_DB_ALLOWED
Value:
@ CREATURE_FLAG_EXTRA_NO_BLOCK
Definition Creature.h:33
@ CREATURE_FLAG_EXTRA_TAUNT_DIMINISH
Definition Creature.h:42
@ CREATURE_FLAG_EXTRA_NO_CRIT
Definition Creature.h:40
@ CREATURE_FLAG_EXTRA_TRIGGER
Definition Creature.h:36
@ CREATURE_FLAG_EXTRA_NO_CRUSH
Definition Creature.h:34
@ CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN
Definition Creature.h:32
@ CREATURE_FLAG_EXTRA_INSTANCE_BIND
Definition Creature.h:29
@ CREATURE_FLAG_EXTRA_NO_PARRY
Definition Creature.h:31
@ CREATURE_FLAG_EXTRA_NO_TAUNT
Definition Creature.h:37
@ CREATURE_FLAG_EXTRA_NO_XP_AT_KILL
Definition Creature.h:35
@ CREATURE_FLAG_EXTRA_NO_SKILLGAIN
Definition Creature.h:41
@ CREATURE_FLAG_EXTRA_CIVILIAN
Definition Creature.h:30
@ CREATURE_FLAG_EXTRA_GUARD
Definition Creature.h:39
@ CREATURE_FLAG_EXTRA_ALL_DIMINISH
Definition Creature.h:43
@ CREATURE_FLAG_EXTRA_WORLDEVENT
Definition Creature.h:38

Definition at line 47 of file Creature.h.

Referenced by ObjectMgr::CheckCreatureTemplate().

◆ CREATURE_REGEN_INTERVAL

#define CREATURE_REGEN_INTERVAL   2 * IN_MILLISECONDS

◆ CREATURE_Z_ATTACK_RANGE

◆ MAX_CREATURE_QUEST_ITEMS

◆ MAX_EQUIPMENT_ITEMS

#define MAX_EQUIPMENT_ITEMS   3

Definition at line 59 of file Creature.h.

Referenced by Creature::LoadEquipment(), and ObjectMgr::LoadEquipmentTemplates().

◆ MAX_KILL_CREDIT

◆ MAX_VENDOR_ITEMS

#define MAX_VENDOR_ITEMS   150

Definition at line 424 of file Creature.h.

Referenced by WorldSession::SendListInventory().

Typedef Documentation

◆ CreatureAddonContainer

Definition at line 333 of file Creature.h.

◆ CreatureBaseStatsContainer

◆ CreatureModelContainer

◆ CreatureSpellCooldowns

typedef std::map<uint32, time_t> CreatureSpellCooldowns

Definition at line 419 of file Creature.h.

◆ CreatureTemplateContainer

◆ EquipmentInfoContainer

◆ EquipmentInfoContainerInternal

◆ TrainerSpellMap

Definition at line 406 of file Creature.h.

◆ VendorItemCounts

typedef std::list<VendorItemCount> VendorItemCounts

Definition at line 389 of file Creature.h.

◆ VendorItemList

typedef std::vector<VendorItem*> VendorItemList

Definition at line 350 of file Creature.h.

Enumeration Type Documentation

◆ ChatType

enum ChatType
Enumerator
CHAT_TYPE_SAY 
CHAT_TYPE_YELL 
CHAT_TYPE_TEXT_EMOTE 
CHAT_TYPE_BOSS_EMOTE 
CHAT_TYPE_WHISPER 
CHAT_TYPE_BOSS_WHISPER 
CHAT_TYPE_ZONE_YELL 
CHAT_TYPE_END 

Definition at line 303 of file Creature.h.

◆ CreatureFlagsExtra

Enumerator
CREATURE_FLAG_EXTRA_INSTANCE_BIND 
CREATURE_FLAG_EXTRA_CIVILIAN 
CREATURE_FLAG_EXTRA_NO_PARRY 
CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN 
CREATURE_FLAG_EXTRA_NO_BLOCK 
CREATURE_FLAG_EXTRA_NO_CRUSH 
CREATURE_FLAG_EXTRA_NO_XP_AT_KILL 
CREATURE_FLAG_EXTRA_TRIGGER 
CREATURE_FLAG_EXTRA_NO_TAUNT 
CREATURE_FLAG_EXTRA_WORLDEVENT 
CREATURE_FLAG_EXTRA_GUARD 
CREATURE_FLAG_EXTRA_NO_CRIT 
CREATURE_FLAG_EXTRA_NO_SKILLGAIN 
CREATURE_FLAG_EXTRA_TAUNT_DIMINISH 
CREATURE_FLAG_EXTRA_ALL_DIMINISH 
CREATURE_FLAG_EXTRA_DUNGEON_BOSS 

Definition at line 27 of file Creature.h.

◆ InhabitTypeValues

Enumerator
INHABIT_GROUND 
INHABIT_WATER 
INHABIT_AIR 
INHABIT_ANYWHERE 

Definition at line 294 of file Creature.h.