private static bool Prefix(ExitMapGrid __instance, Map ___map, ref bool __result) { if (___map != null && ___map.ParentHolder is MapParent_ZLevel) { __result = false; return(false); } return(true); }
private static bool Prefix(ExitMapGrid __instance, Map ___map, ref bool __result) { if (___map != null && ___map.info.parent is MapParent_PocketDimension) { __result = false; return(false); } return(true); }
private static void Postfix(ExitMapGrid __instance, Map ___map, ref bool __result) { if (__result == false && LessShittyAmbushMod.settings.allowExitMapBeforeWin) { CaravansBattlefield caravansBattlefield = ___map.Parent as CaravansBattlefield; if (caravansBattlefield != null && caravansBattlefield.def.blockExitGridUntilBattleIsWon && !caravansBattlefield.WonBattle) { AmbushTracker ambushTracker = Current.Game.World.GetComponent <AmbushTracker>(); int currentTick = Find.TickManager.TicksGame; if (ambushTracker != null && currentTick > ambushTracker.CheckMapCreateTime(___map) + (LessShittyAmbushMod.settings.secondsUntilExitMapPossible * 60)) { __result = true; } } } }
private static bool Prefix(ExitMapGrid __instance, ref bool __result) { try { Map map = (Map)typeof(ExitMapGrid).GetField("map", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).GetValue(__instance); if (map != null) { if (map.ParentHolder is MapParent_ZLevel) { __result = false; return(false); } } } catch (Exception ex) { Log.Error("[Z-Levels] ExitCells_Patch patch produced an error. That should not happen and will break things. Send a Hugslib log to the Z-Levels developers. Error message: " + ex, true); }; return(true); }
static bool Prefix(ExitMapGrid __instance, ref bool __result) { Map map = (Map)(typeof(ExitMapGrid).GetField("map", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static).GetValue(__instance)); if (map != null) { QuestSite site = Find.WorldObjects.WorldObjectAt <QuestSite>(map.Tile); if (site != null) { __result = site.HasExitCells; return(false); } var comp = map.Parent.GetComponent <HasExitCellsComp>(); if (comp != null) { __result = false; return(false); } } return(true); }