﻿<?xml version="1.0" encoding="utf-8" ?>
<Defs>

  <!--======= Primary stats (calcualated from physical conditions) =======-->

  <RoomStatDef>
    <defName>Impressiveness</defName>
    <label>impressiveness</label>
    <workerClass>RoomStatWorker_Impressiveness</workerClass>
    <updatePriority>1</updatePriority>
    <displayRounded>true</displayRounded>
    <roomlessScore>0</roomlessScore>
    <scoreStages>
      <li>
        <label>awful</label>
      </li>
      <li>
        <minScore>20</minScore>
        <label>dull</label>
      </li>
      <li>
        <minScore>30</minScore>
        <label>mediocre</label>
      </li>
      <li>
        <minScore>40</minScore>
        <label>decent</label>
      </li>
      <li>
        <minScore>50</minScore>
        <label>slightly impressive</label>
      </li>
      <li>
        <minScore>65</minScore>
        <label>somewhat impressive</label>
      </li>
      <li>
        <minScore>85</minScore>
        <label>very impressive</label>
      </li>
      <li>
        <minScore>120</minScore>
        <label>extremely impressive</label>
      </li>
      <li>
        <minScore>170</minScore>
        <label>unbelievably impressive</label>
      </li>
      <li>
        <minScore>240</minScore>
        <label>wondrously impressive</label>
      </li>
    </scoreStages>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>Wealth</defName>
    <label>wealth</label>
    <workerClass>RoomStatWorker_Wealth</workerClass>
    <updatePriority>2</updatePriority>
    <displayRounded>true</displayRounded>
    <roomlessScore>0</roomlessScore>
    <scoreStages>
      <li>
        <label>impoverished</label>
      </li>
      <li>
        <minScore>500</minScore>
        <label>somewhat poor</label>
      </li>
      <li>
        <minScore>700</minScore>
        <label>mediocre</label>
      </li>
      <li>
        <minScore>2000</minScore>
        <label>somewhat rich</label>
      </li>
      <li>
        <minScore>4000</minScore>
        <label>rich</label>
      </li>
      <li>
        <minScore>10000</minScore>
        <label>luxurious</label>
      </li>
      <li>
        <minScore>40000</minScore>
        <label>very luxurious</label>
      </li>
      <li>
        <minScore>100000</minScore>
        <label>extremely luxurious</label>
      </li>
      <li>
        <minScore>1000000</minScore>
        <label>unbelievably luxurious</label>
      </li>
    </scoreStages>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>Space</defName>
    <label>space</label>
    <workerClass>RoomStatWorker_Space</workerClass>
    <updatePriority>2</updatePriority>
    <displayRounded>true</displayRounded>
    <roomlessScore>350</roomlessScore>
    <scoreStages>
      <li>
        <label>cramped</label>
      </li>
      <li>
        <minScore>12.5</minScore>
        <label>rather tight</label>
      </li>
      <li>
        <minScore>29</minScore>
        <label>average-sized</label>
      </li>
      <li>
        <minScore>55</minScore>
        <label>somewhat spacious</label>
      </li>
      <li>
        <minScore>70</minScore>
        <label>quite spacious</label>
      </li>
      <li>
        <minScore>130</minScore>
        <label>very spacious</label>
      </li>
      <li>
        <minScore>349.5</minScore>
        <label>extremely spacious</label>
      </li>
    </scoreStages>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>Beauty</defName>
    <label>beauty</label>
    <workerClass>RoomStatWorker_Beauty</workerClass>
    <updatePriority>2</updatePriority>
    <roomlessScore>0</roomlessScore>
    <scoreStages>
      <li>
        <label>hideous</label>
      </li>
      <li>
        <minScore>-3.5</minScore>
        <label>ugly</label>
      </li>
      <li>
        <minScore>0.0</minScore>
        <label>neutral</label>
      </li>
      <li>
        <minScore>2.4</minScore>
        <label>pretty</label>
      </li>
      <li>
        <minScore>5.0</minScore>
        <label>beautiful</label>
      </li>
      <li>
        <minScore>15.0</minScore>
        <label>very beautiful</label>
      </li>
      <li>
        <minScore>50.0</minScore>
        <label>extremely beautiful</label>
      </li>
      <li>
        <minScore>100.0</minScore>
        <label>unbelievably beautiful</label>
      </li>
    </scoreStages>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>Cleanliness</defName>
    <label>cleanliness</label>
    <workerClass>RoomStatWorker_Cleanliness</workerClass>
    <updatePriority>2</updatePriority>
    <roomlessScore>0</roomlessScore>
    <scoreStages>
      <li>
        <label>very dirty</label>
      </li>
      <li>
        <minScore>-1.1</minScore>
        <label>dirty</label>
      </li>
      <li>
        <minScore>-0.4</minScore>
        <label>slightly dirty</label>
      </li>
      <li>
        <minScore>-0.05</minScore>
        <label>clean</label>
      </li>
      <li>
        <minScore>0.4</minScore>
        <label>sterile</label>
      </li>
    </scoreStages>
  </RoomStatDef>
  
  <!--======= Dependent stats (calculated from other stats) =======-->

  <RoomStatDef>
    <defName>InfectionChanceFactor</defName>
    <label>infection chance factor</label>
    <workerClass>RoomStatWorker_FromStatByCurve</workerClass>
    <updatePriority>0</updatePriority>
    <isHidden>true</isHidden>
    <roomlessScore>1.0</roomlessScore>
    <inputStat>Cleanliness</inputStat>
    <curve>
      <points>
        <li>(-5, 1.0)</li> <!-- Never worse than no tending at all -->
        <li>( 0, 0.5)</li>
        <li>( 1, 0.2)</li>
      </points>
    </curve>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>SurgerySuccessChanceCleanlinessFactor</defName>
    <label>surgery success chance cleanliness factor</label>
    <workerClass>RoomStatWorker_FromStatByCurve</workerClass>
    <updatePriority>0</updatePriority>
    <isHidden>true</isHidden>
    <roomlessScore>0.6</roomlessScore>
    <inputStat>Cleanliness</inputStat>
    <curve>
      <points>
        <li>(-5, 0.6)</li>
        <li>( 0, 1.0)</li>
        <li>( 5, 1.15)</li>
      </points>
    </curve>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>ResearchSpeedFactor</defName>
    <label>research speed factor</label>
    <workerClass>RoomStatWorker_FromStatByCurve</workerClass>
    <updatePriority>0</updatePriority>
    <isHidden>true</isHidden>
    <roomlessScore>0.75</roomlessScore>
    <inputStat>Cleanliness</inputStat>
    <curve>
      <points>
        <li>(-5.0, 0.75 )</li>
        <li>(-2.5, 0.85 )</li>
        <li>( 0.0, 1.00 )</li>
        <li>( 1.0, 1.15 )</li>
      </points>
    </curve>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>GraveVisitingJoyGainFactor</defName>
    <label>grave visiting recreation factor</label>
    <workerClass>RoomStatWorker_FromStatByCurve</workerClass>
    <updatePriority>0</updatePriority>
    <isHidden>true</isHidden>
    <roomlessScore>1</roomlessScore>
    <inputStat>Impressiveness</inputStat>
    <curve>
      <points>
        <li>(-150, 1.0)</li>
        <li>(   0, 1.0)</li>
        <li>( 150, 1.4)</li>
      </points>
    </curve>
  </RoomStatDef>
  
  <RoomStatDef>
    <defName>FoodPoisonChance</defName>
    <label>food poison chance</label>
    <workerClass>RoomStatWorker_FromStatByCurve</workerClass>
    <updatePriority>0</updatePriority>
    <isHidden>true</isHidden>
    <roomlessScore>0.02</roomlessScore>
    <inputStat>Cleanliness</inputStat>
    <curve>
      <points>
        <li>(-5, 0.05)</li>
        <li>(-3.5, 0.025)</li>
        <li>(-2, 0)</li>
      </points>
    </curve>
  </RoomStatDef>

</Defs>
