refactor(Scripts/TempleOfAhnQiraj): Temple of Ahn Qiraj header (#12749)
* refactor(Core/TempleOfAhnQiraj): Temple of Ahn Qiraj header * remove ouro leftovers
This commit is contained in:
@@ -142,12 +142,10 @@ public:
|
|||||||
//Kick out position
|
//Kick out position
|
||||||
const Position KickPos = { -8545.0f, 1984.0f, -96.0f, 0.0f};
|
const Position KickPos = { -8545.0f, 1984.0f, -96.0f, 0.0f};
|
||||||
|
|
||||||
struct boss_eye_of_cthun : public ScriptedAI
|
struct boss_eye_of_cthun : public BossAI
|
||||||
{
|
{
|
||||||
boss_eye_of_cthun(Creature* creature) : ScriptedAI(creature), _summons(creature)
|
boss_eye_of_cthun(Creature* creature) : BossAI(creature, DATA_CTHUN), _summons(creature)
|
||||||
{
|
{
|
||||||
instance = creature->GetInstanceScript();
|
|
||||||
|
|
||||||
SetCombatMovement(false);
|
SetCombatMovement(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,13 +174,18 @@ struct boss_eye_of_cthun : public ScriptedAI
|
|||||||
|
|
||||||
_summons.DespawnAll();
|
_summons.DespawnAll();
|
||||||
_scheduler.CancelAll();
|
_scheduler.CancelAll();
|
||||||
|
|
||||||
|
BossAI::Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/) override
|
void JustDied(Unit* /*killer*/) override { }
|
||||||
|
|
||||||
|
void EnterCombat(Unit* who) override
|
||||||
{
|
{
|
||||||
DoZoneInCombat();
|
DoZoneInCombat();
|
||||||
ScheduleTasks();
|
ScheduleTasks();
|
||||||
instance->SetData(DATA_CTHUN_PHASE, PHASE_EYE_GREEN_BEAM);
|
instance->SetData(DATA_CTHUN_PHASE, PHASE_EYE_GREEN_BEAM);
|
||||||
|
BossAI::EnterCombat(who);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveInLineOfSight(Unit* who) override
|
void MoveInLineOfSight(Unit* who) override
|
||||||
@@ -388,8 +391,6 @@ struct boss_eye_of_cthun : public ScriptedAI
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
InstanceScript* instance;
|
|
||||||
|
|
||||||
//Dark Glare phase
|
//Dark Glare phase
|
||||||
uint32 DarkGlareTick;
|
uint32 DarkGlareTick;
|
||||||
float DarkGlareAngle;
|
float DarkGlareAngle;
|
||||||
@@ -400,17 +401,13 @@ private:
|
|||||||
SummonList _summons;
|
SummonList _summons;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct boss_cthun : public ScriptedAI
|
struct boss_cthun : public BossAI
|
||||||
{
|
{
|
||||||
boss_cthun(Creature* creature) : ScriptedAI(creature)
|
boss_cthun(Creature* creature) : BossAI(creature, DATA_CTHUN)
|
||||||
{
|
{
|
||||||
SetCombatMovement(false);
|
SetCombatMovement(false);
|
||||||
|
|
||||||
instance = creature->GetInstanceScript();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InstanceScript* instance;
|
|
||||||
|
|
||||||
//Out of combat whisper timer
|
//Out of combat whisper timer
|
||||||
uint32 WisperTimer;
|
uint32 WisperTimer;
|
||||||
|
|
||||||
@@ -784,9 +781,10 @@ struct boss_cthun : public ScriptedAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* killer) override
|
||||||
{
|
{
|
||||||
instance->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_DONE);
|
instance->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_DONE);
|
||||||
|
BossAI::JustDied(killer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||||
|
|||||||
@@ -242,9 +242,6 @@ struct boss_ouro : public BossAI
|
|||||||
{
|
{
|
||||||
DoCastSelf(SPELL_OURO_SUBMERGE_VISUAL);
|
DoCastSelf(SPELL_OURO_SUBMERGE_VISUAL);
|
||||||
me->DespawnOrUnsummon(1000);
|
me->DespawnOrUnsummon(1000);
|
||||||
// Remove after the header file is sorted with the bosses first.
|
|
||||||
if (Creature* ouroSpawner = instance->GetCreature(DATA_OURO_SPAWNER))
|
|
||||||
ouroSpawner->Respawn();
|
|
||||||
instance->SetBossState(DATA_OURO, FAIL);
|
instance->SetBossState(DATA_OURO, FAIL);
|
||||||
if (GameObject* base = me->FindNearestGameObject(GO_SANDWORM_BASE, 200.f))
|
if (GameObject* base = me->FindNearestGameObject(GO_SANDWORM_BASE, 200.f))
|
||||||
base->DespawnOrUnsummon();
|
base->DespawnOrUnsummon();
|
||||||
@@ -348,10 +345,6 @@ struct npc_dirt_mound : ScriptedAI
|
|||||||
if (_instance)
|
if (_instance)
|
||||||
{
|
{
|
||||||
_instance->SetBossState(DATA_OURO, FAIL);
|
_instance->SetBossState(DATA_OURO, FAIL);
|
||||||
|
|
||||||
// Remove after the header file is sorted with the bosses first.
|
|
||||||
if (Creature* ouroSpawner = _instance->GetCreature(DATA_OURO_SPAWNER))
|
|
||||||
ouroSpawner->Respawn();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GameObject* base = me->FindNearestGameObject(GO_SANDWORM_BASE, 200.f))
|
if (GameObject* base = me->FindNearestGameObject(GO_SANDWORM_BASE, 200.f))
|
||||||
|
|||||||
@@ -62,14 +62,9 @@ enum Misc
|
|||||||
TELEPORTTIME = 30000
|
TELEPORTTIME = 30000
|
||||||
};
|
};
|
||||||
|
|
||||||
struct boss_twinemperorsAI : public ScriptedAI
|
struct boss_twinemperorsAI : public BossAI
|
||||||
{
|
{
|
||||||
boss_twinemperorsAI(Creature* creature): ScriptedAI(creature)
|
boss_twinemperorsAI(Creature* creature): BossAI(creature, DATA_TWIN_EMPERORS) { }
|
||||||
{
|
|
||||||
instance = creature->GetInstanceScript();
|
|
||||||
}
|
|
||||||
|
|
||||||
InstanceScript* instance;
|
|
||||||
|
|
||||||
uint32 Heal_Timer;
|
uint32 Heal_Timer;
|
||||||
uint32 Teleport_Timer;
|
uint32 Teleport_Timer;
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ public:
|
|||||||
instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map)
|
instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map)
|
||||||
{
|
{
|
||||||
LoadObjectData(creatureData, nullptr);
|
LoadObjectData(creatureData, nullptr);
|
||||||
|
SetBossNumber(MAX_BOSS_NUMBER);
|
||||||
}
|
}
|
||||||
|
|
||||||
//If Vem is dead...
|
//If Vem is dead...
|
||||||
@@ -193,7 +194,7 @@ public:
|
|||||||
case DATA_OURO:
|
case DATA_OURO:
|
||||||
if (state == FAIL)
|
if (state == FAIL)
|
||||||
{
|
{
|
||||||
if (Creature* ouroSpawner = GetCreature(DATA_OURO))
|
if (Creature* ouroSpawner = GetCreature(DATA_OURO_SPAWNER))
|
||||||
ouroSpawner->Respawn();
|
ouroSpawner->Respawn();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -25,25 +25,30 @@
|
|||||||
enum DataTypes
|
enum DataTypes
|
||||||
{
|
{
|
||||||
DATA_SKERAM = 1,
|
DATA_SKERAM = 1,
|
||||||
DATA_KRI = 2,
|
DATA_BUG_TRIO = 2,
|
||||||
DATA_VEM = 3,
|
DATA_SARTURA = 3,
|
||||||
DATA_YAUJ = 4,
|
DATA_FANKRISS = 4,
|
||||||
DATA_BUG_TRIO = 5,
|
DATA_VISCIDUS = 5,
|
||||||
DATA_VEKLOR = 6,
|
DATA_HUHURAN = 6,
|
||||||
DATA_VEKLORISDEAD = 7,
|
DATA_TWIN_EMPERORS = 7,
|
||||||
DATA_VEKLOR_DEATH = 8,
|
DATA_OURO = 8,
|
||||||
DATA_VEKNILASH = 9,
|
DATA_CTHUN = 9,
|
||||||
DATA_VEKNILASHISDEAD = 10,
|
|
||||||
DATA_VEKNILASH_DEATH = 11,
|
|
||||||
DATA_FANKRISS = 12,
|
|
||||||
DATA_OURO = 13,
|
|
||||||
DATA_OURO_SPAWNER = 14,
|
|
||||||
DATA_BUG_TRIO_DEATH = 15,
|
|
||||||
DATA_CTHUN_PHASE = 20,
|
|
||||||
DATA_VISCIDUS = 21,
|
|
||||||
DATA_SARTURA = 22,
|
|
||||||
|
|
||||||
DATA_EYE_OF_CTHUN = 23
|
MAX_BOSS_NUMBER = 10,
|
||||||
|
|
||||||
|
DATA_KRI = 10,
|
||||||
|
DATA_VEM = 11,
|
||||||
|
DATA_YAUJ = 12,
|
||||||
|
DATA_BUG_TRIO_DEATH = 13,
|
||||||
|
DATA_OURO_SPAWNER = 14,
|
||||||
|
DATA_VEKLOR = 15,
|
||||||
|
DATA_VEKLORISDEAD = 16,
|
||||||
|
DATA_VEKLOR_DEATH = 17,
|
||||||
|
DATA_VEKNILASH = 18,
|
||||||
|
DATA_VEKNILASHISDEAD = 19,
|
||||||
|
DATA_VEKNILASH_DEATH = 20,
|
||||||
|
DATA_CTHUN_PHASE = 21,
|
||||||
|
DATA_EYE_OF_CTHUN = 22
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
enum Creatures
|
||||||
|
|||||||
Reference in New Issue
Block a user