// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
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 = ""; }
// 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"); }
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; }
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); } }
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); }
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)); }
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 = ""; }
// Token: 0x0600000A RID: 10 RVA: 0x0000277F File Offset: 0x0000097F internal static bool IsTerrainValid(TerrainDef terrain, Pawn pawn) { return(terrain.HasModExtension <ProximityDefs>()); }
public static bool IsBiomesBridge(this TerrainDef terrain) { return(terrain.HasModExtension <TerrainDef_Bridge>()); }