TrinityCore
|
#include <SmartScript.h>
Public Types | |
typedef std::unordered_map< uint32, uint32 > | CounterMap |
Public Member Functions | |
SmartScript () | |
~SmartScript () | |
void | OnInitialize (WorldObject *obj, AreaTriggerEntry const *at=nullptr, SceneTemplate const *scene=nullptr, Quest const *qst=nullptr, uint32 evnt=0) |
void | GetScript () |
void | FillScript (SmartAIEventList e, WorldObject *obj, AreaTriggerEntry const *at, SceneTemplate const *scene, Quest const *quest, uint32 event=0) |
void | ProcessEventsFor (SMART_EVENT e, Unit *unit=nullptr, uint32 var0=0, uint32 var1=0, bool bvar=false, SpellInfo const *spell=nullptr, GameObject *gob=nullptr, std::string const &varString="") |
void | ProcessEvent (SmartScriptHolder &e, Unit *unit=nullptr, uint32 var0=0, uint32 var1=0, bool bvar=false, SpellInfo const *spell=nullptr, GameObject *gob=nullptr, std::string const &varString="") |
bool | CheckTimer (SmartScriptHolder const &e) const |
void | UpdateTimer (SmartScriptHolder &e, uint32 const diff) |
void | ProcessAction (SmartScriptHolder &e, Unit *unit=nullptr, uint32 var0=0, uint32 var1=0, bool bvar=false, SpellInfo const *spell=nullptr, GameObject *gob=nullptr, std::string const &varString="") |
void | ProcessTimedAction (SmartScriptHolder &e, uint32 const &min, uint32 const &max, Unit *unit=nullptr, uint32 var0=0, uint32 var1=0, bool bvar=false, SpellInfo const *spell=nullptr, GameObject *gob=nullptr, std::string const &varString="") |
void | GetTargets (ObjectVector &targets, SmartScriptHolder const &e, WorldObject *invoker=nullptr) const |
void | GetWorldObjectsInDist (ObjectVector &objects, float dist) const |
void | SetPathId (uint32 id) |
uint32 | GetPathId () const |
WorldObject * | GetBaseObject () const |
WorldObject * | GetBaseObjectOrUnitInvoker (Unit *invoker) |
bool | HasAnyEventWithFlag (uint32 flag) const |
void | OnUpdate (const uint32 diff) |
void | OnMoveInLineOfSight (Unit *who) |
Unit * | DoSelectLowestHpFriendly (float range, uint32 MinHPDiff) const |
Unit * | DoSelectLowestHpPercentFriendly (float range, uint32 minHpPct, uint32 maxHpPct) const |
void | DoFindFriendlyCC (std::vector< Creature * > &creatures, float range) const |
void | DoFindFriendlyMissingBuff (std::vector< Creature * > &creatures, float range, uint32 spellid) const |
Unit * | DoFindClosestFriendlyInRange (float range, bool playerOnly) const |
bool | IsSmart (Creature *c, bool silent=false) const |
bool | IsSmart (GameObject *g, bool silent=false) const |
bool | IsSmart (bool silent=false) const |
void | StoreTargetList (ObjectVector const &targets, uint32 id) |
void | AddToStoredTargetList (ObjectVector const &targets, uint32 id) |
ObjectVector const * | GetStoredTargetVector (uint32 id, WorldObject const &ref) const |
void | StoreCounter (uint32 id, uint32 value, uint32 reset) |
uint32 | GetCounterValue (uint32 id) const |
GameObject * | FindGameObjectNear (WorldObject *searchObject, ObjectGuid::LowType guid) const |
Creature * | FindCreatureNear (WorldObject *searchObject, ObjectGuid::LowType guid) const |
void | OnReset () |
void | ResetBaseObject () |
void | SetTimedActionList (SmartScriptHolder &e, uint32 entry, Unit *invoker, uint32 startFromEventId=0) |
Unit * | GetLastInvoker (Unit *invoker=nullptr) const |
Static Public Member Functions | |
static void | RecalcTimer (SmartScriptHolder &e, uint32 min, uint32 max) |
static void | InitTimer (SmartScriptHolder &e) |
static SmartScriptHolder | CreateSmartEvent (SMART_EVENT e, uint32 event_flags, uint32 event_param1, uint32 event_param2, uint32 event_param3, uint32 event_param4, uint32 event_param5, SMART_ACTION action, uint32 action_param1, uint32 action_param2, uint32 action_param3, uint32 action_param4, uint32 action_param5, uint32 action_param6, uint32 action_param7, SMARTAI_TARGETS t, uint32 target_param1, uint32 target_param2, uint32 target_param3, uint32 target_param4, uint32 phaseMask) |
static bool | IsUnit (WorldObject *obj) |
static bool | IsPlayer (WorldObject *obj) |
static bool | IsCreature (WorldObject *obj) |
static bool | IsCharmedCreature (WorldObject *obj) |
static bool | IsGameObject (WorldObject *obj) |
Public Attributes | |
ObjectGuid | mLastInvoker |
CounterMap | mCounterList |
Private Member Functions | |
void | IncPhase (uint32 p) |
void | DecPhase (uint32 p) |
void | SetPhase (uint32 p) |
bool | IsInPhase (uint32 p) const |
void | SortEvents (SmartAIEventList &events) |
void | RaisePriority (SmartScriptHolder &e) |
void | RetryLater (SmartScriptHolder &e, bool ignoreChanceRoll=false) |
void | InstallEvents () |
void | RemoveStoredEvent (uint32 id) |
Static Private Attributes | |
static constexpr uint32 | MAX_NESTED_EVENTS = 10 |
Definition at line 35 of file SmartScript.h.
typedef std::unordered_map<uint32, uint32> SmartScript::CounterMap |
Definition at line 96 of file SmartScript.h.
SmartScript::SmartScript | ( | ) |
Definition at line 48 of file SmartScript.cpp.
SmartScript::~SmartScript | ( | ) |
Definition at line 72 of file SmartScript.cpp.
void SmartScript::AddToStoredTargetList | ( | ObjectVector const & | targets, |
uint32 | id | ||
) |
bool SmartScript::CheckTimer | ( | SmartScriptHolder const & | e | ) | const |
Definition at line 3706 of file SmartScript.cpp.
|
static |
Definition at line 2550 of file SmartScript.cpp.
|
private |
Definition at line 4230 of file SmartScript.cpp.
Unit * SmartScript::DoFindClosestFriendlyInRange | ( | float | range, |
bool | playerOnly | ||
) | const |
Definition at line 4163 of file SmartScript.cpp.
void SmartScript::DoFindFriendlyCC | ( | std::vector< Creature * > & | creatures, |
float | range | ||
) | const |
Definition at line 4143 of file SmartScript.cpp.
void SmartScript::DoFindFriendlyMissingBuff | ( | std::vector< Creature * > & | creatures, |
float | range, | ||
uint32 | spellid | ||
) | const |
Definition at line 4153 of file SmartScript.cpp.
Unit * SmartScript::DoSelectLowestHpPercentFriendly | ( | float | range, |
uint32 | minHpPct, | ||
uint32 | maxHpPct | ||
) | const |
Definition at line 4131 of file SmartScript.cpp.
void SmartScript::FillScript | ( | SmartAIEventList | e, |
WorldObject * | obj, | ||
AreaTriggerEntry const * | at, | ||
SceneTemplate const * | scene, | ||
Quest const * | quest, | ||
uint32 | event = 0 |
||
) |
Definition at line 3909 of file SmartScript.cpp.
Creature * SmartScript::FindCreatureNear | ( | WorldObject * | searchObject, |
ObjectGuid::LowType | guid | ||
) | const |
Definition at line 171 of file SmartScript.cpp.
GameObject * SmartScript::FindGameObjectNear | ( | WorldObject * | searchObject, |
ObjectGuid::LowType | guid | ||
) | const |
Definition at line 162 of file SmartScript.cpp.
WorldObject * SmartScript::GetBaseObject | ( | ) | const |
WorldObject * SmartScript::GetBaseObjectOrUnitInvoker | ( | Unit * | invoker | ) |
Definition at line 3751 of file SmartScript.cpp.
Definition at line 4212 of file SmartScript.cpp.
|
inline |
void SmartScript::GetScript | ( | ) |
Definition at line 3953 of file SmartScript.cpp.
ObjectVector const * SmartScript::GetStoredTargetVector | ( | uint32 | id, |
WorldObject const & | ref | ||
) | const |
void SmartScript::GetTargets | ( | ObjectVector & | targets, |
SmartScriptHolder const & | e, | ||
WorldObject * | invoker = nullptr |
||
) | const |
Definition at line 2583 of file SmartScript.cpp.
void SmartScript::GetWorldObjectsInDist | ( | ObjectVector & | objects, |
float | dist | ||
) | const |
Definition at line 2996 of file SmartScript.cpp.
|
inline |
Definition at line 60 of file SmartScript.h.
|
private |
Definition at line 4224 of file SmartScript.cpp.
|
static |
Definition at line 3583 of file SmartScript.cpp.
|
private |
|
static |
Definition at line 3771 of file SmartScript.cpp.
|
static |
Definition at line 3766 of file SmartScript.cpp.
|
static |
Definition at line 3782 of file SmartScript.cpp.
|
private |
|
static |
Definition at line 3761 of file SmartScript.cpp.
bool SmartScript::IsSmart | ( | bool | silent = false | ) | const |
bool SmartScript::IsSmart | ( | Creature * | c, |
bool | silent = false |
||
) | const |
Definition at line 76 of file SmartScript.cpp.
bool SmartScript::IsSmart | ( | GameObject * | g, |
bool | silent = false |
||
) | const |
|
static |
Definition at line 3756 of file SmartScript.cpp.
void SmartScript::OnInitialize | ( | WorldObject * | obj, |
AreaTriggerEntry const * | at = nullptr , |
||
SceneTemplate const * | scene = nullptr , |
||
Quest const * | qst = nullptr , |
||
uint32 | evnt = 0 |
||
) |
Definition at line 3998 of file SmartScript.cpp.
void SmartScript::OnMoveInLineOfSight | ( | Unit * | who | ) |
Definition at line 4109 of file SmartScript.cpp.
void SmartScript::OnReset | ( | ) |
Definition at line 185 of file SmartScript.cpp.
void SmartScript::OnUpdate | ( | const uint32 | diff | ) |
Definition at line 3787 of file SmartScript.cpp.
void SmartScript::ProcessAction | ( | SmartScriptHolder & | e, |
Unit * | unit = nullptr , |
||
uint32 | var0 = 0 , |
||
uint32 | var1 = 0 , |
||
bool | bvar = false , |
||
SpellInfo const * | spell = nullptr , |
||
GameObject * | gob = nullptr , |
||
std::string const & | varString = "" |
||
) |
Definition at line 266 of file SmartScript.cpp.
void SmartScript::ProcessEvent | ( | SmartScriptHolder & | e, |
Unit * | unit = nullptr , |
||
uint32 | var0 = 0 , |
||
uint32 | var1 = 0 , |
||
bool | bvar = false , |
||
SpellInfo const * | spell = nullptr , |
||
GameObject * | gob = nullptr , |
||
std::string const & | varString = "" |
||
) |
Definition at line 3007 of file SmartScript.cpp.
void SmartScript::ProcessEventsFor | ( | SMART_EVENT | e, |
Unit * | unit = nullptr , |
||
uint32 | var0 = 0 , |
||
uint32 | var1 = 0 , |
||
bool | bvar = false , |
||
SpellInfo const * | spell = nullptr , |
||
GameObject * | gob = nullptr , |
||
std::string const & | varString = "" |
||
) |
Definition at line 240 of file SmartScript.cpp.
void SmartScript::ProcessTimedAction | ( | SmartScriptHolder & | e, |
uint32 const & | min, | ||
uint32 const & | max, | ||
Unit * | unit = nullptr , |
||
uint32 | var0 = 0 , |
||
uint32 | var1 = 0 , |
||
bool | bvar = false , |
||
SpellInfo const * | spell = nullptr , |
||
GameObject * | gob = nullptr , |
||
std::string const & | varString = "" |
||
) |
Definition at line 2538 of file SmartScript.cpp.
|
private |
|
static |
Definition at line 3602 of file SmartScript.cpp.
|
private |
void SmartScript::ResetBaseObject | ( | ) |
Definition at line 206 of file SmartScript.cpp.
|
private |
Definition at line 3898 of file SmartScript.cpp.
|
inline |
|
private |
void SmartScript::SetTimedActionList | ( | SmartScriptHolder & | e, |
uint32 | entry, | ||
Unit * | invoker, | ||
uint32 | startFromEventId = 0 |
||
) |
Definition at line 4175 of file SmartScript.cpp.
|
private |
Definition at line 138 of file SmartScript.cpp.
void SmartScript::StoreTargetList | ( | ObjectVector const & | targets, |
uint32 | id | ||
) |
void SmartScript::UpdateTimer | ( | SmartScriptHolder & | e, |
uint32 const | diff | ||
) |
Definition at line 3609 of file SmartScript.cpp.
|
private |
Definition at line 145 of file SmartScript.h.
|
private |
Definition at line 122 of file SmartScript.h.
|
private |
Definition at line 125 of file SmartScript.h.
|
private |
Definition at line 118 of file SmartScript.h.
|
private |
Definition at line 119 of file SmartScript.h.
|
private |
Definition at line 115 of file SmartScript.h.
|
private |
Definition at line 140 of file SmartScript.h.
|
staticconstexprprivate |
Definition at line 143 of file SmartScript.h.
CounterMap SmartScript::mCounterList |
Definition at line 97 of file SmartScript.h.
|
private |
Definition at line 137 of file SmartScript.h.
|
private |
Definition at line 116 of file SmartScript.h.
|
private |
Definition at line 117 of file SmartScript.h.
|
private |
Definition at line 127 of file SmartScript.h.
|
private |
Definition at line 111 of file SmartScript.h.
|
private |
Definition at line 138 of file SmartScript.h.
|
private |
Definition at line 112 of file SmartScript.h.
ObjectGuid SmartScript::mLastInvoker |
Definition at line 95 of file SmartScript.h.
|
private |
Definition at line 134 of file SmartScript.h.
|
private |
Definition at line 139 of file SmartScript.h.
|
private |
Definition at line 129 of file SmartScript.h.
|
private |
Definition at line 131 of file SmartScript.h.
|
private |
Definition at line 126 of file SmartScript.h.
|
private |
Definition at line 130 of file SmartScript.h.
|
private |
Definition at line 135 of file SmartScript.h.
|
private |
Definition at line 133 of file SmartScript.h.
|
private |
Definition at line 113 of file SmartScript.h.
|
private |
Definition at line 114 of file SmartScript.h.
|
private |
Definition at line 136 of file SmartScript.h.
|
private |
Definition at line 120 of file SmartScript.h.
|
private |
Definition at line 124 of file SmartScript.h.
|
private |
Definition at line 123 of file SmartScript.h.
|
private |
Definition at line 121 of file SmartScript.h.