96 { -1124.4688f, 2294.139f, 747.2801f },
97 { -1126.8889f, 2307.7466f, 743.11414f },
98 { -1124.342f, 2292.5173f, 747.76434f },
99 { -1131.6841f, 2304.0347f, 743.94354f },
100 { -1131.2916f, 2282.3438f, 743.99896f }
105 { -1110.4965f, 2259.4306f, 741.8436f, 0.261799f },
106 { -1110.5451f, 2325.2829f, 741.8436f, 0.785398f }
254 static constexpr float MAX_DISTANCE = 116.0f;
304 static constexpr float SELECT_RANGE_TAINTED_BLOOD = 300.0f;
446 .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
447 .TriggeringAura = aurEff
539 .TriggeringAura = aurEff
630 .TriggeringAura = aurEff
@ ENCOUNTER_FRAME_DISENGAGE
@ TEMPSUMMON_MANUAL_DESPAWN
float frand(float min, float max)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_SRC_AREA_ENTRY
@ SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT
@ SPELL_EFFECT_SCHOOL_DAMAGE
@ AURA_EFFECT_HANDLE_REAPPLY
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
@ SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
@ TRIGGERED_DONT_REPORT_CAST_ERROR
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define SpellDestinationTargetSelectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
#define RegisterAtalDazarCreatureAI(ai_name)
constexpr Position SpiritOfGoldSpawnPosition
void AddSC_boss_priestess_alun_za()
@ EVENT_CHECK_TAINTED_BLOOD
@ SAY_GILDED_CLAWS_WARNING
@ SAY_TRANSFUSION_WARNING
@ AREATRIGGER_TAINTED_BLOOD
@ SPELL_TAINTED_BLOOD_SELECTOR
@ SPELL_CORRUPTED_GOLD_DAMAGE
@ SPELL_MOLTEN_GOLD_MISSILE
@ SPELL_TRANSFUSION_DAMAGE
@ SPELL_TAINTED_BLOOD_DAMAGE
@ SPELL_FATALLY_CORRUPTED
@ SPELL_TAINTED_BLOOD_MISSILE
constexpr Position CorruptedGoldSpawnPosition[2]
constexpr Position RitualPosition[5]
int32 GetAmountAsInt() const
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
uint8 GetStackAmount() const
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
bool IsInBoundary(Position const *who=nullptr) const
void SetBoundary(CreatureBoundary const *boundary, bool negativeBoundaries=false)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
CreatureBoundary const * GetBossBoundary(uint32 id) const
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={}, Optional< MovementFadeObject > fadeObject={}, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void SetEffectValue(SpellEffectValue value)
SpellEffectValue GetEffectValue() const
HookList< DestinationTargetSelectHandler > OnDestinationTargetSelect
int32 GetEffectValueAsInt() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
TaskContext & Repeat(TaskScheduler::duration_t duration)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
int32 ModifyPower(Powers power, int32 val, bool withPowerUpdate=true)
void SetPower(Powers power, int32 val, bool withPowerUpdate=true)
MotionMaster * GetMotionMaster()
int32 GetPower(Powers power) const
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void SetPowerType(Powers power, bool sendUpdate=true, bool onInit=false)
void MovePosition(Position &pos, float dist, float angle, float maxHeightChange=6.0f) 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 UpdateGroundPositionZ(float x, float y, float &z) const
float GetDistance(WorldObject const *obj) const
void SummonCreatureGroup(uint8 group, std::list< TempSummon * > *list=nullptr)
static void SelectTarget(SpellScript const &, std::list< WorldObject * > &targets)
void HandleScript(SpellEffIndex) const
static constexpr float DestMaxY
static constexpr float DestMaxX
bool Validate(SpellInfo const *) override
static constexpr float DestMinX
void HandleScript(SpellEffIndex) const
static constexpr float DestMinY
void OnStackChange(AuraEffect const *aurEff, AuraEffectHandleModes) const
void OnPeriodic(AuraEffect const *aurEff) const
void HandleScript(SpellEffIndex) const
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *aurEff, AuraEffectHandleModes) const
static void SetDest(SpellScript const &, SpellDestination &dest)
static void SetDest(SpellScript const &, SpellDestination &dest)
static void FilterTargets(SpellScript const &, std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *aurEff, AuraEffectHandleModes) const
void HandleHitTarget(SpellEffIndex)
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleTransfusion(SpellEffIndex) const
TC_GAME_API AreaTrigger * GetAreaTrigger(WorldObject const &u, ObjectGuid const &guid)
auto SelectRandomContainerElement(C const &container) -> std::add_const_t< decltype(*std::ranges::begin(container))> &
void RandomResize(C &container, std::size_t requestedSize)
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
constexpr float GetOrientation() const
bool IsMythicPlus() const
bool IsHeroicOrHigher() const
void Relocate(Position const &pos)
void OnUnitEnter(Unit *unit) override
at_priestess_alun_za_corrupted_gold(AreaTrigger *areatrigger)
at_priestess_alun_za_tainted_blood(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
void OnUpdate(uint32 diff) override
void KilledUnit(Unit *victim) override
void EnterEvadeMode(EvadeReason) override
void JustEngagedWith(Unit *who) override
uint8 _spawnedTaintedBloodPools
void ExecuteEvent(uint32 eventId) override
void JustDied(Unit *) override
void JustAppeared() override
boss_priestess_alun_za(Creature *creature)
void JustAppeared() override
npc_priestess_alun_za_corrupted_gold(Creature *creature)
void MovementInform(uint32 type, uint32 pointId) override
void UpdateAI(uint32 diff) override
bool CheckInRoom() override
void UpdateAI(uint32 diff) override
AreaTrigger * GetClosestTaintedBloodAreaTrigger() const
void JustAppeared() override
npc_priestess_alun_za_spirit_of_gold(Creature *creature)
void MovementInform(uint32 type, uint32 pointId) override