#define EXTRA_CELL_SEARCH_RADIUS
Difficulty GetDifficultyID() const
std::string ToString() const
static ObjectGuid GetGUID(Object const *o)
float GetMaxRange(bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
void UpdateAI(uint32 diff) override
static int32 Permissible(Creature const *creature)
TotemAI(Creature *creature, uint32 scriptId={})
void AttackStart(Unit *victim) override
uint32 GetSpell(uint8 slot=0) const
TotemType GetTotemType() const
bool isTargetableForAttack(bool checkFakeDeath=true) const
bool IsNonMeleeSpellCast(bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
Unit * GetCharmerOrOwnerOrSelf() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool CanSeeOrDetect(WorldObject const *obj, bool implicitDetect=false, bool distanceCheck=false, bool checkAlert=false) const
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
bool IsFriendlyTo(WorldObject const *target) const
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
static void VisitAllObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)