Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
        }