public static void Prefix(DoorConsole __instance, [HarmonyArgument(0)] GameData.PlayerInfo playerInfo, ref bool __state) { __state = false; var playerControl = playerInfo.Object; if (playerControl.Is(RoleEnum.Phantom) && !Role.GetRole <Phantom>(playerControl).Caught&& playerInfo.IsDead) { playerInfo.IsDead = false; __state = true; } }
public static bool Prefix(DoorConsole __instance) { __instance.CanUse(PlayerControl.LocalPlayer.Data, out var canUse, out _); if (!canUse) { return(false); } PlayerControl.LocalPlayer.NetTransform.Halt(); var minigame = Object.Instantiate(__instance.MinigamePrefab, Camera.main.transform); minigame.transform.localPosition = new Vector3(0f, 0f, -50f); try { minigame.Cast <IDoorMinigame>().SetDoor(__instance.MyDoor); } catch (InvalidCastException) { /* ignored */ } minigame.Begin(null); return(false); }