TrinityCore
SmartScriptMgr.h File Reference
#include "DBCEnums.h"
#include "Define.h"
#include "ObjectGuid.h"
#include "WaypointDefines.h"
#include "advstd.h"
#include <limits>
#include <map>
#include <string>
#include <unordered_map>
+ Include dependency graph for SmartScriptMgr.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SmartEvent
 
struct  SmartAction
 
struct  SmartTarget
 
struct  SmartScriptHolder
 
class  ObjectGuidVector
 
class  SmartAIMgr
 

Macros

#define sSmartScriptMgr   SmartAIMgr::instance()
 

Typedefs

typedef uint32 SAIBool
 
typedef std::vector< WorldObject * > ObjectVector
 
typedef std::unordered_map< uint32, ObjectGuidVectorObjectVectorMap
 
typedef std::vector< SmartScriptHolderSmartAIEventList
 
typedef std::vector< SmartScriptHolderSmartAIEventStoredList
 
typedef std::unordered_map< int64, SmartAIEventListSmartAIEventMap
 
typedef std::map< uint32, std::pair< uint32, SpellEffIndex > > CacheSpellContainer
 
typedef std::pair< CacheSpellContainer::const_iterator, CacheSpellContainer::const_iterator > CacheSpellContainerBounds
 

Enumerations

enum  eSmartAI {
  SMART_EVENT_PARAM_COUNT = 4 , SMART_ACTION_PARAM_COUNT = 7 , SMART_SUMMON_COUNTER = 0xFFFFFF , SMART_ESCORT_LAST_OOC_POINT = 0xFFFFFF ,
  SMART_RANDOM_POINT = 0xFFFFFE , SMART_ESCORT_TARGETS = 0xFFFFFF
}
 
enum  SMART_EVENT_PHASE {
  SMART_EVENT_PHASE_ALWAYS = 0 , SMART_EVENT_PHASE_1 = 1 , SMART_EVENT_PHASE_2 = 2 , SMART_EVENT_PHASE_3 = 3 ,
  SMART_EVENT_PHASE_4 = 4 , SMART_EVENT_PHASE_5 = 5 , SMART_EVENT_PHASE_6 = 6 , SMART_EVENT_PHASE_7 = 7 ,
  SMART_EVENT_PHASE_8 = 8 , SMART_EVENT_PHASE_9 = 9 , SMART_EVENT_PHASE_10 = 10 , SMART_EVENT_PHASE_11 = 11 ,
  SMART_EVENT_PHASE_12 = 12 , SMART_EVENT_PHASE_MAX = 13 , SMART_EVENT_PHASE_COUNT = 12
}
 
enum  SMART_EVENT_PHASE_BITS {
  SMART_EVENT_PHASE_ALWAYS_BIT = 0 , SMART_EVENT_PHASE_1_BIT = 1 , SMART_EVENT_PHASE_2_BIT = 2 , SMART_EVENT_PHASE_3_BIT = 4 ,
  SMART_EVENT_PHASE_4_BIT = 8 , SMART_EVENT_PHASE_5_BIT = 16 , SMART_EVENT_PHASE_6_BIT = 32 , SMART_EVENT_PHASE_7_BIT = 64 ,
  SMART_EVENT_PHASE_8_BIT = 128 , SMART_EVENT_PHASE_9_BIT = 256 , SMART_EVENT_PHASE_10_BIT = 512 , SMART_EVENT_PHASE_11_BIT = 1024 ,
  SMART_EVENT_PHASE_12_BIT = 2048 , SMART_EVENT_PHASE_ALL
}
 
enum  SMART_EVENT {
  SMART_EVENT_UPDATE_IC = 0 , SMART_EVENT_UPDATE_OOC = 1 , SMART_EVENT_HEALTH_PCT = 2 , SMART_EVENT_MANA_PCT = 3 ,
  SMART_EVENT_AGGRO = 4 , SMART_EVENT_KILL = 5 , SMART_EVENT_DEATH = 6 , SMART_EVENT_EVADE = 7 ,
  SMART_EVENT_SPELLHIT = 8 , SMART_EVENT_RANGE = 9 , SMART_EVENT_OOC_LOS = 10 , SMART_EVENT_RESPAWN = 11 ,
  SMART_EVENT_TARGET_HEALTH_PCT = 12 , SMART_EVENT_VICTIM_CASTING = 13 , SMART_EVENT_FRIENDLY_HEALTH = 14 , SMART_EVENT_FRIENDLY_IS_CC = 15 ,
  SMART_EVENT_FRIENDLY_MISSING_BUFF = 16 , SMART_EVENT_SUMMONED_UNIT = 17 , SMART_EVENT_TARGET_MANA_PCT = 18 , SMART_EVENT_ACCEPTED_QUEST = 19 ,
  SMART_EVENT_REWARD_QUEST = 20 , SMART_EVENT_REACHED_HOME = 21 , SMART_EVENT_RECEIVE_EMOTE = 22 , SMART_EVENT_HAS_AURA = 23 ,
  SMART_EVENT_TARGET_BUFFED = 24 , SMART_EVENT_RESET = 25 , SMART_EVENT_IC_LOS = 26 , SMART_EVENT_PASSENGER_BOARDED = 27 ,
  SMART_EVENT_PASSENGER_REMOVED = 28 , SMART_EVENT_CHARMED = 29 , SMART_EVENT_CHARMED_TARGET = 30 , SMART_EVENT_SPELLHIT_TARGET = 31 ,
  SMART_EVENT_DAMAGED = 32 , SMART_EVENT_DAMAGED_TARGET = 33 , SMART_EVENT_MOVEMENTINFORM = 34 , SMART_EVENT_SUMMON_DESPAWNED = 35 ,
  SMART_EVENT_CORPSE_REMOVED = 36 , SMART_EVENT_AI_INIT = 37 , SMART_EVENT_DATA_SET = 38 , SMART_EVENT_WAYPOINT_START = 39 ,
  SMART_EVENT_WAYPOINT_REACHED = 40 , SMART_EVENT_TRANSPORT_ADDPLAYER = 41 , SMART_EVENT_TRANSPORT_ADDCREATURE = 42 , SMART_EVENT_TRANSPORT_REMOVE_PLAYER = 43 ,
  SMART_EVENT_TRANSPORT_RELOCATE = 44 , SMART_EVENT_INSTANCE_PLAYER_ENTER = 45 , SMART_EVENT_AREATRIGGER_ONTRIGGER = 46 , SMART_EVENT_QUEST_ACCEPTED = 47 ,
  SMART_EVENT_QUEST_OBJ_COMPLETION = 48 , SMART_EVENT_QUEST_COMPLETION = 49 , SMART_EVENT_QUEST_REWARDED = 50 , SMART_EVENT_QUEST_FAIL = 51 ,
  SMART_EVENT_TEXT_OVER = 52 , SMART_EVENT_RECEIVE_HEAL = 53 , SMART_EVENT_JUST_SUMMONED = 54 , SMART_EVENT_WAYPOINT_PAUSED = 55 ,
  SMART_EVENT_WAYPOINT_RESUMED = 56 , SMART_EVENT_WAYPOINT_STOPPED = 57 , SMART_EVENT_WAYPOINT_ENDED = 58 , SMART_EVENT_TIMED_EVENT_TRIGGERED = 59 ,
  SMART_EVENT_UPDATE = 60 , SMART_EVENT_LINK = 61 , SMART_EVENT_GOSSIP_SELECT = 62 , SMART_EVENT_JUST_CREATED = 63 ,
  SMART_EVENT_GOSSIP_HELLO = 64 , SMART_EVENT_FOLLOW_COMPLETED = 65 , SMART_EVENT_EVENT_PHASE_CHANGE = 66 , SMART_EVENT_IS_BEHIND_TARGET = 67 ,
  SMART_EVENT_GAME_EVENT_START = 68 , SMART_EVENT_GAME_EVENT_END = 69 , SMART_EVENT_GO_LOOT_STATE_CHANGED = 70 , SMART_EVENT_GO_EVENT_INFORM = 71 ,
  SMART_EVENT_ACTION_DONE = 72 , SMART_EVENT_ON_SPELLCLICK = 73 , SMART_EVENT_FRIENDLY_HEALTH_PCT = 74 , SMART_EVENT_DISTANCE_CREATURE = 75 ,
  SMART_EVENT_DISTANCE_GAMEOBJECT = 76 , SMART_EVENT_COUNTER_SET = 77 , SMART_EVENT_SCENE_START = 78 , SMART_EVENT_SCENE_TRIGGER = 79 ,
  SMART_EVENT_SCENE_CANCEL = 80 , SMART_EVENT_SCENE_COMPLETE = 81 , SMART_EVENT_SUMMONED_UNIT_DIES = 82 , SMART_EVENT_ON_SPELL_CAST = 83 ,
  SMART_EVENT_ON_SPELL_FAILED = 84 , SMART_EVENT_ON_SPELL_START = 85 , SMART_EVENT_ON_DESPAWN = 86 , SMART_EVENT_SEND_EVENT_TRIGGER = 87 ,
  SMART_EVENT_END = 88
}
 
enum  SMART_SCRIPT_RESPAWN_CONDITION { SMART_SCRIPT_RESPAWN_CONDITION_NONE = 0 , SMART_SCRIPT_RESPAWN_CONDITION_MAP = 1 , SMART_SCRIPT_RESPAWN_CONDITION_AREA = 2 , SMART_SCRIPT_RESPAWN_CONDITION_END = 3 }
 
enum  SMART_ACTION {
  SMART_ACTION_NONE = 0 , SMART_ACTION_TALK = 1 , SMART_ACTION_SET_FACTION = 2 , SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3 ,
  SMART_ACTION_SOUND = 4 , SMART_ACTION_PLAY_EMOTE = 5 , SMART_ACTION_FAIL_QUEST = 6 , SMART_ACTION_OFFER_QUEST = 7 ,
  SMART_ACTION_SET_REACT_STATE = 8 , SMART_ACTION_ACTIVATE_GOBJECT = 9 , SMART_ACTION_RANDOM_EMOTE = 10 , SMART_ACTION_CAST = 11 ,
  SMART_ACTION_SUMMON_CREATURE = 12 , SMART_ACTION_THREAT_SINGLE_PCT = 13 , SMART_ACTION_THREAT_ALL_PCT = 14 , SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS = 15 ,
  SMART_ACTION_SET_INGAME_PHASE_GROUP = 16 , SMART_ACTION_SET_EMOTE_STATE = 17 , SMART_ACTION_SET_UNIT_FLAG = 18 , SMART_ACTION_REMOVE_UNIT_FLAG = 19 ,
  SMART_ACTION_AUTO_ATTACK = 20 , SMART_ACTION_ALLOW_COMBAT_MOVEMENT = 21 , SMART_ACTION_SET_EVENT_PHASE = 22 , SMART_ACTION_INC_EVENT_PHASE = 23 ,
  SMART_ACTION_EVADE = 24 , SMART_ACTION_FLEE_FOR_ASSIST = 25 , SMART_ACTION_CALL_GROUPEVENTHAPPENS = 26 , SMART_ACTION_COMBAT_STOP = 27 ,
  SMART_ACTION_REMOVEAURASFROMSPELL = 28 , SMART_ACTION_FOLLOW = 29 , SMART_ACTION_RANDOM_PHASE = 30 , SMART_ACTION_RANDOM_PHASE_RANGE = 31 ,
  SMART_ACTION_RESET_GOBJECT = 32 , SMART_ACTION_CALL_KILLEDMONSTER = 33 , SMART_ACTION_SET_INST_DATA = 34 , SMART_ACTION_SET_INST_DATA64 = 35 ,
  SMART_ACTION_UPDATE_TEMPLATE = 36 , SMART_ACTION_DIE = 37 , SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38 , SMART_ACTION_CALL_FOR_HELP = 39 ,
  SMART_ACTION_SET_SHEATH = 40 , SMART_ACTION_FORCE_DESPAWN = 41 , SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL = 42 , SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL = 43 ,
  SMART_ACTION_SET_INGAME_PHASE_ID = 44 , SMART_ACTION_SET_DATA = 45 , SMART_ACTION_ATTACK_STOP = 46 , SMART_ACTION_SET_VISIBILITY = 47 ,
  SMART_ACTION_SET_ACTIVE = 48 , SMART_ACTION_ATTACK_START = 49 , SMART_ACTION_SUMMON_GO = 50 , SMART_ACTION_KILL_UNIT = 51 ,
  SMART_ACTION_ACTIVATE_TAXI = 52 , SMART_ACTION_WP_START = 53 , SMART_ACTION_WP_PAUSE = 54 , SMART_ACTION_WP_STOP = 55 ,
  SMART_ACTION_ADD_ITEM = 56 , SMART_ACTION_REMOVE_ITEM = 57 , SMART_ACTION_INSTALL_AI_TEMPLATE = 58 , SMART_ACTION_SET_RUN = 59 ,
  SMART_ACTION_SET_DISABLE_GRAVITY = 60 , SMART_ACTION_SET_SWIM = 61 , SMART_ACTION_TELEPORT = 62 , SMART_ACTION_SET_COUNTER = 63 ,
  SMART_ACTION_STORE_TARGET_LIST = 64 , SMART_ACTION_WP_RESUME = 65 , SMART_ACTION_SET_ORIENTATION = 66 , SMART_ACTION_CREATE_TIMED_EVENT = 67 ,
  SMART_ACTION_PLAYMOVIE = 68 , SMART_ACTION_MOVE_TO_POS = 69 , SMART_ACTION_ENABLE_TEMP_GOBJ = 70 , SMART_ACTION_EQUIP = 71 ,
  SMART_ACTION_CLOSE_GOSSIP = 72 , SMART_ACTION_TRIGGER_TIMED_EVENT = 73 , SMART_ACTION_REMOVE_TIMED_EVENT = 74 , SMART_ACTION_ADD_AURA = 75 ,
  SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT = 76 , SMART_ACTION_RESET_SCRIPT_BASE_OBJECT = 77 , SMART_ACTION_CALL_SCRIPT_RESET = 78 , SMART_ACTION_SET_RANGED_MOVEMENT = 79 ,
  SMART_ACTION_CALL_TIMED_ACTIONLIST = 80 , SMART_ACTION_SET_NPC_FLAG = 81 , SMART_ACTION_ADD_NPC_FLAG = 82 , SMART_ACTION_REMOVE_NPC_FLAG = 83 ,
  SMART_ACTION_SIMPLE_TALK = 84 , SMART_ACTION_SELF_CAST = 85 , SMART_ACTION_CROSS_CAST = 86 , SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST = 87 ,
  SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST = 88 , SMART_ACTION_RANDOM_MOVE = 89 , SMART_ACTION_SET_UNIT_FIELD_BYTES_1 = 90 , SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 = 91 ,
  SMART_ACTION_INTERRUPT_SPELL = 92 , SMART_ACTION_SEND_GO_CUSTOM_ANIM = 93 , SMART_ACTION_SET_DYNAMIC_FLAG = 94 , SMART_ACTION_ADD_DYNAMIC_FLAG = 95 ,
  SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96 , SMART_ACTION_JUMP_TO_POS = 97 , SMART_ACTION_SEND_GOSSIP_MENU = 98 , SMART_ACTION_GO_SET_LOOT_STATE = 99 ,
  SMART_ACTION_SEND_TARGET_TO_TARGET = 100 , SMART_ACTION_SET_HOME_POS = 101 , SMART_ACTION_SET_HEALTH_REGEN = 102 , SMART_ACTION_SET_ROOT = 103 ,
  SMART_ACTION_SET_GO_FLAG = 104 , SMART_ACTION_ADD_GO_FLAG = 105 , SMART_ACTION_REMOVE_GO_FLAG = 106 , SMART_ACTION_SUMMON_CREATURE_GROUP = 107 ,
  SMART_ACTION_SET_POWER = 108 , SMART_ACTION_ADD_POWER = 109 , SMART_ACTION_REMOVE_POWER = 110 , SMART_ACTION_GAME_EVENT_STOP = 111 ,
  SMART_ACTION_GAME_EVENT_START = 112 , SMART_ACTION_START_CLOSEST_WAYPOINT = 113 , SMART_ACTION_MOVE_OFFSET = 114 , SMART_ACTION_RANDOM_SOUND = 115 ,
  SMART_ACTION_SET_CORPSE_DELAY = 116 , SMART_ACTION_DISABLE_EVADE = 117 , SMART_ACTION_GO_SET_GO_STATE = 118 , SMART_ACTION_SET_CAN_FLY = 119 ,
  SMART_ACTION_REMOVE_AURAS_BY_TYPE = 120 , SMART_ACTION_SET_SIGHT_DIST = 121 , SMART_ACTION_FLEE = 122 , SMART_ACTION_ADD_THREAT = 123 ,
  SMART_ACTION_LOAD_EQUIPMENT = 124 , SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT = 125 , SMART_ACTION_REMOVE_ALL_GAMEOBJECTS = 126 , SMART_ACTION_PAUSE_MOVEMENT = 127 ,
  SMART_ACTION_PLAY_ANIMKIT = 128 , SMART_ACTION_SCENE_PLAY = 129 , SMART_ACTION_SCENE_CANCEL = 130 , SMART_ACTION_SPAWN_SPAWNGROUP = 131 ,
  SMART_ACTION_DESPAWN_SPAWNGROUP = 132 , SMART_ACTION_RESPAWN_BY_SPAWNID = 133 , SMART_ACTION_INVOKER_CAST = 134 , SMART_ACTION_PLAY_CINEMATIC = 135 ,
  SMART_ACTION_SET_MOVEMENT_SPEED = 136 , SMART_ACTION_PLAY_SPELL_VISUAL_KIT = 137 , SMART_ACTION_OVERRIDE_LIGHT = 138 , SMART_ACTION_OVERRIDE_WEATHER = 139 ,
  SMART_ACTION_SET_AI_ANIM_KIT = 140 , SMART_ACTION_SET_HOVER = 141 , SMART_ACTION_SET_HEALTH_PCT = 142 , SMART_ACTION_CREATE_CONVERSATION = 143 ,
  SMART_ACTION_SET_IMMUNE_PC = 144 , SMART_ACTION_SET_IMMUNE_NPC = 145 , SMART_ACTION_SET_UNINTERACTIBLE = 146 , SMART_ACTION_ACTIVATE_GAMEOBJECT = 147 ,
  SMART_ACTION_ADD_TO_STORED_TARGET_LIST = 148 , SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER = 149 , SMART_ACTION_TRIGGER_GAME_EVENT = 150 , SMART_ACTION_DO_ACTION = 151 ,
  SMART_ACTION_END = 152
}
 
enum class  SmartActionSummonCreatureFlags { None = 0 , PersonalSpawn = 1 , PreferUnit = 2 , All = PersonalSpawn | PreferUnit }
 
enum  SMARTAI_SPAWN_FLAGS { SMARTAI_SPAWN_FLAG_NONE = 0x00 , SMARTAI_SPAWN_FLAG_IGNORE_RESPAWN = 0x01 , SMARTAI_SPAWN_FLAG_FORCE_SPAWN = 0x02 , SMARTAI_SPAWN_FLAG_NOSAVE_RESPAWN = 0x04 }
 
enum  SMARTAI_TARGETS {
  SMART_TARGET_NONE = 0 , SMART_TARGET_SELF = 1 , SMART_TARGET_VICTIM = 2 , SMART_TARGET_HOSTILE_SECOND_AGGRO = 3 ,
  SMART_TARGET_HOSTILE_LAST_AGGRO = 4 , SMART_TARGET_HOSTILE_RANDOM = 5 , SMART_TARGET_HOSTILE_RANDOM_NOT_TOP = 6 , SMART_TARGET_ACTION_INVOKER = 7 ,
  SMART_TARGET_POSITION = 8 , SMART_TARGET_CREATURE_RANGE = 9 , SMART_TARGET_CREATURE_GUID = 10 , SMART_TARGET_CREATURE_DISTANCE = 11 ,
  SMART_TARGET_STORED = 12 , SMART_TARGET_GAMEOBJECT_RANGE = 13 , SMART_TARGET_GAMEOBJECT_GUID = 14 , SMART_TARGET_GAMEOBJECT_DISTANCE = 15 ,
  SMART_TARGET_INVOKER_PARTY = 16 , SMART_TARGET_PLAYER_RANGE = 17 , SMART_TARGET_PLAYER_DISTANCE = 18 , SMART_TARGET_CLOSEST_CREATURE = 19 ,
  SMART_TARGET_CLOSEST_GAMEOBJECT = 20 , SMART_TARGET_CLOSEST_PLAYER = 21 , SMART_TARGET_ACTION_INVOKER_VEHICLE = 22 , SMART_TARGET_OWNER_OR_SUMMONER = 23 ,
  SMART_TARGET_THREAT_LIST = 24 , SMART_TARGET_CLOSEST_ENEMY = 25 , SMART_TARGET_CLOSEST_FRIENDLY = 26 , SMART_TARGET_LOOT_RECIPIENTS = 27 ,
  SMART_TARGET_FARTHEST = 28 , SMART_TARGET_VEHICLE_PASSENGER = 29 , SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT = 30 , SMART_TARGET_END = 31
}
 
enum  SmartScriptType {
  SMART_SCRIPT_TYPE_CREATURE = 0 , SMART_SCRIPT_TYPE_GAMEOBJECT = 1 , SMART_SCRIPT_TYPE_AREATRIGGER = 2 , SMART_SCRIPT_TYPE_EVENT = 3 ,
  SMART_SCRIPT_TYPE_GOSSIP = 4 , SMART_SCRIPT_TYPE_QUEST = 5 , SMART_SCRIPT_TYPE_SPELL = 6 , SMART_SCRIPT_TYPE_TRANSPORT = 7 ,
  SMART_SCRIPT_TYPE_INSTANCE = 8 , SMART_SCRIPT_TYPE_TIMED_ACTIONLIST = 9 , SMART_SCRIPT_TYPE_SCENE = 10 , SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY = 11 ,
  SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_CUSTOM = 12 , SMART_SCRIPT_TYPE_MAX
}
 
enum  SmartAITypeMaskId {
  SMART_SCRIPT_TYPE_MASK_CREATURE = 1 , SMART_SCRIPT_TYPE_MASK_GAMEOBJECT = 2 , SMART_SCRIPT_TYPE_MASK_AREATRIGGER = 4 , SMART_SCRIPT_TYPE_MASK_EVENT = 8 ,
  SMART_SCRIPT_TYPE_MASK_GOSSIP = 16 , SMART_SCRIPT_TYPE_MASK_QUEST = 32 , SMART_SCRIPT_TYPE_MASK_SPELL = 64 , SMART_SCRIPT_TYPE_MASK_TRANSPORT = 128 ,
  SMART_SCRIPT_TYPE_MASK_INSTANCE = 256 , SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST = 512 , SMART_SCRIPT_TYPE_MASK_SCENE = 1024 , SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY = 2048
}
 
enum  SmartEventFlags {
  SMART_EVENT_FLAG_NOT_REPEATABLE = 0x001 , SMART_EVENT_FLAG_DIFFICULTY_0_DEPRECATED = 0x002 , SMART_EVENT_FLAG_DIFFICULTY_1_DEPRECATED = 0x004 , SMART_EVENT_FLAG_DIFFICULTY_2_DEPRECATED = 0x008 ,
  SMART_EVENT_FLAG_DIFFICULTY_3_DEPRECATED = 0x010 , SMART_EVENT_FLAG_RESERVED_5 = 0x020 , SMART_EVENT_FLAG_RESERVED_6 = 0x040 , SMART_EVENT_FLAG_DEBUG_ONLY = 0x080 ,
  SMART_EVENT_FLAG_DONT_RESET = 0x100 , SMART_EVENT_FLAG_WHILE_CHARMED = 0x200 , SMART_EVENT_FLAGS_DEPRECATED = (SMART_EVENT_FLAG_DIFFICULTY_0_DEPRECATED | SMART_EVENT_FLAG_DIFFICULTY_1_DEPRECATED | SMART_EVENT_FLAG_DIFFICULTY_2_DEPRECATED | SMART_EVENT_FLAG_DIFFICULTY_3_DEPRECATED) , SMART_EVENT_FLAGS_ALL = (SMART_EVENT_FLAG_NOT_REPEATABLE| SMART_EVENT_FLAGS_DEPRECATED | SMART_EVENT_FLAG_RESERVED_5 | SMART_EVENT_FLAG_RESERVED_6 | SMART_EVENT_FLAG_DEBUG_ONLY | SMART_EVENT_FLAG_DONT_RESET | SMART_EVENT_FLAG_WHILE_CHARMED) ,
  SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL = 0x40000000
}
 
enum  SmartCastFlags { SMARTCAST_INTERRUPT_PREVIOUS = 0x01 , SMARTCAST_TRIGGERED = 0x02 , SMARTCAST_AURA_NOT_PRESENT = 0x20 , SMARTCAST_COMBAT_MOVE = 0x40 }
 

Functions

 DEFINE_ENUM_FLAG (SmartActionSummonCreatureFlags)
 

Variables

const uint32 SmartPhaseMask [SMART_EVENT_PHASE_COUNT][2]
 
const uint32 SmartAITypeMask [SMART_SCRIPT_TYPE_MAX][2]
 
const uint32 SmartAIEventMask [SMART_EVENT_END][2]
 

Macro Definition Documentation

◆ sSmartScriptMgr

#define sSmartScriptMgr   SmartAIMgr::instance()

Definition at line 1767 of file SmartScriptMgr.h.

Typedef Documentation

◆ CacheSpellContainer

typedef std::map<uint32 , std::pair<uint32 , SpellEffIndex > > CacheSpellContainer

Definition at line 1703 of file SmartScriptMgr.h.

◆ CacheSpellContainerBounds

typedef std::pair<CacheSpellContainer::const_iterator, CacheSpellContainer::const_iterator> CacheSpellContainerBounds

Definition at line 1704 of file SmartScriptMgr.h.

◆ ObjectVector

typedef std::vector<WorldObject*> ObjectVector

Definition at line 1669 of file SmartScriptMgr.h.

◆ ObjectVectorMap

typedef std::unordered_map<uint32, ObjectGuidVector> ObjectVectorMap

Definition at line 1693 of file SmartScriptMgr.h.

◆ SAIBool

typedef uint32 SAIBool

Definition at line 33 of file SmartScriptMgr.h.

◆ SmartAIEventList

typedef std::vector<SmartScriptHolder> SmartAIEventList

Definition at line 1696 of file SmartScriptMgr.h.

◆ SmartAIEventMap

typedef std::unordered_map<int64, SmartAIEventList> SmartAIEventMap

Definition at line 1700 of file SmartScriptMgr.h.

◆ SmartAIEventStoredList

Definition at line 1697 of file SmartScriptMgr.h.

Enumeration Type Documentation

◆ eSmartAI

enum eSmartAI
Enumerator
SMART_EVENT_PARAM_COUNT 
SMART_ACTION_PARAM_COUNT 
SMART_SUMMON_COUNTER 
SMART_ESCORT_LAST_OOC_POINT 
SMART_RANDOM_POINT 
SMART_ESCORT_TARGETS 

Definition at line 35 of file SmartScriptMgr.h.

◆ SMART_ACTION

Enumerator
SMART_ACTION_NONE 
SMART_ACTION_TALK 
SMART_ACTION_SET_FACTION 
SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL 
SMART_ACTION_SOUND 
SMART_ACTION_PLAY_EMOTE 
SMART_ACTION_FAIL_QUEST 
SMART_ACTION_OFFER_QUEST 
SMART_ACTION_SET_REACT_STATE 
SMART_ACTION_ACTIVATE_GOBJECT 
SMART_ACTION_RANDOM_EMOTE 
SMART_ACTION_CAST 
SMART_ACTION_SUMMON_CREATURE 
SMART_ACTION_THREAT_SINGLE_PCT 
SMART_ACTION_THREAT_ALL_PCT 
SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS 
SMART_ACTION_SET_INGAME_PHASE_GROUP 
SMART_ACTION_SET_EMOTE_STATE 
SMART_ACTION_SET_UNIT_FLAG 
SMART_ACTION_REMOVE_UNIT_FLAG 
SMART_ACTION_AUTO_ATTACK 
SMART_ACTION_ALLOW_COMBAT_MOVEMENT 
SMART_ACTION_SET_EVENT_PHASE 
SMART_ACTION_INC_EVENT_PHASE 
SMART_ACTION_EVADE 
SMART_ACTION_FLEE_FOR_ASSIST 
SMART_ACTION_CALL_GROUPEVENTHAPPENS 
SMART_ACTION_COMBAT_STOP 
SMART_ACTION_REMOVEAURASFROMSPELL 
SMART_ACTION_FOLLOW 
SMART_ACTION_RANDOM_PHASE 
SMART_ACTION_RANDOM_PHASE_RANGE 
SMART_ACTION_RESET_GOBJECT 
SMART_ACTION_CALL_KILLEDMONSTER 
SMART_ACTION_SET_INST_DATA 
SMART_ACTION_SET_INST_DATA64 
SMART_ACTION_UPDATE_TEMPLATE 
SMART_ACTION_DIE 
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE 
SMART_ACTION_CALL_FOR_HELP 
SMART_ACTION_SET_SHEATH 
SMART_ACTION_FORCE_DESPAWN 
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL 
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL 
SMART_ACTION_SET_INGAME_PHASE_ID 
SMART_ACTION_SET_DATA 
SMART_ACTION_ATTACK_STOP 
SMART_ACTION_SET_VISIBILITY 
SMART_ACTION_SET_ACTIVE 
SMART_ACTION_ATTACK_START 
SMART_ACTION_SUMMON_GO 
SMART_ACTION_KILL_UNIT 
SMART_ACTION_ACTIVATE_TAXI 
SMART_ACTION_WP_START 
SMART_ACTION_WP_PAUSE 
SMART_ACTION_WP_STOP 
SMART_ACTION_ADD_ITEM 
SMART_ACTION_REMOVE_ITEM 
SMART_ACTION_INSTALL_AI_TEMPLATE 
SMART_ACTION_SET_RUN 
SMART_ACTION_SET_DISABLE_GRAVITY 
SMART_ACTION_SET_SWIM 
SMART_ACTION_TELEPORT 
SMART_ACTION_SET_COUNTER 
SMART_ACTION_STORE_TARGET_LIST 
SMART_ACTION_WP_RESUME 
SMART_ACTION_SET_ORIENTATION 
SMART_ACTION_CREATE_TIMED_EVENT 
SMART_ACTION_PLAYMOVIE 
SMART_ACTION_MOVE_TO_POS 
SMART_ACTION_ENABLE_TEMP_GOBJ 
SMART_ACTION_EQUIP 
SMART_ACTION_CLOSE_GOSSIP 
SMART_ACTION_TRIGGER_TIMED_EVENT 
SMART_ACTION_REMOVE_TIMED_EVENT 
SMART_ACTION_ADD_AURA 
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT 
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT 
SMART_ACTION_CALL_SCRIPT_RESET 
SMART_ACTION_SET_RANGED_MOVEMENT 
SMART_ACTION_CALL_TIMED_ACTIONLIST 
SMART_ACTION_SET_NPC_FLAG 
SMART_ACTION_ADD_NPC_FLAG 
SMART_ACTION_REMOVE_NPC_FLAG 
SMART_ACTION_SIMPLE_TALK 
SMART_ACTION_SELF_CAST 
SMART_ACTION_CROSS_CAST 
SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST 
SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST 
SMART_ACTION_RANDOM_MOVE 
SMART_ACTION_SET_UNIT_FIELD_BYTES_1 
SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 
SMART_ACTION_INTERRUPT_SPELL 
SMART_ACTION_SEND_GO_CUSTOM_ANIM 
SMART_ACTION_SET_DYNAMIC_FLAG 
SMART_ACTION_ADD_DYNAMIC_FLAG 
SMART_ACTION_REMOVE_DYNAMIC_FLAG 
SMART_ACTION_JUMP_TO_POS 
SMART_ACTION_SEND_GOSSIP_MENU 
SMART_ACTION_GO_SET_LOOT_STATE 
SMART_ACTION_SEND_TARGET_TO_TARGET 
SMART_ACTION_SET_HOME_POS 
SMART_ACTION_SET_HEALTH_REGEN 
SMART_ACTION_SET_ROOT 
SMART_ACTION_SET_GO_FLAG 
SMART_ACTION_ADD_GO_FLAG 
SMART_ACTION_REMOVE_GO_FLAG 
SMART_ACTION_SUMMON_CREATURE_GROUP 
SMART_ACTION_SET_POWER 
SMART_ACTION_ADD_POWER 
SMART_ACTION_REMOVE_POWER 
SMART_ACTION_GAME_EVENT_STOP 
SMART_ACTION_GAME_EVENT_START 
SMART_ACTION_START_CLOSEST_WAYPOINT 
SMART_ACTION_MOVE_OFFSET 
SMART_ACTION_RANDOM_SOUND 
SMART_ACTION_SET_CORPSE_DELAY 
SMART_ACTION_DISABLE_EVADE 
SMART_ACTION_GO_SET_GO_STATE 
SMART_ACTION_SET_CAN_FLY 
SMART_ACTION_REMOVE_AURAS_BY_TYPE 
SMART_ACTION_SET_SIGHT_DIST 
SMART_ACTION_FLEE 
SMART_ACTION_ADD_THREAT 
SMART_ACTION_LOAD_EQUIPMENT 
SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT 
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS 
SMART_ACTION_PAUSE_MOVEMENT 
SMART_ACTION_PLAY_ANIMKIT 
SMART_ACTION_SCENE_PLAY 
SMART_ACTION_SCENE_CANCEL 
SMART_ACTION_SPAWN_SPAWNGROUP 
SMART_ACTION_DESPAWN_SPAWNGROUP 
SMART_ACTION_RESPAWN_BY_SPAWNID 
SMART_ACTION_INVOKER_CAST 
SMART_ACTION_PLAY_CINEMATIC 
SMART_ACTION_SET_MOVEMENT_SPEED 
SMART_ACTION_PLAY_SPELL_VISUAL_KIT 
SMART_ACTION_OVERRIDE_LIGHT 
SMART_ACTION_OVERRIDE_WEATHER 
SMART_ACTION_SET_AI_ANIM_KIT 
SMART_ACTION_SET_HOVER 
SMART_ACTION_SET_HEALTH_PCT 
SMART_ACTION_CREATE_CONVERSATION 
SMART_ACTION_SET_IMMUNE_PC 
SMART_ACTION_SET_IMMUNE_NPC 
SMART_ACTION_SET_UNINTERACTIBLE 
SMART_ACTION_ACTIVATE_GAMEOBJECT 
SMART_ACTION_ADD_TO_STORED_TARGET_LIST 
SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER 
SMART_ACTION_TRIGGER_GAME_EVENT 
SMART_ACTION_DO_ACTION 
SMART_ACTION_END 

Definition at line 458 of file SmartScriptMgr.h.

◆ SMART_EVENT

Enumerator
SMART_EVENT_UPDATE_IC 
SMART_EVENT_UPDATE_OOC 
SMART_EVENT_HEALTH_PCT 
SMART_EVENT_MANA_PCT 
SMART_EVENT_AGGRO 
SMART_EVENT_KILL 
SMART_EVENT_DEATH 
SMART_EVENT_EVADE 
SMART_EVENT_SPELLHIT 
SMART_EVENT_RANGE 
SMART_EVENT_OOC_LOS 
SMART_EVENT_RESPAWN 
SMART_EVENT_TARGET_HEALTH_PCT 
SMART_EVENT_VICTIM_CASTING 
SMART_EVENT_FRIENDLY_HEALTH 
SMART_EVENT_FRIENDLY_IS_CC 
SMART_EVENT_FRIENDLY_MISSING_BUFF 
SMART_EVENT_SUMMONED_UNIT 
SMART_EVENT_TARGET_MANA_PCT 
SMART_EVENT_ACCEPTED_QUEST 
SMART_EVENT_REWARD_QUEST 
SMART_EVENT_REACHED_HOME 
SMART_EVENT_RECEIVE_EMOTE 
SMART_EVENT_HAS_AURA 
SMART_EVENT_TARGET_BUFFED 
SMART_EVENT_RESET 
SMART_EVENT_IC_LOS 
SMART_EVENT_PASSENGER_BOARDED 
SMART_EVENT_PASSENGER_REMOVED 
SMART_EVENT_CHARMED 
SMART_EVENT_CHARMED_TARGET 
SMART_EVENT_SPELLHIT_TARGET 
SMART_EVENT_DAMAGED 
SMART_EVENT_DAMAGED_TARGET 
SMART_EVENT_MOVEMENTINFORM 
SMART_EVENT_SUMMON_DESPAWNED 
SMART_EVENT_CORPSE_REMOVED 
SMART_EVENT_AI_INIT 
SMART_EVENT_DATA_SET 
SMART_EVENT_WAYPOINT_START 
SMART_EVENT_WAYPOINT_REACHED 
SMART_EVENT_TRANSPORT_ADDPLAYER 
SMART_EVENT_TRANSPORT_ADDCREATURE 
SMART_EVENT_TRANSPORT_REMOVE_PLAYER 
SMART_EVENT_TRANSPORT_RELOCATE 
SMART_EVENT_INSTANCE_PLAYER_ENTER 
SMART_EVENT_AREATRIGGER_ONTRIGGER 
SMART_EVENT_QUEST_ACCEPTED 
SMART_EVENT_QUEST_OBJ_COMPLETION 
SMART_EVENT_QUEST_COMPLETION 
SMART_EVENT_QUEST_REWARDED 
SMART_EVENT_QUEST_FAIL 
SMART_EVENT_TEXT_OVER 
SMART_EVENT_RECEIVE_HEAL 
SMART_EVENT_JUST_SUMMONED 
SMART_EVENT_WAYPOINT_PAUSED 
SMART_EVENT_WAYPOINT_RESUMED 
SMART_EVENT_WAYPOINT_STOPPED 
SMART_EVENT_WAYPOINT_ENDED 
SMART_EVENT_TIMED_EVENT_TRIGGERED 
SMART_EVENT_UPDATE 
SMART_EVENT_LINK 
SMART_EVENT_GOSSIP_SELECT 
SMART_EVENT_JUST_CREATED 
SMART_EVENT_GOSSIP_HELLO 
SMART_EVENT_FOLLOW_COMPLETED 
SMART_EVENT_EVENT_PHASE_CHANGE 
SMART_EVENT_IS_BEHIND_TARGET 
SMART_EVENT_GAME_EVENT_START 
SMART_EVENT_GAME_EVENT_END 
SMART_EVENT_GO_LOOT_STATE_CHANGED 
SMART_EVENT_GO_EVENT_INFORM 
SMART_EVENT_ACTION_DONE 
SMART_EVENT_ON_SPELLCLICK 
SMART_EVENT_FRIENDLY_HEALTH_PCT 
SMART_EVENT_DISTANCE_CREATURE 
SMART_EVENT_DISTANCE_GAMEOBJECT 
SMART_EVENT_COUNTER_SET 
SMART_EVENT_SCENE_START 
SMART_EVENT_SCENE_TRIGGER 
SMART_EVENT_SCENE_CANCEL 
SMART_EVENT_SCENE_COMPLETE 
SMART_EVENT_SUMMONED_UNIT_DIES 
SMART_EVENT_ON_SPELL_CAST 
SMART_EVENT_ON_SPELL_FAILED 
SMART_EVENT_ON_SPELL_START 
SMART_EVENT_ON_DESPAWN 
SMART_EVENT_SEND_EVENT_TRIGGER 
SMART_EVENT_END 

Definition at line 101 of file SmartScriptMgr.h.

◆ SMART_EVENT_PHASE

Enumerator
SMART_EVENT_PHASE_ALWAYS 
SMART_EVENT_PHASE_1 
SMART_EVENT_PHASE_2 
SMART_EVENT_PHASE_3 
SMART_EVENT_PHASE_4 
SMART_EVENT_PHASE_5 
SMART_EVENT_PHASE_6 
SMART_EVENT_PHASE_7 
SMART_EVENT_PHASE_8 
SMART_EVENT_PHASE_9 
SMART_EVENT_PHASE_10 
SMART_EVENT_PHASE_11 
SMART_EVENT_PHASE_12 
SMART_EVENT_PHASE_MAX 
SMART_EVENT_PHASE_COUNT 

Definition at line 45 of file SmartScriptMgr.h.

◆ SMART_EVENT_PHASE_BITS

Enumerator
SMART_EVENT_PHASE_ALWAYS_BIT 
SMART_EVENT_PHASE_1_BIT 
SMART_EVENT_PHASE_2_BIT 
SMART_EVENT_PHASE_3_BIT 
SMART_EVENT_PHASE_4_BIT 
SMART_EVENT_PHASE_5_BIT 
SMART_EVENT_PHASE_6_BIT 
SMART_EVENT_PHASE_7_BIT 
SMART_EVENT_PHASE_8_BIT 
SMART_EVENT_PHASE_9_BIT 
SMART_EVENT_PHASE_10_BIT 
SMART_EVENT_PHASE_11_BIT 
SMART_EVENT_PHASE_12_BIT 
SMART_EVENT_PHASE_ALL 

Definition at line 65 of file SmartScriptMgr.h.

◆ SMART_SCRIPT_RESPAWN_CONDITION

Enumerator
SMART_SCRIPT_RESPAWN_CONDITION_NONE 
SMART_SCRIPT_RESPAWN_CONDITION_MAP 
SMART_SCRIPT_RESPAWN_CONDITION_AREA 
SMART_SCRIPT_RESPAWN_CONDITION_END 

Definition at line 450 of file SmartScriptMgr.h.

◆ SmartActionSummonCreatureFlags

enum class SmartActionSummonCreatureFlags
strong
Enumerator
None 
PersonalSpawn 
PreferUnit 
All 

Definition at line 615 of file SmartScriptMgr.h.

◆ SMARTAI_SPAWN_FLAGS

Enumerator
SMARTAI_SPAWN_FLAG_NONE 
SMARTAI_SPAWN_FLAG_IGNORE_RESPAWN 
SMARTAI_SPAWN_FLAG_FORCE_SPAWN 
SMARTAI_SPAWN_FLAG_NOSAVE_RESPAWN 

Definition at line 1262 of file SmartScriptMgr.h.

◆ SMARTAI_TARGETS

Enumerator
SMART_TARGET_NONE 
SMART_TARGET_SELF 
SMART_TARGET_VICTIM 
SMART_TARGET_HOSTILE_SECOND_AGGRO 
SMART_TARGET_HOSTILE_LAST_AGGRO 
SMART_TARGET_HOSTILE_RANDOM 
SMART_TARGET_HOSTILE_RANDOM_NOT_TOP 
SMART_TARGET_ACTION_INVOKER 
SMART_TARGET_POSITION 
SMART_TARGET_CREATURE_RANGE 
SMART_TARGET_CREATURE_GUID 
SMART_TARGET_CREATURE_DISTANCE 
SMART_TARGET_STORED 
SMART_TARGET_GAMEOBJECT_RANGE 
SMART_TARGET_GAMEOBJECT_GUID 
SMART_TARGET_GAMEOBJECT_DISTANCE 
SMART_TARGET_INVOKER_PARTY 
SMART_TARGET_PLAYER_RANGE 
SMART_TARGET_PLAYER_DISTANCE 
SMART_TARGET_CLOSEST_CREATURE 
SMART_TARGET_CLOSEST_GAMEOBJECT 
SMART_TARGET_CLOSEST_PLAYER 
SMART_TARGET_ACTION_INVOKER_VEHICLE 
SMART_TARGET_OWNER_OR_SUMMONER 
SMART_TARGET_THREAT_LIST 
SMART_TARGET_CLOSEST_ENEMY 
SMART_TARGET_CLOSEST_FRIENDLY 
SMART_TARGET_LOOT_RECIPIENTS 
SMART_TARGET_FARTHEST 
SMART_TARGET_VEHICLE_PASSENGER 
SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT 
SMART_TARGET_END 

Definition at line 1270 of file SmartScriptMgr.h.

◆ SmartAITypeMaskId

Enumerator
SMART_SCRIPT_TYPE_MASK_CREATURE 
SMART_SCRIPT_TYPE_MASK_GAMEOBJECT 
SMART_SCRIPT_TYPE_MASK_AREATRIGGER 
SMART_SCRIPT_TYPE_MASK_EVENT 
SMART_SCRIPT_TYPE_MASK_GOSSIP 
SMART_SCRIPT_TYPE_MASK_QUEST 
SMART_SCRIPT_TYPE_MASK_SPELL 
SMART_SCRIPT_TYPE_MASK_TRANSPORT 
SMART_SCRIPT_TYPE_MASK_INSTANCE 
SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST 
SMART_SCRIPT_TYPE_MASK_SCENE 
SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY 

Definition at line 1465 of file SmartScriptMgr.h.

◆ SmartCastFlags

Enumerator
SMARTCAST_INTERRUPT_PREVIOUS 
SMARTCAST_TRIGGERED 
SMARTCAST_AURA_NOT_PRESENT 
SMARTCAST_COMBAT_MOVE 

Definition at line 1610 of file SmartScriptMgr.h.

◆ SmartEventFlags

Enumerator
SMART_EVENT_FLAG_NOT_REPEATABLE 
SMART_EVENT_FLAG_DIFFICULTY_0_DEPRECATED 
SMART_EVENT_FLAG_DIFFICULTY_1_DEPRECATED 
SMART_EVENT_FLAG_DIFFICULTY_2_DEPRECATED 
SMART_EVENT_FLAG_DIFFICULTY_3_DEPRECATED 
SMART_EVENT_FLAG_RESERVED_5 
SMART_EVENT_FLAG_RESERVED_6 
SMART_EVENT_FLAG_DEBUG_ONLY 
SMART_EVENT_FLAG_DONT_RESET 
SMART_EVENT_FLAG_WHILE_CHARMED 
SMART_EVENT_FLAGS_DEPRECATED 
SMART_EVENT_FLAGS_ALL 
SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL 

Definition at line 1590 of file SmartScriptMgr.h.

◆ SmartScriptType

Enumerator
SMART_SCRIPT_TYPE_CREATURE 
SMART_SCRIPT_TYPE_GAMEOBJECT 
SMART_SCRIPT_TYPE_AREATRIGGER 
SMART_SCRIPT_TYPE_EVENT 
SMART_SCRIPT_TYPE_GOSSIP 
SMART_SCRIPT_TYPE_QUEST 
SMART_SCRIPT_TYPE_SPELL 
SMART_SCRIPT_TYPE_TRANSPORT 
SMART_SCRIPT_TYPE_INSTANCE 
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST 
SMART_SCRIPT_TYPE_SCENE 
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY 
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_CUSTOM 
SMART_SCRIPT_TYPE_MAX 

Definition at line 1447 of file SmartScriptMgr.h.

Function Documentation

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( SmartActionSummonCreatureFlags  )

Variable Documentation

◆ SmartAIEventMask

const uint32 SmartAIEventMask[SMART_EVENT_END][2]

Definition at line 1498 of file SmartScriptMgr.h.

◆ SmartAITypeMask

const uint32 SmartAITypeMask[SMART_SCRIPT_TYPE_MAX][2]
Initial value:
=
{
}
@ SMART_SCRIPT_TYPE_TIMED_ACTIONLIST
@ SMART_SCRIPT_TYPE_INSTANCE
@ SMART_SCRIPT_TYPE_CREATURE
@ SMART_SCRIPT_TYPE_GOSSIP
@ SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_CUSTOM
@ SMART_SCRIPT_TYPE_GAMEOBJECT
@ SMART_SCRIPT_TYPE_AREATRIGGER
@ SMART_SCRIPT_TYPE_SPELL
@ SMART_SCRIPT_TYPE_TRANSPORT
@ SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY
@ SMART_SCRIPT_TYPE_EVENT
@ SMART_SCRIPT_TYPE_SCENE
@ SMART_SCRIPT_TYPE_QUEST
@ SMART_SCRIPT_TYPE_MASK_SPELL
@ SMART_SCRIPT_TYPE_MASK_SCENE
@ SMART_SCRIPT_TYPE_MASK_EVENT
@ SMART_SCRIPT_TYPE_MASK_QUEST
@ SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST
@ SMART_SCRIPT_TYPE_MASK_CREATURE
@ SMART_SCRIPT_TYPE_MASK_INSTANCE
@ SMART_SCRIPT_TYPE_MASK_AREATRIGGER
@ SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY
@ SMART_SCRIPT_TYPE_MASK_GOSSIP
@ SMART_SCRIPT_TYPE_MASK_GAMEOBJECT
@ SMART_SCRIPT_TYPE_MASK_TRANSPORT

Definition at line 1481 of file SmartScriptMgr.h.

◆ SmartPhaseMask

const uint32 SmartPhaseMask[SMART_EVENT_PHASE_COUNT][2]
Initial value:
=
{
}
@ SMART_EVENT_PHASE_4_BIT
@ SMART_EVENT_PHASE_3_BIT
@ SMART_EVENT_PHASE_6_BIT
@ SMART_EVENT_PHASE_9_BIT
@ SMART_EVENT_PHASE_8_BIT
@ SMART_EVENT_PHASE_2_BIT
@ SMART_EVENT_PHASE_1_BIT
@ SMART_EVENT_PHASE_12_BIT
@ SMART_EVENT_PHASE_5_BIT
@ SMART_EVENT_PHASE_10_BIT
@ SMART_EVENT_PHASE_11_BIT
@ SMART_EVENT_PHASE_7_BIT
@ SMART_EVENT_PHASE_4
@ SMART_EVENT_PHASE_1
@ SMART_EVENT_PHASE_3
@ SMART_EVENT_PHASE_7
@ SMART_EVENT_PHASE_9
@ SMART_EVENT_PHASE_11
@ SMART_EVENT_PHASE_8
@ SMART_EVENT_PHASE_2
@ SMART_EVENT_PHASE_5
@ SMART_EVENT_PHASE_12
@ SMART_EVENT_PHASE_6
@ SMART_EVENT_PHASE_10

Definition at line 85 of file SmartScriptMgr.h.