132 {296.95f, -312.76f, 86.36f, 0.0f },
133 {297.69f, -275.81f, 86.36f, 0.0f }
205 arthas->SetUninteractible(
true);
266 init.MoveTo(296.614f, -346.2484f, 95.62769f);
272 std::list<Creature*> spectators;
274 for (
Creature* spectator : spectators)
276 if (spectator->IsAlive())
279 spectator->SetWalk(
false);
280 spectator->GetMotionMaster()->MovePoint(1,
spectatorWP[0]);
294 arthas->InterruptNonMeleeSpells(
true);
315 arthas->SetVisible(
false);
332 arthas->DespawnOrUnsummon();
452 else if (pointId == 2)
@ TEMPSUMMON_MANUAL_DESPAWN
uint32 urand(uint32 min, uint32 max)
#define RegisterSpellScript(spell_script)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ TARGET_UNIT_SRC_AREA_ENEMY
#define SpellObjectAreaTargetSelectFn(F, I, N)
@ UNIT_FLAG_NON_ATTACKABLE
Position const spectatorWP[2]
@ SPELL_RITUAL_STRIKE_TRIGGER
@ SPELL_RITUAL_PREPARATION
@ SPELL_TRANSFORMING_CHANNEL
@ H_SPELL_VOLATILE_INFECTION
@ SPELL_SHADOWS_IN_THE_DARK
@ SPELL_RITUAL_CHANNELER_1
@ SPELL_SVALA_TRANSFORMING1
@ SPELL_RITUAL_CHANNELER_3
@ SPELL_SVALA_TRANSFORMING2
@ SPELL_RITUAL_OF_THE_SWORD
@ SPELL_RITUAL_STRIKE_EFF_1
@ SPELL_VOLATILE_INFECTION
@ SPELL_RITUAL_STRIKE_EFF_2
@ SPELL_RITUAL_CHANNELER_2
@ EVENT_INTRO_SVALA_TALK_2
@ EVENT_INTRO_ARTHAS_TALK_1
@ EVENT_INTRO_SVALA_TALK_0
@ EVENT_INTRO_SVALA_TALK_1
@ EVENT_RITUAL_PREPARATION
@ EVENT_INTRO_TRANSFORM_0
@ EVENT_INTRO_TRANSFORM_2
@ EVENT_INTRO_TRANSFORM_1
@ EVENT_SPAWN_RITUAL_CHANNELERS
@ EVENT_INTRO_ARTHAS_TALK_0
@ EVENT_INTRO_RELOCATE_SVALA
@ EVENT_INTRO_DESPAWN_ARTHAS
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetCanMelee(bool canMelee, bool fleeFromMelee=false)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
bool UpdateEntry(uint32 entry, CreatureData const *data=nullptr, bool updateLevel=true)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
bool IsInPhase(uint8 phase) const
void SetPhase(uint8 phase)
virtual ObjectGuid GetGuidData(uint32 type) const override
GameObject * GetGameObject(uint32 type)
void LaunchMoveSpline(std::function< void(Movement::MoveSplineInit &init)> &&initializer, uint32 id=0, MovementGeneratorPriority priority=MOTION_PRIORITY_NORMAL, MovementGeneratorType type=EFFECT_MOTION_TYPE)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
void MoveFall(uint32 id=0)
static ObjectGuid const Empty
static ObjectGuid GetGUID(Object const *o)
bool operator()(WorldObject *obj) const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void Summon(Creature const *summon)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
virtual uint32 GetData(uint32) const
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 DoCast(uint32 spellId)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool SetHover(bool enable, bool updateAnimTier=true)
void SetFacingToObject(WorldObject const *object, bool force=true)
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetFacingTo(float const ori, bool force=true)
bool HasUnitState(const uint32 f) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
void SetUnitFlag(UnitFlags flags)
void RemoveUnitFlag(UnitFlags flags)
Player * SelectNearestPlayer(float range) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsValidAttackTarget(WorldObject const *target, SpellInfo const *bySpell=nullptr) const
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)
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
virtual void SetGuidData(uint32, ObjectGuid)
achievement_incredible_hulk()
bool OnCheck(Player *, Unit *target) override
void FilterTargets(std::list< WorldObject * > &unitList)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void SetEquipmentSlots(bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void SetCombatMovement(bool allowMovement)
bool HealthBelowPct(uint32 pct) const
void JustDied(Unit *) override
void KilledUnit(Unit *who) override
void JustEngagedWith(Unit *who) override
void JustSummoned(Creature *summon) override
void UpdateAI(uint32 diff) override
void MoveInLineOfSight(Unit *who) override
boss_svala(Creature *creature)
void UpdateAI(uint32 diff) override
npc_ritual_channeler(Creature *creature)
InstanceScript * instance
void UpdateAI(uint32 diff) override
uint32 GetData(uint32 type) const override
void DamageTaken(Unit *attacker, uint32 &damage, DamageEffectType, SpellInfo const *) override
bool killedByRitualStrike
npc_scourge_hulk(Creature *creature)
void MovementInform(uint32 motionType, uint32 pointId) override
npc_spectator(Creature *creature)
#define RegisterUtgardePinnacleCreatureAI(ai_name)