Ejemplo n.º 1
0
        // Token: 0x06000078 RID: 120 RVA: 0x00005F20 File Offset: 0x00004120
        public static float GetTProxPlantHarvestYieldOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxPlantHarvestYieldOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 2
0
        // Token: 0x06000064 RID: 100 RVA: 0x000059D0 File Offset: 0x00003BD0
        public static float GetTProxPsychicSensitivityOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxPsychicSensitivityOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 3
0
        // Token: 0x0600006A RID: 106 RVA: 0x00005B68 File Offset: 0x00003D68
        public static float GetTProxAimingDelayFactorOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxAimingDelayFactorOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 4
0
        // Token: 0x06000068 RID: 104 RVA: 0x00005AE0 File Offset: 0x00003CE0
        public static float GetTProxComfyTemperatureMaxOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxComfyTemperatureMaxOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 5
0
        // Token: 0x06000069 RID: 105 RVA: 0x00005B24 File Offset: 0x00003D24
        public static float GetTProxShootingAccuracyPawnOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxShootingAccuracyPawnOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 6
0
        // Token: 0x0600007A RID: 122 RVA: 0x00005FA8 File Offset: 0x000041A8
        public static float GetTProxSmoothingSpeedOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxSmoothingSpeedOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 7
0
        // Token: 0x06000074 RID: 116 RVA: 0x00005E10 File Offset: 0x00004010
        public static float GetTProxConstructSuccessChanceOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxConstructSuccessChanceOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 8
0
        // Token: 0x06000083 RID: 131 RVA: 0x0000620C File Offset: 0x0000440C
        public static float GetTProxButcheryMechanoidEfficiencyOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxButcheryMechanoidEfficiencyOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 9
0
        // Token: 0x0600008F RID: 143 RVA: 0x00006530 File Offset: 0x00004730
        public static int GetTProxRange(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new int?(terrain.GetModExtension <ProximityDefs>().ProxRange).Value);
            }

            return(0);
        }
Ejemplo n.º 10
0
        // Token: 0x0600006E RID: 110 RVA: 0x00005C78 File Offset: 0x00003E78
        public static float GetTProxMedicalTendQualityOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxMedicalTendQualityOffSet).Value);
            }

            return(0f);
        }
Ejemplo n.º 11
0
        // Token: 0x0600009D RID: 157 RVA: 0x0000694C File Offset: 0x00004B4C
        public static List <string> GetTProxEquipped(TerrainDef terrain)
        {
            if (!terrain.HasModExtension <ProximityDefs>() ||
                terrain.GetModExtension <ProximityDefs>().ProxEquipped == null)
            {
                return(null);
            }

            return(terrain.GetModExtension <ProximityDefs>().ProxEquipped);
        }
Ejemplo n.º 12
0
        // Token: 0x0600008D RID: 141 RVA: 0x000064A0 File Offset: 0x000046A0
        public static float GetTProxHediffSev(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxHediffSev)
                       .Value);
            }

            return(0f);
        }
Ejemplo n.º 13
0
        // Token: 0x0600008C RID: 140 RVA: 0x0000646E File Offset: 0x0000466E
        public static string GetTProxHediff(TerrainDef terrain)
        {
            if (!terrain.HasModExtension <ProximityDefs>() ||
                terrain.GetModExtension <ProximityDefs>().ProxHediff == null)
            {
                return("");
            }

            return(terrain.GetModExtension <ProximityDefs>().ProxHediff);
        }
Ejemplo n.º 14
0
        // Token: 0x06000087 RID: 135 RVA: 0x0000631C File Offset: 0x0000451C
        public static float GetTProxFixBrokenDownBuildingSuccessChanceOffSet(TerrainDef terrain)
        {
            if (terrain.HasModExtension <ProximityDefs>())
            {
                return(new float?(terrain.GetModExtension <ProximityDefs>().ProxFixBrokenDownBuildingSuccessChanceOffSet)
                       .Value);
            }

            return(0f);
        }
Ejemplo n.º 15
0
        // Token: 0x0600009A RID: 154 RVA: 0x00006868 File Offset: 0x00004A68
        public static bool GetTProxAnimal(TerrainDef terrain)
        {
            if (!terrain.HasModExtension <ProximityDefs>())
            {
                return(false);
            }

            _ = terrain.GetModExtension <ProximityDefs>().ProxAnimal;
            return(new bool?(terrain.GetModExtension <ProximityDefs>().ProxAnimal).Value);
        }
Ejemplo n.º 16
0
        public void setTerrain(string type)
        {
            //Make sure it hasn't been made a floor or a floor hasn't been removed.
            if (!currentTerrain.HasModExtension <TerrainWeatherReactions>())
            {
                this.baseTerrain = currentTerrain;
            }
            else if (!baseTerrain.HasModExtension <TerrainWeatherReactions>() && this.baseTerrain != currentTerrain)
            {
                this.baseTerrain = currentTerrain;
            }

            if (weather == null)
            {
                return;
            }

            //change the terrain
            if (type == "frozen")
            {
                this.setFrozenTerrain();
            }
            else if (type == "dry")
            {
                this.setWetTerrain();
            }
            else if (type == "wet")
            {
                this.setWetTerrain();
            }
            else if (type == "thaw")
            {
                if (isFrozen == true)
                {
                    this.howWet = 1;
                    this.setWetTerrain();
                    isFrozen = false;
                }
                else
                {
                    this.setFrozenTerrain();
                }
            }
            else if (type == "flooded")
            {
                this.setFloodedTerrain();
            }
            else if (type == "tide")
            {
                this.setTidesTerrain();
            }

            this.overrideType = "";
        }
Ejemplo n.º 17
0
        // Token: 0x06000093 RID: 147 RVA: 0x00006654 File Offset: 0x00004854
        public static bool GetTProxComposMentis(TerrainDef terrain)
        {
            if (!terrain.HasModExtension <ProximityDefs>())
            {
                return(false);
            }

            _ = terrain.GetModExtension <ProximityDefs>().ProxComposMentis;
            return(new bool?(terrain.GetModExtension <ProximityDefs>().ProxComposMentis)
                   .Value);
        }
 // Token: 0x06000054 RID: 84 RVA: 0x00005F60 File Offset: 0x00004160
 public static string GetCamoDefTerrain(TerrainDef terrain)
 {
     if (terrain.HasModExtension <CompCamoDefs>())
     {
         string text = terrain?.GetModExtension <CompCamoDefs>().CamoType;
         if (CamoGearUtility.CamoTypes().Contains(text))
         {
             return(text);
         }
     }
     return("notDefined");
 }
Ejemplo n.º 19
0
        public static void Postfix(Thing __instance, ref float __result)
        {
            float temperature = __result;

            IntVec3 c   = __instance.Position;
            Map     map = __instance.Map;


            //check if we should have temperature affected by contact with terrain
            if (map != null && c.InBounds(map))
            {
                TerrainDef terrain = c.GetTerrain(map);
                if (terrain.HasModExtension <TerrainWeatherReactions>() && terrain.GetModExtension <TerrainWeatherReactions>().temperatureAdjust != 0)
                {
                    temperature = temperature + terrain.GetModExtension <TerrainWeatherReactions>().temperatureAdjust;
                }
            }
            __result = temperature;
        }
Ejemplo n.º 20
0
        private bool CanHaveFrost(int ind)
        {
            Building building = this.map.edificeGrid[ind];

            if (building != null && !map.GetComponent <FrostGrid>().CanCoexistWithFrost(building.def))
            {
                return(false);
            }

            TerrainDef terrainDef = this.map.terrainGrid.TerrainAt(ind);

            if (terrainDef.HasModExtension <TerrainWeatherReactions>())
            {
                return(terrainDef.GetModExtension <TerrainWeatherReactions>().holdFrost);
            }
            else
            {
                return(terrainDef.holdSnow);
                //return terrainDef.affordances.Contains(TerrainAffordance.Light);
            }
        }
Ejemplo n.º 21
0
 public static Material BiomesBridgeRightMat(this TerrainDef terrain)
 {
     if (terrain.HasModExtension <TerrainDef_Bridge>())
     {
         if (!BridgeRightMats.TryGetValue(terrain, out Material mat))
         {
             string rightTexPath = terrain.GetModExtension <TerrainDef_Bridge>().rightTexPath;
             if (rightTexPath != null)
             {
                 mat = MaterialPool.MatFrom(rightTexPath, ShaderDatabase.Transparent);
                 BridgeRightMats.Add(terrain, mat);
             }
             else
             {
                 mat = null;
             }
         }
         return(mat);
     }
     return(null);
 }
Ejemplo n.º 22
0
        private static IntVec3 FindRandomSwimmingHoleNear(IntVec3 root, Map map, Pawn swimmer, out IntVec3 swimSpot, out IntVec3 shoreSpot)
        {
            Predicate <IntVec3> swimValidator = delegate(IntVec3 c)
            {
                if (c.x < 12 || c.z < 12 || c.x > map.Size.x - 12 || c.z > map.Size.z - 12)                 //Avoid the edge
                {
                    return(false);
                }
                TerrainDef terrain = c.GetTerrain(map);
                if (c.IsForbidden(swimmer) || !terrain.HasModExtension <SwimmableWater>())
                {
                    return(false);
                }
                //Log.Message(swimmer.Name + " is checking if " + c.x.ToString() + ", " + c.z.ToString() + ", is swimmable");
                if (c.GetTerrain(map).IsRiver)
                {
                    //Log.Message("Found a river");
                    return(true);
                }
                foreach (IntVec3 intVec3 in GenAdjFast.AdjacentCells8Way(c))
                {
                    if (!intVec3.GetTerrain(map).HasModExtension <SwimmableWater>())
                    {
                        return(false);
                    }
                }
                //Log.Message(swimmer.Name + " found a swimming spot but needs a beach");
                return(true);
            };

            if (!RCellFinder.TryFindRandomCellNearWith(root, swimValidator, map, out swimSpot, ModSettings_WaterIsCold.swimSearchArea / 2, ModSettings_WaterIsCold.swimSearchArea))
            {
                shoreSpot = root;
                return(root);
            }
            shoreSpot = GetRandomShorelineNear(root, swimSpot, swimmer, map);
            return(GetSecondSwimSpotNear(shoreSpot, swimSpot, swimmer, map));
        }
Ejemplo n.º 23
0
        public void setTerrain(string type)
        {
            if (this.map == null)
            {
                return;
            }
            //Make sure it hasn't been made a floor or a floor hasn't been removed.
            if (!currentTerrain.HasModExtension <TerrainWeatherReactions>())
            {
                this.baseTerrain = currentTerrain;
            }
            else if (!baseTerrain.HasModExtension <TerrainWeatherReactions>() && this.baseTerrain != currentTerrain)
            {
                this.baseTerrain = currentTerrain;
            }
            else //If the terrain has extentions, make sure the current terrain is one of the possible extentions of the base terrain.
            //If the current terrain isn't an extention of the base, the terrain has been modified (ie Moisture Pump) or terraformed, and the current terrain should replace the base terrain.
            {
                var terrainReactions = baseTerrain.GetModExtension <TerrainWeatherReactions>();
                if (terrainReactions != null)
                {
                    if (terrainReactions.tideTerrain != currentTerrain &&
                        terrainReactions.floodTerrain != currentTerrain &&
                        terrainReactions.wetTerrain != currentTerrain &&
                        terrainReactions.freezeTerrain != currentTerrain &&
                        terrainReactions.dryTerrain != currentTerrain &&
                        terrainReactions.baseOverride != currentTerrain)
                    {
                        this.baseTerrain = currentTerrain;
                    }
                }
            }
            if (weather == null)
            {
                return;
            }

            //change the terrain
            if (type == "frozen")
            {
                this.setFrozenTerrain();
            }
            else if (type == "dry")
            {
                this.setWetTerrain();
            }
            else if (type == "wet")
            {
                this.setWetTerrain();
            }
            else if (type == "thaw")
            {
                if (isFrozen == true)
                {
                    this.howWet = 1;
                    this.setWetTerrain();
                    isFrozen = false;
                }
                else
                {
                    this.setFrozenTerrain();
                }
            }
            else if (type == "flooded")
            {
                this.setFloodedTerrain();
            }
            else if (type == "tide")
            {
                this.setTidesTerrain();
            }

            this.overrideType = "";
        }
Ejemplo n.º 24
0
 // Token: 0x0600000A RID: 10 RVA: 0x0000277F File Offset: 0x0000097F
 internal static bool IsTerrainValid(TerrainDef terrain, Pawn pawn)
 {
     return(terrain.HasModExtension <ProximityDefs>());
 }
Ejemplo n.º 25
0
 public static bool IsBiomesBridge(this TerrainDef terrain)
 {
     return(terrain.HasModExtension <TerrainDef_Bridge>());
 }