119 { { 0, 0 }, { 0.0f, 0.0f, 0.0f, 0.0f } }
197 Position spawnPoint = {5618.139f, 2451.873f, 705.854f, 0};
212 summon->GetMotionMaster()->MovePoint(0,
outroPositions[i].movePosition);
291 if (
RAND(
true,
false))
384 if (!damageInfo || !damageInfo->
GetDamage())
416 targets.push_back(target);
First const & RAND(First const &first, Second const &second, Rest const &... rest)
@ TEMPSUMMON_DEAD_DESPAWN
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TARGET_UNIT_SRC_AREA_ENTRY
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ TRIGGERED_FULL_MASK
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraCheckProcFn(F)
T CalculatePct(T base, U pct)
struct outroPosition outroPositions[]
void AddSC_boss_devourer_of_souls()
@ SPELL_MIRRORED_SOUL_DAMAGE
@ SPELL_MIRRORED_SOUL_PROC_AURA
@ SPELL_WAILING_SOULS_BEAM
@ SPELL_MIRRORED_SOUL_TARGET_SELECTOR
@ SPELL_WAILING_SOULS_STARTING
@ SPELL_MIRRORED_SOUL_BUFF
Position const CrucibleSummonPos
@ EVENT_WAILING_SOULS_TICK
void PreventDefaultAction()
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void SetDisplayId(uint32 modelId) override
void SetReactState(ReactStates st)
void SetTarget(ObjectGuid guid) override
void DelayEvents(Milliseconds delay)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, uint32 duration=0, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
DamageInfo * GetDamageInfo() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void DoMeleeAttackIfReady()
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 DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void SetControlled(bool apply, UnitState state)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
uint32 GetDisplayId() const
bool HasUnitState(const uint32 f) const
void SetFacingTo(float ori, bool force=true, uint32 movementId=EVENT_FACE)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
virtual uint32 GetData(uint32) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
achievement_three_faced()
bool OnCheck(Player *, Unit *target) override
PrepareAuraScript(spell_devourer_of_souls_mirrored_soul_proc)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &)
void HandleProc(AuraEffect const *, ProcEventInfo &eventInfo)
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_devourer_of_souls_mirrored_soul_target_selector)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_devourer_of_souls_mirrored_soul)
@ NPC_CHAMPION_1_ALLIANCE
@ NPC_CHAMPION_2_ALLIANCE
#define RegisterForgeOfSoulsCreatureAI(ai_name)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
float GetOrientation() const
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
boss_devourer_of_souls(Creature *creature)
void SpellHitTarget(WorldObject *, SpellInfo const *spellInfo) override
uint32 GetData(uint32 type) const override
void KilledUnit(Unit *victim) override