56 {340.15f, 58.65f, 17.71f},
57 {388.09f, 31.54f, 20.18f},
58 {388.18f, -32.85f, 20.18f},
59 {340.29f, -60.19f, 17.72f},
60 {332.0f, 0.01f, 39.0f},
61 {331.0f, 0.01f, -2.39f}
310 if (
me->
IsWithinDist3d(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 5.0f))
313 me->
UpdatePosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f);
328 for (
uint8 i = 0; i < 2; ++i)
505 int32 AlarHealth =
int32(Alar->GetHealth()) -
int32(Alar->CountPctFromMaxHealth(3));
507 Alar->SetHealth(AlarHealth);
TC_GAME_API bool InstanceHasScript(WorldObject const *obj, char const *scriptName)
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
uint32 urand(uint32 min, uint32 max)
#define RegisterSpellScript(spell_script)
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectPeriodicFn(F, I, N)
@ UNIT_FLAG_NON_ATTACKABLE
uint32 const flameQuillsSpells[]
@ CREATURE_FLAME_PATCH_ALAR
static float waypoint[6][3]
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
Unit * GetUnitOwner() const
void JustEngagedWith(Unit *who) override
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
void setDeathState(DeathState s) override
void SetObjectScale(float scale) override
bool IsEngaged() const override
void SetTarget(ObjectGuid const &guid) override
void SetDisplayId(uint32 displayId, bool setNative=false) override
Unit * SelectNearestTargetInAttackDistance(float dist=0) const
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static ObjectGuid const Empty
float GetObjectScale() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
bool IsWithinMeleeRange(Unit const *obj) const
void SetHealth(uint64 val)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void SetFaction(uint32 faction) override
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool IsNonMeleeSpellCast(bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetUninteractible(bool apply)
void SetBoundingRadius(float boundingRadius)
bool IsThreatened() const
virtual bool UpdatePosition(float x, float y, float z, float ang, bool teleport=false)
uint32 GetNativeDisplayId() const
uint32 GetFaction() const override
void setAttackTimer(WeaponAttackType type, uint32 time)
float GetSpeedRate(UnitMoveType mtype) const
void SetSpeedRate(UnitMoveType mtype, float rate)
void SetLevel(uint8 lvl, bool sendUpdate=true)
void SetUnitFlag(UnitFlags flags)
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
void KillSelf(bool durabilityLoss=true, bool skipSettingDeathState=false)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveUnitFlag(UnitFlags flags)
bool IsWithinDist3d(float x, float y, float z, float dist) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
void setActive(bool isActiveObject)
void PeriodicTick(AuraEffect const *aurEff)
bool Validate(SpellInfo const *) override
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void AttackStartNoMove(Unit *target)
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void MoveInLineOfSight(Unit *) override
boss_alar(Creature *creature)
uint32 Platforms_Move_Timer
void MovementInform(uint32 type, uint32) override
void JustSummoned(Creature *summon) override
float DefaultMoveSpeedRate
void AttackStart(Unit *who) override
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32) override
void JustEngagedWith(Unit *) override
InstanceScript * instance
void DamageTaken(Unit *killer, uint32 &damage, DamageEffectType, SpellInfo const *) override
void EnterEvadeMode(EvadeReason) override
npc_ember_of_alar(Creature *creature)
void JustEngagedWith(Unit *) override
void MoveInLineOfSight(Unit *) override
npc_flame_patch_alar(Creature *creature)
void UpdateAI(uint32) override
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
#define RegisterTheEyeCreatureAI(ai_name)