mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-20 01:46:11 +00:00
Rework vent api
This commit is contained in:
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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user