58 if (spell &&
sSpellMgr->GetSpellInfo(spell))
140 for (
auto itr =
_spells.begin(); itr !=
_spells.end(); ++itr, ++count)
322 for (
auto const& [i, vehicleSeat] : vehicleKit->Seats)
330 player->ExitVehicle();
#define VEHICLE_CONDITION_CHECK_TIME
#define VEHICLE_DISMISS_TIME
@ CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE
AISpellInfoType * GetAISpellInfo(uint32 i)
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
#define TC_LOG_ERROR(filterType__,...)
static int32 Permissible(Creature const *creature)
void UpdateAI(uint32) override
void UpdateAI(uint32 diff) override
void InitializeAI() override
void JustEngagedWith(Unit *) override
void SpellInterrupted(uint32 spellId, uint32 unTimeMs) override
void InitializeAI() override
void JustDied(Unit *killer) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
uint32 m_spells[MAX_CREATURE_SPELLS]
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
std::string ToString() const
static ObjectGuid GetGUID(Object const *o)
static Player * ToPlayer(Object *o)
float GetMaxRange(bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
float GetMinRange(bool positive=false) const
void DoMeleeAttackIfReady()
virtual void InitializeAI()
bool DoSpellAttackIfReady(uint32 spell)
static AISpellInfoType * AISpellInfo
SpellCastResult DoCast(uint32 spellId)
bool HasBreakableByDamageCrowdControlAura(Unit *excludeCasterChannel=nullptr) const
bool IsWithinCombatRange(Unit const *obj, float dist2compare) const
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
Unit * EnsureVictim() const
bool Attack(Unit *victim, bool meleeAttack)
bool HasUnitState(const uint32 f) const
Vehicle * GetVehicleKit() const
int32 GetCurrentSpellCastTime(uint32 spell_id) const
bool IsVehicleInUse() const
Returns information whether the vehicle is currently used by any unit.
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsNeutralToAll() const
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
ArcherAI(Creature *creature)
void UpdateAI(uint32 diff) override
void AttackStart(Unit *who) override
TurretAI(Creature *creature)
bool CanAIAttack(Unit const *who) const override
void UpdateAI(uint32 diff) override
void AttackStart(Unit *who) override
static int32 Permissible(Creature const *creature)
void UpdateAI(uint32 diff) override
void OnCharmed(bool isNew) override
VehicleAI(Creature *creature)
void CheckConditions(uint32 diff)