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; } }
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); }