137 {3212.854f, 575.597f, 109.856f},
138 {3246.425f, 565.367f, 61.249f}
143 {3293.238f, 472.223f, 106.968f},
144 {3271.669f, 526.907f, 61.931f}
149 {3193.310f, 472.861f, 102.697f},
150 {3227.268f, 533.238f, 59.995f}
153#define MAX_WAYPOINT 6
157 {3214.012f, 468.932f, 98.652f},
158 {3244.950f, 468.427f, 98.652f},
159 {3283.520f, 496.869f, 98.652f},
160 {3287.316f, 555.875f, 98.652f},
161 {3250.479f, 585.827f, 98.652f},
162 {3209.969f, 566.523f, 98.652f}
182 {3219.28f, 669.121f, 88.5549f},
183 {3221.55f, 682.852f, 90.5361f},
184 {3239.77f, 685.94f, 90.3168f},
185 {3250.33f, 669.749f, 88.7637f},
186 {3246.6f, 642.365f, 84.8752f},
187 {3233.68f, 653.117f, 85.7051f}
191 {3252.73f, 515.762f, 58.5501f},
192 {3256.56f, 521.119f, 58.6061f},
193 {3255.63f, 527.513f, 58.7568f},
194 {3264.90f, 525.865f, 58.6436f},
195 {3264.26f, 516.364f, 58.8011f},
196 {3257.54f, 502.285f, 58.2077f}
199#define TWILIGHT_ACHIEVEMENTS 1
271 me->SetHomePosition(3246.57f, 551.263f, 58.6164f, 4.66003f);
365 if (pTenebron && pTenebron->
IsAlive())
367 if (pShadron && pShadron->
IsAlive())
369 if (pVesperon && pVesperon->
IsAlive())
414 bool bCanUseWill =
false;
471 if (temp->IsAlive() && !temp->GetVictim())
473 temp->SetWalk(
false);
480 switch (temp->GetEntry())
507 if (
Map* map =
me->GetMap())
514 if (i->GetSource() && i->GetSource()->IsAlive())
523 std::list<Creature*> pFireCyclonesList;
526 me->VisitNearbyObject(200.0f, searcher);
528 if (pFireCyclonesList.empty())
531 std::list<Creature*>::iterator itr = pFireCyclonesList.begin();
532 uint32 rnd = rand()%pFireCyclonesList.size();
534 for (
uint32 i = 0; i < rnd; ++i)
582 switch (std::rand() % 1)
644 if ((std::rand() % 5) == 0)
767 me->GetMotionMaster()->Clear();
768 me->SetInCombatWithZone();
771 me->AddThreat(target, 1.0f);
772 me->Attack(target,
true);
773 me->GetMotionMaster()->MoveChase(target);
801 Map* map =
me->GetMap();
810 Talk(iTextId, i->GetSource());
826 switch (
me->GetEntry())
833 for (
uint32 i = 0; i < 6; ++i)
838 for (
uint32 i = 0; i < 6; ++i)
860 me->InterruptNonMeleeSpells(
true);
861 Acolyte->InterruptNonMeleeSpells(
true);
862 me->CastSpell(
me, 32747,
false);
869 me->InterruptNonMeleeSpells(
true);
870 Acolyte->InterruptNonMeleeSpells(
true);
871 me->CastSpell(
me, 32747,
false);
893 me->SetLootRecipient(NULL);
898 switch (
me->GetEntry())
912 pAcolyte->Kill(pAcolyte);
920 pAcolyte->Kill(pAcolyte);
926 me->RemoveAurasDueToSpell(uiSpellId);
930 instance->DoRemoveAurasDueToSpellOnPlayers(uiSpellId);
938 if (pSartharion->IsAlive())
940 pSartharion->RemoveAurasDueToSpell(uiSpellId);
1315 Map* map =
me->GetMap();
1325 if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(
SPELL_TWILIGHT_SHIFT, 0) && !i->GetSource()->GetVictim())
1351 me->SetVisible(
false);
1411 Map* map =
me->GetMap();
1421 if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(
SPELL_TWILIGHT_SHIFT, 0) && !i->GetSource()->GetVictim())
1434 instance->DoRemoveAurasDueToSpellOnPlayers(57935);
1435 instance->DoRemoveAurasDueToSpellOnPlayers(58835);
1443 me->SetVisible(
false);
1494 me->RemoveAllAuras();
1500 me->DealDamage(
me,
me->GetHealth());
1505 who->SetInCombatWithZone();
1543 me->SetDisplayId(11686);
1603 me->AddAura( 46265,
me );
1604 me->AddAura( 69422,
me );
1617 me->RemoveAllAuras();
1649 me->RemoveAllAuras();
1650 me->SetInCombatWithZone();
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive)
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ SPELL_POWER_OF_VESPERON
@ SPELL_TWILIGHT_SHIFT_REMOVAL
@ SPELL_HATCH_EGGS_EFFECT_H
@ SAY_SARTHARION_CALL_TENEBRON
@ SPELL_FLAME_TSUNAMI_BUFF
@ NPC_SARTHARION_TWILIGHT_EGG
@ SPELL_TWILIGHT_SHIFT_ENTER
@ WHISPER_SHADRON_DICIPLE
@ SPELL_POWER_OF_TENEBRON
@ SPELL_HATCH_EGGS_EFFECT
@ NPC_ACOLYTE_OF_VESPERON
@ SAY_SARTHARION_CALL_VESPERON
@ SPELL_WILL_OF_SARTHARION
@ WHISPER_VESPERON_DICIPLE
@ SPELL_TWILIGHT_TORMENT_VESP_ACO
@ SPELL_TWILIGHT_TORMENT_VESP
@ SAY_SARTHARION_CALL_SHADRON
@ SPELL_SUMMON_TWILIGHT_WHELP
@ SPELL_SUMMON_SARTHARION_TWILIGHT_WHELP
@ SPELL_FLAME_TSUNAMI_LEAP
@ SPELL_FLAME_TSUNAMI_DMG_AURA
@ NPC_SHARTHARION_TWILIGHT_WHELP
@ SPELL_GIFT_OF_TWILIGTH_SAR
@ SPELL_TWILIGHT_SHIFT_REMOVAL_ALL
@ SPELL_GIFT_OF_TWILIGTH_SHA
static Location FlameLeft2Spawn
static Location FlameRight3Direction
static Location AcolyteofVesperon
static Location FlameLeft1Spawn
static Location FlameLeft1Direction
static Location AcolyteofShadron2
static Location FlameRight1Spawn
static Location AcolyteofVesperon2
static Location FlameRight2Spawn
Locations TwilightEggsSarth[]
void AddSC_boss_sartharion()
static Location FlameLeft2Direction
#define TWILIGHT_ACHIEVEMENTS
static Location FlameRight1Direction
Waypoint m_aDragonCommon[MAX_WAYPOINT]
static Location FlameRight3Spawn
static Location AcolyteofShadron
static Location FlameRight2Direction
AchievementCriteriaScript(const char *name)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void SetHomePosition(float x, float y, float z, float o)
void Respawn(bool force=false)
CreatureScript(const char *name)
void SetRespawnTime(int32 respawn)
PlayerList const & GetPlayers() const
LinkedListHead::Iterator< MapReference const > const_iterator
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
void SetFlag(uint16 index, uint32 newFlag)
void RemoveFlag(uint16 index, uint32 oldFlag)
bool HasFlag(uint16 index, uint32 flag) const
virtual void SetData(uint32, uint32)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
void DoCastAOE(uint32 spellId, bool triggered=false)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
MotionMaster * GetMotionMaster()
Aura * AddAura(uint32 spellId, Unit *target)
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
InstanceScript * GetInstanceScript()
achievement_twilight_assist()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_twilight_duo()
bool OnCheck(Player *, Unit *target) OVERRIDE
achievement_twilight_zone()
bool OnCheck(Player *, Unit *target) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_acolyte_of_vesperon()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
@ TYPE_VESPERON_PREKILLED
@ TYPE_TENEBRON_PREKILLED
void SetCombatMovement(bool allowMovement)
bool HealthAbovePct(uint32 pct) const
bool HealthBelowPct(uint32 pct) const
bool EnterEvadeIfOutOfCombatArea(uint32 const diff)
const T & RAID_MODE(const T &normal10, const T &normal25) const
ScriptedAI(Creature *creature)
void CastLavaStrikeOnTarget(Unit *target)
boss_sartharionAI(Creature *creature)
uint32 GetData(uint32 type) const OVERRIDE
uint32 m_uiTailSweepTimer
InstanceScript * instance
bool m_bHasCalledTenebron
uint32 m_uiLavaStrikeTimer
void JustReachedHome() OVERRIDE
bool m_bHasCalledVesperon
void CallDragon(uint32 uiDataId)
uint32 m_uiFlameTsunamiTimer
uint32 m_uiFlameBreathTimer
void JustDied(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void DoRaidWhisper(int32 iTextId)
dummy_dragonAI(Creature *creature)
void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
void JustDied(Unit *) OVERRIDE
int32 m_iPortalRespawnTime
void SetData(uint32 type, uint32 value) OVERRIDE
InstanceScript * instance
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
npc_acolyte_of_shadronAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
InstanceScript * instance
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
InstanceScript * instance
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
npc_acolyte_of_vesperonAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_flame_tsunamiAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
uint32 m_uiAcolyteShadronTimer
uint32 m_uiShadowBreathTimer
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
uint32 m_uiShadowFissureTimer
npc_shadronAI(Creature *creature)
npc_tenebronAI(Creature *creature)
uint32 m_uiShadowFissureTimer
void KilledUnit(Unit *) OVERRIDE
uint32 m_uiShadowBreathTimer
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
npc_twilight_eggsAI(Creature *creature)
InstanceScript * instance
void JustSummoned(Creature *who) OVERRIDE
void AttackStart(Unit *) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void MoveInLineOfSight(Unit *) OVERRIDE
uint32 m_uiFadeArmorTimer
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_twilight_fissureAI(Creature *creature)
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
uint32 m_uiFadeArmorTimer
npc_twilight_whelpAI(Creature *creature)
uint32 m_uiShadowFissureTimer
uint32 m_uiAcolyteVesperonTimer
void EnterCombat(Unit *) OVERRIDE
uint32 m_uiShadowBreathTimer
npc_vesperonAI(Creature *creature)
void KilledUnit(Unit *) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================