Ludeon Forums

RimWorld => Mods => Help => Topic started by: ItchyFlea on December 11, 2014, 05:13:01 PM

Title: Terrain smoothing (solved)
Post by: ItchyFlea on December 11, 2014, 05:13:01 PM
Solved. See post below.

Since the game generates definitions for the rough rock terrain that can be smoothed in the world, does anybody know how to extract the def the game generates?

I'm wanting to add polished wood floors that can be achieved via building a wood floor, then issuing the smoothing command on it, but without a def to base my work on, I have no idea what tag is required to make a floor smoothable. (Answer at bottom.)

What tag defines what the smoothed terrain should look like? Currently I can smooth the wood floors, but get an error message when the job is complete:
Tried to set terrain at (107, 0, 101) to null.

To make a floor smoothable, you just need this tag in the terraindef.
   <affordances>
      <li>SmoothableStone</li>
    </affordances>
[/s]
Title: Re: Terrain smoothing - what tag defines smoothed terrain?
Post by: ItchyFlea on December 11, 2014, 06:08:57 PM
How to make your own terrainDefs that results in a terrain type that can be smoothed using the new smoothing tool.

First your terrain must be set so that the smoothing designator can place a designation on it.
That is done by adding this tag to the terrainDef:
<affordances>
  <li>SmoothableStone</li>
</affordances>

You must then add this tag so the game knows what to use when a colonist has smoothed the terrain:
<smoothedTerrain>TheDefNameOfTheSmoothTerrain</smoothedTerrain>

So you'd have something that looks like this in your def file:


  <TerrainDef ParentName="WoodFloorBase">
    <DefName>WoodFloor_Oak</DefName>
    <label>oak wood floor</label>
    <defaultColor>(185,142,96)</defaultColor>
    <CostList>
      <WoodLog_Oak>6</WoodLog_Oak>
    </CostList>
<affordances>
      <li>SmoothableStone</li>
    </affordances>
<smoothedTerrain>PolishedOak</smoothedTerrain>
  </TerrainDef>
 
  <TerrainDef ParentName="WoodFloorBase">
    <DefName>PolishedOak</DefName>
    <label>polished Oak</label>
<Description>Polished Oak</Description>
<defaultColor>(185,142,96)</defaultColor>
  </TerrainDef>