Ejemplo n.º 1
0
 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;
                        }
                    }
                }
            }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
        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);
        }