245 caster->SetImmuneToAll(
true,
true);
251 caster->SetImmuneToAll(
false);
275 for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end();)
277 float angle = varos->
GetAbsoluteAngle((*itr)->GetPositionX(), (*itr)->GetPositionY());
278 float diff = std::fabs(orientation - angle);
281 itr = targets.erase(itr);
308 for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end();)
310 float angle = varos->
GetAbsoluteAngle((*itr)->GetPositionX(), (*itr)->GetPositionY());
311 float diff = std::fabs(orientation - angle);
314 itr = targets.erase(itr);
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_SRC_AREA_ENTRY
@ TARGET_UNIT_SRC_AREA_ENEMY
@ AURA_EFFECT_HANDLE_REAL
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
@ SPELL_CALL_AZURE_RING_CAPTAIN
@ SPELL_CALL_AMPLIFY_MAGIC
@ SPELL_ARCANE_BEAM_PERIODIC
@ SPELL_SUMMON_ARCANE_BEAM
@ SPELL_ENERGIZE_CORES_VISUAL
@ EVENT_ENERGIZE_CORES_VISUAL
HookList< EffectApplyHandler > OnEffectRemove
HookList< EffectApplyHandler > OnEffectApply
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
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 Creature * ToCreature(Object *o)
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
virtual void InitializeAI()
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
MotionMaster * GetMotionMaster()
void AddUnitMovementFlag(uint32 f)
bool SetWalk(bool enable)
bool HasUnitState(const uint32 f) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
void FilterTargets(std::list< WorldObject * > &targets)
void FilterTargets(std::list< WorldObject * > &targets)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
@ ACTION_CALL_DRAGON_EVENT
@ SPELL_CENTRIFUGE_SHIELD
#define RegisterOculusCreatureAI(ai_name)
static float NormalizeOrientation(float o)
float GetAbsoluteAngle(float x, float y) const
constexpr float GetOrientation() const
void InitializeAI() override
boss_varos(Creature *creature)
float coreEnergizeOrientation
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
float GetCoreEnergizeOrientation()
void JustDied(Unit *) override
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
void DoAction(int32 action) override
npc_azure_ring_captain(Creature *creature)
InstanceScript * instance
void MovementInform(uint32 type, uint32 id) override