mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-20 01:46:25 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ff22da67f | ||
|
|
25d8f47621 | ||
|
|
4306ca8ec3 |
No files matched your search
+8
-3
@@ -142,7 +142,7 @@ public enum Sounds
|
||||
[HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.HandleRpc))]
|
||||
internal class RPCHandlerPatch
|
||||
{
|
||||
public static int ReportDeadBodyRPCs = 0;
|
||||
public static Dictionary<byte, int> ReportDeadBodyRPCs = new();
|
||||
public static bool TrustedRpc(byte id)
|
||||
=> (CustomRPC)id is CustomRPC.VersionCheck or CustomRPC.RequestRetryVersionCheck or CustomRPC.AntiBlackout or CustomRPC.Judge or CustomRPC.SetNiceSwapperVotes or CustomRPC.MeetingKill or CustomRPC.Guess or CustomRPC.MafiaRevenge or CustomRPC.RetributionistRevenge;
|
||||
public static bool Prefix(PlayerControl __instance, [HarmonyArgument(0)] byte callId, [HarmonyArgument(1)] MessageReader reader)
|
||||
@@ -151,7 +151,12 @@ internal class RPCHandlerPatch
|
||||
MessageReader subReader = MessageReader.Get(reader);
|
||||
if (EAC.ReceiveRpc(__instance, callId, reader)) return false;
|
||||
Logger.Info($"{__instance?.Data?.PlayerId}({(__instance?.Data?.PlayerId == 0 ? "Host" : __instance?.Data?.PlayerName)}):{callId}({RPC.GetRpcName(callId)})", "ReceiveRPC");
|
||||
if (callId == 11) ReportDeadBodyRPCs++;
|
||||
if (callId == 11)
|
||||
{
|
||||
if (!ReportDeadBodyRPCs.ContainsKey(__instance.PlayerId)) ReportDeadBodyRPCs.TryAdd(__instance.PlayerId, 0);
|
||||
ReportDeadBodyRPCs[__instance.PlayerId]++;
|
||||
}
|
||||
|
||||
switch (rpcType)
|
||||
{
|
||||
case RpcCalls.SetName: //SetNameRPC
|
||||
@@ -191,7 +196,7 @@ internal class RPCHandlerPatch
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (ReportDeadBodyRPCs > 4)
|
||||
if (ReportDeadBodyRPCs[__instance.PlayerId] > 4)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(__instance.GetClientId(), true);
|
||||
Logger.SendInGame(string.Format(GetString("Warning.ReportDeadBodyHack"), __instance?.Data?.PlayerName));
|
||||
|
||||
+10
-10
@@ -502,23 +502,23 @@ internal class ChatCommands
|
||||
{
|
||||
Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][0] = -1;
|
||||
Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1] = 7;
|
||||
targetNumber = Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][0];
|
||||
Utils.SendMessage(String.Format(GetString("GNoLost"), targetNumber), PlayerControl.LocalPlayer.PlayerId);
|
||||
//targetNumber = Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][0];
|
||||
Utils.SendMessage(string.Format(GetString("GNoLost"), targetNumber), PlayerControl.LocalPlayer.PlayerId);
|
||||
break;
|
||||
}
|
||||
else if (guessedNo < targetNumber)
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoLow"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoLow"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
break;
|
||||
}
|
||||
else if (guessedNo > targetNumber)
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoHigh"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoHigh"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoWon"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoWon"), Main.GuessNumber[PlayerControl.LocalPlayer.PlayerId][1]), PlayerControl.LocalPlayer.PlayerId);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1037,23 +1037,23 @@ internal class ChatCommands
|
||||
{
|
||||
Main.GuessNumber[player.PlayerId][0] = -1;
|
||||
Main.GuessNumber[player.PlayerId][1] = 7;
|
||||
targetNumber = Main.GuessNumber[player.PlayerId][0];
|
||||
Utils.SendMessage(String.Format(GetString("GNoLost"), targetNumber), player.PlayerId);
|
||||
//targetNumber = Main.GuessNumber[player.PlayerId][0];
|
||||
Utils.SendMessage(string.Format(GetString("GNoLost"), targetNumber), player.PlayerId);
|
||||
break;
|
||||
}
|
||||
else if (guessedNo < targetNumber)
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoLow"), Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoLow"), Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
break;
|
||||
}
|
||||
else if (guessedNo > targetNumber)
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoHigh"), Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoHigh"), Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.SendMessage(String.Format(GetString("GNoWon"), 7 - Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
Utils.SendMessage(string.Format(GetString("GNoWon"), 7 - Main.GuessNumber[player.PlayerId][1]), player.PlayerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1900,6 +1900,8 @@ class FixedUpdatePatch
|
||||
LocateArrow.OnFixedUpdate(player);
|
||||
}
|
||||
|
||||
if (!lowLoad && RPCHandlerPatch.ReportDeadBodyRPCs.ContainsKey(player.PlayerId)) RPCHandlerPatch.ReportDeadBodyRPCs.Remove(player.PlayerId);
|
||||
|
||||
if (AmongUsClient.Instance.AmHost)
|
||||
{//実行クライアントがホストの場合のみ実行
|
||||
if (GameStates.IsLobby && ((ModUpdater.hasUpdate && ModUpdater.forceUpdate) || ModUpdater.isBroken || !Main.AllowPublicRoom) && AmongUsClient.Instance.IsGamePublic)
|
||||
|
||||
Reference in new issue
Block a user