From: miniduikboot Date: Sat, 22 Jun 2024 10:53:02 +0000 (+0200) Subject: Add canOverrideRole param to SetRole X-Git-Tag: v1.10.0~7^2~16 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=2eca9b4e9fe1fc91d2e45073bb464d658f540554;p=rhonda%2Fimpostor.git Add canOverrideRole param to SetRole This is currently unused by Innersloth --- diff --git a/src/Impostor.Api/Net/Messages/Rpcs/Rpc44SetRole.cs b/src/Impostor.Api/Net/Messages/Rpcs/Rpc44SetRole.cs index fed4311..ac57d0d 100644 --- a/src/Impostor.Api/Net/Messages/Rpcs/Rpc44SetRole.cs +++ b/src/Impostor.Api/Net/Messages/Rpcs/Rpc44SetRole.cs @@ -4,14 +4,16 @@ namespace Impostor.Api.Net.Messages.Rpcs { public static class Rpc44SetRole { - public static void Serialize(IMessageWriter writer, RoleTypes role) + public static void Serialize(IMessageWriter writer, RoleTypes role, bool canOverrideRole) { writer.Write((ushort)role); + writer.Write(canOverrideRole); } - public static void Deserialize(IMessageReader reader, out RoleTypes role) + public static void Deserialize(IMessageReader reader, out RoleTypes role, out bool canOverrideRole) { role = (RoleTypes)reader.ReadUInt16(); + canOverrideRole = reader.ReadBoolean(); } } } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs index 441205a..92020de 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs @@ -383,7 +383,7 @@ namespace Impostor.Server.Net.Inner.Objects return false; } - Rpc44SetRole.Deserialize(reader, out var role); + Rpc44SetRole.Deserialize(reader, out var role, out var _); PlayerInfo.RoleType = role; if (Game.GameState == GameStates.Starting && Game.Players.All(clientPlayer => clientPlayer.Character?.PlayerInfo.RoleType != null))