From e75be2bedfa86f70f7f648906e9e03688137307d Mon Sep 17 00:00:00 2001 From: blankochan Date: Tue, 6 May 2025 16:53:54 -0500 Subject: [PATCH 1/2] fix: Use Role.Set until exiled fixes EscapingEventArgs.NewRole --- SillySCP/Handlers/Player.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/SillySCP/Handlers/Player.cs b/SillySCP/Handlers/Player.cs index 83925e1..f942e91 100644 --- a/SillySCP/Handlers/Player.cs +++ b/SillySCP/Handlers/Player.cs @@ -140,18 +140,15 @@ private void OnEscaping(EscapingEventArgs ev) { if (ev.Player.Role.Type == RoleTypeId.FacilityGuard && ev.Player.IsCuffed) { - ev.IsAllowed = true; - ev.NewRole = RoleTypeId.ChaosConscript; + ev.Player.Role.Set(RoleTypeId.ChaosConscript); } if(ev.Player.IsNTF && ev.Player.IsCuffed) { - ev.IsAllowed = true; - ev.NewRole = RoleTypeId.ChaosConscript; + ev.Player.Role.Set(RoleTypeId.ChaosConscript); } if(ev.Player.IsCHI && ev.Player.IsCuffed) { - ev.IsAllowed = true; - ev.NewRole = RoleTypeId.NtfPrivate; + ev.Player.Role.Set(RoleTypeId.NtfPrivate); } } From be8a5ab55356240a385ac625baec5e10bbaac84d Mon Sep 17 00:00:00 2001 From: blankochan Date: Wed, 7 May 2025 12:18:56 -0500 Subject: [PATCH 2/2] fix: use custom scenario instead --- SillySCP/Handlers/Player.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/SillySCP/Handlers/Player.cs b/SillySCP/Handlers/Player.cs index f942e91..f64dbb5 100644 --- a/SillySCP/Handlers/Player.cs +++ b/SillySCP/Handlers/Player.cs @@ -138,17 +138,24 @@ private void OnUsingItemCompleted(UsingItemCompletedEventArgs ev) private void OnEscaping(EscapingEventArgs ev) { + if (ev.Player.Role.Type == RoleTypeId.FacilityGuard && ev.Player.IsCuffed) { - ev.Player.Role.Set(RoleTypeId.ChaosConscript); + ev.EscapeScenario = EscapeScenario.CustomEscape; + ev.IsAllowed = true; + ev.NewRole = RoleTypeId.ChaosConscript; } if(ev.Player.IsNTF && ev.Player.IsCuffed) { - ev.Player.Role.Set(RoleTypeId.ChaosConscript); + ev.EscapeScenario = EscapeScenario.CustomEscape; + ev.IsAllowed = true; + ev.NewRole = RoleTypeId.ChaosConscript; } if(ev.Player.IsCHI && ev.Player.IsCuffed) { - ev.Player.Role.Set(RoleTypeId.NtfPrivate); + ev.EscapeScenario = EscapeScenario.CustomEscape; + ev.IsAllowed = true; + ev.NewRole = RoleTypeId.NtfPrivate; } }