Пример #1
0
        public static void Prefix(
            PlatformConsole __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;
            }
        }
Пример #2
0
        public static bool Prefix(ref float __result, PlatformConsole __instance, [HarmonyArgument(0)] GameData.PlayerInfo pc, [HarmonyArgument(1)] out bool canUse, [HarmonyArgument(2)] out bool couldUse)
        {
            float         num     = float.MaxValue;
            PlayerControl @object = pc.Object;

            couldUse = (!CallPlateform.PlateformIsUsed && !pc.IsDead && @object.CanMove && !__instance.Platform.InUse && Vector2.Distance(__instance.Platform.transform.position, __instance.transform.position) < 2f);
            canUse   = couldUse;

            if (canUse)
            {
                Vector2 truePosition = @object.GetTruePosition();
                Vector3 position     = __instance.transform.position;
                num     = Vector2.Distance(truePosition, position);
                canUse &= (num <= __instance.UsableDistance && !PhysicsHelpers.AnythingBetween(truePosition, position, Constants.ShipOnlyMask, false));
            }

            __result = num;
            return(false);
        }