mirror of
https://github.com/D1GQ/BetterAmongUs.git
synced 2026-10-20 01:46:19 +00:00
54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using BetterAmongUs.Helpers;
|
|
using BetterAmongUs.Modules;
|
|
using BetterAmongUs.Patches;
|
|
using HarmonyLib;
|
|
|
|
namespace BetterAmongUs.Managers;
|
|
|
|
[HarmonyPatch]
|
|
internal static class PrivateOnlyLobbyManager
|
|
{
|
|
private static void SyncNamesAsHost()
|
|
{
|
|
if (!GameState.IsHost || !GameState.IsPrivateOnlyLobby || !GameState.InGame) return;
|
|
|
|
foreach (var target in PlayerControl.AllPlayerControls)
|
|
{
|
|
if (target.IsHost() || target.BetterData().IsBetterUser) continue;
|
|
|
|
foreach (var player in PlayerControl.AllPlayerControls)
|
|
{
|
|
if (GameState.IsMeeting)
|
|
{
|
|
SetNameMeeting(player, target);
|
|
}
|
|
else
|
|
{
|
|
SetNameGameplay(player, target);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void SetNameGameplay(PlayerControl player, PlayerControl target)
|
|
{
|
|
player.RpcSetNamePrivate("", target);
|
|
}
|
|
|
|
private static void SetNameMeeting(PlayerControl player, PlayerControl target)
|
|
{
|
|
player.RpcSetNamePrivate("", target);
|
|
}
|
|
|
|
[HarmonyPatch(typeof(PlayerControl))]
|
|
[HarmonyPatch(nameof(PlayerControl.Die))]
|
|
[HarmonyPostfix]
|
|
internal static void PlayerControlDie_Postfix(PlayerControl __instance)
|
|
{
|
|
if (GameState.IsPrivateOnlyLobby && BetterGameSettings.RemovePetOnDeath.GetBool())
|
|
{
|
|
__instance.RpcSetPet(PetData.EmptyId);
|
|
}
|
|
}
|
|
}
|