mirror of
https://github.com/D1GQ/BetterAmongUs.git
synced 2026-10-20 01:46:19 +00:00
Slowly adding TOHE support
This commit is contained in:
1 parent
22bc8d28ff
commit
447cf893af
2 files changed
+64
-60
No files matched your search
+62
-60
@@ -153,72 +153,74 @@ internal static class RPC
|
||||
{
|
||||
if (player == null || player.IsLocalPlayer() || player.Data == null) return;
|
||||
|
||||
if (Enum.IsDefined(typeof(CustomRPC), (int)unchecked(callId)))
|
||||
{
|
||||
MessageReader reader = MessageReader.Get(oldReader);
|
||||
|
||||
switch (callId)
|
||||
{
|
||||
case (byte)CustomRPC.BetterCheck:
|
||||
{
|
||||
var SetBetterUser = reader.ReadBoolean();
|
||||
var IsBetterHost = reader.ReadBoolean();
|
||||
var Signature = reader.ReadString();
|
||||
var Version = reader.ReadString();
|
||||
var IsVerified = Signature == Main.modSignature;
|
||||
if (!player.IsHost() && IsBetterHost)
|
||||
{
|
||||
BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called as BetterHost");
|
||||
break;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(Signature) || string.IsNullOrEmpty(Version))
|
||||
{
|
||||
BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called with invalid info");
|
||||
break;
|
||||
}
|
||||
|
||||
player.BetterData().IsBetterUser = SetBetterUser;
|
||||
player.BetterData().IsBetterHost = IsBetterHost;
|
||||
|
||||
if (IsVerified)
|
||||
{
|
||||
player.BetterData().IsVerifiedBetterUser = true;
|
||||
}
|
||||
|
||||
Logger.Log($"Received better user RPC from: {player.Data.PlayerName}:{player.Data.FriendCode}:{Utils.GetHashPuid(player)} - " +
|
||||
$"BetterUser: {SetBetterUser} - " +
|
||||
$"BetterHost: {IsBetterHost} - " +
|
||||
$"Version: {Version} - " +
|
||||
$"Verified: {IsVerified} - " +
|
||||
$"Signature: {Signature}");
|
||||
|
||||
SyncAllNames(force: true);
|
||||
}
|
||||
break;
|
||||
/*
|
||||
case (byte)CustomRPC.VersionCheck or (byte)CustomRPC.RequestRetryVersionCheck:
|
||||
if (player.IsHost())
|
||||
{
|
||||
player.BetterData().IsTOHEHost = true;
|
||||
}
|
||||
break;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var flag = Enum.IsDefined(typeof(CustomRPC), (int)callId) || Enum.IsDefined(typeof(RpcCalls), callId);
|
||||
|
||||
if (!flag && player.IsHost())
|
||||
if (!GameStates.IsTOHEHostLobby)
|
||||
{
|
||||
var BAU = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
|
||||
Utils.DisconnectSelf($"{BAU} does not support\n<b>Modded Lobbies</b>!");
|
||||
var flag = Enum.IsDefined(typeof(CustomRPC), (int)callId) || Enum.IsDefined(typeof(RpcCalls), callId);
|
||||
|
||||
if (!flag && player.IsHost())
|
||||
{
|
||||
var BAU = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
|
||||
Utils.DisconnectSelf($"{BAU} does not support\n<b>Modded Lobbies</b>!");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (!Enum.IsDefined(typeof(CustomRPC), (int)unchecked(callId))) return;
|
||||
|
||||
MessageReader reader = MessageReader.Get(oldReader);
|
||||
|
||||
switch (callId)
|
||||
{
|
||||
case (byte)CustomRPC.BetterCheck:
|
||||
{
|
||||
var SetBetterUser = reader.ReadBoolean();
|
||||
var IsBetterHost = reader.ReadBoolean();
|
||||
var Signature = reader.ReadString();
|
||||
var Version = reader.ReadString();
|
||||
var IsVerified = Signature == Main.modSignature;
|
||||
if (!player.IsHost() && IsBetterHost)
|
||||
{
|
||||
BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called as BetterHost");
|
||||
break;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(Signature) || string.IsNullOrEmpty(Version))
|
||||
{
|
||||
BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called with invalid info");
|
||||
break;
|
||||
}
|
||||
|
||||
player.BetterData().IsBetterUser = SetBetterUser;
|
||||
player.BetterData().IsBetterHost = IsBetterHost;
|
||||
|
||||
if (IsVerified)
|
||||
{
|
||||
player.BetterData().IsVerifiedBetterUser = true;
|
||||
}
|
||||
|
||||
Logger.Log($"Received better user RPC from: {player.Data.PlayerName}:{player.Data.FriendCode}:{Utils.GetHashPuid(player)} - " +
|
||||
$"BetterUser: {SetBetterUser} - " +
|
||||
$"BetterHost: {IsBetterHost} - " +
|
||||
$"Version: {Version} - " +
|
||||
$"Verified: {IsVerified} - " +
|
||||
$"Signature: {Signature}");
|
||||
|
||||
SyncAllNames(force: true);
|
||||
}
|
||||
break;
|
||||
/*
|
||||
case (byte)CustomRPC.VersionCheck or (byte)CustomRPC.RequestRetryVersionCheck:
|
||||
if (player.IsHost())
|
||||
{
|
||||
player.BetterData().IsTOHEHost = true;
|
||||
var BAU = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
|
||||
Utils.DisconnectSelf($"{BAU} does not support <color=#ff9cdc><b>TOHE</b></color>");
|
||||
}
|
||||
break;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
public static void HandleRPC(PlayerControl player, byte callId, MessageReader oldReader)
|
||||
|
||||
@@ -34,6 +34,8 @@ public class PingTrackerPatch
|
||||
sb.Append("<size=68%><color=#8040bf>By</color> <color=#bc4345>The Enhanced Network</color></size>\n");
|
||||
// sb.Append($"<size=50%><color=#b5b5b5>{Main.Github}</color></size>\n");
|
||||
|
||||
if (GameStates.IsTOHEHostLobby) sb.Append($"<size=75%><color=#e197dc>TOHE Lobby</color></size>\n");
|
||||
|
||||
if (Main.BetterHost.Value && GameStates.IsHost)
|
||||
{
|
||||
sb.Append($"<size=75%>{Translator.GetString("BetterOption.BetterHost")}: <color=#00f04c>Enabled</color></size>\n");
|
||||
|
||||
Reference in new issue
Block a user