]> git.deb.at Git - rhonda/impostor.git/commitdiff
Add canOverrideRole param to SetRole
authorminiduikboot <mini@duikbo.at>
Sat, 22 Jun 2024 10:53:02 +0000 (12:53 +0200)
committerminiduikboot <mini@duikbo.at>
Tue, 20 Aug 2024 19:41:38 +0000 (21:41 +0200)
This is currently unused by Innersloth

src/Impostor.Api/Net/Messages/Rpcs/Rpc44SetRole.cs
src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs

index fed431139be32de6c30170b42383a86dbb7d917d..ac57d0d58b7f14fcfe73e8685ede3ddd86a0aafb 100644 (file)
@@ -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();
         }
     }
 }
index 441205af84cd9ce6375c99a59b46e1d6d2d1907f..92020de438b2f058dd6e5a1667021e8af8cdf85e 100644 (file)
@@ -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))