204 Position walkDest(destX, destY, destZ);
250 Position spawnVisualDest(destX, destY, destZ);
283 { 879.79865f, 1222.6233f, 56.47815f },
284 { 856.184f, 1232.5435f, 56.52007f },
285 { 859.34204f, 1238.0243f, 56.520065f },
286 { 857.8333f, 1220.6545f, 56.468567f },
287 { 876.17365f, 1240.2848f, 56.409615f },
288 { 864.25867f, 1240.5903f, 56.520065f },
289 { 863.1042f, 1218.0591f, 56.468765f }
@ ENCOUNTER_FRAME_DISENGAGE
#define RegisterSpellScript(spell_script)
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define SpellEffectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ ANIMKIT_BLOOD_EFFIGY_DEATH
@ SAY_ANNOUNCE_BLOOD_MIRROR
void AddSC_boss_elder_leaxa()
@ SPELL_CREEPING_ROT_SUMMON
@ SPELL_CREEPING_ROT_SPAWN_VISUAL
@ SPELL_BLOOD_MIRROR_MISSILE
@ SPELL_CREEPING_ROT_PERIODIC_DMG
@ SPELL_BLOOD_MIRROR_SELECTOR
@ SPELL_CREEPING_ROT_SELECTOR
@ SPELL_CREEPING_ROT_AURA
static Position const MirrorSpawnPositions[]
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Creature * GetCreature(uint32 type)
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static Creature * ToCreature(Object *o)
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
HookList< HitHandler > AfterHit
Unit * GetHitUnit() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true)
bool HasUnitState(const uint32 f) const
void SetInFront(WorldObject const *target)
void SetAIAnimKitId(uint16 animKitId)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleHit(SpellEffIndex)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleHit(SpellEffIndex)
static constexpr float SPAWN_DISTANCE
bool Validate(SpellInfo const *spellInfo) override
void HandleHit(SpellEffIndex)
bool Validate(SpellInfo const *) override
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetOrientation() const
constexpr float GetPositionZ() const
bool IsHeroicOrHigher() const
void EnterEvadeMode(EvadeReason) override
boss_elder_leaxa(Creature *creature)
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void JustDied(Unit *) override
npc_blood_effigy(Creature *creature)
void JustAppeared() override
npc_blood_wave_stalker(Creature *creature)
static constexpr float WALK_DISTANCE
#define RegisterUnderrotCreatureAI(ai_name)