Skip to content

Commit 32a7bf9

Browse files
Fixed camera still being able to send elevators
1 parent 2280f5c commit 32a7bf9

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

CameraSystem-LabAPI/CameraSystem-LabAPI.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
<Compile Include="Models\PresetConfig.cs" />
8989
<Compile Include="Models\Watcher.cs" />
9090
<Compile Include="Models\WorkstationConfig.cs" />
91+
<Compile Include="Patches\Scp079ElevatorPatch.cs" />
9192
<Compile Include="Patches\Scp079ScanningPossiblePatch.cs" />
9293
<Compile Include="Patches\Scp330InterobjectPatch.cs" />
9394
<Compile Include="Patches\WorkstationActivationPatch.cs" />

CameraSystem-LabAPI/EventHandlers.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using LabApi.Events.Handlers;
99
using LabApi.Features.Wrappers;
1010
using Mirror;
11+
using PlayerRoles;
1112
using UnityEngine;
1213
using VoiceChat;
1314
using Logger = LabApi.Features.Console.Logger;
@@ -47,7 +48,6 @@ internal static void Register()
4748
Scp079Events.UsingTesla += OnPlayerEvent;
4849

4950
PlayerEvents.TriggeringTesla += OnPlayerEvent;
50-
PlayerEvents.InteractingElevator += OnPlayerEvent;
5151
PlayerEvents.InteractingDoor += OnOpenDoor;
5252
PlayerEvents.Hurting += OnHurting;
5353
PlayerEvents.Cuffing += OnHandcuffing;
@@ -71,7 +71,6 @@ internal static void Unregister()
7171
Scp079Events.UsingTesla -= OnPlayerEvent;
7272

7373
PlayerEvents.TriggeringTesla -= OnPlayerEvent;
74-
PlayerEvents.InteractingElevator -= OnPlayerEvent;
7574
PlayerEvents.InteractingDoor -= OnOpenDoor;
7675
PlayerEvents.Hurting -= OnHurting;
7776
PlayerEvents.Cuffing -= OnHandcuffing;
@@ -82,9 +81,7 @@ internal static void Unregister()
8281
PlayerEvents.SendingVoiceMessage -= OnSendingVoiceChat;
8382
}
8483

85-
private static void OnMapGenerated(MapGeneratedEventArgs _) => SpawnWorkstations();
86-
87-
private static void SpawnWorkstations()
84+
private static void OnMapGenerated(MapGeneratedEventArgs _)
8885
{
8986
if (WorkStationPrefab == null)
9087
{
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using CameraSystem.Managers;
2+
using HarmonyLib;
3+
using LabApi.Features.Wrappers;
4+
using PlayerRoles.PlayableScps.Scp079;
5+
6+
namespace CameraSystem.Patches;
7+
8+
[HarmonyPatch]
9+
public class Scp079ElevatorPatch
10+
{
11+
[HarmonyPatch(typeof(Scp079ElevatorStateChanger), nameof(Scp079ElevatorStateChanger.ServerProcessCmd))]
12+
[HarmonyPrefix]
13+
// ReSharper disable once InconsistentNaming
14+
public static bool On079InteractElevator(Scp079ElevatorStateChanger __instance)
15+
{
16+
var owner = Player.Get(__instance.Owner);
17+
return owner == null || !CameraManager.Instance.IsWatching(owner);
18+
}
19+
}

0 commit comments

Comments
 (0)