@@ -38,7 +38,6 @@ internal static void Register()
3838 Scp079Events . Pinging += OnPinging ;
3939 Scp079Events . Recontaining += OnRecontaining ;
4040
41- // TODO: Make sure camera cannot do anything (opening doors/sending elevators may be possible)
4241 Scp079Events . BlackingOutRoom += OnPlayerEvent ;
4342 Scp079Events . BlackingOutZone += OnPlayerEvent ;
4443 Scp079Events . ChangingCamera += OnChangingCamera ;
@@ -55,8 +54,8 @@ internal static void Register()
5554 PlayerEvents . Left += OnLeft ;
5655 PlayerEvents . Dying += OnDying ;
5756
58- PlayerEvents . ReceivingVoiceMessage += OnVoiceChatting ;
59- PlayerEvents . SendingVoiceMessage += OnVoiceChatting ;
57+ PlayerEvents . ReceivingVoiceMessage += OnReceivingVoiceChat ;
58+ PlayerEvents . SendingVoiceMessage += OnSendingVoiceChat ;
6059 }
6160
6261 internal static void Unregister ( )
@@ -79,8 +78,8 @@ internal static void Unregister()
7978 PlayerEvents . Left -= OnLeft ;
8079 PlayerEvents . Dying -= OnDying ;
8180
82- PlayerEvents . ReceivingVoiceMessage -= OnVoiceChatting ;
83- PlayerEvents . SendingVoiceMessage -= OnVoiceChatting ;
81+ PlayerEvents . ReceivingVoiceMessage -= OnReceivingVoiceChat ;
82+ PlayerEvents . SendingVoiceMessage -= OnSendingVoiceChat ;
8483 }
8584
8685 private static void OnMapGenerated ( MapGeneratedEventArgs _ ) => SpawnWorkstations ( ) ;
@@ -228,13 +227,19 @@ private static void OnLeft(PlayerLeftEventArgs ev)
228227 CameraManager . Instance . ForceDisconnect ( ev . Player ) ;
229228 }
230229
231- private static void OnVoiceChatting ( IPlayerEvent ev )
230+ private static void OnSendingVoiceChat ( PlayerSendingVoiceMessageEventArgs ev )
232231 {
233- if ( ev is IVoiceMessageEvent voiceMessageEvent and ICancellableEvent cancellableEvent &&
234- CameraManager . Instance . IsWatching ( ev . Player ) &&
235- voiceMessageEvent . Message . Channel == VoiceChatChannel . ScpChat )
232+ if ( CameraManager . Instance . IsWatching ( ev . Player ) )
233+ {
234+ ev . IsAllowed = false ;
235+ }
236+ }
237+
238+ private static void OnReceivingVoiceChat ( PlayerReceivingVoiceMessageEventArgs ev )
239+ {
240+ if ( ev . Message . Channel == VoiceChatChannel . ScpChat && CameraManager . Instance . IsWatching ( ev . Player ) )
236241 {
237- cancellableEvent . IsAllowed = false ;
242+ ev . IsAllowed = false ;
238243 }
239244 }
240245
0 commit comments