96 { 3212.854f, 575.597f, 109.856f, 0.0f },
97 { 3246.425f, 565.367f, 61.249f, 0.0f }
102 { 3293.238f, 472.223f, 106.968f, 0.0f },
103 { 3271.669f, 526.907f, 61.931f, 0.0f }
108 { 3193.310f, 472.861f, 102.697f, 0.0f },
109 { 3227.268f, 533.238f, 59.995f, 0.0f }
186 if (tenebron->IsAlive())
187 tenebron->DisappearAndDie();
190 if (shadron->IsAlive())
191 shadron->DisappearAndDie();
194 if (vesperon->IsAlive())
195 vesperon->DisappearAndDie();
220 tenebron->SetHomePosition(3239.07f, 657.235f, 86.8775f, 4.74729f);
221 if (tenebron->IsAlive())
224 tenebron->GetMotionMaster()->MoveTargetedHome();
231 tenebron->GetMotionMaster()->MoveTargetedHome();
239 shadron->SetHomePosition(3363.06f, 525.28f, 98.362f, 4.76475f);
240 if (shadron->IsAlive())
243 shadron->GetMotionMaster()->MoveTargetedHome();
250 shadron->GetMotionMaster()->MoveTargetedHome();
258 vesperon->SetHomePosition(3145.68f, 520.71f, 89.7f, 4.64258f);
259 if (vesperon->IsAlive())
262 vesperon->GetMotionMaster()->MoveTargetedHome();
269 vesperon->GetMotionMaster()->MoveTargetedHome();
282 bool _canUseWill =
false;
286 if (fetchTene->IsAlive() && !fetchTene->GetVictim())
289 if (!fetchTene->IsInCombat())
303 if (fetchShad->IsAlive() && !fetchShad->GetVictim())
306 if (!fetchShad->IsInCombat())
320 if (fetchVesp->IsAlive() && !fetchVesp->GetVictim())
323 if (!fetchVesp->IsInCombat())
343 if (temp->IsAlive() && !temp->GetVictim())
345 temp->SetWalk(
false);
351 switch (temp->GetEntry())
387 std::list<Creature*> fireCyclonesList;
392 if (fireCyclonesList.empty())
458 if (
urand(0, 5) == 0)
@ TEMPSUMMON_TIMED_DESPAWN
uint32 urand(uint32 min, uint32 max)
@ UNIT_FLAG_NON_ATTACKABLE
@ SPELL_POWER_OF_VESPERON
@ SAY_SARTHARION_CALL_TENEBRON
@ SPELL_POWER_OF_TENEBRON
@ NPC_ACOLYTE_OF_VESPERON
@ SAY_SARTHARION_CALL_VESPERON
@ SPELL_WILL_OF_SARTHARION
@ SAY_SARTHARION_CALL_SHADRON
Position const FlameLeft1Direction
Position const FlameRight1Direction
Position const FlameRight1Spawn
Position const FlameLeft1Spawn
void AddSC_boss_sartharion()
Position const VesperonPositions[]
Position const FlameRight3Spawn
Position const TenebronPositions[]
Position const FlameLeft2Spawn
Position const ShadronPositions[]
Position const FlameRight2Spawn
Position const FlameRight3Direction
Position const FlameRight2Direction
Position const FlameLeft2Direction
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetHomePosition(float x, float y, float z, float o)
bool HasLootMode(uint16 lootMode) const
void AddLootMode(uint16 lootMode)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) 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)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
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)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
#define RegisterObsidianSanctumCreatureAI(ai_name)
static void VisitAllObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
bool HealthAbovePct(uint32 pct) const
bool HealthBelowPct(uint32 pct) const
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void KilledUnit(Unit *who) override
void CallDragon(uint32 dataId)
void CastLavaStrikeOnTarget(Unit *target)
void JustReachedHome() override
boss_sartharion(Creature *creature)
uint32 GetData(uint32 type) const override
void JustEngagedWith(Unit *who) override