Difference between revisions of "Template:Building Stats Table Row"

From RimWorld Wiki
Jump to navigation Jump to search
(fixed beauty calculation for non-normal quality. Added explanations for beauty calculation)
(DLC Icons)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly><!--
+
<includeonly><tr {{#ifeq: {{#var:quality}} | Normal || {{#if: {{#var:stufftags}}|{{#if:{{#var:hasQuality}}|class="mw-collapsible mw-collapsed" id="mw-customcollapsible-collapseQuality{{#replace:{{#replace:{{#replace:{{#var:name}}|<nowiki> </nowiki>}}|(}}|)}}"}} }} }}><!--
VARIABLES
 
-->{{#vardefine: beautyFactor | {{#switch: {{#var:quality}}
 
| Awful      = -0.1
 
| Poor      =  0.5
 
| Normal     =  1
 
| Good      =  2
 
| Excellent  =  3
 
| Masterwork =  5
 
| Legendary  =  8
 
| #default  =  1
 
}} }}<!--
 
-->{{#vardefine: comfortFactor | {{#switch: {{#var:quality}}
 
| Awful      = 0.76
 
| Poor      = 0.88
 
| Normal    = 1
 
| Good      = 1.12
 
| Excellent  = 1.24
 
| Masterwork = 1.45
 
| Legendary  = 1.7
 
| #default  = 1
 
}} }}<!--
 
-->{{#vardefine: restFactor | {{#switch: {{#var:quality}}
 
| Awful      = 0.86
 
| Poor      = 0.92
 
| Normal    = 1
 
| Good      = 1.08
 
| Excellent  = 1.14
 
| Masterwork = 1.25
 
| Legendary  = 1.6
 
| #default  = 1
 
}} }}<!--
 
-->{{#vardefine: surgeryFactor | {{#switch: {{#var:quality}}
 
| Awful      = 0.9
 
| Poor      = 0.95
 
| Normal    = 1
 
| Good      = 1.05
 
| Excellent  = 1.1
 
| Masterwork = 1.15
 
| Legendary  = 1.3
 
| #default  = 1
 
}} }}<!--
 
-->{{#vardefine: recreationFactor | {{#switch: {{#var:quality}}
 
| Awful      = 0.76
 
| Poor      = 0.88
 
| Normal    = 1
 
| Good      = 1.12
 
| Excellent  = 1.24
 
| Masterwork = 1.4
 
| Legendary  = 1.8
 
| #default  = 1
 
}} }}<!--
 
-->{{#vardefine:collapseMaterial|{{#ifeq: {{{1|}}} | {{#var:defaultMaterial}} || {{#if: {{#var:stufftags}}|{{#if:{{#var:hasQuality}}|class="mw-collapsible" id="mw-customcollapsible-collapseMaterial{{#replace:{{#var:name}}|<nowiki> </nowiki>}}"}} }} }} }}<!--
 
-->{{#vardefine:collapseQuality| {{#ifeq: {{#var:quality}} | Normal || {{#if: {{#var:stufftags}}|{{#if:{{#var:hasQuality}}|class="mw-collapsible mw-collapsed" id="mw-customcollapsible-collapseQuality{{#replace:{{#var:name}}|<nowiki> </nowiki>}}"}} }} }} }}<!--
 
  
TABLE ROW -->
+
Headers
<tr {{#var:collapseQuality}}><!--
+
-->{{#if: {{#var:multipleBuildings}} |
 
+
   <th style="text-align:left;"> {{#var:name}} </th>
Headers -->
 
{{#if: {{#var:multipleBuildings}} |
 
   <th style="text-align:left;" {{#var:collapseMaterial}}> {{#var:name}} </th>
 
 
}}
 
}}
 
{{#if: {{#var:hasQuality}} |
 
{{#if: {{#var:hasQuality}} |
   <th style="text-align:left;" data-sort-value="{{#var:qualitySort}};" {{#var:collapseMaterial}}> {{#var:quality}} </th>
+
   <th style="text-align:left;" data-sort-value="{{#var:qualitySort}}"> {{#var:quality}} </th>
 
}}
 
}}
 
{{#if: {{#var:stufftags}}  |
 
{{#if: {{#var:stufftags}}  |
   <th style="text-align:left;" data-sort-value="{{{1|}}}" {{#var:collapseMaterial}}> {{Icon Small|{{{1|}}} }} [[{{{1|}}}]] </th>
+
   <th style="text-align:left;" data-sort-value="{{{1}}}"> {{Icon Small|{{{1}}} }} {{DLC Icons|{{{1}}} }} </th>
 
}}<!--
 
}}<!--
  
Beauty --><!--
+
Beauty
 
-->{{#vardefine:preBeauty | {{#expr: {{#var:beauty}} <!-- base beauty of the building -->
 
-->{{#vardefine:preBeauty | {{#expr: {{#var:beauty}} <!-- base beauty of the building -->
   * {{#ifexpr: {{#var:beauty}} < 0 | 1 | {{Q|{{{1}}}|Beauty Factor}} }} <!-- beauty factor provided by the material. Set to 1 if base beauty of the building is negative -->
+
   * {{#ifexpr: {{#var:beauty}} < 0 | 1 | {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Beauty Factor}}|1}} }} <!-- beauty factor provided by the material. Set to 1 if base beauty of the building is negative -->
 
   + {{Q|{{{1}}}|Beauty Offset|0}} <!-- beauty offset provided by the material -->
 
   + {{Q|{{{1}}}|Beauty Offset|0}} <!-- beauty offset provided by the material -->
  - {{#ifexpr: {{Q|{{{1}}}|Beauty Factor}} * {{#var:beauty}} > 0 | 0.000000001 | 0}} <!-- apply small offset so 0.5 is rounded down -->
+
}} }}<!--
}} }}
+
-->{{#vardefine:tempBeauty |
<td {{#var:collapseMaterial}}> {{#vardefineecho:tempBeauty|
+
  {{#expr: {{#ifexpr: {{#var:preBeauty}} > 0
   {{#expr: {{#ifexpr: {{#var:preBeauty}} > 0 | {{#var:preBeauty}} * {{#var:beautyFactor}} | {{#var:preBeauty}} }} round 0}}
+
    | {{#var:preBeauty}} * {{#var:beautyFactor}} {{#ifexpr: {{#var:beautyFactor}} > 0 | - | +}} 0.000000001 <!-- beauty factor provided by quality. apply small offset so 0.5 is rounded down/up depending on sign -->
 +
    | {{#var:preBeauty}} }}
 +
  round 0}}
 +
}}
 +
<td> {{#vardefineecho:finalBeauty |
 +
   {{#ifeq: {{#var:tempBeauty}} | -0 | 0 | {{#var:tempBeauty}} }}
 
}} </td><!--
 
}} </td><!--
  
Comfort -->
+
Comfort
{{#if: {{#var:comfort}} |
+
-->{{#if: {{#var:comfort}} |
   <td {{#var:collapseMaterial}}> {{#expr: {{#var:comfort}} * {{#var:comfortFactor}} }} </td>
+
  <td> {{#expr: {{#var:comfort}} * {{#var:comfortFactor}} round 2}} </td>
 +
}}<!--
 +
 
 +
Rest effectiveness
 +
-->{{#if: {{#var:restEffectiveness}} | {{#vardefine:restRate|{{#expr:(((1/((150/60000)*(24/10.5)))*150)/2500)}} }}<!-- See [[Rest#Positive]] for an explanation of the formula -->
 +
  <td> {{%|{{#vardefineecho:finalRestEffectiveness | {{#var:restEffectiveness}}*{{#var:restFactor}}*{{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Rest Effectiveness Factor|1}}|1}} }}|0}} ({{#expr:{{#var:restRate}}/({{#var:finalRestEffectiveness}}) round 2}}&nbsp;h) </td>
 +
}}<!--
 +
 
 +
Surgery Success Chance Factor
 +
-->{{#if: {{#var:surgerySuccess}} |
 +
   <td> {{%|{{#var:surgerySuccess}}*{{#var:surgeryFactor}}|0}} </td>
 +
}}<!--
 +
 
 +
Recreation Power
 +
-->{{#if: {{#var:recreation}} |
 +
  <td> {{#expr: {{#var:recreation}} * {{#var:recreationFactor}} round 2}} </td>
 
}}<!--
 
}}<!--
  
Work -->
+
Work
<td style="text-align:left" {{#var:collapseMaterial}}> {{Align Ticks| {{#vardefineecho:tempWorkTicks|{{#if:{{#var:useWorkToMake}} | {{#expr: {{Q|{{{1}}}|Work To Make Factor}} * {{#var:work|}} + {{Q|{{{1}}}|Work To Make Offset|0}} round 0}}| {{#expr: {{Q|{{{1}}}|Work To Build Factor}} * {{#var:work|}} + {{Q|{{{1}}}|Work To Build Offset|0}} round 0}} }}}} }} </td><!--
+
--><td style="text-align:left;"> {{Align Ticks| {{#vardefineecho:tempWorkTicks|{{#if:{{#var:useWorkToMake}} | {{#expr: {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Work To Make Factor}}|1}} * {{#var:work|}} + {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Work To Make Offset|0}}|0}} round 0}}| {{#expr: {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Work To Build Factor}}|1}} * {{#var:work|}} + {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Work To Build Offset|0}}|0}} round 0}} }} }} }} </td><!--
  
HP -->
+
HP
<td {{#var:collapseMaterial}}> {{#expr: {{Q|{{{1}}}|Max Hit Points Factor}}*{{#var:HP|}} round 0}} </td><!--
+
--><td> {{#expr: {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Max Hit Points Factor}}|1}}*{{#var:HP|}} round 0}} </td><!--
  
Flammability -->
+
Flammability
<td {{#var:collapseMaterial}}> {{#ifexpr: {{#vardefineecho:finalFlammability| {{Q|{{{1}}}|Flammability Factor}}*{{#var:flammability|1}} }} > 1 | 100% | {{%|{{#var:finalFlammability}} }} }} </td><!--
+
--><td> {{#ifexpr: {{#vardefineecho:finalFlammability| {{#if:{{#var:stufftags}}|{{Q|{{{1}}}|Flammability Factor}}|1}}*{{#var:flammability|1}} }} > 1 | 100% | {{%|{{#var:finalFlammability}} }} }} </td><!--
  
 
Door and Spike trap stats
 
Door and Spike trap stats
 
-->{{#switch: {{#var:name}}
 
-->{{#switch: {{#var:name}}
   | Door | Autodoor | Fence gate | Animal flap =
+
   | Autodoor =
     <td {{#var:collapseMaterial}}> {{%|{{Q|{{{1}}}|Door Opening Speed Factor|1}} }} </td>
+
    <td> {{%|{{Q|{{{1}}}|Door Opening Speed Factor|1}} * 4}} </td>
 +
  | Door | Fence gate | Animal flap =
 +
     <td> {{%|{{Q|{{{1}}}|Door Opening Speed Factor|1}} }} </td>
 
   | Spike trap =
 
   | Spike trap =
     <td {{#var:collapseMaterial}}> {{#vardefineecho:damage|{{#expr: {{Q|{{{1}}}|Melee Sharp Damage Factor}}*100}} }} </td>
+
     <td> {{#vardefineecho:damage|{{#expr: {{Q|{{{1}}}|Melee Sharp Damage Factor}}*100}} }} </td>
     <td {{#var:collapseMaterial}}> {{#expr: {{#var:damage}}/5}} </td>
+
     <td> {{#expr: {{#var:damage}}/5}} </td>
     <td {{#var:collapseMaterial}}> {{%|{{#var:damage}}/5*0.015}} </td>
+
     <td> {{%|{{#var:damage}}/5*0.015}} </td>
 
}}<!--
 
}}<!--
  
Terrain affordance -->
+
Terrain affordance
{{#if: {{#var:useTerrainAffordance}} |
+
-->{{#if: {{#var:useTerrainAffordance}} | {{#vardefine:terrainAffordance|{{Q|{{{1}}}|Terrain Affordance|Light}} }}
  <td style="text-align:center" {{#switch: {{lc:{{Q|{{{1}}}|Terrain Affordance}} }}
+
  <td style="text-align:center;" data-sort-value="{{#switch: {{#var:terrainAffordance}} | Heavy = 3 | Medium = 2 | #default = 1}}"> {{#var:terrainAffordance}} }} </td><!--
    | heavy = data-sort-value="3"
 
    | medium = data-sort-value="2"
 
    | #default = data-sort-value="1"
 
  }} {{#var:collapseMaterial}}> {{Q|{{{1}}}|Terrain Affordance|Light}} }} </td><!--
 
  
Market value -->
+
Market value
<td style="text-align:left" {{#var:collapseMaterial}}> {{Align Silver|{{#vardefineecho:tempMarketValue|{{Market Value Calculator|{{#var:name}}|{{{1}}}|{{#var:quality}} }} }} }} {{Icon Small|silver}} </td><!--
+
--><td> {{formatnum: {{#vardefineecho:tempMarketValue| {{Market Value Calculator|{{#var:name}}|{{#if:{{#var:stufftags}}|{{{1}}} }}|{{#var:quality}} }} }} }} {{Icon Small|silver}} </td><!--
  
 
Ratios
 
Ratios
 
-->{{#if: {{#var:workValueRatios}} |
 
-->{{#if: {{#var:workValueRatios}} |
   <td {{#var:collapseMaterial}}> {{#expr: {{#var:tempBeauty}}/{{#var:tempWorkTicks}} round 3}} </td>
+
   <td> {{#expr: {{#var:finalBeauty}}/{{#var:tempWorkTicks}} round 3}} </td>
   <td {{#var:collapseMaterial}}> {{#expr: {{#var:tempBeauty}}/{{#var:tempMarketValue}} round 3}} </td>
+
   <td> {{#expr: {{#var:finalBeauty}}/{{#var:tempMarketValue}} round 3}} </td>
   <td {{#var:collapseMaterial}}> {{#expr: {{#var:tempMarketValue}}/{{#var:tempWorkTicks}} round 3}} </td>
+
   <td> {{#expr: {{#var:tempMarketValue}}/{{#var:tempWorkTicks}} round 3}} </td>
   <td {{#var:collapseMaterial}}> {{#expr: {{#var:tempMarketValue}}/({{#var:stuffAmount}}{{#if: {{Q|{{{1}}}|Small Volume}}|*10}}) round 3}} }} </td>
+
   <td> {{#expr: {{#var:tempMarketValue}}/({{#var:stuffAmount}}{{#if: {{Q|{{{1}}}|Small Volume}}|*10}}) round 3}} }} </td>
</tr></includeonly><noinclude>{{Move|destination=Template:Building Stats Table Row|reason=Standardization with [[Template: Weapon Stats Table]]}}
+
</tr></includeonly><noinclude>
 
{{Documentation}}
 
{{Documentation}}
 
</noinclude>
 
</noinclude>

Latest revision as of 16:53, 15 April 2024

Documentation icon Template documentation[view] [edit] [history] [purge]

Summary[edit]

This template is only ever called as part of Template:Building Stats Table. It uses the variables defined in that template to render a single row of the table.

{{vardefine:workValueRatios|1}} can be used to display additional columns for special usecases.

Example usage[edit]

This template isn't designed to be used in isolation, so as an example {{Building Stats Table | Bed}}, which displays the table for the Bed, is shown.

Stats table

Feature Toggle
QualityRitual Quality Check Off.png
  • Table (1x2) Table (1x2) Beauty Work to Build HP Flamma­bility Market
    Value
    Quality Material
    Normal Bioferrite Bioferrite Content added by the Anomaly DLC 0 001,875 ticks (31.25 secs) 150 75% 28 Silver
    Normal Gold Gold 22 000,675 ticks (11.25 secs) 45 40% 2,800 Silver
    Normal Granite blocks Granite blocks 0 004,640 ticks (1.29 mins) 128 0% 42 Silver
    Normal Limestone blocks Limestone blocks 0 004,640 ticks (1.29 mins) 116 0% 42 Silver
    Normal Marble blocks Marble blocks 2 004,265 ticks (1.18 mins) 90 0% 41 Silver
    Normal Plasteel Plasteel 0 001,650 ticks (27.5 secs) 210 0% 260 Silver
    Normal Sandstone blocks Sandstone blocks 1 003,890 ticks (1.08 mins) 105 0% 39 Silver
    Normal Silver Silver 7 000,750 ticks (12.5 secs) 53 40% 285 Silver
    Normal Slate blocks Slate blocks 1 004,640 ticks (1.29 mins) 98 0% 42 Silver
    Normal Steel Steel 0 000,750 ticks (12.5 secs) 75 40% 56 Silver
    Normal Jade Jade 11 003,750 ticks (1.04 mins) 38 0% 154 Silver
    Normal Uranium Uranium 0 001,425 ticks (23.75 secs) 188 0% 173 Silver
    Normal Wood Wood 0 000,525 ticks (8.75 secs) 49 100% 36 Silver
  • Stats table

    Feature Toggle
    QualityRitual Quality Check Off.png
  • Bed Bed Beauty Comfort Rest
    effectiveness
    [A]
    Surgery
    success
    chance
    factor [B]
    Work to Build HP Flamma­bility Market
    Value
    Quality Material
    Normal Bioferrite Bioferrite Content added by the Anomaly DLC 0 0.75 85% (12.35 h) 100% 002,000 ticks (33.33 secs) 280 75% 41 Silver
    Normal Gold Gold 24 0.75 100% (10.5 h) 100% 000,720 ticks (12 secs) 84 40% 4,505 Silver
    Normal Granite blocks Granite blocks 1 0.75 90% (11.67 h) 100% 004,940 ticks (1.37 mins) 238 0% 58 Silver
    Normal Limestone blocks Limestone blocks 1 0.75 90% (11.67 h) 100% 004,940 ticks (1.37 mins) 217 0% 58 Silver
    Normal Marble blocks Marble blocks 2 0.75 90% (11.67 h) 100% 004,540 ticks (1.26 mins) 168 0% 57 Silver
    Normal Plasteel Plasteel 1 0.75 100% (10.5 h) 100% 001,760 ticks (29.33 secs) 392 0% 410 Silver
    Normal Sandstone blocks Sandstone blocks 1 0.75 90% (11.67 h) 100% 004,140 ticks (1.15 mins) 196 0% 55 Silver
    Normal Silver Silver 8 0.75 100% (10.5 h) 100% 000,800 ticks (13.33 secs) 98 40% 455 Silver
    Normal Slate blocks Slate blocks 1 0.75 90% (11.67 h) 100% 004,940 ticks (1.37 mins) 182 0% 58 Silver
    Normal Steel Steel 1 0.75 100% (10.5 h) 100% 000,800 ticks (13.33 secs) 140 40% 88 Silver
    Normal Jade Jade 12 0.75 100% (10.5 h) 100% 004,000 ticks (1.11 mins) 70 0% 240 Silver
    Normal Uranium Uranium 0 0.75 100% (10.5 h) 100% 001,520 ticks (25.33 secs) 350 0% 275 Silver
    Normal Wood Wood 1 0.75 100% (10.5 h) 100% 000,560 ticks (9.33 secs) 91 100% 56 Silver
  • A Bracketed numbers are in-game hours to refill rest to 100% from 0% at the given rest effectiveness.
    B This assumes the bed is inside a clean, properly lit room. For the full effects of light, cleanliness and placing a bed outside see Surgery Success Chance Factor.

    Stats table

  • Autodoor Autodoor Beauty Work to Build HP Flamma­bility Door
    Speed
    Market
    Value
    Material
    Bioferrite Bioferrite Content added by the Anomaly DLC 0 002,750 ticks (45.83 secs) 320 75% 400% 169 Silver
    Gold Gold 20 000,990 ticks (16.5 secs) 96 40% 400% 2,645 Silver
    Granite blocks Granite blocks 0 006,740 ticks (1.87 mins) 272 0% 180% 187 Silver
    Limestone blocks Limestone blocks 0 006,740 ticks (1.87 mins) 248 0% 180% 187 Silver
    Marble blocks Marble blocks 1 006,190 ticks (1.72 mins) 192 0% 180% 185 Silver
    Plasteel Plasteel 0 002,420 ticks (40.33 secs) 448 0% 400% 375 Silver
    Sandstone blocks Sandstone blocks 0 005,640 ticks (1.57 mins) 224 0% 180% 183 Silver
    Silver Silver 6 001,100 ticks (18.33 secs) 112 40% 400% 395 Silver
    Slate blocks Slate blocks 0 006,740 ticks (1.87 mins) 208 0% 180% 187 Silver
    Steel Steel 0 001,100 ticks (18.33 secs) 160 40% 400% 192 Silver
    Jade Jade 10 005,500 ticks (1.53 mins) 80 0% 400% 285 Silver
    Uranium Uranium 0 002,090 ticks (34.83 secs) 400 0% 300% 295 Silver
    Wood Wood 0 000,770 ticks (12.83 secs) 104 100% 480% 173 Silver
  • Stats table

  • Fence gate Fence gate Beauty Work to Build HP Flamma­bility Door
    Speed
    Market
    Value
    Material
    Bioferrite Bioferrite Content added by the Anomaly DLC 0 001,250 ticks (20.83 secs) 40 75% 100% 23 Silver
    Gold Gold 20 000,450 ticks (7.5 secs) 12 40% 100% 2,500 Silver
    Granite blocks Granite blocks 0 003,140 ticks (52.33 secs) 34 0% 45% 34 Silver
    Limestone blocks Limestone blocks 0 003,140 ticks (52.33 secs) 31 0% 45% 34 Silver
    Marble blocks Marble blocks 1 002,890 ticks (48.17 secs) 24 0% 45% 33 Silver
    Plasteel Plasteel 0 001,100 ticks (18.33 secs) 56 0% 100% 230 Silver
    Sandstone blocks Sandstone blocks 0 002,640 ticks (44 secs) 28 0% 45% 32 Silver
    Silver Silver 6 000,500 ticks (8.33 secs) 14 40% 100% 250 Silver
    Slate blocks Slate blocks 0 003,140 ticks (52.33 secs) 26 0% 45% 34 Silver
    Steel Steel 0 000,500 ticks (8.33 secs) 20 40% 100% 49 Silver
    Jade Jade 10 002,500 ticks (41.67 secs) 10 0% 100% 134 Silver
    Uranium Uranium 0 000,950 ticks (15.83 secs) 50 0% 75% 153 Silver
    Wood Wood 0 000,350 ticks (5.83 secs) 13 100% 120% 31 Silver
  • Stats table

  • Spike trap Spike trap Beauty Work to Build HP Flamma­bility Total
    Damage
    Attack
    Damage
    Armor
    Penetration
    Market
    Value
    Material
    Bioferrite Bioferrite Content added by the Anomaly DLC -18 008,000 ticks (2.22 mins) 80 75% 130 26 39% 63 Silver
    Gold Gold 2 002,880 ticks (48 secs) 24 40% 75 15 22.5% 4,510 Silver
    Granite blocks Granite blocks -18 019,340 ticks (5.37 mins) 68 0% 65 13 19.5% 110 Silver
    Limestone blocks Limestone blocks -18 019,340 ticks (5.37 mins) 62 0% 60 12 18% 110 Silver
    Marble blocks Marble blocks -17 017,740 ticks (4.93 mins) 48 0% 60 12 18% 104 Silver
    Plasteel Plasteel -18 007,040 ticks (1.96 mins) 112 0% 110 22 33% 430 Silver
    Sandstone blocks Sandstone blocks -18 016,140 ticks (4.48 mins) 56 0% 50 10 15% 99 Silver
    Silver Silver -12 003,200 ticks (53.33 secs) 28 40% 85 17 25.5% 460 Silver
    Slate blocks Slate blocks -18 019,340 ticks (5.37 mins) 52 0% 60 12 18% 110 Silver
    Steel Steel -18 003,200 ticks (53.33 secs) 40 40% 100 20 30% 97 Silver
    Jade Jade -8 016,000 ticks (4.44 mins) 20 0% 100 20 30% 285 Silver
    Uranium Uranium -18 006,080 ticks (1.69 mins) 100 0% 110 22 33% 290 Silver
    Wood Wood -18 002,240 ticks (37.33 secs) 26 100% 40 8 12% 62 Silver