mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-19 15:51:42 +00:00
Implement fungle rpcs
This commit is contained in:
1 parent
9b58f2b36d
commit
5b14c7b64e
7 files changed
+174
No files matched your search
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc51CheckZipline
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool fromTop)
|
||||
{
|
||||
writer.Write(fromTop);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out bool fromTop)
|
||||
{
|
||||
fromTop = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc52UseZipline
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool fromTop)
|
||||
{
|
||||
writer.Write(fromTop);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out bool fromTop)
|
||||
{
|
||||
fromTop = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc53TriggerSpores
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, int mushroomId)
|
||||
{
|
||||
writer.WritePacked(mushroomId);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int mushroomId)
|
||||
{
|
||||
mushroomId = reader.ReadPackedInt32();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc54CheckSpore
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, int mushroomId)
|
||||
{
|
||||
writer.WritePacked(mushroomId);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int mushroomId)
|
||||
{
|
||||
mushroomId = reader.ReadPackedInt32();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc55CheckShapeshift
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, IInnerPlayerControl playerControl, bool shouldAnimate)
|
||||
{
|
||||
writer.Write(playerControl);
|
||||
writer.Write(shouldAnimate);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, IGame game, out IInnerPlayerControl? playerControl, out bool shouldAnimate)
|
||||
{
|
||||
playerControl = reader.ReadNetObject<IInnerPlayerControl>(game);
|
||||
shouldAnimate = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc56RejectShapeshift
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -398,6 +398,11 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
|
||||
case RpcCalls.Shapeshift:
|
||||
{
|
||||
if (!await ValidateHost(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!await ValidateRole(call, sender, PlayerInfo, RoleTypes.Shapeshifter))
|
||||
{
|
||||
return false;
|
||||
@@ -410,6 +415,11 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
|
||||
case RpcCalls.CheckMurder:
|
||||
{
|
||||
if (!await ValidateOwnership(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!await ValidateImpostor(call, sender, PlayerInfo))
|
||||
{
|
||||
return false;
|
||||
@@ -421,6 +431,11 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
|
||||
case RpcCalls.CheckProtect:
|
||||
{
|
||||
if (!await ValidateOwnership(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!await ValidateRole(call, sender, PlayerInfo, RoleTypes.GuardianAngel))
|
||||
{
|
||||
return false;
|
||||
@@ -430,6 +445,72 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.CheckZipline:
|
||||
{
|
||||
if (!await ValidateOwnership(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc51CheckZipline.Deserialize(reader, out var fromTop);
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.UseZipline:
|
||||
{
|
||||
if (!await ValidateHost(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc52UseZipline.Deserialize(reader, out var fromTop);
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.TriggerSpores:
|
||||
{
|
||||
if (!await ValidateHost(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc53TriggerSpores.Deserialize(reader, out var mushroomId);
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.CheckSpore:
|
||||
{
|
||||
if (!await ValidateOwnership(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc54CheckSpore.Deserialize(reader, out var mushroomId);
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.CheckShapeshift:
|
||||
{
|
||||
if (!await ValidateOwnership(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc46Shapeshift.Deserialize(reader, Game, out var playerControl, out var shouldAnimate);
|
||||
break;
|
||||
}
|
||||
|
||||
case RpcCalls.RejectShapeshift:
|
||||
{
|
||||
if (!await ValidateHost(call, sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Rpc56RejectShapeshift.Deserialize(reader);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
return await base.HandleRpcAsync(sender, target, call, reader);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user