99 { 3214.012f, 468.932f, 98.652f, 0.0f },
100 { 3244.950f, 468.427f, 98.652f, 0.0f },
101 { 3283.520f, 496.869f, 98.652f, 0.0f },
102 { 3287.316f, 555.875f, 98.652f, 0.0f },
103 { 3250.479f, 585.827f, 98.652f, 0.0f },
104 { 3209.969f, 566.523f, 98.652f, 0.0f }
114 { 3219.28f, 669.121f, 88.5549f, 0.0f },
115 { 3221.55f, 682.852f, 90.5361f, 0.0f },
116 { 3239.77f, 685.94f, 90.3168f, 0.0f },
117 { 3250.33f, 669.749f, 88.7637f, 0.0f },
118 { 3246.6f, 642.365f, 84.8752f, 0.0f },
119 { 3233.68f, 653.117f, 85.7051f, 0.0f }
124 { 3252.73f, 515.762f, 58.5501f, 0.0f },
125 { 3256.56f, 521.119f, 58.6061f, 0.0f },
126 { 3255.63f, 527.513f, 58.7568f, 0.0f },
127 { 3264.90f, 525.865f, 58.6436f, 0.0f },
128 { 3264.26f, 516.364f, 58.8011f, 0.0f },
129 { 3257.54f, 502.285f, 58.2077f, 0.0f }
261 for (
uint32 i = 0; i < 6; ++i)
266 for (
uint32 i = 0; i < 6; ++i)
287 acolyte->InterruptNonMeleeSpells(
true);
296 acolyte->InterruptNonMeleeSpells(
true);
364 if (sartharion->IsAlive())
366 sartharion->RemoveAurasDueToSpell(spellId);
616 player->CastSpell(player, SPELL_TWILIGHT_SHIFT_REMOVAL_ALL, true);
617 player->CastSpell(player, SPELL_TWILIGHT_RESIDUE, true);
618 player->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT);
619 player->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT_ENTER);
676 player->CastSpell(player, SPELL_TWILIGHT_SHIFT_REMOVAL_ALL, true);
677 player->CastSpell(player, SPELL_TWILIGHT_RESIDUE, true);
678 player->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT);
679 player->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT_ENTER);
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
if(posix_memalign(&__mallocedMemory, __align, __size)) return NULL
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive=true)
@ UNIT_FLAG_NON_ATTACKABLE
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetReactState(ReactStates st)
void SetTappedBy(Unit const *unit, bool withGroup=true)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetDisplayId(uint32 displayId, bool setNative=false) override
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void SetRespawnTime(int32 respawn)
virtual bool SetBossState(uint32 id, EncounterState state)
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell, bool includePets=false, bool includeControlled=false)
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) const
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
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 DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
Aura * AddAura(uint32 spellId, Unit *target)
void SetUninteractible(bool apply)
bool Attack(Unit *victim, bool meleeAttack)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void SetUnitFlag(UnitFlags flags)
void KillSelf(bool durabilityLoss=true, bool skipSettingDeathState=false)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveUnitFlag(UnitFlags flags)
GameObject * FindNearestGameObject(uint32 entry, float range, bool spawnedOnly=true) const
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
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)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
bool OnCheck(Player *, Unit *target) override
achievement_twilight_assist()
bool OnCheck(Player *, Unit *target) override
achievement_twilight_duo()
achievement_twilight_zone()
bool OnCheck(Player *, Unit *target) override
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
@ SPELL_POWER_OF_VESPERON
@ SPELL_TWILIGHT_SHIFT_REMOVAL
@ SPELL_HATCH_EGGS_EFFECT_H
@ SPELL_FLAME_TSUNAMI_BUFF
@ NPC_SARTHARION_TWILIGHT_EGG
@ SPELL_TWILIGHT_SHIFT_ENTER
@ NPC_SARTHARION_TWILIGHT_WHELP
@ SPELL_POWER_OF_TENEBRON
@ SPELL_HATCH_EGGS_EFFECT
@ NPC_ACOLYTE_OF_VESPERON
@ SPELL_TWILIGHT_TORMENT_VESP_ACO
@ SPELL_TWILIGHT_TORMENT_VESP
@ SPELL_SUMMON_TWILIGHT_WHELP
@ SPELL_SUMMON_SARTHARION_TWILIGHT_WHELP
@ SPELL_FLAME_TSUNAMI_LEAP
@ SPELL_FLAME_TSUNAMI_DMG_AURA
@ SPELL_GIFT_OF_TWILIGTH_SAR
@ SPELL_TWILIGHT_SHIFT_REMOVAL_ALL
@ SPELL_GIFT_OF_TWILIGTH_SHA
Position const AcolyteofShadron
Position const AcolyteofVesperon
Position const AcolyteofVesperon2
Position const TwilightEggsSarth[]
void AddSC_obsidian_sanctum()
Position const dragonCommon[MAX_WAYPOINT]
Position const AcolyteofShadron2
#define RegisterObsidianSanctumCreatureAI(ai_name)
void SetCombatMovement(bool allowMovement)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void SetData(uint32 type, uint32 value) override
dummy_dragonAI(Creature *creature)
void JustDied(Unit *) override
void ExecuteEvent(uint32 eventId)
void KilledUnit(Unit *who) override
void JustEngagedWith(Unit *) override
void MovementInform(uint32 type, uint32 pointId) override
InstanceScript * instance
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
npc_acolyte_of_shadron(Creature *creature)
InstanceScript * instance
InstanceScript * instance
npc_acolyte_of_vesperon(Creature *creature)
void JustDied(Unit *) override
npc_flame_tsunami(Creature *creature)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
npc_shadron(Creature *creature)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
npc_tenebron(Creature *creature)
npc_twilight_eggs(Creature *creature)
void UpdateAI(uint32 diff) override
InstanceScript * instance
void JustSummoned(Creature *who) override
void UpdateAI(uint32 diff) override
npc_twilight_fissure(Creature *creature)
void UpdateAI(uint32 diff) override
npc_twilight_whelp(Creature *creature)
void UpdateAI(uint32 diff) override
npc_vesperon(Creature *creature)
void JustEngagedWith(Unit *who) override