From: miniduikboot Date: Wed, 7 Jul 2021 20:18:50 +0000 (+0200) Subject: Implement RPC 34: Boot from vent X-Git-Tag: v1.6.0^2~6 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=e7c83769ef259c1437948bfab130856569eff104;p=rhonda%2Fimpostor.git Implement RPC 34: Boot from vent --- diff --git a/src/Impostor.Api/Net/Inner/RpcCalls.cs b/src/Impostor.Api/Net/Inner/RpcCalls.cs index b251a93..1fe2327 100644 --- a/src/Impostor.Api/Net/Inner/RpcCalls.cs +++ b/src/Impostor.Api/Net/Inner/RpcCalls.cs @@ -35,5 +35,7 @@ ClimbLadder = 31, UsePlatform = 32, SendQuickChat = 33, + BootFromVent = 34, + UpdateSystem = 35, } } diff --git a/src/Impostor.Api/Net/Messages/Rpcs/Rpc34BootFromVent.cs b/src/Impostor.Api/Net/Messages/Rpcs/Rpc34BootFromVent.cs new file mode 100644 index 0000000..9ae2cb4 --- /dev/null +++ b/src/Impostor.Api/Net/Messages/Rpcs/Rpc34BootFromVent.cs @@ -0,0 +1,15 @@ +namespace Impostor.Api.Net.Messages.Rpcs +{ + public static class Rpc34BootFromVent + { + public static void Serialize(IMessageWriter writer, int ventId) + { + writer.WritePacked(ventId); + } + + public static void Deserialize(IMessageReader reader, out int ventId) + { + ventId = reader.ReadPackedInt32(); + } + } +} diff --git a/src/Impostor.Server/Net/Inner/Objects/Components/InnerPlayerPhysics.cs b/src/Impostor.Server/Net/Inner/Objects/Components/InnerPlayerPhysics.cs index 0e84a68..54cf137 100644 --- a/src/Impostor.Server/Net/Inner/Objects/Components/InnerPlayerPhysics.cs +++ b/src/Impostor.Server/Net/Inner/Objects/Components/InnerPlayerPhysics.cs @@ -46,6 +46,7 @@ namespace Impostor.Server.Net.Inner.Objects.Components { case RpcCalls.EnterVent: case RpcCalls.ExitVent: + { if (!await ValidateImpostor(call, sender, _playerControl.PlayerInfo)) { return false; @@ -86,6 +87,13 @@ namespace Impostor.Server.Net.Inner.Objects.Components } break; + } + + case RpcCalls.BootFromVent: + { + Rpc34BootFromVent.Deserialize(reader, out var ventId); + break; + } case RpcCalls.ClimbLadder: Rpc31ClimbLadder.Deserialize(reader, out var ladderId, out var lastClimbLadderSid);