From 7177c2dee856439b83e7a218b717e13a20a9a701 Mon Sep 17 00:00:00 2001
From: xNexus-ACS <83370388+xNexus-ACS@users.noreply.github.com>
Date: Mon, 23 Jan 2023 22:02:46 +0100
Subject: [PATCH 1/3] Positions to CursedRoom and CursedDecontamination
---
.../Facility/CursedDecontamination.cs | 35 +++++++++++++++++++
.../Wrappers/Facility/Rooms/CursedRoom.cs | 4 +++
2 files changed, 39 insertions(+)
create mode 100644 CursedMod/Features/Wrappers/Facility/CursedDecontamination.cs
diff --git a/CursedMod/Features/Wrappers/Facility/CursedDecontamination.cs b/CursedMod/Features/Wrappers/Facility/CursedDecontamination.cs
new file mode 100644
index 00000000..fc8894a8
--- /dev/null
+++ b/CursedMod/Features/Wrappers/Facility/CursedDecontamination.cs
@@ -0,0 +1,35 @@
+using LightContainmentZoneDecontamination;
+using PhaseFunction = LightContainmentZoneDecontamination.DecontaminationController.DecontaminationPhase.PhaseFunction;
+using DecontaminationStatus = LightContainmentZoneDecontamination.DecontaminationController.DecontaminationStatus;
+
+namespace CursedMod.Features.Wrappers.Facility;
+
+public class CursedDecontamination
+{
+ public DecontaminationController DecontaminationController { get; }
+
+ public CursedDecontamination(DecontaminationController decontaminationController)
+ {
+ DecontaminationController = decontaminationController;
+ }
+
+ public double StartTime
+ {
+ get => DecontaminationController.NetworkRoundStartTime;
+ set => DecontaminationController.NetworkRoundStartTime = value;
+ }
+
+ public bool IsDecontaminating => DecontaminationController.IsDecontaminating;
+
+ public bool IsAnnouncementHearable => DecontaminationController.IsAnnouncementHearable;
+
+ public PhaseFunction CurrentFunction => DecontaminationController.Singleton._curFunction;
+
+ public DecontaminationStatus Status => DecontaminationController.Singleton.DecontaminationOverride;
+
+ public void StopDecontamination() => DecontaminationController.NetworkRoundStartTime = -1f;
+
+ public void StartDecontamination() => DecontaminationController.NetworkRoundStartTime = 1f;
+
+ public void SetStatus(DecontaminationStatus status) => DecontaminationController.Singleton.DecontaminationOverride = status;
+}
\ No newline at end of file
diff --git a/CursedMod/Features/Wrappers/Facility/Rooms/CursedRoom.cs b/CursedMod/Features/Wrappers/Facility/Rooms/CursedRoom.cs
index b09655bd..09d08908 100644
--- a/CursedMod/Features/Wrappers/Facility/Rooms/CursedRoom.cs
+++ b/CursedMod/Features/Wrappers/Facility/Rooms/CursedRoom.cs
@@ -16,6 +16,10 @@ public CursedRoom(RoomIdentifier room)
public Quaternion Rotation => Room.transform.rotation;
+ public GameObject GameObject => Room.gameObject;
+
+ public Transform Transform => Room.transform;
+
public RoomName Name => Room.Name;
public FacilityZone Zone => Room.Zone;
From ac236be06389b532e05cd6b2ff5f72963676766c Mon Sep 17 00:00:00 2001
From: xNexus-ACS <83370388+xNexus-ACS@users.noreply.github.com>
Date: Mon, 23 Jan 2023 22:13:24 +0100
Subject: [PATCH 2/3] VoiceChat
---
.../Player/VoiceChat/CursedVoiceChat.cs | 30 +++++++++++++++++++
.../Player/VoiceChat/CursedVoicePlayback.cs | 25 ++++++++++++++++
2 files changed, 55 insertions(+)
create mode 100644 CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoiceChat.cs
create mode 100644 CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoicePlayback.cs
diff --git a/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoiceChat.cs b/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoiceChat.cs
new file mode 100644
index 00000000..e0086350
--- /dev/null
+++ b/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoiceChat.cs
@@ -0,0 +1,30 @@
+using PlayerRoles.Voice;
+using VoiceChat;
+
+namespace CursedMod.Features.Wrappers.Player.VoiceChat;
+
+public class CursedVoiceChat
+{
+ public VoiceModuleBase VoiceModule { get; }
+
+ public CursedVoiceChat(VoiceModuleBase voiceModule)
+ {
+ VoiceModule = voiceModule;
+ }
+
+ public VoiceChatChannel LastChannel => VoiceModule._lastChannel;
+
+ public VoiceChatChannel CurrentChannel
+ {
+ get => VoiceModule.CurrentChannel;
+ set => VoiceModule.CurrentChannel = value;
+ }
+
+ public bool IsSpeaking => VoiceModule.IsSpeaking;
+
+ public void CheckRateLimit() => VoiceModule.CheckRateLimit();
+
+ public void ValidateReceive(ReferenceHub refHub, VoiceChatChannel channel) => VoiceModule.ValidateReceive(refHub, channel);
+
+ public void ValidateSend(VoiceChatChannel channel) => VoiceModule.ValidateSend(channel);
+}
\ No newline at end of file
diff --git a/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoicePlayback.cs b/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoicePlayback.cs
new file mode 100644
index 00000000..e3d392ca
--- /dev/null
+++ b/CursedMod/Features/Wrappers/Player/VoiceChat/CursedVoicePlayback.cs
@@ -0,0 +1,25 @@
+using VoiceChat.Playbacks;
+
+namespace CursedMod.Features.Wrappers.Player.VoiceChat;
+
+public class CursedVoicePlayback
+{
+ public VoiceChatPlaybackBase VoiceChatPlayback { get; }
+
+ public CursedVoicePlayback(VoiceChatPlaybackBase voiceChatPlayback)
+ {
+ VoiceChatPlayback = voiceChatPlayback;
+ }
+
+ public float Loudness
+ {
+ get => VoiceChatPlayback.Loudness;
+ set => VoiceChatPlayback.Loudness = value;
+ }
+
+ public float VolumeScale
+ {
+ get => VoiceChatPlayback.VolumeScale;
+ set => VoiceChatPlayback.VolumeScale = value;
+ }
+}
\ No newline at end of file
From b19a4e0de8545e7eccc38f51f684aebaa19903be Mon Sep 17 00:00:00 2001
From: xNexus-ACS <83370388+xNexus-ACS@users.noreply.github.com>
Date: Mon, 23 Jan 2023 22:14:34 +0100
Subject: [PATCH 3/3] update csproj
---
CursedMod/CursedMod.csproj | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CursedMod/CursedMod.csproj b/CursedMod/CursedMod.csproj
index b0536ea0..32a0c476 100644
--- a/CursedMod/CursedMod.csproj
+++ b/CursedMod/CursedMod.csproj
@@ -79,6 +79,7 @@
+
@@ -121,6 +122,8 @@
+
+