Core/InstanceScript: Refactored door types to reflect its behavior

Port From (https://github.com/TrinityCore/TrinityCore/commit/0e2f04172864e3cff2b5559ac89ded23ade5f92e)
This commit is contained in:
hondacrx
2024-02-02 15:04:43 -05:00
parent c9a11f3ead
commit d9e524a657
10 changed files with 61 additions and 56 deletions
@@ -4,6 +4,7 @@
using Game.Entities;
using Game.Maps;
using Game.Scripting;
using Framework.Constants;
namespace Scripts.Argus.AntorusTheBurningThrone
{
@@ -57,8 +58,8 @@ namespace Scripts.Argus.AntorusTheBurningThrone
public static DoorData[] doorData =
{
new(GameObjectIds.Collision, DataTypes.GarothiWorldbreaker, Framework.Constants.DoorType.Passage),
new(GameObjectIds.Rock, DataTypes.GarothiWorldbreaker, Framework.Constants.DoorType.Passage)
new(GameObjectIds.Collision, DataTypes.GarothiWorldbreaker, EncounterDoorBehavior.OpenWhenDone),
new(GameObjectIds.Rock, DataTypes.GarothiWorldbreaker, EncounterDoorBehavior.OpenWhenDone)
};
public static DungeonEncounterData[] encounters =
@@ -87,7 +87,7 @@ namespace Scripts.DragonIsles.AberrusTheShadowedCrucible
static DoorData[] doorData =
{
new (GameObjectIds.KazzaraDoor, DataTypes.KazzaraTheHellforged, DoorType.Room)
new (GameObjectIds.KazzaraDoor, DataTypes.KazzaraTheHellforged, EncounterDoorBehavior.OpenWhenNotInProgress)
};
static ObjectData[] objData =
@@ -55,8 +55,8 @@ namespace Scripts.DragonIsles.AzureVault
static DoorData[] doorData =
{
new(GameObjectIds.ArcaneVaultsDoorLeymorEntrance, DataTypes.Leymor, DoorType.Room),
new(GameObjectIds.ArcaneVaultsDoorLeymorExit, DataTypes.Leymor, DoorType.Passage),
new(GameObjectIds.ArcaneVaultsDoorLeymorEntrance, DataTypes.Leymor, EncounterDoorBehavior.OpenWhenNotInProgress),
new(GameObjectIds.ArcaneVaultsDoorLeymorExit, DataTypes.Leymor, EncounterDoorBehavior.OpenWhenDone),
};
static DungeonEncounterData[] encounters =
@@ -39,7 +39,7 @@ namespace Scripts.DragonIsles.RubyLifePools
static DoorData[] doorData =
{
new(GameObjectIds.FireWall, DataTypes.KokiaBlazehoof, DoorType.Passage)
new(GameObjectIds.FireWall, DataTypes.KokiaBlazehoof, EncounterDoorBehavior.OpenWhenDone)
};
static DungeonEncounterData[] encounters =
@@ -41,9 +41,9 @@ namespace Scripts.EasternKingdoms.BaradinHold
{
static DoorData[] doorData =
{
new DoorData(GameObjectIds.ArgalothDoor, DataTypes.Argaloth, DoorType.Room),
new DoorData(GameObjectIds.OccutharDoor, DataTypes.Occuthar, DoorType.Room),
new DoorData(GameObjectIds.AlizabalDoor, DataTypes.Alizabal, DoorType.Room),
new DoorData(GameObjectIds.ArgalothDoor, DataTypes.Argaloth, EncounterDoorBehavior.OpenWhenNotInProgress),
new DoorData(GameObjectIds.OccutharDoor, DataTypes.Occuthar, EncounterDoorBehavior.OpenWhenNotInProgress),
new DoorData(GameObjectIds.AlizabalDoor, DataTypes.Alizabal, EncounterDoorBehavior.OpenWhenNotInProgress),
};
static DungeonEncounterData[] encounters =
@@ -116,12 +116,12 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockSpire
public static DoorData[] doorData =
{
new DoorData(GameObjectsIds.Doors, DataTypes.PyrogaurdEmberseer, DoorType.Passage),
new DoorData(GameObjectsIds.EmberseerOut, DataTypes.PyrogaurdEmberseer, DoorType.Passage),
new DoorData(GameObjectsIds.DrakkisathDoor1, DataTypes.GeneralDrakkisath, DoorType.Passage),
new DoorData(GameObjectsIds.DrakkisathDoor2, DataTypes.GeneralDrakkisath, DoorType.Passage),
new DoorData(GameObjectsIds.PortcullisActive, DataTypes.WarchiefRendBlackhand, DoorType.Passage),
new DoorData(GameObjectsIds.PortcullisTobossrooms, DataTypes.WarchiefRendBlackhand, DoorType.Passage),
new DoorData(GameObjectsIds.Doors, DataTypes.PyrogaurdEmberseer, EncounterDoorBehavior.OpenWhenNotInProgress),
new DoorData(GameObjectsIds.EmberseerOut, DataTypes.PyrogaurdEmberseer, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectsIds.DrakkisathDoor1, DataTypes.GeneralDrakkisath, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectsIds.DrakkisathDoor2, DataTypes.GeneralDrakkisath, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectsIds.PortcullisActive, DataTypes.WarchiefRendBlackhand, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectsIds.PortcullisTobossrooms, DataTypes.WarchiefRendBlackhand, EncounterDoorBehavior.OpenWhenDone),
};
}
@@ -78,14 +78,14 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair
public static DoorData[] doorData =
{
new DoorData(BWLGameObjectIds.PortcullisRazorgore, DataTypes.RazorgoreTheUntamed, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisVaelastrasz, DataTypes.VaelastrazTheCorrupt, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisBroodlord, DataTypes.BroodlordLashlayer, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Firemaw, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Ebonroc, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Flamegor, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisChromaggus, DataTypes.Chromaggus, DoorType.Passage),
new DoorData(BWLGameObjectIds.PortcullisNefarian, DataTypes.Nefarian, DoorType.Room),
new DoorData(BWLGameObjectIds.PortcullisRazorgore, DataTypes.RazorgoreTheUntamed, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisVaelastrasz, DataTypes.VaelastrazTheCorrupt, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisBroodlord, DataTypes.BroodlordLashlayer, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Firemaw, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Ebonroc, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisThreedragons, DataTypes.Flamegor, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisChromaggus, DataTypes.Chromaggus, EncounterDoorBehavior.OpenWhenDone),
new DoorData(BWLGameObjectIds.PortcullisNefarian, DataTypes.Nefarian, EncounterDoorBehavior.OpenWhenNotInProgress),
};
public static ObjectData[] creatureData =
@@ -91,11 +91,11 @@ namespace Scripts.EasternKingdoms.MagistersTerrace
public static DoorData[] doorData =
{
new DoorData(GameObjectIds.SunwellRaidGate2, DataTypes.SelinFireheart, DoorType.Passage),
new DoorData(GameObjectIds.AssemblyChamberDoor, DataTypes.SelinFireheart, DoorType.Room),
new DoorData(GameObjectIds.SunwellRaidGate5, DataTypes.Vexallus, DoorType.Passage),
new DoorData(GameObjectIds.SunwellRaidGate4, DataTypes.PriestessDelrissa, DoorType.Passage),
new DoorData(GameObjectIds.AsylumDoor, DataTypes.KaelthasSunstrider, DoorType.Room),
new DoorData(GameObjectIds.SunwellRaidGate2, DataTypes.SelinFireheart, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectIds.AssemblyChamberDoor, DataTypes.SelinFireheart, EncounterDoorBehavior.OpenWhenNotInProgress),
new DoorData(GameObjectIds.SunwellRaidGate5, DataTypes.Vexallus, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectIds.SunwellRaidGate4, DataTypes.PriestessDelrissa, EncounterDoorBehavior.OpenWhenDone),
new DoorData(GameObjectIds.AsylumDoor, DataTypes.KaelthasSunstrider, EncounterDoorBehavior.OpenWhenNotInProgress),
};
public static Position KalecgosSpawnPos = new Position(164.3747f, -397.1197f, 2.151798f, 1.66219f);