// Token: 0x06000060 RID: 96 RVA: 0x000058C0 File Offset: 0x00003AC0 public static float GetTProxMoveSpeedOffSet(TerrainDef terrain) { if (terrain.HasModExtension <ProximityDefs>()) { return(new float?(terrain.GetModExtension <ProximityDefs>().ProxMoveSpeedOffSet).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: 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); }
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; }
// 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); }
public bool IsPackable(TerrainDef terrain) { var settings = terrain.GetModExtension <DefModExtension_PackedTerrain>(); if (settings != null) { return(!settings.disabled && terrain != settings.packedTerrain); } return(terrain != TerrainDefOf.PackedDirt && terrain.takeFootprints); }
// 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"); }
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); }
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 = ""; }
public TerrainDef PackedTerrain(TerrainDef terrain) { return(terrain.GetModExtension <DefModExtension_PackedTerrain>()?.packedTerrain ?? TerrainDefOf.PackedDirt); }