AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
CreatureAI.h File Reference
#include "AreaBoundary.h"
#include "Creature.h"
#include "EventMap.h"
#include "TaskScheduler.h"
#include "UnitAI.h"

Go to the source code of this file.

Classes

class  CreatureAI
 

Macros

#define TIME_INTERVAL_LOOK   5000
 
#define VISIBILITY_RANGE   10000
 

Typedefs

typedef std::vector< AreaBoundary const * > CreatureBoundary
 

Enumerations

enum  SelectTargetType {
  SELECT_TARGET_DONTCARE = 0 ,
  SELECT_TARGET_SELF ,
  SELECT_TARGET_SINGLE_ENEMY ,
  SELECT_TARGET_AOE_ENEMY ,
  SELECT_TARGET_ANY_ENEMY ,
  SELECT_TARGET_SINGLE_FRIEND ,
  SELECT_TARGET_AOE_FRIEND ,
  SELECT_TARGET_ANY_FRIEND
}
 
enum  SelectEffect {
  SELECT_EFFECT_DONTCARE = 0 ,
  SELECT_EFFECT_DAMAGE ,
  SELECT_EFFECT_HEALING ,
  SELECT_EFFECT_AURA
}
 
enum  SCEquip {
  EQUIP_NO_CHANGE = -1 ,
  EQUIP_UNEQUIP = 0
}
 
enum  Permitions : int32 {
  PERMIT_BASE_NO = -1 ,
  PERMIT_BASE_IDLE = 1 ,
  PERMIT_BASE_REACTIVE = 100 ,
  PERMIT_BASE_PROACTIVE = 200 ,
  PERMIT_BASE_FACTION_SPECIFIC = 400 ,
  PERMIT_BASE_SPECIAL = 800
}
 

Macro Definition Documentation

◆ TIME_INTERVAL_LOOK

#define TIME_INTERVAL_LOOK   5000

◆ VISIBILITY_RANGE

#define VISIBILITY_RANGE   10000

Typedef Documentation

◆ CreatureBoundary

typedef std::vector<AreaBoundary const*> CreatureBoundary

Enumeration Type Documentation

◆ Permitions

enum Permitions : int32
Enumerator
PERMIT_BASE_NO 
PERMIT_BASE_IDLE 
PERMIT_BASE_REACTIVE 
PERMIT_BASE_PROACTIVE 
PERMIT_BASE_FACTION_SPECIFIC 
PERMIT_BASE_SPECIAL 
284{
285 PERMIT_BASE_NO = -1,
291};
@ PERMIT_BASE_SPECIAL
Definition CreatureAI.h:290
@ PERMIT_BASE_PROACTIVE
Definition CreatureAI.h:288
@ PERMIT_BASE_NO
Definition CreatureAI.h:285
@ PERMIT_BASE_REACTIVE
Definition CreatureAI.h:287
@ PERMIT_BASE_FACTION_SPECIFIC
Definition CreatureAI.h:289
@ PERMIT_BASE_IDLE
Definition CreatureAI.h:286

◆ SCEquip

enum SCEquip
Enumerator
EQUIP_NO_CHANGE 
EQUIP_UNEQUIP 
63{
64 EQUIP_NO_CHANGE = -1,
66};
@ EQUIP_UNEQUIP
Definition CreatureAI.h:65
@ EQUIP_NO_CHANGE
Definition CreatureAI.h:64

◆ SelectEffect

Enumerator
SELECT_EFFECT_DONTCARE 
SELECT_EFFECT_DAMAGE 
SELECT_EFFECT_HEALING 
SELECT_EFFECT_AURA 
55{
56 SELECT_EFFECT_DONTCARE = 0, //All spell effects allowed
57 SELECT_EFFECT_DAMAGE, //Spell does damage
58 SELECT_EFFECT_HEALING, //Spell does healing
59 SELECT_EFFECT_AURA, //Spell applies an aura
60};
@ SELECT_EFFECT_DONTCARE
Definition CreatureAI.h:56
@ SELECT_EFFECT_AURA
Definition CreatureAI.h:59
@ SELECT_EFFECT_HEALING
Definition CreatureAI.h:58
@ SELECT_EFFECT_DAMAGE
Definition CreatureAI.h:57

◆ SelectTargetType

Enumerator
SELECT_TARGET_DONTCARE 
SELECT_TARGET_SELF 
SELECT_TARGET_SINGLE_ENEMY 
SELECT_TARGET_AOE_ENEMY 
SELECT_TARGET_ANY_ENEMY 
SELECT_TARGET_SINGLE_FRIEND 
SELECT_TARGET_AOE_FRIEND 
SELECT_TARGET_ANY_FRIEND 
39{
40 SELECT_TARGET_DONTCARE = 0, //All target types allowed
41
42 SELECT_TARGET_SELF, //Only Self casting
43
44 SELECT_TARGET_SINGLE_ENEMY, //Only Single Enemy
45 SELECT_TARGET_AOE_ENEMY, //Only AoE Enemy
46 SELECT_TARGET_ANY_ENEMY, //AoE or Single Enemy
47
48 SELECT_TARGET_SINGLE_FRIEND, //Only Single Friend
49 SELECT_TARGET_AOE_FRIEND, //Only AoE Friend
50 SELECT_TARGET_ANY_FRIEND, //AoE or Single Friend
51};
@ SELECT_TARGET_ANY_FRIEND
Definition CreatureAI.h:50
@ SELECT_TARGET_AOE_FRIEND
Definition CreatureAI.h:49
@ SELECT_TARGET_ANY_ENEMY
Definition CreatureAI.h:46
@ SELECT_TARGET_SINGLE_FRIEND
Definition CreatureAI.h:48
@ SELECT_TARGET_SINGLE_ENEMY
Definition CreatureAI.h:44
@ SELECT_TARGET_DONTCARE
Definition CreatureAI.h:40
@ SELECT_TARGET_SELF
Definition CreatureAI.h:42
@ SELECT_TARGET_AOE_ENEMY
Definition CreatureAI.h:45