Difference between revisions of "Environment"

From RimWorld Wiki
Jump to navigation Jump to search
m (→‎Naturally generated surfaces: Linked to the Special attack Hediffs)
(39 intermediate revisions by 9 users not shown)
Line 24: Line 24:
  
 
== Light ==
 
== Light ==
{{For|the standard furniture item|standing lamp}}
+
{{Stub|section=1|reason=1) Relationship between light % and plant growth speed e.g. Tinctoria grows so slow in normal soil under torch light that it rots before it grows enough to harvest 2) Effects of [[Dark vision]] and [[Ideoligion#Lighting|Lighting:Darkness preferred]] on mentioned stat and mood penalties}}
 +
{{For|the furniture item|standing lamp}}
  
 
Light can be generated artificially or naturally. Artificial light is produced by appliances in a limited range. Natural light is generated throughout the map on unroofed tiles. Roofed tiles will be dark unless lit artificially.
 
Light can be generated artificially or naturally. Artificial light is produced by appliances in a limited range. Natural light is generated throughout the map on unroofed tiles. Roofed tiles will be dark unless lit artificially.
Line 31: Line 32:
  
 
Light's importance lies in the following effects:
 
Light's importance lies in the following effects:
* Plant growth - With the exception of [[Decorative Plants|decorative plants]], plants only grow when the light level is at least 51%.
+
* Plant growth - Most plants have light requirements to grow.
 +
:*  0% only: {{DLC Icons|Nutrifungus}}
 +
:*  0%+: {{#Ask: [[Min Grow Light::0]] [[Name::!Nutrifungus]]| format = template | template = DLC Icons | link = none | sort = From DLC, Name | sep = , }}
 +
:* 30%+: {{#Ask: [[Min Grow Light::0.3]]| format = template | template = DLC Icons | link = none | sort = From DLC, Name | sep = , }}
 +
:* 50%+: ''All other plants''
 
* Power - Solar generators only produce power when naturally lit.
 
* Power - Solar generators only produce power when naturally lit.
* Colonists want 30% light or better. This effects...
+
* Colonists want 30% light or better. This affects:
 
:* Colonists' mood - Colonists in sustained darkness will have the [[Thoughts list#In darkness|'In darkness']] thought. Sleeping colonists will not have this thought. Therefore, lighting is not needed in areas only used for sleeping.
 
:* Colonists' mood - Colonists in sustained darkness will have the [[Thoughts list#In darkness|'In darkness']] thought. Sleeping colonists will not have this thought. Therefore, lighting is not needed in areas only used for sleeping.
:* Colonists' movement speed - Colonists in darkness will have a reduced movement speed, scaling to 80% at a light level of 0%. Due to this, combat at night or under unlit roofed areas can lead to a disadvantage against non-human opponents, such as insects, manhunter animals, or mechanoids.
+
:* Colonists' movement speed - Colonists in darkness will have a reduced [[move speed]], scaling to 80% at a light level of 0%. Due to this, combat at night or under unlit roofed areas can lead to a disadvantage against non-human opponents, such as insects, manhunter animals, or mechanoids. Pawns that are [[Sight|Blind]], have the [[Ideoligion#Lighting|Lighting: Darklight preferred]] precept,{{IdeologyIcon}} or have the [[Dark vision]] gene{{BiotechIcon}} are unaffected by this factor.
:* Colonists' global work speed - Similarly to their movement speed, colonists will have a work speed penalty when working in darkness, scaling to 80% at a light level of 0%.
+
:* Colonists' global work speed - Similarly to their movement speed, colonists will have a work speed penalty when working in darkness, scaling to 80% at a light level of 0%. Pawns that are [[Sight|Blind]], have the [[Ideoligion#Lighting|Lighting: Darklight preferred]] precept,{{IdeologyIcon}} or have the [[Dark vision]] gene{{BiotechIcon}} are unaffected by this factor.
:* [[Decorative Plants|Decorative plants]] will grow in any light 30% or more.
 
 
* [[Surgery success chance factor]] is optimized at 50% light or better.
 
* [[Surgery success chance factor]] is optimized at 50% light or better.
  
Line 57: Line 61:
  
 
=== Artificial light sources ===
 
=== Artificial light sources ===
Light in roofed areas is provided by the following appliances:  
+
Light in roofed areas is provided by the following appliances:
  
{| class="wikitable sortable"
+
<div><li style="display: inline-table;">
 +
{| {{STDT| sortable c_11 text-center}}
 +
! Name !! <abbr title="The furthest away a tile can be before it falls below 30% light">Light Radius</abbr>
 
|-
 
|-
! Name !! data-sort-type="number" | Radius Lit >=30%
+
{{#ask: [[Light Radius::+]]
|-
+
  | format = template
| [[Torch lamp]] || {{Q|Torch lamp|Light Radius}} tiles
+
  | template = Ask Table Formatter
|-
+
  | ?Light Radius
| [[Standing lamp]] || {{Q|Standing lamp|Light Radius}} tiles
+
  | sort = From DLC, Name
|-
+
  | link = none
| [[Standing lamp (red)]]/[[Standing lamp (green)|(green)]]/[[Standing lamp (blue)|(blue)]] || {{Q|Standing lamp (blue)|Light Radius}} tiles
+
}}
|-
 
| [[Sun lamp]] || {{Q|Sun lamp|Light Radius}} tiles
 
|-
 
| [[Campfire]] || {{Q|Campfire|Light Radius}} tiles
 
|-
 
| [[Brazier]] {{RoyaltyIcon}} || {{Q|Brazier|Light Radius}} tiles
 
|-
 
| [[Darklight brazier]] {{RoyaltyIcon}}{{IdeologyIcon}} || {{Q| Darklight brazier|Light Radius}} tiles
 
|-
 
| [[Darktorch]]{{IdeologyIcon}} || {{Q| Darktorch|Light Radius}} tiles
 
|-
 
| [[Fungus darktorch]]{{IdeologyIcon}} || {{Q| Fungus darktorch|Light Radius}} tiles
 
|-
 
| [[Standing darklamp]]{{IdeologyIcon}} || {{Q| Standing darklamp|Light Radius}} tiles
 
 
|}
 
|}
 
+
</li><div>
Additionally, there are a variety of objects that incidentally generate light including, but not limited to, the [[electric crematorium]], [[electric smelter]], [[heater]], [[wood-fired generator]], and [[chemfuel powered generator]].
 
  
 
=== Daylight timing and latitude ===
 
=== Daylight timing and latitude ===
Line 171: Line 162:
  
 
==== Daylight math details ====
 
==== Daylight math details ====
{{Rewrite|section=1|reason=Completely inscrutable to most readers. }}
+
{{rwbox
[[File:Sun_position_rotation.png|thumb|right|Rotation towards latitude normal vector (latitude to degrees rotation)]]
+
| nocat=true
The following is a simplified explanation of the procedure by which the game determines the light intensity supplied by the sun at a given latitude, day of the year, and time of day.
+
| type  = warning
 +
| text  = <span style="color:#FF3333";>'''Warning!''' Trigonometry ahead!</span>'''<br>This section gets into complicated mathematical detail. Proceed at own risk
 +
}}
 +
The calculation of sunlight is surprisingly involved. On a nutshell: the formula obtains the angle between the vectors Latitude and Sun Position, subtracts an angle θ from it (determined by Latitude), obtains the cosine of the difference, and divides this number by 0.7. Finally, this result is capped between 0 (no light) and 100% (full light).
 +
 
 +
If you only care about the final formula, go to "Final formula" below. Otherwise, carry on.
 +
 
 +
The amount of sunlight a given cell receives depends on its Latitude, Day of the year, and Hour of the day. The simplified steps to reach the final value are:
 +
 
 +
:1. Obtain the factor "u" for the given latitude
 +
::{| class="wikitable"
 +
|-
 +
! Latitude !! Value of u
 +
|-
 +
| <= 70 || 0.2
 +
|-
 +
| [70, 75] || Latitude * 13/50-18
 +
|-
 +
| =>75|| 1.5
 +
|}
 +
 
 +
:2. Obtain Sun Position Vector SP = <code>{SPx, SPy, SPz}</code>. Do note these formulas are not in degrees, but radians.
 +
:* SPx = -cos(Hour * π / 12)
 +
:* SPy = -cos(π * Day/30)  * u
 +
:* SPz = -sin(Hour * π / 12) [NOT ACTUALLY USED, BUT PART OF THE VECTOR]
 +
 
 +
:3. Calculate angle θ. Do note that the values of this table are in degrees. To convert to radians, multiply result by π / 180
 +
::{| class="wikitable"
 +
|-
 +
! Latitud !! Value of θ
 +
|-
 +
| <= -60 || 19
 +
|-
 +
| [-60, 60] || 36 - abs(x) * 17/60 <!-- |x|. Math has issues with inline comments, for some reason. It may be a style issue -->
 +
|-
 +
| [60, 70] || 19
 +
|-
 +
| [70, 75] || 299 - 4x
 +
|-
 +
| >75 || -1
 +
|}
 +
 
 +
:4. Calculate the angle (Δ) between the vector Latitude (L) y SP.
 +
:*  Δ = arc cos [ ( cos(Latitude) * SPx  + sen(Latitude) * SPy ) /  <span style="white-space: nowrap">&radic;<span style="text-decoration:overline;">&nbsp;1 + SPy<sup>2</sup>&nbsp;</span></span> ] <!-- I would prefer a math method, but I got a headache trying to make it work right.-->
 +
 
 +
:5. '''Sunlight''' = cos(Δ - θ)/0.7; Capped between 0 and 1 (100%).
 +
 
 +
Do note that the creation of the vector Latitude : <code>{cos(''latitude''), sin(''latitude''), 0}</code> was omitted for simplicity.
 +
 
 +
<div class="mw-customtoggle-MathDetails" style="display:inline-block;background:rgba(128,128,128,0.5);color:white;padding:5px;border-radius:5px;outline:none;user-select:none">Final Formula:</div>
 +
 
 +
<div  id="mw-customcollapsible-MathDetails" class="mw-collapsible mw-collapsed">
  
# The latitude normal vector <code>N</code> can be calculated as the vector <code>{cos(''latitude''), sin(''latitude''), 0}</code>. Note that this is always orthogonal to the Z-axis (the Y-axis passes through the planet's poles, not the Z-axis) with a positive X-value. For example, the latitude normal vector at the equator would be <code>{1, 0, 0}</code> while at 45° N it would be <code>{0.707, 0.707, 0}</code>.
+
[[File:Sunlight formula 5.png|600px]]
# The latitude fraction equals <code>0.2</code> below latitude <code>70</code>, <code>1.5</code> above latitude <code>75</code>, and is linearly interpolated between.
 
# The unmodified sun position vector <code>P</code> is the vector <code>{cos((''day_percent'' - 0.5) &times; 360°), -cos(''day_of_year''/60 &times; 360°) &times; ''latitude_fraction'', sin((''day_percent'' - 0.5) &times; 360°)}</code>.
 
# [[wikipedia:Unit vector|Normalize]] the unmodified sun position vector <code>P</code>.
 
# Rotate the normalized sun position vector <code>P</code> an amount towards latitude normal vector <code>N</code> based on the graph on the right, but not passing it (if applicable).
 
# The unmodified daylight intensity is equal to the [[wikipedia:Dot product|dot product]] of the latitude normal vector <code>N</code> and sun position vector <code>P</code> (both should have magnitude <code>1.0</code>).
 
# The final daylight intensity scales based on the unmodified daylight intensity, with <code>0.0</code> to <code>0.7</code> linearly corresponding with 0% to 100% light intensity and <code>0.7</code> to <code>1.0</code> being clamped at 100% light intensity.
 
  
Interestingly, while some effects are applied differently above latitude <code>70</code> (70° N), these do not seem to apply below <code>-70</code> (70° S).
+
<!-- I would like to put this outside a image, but there are formatting issues with {{Math}}. Also, there is no template for roots (square or otherwise) and I had issues creating one.
 +
cos (arccos [ - ( cos(Latitude) * cos(Hour*PI/12)  + sen(Latitude) * cos(PI * Day/30) * u ) /  root( 1 + (cos(PI * Day/30) * u)^2 ) ] - θ ) / 0.7 -->
 +
 
 +
Where:
 +
<div style=display:inline-grid>
 +
:{| class="wikitable"
 +
|-
 +
! Latitude !! Value of u
 +
|-
 +
| <= 70 || 0.2
 +
|-
 +
| [70, 75] || Latitude * 13/50-18
 +
|-
 +
| =>75 || 1.5
 +
|}
 +
</div>
 +
<div style=display:inline-grid>
 +
:{| class="wikitable"
 +
|-
 +
! Latitud !! Value of θ
 +
|-
 +
| <= -60 || 19
 +
|-
 +
| [-60, 60] || 36 - abs(x) * 17/60 <!-- |x|. Math has issues with inline comments, for some reason. It may be a style issue -->
 +
|-
 +
| [60, 70] || 19
 +
|-
 +
| [70, 75] || 299-4x
 +
|-
 +
| >75 || -1
 +
|}
 +
</div>
 +
 
 +
</div></div>
 +
 
 +
Interestingly, while some effects are applied differently above latitude <code>70</code> (70° N), these do not seem to apply below <code>-70</code> (70° S). This has some odd effects on extreme Latitudes, such as the south pole having neither full darkness nor full light.
 +
 
 +
Getting useful data from this formula is inconvenient. You can use [https://docs.google.com/spreadsheets/d/1dI8CoR9OMk679Gyvr8lXrKUNtfNdCQPp/edit?usp=sharing&ouid=114344865191558455918&rtpof=true&sd=true this google doc] to get a better idea of how many hours of daylight a given tile (based on Latitude) will have through the year.
  
 
<!-- Based on <code>Assembly-CSharp/RimWorld/GenCelestial</code> -->
 
<!-- Based on <code>Assembly-CSharp/RimWorld/GenCelestial</code> -->
Line 196: Line 269:
 
* Indoors - completely enclosed structure, completely roofed.
 
* Indoors - completely enclosed structure, completely roofed.
 
* Unroofed - completely enclosed structure, but with one or more unroofed tiles.
 
* Unroofed - completely enclosed structure, but with one or more unroofed tiles.
 +
 +
Sufficiently large unroofed rooms, approximately 300 tiles, are considered outdoors.{{Check Tag|Detail Needed}}
  
 
== Temperature ==
 
== Temperature ==
Line 209: Line 284:
  
 
=== Naturally generated surfaces ===
 
=== Naturally generated surfaces ===
{{For|the player-built flooring|Floors#Types of Flooring{{!}}Floors}}
+
{{stub|section=1|reason=Anomaly terrains - Flesh and Gray surface}}
{| {{STDT| sortable c_25 text-center}}
+
{{For|the artificial flooring|Floors#Comparison table{{!}}Floors}}
! Type !! Move Speed Modifier !! [[Fertility]] !! Terrain Support
+
While most terrain properties are self-explanatory, some require special attention.
|-
+
* '''Path cost''' determines how difficult is to travers a given terrain.
 +
* '''Move Speed Modifier''' is the net effect of said cost, and is obtained with the formula <code>13/(13 + Path cost)</code> rounded.
 +
* '''Terrain Support''' determines what kind of structures can be build on a given terrain. If a given structure has a '''Terrain Affordance''' not listed for a given terrain, then said terrain is not a valid construction site. The types used are:
 +
**'''Light''': Supports light structure.<br/>
 +
**'''Medium''': Supports medium structures.<br/>
 +
**'''Heavy''': Supports heavy structures.<br/>
 +
**'''ShallowWater''': Can be built on with things that are waterproof.<br/>
 +
**'''MovingFluid''' (moving water): Contains power usable for hydroelectrics.<br/>
 +
**'''Bridgeable''': [[Bridge]] can be built over this terrain.<br/>
 +
**'''GrowSoil''' (growable): Things can grow here. Unsure if is does anything or if merely indicative.<br/>
 +
**'''Diggable''': Able to build [[grave]]s.<br/>
 +
**'''SmoothableStone''' (smoothable): Can be ground and smoothed into smooth stone.<br/>
 +
*'''Filth Mask''' determines what kind of [[filth]] can be applied on this terrain. Most natural floors only accept '''Unnatural''' filth, if any at all, but there are exceptions.
 +
*'''Tag''' use is unclear. It may be used on map generation.
 +
 
 +
As of [[Version/1.5.4104]], all terrains with Heavy '''Terrain Support''' also support both Medium and Light. To help the readability of this table, only the '''Heavy''' tag will be used in those cases.
 +
 
 +
{| {{STDT| sortable c_25 text-center mw-collapsible}}
 +
! Type !! Move Speed <br/>Modifier !! [[Plants#Fertility|Fertility]] !! Terrain<br/>Support !! [[Bridge]]able !! [[Grave|Diggable]] !! Terrain<br/>Type !! Beauty<br>Indoors/<br/>Outdoors !! [[Cleanliness]] !! Filth<br/>mask{{ref label|Fmask|1}} !! Dries<br/> To{{ref label|DriesTo|2}} !! Tags !! [[Path cost|Path<br/>cost]] !! [[Filth#Generation|Generates<br/>Filth]] !! Allows<br/>Special<br/>Attack{{ref label|ASA|3}} !! Others
 +
|- id="Broken asphalt"
 
! Broken asphalt
 
! Broken asphalt
| 100% || 0% || Heavy
+
| 100% || 0% || Heavy || {{Cross}} || {{Cross}} || - || -1 || 2 || {{Check}} || - || Road || 0 || {{Cross}} || {{Cross}} ||
|-
+
|- id="Packed dirt"
 +
! Packed dirt
 +
| 93% || 0% || Heavy || {{Cross}} || {{Check}} || Soil || -1 || -1 || {{Check}} || - || Road || 1 || [[Filth#Dirt|Dirt]] || {{Cross}} ||
 +
 
 +
|- id="Chest-deep moving water"
 
! Chest-deep moving water
 
! Chest-deep moving water
| 22% || 0% || None
+
| 24% || 0% || - || {{Check}} || {{Cross}} || - || 0 || 0 || {{Cross}} || - || Water{{ref label|water|4|1}} || 42 || {{Cross}} || [[Hediffs#Water|Water]] || Extinguishes Fire<br/>Traversing generates thought [[Mood#Soaking wet|Soaking wet]]
|-
+
|- id="Deep ocean water"
 
! Deep ocean water
 
! Deep ocean water
| 0% || 0% || None
+
| 0% || 0% || - || {{Cross}} || {{Cross}} || - || 0 || 0 || {{Cross}} || - || Water{{ref label|water|4|2}}<br/> ocean || 300{{ref label|Impassable|5|1}} || {{Cross}} || [[Hediffs#Water|Water]] || Impassable<br/>Extinguishes Fire
|-
+
|- id="Deep water"
 
! Deep water
 
! Deep water
| 0% || 0% || None
+
| 0% || 0% || - || {{Cross}} || {{Cross}} || - || 0 || 0 || {{Cross}} || - || Water{{ref label|water|4|3}} || 300{{ref label|Impassable|5|2}} || {{Cross}} || [[Hediffs#Water|Water]] || Impassable<br/>Extinguishes Fire
|-
+
 
! Ice
+
|- id="Shallow ocean water"
| 52% || 0% || Heavy
+
! Shallow ocean water
|-
+
| 30% || 0% || ShallowWater || {{Check}} || {{Cross}} || - || 0 || 0 || {{Cross}} || [[#Gravel|Stony soil]] || Water{{ref label|water|4|4}}<br/> ocean || 30 || {{Cross}} || [[Hediffs#Water|Water]] || Extinguishes Fire<br/>Traversing generates thought [[Mood#Soaking wet|Soaking wet]]
 +
|- id="Shallow moving water"
 +
! Shallow moving water
 +
| 30% || 0% || ShallowWater<br/> MovingFluid || {{Check}} || {{Cross}} || - || 0 || 0 || {{Cross}} || - || Water{{ref label|water|4|5}}<br/> River || 30 || {{Cross}} || [[Hediffs#Water|Water]] || Extinguishes Fire<br/>Traversing generates thought [[Mood#Soaking wet|Soaking wet]]
 +
|- id="Shallow water"
 +
! Shallow water
 +
| 30% || 0% || ShallowWater || {{Check}} || {{Cross}} || - || 0 || 0 || {{Cross}} || [[#Gravel|Stony soil]] || Water{{ref label|water|4|6}} || 30 || {{Cross}} || [[Hediffs#Water|Water]] || Extinguishes Fire<br/>Traversing generates thought [[Mood#Soaking wet|Soaking wet]]
 +
|- id="Marsh"
 +
! Marsh
 +
| 30% || 0% || ShallowWater || {{Check}} || {{Cross}} || - || -3/0 || -2 || {{Cross}} || [[#Soil|Soil]] || - || 30 || [[Filth#Dirt|Dirt]] || [[Hediffs#Mud|Mud]] || Extinguishes Fire<br/>Traversing generates thought [[Mood#Soaking wet|Soaking wet]]
 +
 
 +
|- id="Soil"
 +
! Soil
 +
| 87% || 100% || Heavy<br/> GrowSoil || {{Cross}} || {{Check}} || Soil || -3/0 || -1 || {{Check}} || - || Soil || 2 || [[Filth#Dirt|Dirt]] || [[Hediffs#Dirt|Dirt]] ||
 +
|- id="Lichen-covered soil"
 
! Lichen-covered soil
 
! Lichen-covered soil
| 81% || 100% || Heavy
+
| 81% || 100% || Heavy<br/> GrowSoil || {{Cross}} || {{Check}} || Soil || -3/0 || -1 || {{Check}} || - || Soil || 3 || [[Filth#Dirt|Dirt]] || [[Hediffs#Dirt|Dirt]] ||
|-
+
|- id="Marshy soil"
! Marsh
 
| 30% || 0% || None
 
|-
 
 
! Marshy soil
 
! Marshy soil
| 46% || 100% || Light
+
| 48% || 100% || Light<br/> GrowSoil || {{Check}} || {{Check}} || Soil || -3/0 || -2 || {{Check}} || [[#Soil|Soil]] || Soil || 14 || [[Filth#Dirt|Dirt]] || [[Hediffs#Dirt|Dirt]] ||
|-
+
|- id="Rich soil"
! Mud
 
| 52% || 0% || None
 
|-
 
! Packed dirt
 
| 100% || 0% || Heavy
 
|-
 
 
! Rich soil
 
! Rich soil
| 87% || 140% || Heavy
+
| 87% || 140% || Heavy<br/> GrowSoil || {{Check}} || {{Check}} || Soil || -3/0 || -1 || {{Check}} || [[#Soil|Soil]] || Soil || 2 || [[Filth#Dirt|Dirt]] || [[Hediffs#Dirt|Dirt]] ||
|-
+
 
! [[Rough stone]]
+
|- id="Gravel"
| {{%|{{Q|Rough stone|Move Speed Factor}} }} || 0% || Heavy
+
! Stony soil
|-
+
| 87% || 70% || Heavy<br/> GrowSoil || {{Check}} || {{Check}} || - || -3/0 || -1 || {{Check}} || - || Soil || 2 || [[Filth#Dirt|Dirt]] || [[Hediffs#Gravel|Gravel]] ||
! [[Rough-hewn stone]]
+
 
| {{%|{{Q|Rough-hewn stone|Move Speed Factor}} }}|| 0% || Heavy
+
|- id="Sand"
|-
 
 
! Sand
 
! Sand
| 76% || 10% || Heavy
+
| 76% || 10% || Heavy || {{Cross}} || {{Check}} || Sand || -3/0 || -1 || {{Check}} || - || Sand || 4 || [[Filth#Sand|Sand]] || [[Hediffs#Sand|Sand]] ||
|-
+
|- id="Soft sand"
! Shallow ocean water
 
| 30% || 0% || None
 
|-
 
! Shallow moving water
 
| 30% || 0% || None
 
|-
 
! Shallow water
 
| 30% || 0% || None
 
|-
 
 
! Soft sand
 
! Soft sand
| 52% || 0% || Light
+
| 48% || 0% || Light || {{Cross}} || {{Check}} || Sand || -3/0 || -1 || {{Check}} || [[#Sand|Sand]] || Sand || 14 || [[Filth#Sand|Sand]] || [[Hediffs#Sand|Sand]] ||
|-
+
 
! Soil
+
|- id="Mud"
| 87% || 100% || Heavy
+
! Mud
|-
+
| 48% || 0% || - || {{Check}} || {{Cross}} || Soil || -3/0 || -2 || {{Check}} || [[#Soil|Soil]] || - || 14 || [[Filth#Dirt|Dirt]] ||  [[Hediffs#Mud|Mud]] ||
! Stony soil
+
|- id="Ice"
| 87% || 70% || Heavy
+
! Ice
 +
| 48% || 0% || Heavy || {{Cross}} || {{Check}} || - || -3/0 || 0 || {{Check}} || - || - || 14 || [[Filth#Dirt|Dirt]] || {{Cross}} || -
 +
 
 +
|- id="Polluted"
 +
! [[Pollution|Polluted terrain]]{{BiotechIcon}}
 +
| - || 0-50%{{ref label|Polluted_F|6}} || - || - || - || - || -1 || - || - || - || - || - || - || - || Fertility can't exceed 50%.<br/>Overlay: Applies stats over existing terrain (additive)<br/>Overlay: Changes graphics of affected terrain.<br/>Can be removed.<br/>Allows growth of [[Toxipotato plant|Toxipotato]], [[Gray pine tree|Gray pine]], [[Pebble cactus]], [[Rat palm tree|Rat palm]]<br/>Prevents growth of most other plants.<br/>Colonist receive [[toxic buildup]] from waking here.
 +
|- id="Rough stone"
 +
! [[Rough stonestone]]
 +
| {{%|{{Q|Rough stone|Move Speed Factor}} }} || 0% || Heavy || {{Cross}} || {{Cross}}  || Stone || -1 || 0 || {{Check}}{{ref label|RStone|7}} || - || - || 2 || {{Cross}} || {{Cross}} || [[#Smooth stone|Smooothable]]<br/>Hardcoded{{ref label|Hardcode|8}}
 +
|- id="Rough-hewn stone"
 +
! [[Rough-hewn stone]]
 +
| {{%|{{Q|Rough-hewn stone|Move Speed Factor}} }}|| 0% || Heavy || {{Cross}} || {{Cross}} || Stone || -1 || 0 || All || - || - || 1 || {{Cross}} || {{Cross}} || [[#Smooth stone|Smooothable]]<br/>Hardcoded{{ref label|Hardcode|8}}
 +
|- id="Smooth stone"
 +
! [[Smooth stone]]
 +
| {{%|{{Q|Smooth stone|Move Speed Factor}} }}|| 0% || Heavy || {{Cross}} || {{Cross}} || Stone || 2 || 0 || All  || - || - || 0 || {{Cross}} || {{Cross}} || 5{{Icon Small|silver}}.<br/>Natural, non-generated floor/terrain hybrid.<br/>Paintable<br/>Hardcoded{{ref label|Hardcode|8}}
 +
<!--|- id="Fungal Gravel"
 +
! [[Fungal gravel]]{{IdeologyIcon}}
 +
| 87% || 70% || Floor base || {{Cross}} || {{Cross}} || - || -1 || -1 || All? || - || - || 2 || || {{Cross}} || WorkToBuild 1000.<br/>Requires [[overhead mountain]]<br/>Only generated for colonies with the [[Ideoligion#Tunneler|Tunneler]] meme.-->
 +
|- id="Gray Surface"
 +
! [[Gray surface]]{{AnomalyIcon}}
 +
| 87% || 0% || Heavy || {{Cross}} || {{Cross}} || ? || 0 || 0 || {{Check}}? || - || ? || 2 || {{Cross}} || {{Cross}} || Only present on the Labyrinth.
 +
|- id="Flesh Floor"
 +
! [[Flesh]]{{AnomalyIcon}}
 +
| 87% || 0% || Heavy || {{Cross}} || {{Cross}}{{Check Tag|Note|This is a mere presumption}} || ? || -10/-5 || -3 || {{Check}}? || - || ? || 2 || ? || {{Cross}} || Behaves like a natural Floor.<br/>Cleaning time Mult 150%<br/>Removable.<br/>Inflammable 32%
 
|}
 
|}
 +
:{{note label|Fmask|1}}The kind of Filth accepted by this terrain. {{Check}} denotes terrains that accept '''Unnatural''' filth, {{Cross}} those that accept none. Special cases are denoted as such.
 +
:{{note label|DriesTo|2}}As Stony soil doesn't exist in [[Sea ice]] nor [[Ice sheet]], it dries to Ice instead.
 +
:{{note label|ASA|3}}All of these attacks have a cooldown of 1.5 seconds, require the '''KickMaterialInEyes''' capacity, and apply a Hediff of the same name.
 +
:4{{note label|water||1}}{{note label|water||2}}{{note label|water||3}}{{note label|water||4}}{{note label|water||5}}{{note label|water||6}} All water tiles triple the deterioration rate. Additionally, these have a perceived path cost of 180 if undrafted and of 18 when [[draft]]ed
 +
:5{{note label|Impossible||1}}{{note label|Impossible||2}}Redundant due to being Impassable. It would result in a 4.2% '''Move Speed Modifier''' otherwise.
 +
:{{note label|Polluted_F|6}}The fertility is capped at 50%, but will not affect the value of the original terrain if it was equal or lower than that.
 +
:{{note label|RStone|7}}Plus any defined on NaturalTerrainBase. In vanilla, this in just '''Unnatural''' filth.
 +
:{{note label|Hardcode|8}}Not on the xml files but rather defined programmatically for all stone types.
  
 
=== Steam geyser ===
 
=== Steam geyser ===
Line 278: Line 402:
 
[[File:Steam geyser.png|frameless|64px]] Steam geysers are terrain features that allow the placement of a [[geothermal generator]] on them and also output a significant amount of [[temperature|heat]] when sealed in a roofed room.  
 
[[File:Steam geyser.png|frameless|64px]] Steam geysers are terrain features that allow the placement of a [[geothermal generator]] on them and also output a significant amount of [[temperature|heat]] when sealed in a roofed room.  
  
The steam geyser sprays after a random delay between {{Ticks|500}} and {{Ticks|2000}}. It will then spray for between {{Ticks|200}} and {{Ticks|500}}. While spraying, it will output 40 heat every {{ticks|20}}. Thus, it averages {{#expr: (60*40*((500+200)/2)/20)/((2000+500/2) + (200+500)/2) round 2}} heat per second, with no maximum temperature.
+
The steam geyser sprays after a random delay between {{Ticks|500}} and {{Ticks|2000}}. It will then spray for between {{Ticks|200}} and {{Ticks|500}}. While spraying, it will output 40 heat every {{ticks|20}}. Thus, it averages {{#expr: (60*40*((500+200)/2)/20)/((2000+500/2) + (200+500)/2) round 2}} heat per second, with no maximum temperature.  
  
Besides their use in power generation, they can also be used to heat bases and greenhouses without the need for electricity or fuel by sealing them in.
+
Besides their use in power generation, they can also be used to heat bases and greenhouses without the need for electricity or fuel by sealing them in. Like any means of [[temperature]] regulation, geysers require an enclosed and [[roof|roofed]] [[room]] to actually cause a change in heat. If you don't want heat, keep the geothermal room without a roof.
  
 
== Weather ==
 
== Weather ==
{{stub|section=1|reason=Exact details of how large fires on the map cause rain needed}}
+
{{stub|section=1|reason=Exact details of how large fires on the map cause rain needed. Rain details should be split from the rain weather type (because its not the only weather type that includes raining) and details discussed including short circuiting, increasing fuel consumption of torch, campfire and brazier variants, which weather types include rain, whether snow counts as rain for all mechanics etc, similarly Snow and its unique effects including [[Snow]] being merged into here}}
 
<!--When a number of fires are detected on a map, the "firewatcher" process will increment progress to rainy weather. Exact mechanics are unknown -->
 
<!--When a number of fires are detected on a map, the "firewatcher" process will increment progress to rainy weather. Exact mechanics are unknown -->
Weather events occur from time to time depending on the biome and time of year, with the current weather listed at the right edge of the screen. When a weather event ends the weather returns to Clear. Each weather event has a general effect on wind speed. Wind speed continually varies between 0% to 100% but it is not displayed onscreen. Wind speed is a direct multiplier of a wind turbine's power output. At 50% wind speed a wind turbine produces 1500W of its 3450W max. The [[Condition causer#Weather controller|"weather controller" condition causer]] can force a single type of weather to constantly appear, and will only allow natural changes in weather once it is destroyed.  
+
Weather events occur from time to time depending on the biome and time of year, with the current weather listed at the right edge of the screen. When a weather event ends the weather returns to Clear. Each weather event has a general effect on wind speed.  
 +
 
 +
Wind speed continually varies between 0% to 150% but it is not displayed onscreen. Wind speed is a direct multiplier of a [[wind turbine]]'s nominal power output of {{Q|Wind turbine|Power Consumption #}}W. At 50% wind speed a wind turbine produces {{#expr:0.5*{{Q|Wind turbine|Power Consumption #}}}}W up to a maximum of {{#expr:1.5*{{Q|Wind turbine|Power Consumption #}}}}W at 150%. Note that the "max power output" listed in the infobox claims that {{Q|Wind turbine|Power Consumption #}}W is the maximum under "ideal conditions" - this is incorrect.  
 +
 
 +
The [[Weather controller]]s {{RoyaltyIcon}} can force a single type of weather to constantly appear, and will only allow natural changes in weather once it is destroyed.  
  
 
{| class = "wikitable sortable"
 
{| class = "wikitable sortable"
 
|+ style = "text-align: left; font-size:120%;" | Weather types
 
|+ style = "text-align: left; font-size:120%;" | Weather types
 
|-
 
|-
!Label
+
! Label
!Time of year
+
! Time of year
!Temperature range <ref>Can continue even if the temperature exits the appropriate range, once started.</ref>
+
! Temperature range <ref>Can continue even if the temperature exits the appropriate range, once started.</ref>
!Accuracy modifier
+
! [[Weapons#Accuracy|Accuracy modifier]]
!Movement speed modifier
+
! Movement speed modifier
!Wind speed
+
! Wind speed
!Wind speed modifier
+
! Wind speed modifier
!Can put out fires
+
! Can put out fires
!Snowing rate
+
! Snowing rate
!Notes
+
! Notes
 
|-
 
|-
|Clear
+
| Clear
|Any
+
| Any
|Any
+
| Any
|100%
+
| 100%
|100%
+
| 100%
|None to Moderate
+
| None to Moderate
|100%
+
| 100%
|No
+
| No
|None
+
| None
|
+
|  
 
|-
 
|-
|Fog
+
| Fog
|Any
+
| Any
 
|Any
 
|Any
|50%
+
| 50%
|100%
+
| 100%
|None to Calm
+
| None to Calm
|50%
+
| 50%
|No
+
| No
|None
+
| None
|Can accompany rain to create Foggy Rain
+
| Can accompany rain to create Foggy Rain
 
|-
 
|-
|Rain
+
| Rain
|Any
+
| Any
 
| {{Temperature|0|100}}
 
| {{Temperature|0|100}}
|80%
+
| 80%
|90%
+
| 90%
|Calm to Moderate
+
| Calm to Moderate
|80%
+
| 80%
|Yes
+
| Yes
|None
+
| None
|Rain intensity can vary. Rain will put out any outdoor fires on the map. Rain can cause electronic objects to short circuit.
+
| Rain intensity can vary. Rain will put out any outdoor fires on the map. Rain can cause electronic objects to short circuit.
 
|-
 
|-
|Dry Thunderstorm
+
| Dry Thunderstorm
|Any
+
| Any
|Any
+
| Any
|100%
+
| 100%
|100%
+
| 100%
|Moderate to Extreme
+
| Moderate to Extreme
|150%
+
| 150%
|No
+
| No
|None
+
| None
|[[Lightning]] strikes from thunderstorms can ignite flammable objects, including flora. If accompanied by rain the fires should be extinguished without becoming a threat.
+
| [[Lightning]] strikes from thunderstorms can ignite flammable objects, including flora. If accompanied by rain the fires should be extinguished without becoming a threat.
 
|-
 
|-
|Rainy Thunderstorm
+
| Rainy Thunderstorm
|Any
+
| Any
|Any
+
| Any
|80%
+
| 80%
|80%
+
| 80%
|Moderate to Extreme
+
| Moderate to Extreme
|150%
+
| 150%
|Yes
+
| Yes
|None
+
| None
 
|
 
|
 
|-
 
|-
|Foggy rain
+
| Foggy rain
|Any
+
| Any
|Any
+
| Any
|50%
+
| 50%
|90%
+
| 90%
|None to Calm
+
| None to Calm
|150%
+
| 150%
|Yes
+
| Yes
|None
+
| None
 
|
 
|
 
|-
 
|-
|Hard snow
+
| Hard snow
|Mainly Winter
+
| Mainly Winter
 
| {{Temperature|-270|-0.5}}
 
| {{Temperature|-270|-0.5}}
|80%
+
| 80%
|80%
+
| 80%
|None to Moderate
+
| None to Moderate
|150%
+
| 150%
|Yes
+
| Yes
|120%
+
| 120%
|Weather event that can distribute [[Snow]] onto the terrain.
+
| Weather event that can distribute [[Snow]] onto the terrain.
 
|-
 
|-
|Soft snow
+
| Soft snow
|Mainly Winter
+
| Mainly Winter
 
| {{Temperature|-270|-0.5}}
 
| {{Temperature|-270|-0.5}}
|80%
+
| 80%
|100%
+
| 100%
|None to Moderate
+
| None to Moderate
|150%
+
| 150%
|Yes
+
| Yes
|80%
+
| 80%
|Weather event that can distribute [[Snow]] onto the terrain.
+
| Weather event that can distribute [[Snow]] onto the terrain.
 
|-
 
|-
 
|[[Events#Flashstorm|Flashstorm]]
 
|[[Events#Flashstorm|Flashstorm]]
|Any
+
| Any
|Any
+
| Any
|100%
+
| 100%
|100%
+
| 100%
|None to moderate
+
| None to moderate
|100%
+
| 100%
|No
+
| No
|None
+
| None
|An extreme version of the dry thunderstorm, and an event of its own (rather than normal weather changes). [[Lightning]] strike many times in a row in a small area, igniting anything flammable and causing giant wildfires which can spread to your base easily. It also disables rain for a short time.
+
| An extreme version of the dry thunderstorm, and an event of its own (rather than normal weather changes). [[Lightning]] strike many times in a row in a small area, igniting anything flammable and causing giant wildfires which can spread to your base easily. It also disables rain for a short time.
 
|}
 
|}
 
<references/>
 
<references/>
Line 411: Line 539:
 
* [[Version/0.0.245|0.0.245]] - Weather (rain/fog) now affects chances of hitting a target
 
* [[Version/0.0.245|0.0.245]] - Weather (rain/fog) now affects chances of hitting a target
 
* [[Version/0.3.410|0.3.410]] - Rain now slowly washes away [[Filth|blood]]. Added rich dirt patches.
 
* [[Version/0.3.410|0.3.410]] - Rain now slowly washes away [[Filth|blood]]. Added rich dirt patches.
* Beta 19/ 1.0 - Sand fertility 6% -> 10%.
+
* Beta 19/ 1.0 - Changed deep moving water to chest-deep moving water: walkable but slower than shallow water. Shallow water movement cost 12 -> 22. Sand fertility 6% -> 10%.
 +
* [[Version/1.1.0]] - Fix: Wind turbines register no wind during windy storm.
 +
 
 +
 
 
[[Category:RimWorld game]]
 
[[Category:RimWorld game]]

Revision as of 20:32, 29 August 2024

Basics Menus Game Creation Gameplay Pawns Plants Resources Gear Mods
Gameplay Menu Caravan Combat Cover Drafting Environment Events Factions Firefighting Quality Quests Research Rooms Time Trade

The map environment are all aspects of the map that often can not be directly influenced by the player, such as terrain, weather conditions and lighting.

Beauty

Terrain, flooring, objects, and plants attribute to a tile's beauty, which in turn can affect a colonist's mood. The contents of a tile have a cumulative effect on its beauty; i.e. a granite chunk (beauty of -10) on a carpeted floor (beauty of +2) gives the tile a net beauty of -8. Certain unsightly objects, i.e. vomit, have one value when under a roof and a lower value when unroofed. This simulates the general disgust of seeing eyesores indoors versus encountering them outside.

Space

Environment space (as opposed to the Need for Space) is the count of how much space there is to freely move around in a room. This is all the floor tiles that are either empty or have objects that can be passed through at full speed, such as chairs, building materials, and the various "spots". All objects that either slow down or prevent movement through are not counted towards Environment Space. The "Space" number shown in the Environment display is this count x 1.4. This number is a measure of the entire room, and does not change depending on where a pawn is standing.

Flora

Certain plants and trees have beauty, and may also provide cover to colonists.

Light

Light can be generated artificially or naturally. Artificial light is produced by appliances in a limited range. Natural light is generated throughout the map on unroofed tiles. Roofed tiles will be dark unless lit artificially.

Occasionally an eclipse befalls the planet. Natural daytime light is no longer generated until it ends.

Light's importance lies in the following effects:

  • Plant growth - Most plants have light requirements to grow.
  • Power - Solar generators only produce power when naturally lit.
  • Colonists want 30% light or better. This affects:
  • Colonists' mood - Colonists in sustained darkness will have the 'In darkness' thought. Sleeping colonists will not have this thought. Therefore, lighting is not needed in areas only used for sleeping.
  • Colonists' movement speed - Colonists in darkness will have a reduced move speed, scaling to 80% at a light level of 0%. Due to this, combat at night or under unlit roofed areas can lead to a disadvantage against non-human opponents, such as insects, manhunter animals, or mechanoids. Pawns that are Blind, have the Lighting: Darklight preferred precept,Content added by the Ideology DLC or have the Dark vision geneContent added by the Biotech DLC are unaffected by this factor.
  • Colonists' global work speed - Similarly to their movement speed, colonists will have a work speed penalty when working in darkness, scaling to 80% at a light level of 0%. Pawns that are Blind, have the Lighting: Darklight preferred precept,Content added by the Ideology DLC or have the Dark vision geneContent added by the Biotech DLC are unaffected by this factor.

There are three light levels: Dark (0-29%), Lit (30-89%), and Brightly lit (90-100%). Each tile on the map has one of these light levels. The light level of a tile is listed in the tile's information area located above the Architect menu (when the menu is minimized). The light level is immediately followed by the brightness given in a percentage (%).

Light levels according to Light (%)
Light (%) 0-29 30-89 90-100
Light level Dark Lit Brightly lit

Artificial light sources

Light in roofed areas is provided by the following appliances:

  • Name Light Radius
    Agarilux 0.00292
    Bryolux -0.436
    Campfire 7.175
    Chemfuel powered generator 3.485
    Electric crematorium 3.442
    Electric smelter 3.442
    Flood light 17.455
    Glow pod 3.481
    Glowstool 0.916
    Heater 1.653
    Machining table 2.658
    Standing lamp 9.093
    Sun lamp 11.718
    Torch lamp 7.175
    Vanometric power cell 1.756
    Wall lamp 7.974
    Wall torch lamp 6.378
    Wood-fired generator 3.442
    Atmospheric heater Content added by the Anomaly DLC 2.975
    Bioferrite generator Content added by the Anomaly DLC 5.223
    Fleshbulb Content added by the Anomaly DLC 1.188
    Proximity detector Content added by the Anomaly DLC 1.734
    Void monolith Content added by the Anomaly DLC 8.513
    Blood torch Content added by the Biotech DLC 7.884
    Ancient comms console Content added by the Ideology DLC 2.599
    Ancient enemy terminal Content added by the Ideology DLC 0.72
    Ancient lamp Content added by the Ideology DLC 0.783
    Ancient terminal Content added by the Ideology DLC 0.676
    Autobong Content added by the Ideology DLC 7.175
    Christmas tree Content added by the Ideology DLC 5.742
    Darklight brazier Content added by the Royalty DLCContent added by the Ideology DLC 7.108
    Darktorch Content added by the Ideology DLC 4.746
    Effigy Content added by the Ideology DLC 7.175
    Fungus darktorch Content added by the Ideology DLC 4.746
    Hermetic crate Content added by the Ideology DLC 1.552
    Lightball Content added by the Ideology DLC 4.686
    Loudspeaker Content added by the Ideology DLC 1.658
    Pyre Content added by the Ideology DLC 13.592
    Sacrificial flag Content added by the Ideology DLC 7.175
    Security crate Content added by the Ideology DLC 1.865
    Anima tree Content added by the Royalty DLC 1.91
    Brazier Content added by the Royalty DLC 7.175
    Count-down activator Content added by the Royalty DLC 0.546
    Mech node Content added by the Royalty DLC 1.65
    Proximity activator Content added by the Royalty DLC 0.415
    Ship landing beacon Content added by the Royalty DLC 0.964
    Unstable power cell Content added by the Royalty DLC 2.033
  • Daylight timing and latitude

    Daylight, or natural light, is the light generated on unroofed tiles throughout the map. The timing and strength of daylight is affected by latitude, time of year, and time of day, due to the planet's apparent axial tilt.

    This effect is more pronounced at extreme northern and southern latitudes, which can result in light levels not reaching 0% at night or 100% at daytime.

    Near the central latitude, light level change throughout the day as follows:

    Start time Light level
    4h Lit
    7h Brightly lit
    17h Lit
    20h Dark

    Day Length Table

    Note that the below values represent the number of hours that the light level is above 30%, meaning there is no guarantee that it will reach 100%.

    Latitude Aprimay 1 Aprimay 6 Aprimay 11 Jugust 1 Jugust 6 Jugust 11 Septober 1 Septober 6 Septober 11 Decembary 1 Decembary 6 Decembary 11
    90° N 0 0 0 24 24 24 24 24 24 0 0 0
    75° N 0 0 0 10.7 24 24 24 24 24 0 0 0
    60° N 11.2 11.7 12.8 14.1 15.5 16.5 16.8 16.2 15.0 13.6 12.3 11.4
    45° N 12.6 12.9 13.5 14.3 15.1 15.6 15.8 15.5 14.8 13.9 13.2 12.7
    30° N 13.5 13.7 14.0 14.5 14.9 15.3 15.4 15.2 14.8 14.3 13.9 13.6
    15° N 14.3 14.4 14.5 14.8 15.0 15.2 15.2 15.1 14.9 14.7 14.5 14.4
    15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2
    15° S 15.2 15.1 14.9 14.7 14.5 14.4 14.3 14.4 14.5 14.8 15.0 15.2
    30° S 15.4 15.2 14.8 14.3 13.9 13.6 13.5 13.7 14.0 14.5 14.9 15.3
    45° S 15.8 15.5 14.8 13.9 13.2 12.7 12.6 12.9 13.5 14.3 15.1 15.6
    60° S 16.8 16.2 15.0 13.6 12.3 11.4 11.2 11.7 12.8 14.1 15.5 16.5
    75° S 24 24 18.7 15.0 12.2 10.4 9.9 11.0 13.2 16.4 20.6 24
    90° S 24 24 24 24 24 0 0 0 24 24 24 24

    Plant growth time table

    Latitude Aprimay 1 Aprimay 6 Aprimay 11 Jugust 1 Jugust 6 Jugust 11 Septober 1 Septober 6 Septober 11 Decembary 1 Decembary 6 Decembary 11
    90° N 0 0 0 0 24 24 24 24 24 0 0 0
    75° N 0 0 0 5.8 24 24 24 24 18.6 0 0 0
    60° N 8.9 9.4 10.5 11.9 13.2 14.0 14.3 13.8 12.7 11.3 10.0 9.1
    45° N 11.0 11.3 11.9 12.7 13.4 13.9 14.1 13.8 13.1 12.4 11.6 11.1
    30° N 12.2 12.4 12.7 13.2 13.6 13.9 14.0 13.8 13.4 13.0 12.6 12.3
    15° N 13.2 13.2 13.4 13.6 13.8 14.0 14.0 13.9 13.7 13.5 13.3 13.2
    14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1
    15° S 14.0 13.9 13.7 13.5 13.3 13.2 13.2 13.2 13.4 13.6 13.8 14.0
    30° S 14.0 13.8 13.4 13.0 12.6 12.3 12.2 12.4 12.7 13.2 13.6 13.9
    45° S 14.1 13.8 13.1 12.4 11.6 11.1 11.0 11.3 11.9 12.7 13.4 13.9
    60° S 14.3 13.8 12.7 11.3 10.0 9.1 8.9 9.4 10.5 11.9 13.2 14.0
    75° S 17.3 16.0 13.6 10.6 7.6 5.1 4.3 6.0 8.8 11.8 14.6 16.7
    90° S 24 24 24 0 0 0 0 0 0 0 24 24

    Daylight math details

    The calculation of sunlight is surprisingly involved. On a nutshell: the formula obtains the angle between the vectors Latitude and Sun Position, subtracts an angle θ from it (determined by Latitude), obtains the cosine of the difference, and divides this number by 0.7. Finally, this result is capped between 0 (no light) and 100% (full light).

    If you only care about the final formula, go to "Final formula" below. Otherwise, carry on.

    The amount of sunlight a given cell receives depends on its Latitude, Day of the year, and Hour of the day. The simplified steps to reach the final value are:

    1. Obtain the factor "u" for the given latitude
    Latitude Value of u
    <= 70 0.2
    [70, 75] Latitude * 13/50-18
    =>75 1.5
    2. Obtain Sun Position Vector SP = {SPx, SPy, SPz}. Do note these formulas are not in degrees, but radians.
    • SPx = -cos(Hour * π / 12)
    • SPy = -cos(π * Day/30) * u
    • SPz = -sin(Hour * π / 12) [NOT ACTUALLY USED, BUT PART OF THE VECTOR]
    3. Calculate angle θ. Do note that the values of this table are in degrees. To convert to radians, multiply result by π / 180
    Latitud Value of θ
    <= -60 19
    [-60, 60] 36 - abs(x) * 17/60
    [60, 70] 19
    [70, 75] 299 - 4x
    >75 -1
    4. Calculate the angle (Δ) between the vector Latitude (L) y SP.
    • Δ = arc cos [ ( cos(Latitude) * SPx + sen(Latitude) * SPy ) /  1 + SPy2  ]
    5. Sunlight = cos(Δ - θ)/0.7; Capped between 0 and 1 (100%).

    Do note that the creation of the vector Latitude : {cos(latitude), sin(latitude), 0} was omitted for simplicity.

    Final Formula:

    Sunlight formula 5.png


    Where:

    Latitude Value of u
    <= 70 0.2
    [70, 75] Latitude * 13/50-18
    =>75 1.5
    Latitud Value of θ
    <= -60 19
    [-60, 60] 36 - abs(x) * 17/60
    [60, 70] 19
    [70, 75] 299-4x
    >75 -1

    Interestingly, while some effects are applied differently above latitude 70 (70° N), these do not seem to apply below -70 (70° S). This has some odd effects on extreme Latitudes, such as the south pole having neither full darkness nor full light.

    Getting useful data from this formula is inconvenient. You can use this google doc to get a better idea of how many hours of daylight a given tile (based on Latitude) will have through the year.


    Openness

    Openness refers to the often critical aspect of structures being open to the outside. It affects many things such as temperature, item deterioration, light, exposure to weather, and certain events.

    Every tile on the map falls into one of three categories:

    • Outdoors - not enclosed by any structure, even if there is a roof.
    • Indoors - completely enclosed structure, completely roofed.
    • Unroofed - completely enclosed structure, but with one or more unroofed tiles.

    Sufficiently large unroofed rooms, approximately 300 tiles, are considered outdoors.[Detail Needed]

    Temperature

    Environmental temperature is affected outdoors mainly by the map's biome and by the current season. Temperature affects a plant's ability to grow. Temperature affects a human's comfort, and health in extreme temperatures.

    Terrain

    Terrain consists of the map's walking surface, terrain features, and mountain areas. Terrain affects things including walking speed, where plants can grow, and may prohibit construction.

    Natural surface terrain includes soil, rich soil, marshy soil, marsh, mud, sand, lichen-covered dirt, gravel, rough stone (granite, marble, etc.), rough-hewn stone, shallow water, and deep water.

    Terrain features include steam geysers and mountains. The steam from a geyser produces heat and an enclosed area around it will heat up unless unroofed. A mountain cannot be destroyed, even if all of its stone and ore has been mined out. What remains are terrain tiles listed as 'overhead mountain'.

    Naturally generated surfaces

    While most terrain properties are self-explanatory, some require special attention.

    • Path cost determines how difficult is to travers a given terrain.
    • Move Speed Modifier is the net effect of said cost, and is obtained with the formula 13/(13 + Path cost) rounded.
    • Terrain Support determines what kind of structures can be build on a given terrain. If a given structure has a Terrain Affordance not listed for a given terrain, then said terrain is not a valid construction site. The types used are:
      • Light: Supports light structure.
      • Medium: Supports medium structures.
      • Heavy: Supports heavy structures.
      • ShallowWater: Can be built on with things that are waterproof.
      • MovingFluid (moving water): Contains power usable for hydroelectrics.
      • Bridgeable: Bridge can be built over this terrain.
      • GrowSoil (growable): Things can grow here. Unsure if is does anything or if merely indicative.
      • Diggable: Able to build graves.
      • SmoothableStone (smoothable): Can be ground and smoothed into smooth stone.
    • Filth Mask determines what kind of filth can be applied on this terrain. Most natural floors only accept Unnatural filth, if any at all, but there are exceptions.
    • Tag use is unclear. It may be used on map generation.

    As of Version/1.5.4104, all terrains with Heavy Terrain Support also support both Medium and Light. To help the readability of this table, only the Heavy tag will be used in those cases.

    Type Move Speed
    Modifier
    Fertility Terrain
    Support
    Bridgeable Diggable Terrain
    Type
    Beauty
    Indoors/
    Outdoors
    Cleanliness Filth
    mask[1]
    Dries
    To[2]
    Tags Path
    cost
    Generates
    Filth
    Allows
    Special
    Attack[3]
    Others
    Broken asphalt 100% 0% Heavy Ex.png Ex.png - -1 2 Check.png - Road 0 Ex.png Ex.png
    Packed dirt 93% 0% Heavy Ex.png Check.png Soil -1 -1 Check.png - Road 1 Dirt Ex.png
    Chest-deep moving water 24% 0% - Check.png Ex.png - 0 0 Ex.png - Water[4] 42 Ex.png Water Extinguishes Fire
    Traversing generates thought Soaking wet
    Deep ocean water 0% 0% - Ex.png Ex.png - 0 0 Ex.png - Water[4]
    ocean
    300[5] Ex.png Water Impassable
    Extinguishes Fire
    Deep water 0% 0% - Ex.png Ex.png - 0 0 Ex.png - Water[4] 300[5] Ex.png Water Impassable
    Extinguishes Fire
    Shallow ocean water 30% 0% ShallowWater Check.png Ex.png - 0 0 Ex.png Stony soil Water[4]
    ocean
    30 Ex.png Water Extinguishes Fire
    Traversing generates thought Soaking wet
    Shallow moving water 30% 0% ShallowWater
    MovingFluid
    Check.png Ex.png - 0 0 Ex.png - Water[4]
    River
    30 Ex.png Water Extinguishes Fire
    Traversing generates thought Soaking wet
    Shallow water 30% 0% ShallowWater Check.png Ex.png - 0 0 Ex.png Stony soil Water[4] 30 Ex.png Water Extinguishes Fire
    Traversing generates thought Soaking wet
    Marsh 30% 0% ShallowWater Check.png Ex.png - -3/0 -2 Ex.png Soil - 30 Dirt Mud Extinguishes Fire
    Traversing generates thought Soaking wet
    Soil 87% 100% Heavy
    GrowSoil
    Ex.png Check.png Soil -3/0 -1 Check.png - Soil 2 Dirt Dirt
    Lichen-covered soil 81% 100% Heavy
    GrowSoil
    Ex.png Check.png Soil -3/0 -1 Check.png - Soil 3 Dirt Dirt
    Marshy soil 48% 100% Light
    GrowSoil
    Check.png Check.png Soil -3/0 -2 Check.png Soil Soil 14 Dirt Dirt
    Rich soil 87% 140% Heavy
    GrowSoil
    Check.png Check.png Soil -3/0 -1 Check.png Soil Soil 2 Dirt Dirt
    Stony soil 87% 70% Heavy
    GrowSoil
    Check.png Check.png - -3/0 -1 Check.png - Soil 2 Dirt Gravel
    Sand 76% 10% Heavy Ex.png Check.png Sand -3/0 -1 Check.png - Sand 4 Sand Sand
    Soft sand 48% 0% Light Ex.png Check.png Sand -3/0 -1 Check.png Sand Sand 14 Sand Sand
    Mud 48% 0% - Check.png Ex.png Soil -3/0 -2 Check.png Soil - 14 Dirt Mud
    Ice 48% 0% Heavy Ex.png Check.png - -3/0 0 Check.png - - 14 Dirt Ex.png -
    Polluted terrainContent added by the Biotech DLC - 0-50%[6] - - - - -1 - - - - - - - Fertility can't exceed 50%.
    Overlay: Applies stats over existing terrain (additive)
    Overlay: Changes graphics of affected terrain.
    Can be removed.
    Allows growth of Toxipotato, Gray pine, Pebble cactus, Rat palm
    Prevents growth of most other plants.
    Colonist receive toxic buildup from waking here.
    Rough stonestone 87% 0% Heavy Ex.png Ex.png Stone -1 0 Check.png[7] - - 2 Ex.png Ex.png Smooothable
    Hardcoded[8]
    Rough-hewn stone 93% 0% Heavy Ex.png Ex.png Stone -1 0 All - - 1 Ex.png Ex.png Smooothable
    Hardcoded[8]
    Smooth stone 100% 0% Heavy Ex.png Ex.png Stone 2 0 All - - 0 Ex.png Ex.png 5Silver.
    Natural, non-generated floor/terrain hybrid.
    Paintable
    Hardcoded[8]
    Gray surfaceContent added by the Anomaly DLC 87% 0% Heavy Ex.png Ex.png ? 0 0 Check.png? - ? 2 Ex.png Ex.png Only present on the Labyrinth.
    FleshContent added by the Anomaly DLC 87% 0% Heavy Ex.png Ex.png[Note] ? -10/-5 -3 Check.png? - ? 2 ? Ex.png Behaves like a natural Floor.
    Cleaning time Mult 150%
    Removable.
    Inflammable 32%
    1 The kind of Filth accepted by this terrain. Check.png denotes terrains that accept Unnatural filth, Ex.png those that accept none. Special cases are denoted as such.
    2 As Stony soil doesn't exist in Sea ice nor Ice sheet, it dries to Ice instead.
    3 All of these attacks have a cooldown of 1.5 seconds, require the KickMaterialInEyes capacity, and apply a Hediff of the same name.
    41 2 3 4 5 6 All water tiles triple the deterioration rate. Additionally, these have a perceived path cost of 180 if undrafted and of 18 when drafted
    51 2 Redundant due to being Impassable. It would result in a 4.2% Move Speed Modifier otherwise.
    6 The fertility is capped at 50%, but will not affect the value of the original terrain if it was equal or lower than that.
    7 Plus any defined on NaturalTerrainBase. In vanilla, this in just Unnatural filth.
    8 Not on the xml files but rather defined programmatically for all stone types.

    Steam geyser

    Steam geyser.png Steam geysers are terrain features that allow the placement of a geothermal generator on them and also output a significant amount of heat when sealed in a roofed room.

    The steam geyser sprays after a random delay between 500 ticks (8.33 secs) and 2,000 ticks (33.33 secs). It will then spray for between 200 ticks (3.33 secs) and 500 ticks (8.33 secs). While spraying, it will output 40 heat every 20 ticks (0.33 secs). Thus, it averages 16.15 heat per second, with no maximum temperature.

    Besides their use in power generation, they can also be used to heat bases and greenhouses without the need for electricity or fuel by sealing them in. Like any means of temperature regulation, geysers require an enclosed and roofed room to actually cause a change in heat. If you don't want heat, keep the geothermal room without a roof.

    Weather

    Weather events occur from time to time depending on the biome and time of year, with the current weather listed at the right edge of the screen. When a weather event ends the weather returns to Clear. Each weather event has a general effect on wind speed.

    Wind speed continually varies between 0% to 150% but it is not displayed onscreen. Wind speed is a direct multiplier of a wind turbine's nominal power output of 2300W. At 50% wind speed a wind turbine produces 1150W up to a maximum of 3450W at 150%. Note that the "max power output" listed in the infobox claims that 2300W is the maximum under "ideal conditions" - this is incorrect.

    The Weather controllers Content added by the Royalty DLC can force a single type of weather to constantly appear, and will only allow natural changes in weather once it is destroyed.

    Weather types
    Label Time of year Temperature range [1] Accuracy modifier Movement speed modifier Wind speed Wind speed modifier Can put out fires Snowing rate Notes
    Clear Any Any 100% 100% None to Moderate 100% No None
    Fog Any Any 50% 100% None to Calm 50% No None Can accompany rain to create Foggy Rain
    Rain Any °C – 100 °C (32 °F – 212 °F) 80% 90% Calm to Moderate 80% Yes None Rain intensity can vary. Rain will put out any outdoor fires on the map. Rain can cause electronic objects to short circuit.
    Dry Thunderstorm Any Any 100% 100% Moderate to Extreme 150% No None Lightning strikes from thunderstorms can ignite flammable objects, including flora. If accompanied by rain the fires should be extinguished without becoming a threat.
    Rainy Thunderstorm Any Any 80% 80% Moderate to Extreme 150% Yes None
    Foggy rain Any Any 50% 90% None to Calm 150% Yes None
    Hard snow Mainly Winter -270 °C – -0.5 °C (-454 °F – 31.1 °F) 80% 80% None to Moderate 150% Yes 120% Weather event that can distribute Snow onto the terrain.
    Soft snow Mainly Winter -270 °C – -0.5 °C (-454 °F – 31.1 °F) 80% 100% None to Moderate 150% Yes 80% Weather event that can distribute Snow onto the terrain.
    Flashstorm Any Any 100% 100% None to moderate 100% No None An extreme version of the dry thunderstorm, and an event of its own (rather than normal weather changes). Lightning strike many times in a row in a small area, igniting anything flammable and causing giant wildfires which can spread to your base easily. It also disables rain for a short time.
    1. Can continue even if the temperature exits the appropriate range, once started.

    Lightning

    Lightning in a Dry thunderstorm

    Lightning is created either naturally through thunder and flashstorms, or artificially with the flashstorm psycastContent added by the Royalty DLC. These do 10 Flame damage in a 3x3 area (1.9 block radius) and start fires in the area of effect. Dry thunderstorms can be especially dangerous, starting fires around the map without rain to put them out. The flashstorm psycast should be used with caution, preferably in areas without vegetation or during rain. Lightning can also be spawned in with a debug command in development mode.

    Lightning is bright enough to momentarily power solar generators and grow plants.

    Version history

    • 0.0.245 - Weather (rain/fog) now affects chances of hitting a target
    • 0.3.410 - Rain now slowly washes away blood. Added rich dirt patches.
    • Beta 19/ 1.0 - Changed deep moving water to chest-deep moving water: walkable but slower than shallow water. Shallow water movement cost 12 -> 22. Sand fertility 6% -> 10%.
    • Version/1.1.0 - Fix: Wind turbines register no wind during windy storm.