118 { { 0, 0 }, { 0.0f, 0.0f, 0.0f, 0.0f } }
184 Position spawnPoint = {5618.139f, 2451.873f, 705.854f, 0};
199 summon->GetMotionMaster()->MovePoint(0,
outroPositions[i].movePosition);
354 if (!damageInfo || !damageInfo->
GetDamage())
384 targets.push_back(target);
@ TEMPSUMMON_DEAD_DESPAWN
bool roll_chance_i(int chance)
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_SRC_AREA_ENTRY
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#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
static constexpr Position CrucibleSummonPos
@ EVENT_WAILING_SOULS_TICK
void PreventDefaultAction()
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void StartDefaultCombatMovement(Unit *victim, Optional< float > range={}, Optional< float > angle={})
void SetReactState(ReactStates st)
void SetTarget(ObjectGuid const &guid) override
void SetDisplayId(uint32 displayId, bool setNative=false) override
void DelayEvents(Milliseconds delay)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void DoUpdateWorldState(int32 worldStateId, int32 value)
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, Milliseconds duration=0ms, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty, SmoothPhasingInfo const *smoothPhasingInfo=nullptr)
static ObjectGuid const Empty
DamageInfo * GetDamageInfo() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
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 GetDisplayId() const
void SetFacingTo(float const ori, bool force=true)
bool HasUnitState(const uint32 f) const
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
void HandleProc(AuraEffect *, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &)
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
@ WORLD_STATE_THREE_FACED_FAILED
@ 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 &
constexpr 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
void KilledUnit(Unit *victim) override