Rework vent api

This commit is contained in:
js6pak committed 2021-04-06 20:51:06 +02:00
1 parent 970f826dc8
commit 304b4bb7bf
19 files changed
+378 -67

No files matched your search

@@ -7,7 +7,7 @@ namespace Impostor.Api.Events.Player
/// <summary>
/// Gets get the id of the used vent.
/// </summary>
public VentLocation VentId { get; }
public Vent Vent { get; }
/// <summary>
/// Gets a value indicating whether the vent was entered or exited.
@@ -0,0 +1,49 @@
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Impostor.Api.Innersloth.Maps.Vents;
namespace Impostor.Api.Innersloth.Maps
{
public class AirshipData : MapData
{
public AirshipData()
{
Vents = new[]
{
new AirshipVent(AirshipVent.Ids.Vault, new Vector2(-12.6322f, 8.4735f)),
new AirshipVent(AirshipVent.Ids.Cockpit, new Vector2(-22.099f, -1.512f)),
new AirshipVent(AirshipVent.Ids.ViewingDeck, new Vector2(-15.659f, -11.6991f)),
new AirshipVent(AirshipVent.Ids.EngineRoom, new Vector2(0.203f, -2.5361f)),
new AirshipVent(AirshipVent.Ids.Kitchen, new Vector2(-2.6019f, -9.338f)),
new AirshipVent(AirshipVent.Ids.MainHallBottom, new Vector2(7.021f, -3.730999f)),
new AirshipVent(AirshipVent.Ids.GapRight, new Vector2(9.814f, 3.206f)),
new AirshipVent(AirshipVent.Ids.GapLeft, new Vector2(12.663f, 5.922f)),
new AirshipVent(AirshipVent.Ids.MainHallTop, new Vector2(3.605f, 6.923f)),
new AirshipVent(AirshipVent.Ids.Showers, new Vector2(23.9869f, -1.386f)),
new AirshipVent(AirshipVent.Ids.Records, new Vector2(23.2799f, 8.259998f)),
new AirshipVent(AirshipVent.Ids.CargoBay, new Vector2(30.4409f, -3.577f)),
}.ToDictionary(x => x.Id, x => (Vent)x);
ConnectVents(AirshipVent.Ids.Vault, left: AirshipVent.Ids.Cockpit);
ConnectVents(AirshipVent.Ids.Cockpit, left: AirshipVent.Ids.Vault, right: AirshipVent.Ids.ViewingDeck);
ConnectVents(AirshipVent.Ids.ViewingDeck, left: AirshipVent.Ids.Cockpit);
ConnectVents(AirshipVent.Ids.EngineRoom, left: AirshipVent.Ids.Kitchen, right: AirshipVent.Ids.MainHallBottom);
ConnectVents(AirshipVent.Ids.Kitchen, left: AirshipVent.Ids.EngineRoom, right: AirshipVent.Ids.MainHallBottom);
ConnectVents(AirshipVent.Ids.MainHallBottom, left: AirshipVent.Ids.EngineRoom, right: AirshipVent.Ids.Kitchen);
ConnectVents(AirshipVent.Ids.GapRight, left: AirshipVent.Ids.MainHallTop, right: AirshipVent.Ids.GapLeft);
ConnectVents(AirshipVent.Ids.GapLeft, left: AirshipVent.Ids.MainHallTop, right: AirshipVent.Ids.GapRight);
ConnectVents(AirshipVent.Ids.MainHallTop, left: AirshipVent.Ids.GapLeft, right: AirshipVent.Ids.GapRight);
ConnectVents(AirshipVent.Ids.Showers, left: AirshipVent.Ids.Records, right: AirshipVent.Ids.CargoBay);
ConnectVents(AirshipVent.Ids.Records, left: AirshipVent.Ids.Showers, right: AirshipVent.Ids.CargoBay);
ConnectVents(AirshipVent.Ids.CargoBay, left: AirshipVent.Ids.Showers, right: AirshipVent.Ids.Records);
}
public override IReadOnlyDictionary<int, Vent> Vents { get; }
private void ConnectVents(AirshipVent.Ids vent, AirshipVent.Ids? left = null, AirshipVent.Ids? center = null, AirshipVent.Ids? right = null)
{
ConnectVents((int)vent, (int?)left, (int?)center, (int?)right);
}
}
}
@@ -0,0 +1,24 @@
using System.Collections.Generic;
namespace Impostor.Api.Innersloth.Maps
{
public abstract class MapData
{
public static IReadOnlyDictionary<MapTypes, MapData> Maps { get; } = new Dictionary<MapTypes, MapData>
{
[MapTypes.Skeld] = new SkeldData(),
[MapTypes.MiraHQ] = new MiraData(),
[MapTypes.Polus] = new PolusData(),
[MapTypes.Airship] = new AirshipData(),
};
public abstract IReadOnlyDictionary<int, Vent> Vents { get; }
protected void ConnectVents(int vent, int? left = null, int? center = null, int? right = null)
{
Vents[vent].Left = left != null ? Vents[left.Value] : null;
Vents[vent].Center = center != null ? Vents[center.Value] : null;
Vents[vent].Right = right != null ? Vents[right.Value] : null;
}
}
}
@@ -0,0 +1,47 @@
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Impostor.Api.Innersloth.Maps.Vents;
namespace Impostor.Api.Innersloth.Maps
{
public class MiraData : MapData
{
public MiraData()
{
Vents = new[]
{
new MiraVent(MiraVent.Ids.Balcony, new Vector2(23.77f, -1.94f)),
new MiraVent(MiraVent.Ids.Cafeteria, new Vector2(23.9f, 7.18f)),
new MiraVent(MiraVent.Ids.Reactor, new Vector2(0.4800001f, 10.697f)),
new MiraVent(MiraVent.Ids.Laboratory, new Vector2(11.606f, 13.816f)),
new MiraVent(MiraVent.Ids.Office, new Vector2(13.28f, 20.13f)),
new MiraVent(MiraVent.Ids.Admin, new Vector2(22.39f, 17.23f)),
new MiraVent(MiraVent.Ids.Greenhouse, new Vector2(17.85f, 25.23f)),
new MiraVent(MiraVent.Ids.Medbay, new Vector2(15.41f, -1.82f)),
new MiraVent(MiraVent.Ids.Decontamination, new Vector2(6.83f, 3.145f)),
new MiraVent(MiraVent.Ids.LockerRoom, new Vector2(4.29f, 0.5299997f)),
new MiraVent(MiraVent.Ids.Launchpad, new Vector2(-6.18f, 3.56f)),
}.ToDictionary(x => x.Id, x => (Vent)x);
ConnectVents(MiraVent.Ids.Balcony, left: MiraVent.Ids.Medbay, right: MiraVent.Ids.Cafeteria);
ConnectVents(MiraVent.Ids.Cafeteria, left: MiraVent.Ids.Admin, right: MiraVent.Ids.Balcony);
ConnectVents(MiraVent.Ids.Reactor, left: MiraVent.Ids.Laboratory, center: MiraVent.Ids.Decontamination, right: MiraVent.Ids.Launchpad);
ConnectVents(MiraVent.Ids.Laboratory, left: MiraVent.Ids.Reactor, center: MiraVent.Ids.Decontamination, right: MiraVent.Ids.Office);
ConnectVents(MiraVent.Ids.Office, left: MiraVent.Ids.Laboratory, center: MiraVent.Ids.Admin, right: MiraVent.Ids.Greenhouse);
ConnectVents(MiraVent.Ids.Admin, left: MiraVent.Ids.Greenhouse, center: MiraVent.Ids.Cafeteria, right: MiraVent.Ids.Office);
ConnectVents(MiraVent.Ids.Greenhouse, left: MiraVent.Ids.Admin, right: MiraVent.Ids.Office);
ConnectVents(MiraVent.Ids.Medbay, left: MiraVent.Ids.Balcony, right: MiraVent.Ids.LockerRoom);
ConnectVents(MiraVent.Ids.Decontamination, left: MiraVent.Ids.Reactor, center: MiraVent.Ids.LockerRoom, right: MiraVent.Ids.Laboratory);
ConnectVents(MiraVent.Ids.LockerRoom, left: MiraVent.Ids.Medbay, center: MiraVent.Ids.Launchpad, right: MiraVent.Ids.Decontamination);
ConnectVents(MiraVent.Ids.Launchpad, left: MiraVent.Ids.Reactor, right: MiraVent.Ids.LockerRoom);
}
public override IReadOnlyDictionary<int, Vent> Vents { get; }
private void ConnectVents(MiraVent.Ids vent, MiraVent.Ids? left = null, MiraVent.Ids? center = null, MiraVent.Ids? right = null)
{
ConnectVents((int)vent, (int?)left, (int?)center, (int?)right);
}
}
}
@@ -0,0 +1,49 @@
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Impostor.Api.Innersloth.Maps.Vents;
namespace Impostor.Api.Innersloth.Maps
{
public class PolusData : MapData
{
public PolusData()
{
Vents = new[]
{
new PolusVent(PolusVent.Ids.Security, new Vector2(1.929f, -9.558001f)),
new PolusVent(PolusVent.Ids.Electrical, new Vector2(6.9f, -14.41f)),
new PolusVent(PolusVent.Ids.O2, new Vector2(3.51f, -16.58f)),
new PolusVent(PolusVent.Ids.Communications, new Vector2(12.304f, -18.898f)),
new PolusVent(PolusVent.Ids.Office, new Vector2(16.379f, -19.599f)),
new PolusVent(PolusVent.Ids.Admin, new Vector2(20.089f, -25.517f)),
new PolusVent(PolusVent.Ids.Laboratory, new Vector2(32.963f, -9.526f)),
new PolusVent(PolusVent.Ids.Lava, new Vector2(30.907f, -11.86f)),
new PolusVent(PolusVent.Ids.Storage, new Vector2(22f, -12.19f)),
new PolusVent(PolusVent.Ids.RightStabilizer, new Vector2(24.02f, -8.39f)),
new PolusVent(PolusVent.Ids.LeftStabilizer, new Vector2(9.64f, -7.72f)),
new PolusVent(PolusVent.Ids.OutsideAdmin, new Vector2(18.93f, -24.85f)),
}.ToDictionary(x => x.Id, x => (Vent)x);
ConnectVents(PolusVent.Ids.Security, left: PolusVent.Ids.O2, right: PolusVent.Ids.Electrical);
ConnectVents(PolusVent.Ids.Electrical, left: PolusVent.Ids.O2, right: PolusVent.Ids.Security);
ConnectVents(PolusVent.Ids.O2, left: PolusVent.Ids.Electrical, right: PolusVent.Ids.Security);
ConnectVents(PolusVent.Ids.Communications, left: PolusVent.Ids.Storage, right: PolusVent.Ids.Office);
ConnectVents(PolusVent.Ids.Office, left: PolusVent.Ids.Communications, right: PolusVent.Ids.Storage);
ConnectVents(PolusVent.Ids.Admin, left: PolusVent.Ids.OutsideAdmin, right: PolusVent.Ids.Lava);
ConnectVents(PolusVent.Ids.Laboratory, right: PolusVent.Ids.Lava);
ConnectVents(PolusVent.Ids.Lava, left: PolusVent.Ids.Laboratory, right: PolusVent.Ids.Admin);
ConnectVents(PolusVent.Ids.Storage, left: PolusVent.Ids.Communications, right: PolusVent.Ids.Office);
ConnectVents(PolusVent.Ids.RightStabilizer, left: PolusVent.Ids.LeftStabilizer);
ConnectVents(PolusVent.Ids.LeftStabilizer, left: PolusVent.Ids.RightStabilizer);
ConnectVents(PolusVent.Ids.OutsideAdmin, right: PolusVent.Ids.Admin);
}
public override IReadOnlyDictionary<int, Vent> Vents { get; }
private void ConnectVents(PolusVent.Ids vent, PolusVent.Ids? left = null, PolusVent.Ids? center = null, PolusVent.Ids? right = null)
{
ConnectVents((int)vent, (int?)left, (int?)center, (int?)right);
}
}
}
@@ -0,0 +1,53 @@
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Impostor.Api.Innersloth.Maps.Vents;
namespace Impostor.Api.Innersloth.Maps
{
public class SkeldData : MapData
{
public SkeldData()
{
Vents = new[]
{
new SkeldVent(SkeldVent.Ids.Admin, new Vector2(2.544f, -9.955201f)),
new SkeldVent(SkeldVent.Ids.RightHallway, new Vector2(9.384f, -6.438f)),
new SkeldVent(SkeldVent.Ids.Cafeteria, new Vector2(4.2588f, -0.276f)),
new SkeldVent(SkeldVent.Ids.Electrical, new Vector2(-9.7764f, -8.034f)),
new SkeldVent(SkeldVent.Ids.UpperEngine, new Vector2(-15.288f, 2.52f)),
new SkeldVent(SkeldVent.Ids.Security, new Vector2(-12.534f, -6.9492f)),
new SkeldVent(SkeldVent.Ids.Medbay, new Vector2(-10.608f, -4.176f)),
new SkeldVent(SkeldVent.Ids.Weapons, new Vector2(8.820001f, 3.324f)),
new SkeldVent(SkeldVent.Ids.LowerReactor, new Vector2(-20.796f, -6.9528f)),
new SkeldVent(SkeldVent.Ids.LowerEngine, new Vector2(-15.2508f, -13.656f)),
new SkeldVent(SkeldVent.Ids.Shields, new Vector2(9.5232f, -14.3376f)),
new SkeldVent(SkeldVent.Ids.UpperReactor, new Vector2(-21.876f, -3.0516f)),
new SkeldVent(SkeldVent.Ids.UpperNavigation, new Vector2(16.008f, -3.168f)),
new SkeldVent(SkeldVent.Ids.LowerNavigation, new Vector2(16.008f, -6.384f)),
}.ToDictionary(x => x.Id, x => (Vent)x);
ConnectVents(SkeldVent.Ids.Admin, left: SkeldVent.Ids.Cafeteria, right: SkeldVent.Ids.RightHallway);
ConnectVents(SkeldVent.Ids.RightHallway, left: SkeldVent.Ids.Admin, right: SkeldVent.Ids.Cafeteria);
ConnectVents(SkeldVent.Ids.Cafeteria, left: SkeldVent.Ids.Admin, right: SkeldVent.Ids.RightHallway);
ConnectVents(SkeldVent.Ids.Electrical, left: SkeldVent.Ids.Security, right: SkeldVent.Ids.Medbay);
ConnectVents(SkeldVent.Ids.UpperEngine, left: SkeldVent.Ids.UpperReactor);
ConnectVents(SkeldVent.Ids.Security, left: SkeldVent.Ids.Medbay, right: SkeldVent.Ids.Electrical);
ConnectVents(SkeldVent.Ids.Medbay, left: SkeldVent.Ids.Security, right: SkeldVent.Ids.Electrical);
ConnectVents(SkeldVent.Ids.Weapons, right: SkeldVent.Ids.UpperNavigation);
ConnectVents(SkeldVent.Ids.LowerReactor, left: SkeldVent.Ids.LowerEngine);
ConnectVents(SkeldVent.Ids.LowerEngine, left: SkeldVent.Ids.LowerReactor);
ConnectVents(SkeldVent.Ids.Shields, left: SkeldVent.Ids.LowerNavigation);
ConnectVents(SkeldVent.Ids.UpperReactor, left: SkeldVent.Ids.UpperEngine);
ConnectVents(SkeldVent.Ids.UpperNavigation, right: SkeldVent.Ids.Weapons);
ConnectVents(SkeldVent.Ids.LowerNavigation, right: SkeldVent.Ids.Shields);
}
public override IReadOnlyDictionary<int, Vent> Vents { get; }
private void ConnectVents(SkeldVent.Ids vent, SkeldVent.Ids? left = null, SkeldVent.Ids? center = null, SkeldVent.Ids? right = null)
{
ConnectVents((int)vent, (int?)left, (int?)center, (int?)right);
}
}
}
@@ -0,0 +1,27 @@
using System.Numerics;
namespace Impostor.Api.Innersloth.Maps.Vents
{
public class AirshipVent : Vent
{
internal AirshipVent(Ids id, Vector2 position) : base((int)id, id.ToString(), position)
{
}
public enum Ids
{
Vault = 0,
Cockpit = 1,
ViewingDeck = 2,
EngineRoom = 3,
Kitchen = 4,
MainHallBottom = 5,
GapRight = 6,
GapLeft = 7,
MainHallTop = 8,
Showers = 9,
Records = 10,
CargoBay = 11,
}
}
}
@@ -0,0 +1,26 @@
using System.Numerics;
namespace Impostor.Api.Innersloth.Maps.Vents
{
public class MiraVent : Vent
{
internal MiraVent(Ids id, Vector2 position) : base((int)id, id.ToString(), position)
{
}
public enum Ids
{
Balcony = 1,
Cafeteria = 2,
Reactor = 3,
Laboratory = 4,
Office = 5,
Admin = 6,
Greenhouse = 7,
Medbay = 8,
Decontamination = 9,
LockerRoom = 10,
Launchpad = 11,
}
}
}
@@ -0,0 +1,27 @@
using System.Numerics;
namespace Impostor.Api.Innersloth.Maps.Vents
{
public class PolusVent : Vent
{
internal PolusVent(Ids id, Vector2 position) : base((int)id, id.ToString(), position)
{
}
public enum Ids
{
Security = 0,
Electrical = 1,
O2 = 2,
Communications = 3,
Office = 4,
Admin = 5,
Laboratory = 6,
Lava = 7,
Storage = 8,
RightStabilizer = 9,
LeftStabilizer = 10,
OutsideAdmin = 11,
}
}
}
@@ -0,0 +1,29 @@
using System.Numerics;
namespace Impostor.Api.Innersloth.Maps.Vents
{
public class SkeldVent : Vent
{
internal SkeldVent(Ids id, Vector2 position) : base((int)id, id.ToString(), position)
{
}
public enum Ids
{
Admin = 0,
RightHallway = 1,
Cafeteria = 2,
Electrical = 3,
UpperEngine = 4,
Security = 5,
Medbay = 6,
Weapons = 7,
LowerReactor = 8,
LowerEngine = 9,
Shields = 10,
UpperReactor = 11,
UpperNavigation = 12,
LowerNavigation = 13,
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using System.Numerics;
namespace Impostor.Api.Innersloth
{
public abstract class Vent
{
internal Vent(int id, string name, Vector2 position)
{
Id = id;
Name = name;
Position = position;
}
public int Id { get; }
public string Name { get; }
public Vector2 Position { get; }
public Vent? Left { get; internal set; }
public Vent? Center { get; internal set; }
public Vent? Right { get; internal set; }
}
}
@@ -1,62 +0,0 @@
namespace Impostor.Api.Innersloth
{
public enum VentLocation : uint
{
// Skeld
SkeldAdmin = 0,
SkeldRightHallway = 1,
SkeldCafeteria = 2,
SkeldElectrical = 3,
SkeldUpperEngine = 4,
SkeldSecurity = 5,
SkeldMedbay = 6,
SkeldWeapons = 7,
SkeldLowerReactor = 8,
SkeldLowerEngine = 9,
SkeldShields = 10,
SkeldUpperReactor = 11,
SkeldUpperNavigation = 12,
SkeldLowerNavigation = 13,
// Mira HQ
MiraBalcony = 1,
MiraCafeteria = 2,
MiraReactor = 3,
MiraLaboratory = 4,
MiraOffice = 5,
MiraAdmin = 6,
MiraGreenhouse = 7,
MiraMedbay = 8,
MiraDecontamination = 9,
MiraLockerRoom = 10,
MiraLaunchpad = 11,
// Polus
PolusSecurity = 0,
PolusElectrical = 1,
PolusO2 = 2,
PolusCommunications = 3,
PolusOffice = 4,
PolusAdmin = 5,
PolusLaboratory = 6,
PolusLava = 7,
PolusStorage = 8,
PolusRightStabilizer = 9,
PolusLeftStabilizer = 10,
PolusOutsideAdmin = 11,
// Airship
AirshipVault = 0,
AirshipCockpit = 1,
AirshipViewingDeck = 2,
AirshipEngineRoom = 3,
AirshipKitchen = 4,
AirshipMainHallBottom = 5,
AirshipGapRight = 6,
AirshipGapLeft = 7,
AirshipMainHallTop = 8,
AirshipShowers = 9,
AirshipRecords = 10,
AirshipCargoBay = 11,
}
}
@@ -8,12 +8,12 @@ namespace Impostor.Server.Events.Player
{
public class PlayerVentEvent : IPlayerVentEvent
{
public PlayerVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, VentLocation ventId, bool ventEnter)
public PlayerVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, Vent vent, bool ventEnter)
{
Game = game;
ClientPlayer = sender;
PlayerControl = innerPlayerPhysics;
VentId = ventId;
Vent = vent;
VentEnter = ventEnter;
}
@@ -23,7 +23,7 @@ namespace Impostor.Server.Events.Player
public IInnerPlayerControl PlayerControl { get; }
public VentLocation VentId { get; }
public Vent Vent { get; }
public bool VentEnter { get; }
}
@@ -2,6 +2,7 @@ using System;
using System.Threading.Tasks;
using Impostor.Api.Events.Managers;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net;
using Impostor.Api.Net.Inner;
using Impostor.Api.Net.Messages;
@@ -65,7 +66,7 @@ namespace Impostor.Server.Net.Inner.Objects.Components
throw new ArgumentOutOfRangeException(nameof(call), call, null);
}
await _eventManager.CallAsync(new PlayerVentEvent(Game, sender, _playerControl, (VentLocation)ventId, call == RpcCalls.EnterVent));
await _eventManager.CallAsync(new PlayerVentEvent(Game, sender, _playerControl, Game.GameNet.ShipStatus!.Data.Vents[ventId], call == RpcCalls.EnterVent));
break;
case RpcCalls.ClimbLadder:
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Numerics;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net.Inner.Objects.ShipStatus;
using Impostor.Server.Net.Inner.Objects.Systems;
using Impostor.Server.Net.Inner.Objects.Systems.ShipStatus;
@@ -15,6 +16,8 @@ namespace Impostor.Server.Net.Inner.Objects.ShipStatus
{
}
public override MapData Data => MapData.Maps[MapTypes.Airship];
public override Dictionary<int, bool> Doors { get; } = new Dictionary<int, bool>(21);
public override float SpawnRadius => throw new NotSupportedException();
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Numerics;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net.Inner.Objects.ShipStatus;
using Impostor.Server.Net.Inner.Objects.Systems;
using Impostor.Server.Net.Inner.Objects.Systems.ShipStatus;
@@ -14,6 +15,8 @@ namespace Impostor.Server.Net.Inner.Objects.ShipStatus
{
}
public override MapData Data => MapData.Maps[MapTypes.MiraHQ];
public override Dictionary<int, bool> Doors { get; } = new Dictionary<int, bool>(0);
public override float SpawnRadius => 1.55f;
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Numerics;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net.Inner.Objects.ShipStatus;
using Impostor.Server.Net.Inner.Objects.Systems;
using Impostor.Server.Net.Inner.Objects.Systems.ShipStatus;
@@ -14,6 +15,8 @@ namespace Impostor.Server.Net.Inner.Objects.ShipStatus
{
}
public override MapData Data => MapData.Maps[MapTypes.Polus];
public override Dictionary<int, bool> Doors { get; } = new Dictionary<int, bool>(12);
public override float SpawnRadius => 1f;
@@ -5,6 +5,7 @@ using System.Numerics;
using System.Threading.Tasks;
using Impostor.Api;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net;
using Impostor.Api.Net.Inner;
using Impostor.Api.Net.Inner.Objects.ShipStatus;
@@ -25,6 +26,8 @@ namespace Impostor.Server.Net.Inner.Objects.ShipStatus
Components.Add(this);
}
public abstract MapData Data { get; }
public abstract Dictionary<int, bool> Doors { get; }
public abstract float SpawnRadius { get; }
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Numerics;
using Impostor.Api.Innersloth;
using Impostor.Api.Innersloth.Maps;
using Impostor.Api.Net.Inner.Objects.ShipStatus;
using Impostor.Server.Net.Inner.Objects.Systems;
using Impostor.Server.Net.Inner.Objects.Systems.ShipStatus;
@@ -14,6 +15,8 @@ namespace Impostor.Server.Net.Inner.Objects.ShipStatus
{
}
public override MapData Data { get; } = MapData.Maps[MapTypes.Skeld];
public override Dictionary<int, bool> Doors { get; } = new Dictionary<int, bool>(13);
public override float SpawnRadius => 1.6f;