AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
SmartScriptMgr.h File Reference
#include "Common.h"
#include "Creature.h"
#include "DBCStores.h"
#include "ObjectAccessor.h"
#include "ObjectMgr.h"
#include "Optional.h"
#include "SpellMgr.h"
#include <limits>

Go to the source code of this file.

Classes

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

Macros

#define sSmartScriptMgr   SmartAIMgr::instance()
 
#define sSmartWaypointMgr   SmartWaypointMgr::instance()
 

Typedefs

typedef uint32 SAIBool
 
typedef std::unordered_map< uint32, WayPoint * > WPPath
 
typedef std::vector< WorldObject * > ObjectVector
 
typedef std::unordered_map< uint32, ObjectGuidVectorObjectVectorMap
 
typedef std::vector< SmartScriptHolderSmartAIEventList
 
typedef std::list< SmartScriptHolderSmartAIEventStoredList
 
typedef std::unordered_map< int32, SmartAIEventListSmartAIEventMap
 

Enumerations

enum  eSmartAI {
  SMART_EVENT_PARAM_COUNT = 4 ,
  SMART_ACTION_PARAM_COUNT = 6 ,
  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 = 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
}
 
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_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_TC_END = 83 ,
  SMART_EVENT_AC_START = 100 ,
  SMART_EVENT_NEAR_PLAYERS = 101 ,
  SMART_EVENT_NEAR_PLAYERS_NEGATION = 102 ,
  SMART_EVENT_NEAR_UNIT = 103 ,
  SMART_EVENT_NEAR_UNIT_NEGATION = 104 ,
  SMART_EVENT_AREA_CASTING = 105 ,
  SMART_EVENT_AREA_RANGE = 106 ,
  SMART_EVENT_SUMMONED_UNIT_EVADE = 107 ,
  SMART_EVENT_WAYPOINT_DATA_REACHED = 108 ,
  SMART_EVENT_WAYPOINT_DATA_ENDED = 109 ,
  SMART_EVENT_IS_IN_MELEE_RANGE = 110 ,
  SMART_EVENT_AC_END = 111
}
 
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_RESERVED_16 = 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_MASK = 44 ,
  SMART_ACTION_SET_DATA = 45 ,
  SMART_ACTION_MOVE_FORWARD = 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_FLY = 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_RESPAWN_TARGET = 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_RISE_UP = 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_REMOVE_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_SET_HEALTH_PCT = 142 ,
  SMART_ACTION_TC_END = 199 ,
  SMART_ACTION_AC_START = 200 ,
  SMART_ACTION_MOVE_TO_POS_TARGET = 201 ,
  SMART_ACTION_EXIT_VEHICLE = 203 ,
  SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS = 204 ,
  SMART_ACTION_SET_COMBAT_DISTANCE = 205 ,
  SMART_ACTION_DISMOUNT = 206 ,
  SMART_ACTION_SET_HOVER = 207 ,
  SMART_ACTION_ADD_IMMUNITY = 208 ,
  SMART_ACTION_REMOVE_IMMUNITY = 209 ,
  SMART_ACTION_FALL = 210 ,
  SMART_ACTION_SET_EVENT_FLAG_RESET = 211 ,
  SMART_ACTION_STOP_MOTION = 212 ,
  SMART_ACTION_NO_ENVIRONMENT_UPDATE = 213 ,
  SMART_ACTION_ZONE_UNDER_ATTACK = 214 ,
  SMART_ACTION_LOAD_GRID = 215 ,
  SMART_ACTION_MUSIC = 216 ,
  SMART_ACTION_RANDOM_MUSIC = 217 ,
  SMART_ACTION_CUSTOM_CAST = 218 ,
  SMART_ACTION_CONE_SUMMON = 219 ,
  SMART_ACTION_PLAYER_TALK = 220 ,
  SMART_ACTION_VORTEX_SUMMON = 221 ,
  SMART_ACTION_CU_ENCOUNTER_START = 222 ,
  SMART_ACTION_DO_ACTION = 223 ,
  SMART_ACTION_ATTACK_STOP = 224 ,
  SMART_ACTION_SET_GUID = 225 ,
  SMART_ACTION_SCRIPTED_SPAWN = 226 ,
  SMART_ACTION_SET_SCALE = 227 ,
  SMART_ACTION_SUMMON_RADIAL = 228 ,
  SMART_ACTION_PLAY_SPELL_VISUAL = 229 ,
  SMART_ACTION_FOLLOW_GROUP = 230 ,
  SMART_ACTION_SET_ORIENTATION_TARGET = 231 ,
  SMART_ACTION_WAYPOINT_DATA_START = 232 ,
  SMART_ACTION_WAYPOINT_DATA_RANDOM = 233 ,
  SMART_ACTION_MOVEMENT_STOP = 234 ,
  SMART_ACTION_MOVEMENT_PAUSE = 235 ,
  SMART_ACTION_MOVEMENT_RESUME = 236 ,
  SMART_ACTION_WORLD_SCRIPT = 237 ,
  SMART_ACTION_AC_END = 238
}
 
enum class  SmartActionSummonCreatureFlags {
  None = 0 ,
  PersonalSpawn = 1 ,
  PreferUnit = 2 ,
  All = PersonalSpawn | PreferUnit
}
 
enum  SMARTAI_TEMPLATE {
  SMARTAI_TEMPLATE_BASIC = 0 ,
  SMARTAI_TEMPLATE_CASTER = 1 ,
  SMARTAI_TEMPLATE_TURRET = 2 ,
  SMARTAI_TEMPLATE_PASSIVE = 3 ,
  SMARTAI_TEMPLATE_CAGED_GO_PART = 4 ,
  SMARTAI_TEMPLATE_CAGED_NPC_PART = 5 ,
  SMARTAI_TEMPLATE_END = 6
}
 
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_TC_END = 30 ,
  SMART_TARGET_AC_START = 200 ,
  SMART_TARGET_PLAYER_WITH_AURA = 201 ,
  SMART_TARGET_RANDOM_POINT = 202 ,
  SMART_TARGET_ROLE_SELECTION = 203 ,
  SMART_TARGET_SUMMONED_CREATURES = 204 ,
  SMART_TARGET_INSTANCE_STORAGE = 205 ,
  SMART_TARGET_AC_END = 206
}
 
enum  SmartTargetRoleFlags {
  SMART_TARGET_ROLE_FLAG_TANKS = 0x001 ,
  SMART_TARGET_ROLE_FLAG_HEALERS = 0x002 ,
  SMART_TARGET_ROLE_FLAG_DAMAGERS = 0x004
}
 
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_MAX = 10
}
 
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
}
 
enum  SmartEventFlags {
  SMART_EVENT_FLAG_NOT_REPEATABLE = 0x001 ,
  SMART_EVENT_FLAG_DIFFICULTY_0 = 0x002 ,
  SMART_EVENT_FLAG_DIFFICULTY_1 = 0x004 ,
  SMART_EVENT_FLAG_DIFFICULTY_2 = 0x008 ,
  SMART_EVENT_FLAG_DIFFICULTY_3 = 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_FLAG_DIFFICULTY_ALL = (SMART_EVENT_FLAG_DIFFICULTY_0 | SMART_EVENT_FLAG_DIFFICULTY_1 | SMART_EVENT_FLAG_DIFFICULTY_2 | SMART_EVENT_FLAG_DIFFICULTY_3) ,
  SMART_EVENT_FLAGS_ALL = (SMART_EVENT_FLAG_NOT_REPEATABLE | SMART_EVENT_FLAG_DIFFICULTY_ALL | 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 = 0x001 ,
  SMARTCAST_TRIGGERED = 0x002 ,
  SMARTCAST_AURA_NOT_PRESENT = 0x020 ,
  SMARTCAST_COMBAT_MOVE = 0x040 ,
  SMARTCAST_THREATLIST_NOT_SINGLE = 0x080 ,
  SMARTCAST_TARGET_POWER_MANA = 0x100
}
 
enum  SmartFollowType {
  FOLLOW_TYPE_CIRCLE = 1 ,
  FOLLOW_TYPE_SEMI_CIRCLE_BEHIND = 2 ,
  FOLLOW_TYPE_SEMI_CIRCLE_FRONT = 3 ,
  FOLLOW_TYPE_LINE = 4 ,
  FOLLOW_TYPE_COLUMN = 5 ,
  FOLLOW_TYPE_ANGULAR = 6
}
 

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_AC_END][2]
 

Macro Definition Documentation

◆ sSmartScriptMgr

#define sSmartScriptMgr   SmartAIMgr::instance()

◆ sSmartWaypointMgr

#define sSmartWaypointMgr   SmartWaypointMgr::instance()

Typedef Documentation

◆ ObjectVector

typedef std::vector<WorldObject*> ObjectVector

◆ ObjectVectorMap

typedef std::unordered_map<uint32, ObjectGuidVector> ObjectVectorMap

◆ SAIBool

typedef uint32 SAIBool

◆ SmartAIEventList

typedef std::vector<SmartScriptHolder> SmartAIEventList

◆ SmartAIEventMap

typedef std::unordered_map<int32, SmartAIEventList> SmartAIEventMap

◆ SmartAIEventStoredList

◆ WPPath

typedef std::unordered_map<uint32, WayPoint*> WPPath

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 
53{
56 SMART_SUMMON_COUNTER = 0xFFFFFF,
58 SMART_RANDOM_POINT = 0xFFFFFE,
59 SMART_ESCORT_TARGETS = 0xFFFFFF
60};
@ SMART_ESCORT_LAST_OOC_POINT
Definition: SmartScriptMgr.h:57
@ SMART_RANDOM_POINT
Definition: SmartScriptMgr.h:58
@ SMART_ACTION_PARAM_COUNT
Definition: SmartScriptMgr.h:55
@ SMART_EVENT_PARAM_COUNT
Definition: SmartScriptMgr.h:54
@ SMART_ESCORT_TARGETS
Definition: SmartScriptMgr.h:59
@ SMART_SUMMON_COUNTER
Definition: SmartScriptMgr.h:56

◆ 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_RESERVED_16 
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_MASK 
SMART_ACTION_SET_DATA 
SMART_ACTION_MOVE_FORWARD 
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_FLY 
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_RESPAWN_TARGET 
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_RISE_UP 
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 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_SET_SIGHT_DIST 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_FLEE 
SMART_ACTION_ADD_THREAT 
SMART_ACTION_LOAD_EQUIPMENT 
SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT 
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS 
SMART_ACTION_REMOVE_MOVEMENT 
SMART_ACTION_PLAY_ANIMKIT 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_SCENE_PLAY 
SMART_ACTION_SCENE_CANCEL 
SMART_ACTION_SPAWN_SPAWNGROUP 
SMART_ACTION_DESPAWN_SPAWNGROUP 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_RESPAWN_BY_SPAWNID 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_INVOKER_CAST 
Todo:
: NOT SUPPORTED YET
SMART_ACTION_PLAY_CINEMATIC 
SMART_ACTION_SET_MOVEMENT_SPEED 
SMART_ACTION_SET_HEALTH_PCT 
SMART_ACTION_TC_END 
SMART_ACTION_AC_START 
SMART_ACTION_MOVE_TO_POS_TARGET 
SMART_ACTION_EXIT_VEHICLE 
SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS 
SMART_ACTION_SET_COMBAT_DISTANCE 
SMART_ACTION_DISMOUNT 
SMART_ACTION_SET_HOVER 
SMART_ACTION_ADD_IMMUNITY 
SMART_ACTION_REMOVE_IMMUNITY 
SMART_ACTION_FALL 
SMART_ACTION_SET_EVENT_FLAG_RESET 
SMART_ACTION_STOP_MOTION 
SMART_ACTION_NO_ENVIRONMENT_UPDATE 
SMART_ACTION_ZONE_UNDER_ATTACK 
SMART_ACTION_LOAD_GRID 
SMART_ACTION_MUSIC 
SMART_ACTION_RANDOM_MUSIC 
SMART_ACTION_CUSTOM_CAST 
SMART_ACTION_CONE_SUMMON 
SMART_ACTION_PLAYER_TALK 
SMART_ACTION_VORTEX_SUMMON 
SMART_ACTION_CU_ENCOUNTER_START 
SMART_ACTION_DO_ACTION 
SMART_ACTION_ATTACK_STOP 
SMART_ACTION_SET_GUID 
SMART_ACTION_SCRIPTED_SPAWN 
SMART_ACTION_SET_SCALE 
SMART_ACTION_SUMMON_RADIAL 
SMART_ACTION_PLAY_SPELL_VISUAL 
SMART_ACTION_FOLLOW_GROUP 
SMART_ACTION_SET_ORIENTATION_TARGET 
SMART_ACTION_WAYPOINT_DATA_START 
SMART_ACTION_WAYPOINT_DATA_RANDOM 
SMART_ACTION_MOVEMENT_STOP 
SMART_ACTION_MOVEMENT_PAUSE 
SMART_ACTION_MOVEMENT_RESUME 
SMART_ACTION_WORLD_SCRIPT 
SMART_ACTION_AC_END 
557{
558 SMART_ACTION_NONE = 0, // No action
559 SMART_ACTION_TALK = 1, // groupID from creature_text, duration to wait before TEXT_OVER event is triggered, use first target from targetlist as invoker, useTalkTarget (0/1) - use target as talk target
560 SMART_ACTION_SET_FACTION = 2, // FactionId (or 0 for default)
561 SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph)
562 SMART_ACTION_SOUND = 4, // SoundId, onlySelf, distance
563 SMART_ACTION_PLAY_EMOTE = 5, // EmoteId
564 SMART_ACTION_FAIL_QUEST = 6, // QuestID
565 SMART_ACTION_OFFER_QUEST = 7, // QuestID, directAdd
566 SMART_ACTION_SET_REACT_STATE = 8, // state
568 SMART_ACTION_RANDOM_EMOTE = 10, // EmoteId1, EmoteId2, EmoteId3...
569 SMART_ACTION_CAST = 11, // spellID, castFlags, triggerFlags, targetsLimit
570 SMART_ACTION_SUMMON_CREATURE = 12, // CreatureID, summonType, duration in ms, attackInvoker, attackScriptOwner, flags(SmartActionSummonCreatureFlags)
571 SMART_ACTION_THREAT_SINGLE_PCT = 13, // Threat%
572 SMART_ACTION_THREAT_ALL_PCT = 14, // Threat%
574 SMART_ACTION_RESERVED_16 = 16, // used on 4.3.4 and higher scripts
575 SMART_ACTION_SET_EMOTE_STATE = 17, // emoteID
576 SMART_ACTION_SET_UNIT_FLAG = 18, // Flags (may be more than one field OR'd together), Target
577 SMART_ACTION_REMOVE_UNIT_FLAG = 19, // Flags (may be more than one field OR'd together), Target
578 SMART_ACTION_AUTO_ATTACK = 20, // AllowAttackState (0 = stop attack, anything else means continue attacking)
579 SMART_ACTION_ALLOW_COMBAT_MOVEMENT = 21, // AllowCombatMovement (0 = stop combat based movement, anything else continue attacking)
580 SMART_ACTION_SET_EVENT_PHASE = 22, // Phase
581 SMART_ACTION_INC_EVENT_PHASE = 23, // Value (may be negative to decrement phase, should not be 0)
582 SMART_ACTION_EVADE = 24, // No Params
583 SMART_ACTION_FLEE_FOR_ASSIST = 25, // With Emote
585 SMART_ACTION_COMBAT_STOP = 27, // No Params
586 SMART_ACTION_REMOVEAURASFROMSPELL = 28, // Spellid (0 removes all auras), charges (0 removes aura)
587 SMART_ACTION_FOLLOW = 29, // Distance (0 = default), Angle (0 = default), EndCreatureEntry, credit, creditType (0monsterkill, 1event)
588 SMART_ACTION_RANDOM_PHASE = 30, // PhaseId1, PhaseId2, PhaseId3...
589 SMART_ACTION_RANDOM_PHASE_RANGE = 31, // PhaseMin, PhaseMax
591 SMART_ACTION_CALL_KILLEDMONSTER = 33, // CreatureId,
592 SMART_ACTION_SET_INST_DATA = 34, // Field, Data
593 SMART_ACTION_SET_INST_DATA64 = 35, // Field,
594 SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, UpdateLevel
595 SMART_ACTION_DIE = 37, // Milliseconds
596 SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38, // Range (if outside of dungeon)
597 SMART_ACTION_CALL_FOR_HELP = 39, // Radius, With Emote
598 SMART_ACTION_SET_SHEATH = 40, // Sheath (0-unarmed, 1-melee, 2-ranged)
599 SMART_ACTION_FORCE_DESPAWN = 41, // timer
600 SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue(+pct, -flat)
601 SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL = 43, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount)
603 SMART_ACTION_SET_DATA = 45, // Field, Data (only creature TODO)
604 SMART_ACTION_MOVE_FORWARD = 46, // distance
605 SMART_ACTION_SET_VISIBILITY = 47, // on/off
606 SMART_ACTION_SET_ACTIVE = 48, // on/off
608 SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime, targetSummon, summonType (0 time or summoner dies/1 time)
610 SMART_ACTION_ACTIVATE_TAXI = 52, // TaxiID
611 SMART_ACTION_WP_START = 53, // run/walk, pathID, canRepeat, quest, despawntime, reactState
612 SMART_ACTION_WP_PAUSE = 54, // time
613 SMART_ACTION_WP_STOP = 55, // despawnTime, quest, fail?
614 SMART_ACTION_ADD_ITEM = 56, // itemID, count
615 SMART_ACTION_REMOVE_ITEM = 57, // itemID, count
616 SMART_ACTION_INSTALL_AI_TEMPLATE = 58, // AITemplateID
617 SMART_ACTION_SET_RUN = 59, // 0/1
618 SMART_ACTION_SET_FLY = 60, // 0/1
619 SMART_ACTION_SET_SWIM = 61, // 0/1
620 SMART_ACTION_TELEPORT = 62, // mapID,
621 SMART_ACTION_SET_COUNTER = 63, // id, value, reset (0/1)
622 SMART_ACTION_STORE_TARGET_LIST = 64, // varID,
623 SMART_ACTION_WP_RESUME = 65, // none
624 SMART_ACTION_SET_ORIENTATION = 66, // quick change, random orientation? (0/1), turnAngle
625 SMART_ACTION_CREATE_TIMED_EVENT = 67, // id, InitialMin, InitialMax, RepeatMin(only if it repeats), RepeatMax(only if it repeats), chance
626 SMART_ACTION_PLAYMOVIE = 68, // entry
627 SMART_ACTION_MOVE_TO_POS = 69, // PointId (optional x,y,z offset), transport, controlled, ContactDistance
628 SMART_ACTION_RESPAWN_TARGET = 70, // force / goRespawnTime
629 SMART_ACTION_EQUIP = 71, // entry, slotmask slot1, slot2, slot3 , only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), slots1-3 are only used if no entry is set
630 SMART_ACTION_CLOSE_GOSSIP = 72, // none
632 SMART_ACTION_REMOVE_TIMED_EVENT = 74, // id(>1)
633 SMART_ACTION_ADD_AURA = 75, // spellid, targets
634 SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT = 76, // WARNING: CAN CRASH CORE, do not use if you dont know what you are doing
637 SMART_ACTION_SET_RANGED_MOVEMENT = 79, // Distance, angle
638 SMART_ACTION_CALL_TIMED_ACTIONLIST = 80, // ID (overwrites already running actionlist), stop after combat?(0/1), timer update type(0-OOC, 1-IC, 2-ALWAYS)
639 SMART_ACTION_SET_NPC_FLAG = 81, // Flags
640 SMART_ACTION_ADD_NPC_FLAG = 82, // Flags
641 SMART_ACTION_REMOVE_NPC_FLAG = 83, // Flags
642 SMART_ACTION_SIMPLE_TALK = 84, // groupID, can be used to make players say groupID, Text_over event is not triggered, whisper can not be used (Target units will say the text)
643 SMART_ACTION_SELF_CAST = 85, // spellID, castFlags, triggerFlags, targetsLimit
644 SMART_ACTION_CROSS_CAST = 86, // spellID, castFlags, CasterTargetType, CasterTarget param1, CasterTarget param2, CasterTarget param3, ( + the origonal target fields as Destination target), CasterTargets will cast spellID on all Targets (use with caution if targeting multiple * multiple units)
645 SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST = 87, // script9 ids 1-9
646 SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST = 88, // script9 id min, max
647 SMART_ACTION_RANDOM_MOVE = 89, // maxDist
648 SMART_ACTION_SET_UNIT_FIELD_BYTES_1 = 90, // bytes, target
649 SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 = 91, // bytes, target
651 SMART_ACTION_SEND_GO_CUSTOM_ANIM = 93, // anim id
652 SMART_ACTION_SET_DYNAMIC_FLAG = 94, // Flags
653 SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // Flags
655 SMART_ACTION_JUMP_TO_POS = 97, // speedXY, speedZ, selfJump
656 SMART_ACTION_SEND_GOSSIP_MENU = 98, // menuId, optionId
657 SMART_ACTION_GO_SET_LOOT_STATE = 99, // state
659 SMART_ACTION_SET_HOME_POS = 101, // SpawnPos
661 SMART_ACTION_SET_ROOT = 103, // off/on
662 SMART_ACTION_SET_GO_FLAG = 104, // Flags
663 SMART_ACTION_ADD_GO_FLAG = 105, // Flags
664 SMART_ACTION_REMOVE_GO_FLAG = 106, // Flags
665 SMART_ACTION_SUMMON_CREATURE_GROUP = 107, // Group, attackInvoker, attackScriptOwner
666 SMART_ACTION_SET_POWER = 108, // PowerType, newPower
667 SMART_ACTION_ADD_POWER = 109, // PowerType, newPower
668 SMART_ACTION_REMOVE_POWER = 110, // PowerType, newPower
669 SMART_ACTION_GAME_EVENT_STOP = 111, // GameEventId
670 SMART_ACTION_GAME_EVENT_START = 112, // GameEventId
671 SMART_ACTION_START_CLOSEST_WAYPOINT = 113, // wp1, wp2, wp3, wp4, wp5, wp6, wp7
672 SMART_ACTION_RISE_UP = 114, // distance
673 SMART_ACTION_RANDOM_SOUND = 115, // SoundId1, SoundId2, SoundId3, SoundId4, onlySelf, distance
674 SMART_ACTION_SET_CORPSE_DELAY = 116, // timer
675 SMART_ACTION_DISABLE_EVADE = 117, // 0/1 (1 = disabled, 0 = enabled)
676 SMART_ACTION_GO_SET_GO_STATE = 118, // state
679 SMART_ACTION_SET_SIGHT_DIST = 121, // sightDistance
680 SMART_ACTION_FLEE = 122, // fleeTime
681 SMART_ACTION_ADD_THREAT = 123, // +threat, -threat
682 SMART_ACTION_LOAD_EQUIPMENT = 124, // id
683 SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT = 125, // id min range, id max range
686 SMART_ACTION_PLAY_ANIMKIT = 128, // don't use on 3.3.5a
687 SMART_ACTION_SCENE_PLAY = 129, // don't use on 3.3.5a
688 SMART_ACTION_SCENE_CANCEL = 130, // don't use on 3.3.5a
692 SMART_ACTION_INVOKER_CAST = 134, // spellID, castFlags, triggerFlags, targetsLimit
693 SMART_ACTION_PLAY_CINEMATIC = 135, // entry
694 SMART_ACTION_SET_MOVEMENT_SPEED = 136, // movementType, speedInteger, speedFraction
695
696 SMART_ACTION_SET_HEALTH_PCT = 142, // percent
697
698 SMART_ACTION_TC_END = 199, // placeholder
699
700 // AC-only SmartActions:
701 SMART_ACTION_AC_START = 200, // placeholder
702
703 SMART_ACTION_MOVE_TO_POS_TARGET = 201, // pointId
704 // SMART_ACTION_SET_GO_STATE = 202, // state // Replaced by SMART_ACTION_GO_SET_GO_STATE
705 SMART_ACTION_EXIT_VEHICLE = 203, // none
707 SMART_ACTION_SET_COMBAT_DISTANCE = 205, // combatDistance
709 SMART_ACTION_SET_HOVER = 207, // 0/1
710 SMART_ACTION_ADD_IMMUNITY = 208, // type, id, value
711 SMART_ACTION_REMOVE_IMMUNITY = 209, // type, id, value
712 SMART_ACTION_FALL = 210, //
714 SMART_ACTION_STOP_MOTION = 212, // stopMoving, movementExpired
718 SMART_ACTION_MUSIC = 216, // SoundId, onlySelf, type
719 SMART_ACTION_RANDOM_MUSIC = 217, // SoundId1, SoundId2, SoundId3, SoundId4, onlySelf, type
720
721 SMART_ACTION_CUSTOM_CAST = 218, // spellId, castflag, bp0, bp1, bp2
722 SMART_ACTION_CONE_SUMMON = 219, // entry, duration (0 = perm), dist between rings, dist between earch summon in a row, length of cone, width of cone (angle)
723 SMART_ACTION_PLAYER_TALK = 220, // acore_string.entry, yell? (0/1)
724 SMART_ACTION_VORTEX_SUMMON = 221, // entry, duration (0 = perm), spiral scaling, spiral appearance, range max, phi_delta <-- yes confusing math, try it ingame and see, my lovely AC boys!
725 SMART_ACTION_CU_ENCOUNTER_START = 222, // Resets cooldowns on all targets and removes Heroism debuff(s)
726 SMART_ACTION_DO_ACTION = 223, // ActionId
728 SMART_ACTION_SET_GUID = 225, // Sends the invoker's or the base object's own ObjectGuid to target
729 SMART_ACTION_SCRIPTED_SPAWN = 226, // state, spawnTimerMin, spawnTimerMax, respawnDelay, corpseDelay, dontDespawn
730 SMART_ACTION_SET_SCALE = 227, // scale
731 SMART_ACTION_SUMMON_RADIAL = 228, // summonEntry, summonDuration, repetitions, startAngle, stepAngle, dist
732 SMART_ACTION_PLAY_SPELL_VISUAL = 229, // visualId, visualIdImpact
733 SMART_ACTION_FOLLOW_GROUP = 230, // followState, followType, dist
734 SMART_ACTION_SET_ORIENTATION_TARGET = 231, // type, target_type, target_param1, target_param2, target_param3, target_param4
735 SMART_ACTION_WAYPOINT_DATA_START = 232, // pathId, repeat
736 SMART_ACTION_WAYPOINT_DATA_RANDOM = 233, // pathId1, pathId2, repeat
738 SMART_ACTION_MOVEMENT_PAUSE = 235, // timer
739 SMART_ACTION_MOVEMENT_RESUME = 236, // timerOverride
740 SMART_ACTION_WORLD_SCRIPT = 237, // eventId, param
741
742 SMART_ACTION_AC_END = 238, // placeholder
743};
@ SMART_ACTION_TC_END
Definition: SmartScriptMgr.h:698
@ SMART_ACTION_REMOVE_TIMED_EVENT
Definition: SmartScriptMgr.h:632
@ SMART_ACTION_NONE
Definition: SmartScriptMgr.h:558
@ SMART_ACTION_AC_START
Definition: SmartScriptMgr.h:701
@ SMART_ACTION_SET_GO_FLAG
Definition: SmartScriptMgr.h:662
@ SMART_ACTION_WP_RESUME
Definition: SmartScriptMgr.h:623
@ SMART_ACTION_UPDATE_TEMPLATE
Definition: SmartScriptMgr.h:594
@ SMART_ACTION_STORE_TARGET_LIST
Definition: SmartScriptMgr.h:622
@ SMART_ACTION_SET_HEALTH_REGEN
Definition: SmartScriptMgr.h:660
@ SMART_ACTION_ACTIVATE_GOBJECT
Definition: SmartScriptMgr.h:567
@ SMART_ACTION_FORCE_DESPAWN
Definition: SmartScriptMgr.h:599
@ SMART_ACTION_GAME_EVENT_START
Definition: SmartScriptMgr.h:670
@ SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST
Definition: SmartScriptMgr.h:646
@ SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1
Definition: SmartScriptMgr.h:649
@ SMART_ACTION_SET_INST_DATA64
Definition: SmartScriptMgr.h:593
@ SMART_ACTION_SET_FACTION
Definition: SmartScriptMgr.h:560
@ SMART_ACTION_THREAT_SINGLE_PCT
Definition: SmartScriptMgr.h:571
@ SMART_ACTION_OFFER_QUEST
Definition: SmartScriptMgr.h:565
@ SMART_ACTION_REMOVE_ALL_GAMEOBJECTS
Definition: SmartScriptMgr.h:684
@ SMART_ACTION_RISE_UP
Definition: SmartScriptMgr.h:672
@ SMART_ACTION_SET_INGAME_PHASE_MASK
Definition: SmartScriptMgr.h:602
@ SMART_ACTION_SET_UNIT_FIELD_BYTES_1
Definition: SmartScriptMgr.h:648
@ SMART_ACTION_CLOSE_GOSSIP
Definition: SmartScriptMgr.h:630
@ SMART_ACTION_RESERVED_16
Definition: SmartScriptMgr.h:574
@ SMART_ACTION_DISABLE_EVADE
Definition: SmartScriptMgr.h:675
@ SMART_ACTION_CONE_SUMMON
Definition: SmartScriptMgr.h:722
@ SMART_ACTION_ADD_GO_FLAG
Definition: SmartScriptMgr.h:663
@ SMART_ACTION_ADD_DYNAMIC_FLAG
Definition: SmartScriptMgr.h:653
@ SMART_ACTION_KILL_UNIT
Definition: SmartScriptMgr.h:609
@ SMART_ACTION_LOAD_EQUIPMENT
Definition: SmartScriptMgr.h:682
@ SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS
Definition: SmartScriptMgr.h:573
@ SMART_ACTION_ATTACK_START
Definition: SmartScriptMgr.h:607
@ SMART_ACTION_MOVEMENT_RESUME
Definition: SmartScriptMgr.h:739
@ SMART_ACTION_SET_UNIT_FLAG
Definition: SmartScriptMgr.h:576
@ SMART_ACTION_NO_ENVIRONMENT_UPDATE
Definition: SmartScriptMgr.h:715
@ SMART_ACTION_CALL_GROUPEVENTHAPPENS
Definition: SmartScriptMgr.h:584
@ SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL
Definition: SmartScriptMgr.h:601
@ SMART_ACTION_INVOKER_CAST
Definition: SmartScriptMgr.h:692
@ SMART_ACTION_SCENE_PLAY
Definition: SmartScriptMgr.h:687
@ SMART_ACTION_MOVEMENT_STOP
Definition: SmartScriptMgr.h:737
@ SMART_ACTION_SET_SCALE
Definition: SmartScriptMgr.h:730
@ SMART_ACTION_JUMP_TO_POS
Definition: SmartScriptMgr.h:655
@ SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST
Definition: SmartScriptMgr.h:645
@ SMART_ACTION_SEND_GOSSIP_MENU
Definition: SmartScriptMgr.h:656
@ SMART_ACTION_SET_COUNTER
Definition: SmartScriptMgr.h:621
@ SMART_ACTION_FLEE_FOR_ASSIST
Definition: SmartScriptMgr.h:583
@ SMART_ACTION_EQUIP
Definition: SmartScriptMgr.h:629
@ SMART_ACTION_SET_ROOT
Definition: SmartScriptMgr.h:661
@ SMART_ACTION_ATTACK_STOP
Definition: SmartScriptMgr.h:727
@ SMART_ACTION_SUMMON_GO
Definition: SmartScriptMgr.h:608
@ SMART_ACTION_SET_HOVER
Definition: SmartScriptMgr.h:709
@ SMART_ACTION_WP_PAUSE
Definition: SmartScriptMgr.h:612
@ SMART_ACTION_SIMPLE_TALK
Definition: SmartScriptMgr.h:642
@ SMART_ACTION_STOP_MOTION
Definition: SmartScriptMgr.h:714
@ SMART_ACTION_REMOVE_AURAS_BY_TYPE
Definition: SmartScriptMgr.h:678
@ SMART_ACTION_VORTEX_SUMMON
Definition: SmartScriptMgr.h:724
@ SMART_ACTION_CAST
Definition: SmartScriptMgr.h:569
@ SMART_ACTION_WORLD_SCRIPT
Definition: SmartScriptMgr.h:740
@ SMART_ACTION_MUSIC
Definition: SmartScriptMgr.h:718
@ SMART_ACTION_SET_ORIENTATION_TARGET
Definition: SmartScriptMgr.h:734
@ SMART_ACTION_SPAWN_SPAWNGROUP
Definition: SmartScriptMgr.h:689
@ SMART_ACTION_ALLOW_COMBAT_MOVEMENT
Definition: SmartScriptMgr.h:579
@ SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS
Definition: SmartScriptMgr.h:706
@ SMART_ACTION_ADD_AURA
Definition: SmartScriptMgr.h:633
@ SMART_ACTION_THREAT_ALL_PCT
Definition: SmartScriptMgr.h:572
@ SMART_ACTION_RESPAWN_TARGET
Definition: SmartScriptMgr.h:628
@ SMART_ACTION_FOLLOW_GROUP
Definition: SmartScriptMgr.h:733
@ SMART_ACTION_SOUND
Definition: SmartScriptMgr.h:562
@ SMART_ACTION_MOVE_TO_POS_TARGET
Definition: SmartScriptMgr.h:703
@ SMART_ACTION_SET_MOVEMENT_SPEED
Definition: SmartScriptMgr.h:694
@ SMART_ACTION_PLAY_CINEMATIC
Definition: SmartScriptMgr.h:693
@ SMART_ACTION_ADD_NPC_FLAG
Definition: SmartScriptMgr.h:640
@ SMART_ACTION_EVADE
Definition: SmartScriptMgr.h:582
@ SMART_ACTION_FAIL_QUEST
Definition: SmartScriptMgr.h:564
@ SMART_ACTION_INTERRUPT_SPELL
Definition: SmartScriptMgr.h:650
@ SMART_ACTION_ADD_POWER
Definition: SmartScriptMgr.h:667
@ SMART_ACTION_REMOVE_DYNAMIC_FLAG
Definition: SmartScriptMgr.h:654
@ SMART_ACTION_WAYPOINT_DATA_START
Definition: SmartScriptMgr.h:735
@ SMART_ACTION_RANDOM_SOUND
Definition: SmartScriptMgr.h:673
@ SMART_ACTION_RANDOM_MUSIC
Definition: SmartScriptMgr.h:719
@ SMART_ACTION_SET_COMBAT_DISTANCE
Definition: SmartScriptMgr.h:707
@ SMART_ACTION_SCENE_CANCEL
Definition: SmartScriptMgr.h:688
@ SMART_ACTION_SET_POWER
Definition: SmartScriptMgr.h:666
@ SMART_ACTION_MOVE_FORWARD
Definition: SmartScriptMgr.h:604
@ SMART_ACTION_SEND_TARGET_TO_TARGET
Definition: SmartScriptMgr.h:658
@ SMART_ACTION_REMOVE_POWER
Definition: SmartScriptMgr.h:668
@ SMART_ACTION_ADD_IMMUNITY
Definition: SmartScriptMgr.h:710
@ SMART_ACTION_SET_DYNAMIC_FLAG
Definition: SmartScriptMgr.h:652
@ SMART_ACTION_FALL
Definition: SmartScriptMgr.h:712
@ SMART_ACTION_GO_SET_GO_STATE
Definition: SmartScriptMgr.h:676
@ SMART_ACTION_CUSTOM_CAST
Definition: SmartScriptMgr.h:721
@ SMART_ACTION_REMOVE_ITEM
Definition: SmartScriptMgr.h:615
@ SMART_ACTION_SEND_GO_CUSTOM_ANIM
Definition: SmartScriptMgr.h:651
@ SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL
Definition: SmartScriptMgr.h:561
@ SMART_ACTION_REMOVE_UNIT_FLAG
Definition: SmartScriptMgr.h:577
@ SMART_ACTION_RANDOM_PHASE
Definition: SmartScriptMgr.h:588
@ SMART_ACTION_SET_EMOTE_STATE
Definition: SmartScriptMgr.h:575
@ SMART_ACTION_CROSS_CAST
Definition: SmartScriptMgr.h:644
@ SMART_ACTION_WP_STOP
Definition: SmartScriptMgr.h:613
@ SMART_ACTION_GAME_EVENT_STOP
Definition: SmartScriptMgr.h:669
@ SMART_ACTION_CALL_KILLEDMONSTER
Definition: SmartScriptMgr.h:591
@ SMART_ACTION_SCRIPTED_SPAWN
Definition: SmartScriptMgr.h:729
@ SMART_ACTION_TALK
Definition: SmartScriptMgr.h:559
@ SMART_ACTION_CALL_SCRIPT_RESET
Definition: SmartScriptMgr.h:636
@ SMART_ACTION_SET_DATA
Definition: SmartScriptMgr.h:603
@ SMART_ACTION_CU_ENCOUNTER_START
Definition: SmartScriptMgr.h:725
@ SMART_ACTION_WP_START
Definition: SmartScriptMgr.h:611
@ SMART_ACTION_COMBAT_STOP
Definition: SmartScriptMgr.h:585
@ SMART_ACTION_EXIT_VEHICLE
Definition: SmartScriptMgr.h:705
@ SMART_ACTION_SET_RUN
Definition: SmartScriptMgr.h:617
@ SMART_ACTION_SET_HEALTH_PCT
Definition: SmartScriptMgr.h:696
@ SMART_ACTION_AUTO_ATTACK
Definition: SmartScriptMgr.h:578
@ SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL
Definition: SmartScriptMgr.h:600
@ SMART_ACTION_SET_VISIBILITY
Definition: SmartScriptMgr.h:605
@ SMART_ACTION_AC_END
Definition: SmartScriptMgr.h:742
@ SMART_ACTION_RANDOM_PHASE_RANGE
Definition: SmartScriptMgr.h:589
@ SMART_ACTION_MOVEMENT_PAUSE
Definition: SmartScriptMgr.h:738
@ SMART_ACTION_GO_SET_LOOT_STATE
Definition: SmartScriptMgr.h:657
@ SMART_ACTION_PLAYER_TALK
Definition: SmartScriptMgr.h:723
@ SMART_ACTION_SELF_CAST
Definition: SmartScriptMgr.h:643
@ SMART_ACTION_SET_SWIM
Definition: SmartScriptMgr.h:619
@ SMART_ACTION_SET_SIGHT_DIST
Definition: SmartScriptMgr.h:679
@ SMART_ACTION_SET_INST_DATA
Definition: SmartScriptMgr.h:592
@ SMART_ACTION_PLAY_ANIMKIT
Definition: SmartScriptMgr.h:686
@ SMART_ACTION_REMOVE_GO_FLAG
Definition: SmartScriptMgr.h:664
@ SMART_ACTION_LOAD_GRID
Definition: SmartScriptMgr.h:717
@ SMART_ACTION_CALL_FOR_HELP
Definition: SmartScriptMgr.h:597
@ SMART_ACTION_SUMMON_RADIAL
Definition: SmartScriptMgr.h:731
@ SMART_ACTION_ADD_THREAT
Definition: SmartScriptMgr.h:681
@ SMART_ACTION_DISMOUNT
Definition: SmartScriptMgr.h:708
@ SMART_ACTION_TELEPORT
Definition: SmartScriptMgr.h:620
@ SMART_ACTION_PLAYMOVIE
Definition: SmartScriptMgr.h:626
@ SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT
Definition: SmartScriptMgr.h:683
@ SMART_ACTION_FOLLOW
Definition: SmartScriptMgr.h:587
@ SMART_ACTION_PLAY_EMOTE
Definition: SmartScriptMgr.h:563
@ SMART_ACTION_SET_EVENT_PHASE
Definition: SmartScriptMgr.h:580
@ SMART_ACTION_DESPAWN_SPAWNGROUP
Definition: SmartScriptMgr.h:690
@ SMART_ACTION_SET_CORPSE_DELAY
Definition: SmartScriptMgr.h:674
@ SMART_ACTION_WAYPOINT_DATA_RANDOM
Definition: SmartScriptMgr.h:736
@ SMART_ACTION_SET_GUID
Definition: SmartScriptMgr.h:728
@ SMART_ACTION_SET_SHEATH
Definition: SmartScriptMgr.h:598
@ SMART_ACTION_SET_ORIENTATION
Definition: SmartScriptMgr.h:624
@ SMART_ACTION_RESPAWN_BY_SPAWNID
Definition: SmartScriptMgr.h:691
@ SMART_ACTION_SET_NPC_FLAG
Definition: SmartScriptMgr.h:639
@ SMART_ACTION_MOVE_TO_POS
Definition: SmartScriptMgr.h:627
@ SMART_ACTION_RANDOM_EMOTE
Definition: SmartScriptMgr.h:568
@ SMART_ACTION_INC_EVENT_PHASE
Definition: SmartScriptMgr.h:581
@ SMART_ACTION_CREATE_TIMED_EVENT
Definition: SmartScriptMgr.h:625
@ SMART_ACTION_SET_EVENT_FLAG_RESET
Definition: SmartScriptMgr.h:713
@ SMART_ACTION_DIE
Definition: SmartScriptMgr.h:595
@ SMART_ACTION_RESET_SCRIPT_BASE_OBJECT
Definition: SmartScriptMgr.h:635
@ SMART_ACTION_REMOVE_NPC_FLAG
Definition: SmartScriptMgr.h:641
@ SMART_ACTION_REMOVE_MOVEMENT
Definition: SmartScriptMgr.h:685
@ SMART_ACTION_SET_FLY
Definition: SmartScriptMgr.h:618
@ SMART_ACTION_INSTALL_AI_TEMPLATE
Definition: SmartScriptMgr.h:616
@ SMART_ACTION_SUMMON_CREATURE
Definition: SmartScriptMgr.h:570
@ SMART_ACTION_RESET_GOBJECT
Definition: SmartScriptMgr.h:590
@ SMART_ACTION_CALL_TIMED_ACTIONLIST
Definition: SmartScriptMgr.h:638
@ SMART_ACTION_SET_IN_COMBAT_WITH_ZONE
Definition: SmartScriptMgr.h:596
@ SMART_ACTION_DO_ACTION
Definition: SmartScriptMgr.h:726
@ SMART_ACTION_SET_CAN_FLY
Definition: SmartScriptMgr.h:677
@ SMART_ACTION_SET_HOME_POS
Definition: SmartScriptMgr.h:659
@ SMART_ACTION_ADD_ITEM
Definition: SmartScriptMgr.h:614
@ SMART_ACTION_SET_ACTIVE
Definition: SmartScriptMgr.h:606
@ SMART_ACTION_SET_RANGED_MOVEMENT
Definition: SmartScriptMgr.h:637
@ SMART_ACTION_ACTIVATE_TAXI
Definition: SmartScriptMgr.h:610
@ SMART_ACTION_START_CLOSEST_WAYPOINT
Definition: SmartScriptMgr.h:671
@ SMART_ACTION_SUMMON_CREATURE_GROUP
Definition: SmartScriptMgr.h:665
@ SMART_ACTION_REMOVE_IMMUNITY
Definition: SmartScriptMgr.h:711
@ SMART_ACTION_PLAY_SPELL_VISUAL
Definition: SmartScriptMgr.h:732
@ SMART_ACTION_SET_REACT_STATE
Definition: SmartScriptMgr.h:566
@ SMART_ACTION_RANDOM_MOVE
Definition: SmartScriptMgr.h:647
@ SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT
Definition: SmartScriptMgr.h:634
@ SMART_ACTION_TRIGGER_TIMED_EVENT
Definition: SmartScriptMgr.h:631
@ SMART_ACTION_REMOVEAURASFROMSPELL
Definition: SmartScriptMgr.h:586
@ SMART_ACTION_FLEE
Definition: SmartScriptMgr.h:680
@ SMART_ACTION_ZONE_UNDER_ATTACK
Definition: SmartScriptMgr.h:716

◆ 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_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_TC_END 
SMART_EVENT_AC_START 
SMART_EVENT_NEAR_PLAYERS 
SMART_EVENT_NEAR_PLAYERS_NEGATION 
SMART_EVENT_NEAR_UNIT 
SMART_EVENT_NEAR_UNIT_NEGATION 
SMART_EVENT_AREA_CASTING 
SMART_EVENT_AREA_RANGE 
SMART_EVENT_SUMMONED_UNIT_EVADE 
SMART_EVENT_WAYPOINT_DATA_REACHED 
SMART_EVENT_WAYPOINT_DATA_ENDED 
SMART_EVENT_IS_IN_MELEE_RANGE 
SMART_EVENT_AC_END 
117{
118 SMART_EVENT_UPDATE_IC = 0, // InitialMin, InitialMax, RepeatMin, RepeatMax
119 SMART_EVENT_UPDATE_OOC = 1, // InitialMin, InitialMax, RepeatMin, RepeatMax
120 SMART_EVENT_HEALTH_PCT = 2, // HPMin%, HPMax%, RepeatMin, RepeatMax
121 SMART_EVENT_MANA_PCT = 3, // ManaMin%, ManaMax%, RepeatMin, RepeatMax
122 SMART_EVENT_AGGRO = 4, // NONE
123 SMART_EVENT_KILL = 5, // CooldownMin0, CooldownMax1, playerOnly2, else creature entry3
124 SMART_EVENT_DEATH = 6, // NONE
125 SMART_EVENT_EVADE = 7, // NONE
126 SMART_EVENT_SPELLHIT = 8, // SpellID, School, CooldownMin, CooldownMax
127 SMART_EVENT_RANGE = 9, // min, max, repeatMin, repeatMax, rangeMin, rangeMax
128 SMART_EVENT_OOC_LOS = 10, // HostilityMode, MaxRnage, CooldownMin, CooldownMax, PlayerOnly
129 SMART_EVENT_RESPAWN = 11, // type, MapId, ZoneId
130 SMART_EVENT_TARGET_HEALTH_PCT = 12, // HPMin%, HPMax%, RepeatMin, RepeatMax
131 SMART_EVENT_VICTIM_CASTING = 13, // RepeatMin, RepeatMax, spellid
132 SMART_EVENT_FRIENDLY_HEALTH = 14, // HPDeficit, Radius, RepeatMin, RepeatMax
133 SMART_EVENT_FRIENDLY_IS_CC = 15, // Radius, RepeatMin, RepeatMax
134 SMART_EVENT_FRIENDLY_MISSING_BUFF = 16, // SpellId, Radius, RepeatMin, RepeatMax, onlyInCombat
135 SMART_EVENT_SUMMONED_UNIT = 17, // CreatureId(0 all), CooldownMin, CooldownMax
136 SMART_EVENT_TARGET_MANA_PCT = 18, // ManaMin%, ManaMax%, RepeatMin, RepeatMax
137 SMART_EVENT_ACCEPTED_QUEST = 19, // QuestID (0 = any), CooldownMin, CooldownMax
138 SMART_EVENT_REWARD_QUEST = 20, // QuestID (0 = any), CooldownMin, CooldownMax
139 SMART_EVENT_REACHED_HOME = 21, // NONE
140 SMART_EVENT_RECEIVE_EMOTE = 22, // EmoteId, CooldownMin, CooldownMax, condition, val1, val2, val3
141 SMART_EVENT_HAS_AURA = 23, // Param1 = SpellID, Param2 = Stack amount, Param3/4 RepeatMin, RepeatMax
142 SMART_EVENT_TARGET_BUFFED = 24, // Param1 = SpellID, Param2 = Stack amount, Param3/4 RepeatMin, RepeatMax
143 SMART_EVENT_RESET = 25, // Called after combat, when the creature respawn and spawn.
144 SMART_EVENT_IC_LOS = 26, // HostilityMode, MaxRnage, CooldownMin, CooldownMax, PlayerOnly
145 SMART_EVENT_PASSENGER_BOARDED = 27, // CooldownMin, CooldownMax
146 SMART_EVENT_PASSENGER_REMOVED = 28, // CooldownMin, CooldownMax
147 SMART_EVENT_CHARMED = 29, // onRemove (0 - on apply, 1 - on remove)
148 SMART_EVENT_CHARMED_TARGET = 30, // NONE
149 SMART_EVENT_SPELLHIT_TARGET = 31, // SpellID, School, CooldownMin, CooldownMax
150 SMART_EVENT_DAMAGED = 32, // MinDmg, MaxDmg, CooldownMin, CooldownMax
151 SMART_EVENT_DAMAGED_TARGET = 33, // MinDmg, MaxDmg, CooldownMin, CooldownMax
152 SMART_EVENT_MOVEMENTINFORM = 34, // MovementType(any), PointID
153 SMART_EVENT_SUMMON_DESPAWNED = 35, // Entry, CooldownMin, CooldownMax
154 SMART_EVENT_CORPSE_REMOVED = 36, // NONE
155 SMART_EVENT_AI_INIT = 37, // NONE
156 SMART_EVENT_DATA_SET = 38, // Id, Value, CooldownMin, CooldownMax
157 SMART_EVENT_WAYPOINT_START = 39, // PointId(0any), pathID(0any)
158 SMART_EVENT_WAYPOINT_REACHED = 40, // PointId(0any), pathID(0any)
160 SMART_EVENT_TRANSPORT_ADDCREATURE = 42, // Entry (0 any)
162 SMART_EVENT_TRANSPORT_RELOCATE = 44, // PointId
163 SMART_EVENT_INSTANCE_PLAYER_ENTER = 45, // Team (0 any), CooldownMin, CooldownMax
164 SMART_EVENT_AREATRIGGER_ONTRIGGER = 46, // TriggerId(0 any)
165 SMART_EVENT_QUEST_ACCEPTED = 47, // none
167 SMART_EVENT_QUEST_COMPLETION = 49, // none
168 SMART_EVENT_QUEST_REWARDED = 50, // none
169 SMART_EVENT_QUEST_FAIL = 51, // none
170 SMART_EVENT_TEXT_OVER = 52, // GroupId from creature_text, creature entry who talks (0 any)
171 SMART_EVENT_RECEIVE_HEAL = 53, // MinHeal, MaxHeal, CooldownMin, CooldownMax
172 SMART_EVENT_JUST_SUMMONED = 54, // none
173 SMART_EVENT_WAYPOINT_PAUSED = 55, // PointId(0any), pathID(0any)
174 SMART_EVENT_WAYPOINT_RESUMED = 56, // PointId(0any), pathID(0any)
175 SMART_EVENT_WAYPOINT_STOPPED = 57, // PointId(0any), pathID(0any)
176 SMART_EVENT_WAYPOINT_ENDED = 58, // PointId(0any), pathID(0any)
178 SMART_EVENT_UPDATE = 60, // InitialMin, InitialMax, RepeatMin, RepeatMax
179 SMART_EVENT_LINK = 61, // INTERNAL USAGE, no params, used to link together multiple events, does not use any extra resources to iterate event lists needlessly
180 SMART_EVENT_GOSSIP_SELECT = 62, // menuID, actionID
181 SMART_EVENT_JUST_CREATED = 63, // none
182 SMART_EVENT_GOSSIP_HELLO = 64, // event_para_1 (only) 0 = no filter set, always execute action, 1 = GossipHello only filter set, skip action if reportUse, 2 = reportUse only filter set, skip action if GossipHello
183 SMART_EVENT_FOLLOW_COMPLETED = 65, // none
184 SMART_EVENT_EVENT_PHASE_CHANGE = 66, // event phase mask (<= SMART_EVENT_PHASE_ALL)
185 SMART_EVENT_IS_BEHIND_TARGET = 67, // min, max, repeatMin, repeatMax, rangeMin, rangeMax
186 SMART_EVENT_GAME_EVENT_START = 68, // game_event.Entry
187 SMART_EVENT_GAME_EVENT_END = 69, // game_event.Entry
188 SMART_EVENT_GO_STATE_CHANGED = 70, // go state
189 SMART_EVENT_GO_EVENT_INFORM = 71, // eventId
190 SMART_EVENT_ACTION_DONE = 72, // eventId (SharedDefines.EventId)
191 SMART_EVENT_ON_SPELLCLICK = 73, // clicker (unit)
192 SMART_EVENT_FRIENDLY_HEALTH_PCT = 74, // min, max, repeatMin, repeatMax, hpPct, range
193 SMART_EVENT_DISTANCE_CREATURE = 75, // guid, entry, distance, repeat
194 SMART_EVENT_DISTANCE_GAMEOBJECT = 76, // guid, entry, distance, repeat
195 SMART_EVENT_COUNTER_SET = 77, // id, value, cooldownMin, cooldownMax
196
197 SMART_EVENT_SCENE_START = 78, // don't use on 3.3.5a
198 SMART_EVENT_SCENE_TRIGGER = 79, // don't use on 3.3.5a
199 SMART_EVENT_SCENE_CANCEL = 80, // don't use on 3.3.5a
200 SMART_EVENT_SCENE_COMPLETE = 81, // don't use on 3.3.5a
201
202 SMART_EVENT_SUMMONED_UNIT_DIES = 82, // CreatureId(0 all), CooldownMin, CooldownMax
203
205
206 /* AC Custom Events */
208
209 SMART_EVENT_NEAR_PLAYERS = 101, // min, radius, first timer, repeatMin, repeatMax
210 SMART_EVENT_NEAR_PLAYERS_NEGATION = 102, // max, radius, first timer, repeatMin, repeatMax
211 SMART_EVENT_NEAR_UNIT = 103, // type (0: creature 1: gob), entry, count, range, timer
212 SMART_EVENT_NEAR_UNIT_NEGATION = 104, // type (0: creature 1: gob), entry, count, range, timer
213 SMART_EVENT_AREA_CASTING = 105, // min, max, repeatMin, repeatMax, rangeMin, rangeMax
214 SMART_EVENT_AREA_RANGE = 106, // min, max, repeatMin, repeatMax, rangeMin, rangeMax
215 SMART_EVENT_SUMMONED_UNIT_EVADE = 107, // CreatureId(0 all), CooldownMin, CooldownMax
216 SMART_EVENT_WAYPOINT_DATA_REACHED = 108, // PointId (0: any), pathId (0: any)
217 SMART_EVENT_WAYPOINT_DATA_ENDED = 109, // PointId (0: any), pathId (0: any)
218 SMART_EVENT_IS_IN_MELEE_RANGE = 110, // min, max, repeatMin, repeatMax, dist, invert (0: false, 1: true)
219
221};
@ SMART_EVENT_IC_LOS
Definition: SmartScriptMgr.h:144
@ SMART_EVENT_EVADE
Definition: SmartScriptMgr.h:125
@ SMART_EVENT_ACTION_DONE
Definition: SmartScriptMgr.h:190
@ SMART_EVENT_SUMMON_DESPAWNED
Definition: SmartScriptMgr.h:153
@ SMART_EVENT_SPELLHIT
Definition: SmartScriptMgr.h:126
@ SMART_EVENT_SCENE_START
Definition: SmartScriptMgr.h:197
@ SMART_EVENT_RECEIVE_EMOTE
Definition: SmartScriptMgr.h:140
@ SMART_EVENT_FRIENDLY_HEALTH_PCT
Definition: SmartScriptMgr.h:192
@ SMART_EVENT_QUEST_FAIL
Definition: SmartScriptMgr.h:169
@ SMART_EVENT_DATA_SET
Definition: SmartScriptMgr.h:156
@ SMART_EVENT_RECEIVE_HEAL
Definition: SmartScriptMgr.h:171
@ SMART_EVENT_AC_START
Definition: SmartScriptMgr.h:207
@ SMART_EVENT_TIMED_EVENT_TRIGGERED
Definition: SmartScriptMgr.h:177
@ SMART_EVENT_SCENE_COMPLETE
Definition: SmartScriptMgr.h:200
@ SMART_EVENT_CHARMED_TARGET
Definition: SmartScriptMgr.h:148
@ SMART_EVENT_NEAR_PLAYERS_NEGATION
Definition: SmartScriptMgr.h:210
@ SMART_EVENT_TARGET_MANA_PCT
Definition: SmartScriptMgr.h:136
@ SMART_EVENT_QUEST_COMPLETION
Definition: SmartScriptMgr.h:167
@ SMART_EVENT_JUST_CREATED
Definition: SmartScriptMgr.h:181
@ SMART_EVENT_HEALTH_PCT
Definition: SmartScriptMgr.h:120
@ SMART_EVENT_EVENT_PHASE_CHANGE
Definition: SmartScriptMgr.h:184
@ SMART_EVENT_AREA_CASTING
Definition: SmartScriptMgr.h:213
@ SMART_EVENT_AREATRIGGER_ONTRIGGER
Definition: SmartScriptMgr.h:164
@ SMART_EVENT_DISTANCE_GAMEOBJECT
Definition: SmartScriptMgr.h:194
@ SMART_EVENT_ON_SPELLCLICK
Definition: SmartScriptMgr.h:191
@ SMART_EVENT_MOVEMENTINFORM
Definition: SmartScriptMgr.h:152
@ SMART_EVENT_RANGE
Definition: SmartScriptMgr.h:127
@ SMART_EVENT_MANA_PCT
Definition: SmartScriptMgr.h:121
@ SMART_EVENT_NEAR_UNIT_NEGATION
Definition: SmartScriptMgr.h:212
@ SMART_EVENT_PASSENGER_REMOVED
Definition: SmartScriptMgr.h:146
@ SMART_EVENT_INSTANCE_PLAYER_ENTER
Definition: SmartScriptMgr.h:163
@ SMART_EVENT_LINK
Definition: SmartScriptMgr.h:179
@ SMART_EVENT_WAYPOINT_PAUSED
Definition: SmartScriptMgr.h:173
@ SMART_EVENT_WAYPOINT_DATA_ENDED
Definition: SmartScriptMgr.h:217
@ SMART_EVENT_REACHED_HOME
Definition: SmartScriptMgr.h:139
@ SMART_EVENT_TRANSPORT_ADDCREATURE
Definition: SmartScriptMgr.h:160
@ SMART_EVENT_REWARD_QUEST
Definition: SmartScriptMgr.h:138
@ SMART_EVENT_WAYPOINT_DATA_REACHED
Definition: SmartScriptMgr.h:216
@ SMART_EVENT_GO_EVENT_INFORM
Definition: SmartScriptMgr.h:189
@ SMART_EVENT_UPDATE_IC
Definition: SmartScriptMgr.h:118
@ SMART_EVENT_RESET
Definition: SmartScriptMgr.h:143
@ SMART_EVENT_SCENE_CANCEL
Definition: SmartScriptMgr.h:199
@ SMART_EVENT_IS_IN_MELEE_RANGE
Definition: SmartScriptMgr.h:218
@ SMART_EVENT_JUST_SUMMONED
Definition: SmartScriptMgr.h:172
@ SMART_EVENT_CHARMED
Definition: SmartScriptMgr.h:147
@ SMART_EVENT_AI_INIT
Definition: SmartScriptMgr.h:155
@ SMART_EVENT_WAYPOINT_START
Definition: SmartScriptMgr.h:157
@ SMART_EVENT_TC_END
Definition: SmartScriptMgr.h:204
@ SMART_EVENT_AREA_RANGE
Definition: SmartScriptMgr.h:214
@ SMART_EVENT_SPELLHIT_TARGET
Definition: SmartScriptMgr.h:149
@ SMART_EVENT_GAME_EVENT_START
Definition: SmartScriptMgr.h:186
@ SMART_EVENT_KILL
Definition: SmartScriptMgr.h:123
@ SMART_EVENT_TRANSPORT_REMOVE_PLAYER
Definition: SmartScriptMgr.h:161
@ SMART_EVENT_GOSSIP_HELLO
Definition: SmartScriptMgr.h:182
@ SMART_EVENT_GOSSIP_SELECT
Definition: SmartScriptMgr.h:180
@ SMART_EVENT_CORPSE_REMOVED
Definition: SmartScriptMgr.h:154
@ SMART_EVENT_SUMMONED_UNIT_EVADE
Definition: SmartScriptMgr.h:215
@ SMART_EVENT_PASSENGER_BOARDED
Definition: SmartScriptMgr.h:145
@ SMART_EVENT_SCENE_TRIGGER
Definition: SmartScriptMgr.h:198
@ SMART_EVENT_UPDATE
Definition: SmartScriptMgr.h:178
@ SMART_EVENT_TRANSPORT_ADDPLAYER
Definition: SmartScriptMgr.h:159
@ SMART_EVENT_WAYPOINT_ENDED
Definition: SmartScriptMgr.h:176
@ SMART_EVENT_IS_BEHIND_TARGET
Definition: SmartScriptMgr.h:185
@ SMART_EVENT_UPDATE_OOC
Definition: SmartScriptMgr.h:119
@ SMART_EVENT_AC_END
Definition: SmartScriptMgr.h:220
@ SMART_EVENT_ACCEPTED_QUEST
Definition: SmartScriptMgr.h:137
@ SMART_EVENT_COUNTER_SET
Definition: SmartScriptMgr.h:195
@ SMART_EVENT_FRIENDLY_MISSING_BUFF
Definition: SmartScriptMgr.h:134
@ SMART_EVENT_WAYPOINT_RESUMED
Definition: SmartScriptMgr.h:174
@ SMART_EVENT_WAYPOINT_REACHED
Definition: SmartScriptMgr.h:158
@ SMART_EVENT_TARGET_BUFFED
Definition: SmartScriptMgr.h:142
@ SMART_EVENT_RESPAWN
Definition: SmartScriptMgr.h:129
@ SMART_EVENT_QUEST_ACCEPTED
Definition: SmartScriptMgr.h:165
@ SMART_EVENT_FRIENDLY_HEALTH
Definition: SmartScriptMgr.h:132
@ SMART_EVENT_NEAR_UNIT
Definition: SmartScriptMgr.h:211
@ SMART_EVENT_QUEST_REWARDED
Definition: SmartScriptMgr.h:168
@ SMART_EVENT_TEXT_OVER
Definition: SmartScriptMgr.h:170
@ SMART_EVENT_DEATH
Definition: SmartScriptMgr.h:124
@ SMART_EVENT_TRANSPORT_RELOCATE
Definition: SmartScriptMgr.h:162
@ SMART_EVENT_GAME_EVENT_END
Definition: SmartScriptMgr.h:187
@ SMART_EVENT_DAMAGED
Definition: SmartScriptMgr.h:150
@ SMART_EVENT_FOLLOW_COMPLETED
Definition: SmartScriptMgr.h:183
@ SMART_EVENT_QUEST_OBJ_COMPLETION
Definition: SmartScriptMgr.h:166
@ SMART_EVENT_DISTANCE_CREATURE
Definition: SmartScriptMgr.h:193
@ SMART_EVENT_WAYPOINT_STOPPED
Definition: SmartScriptMgr.h:175
@ SMART_EVENT_SUMMONED_UNIT_DIES
Definition: SmartScriptMgr.h:202
@ SMART_EVENT_FRIENDLY_IS_CC
Definition: SmartScriptMgr.h:133
@ SMART_EVENT_GO_STATE_CHANGED
Definition: SmartScriptMgr.h:188
@ SMART_EVENT_OOC_LOS
Definition: SmartScriptMgr.h:128
@ SMART_EVENT_AGGRO
Definition: SmartScriptMgr.h:122
@ SMART_EVENT_NEAR_PLAYERS
Definition: SmartScriptMgr.h:209
@ SMART_EVENT_TARGET_HEALTH_PCT
Definition: SmartScriptMgr.h:130
@ SMART_EVENT_VICTIM_CASTING
Definition: SmartScriptMgr.h:131
@ SMART_EVENT_DAMAGED_TARGET
Definition: SmartScriptMgr.h:151
@ SMART_EVENT_HAS_AURA
Definition: SmartScriptMgr.h:141
@ SMART_EVENT_SUMMONED_UNIT
Definition: SmartScriptMgr.h:135

◆ 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 
63{
78
80};
@ SMART_EVENT_PHASE_COUNT
Definition: SmartScriptMgr.h:79
@ SMART_EVENT_PHASE_4
Definition: SmartScriptMgr.h:68
@ SMART_EVENT_PHASE_1
Definition: SmartScriptMgr.h:65
@ SMART_EVENT_PHASE_3
Definition: SmartScriptMgr.h:67
@ SMART_EVENT_PHASE_7
Definition: SmartScriptMgr.h:71
@ SMART_EVENT_PHASE_9
Definition: SmartScriptMgr.h:73
@ SMART_EVENT_PHASE_11
Definition: SmartScriptMgr.h:75
@ SMART_EVENT_PHASE_8
Definition: SmartScriptMgr.h:72
@ SMART_EVENT_PHASE_2
Definition: SmartScriptMgr.h:66
@ SMART_EVENT_PHASE_5
Definition: SmartScriptMgr.h:69
@ SMART_EVENT_PHASE_12
Definition: SmartScriptMgr.h:76
@ SMART_EVENT_PHASE_6
Definition: SmartScriptMgr.h:70
@ SMART_EVENT_PHASE_ALWAYS
Definition: SmartScriptMgr.h:64
@ SMART_EVENT_PHASE_10
Definition: SmartScriptMgr.h:74
@ SMART_EVENT_PHASE_MAX
Definition: SmartScriptMgr.h:77

◆ 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 
83{
98};
@ SMART_EVENT_PHASE_4_BIT
Definition: SmartScriptMgr.h:88
@ SMART_EVENT_PHASE_3_BIT
Definition: SmartScriptMgr.h:87
@ SMART_EVENT_PHASE_6_BIT
Definition: SmartScriptMgr.h:90
@ SMART_EVENT_PHASE_9_BIT
Definition: SmartScriptMgr.h:93
@ SMART_EVENT_PHASE_8_BIT
Definition: SmartScriptMgr.h:92
@ SMART_EVENT_PHASE_2_BIT
Definition: SmartScriptMgr.h:86
@ SMART_EVENT_PHASE_1_BIT
Definition: SmartScriptMgr.h:85
@ SMART_EVENT_PHASE_12_BIT
Definition: SmartScriptMgr.h:96
@ SMART_EVENT_PHASE_ALL
Definition: SmartScriptMgr.h:97
@ SMART_EVENT_PHASE_5_BIT
Definition: SmartScriptMgr.h:89
@ SMART_EVENT_PHASE_ALWAYS_BIT
Definition: SmartScriptMgr.h:84
@ SMART_EVENT_PHASE_10_BIT
Definition: SmartScriptMgr.h:94
@ SMART_EVENT_PHASE_11_BIT
Definition: SmartScriptMgr.h:95
@ SMART_EVENT_PHASE_7_BIT
Definition: SmartScriptMgr.h:91

◆ 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 
549{
554};
@ SMART_SCRIPT_RESPAWN_CONDITION_END
Definition: SmartScriptMgr.h:553
@ SMART_SCRIPT_RESPAWN_CONDITION_NONE
Definition: SmartScriptMgr.h:550
@ SMART_SCRIPT_RESPAWN_CONDITION_AREA
Definition: SmartScriptMgr.h:552
@ SMART_SCRIPT_RESPAWN_CONDITION_MAP
Definition: SmartScriptMgr.h:551

◆ SmartActionSummonCreatureFlags

enum class SmartActionSummonCreatureFlags
strong
Enumerator
None 
PersonalSpawn 
PreferUnit 
All 

◆ 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_TC_END 
SMART_TARGET_AC_START 
SMART_TARGET_PLAYER_WITH_AURA 
SMART_TARGET_RANDOM_POINT 
SMART_TARGET_ROLE_SELECTION 
SMART_TARGET_SUMMONED_CREATURES 
SMART_TARGET_INSTANCE_STORAGE 
SMART_TARGET_AC_END 
1519{
1520 SMART_TARGET_NONE = 0, // NONE
1521 SMART_TARGET_SELF = 1, // Self cast
1522 SMART_TARGET_VICTIM = 2, // Our current target (ie: highest aggro)
1523 SMART_TARGET_HOSTILE_SECOND_AGGRO = 3, // Second highest aggro, maxdist, playerOnly, powerType + 1, missing aura
1524 SMART_TARGET_HOSTILE_LAST_AGGRO = 4, // Dead last on aggro, maxdist, playerOnly, powerType + 1, missing aura
1525 SMART_TARGET_HOSTILE_RANDOM = 5, // Just any random target on our threat list, maxdist, playerOnly, powerType + 1, missing aura
1526 SMART_TARGET_HOSTILE_RANDOM_NOT_TOP = 6, // Any random target except top threat, maxdist, playerOnly, powerType + 1, missing aura
1527 SMART_TARGET_ACTION_INVOKER = 7, // Unit who caused this Event to occur
1528 SMART_TARGET_POSITION = 8, // use xyz from event params
1529 SMART_TARGET_CREATURE_RANGE = 9, // CreatureEntry(0any), minDist, maxDist, alive(0 - both, 1 - alive, 2 - dead)
1530 SMART_TARGET_CREATURE_GUID = 10, // guid, entry
1531 SMART_TARGET_CREATURE_DISTANCE = 11, // CreatureEntry(0any), maxDist, alive(0 - both, 1 - alive, 2 - dead)
1532 SMART_TARGET_STORED = 12, // id, uses pre-stored target(list)
1533 SMART_TARGET_GAMEOBJECT_RANGE = 13, // entry(0any), min, max
1534 SMART_TARGET_GAMEOBJECT_GUID = 14, // guid, entry
1535 SMART_TARGET_GAMEOBJECT_DISTANCE = 15, // entry(0any), maxDist
1536 SMART_TARGET_INVOKER_PARTY = 16, // includePets(0 - false, 1 - true)
1537 SMART_TARGET_PLAYER_RANGE = 17, // min, max, maxCount (maxCount by pussywizard), set target.o to 1 if u want to search for all in range if min, max fails
1538 SMART_TARGET_PLAYER_DISTANCE = 18, // maxDist
1539 SMART_TARGET_CLOSEST_CREATURE = 19, // CreatureEntry(0any), maxDist, dead?
1540 SMART_TARGET_CLOSEST_GAMEOBJECT = 20, // entry(0any), maxDist
1541 SMART_TARGET_CLOSEST_PLAYER = 21, // maxDist
1542 SMART_TARGET_ACTION_INVOKER_VEHICLE = 22, // Unit's vehicle who caused this Event to occur
1543 SMART_TARGET_OWNER_OR_SUMMONER = 23, // Unit's owner or summoner, Use Owner/Charmer of this unit
1544 SMART_TARGET_THREAT_LIST = 24, // All units on creature's threat list, maxdist, playerOnly
1545 SMART_TARGET_CLOSEST_ENEMY = 25, // maxDist, playerOnly
1546 SMART_TARGET_CLOSEST_FRIENDLY = 26, // maxDist, playerOnly
1547 SMART_TARGET_LOOT_RECIPIENTS = 27, // all players that have tagged this creature (for kill credit)
1548 SMART_TARGET_FARTHEST = 28, // maxDist, playerOnly, isInLos, minDist
1549 SMART_TARGET_VEHICLE_PASSENGER = 29, // seat number (vehicle can target it's own accessory)
1550
1551 SMART_TARGET_TC_END = 30, // placeholder
1552
1553 // AC-only SmartTargets:
1554
1555 SMART_TARGET_AC_START = 200, // placeholder
1556
1557 SMART_TARGET_PLAYER_WITH_AURA = 201, // spellId, negation, MaxDist, MinDist, set target.o to a number to random resize the list
1558 SMART_TARGET_RANDOM_POINT = 202, // range, amount (for summoning creature), self als middle (0/1) else use xyz
1559 SMART_TARGET_ROLE_SELECTION = 203, // Range Max, TargetMask (Tanks (1), Healer (2) Damage (4)), resize list
1560 SMART_TARGET_SUMMONED_CREATURES = 204, // Entry
1561 SMART_TARGET_INSTANCE_STORAGE = 205, // Instance data index, Type (creature (1), gameobject (2))
1562
1563 SMART_TARGET_AC_END = 206 // placeholder
1564};
@ SMART_TARGET_LOOT_RECIPIENTS
Definition: SmartScriptMgr.h:1547
@ SMART_TARGET_CLOSEST_CREATURE
Definition: SmartScriptMgr.h:1539
@ SMART_TARGET_CREATURE_DISTANCE
Definition: SmartScriptMgr.h:1531
@ SMART_TARGET_HOSTILE_RANDOM_NOT_TOP
Definition: SmartScriptMgr.h:1526
@ SMART_TARGET_INVOKER_PARTY
Definition: SmartScriptMgr.h:1536
@ SMART_TARGET_CLOSEST_FRIENDLY
Definition: SmartScriptMgr.h:1546
@ SMART_TARGET_CLOSEST_GAMEOBJECT
Definition: SmartScriptMgr.h:1540
@ SMART_TARGET_VEHICLE_PASSENGER
Definition: SmartScriptMgr.h:1549
@ SMART_TARGET_GAMEOBJECT_RANGE
Definition: SmartScriptMgr.h:1533
@ SMART_TARGET_CREATURE_GUID
Definition: SmartScriptMgr.h:1530
@ SMART_TARGET_PLAYER_RANGE
Definition: SmartScriptMgr.h:1537
@ SMART_TARGET_SUMMONED_CREATURES
Definition: SmartScriptMgr.h:1560
@ SMART_TARGET_VICTIM
Definition: SmartScriptMgr.h:1522
@ SMART_TARGET_GAMEOBJECT_DISTANCE
Definition: SmartScriptMgr.h:1535
@ SMART_TARGET_CREATURE_RANGE
Definition: SmartScriptMgr.h:1529
@ SMART_TARGET_CLOSEST_PLAYER
Definition: SmartScriptMgr.h:1541
@ SMART_TARGET_HOSTILE_RANDOM
Definition: SmartScriptMgr.h:1525
@ SMART_TARGET_GAMEOBJECT_GUID
Definition: SmartScriptMgr.h:1534
@ SMART_TARGET_HOSTILE_SECOND_AGGRO
Definition: SmartScriptMgr.h:1523
@ SMART_TARGET_OWNER_OR_SUMMONER
Definition: SmartScriptMgr.h:1543
@ SMART_TARGET_SELF
Definition: SmartScriptMgr.h:1521
@ SMART_TARGET_PLAYER_WITH_AURA
Definition: SmartScriptMgr.h:1557
@ SMART_TARGET_ROLE_SELECTION
Definition: SmartScriptMgr.h:1559
@ SMART_TARGET_ACTION_INVOKER
Definition: SmartScriptMgr.h:1527
@ SMART_TARGET_POSITION
Definition: SmartScriptMgr.h:1528
@ SMART_TARGET_HOSTILE_LAST_AGGRO
Definition: SmartScriptMgr.h:1524
@ SMART_TARGET_ACTION_INVOKER_VEHICLE
Definition: SmartScriptMgr.h:1542
@ SMART_TARGET_INSTANCE_STORAGE
Definition: SmartScriptMgr.h:1561
@ SMART_TARGET_FARTHEST
Definition: SmartScriptMgr.h:1548
@ SMART_TARGET_AC_END
Definition: SmartScriptMgr.h:1563
@ SMART_TARGET_AC_START
Definition: SmartScriptMgr.h:1555
@ SMART_TARGET_THREAT_LIST
Definition: SmartScriptMgr.h:1544
@ SMART_TARGET_CLOSEST_ENEMY
Definition: SmartScriptMgr.h:1545
@ SMART_TARGET_RANDOM_POINT
Definition: SmartScriptMgr.h:1558
@ SMART_TARGET_NONE
Definition: SmartScriptMgr.h:1520
@ SMART_TARGET_PLAYER_DISTANCE
Definition: SmartScriptMgr.h:1538
@ SMART_TARGET_TC_END
Definition: SmartScriptMgr.h:1551
@ SMART_TARGET_STORED
Definition: SmartScriptMgr.h:1532

◆ SMARTAI_TEMPLATE

Enumerator
SMARTAI_TEMPLATE_BASIC 
SMARTAI_TEMPLATE_CASTER 
SMARTAI_TEMPLATE_TURRET 
SMARTAI_TEMPLATE_PASSIVE 
SMARTAI_TEMPLATE_CAGED_GO_PART 
SMARTAI_TEMPLATE_CAGED_NPC_PART 
SMARTAI_TEMPLATE_END 
1508{
1509 SMARTAI_TEMPLATE_BASIC = 0, //nothing is preset
1510 SMARTAI_TEMPLATE_CASTER = 1, //spellid, repeatMin, repeatMax, range, manaPCT +JOIN: target_param1 as castFlag
1511 SMARTAI_TEMPLATE_TURRET = 2, //spellid, repeatMin, repeatMax +JOIN: target_param1 as castFlag
1513 SMARTAI_TEMPLATE_CAGED_GO_PART = 4, //creatureID, give credit at point end?,
1514 SMARTAI_TEMPLATE_CAGED_NPC_PART = 5, //gameObjectID, despawntime, run?, dist, TextGroupID
1516};
@ SMARTAI_TEMPLATE_CAGED_GO_PART
Definition: SmartScriptMgr.h:1513
@ SMARTAI_TEMPLATE_CAGED_NPC_PART
Definition: SmartScriptMgr.h:1514
@ SMARTAI_TEMPLATE_BASIC
Definition: SmartScriptMgr.h:1509
@ SMARTAI_TEMPLATE_END
Definition: SmartScriptMgr.h:1515
@ SMARTAI_TEMPLATE_CASTER
Definition: SmartScriptMgr.h:1510
@ SMARTAI_TEMPLATE_PASSIVE
Definition: SmartScriptMgr.h:1512
@ SMARTAI_TEMPLATE_TURRET
Definition: SmartScriptMgr.h:1511

◆ 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 
1770{
1781};
@ SMART_SCRIPT_TYPE_MASK_SPELL
Definition: SmartScriptMgr.h:1777
@ SMART_SCRIPT_TYPE_MASK_EVENT
Definition: SmartScriptMgr.h:1774
@ SMART_SCRIPT_TYPE_MASK_QUEST
Definition: SmartScriptMgr.h:1776
@ SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST
Definition: SmartScriptMgr.h:1780
@ SMART_SCRIPT_TYPE_MASK_CREATURE
Definition: SmartScriptMgr.h:1771
@ SMART_SCRIPT_TYPE_MASK_INSTANCE
Definition: SmartScriptMgr.h:1779
@ SMART_SCRIPT_TYPE_MASK_AREATRIGGER
Definition: SmartScriptMgr.h:1773
@ SMART_SCRIPT_TYPE_MASK_GOSSIP
Definition: SmartScriptMgr.h:1775
@ SMART_SCRIPT_TYPE_MASK_GAMEOBJECT
Definition: SmartScriptMgr.h:1772
@ SMART_SCRIPT_TYPE_MASK_TRANSPORT
Definition: SmartScriptMgr.h:1778

◆ SmartCastFlags

Enumerator
SMARTCAST_INTERRUPT_PREVIOUS 
SMARTCAST_TRIGGERED 
SMARTCAST_AURA_NOT_PRESENT 
SMARTCAST_COMBAT_MOVE 
SMARTCAST_THREATLIST_NOT_SINGLE 
SMARTCAST_TARGET_POWER_MANA 
1933{
1934 SMARTCAST_INTERRUPT_PREVIOUS = 0x001, // Interrupt any spell casting
1935 SMARTCAST_TRIGGERED = 0x002, // Triggered (this makes spell cost zero mana and have no cast time)
1936 //CAST_FORCE_CAST = 0x004, // Forces cast even if creature is out of mana or out of range
1937 //CAST_NO_MELEE_IF_OOM = 0x008, // Prevents creature from entering melee if out of mana or out of range
1938 //CAST_FORCE_TARGET_SELF = 0x010, // Forces the target to cast this spell on itself
1939 SMARTCAST_AURA_NOT_PRESENT = 0x020, // Only casts the spell if the target does not have an aura from the spell
1940 SMARTCAST_COMBAT_MOVE = 0x040, // Prevents combat movement if cast successful. Allows movement on range, OOM, LOS
1941 SMARTCAST_THREATLIST_NOT_SINGLE = 0x080, // Only cast if the source's threatlist is higher than one. This includes pets (see Skeram's True Fulfillment)
1942 SMARTCAST_TARGET_POWER_MANA = 0x100 // Only cast if the target has power type mana (e.g. Mana Drain)
1943};
@ SMARTCAST_TRIGGERED
Definition: SmartScriptMgr.h:1935
@ SMARTCAST_COMBAT_MOVE
Definition: SmartScriptMgr.h:1940
@ SMARTCAST_INTERRUPT_PREVIOUS
Definition: SmartScriptMgr.h:1934
@ SMARTCAST_AURA_NOT_PRESENT
Definition: SmartScriptMgr.h:1939
@ SMARTCAST_THREATLIST_NOT_SINGLE
Definition: SmartScriptMgr.h:1941
@ SMARTCAST_TARGET_POWER_MANA
Definition: SmartScriptMgr.h:1942

◆ SmartEventFlags

Enumerator
SMART_EVENT_FLAG_NOT_REPEATABLE 
SMART_EVENT_FLAG_DIFFICULTY_0 
SMART_EVENT_FLAG_DIFFICULTY_1 
SMART_EVENT_FLAG_DIFFICULTY_2 
SMART_EVENT_FLAG_DIFFICULTY_3 
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_DIFFICULTY_ALL 
SMART_EVENT_FLAGS_ALL 
SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL 
1913{
1914 SMART_EVENT_FLAG_NOT_REPEATABLE = 0x001, // Event can not repeat
1915 SMART_EVENT_FLAG_DIFFICULTY_0 = 0x002, // Event only occurs in instance difficulty 0
1916 SMART_EVENT_FLAG_DIFFICULTY_1 = 0x004, // Event only occurs in instance difficulty 1
1917 SMART_EVENT_FLAG_DIFFICULTY_2 = 0x008, // Event only occurs in instance difficulty 2
1918 SMART_EVENT_FLAG_DIFFICULTY_3 = 0x010, // Event only occurs in instance difficulty 3
1921 SMART_EVENT_FLAG_DEBUG_ONLY = 0x080, // Event only occurs in debug build
1922 SMART_EVENT_FLAG_DONT_RESET = 0x100, // Event will not reset in SmartScript::OnReset()
1923 SMART_EVENT_FLAG_WHILE_CHARMED = 0x200, // Event occurs even if AI owner is charmed
1924
1927
1928 // Temp flags, used only at runtime, never stored in DB
1929 SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL = 0x40000000, //Event occurs no matter what roll_chance_i(e.event.event_chance) returns.
1930};
@ SMART_EVENT_FLAG_RESERVED_5
Definition: SmartScriptMgr.h:1919
@ SMART_EVENT_FLAG_WHILE_CHARMED
Definition: SmartScriptMgr.h:1923
@ SMART_EVENT_FLAG_DIFFICULTY_ALL
Definition: SmartScriptMgr.h:1925
@ SMART_EVENT_FLAG_DIFFICULTY_3
Definition: SmartScriptMgr.h:1918
@ SMART_EVENT_FLAG_DONT_RESET
Definition: SmartScriptMgr.h:1922
@ SMART_EVENT_FLAG_DEBUG_ONLY
Definition: SmartScriptMgr.h:1921
@ SMART_EVENT_FLAGS_ALL
Definition: SmartScriptMgr.h:1926
@ SMART_EVENT_FLAG_RESERVED_6
Definition: SmartScriptMgr.h:1920
@ SMART_EVENT_FLAG_DIFFICULTY_2
Definition: SmartScriptMgr.h:1917
@ SMART_EVENT_FLAG_DIFFICULTY_1
Definition: SmartScriptMgr.h:1916
@ SMART_EVENT_FLAG_DIFFICULTY_0
Definition: SmartScriptMgr.h:1915
@ SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL
Definition: SmartScriptMgr.h:1929
@ SMART_EVENT_FLAG_NOT_REPEATABLE
Definition: SmartScriptMgr.h:1914

◆ SmartFollowType

Enumerator
FOLLOW_TYPE_CIRCLE 
FOLLOW_TYPE_SEMI_CIRCLE_BEHIND 
FOLLOW_TYPE_SEMI_CIRCLE_FRONT 
FOLLOW_TYPE_LINE 
FOLLOW_TYPE_COLUMN 
FOLLOW_TYPE_ANGULAR 
1946{
1947 FOLLOW_TYPE_CIRCLE = 1, // 360 degrees around leader, 90 degrees is the maximum angle
1948 FOLLOW_TYPE_SEMI_CIRCLE_BEHIND = 2, // 180 degrees behind leader
1949 FOLLOW_TYPE_SEMI_CIRCLE_FRONT = 3, // 180 degrees in front of leader
1950 FOLLOW_TYPE_LINE = 4, // front -> back -> front -> back
1951 FOLLOW_TYPE_COLUMN = 5, // left -> right -> left -> right
1952 FOLLOW_TYPE_ANGULAR = 6 // geese-like formation 135 and 225 degrees behind leader
1953};
@ FOLLOW_TYPE_CIRCLE
Definition: SmartScriptMgr.h:1947
@ FOLLOW_TYPE_SEMI_CIRCLE_BEHIND
Definition: SmartScriptMgr.h:1948
@ FOLLOW_TYPE_SEMI_CIRCLE_FRONT
Definition: SmartScriptMgr.h:1949
@ FOLLOW_TYPE_COLUMN
Definition: SmartScriptMgr.h:1951
@ FOLLOW_TYPE_ANGULAR
Definition: SmartScriptMgr.h:1952
@ FOLLOW_TYPE_LINE
Definition: SmartScriptMgr.h:1950

◆ 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_MAX 
1755{
1756 SMART_SCRIPT_TYPE_CREATURE = 0, //done
1767};
@ SMART_SCRIPT_TYPE_TIMED_ACTIONLIST
Definition: SmartScriptMgr.h:1765
@ SMART_SCRIPT_TYPE_MAX
Definition: SmartScriptMgr.h:1766
@ SMART_SCRIPT_TYPE_INSTANCE
Definition: SmartScriptMgr.h:1764
@ SMART_SCRIPT_TYPE_CREATURE
Definition: SmartScriptMgr.h:1756
@ SMART_SCRIPT_TYPE_GOSSIP
Definition: SmartScriptMgr.h:1760
@ SMART_SCRIPT_TYPE_GAMEOBJECT
Definition: SmartScriptMgr.h:1757
@ SMART_SCRIPT_TYPE_AREATRIGGER
Definition: SmartScriptMgr.h:1758
@ SMART_SCRIPT_TYPE_SPELL
Definition: SmartScriptMgr.h:1762
@ SMART_SCRIPT_TYPE_TRANSPORT
Definition: SmartScriptMgr.h:1763
@ SMART_SCRIPT_TYPE_EVENT
Definition: SmartScriptMgr.h:1759
@ SMART_SCRIPT_TYPE_QUEST
Definition: SmartScriptMgr.h:1761

◆ SmartTargetRoleFlags

Enumerator
SMART_TARGET_ROLE_FLAG_TANKS 
SMART_TARGET_ROLE_FLAG_HEALERS 
SMART_TARGET_ROLE_FLAG_DAMAGERS 
1748{
1752};
@ SMART_TARGET_ROLE_FLAG_HEALERS
Definition: SmartScriptMgr.h:1750
@ SMART_TARGET_ROLE_FLAG_TANKS
Definition: SmartScriptMgr.h:1749
@ SMART_TARGET_ROLE_FLAG_DAMAGERS
Definition: SmartScriptMgr.h:1751

Function Documentation

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( SmartActionSummonCreatureFlags  )

Variable Documentation

◆ SmartAIEventMask

const uint32 SmartAIEventMask[SMART_EVENT_AC_END][2]

◆ SmartAITypeMask

◆ SmartPhaseMask