144 tuulani->DespawnOrUnsummon();
290 Creature* auchenaiDefender = ObjectAccessor::GetCreature(*at, unitGUID);
291 if (!auchenaiDefender)
294 if (Unit* caster = at->GetCaster())
295 auchenaiDefender->SetFacingToObject(caster);
296 auchenaiDefender->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
298 task.Schedule(4s, [this, unitGUID](TaskContext const& )
300 Creature* auchenaiDefender = ObjectAccessor::GetCreature(*at, unitGUID);
301 if (!auchenaiDefender)
304 auchenaiDefender->SetFacingTo(auchenaiDefender->GetHomePosition().GetOrientation());
311 _scheduler.Update(diff);
@ ENCOUNTER_FRAME_PHASE_SHIFT_CHANGED
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
@ EMOTE_STATE_READY1H_ALLOW_MOVEMENT
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_SEND_EVENT
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#define SpellEffectFn(F, I, N)
@ SPELL_GRIMRAIL_DEPOT_REMOVE_AURA
@ SPELL_TUULANI_UNLOCK_VISUAL
@ SPELL_GRIMRAIL_DEPOT_SELECTOR
@ SPELL_GRIMRAIL_DEPOT_TELEPORT
@ SPELL_GRIMRAIL_DEPOT_SCENE
@ ACTION_TUULANI_BREAK_BARRIER
@ ACTION_AUCHENAI_DEFENDER_TALK
@ SPAWNGROUP_TUULANI_IMPRISONED
#define RegisterAuchindounCreatureAI(ai_name)
@ DATA_SOULBINDER_TUULANI
ObjectGuid const & GetGUID() const
GameObject * GetGameObject(uint32 type)
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
bool IsSpawnGroupActive(uint32 groupId) const
static bool OnConditionChange(WorldObject *object, bool updateVisibility=true)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskContext & Schedule(TaskScheduler::duration_t time, TaskScheduler::task_handler_t task)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCast(uint32 spellId)
void ClearUnitState(uint32 f)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
Emote GetEmoteState() const
MotionMaster * GetMotionMaster()
void AddUnitState(uint32 f)
void SetFacingTo(float const ori, bool force=true)
Creature * FindNearestCreatureWithOptions(float range, FindCreatureOptions const &options) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
at_auchindoun_auchenai_defender_intro()
bool TryHandleOnce(Player *player, AreaTriggerEntry const *) override
bool OnTrigger(Player *player, AreaTriggerEntry const *) override
bool TryHandleOnce(Player *player, AreaTriggerEntry const *) override
bool TryHandleOnce(Player *player, AreaTriggerEntry const *) override
at_auchindoun_soulbinder_nyami_scene()
static void HandleScene(Player *player)
void OnSceneCancel(Player *player, uint32, SceneTemplate const *) override
scene_auchindoun_soulbinder_nyami()
void OnSceneComplete(Player *player, uint32, SceneTemplate const *) override
void OnSceneStart(Player *player, uint32, SceneTemplate const *) override
void HandleEvent(SpellEffIndex) const
void HandleDummy(SpellEffIndex) const
void HandleHit(SpellEffIndex) const
bool Validate(SpellInfo const *) override
void OnUpdate(uint32 diff) override
at_auchindoun_npc_reaction(AreaTrigger *areatrigger)
void OnUnitEnter(Unit *unit) override
void DoAction(int32 action) override
void UpdateAI(uint32 diff) override
npc_auchindoun_auchenai_defender(Creature *creature)
npc_auchindoun_soulbinder_tuulani(Creature *creature)
void WaypointReached(uint32 waypointId, uint32 pathId) override
void DoAction(int32 action) override
void UpdateAI(uint32 diff) override