From c51a1f9c1f8d3ead4ba50b7b0a613fad35907b71 Mon Sep 17 00:00:00 2001 From: js6pak Date: Wed, 15 Dec 2021 15:33:01 +0100 Subject: [PATCH] Readd HandleSet{Pet/Hat/Skin} --- .../Net/Inner/Objects/InnerPlayerControl.cs | 71 +++++++++---------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs index fba3441..ff35b30 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs @@ -308,8 +308,7 @@ namespace Impostor.Server.Net.Inner.Objects } Rpc41SetPet.Deserialize(reader, out var pet); - return true; - // return await HandleSetPet(sender, pet); + return await HandleSetPet(sender, pet); } case RpcCalls.SetStartCounter: @@ -611,29 +610,29 @@ namespace Impostor.Server.Net.Inner.Objects return true; } - // private async ValueTask HandleSetHat(ClientPlayer sender, HatType hat) - // { - // if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetHat, "Client tried to change hat while not in lobby")) - // { - // return false; - // } - // - // PlayerInfo.Hat = hat; - // - // return true; - // } - // - // private async ValueTask HandleSetSkin(ClientPlayer sender, SkinType skin) - // { - // if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetSkin, "Client tried to change skin while not in lobby")) - // { - // return false; - // } - // - // PlayerInfo.Skin = skin; - // - // return true; - // } + private async ValueTask HandleSetHat(ClientPlayer sender, string hat) + { + if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetHat, "Client tried to change hat while not in lobby")) + { + return false; + } + + PlayerInfo.CurrentOutfit.HatId = hat; + + return true; + } + + private async ValueTask HandleSetSkin(ClientPlayer sender, string skin) + { + if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetSkin, "Client tried to change skin while not in lobby")) + { + return false; + } + + PlayerInfo.CurrentOutfit.SkinId = skin; + + return true; + } private async ValueTask HandleCheckMurder(ClientPlayer sender, IInnerPlayerControl? target) { @@ -704,17 +703,17 @@ namespace Impostor.Server.Net.Inner.Objects await _eventManager.CallAsync(new PlayerStartMeetingEvent(Game, Game.GetClientPlayer(this.OwnerId)!, this, deadPlayer)); } - // private async ValueTask HandleSetPet(ClientPlayer sender, PetType pet) - // { - // if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetPet, "Client tried to change pet while not in lobby")) - // { - // return false; - // } - // - // PlayerInfo.Pet = pet; - // - // return true; - // } + private async ValueTask HandleSetPet(ClientPlayer sender, string pet) + { + if (Game.GameState == GameStates.Started && await sender.Client.ReportCheatAsync(RpcCalls.SetPet, "Client tried to change pet while not in lobby")) + { + return false; + } + + PlayerInfo.CurrentOutfit.PetId = pet; + + return true; + } private async ValueTask HandleSetStartCounter(ClientPlayer sender, int sequenceId, sbyte startCounter) { -- 2.39.5