Scripts/Instances: Add dungeon encounter data
Port From (https://github.com/TrinityCore/TrinityCore/commit/46e0056196dd6e56077aeeb67d41ec520046a79e)
This commit is contained in:
+10
@@ -49,6 +49,15 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockCaverns
|
||||
new ObjectData(CreatureIds.RazTheCrazed, DataTypes.RazTheCrazed)
|
||||
};
|
||||
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.RomoggBonecrusher, 1040),
|
||||
new DungeonEncounterData(DataTypes.Corla, 1038),
|
||||
new DungeonEncounterData(DataTypes.KarshSteelbender, 1039),
|
||||
new DungeonEncounterData(DataTypes.Beauty, 1037),
|
||||
new DungeonEncounterData(DataTypes.AscendantLordObsidius, 1036)
|
||||
};
|
||||
|
||||
public instance_blackrock_caverns() : base(nameof(instance_blackrock_caverns), 645) { }
|
||||
|
||||
class instance_blackrock_caverns_InstanceMapScript : InstanceScript
|
||||
@@ -58,6 +67,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockCaverns
|
||||
SetHeaders("BRC");
|
||||
SetBossNumber(5);
|
||||
LoadObjectData(creatureData, null);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
}
|
||||
|
||||
public override bool SetBossState(uint type, EncounterState state)
|
||||
|
||||
+1
-1
@@ -160,7 +160,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockSpire
|
||||
{
|
||||
public instance_blackrock_spireMapScript(InstanceMap map) : base(map)
|
||||
{
|
||||
SetHeaders("BRS");
|
||||
SetHeaders("BRSv1");
|
||||
SetBossNumber(BRSMiscConst.EncounterCount);
|
||||
LoadDoorData(BRSMiscConst.doorData);
|
||||
|
||||
|
||||
+13
-3
@@ -25,9 +25,6 @@ using Framework.Constants;
|
||||
|
||||
namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
{
|
||||
//uint const EncounterCount = 8;
|
||||
|
||||
|
||||
struct DataTypes
|
||||
{
|
||||
// Encounter States/Boss GUIDs
|
||||
@@ -141,6 +138,18 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
[Script]
|
||||
class instance_blackwing_lair : InstanceMapScript
|
||||
{
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.RazorgoreTheUntamed, 610),
|
||||
new DungeonEncounterData(DataTypes.VaelastrazTheCorrupt, 611),
|
||||
new DungeonEncounterData(DataTypes.BroodlordLashlayer, 612),
|
||||
new DungeonEncounterData(DataTypes.Firemaw, 613),
|
||||
new DungeonEncounterData(DataTypes.Ebonroc, 614),
|
||||
new DungeonEncounterData(DataTypes.Flamegor, 615),
|
||||
new DungeonEncounterData(DataTypes.Chromaggus, 616),
|
||||
new DungeonEncounterData(DataTypes.Nefarian, 617)
|
||||
};
|
||||
|
||||
public instance_blackwing_lair() : base(nameof(instance_blackwing_lair), 469) { }
|
||||
|
||||
class instance_blackwing_lair_InstanceMapScript : InstanceScript
|
||||
@@ -156,6 +165,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
|
||||
SetBossNumber(BWLMisc.EncounterCount);
|
||||
LoadDoorData(BWLMisc.doorData);
|
||||
LoadObjectData(BWLMisc.creatureData, BWLMisc.gameObjectData);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
|
||||
// Razorgore
|
||||
EggCount = 0;
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.BaronGeddon
|
||||
[Script]
|
||||
class boss_baron_geddon : BossAI
|
||||
{
|
||||
public boss_baron_geddon(Creature creature) : base(creature, BossIds.BaronGeddon) { }
|
||||
public boss_baron_geddon(Creature creature) : base(creature, DataTypes.BaronGeddon) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Garr
|
||||
[Script]
|
||||
class boss_garr : BossAI
|
||||
{
|
||||
public boss_garr(Creature creature) : base(creature, BossIds.Garr) { }
|
||||
public boss_garr(Creature creature) : base(creature, DataTypes.Garr) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Gehennas
|
||||
[Script]
|
||||
class boss_gehennas : BossAI
|
||||
{
|
||||
public boss_gehennas(Creature creature) : base(creature, BossIds.Gehennas) { }
|
||||
public boss_gehennas(Creature creature) : base(creature, DataTypes.Gehennas) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Golemagg
|
||||
[Script]
|
||||
class boss_golemagg : BossAI
|
||||
{
|
||||
public boss_golemagg(Creature creature) : base(creature, BossIds.GolemaggTheIncinerator) { }
|
||||
public boss_golemagg(Creature creature) : base(creature, DataTypes.GolemaggTheIncinerator) { }
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
@@ -117,7 +117,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Golemagg
|
||||
if (HealthAbovePct(50) || _instance == null)
|
||||
return;
|
||||
|
||||
Creature pGolemagg = ObjectAccessor.GetCreature(me, _instance.GetGuidData(BossIds.GolemaggTheIncinerator));
|
||||
Creature pGolemagg = ObjectAccessor.GetCreature(me, _instance.GetGuidData(DataTypes.GolemaggTheIncinerator));
|
||||
if (pGolemagg)
|
||||
{
|
||||
if (pGolemagg.IsAlive())
|
||||
|
||||
@@ -23,7 +23,7 @@ using System;
|
||||
|
||||
namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
{
|
||||
struct BossIds
|
||||
struct DataTypes
|
||||
{
|
||||
public const uint Lucifron = 0;
|
||||
public const uint Magmadar = 1;
|
||||
@@ -91,6 +91,20 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
[Script]
|
||||
class instance_molten_core : InstanceMapScript
|
||||
{
|
||||
static DungeonEncounterData[] encounters =
|
||||
{
|
||||
new DungeonEncounterData(DataTypes.Lucifron, 663),
|
||||
new DungeonEncounterData(DataTypes.Magmadar, 664),
|
||||
new DungeonEncounterData(DataTypes.Gehennas, 665),
|
||||
new DungeonEncounterData(DataTypes.Garr, 666),
|
||||
new DungeonEncounterData(DataTypes.Shazzrah, 667),
|
||||
new DungeonEncounterData(DataTypes.BaronGeddon, 668),
|
||||
new DungeonEncounterData(DataTypes.SulfuronHarbinger, 669),
|
||||
new DungeonEncounterData(DataTypes.GolemaggTheIncinerator, 670),
|
||||
new DungeonEncounterData(DataTypes.MajordomoExecutus, 671),
|
||||
new DungeonEncounterData(DataTypes.Ragnaros, 672)
|
||||
};
|
||||
|
||||
public instance_molten_core() : base(nameof(instance_molten_core), 409) { }
|
||||
|
||||
class instance_molten_core_InstanceMapScript : InstanceScript
|
||||
@@ -104,7 +118,8 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
public instance_molten_core_InstanceMapScript(InstanceMap map) : base(map)
|
||||
{
|
||||
SetHeaders("MC");
|
||||
SetBossNumber(BossIds.MaxEncounter);
|
||||
SetBossNumber(DataTypes.MaxEncounter);
|
||||
LoadDungeonEncounterData(encounters);
|
||||
_executusSchedule = false;
|
||||
_ragnarosAddDeaths = 0;
|
||||
}
|
||||
@@ -168,9 +183,9 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case BossIds.GolemaggTheIncinerator:
|
||||
case DataTypes.GolemaggTheIncinerator:
|
||||
return _golemaggTheIncineratorGUID;
|
||||
case BossIds.MajordomoExecutus:
|
||||
case DataTypes.MajordomoExecutus:
|
||||
return _majordomoExecutusGUID;
|
||||
}
|
||||
|
||||
@@ -182,11 +197,11 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
if (!base.SetBossState(bossId, state))
|
||||
return false;
|
||||
|
||||
if (state == EncounterState.Done && bossId < BossIds.MajordomoExecutus)
|
||||
if (state == EncounterState.Done && bossId < DataTypes.MajordomoExecutus)
|
||||
if (CheckMajordomoExecutus())
|
||||
SummonMajordomoExecutus();
|
||||
|
||||
if (bossId == BossIds.MajordomoExecutus && state == EncounterState.Done)
|
||||
if (bossId == DataTypes.MajordomoExecutus && state == EncounterState.Done)
|
||||
DoRespawnGameObject(_cacheOfTheFirelordGUID, TimeSpan.FromDays(7));
|
||||
|
||||
return true;
|
||||
@@ -198,7 +213,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
if (!_majordomoExecutusGUID.IsEmpty())
|
||||
return;
|
||||
|
||||
if (GetBossState(BossIds.MajordomoExecutus) != EncounterState.Done)
|
||||
if (GetBossState(DataTypes.MajordomoExecutus) != EncounterState.Done)
|
||||
{
|
||||
instance.SummonCreature(MCCreatureIds.MajordomoExecutus, MCMiscConst.SummonPositions[0]);
|
||||
instance.SummonCreature(MCCreatureIds.FlamewakerHealer, MCMiscConst.SummonPositions[1]);
|
||||
@@ -220,10 +235,10 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
|
||||
bool CheckMajordomoExecutus()
|
||||
{
|
||||
if (GetBossState(BossIds.Ragnaros) == EncounterState.Done)
|
||||
if (GetBossState(DataTypes.Ragnaros) == EncounterState.Done)
|
||||
return false;
|
||||
|
||||
for (byte i = 0; i < BossIds.MajordomoExecutus; ++i)
|
||||
for (byte i = 0; i < DataTypes.MajordomoExecutus; ++i)
|
||||
if (GetBossState(i) != EncounterState.Done)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Lucifron
|
||||
[Script]
|
||||
class boss_lucifron : BossAI
|
||||
{
|
||||
public boss_lucifron(Creature creature) : base(creature, BossIds.Lucifron) { }
|
||||
public boss_lucifron(Creature creature) : base(creature, DataTypes.Lucifron) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Magmadar
|
||||
[Script]
|
||||
class boss_magmadar : BossAI
|
||||
{
|
||||
public boss_magmadar(Creature creature) : base(creature, BossIds.Magmadar) { }
|
||||
public boss_magmadar(Creature creature) : base(creature, DataTypes.Magmadar) { }
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Majordomo
|
||||
[Script]
|
||||
class boss_majordomo : BossAI
|
||||
{
|
||||
public boss_majordomo(Creature creature) : base(creature, BossIds.MajordomoExecutus) { }
|
||||
public boss_majordomo(Creature creature) : base(creature, DataTypes.MajordomoExecutus) { }
|
||||
|
||||
public override void KilledUnit(Unit victim)
|
||||
{
|
||||
@@ -93,7 +93,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Majordomo
|
||||
{
|
||||
_scheduler.Update(diff);
|
||||
|
||||
if (instance.GetBossState(BossIds.MajordomoExecutus) != EncounterState.Done)
|
||||
if (instance.GetBossState(DataTypes.MajordomoExecutus) != EncounterState.Done)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
bool _hasSubmergedOnce;
|
||||
bool _isBanished;
|
||||
|
||||
public boss_ragnaros(Creature creature) : base(creature, BossIds.Ragnaros)
|
||||
public boss_ragnaros(Creature creature) : base(creature, DataTypes.Ragnaros)
|
||||
{
|
||||
Initialize();
|
||||
_introState = 0;
|
||||
@@ -153,7 +153,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
|
||||
break;
|
||||
case EventIds.Intro4:
|
||||
Talk(TextIds.SayArrival5Rag);
|
||||
Creature executus = ObjectAccessor.GetCreature(me, instance.GetGuidData(BossIds.MajordomoExecutus));
|
||||
Creature executus = ObjectAccessor.GetCreature(me, instance.GetGuidData(DataTypes.MajordomoExecutus));
|
||||
if (executus)
|
||||
Unit.Kill(me, executus);
|
||||
break;
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Shazzrah
|
||||
[Script]
|
||||
class boss_shazzrah : BossAI
|
||||
{
|
||||
public boss_shazzrah(Creature creature) : base(creature, BossIds.Shazzrah) { }
|
||||
public boss_shazzrah(Creature creature) : base(creature, DataTypes.Shazzrah) { }
|
||||
|
||||
public override void JustEngagedWith(Unit target)
|
||||
{
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore.Sulfuron
|
||||
[Script]
|
||||
class boss_sulfuron : BossAI
|
||||
{
|
||||
public boss_sulfuron(Creature creature) : base(creature, BossIds.SulfuronHarbinger) { }
|
||||
public boss_sulfuron(Creature creature) : base(creature, DataTypes.SulfuronHarbinger) { }
|
||||
|
||||
public override void JustEngagedWith(Unit victim)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user