Difference between revisions of "Template:Infobox main"

From RimWorld Wiki
Jump to navigation Jump to search
(47 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<includeonly>{{#vardefine:Name|{{{name|{{BASEPAGENAME}}}}}}} <div class="infobox float:right; {{#if: {{{1|}}} | {{#switch:{{{1}}}
+
<includeonly>{{#switch: {{lc:{{{set property|}}}}}
 +
| 1 | yes | y | t | true = {{#vardefine:setProperty | true }}
 +
| 0 | n | no | f | false = {{#vardefine:setProperty |}}
 +
| #default = {{#vardefine:setProperty | {{#ifeq: {{NAMESPACE}} || true }} }}
 +
}}<div class="infobox float:right; {{#if: {{{1|}}} | {{#switch:{{{1}}}
 
   | animal = c_08
 
   | animal = c_08
 
   | plant = c_14
 
   | plant = c_14
 
   | weapon = c_06
 
   | weapon = c_06
   | area = c_11
+
   | area | exotic = c_11
 
   | structure = c_02
 
   | structure = c_02
 
   | production = c_25
 
   | production = c_25
 
   | security = c_10
 
   | security = c_10
   | furniture = c_01
+
   | furniture | medicine = c_01
 
   | resource = c_03
 
   | resource = c_03
   | fabric = c_09
+
   | fabric = c_09s
 
   | leathery = c_22
 
   | leathery = c_22
 
   | metallic = c_12
 
   | metallic = c_12
 
   | stony = c_12
 
   | stony = c_12
   | food = c_08}}
+
   | food = c_08
 +
  | drug = c_24}}
 
}}">
 
}}">
<p class="heading">{{#var:Name}}</p>
+
<p class="heading">{{#vardefine:Name|{{{name|{{BASEPAGENAME}}}}}}} {{#var:Name}} {{#if: {{#var:setProperty}} | {{#set:Name = {{#var:Name}} }} }}</p>
 
<div class="wrapper">
 
<div class="wrapper">
<div class="image_wrapper" title="{{#var:Name}}">[[File:{{{image|{{#var:Name}}}}}|{{{imagesize|250px}}}|link={{#var:Name}}|{{#var:Name}}]]</div>
+
<div class="image_wrapper2" title="{{#var:Name}}" style="text-align: center;">[[File:{{{image|{{#var:Name}} }}}|{{{imagesize|100%}}}|link = {{#var:Name}}|{{#var:Name}}]]{{#if: {{#var:setProperty}} | {{#set:Image = [[File:{{{image|{{#var:Name}}.png}}}]]}} }}</div>
<p class="text-center" style="display:block; font-size:89%; padding: .5em;">{{#if:{{{description|}}}|{{{description|}}}{{#set:Description = {{{description|}}}}}}}</p>{{#set:Image = [[File:{{{image|{{#var:Name}}.png}}}]]}}
+
<p class="text-center" style="display:block; font-size:89%; padding: .5em;">{{#if:{{{description|}}}|{{{description|}}}{{#if: {{#var:setProperty}} | {{#set:Description = {{{description|}}} }} }} }}</p>
----
 
<dl>
 
{{#set:Name = {{#var:Name}} }}
 
  
</dl>{{clear}}
+
<!-- BASE STATS -->
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important'>'''Base Stats'''</p>
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important'>'''Base Stats'''</p>
 
<dl>
 
<dl>
 +
 +
<!-- Category -->
 
;Type
 
;Type
:[[{{{type}}}]]{{#set:Type = {{{type|}}}}}{{#if: {{{type2|}}} |&#32;&ndash;&#32; [[{{{type2}}}]]{{#set:Type2 = {{{type2|}}}}} }}
+
:[[{{{type}}}]]{{#if: {{#var:setProperty}} | {{#set:Type = {{{type|}}} }} }}{{#if: {{{type2|}}} |&#32;&ndash;&#32; {{#ifeq:{{{type2|}}}|Medicine|[[Medicine (disambiguation)|Medicine]]|[[{{{type2}}}]]}}{{#if: {{#var:setProperty}} | {{#set:Type2 = {{{type2|}}}}} }} }}
  
{{#if: {{{stuff category|}}}|{{#set:Stuff Category = {{{stuff category|}}} }}
+
{{#if: {{{stuff category|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Stuff Category = {{{stuff category|}}} }} }}
 
;Stuff Category
 
;Stuff Category
:{{{stuff category|}}}}}
+
:{{{stuff category|}}}
 +
}}
  
{{#if: {{{hp|}}}|{{#set:Max Hit Points Base = {{{hp|}}} }}
+
{{#if: {{{tech level|}}} |
;HP
+
  {{#if: {{#var:setProperty}} | {{#set:Tech Level = {{{tech level|}}}}} }}
:{{{hp|}}}}}
+
;Tech Level
 +
:[[Tech levels|{{{tech level|}}}]]
 +
}}
  
{{#if: {{{deterioration|}}}|{{#set:Deterioration Rate Base = {{{deterioration|}}} }}
+
{{#if: {{{class|}}} |
;Deterioration Rate
+
  {{#if: {{#var:setProperty}} | {{#set:Class = {{{class|}}} Weapons}} }}
:{{{deterioration|}}}}}
+
;Class
 +
:[[{{{class|}}} Weapons|{{{class|}}}]]
 +
}}
  
 
<!-- If market value defined, use that, else, if possible, calculate the value and use that instead but make a note that it is calculated.-->
 
<!-- If market value defined, use that, else, if possible, calculate the value and use that instead but make a note that it is calculated.-->
{{#if: {{{marketvalue|}}}|{{#set: Market Value Base = {{{marketvalue|}}} }}
+
{{#if: {{{marketvalue|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Market Value Base = {{{marketvalue|}}} }} }}
 
;Market Value
 
;Market Value
:{{Market Value | {{{marketvalue|}}}}}&nbsp;{{Icon Small|silver}} | {{#if: {{{resource 1|}}}| {{#if: {{{work to make|}}} | {{#ifeq: {{{resource 1|}}} | Stuff | | {{#set: Market Value Base = {{Market Value Calculator}} }} {{#set: Calculated Market Value = True }}
+
:{{Market Value | {{{marketvalue|}}} }}&nbsp;{{Icon Small|silver}}
 +
| {{#if: {{{resource 1|}}}| {{#if: {{{work to make|}}} | {{#ifeq: {{{resource 1|}}} | Stuff | | {{#ifeq: {{{resource 1|}}} | Nutrition | |
 +
  {{#if: {{#var:setProperty}} | {{#set: Market Value Base = {{Market Value Calculator}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Calculated Market Value = True }} }}
 
;Market Value
 
;Market Value
:{{Market Value | {{Market Value Calculator}}}}&nbsp;{{Icon Small|silver}} {{H:title|link=no|This value is automatically calculated by the wiki and may not be correct|<sup>[Note]</sup>}} }} }} }}
+
:{{Market Value | {{Market Value Calculator}} }}&nbsp;{{Icon Small|silver}} {{Hover title|link=no|This value is automatically calculated by the wiki and may not be correct|<sup>[Note]</sup>}} }} }} }}
 +
}}
 +
}}
 +
 
 +
{{#if: {{{stack limit|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Stack Limit = {{{stack limit|}}} }} }}
 +
;Stack Limit
 +
:{{{stack limit|}}}
 +
}}
 +
 
 +
{{#if: {{{mass base|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Mass Base = {{{mass base|}}} }} }}
 +
;Mass
 +
:{{{mass base|}}} kg
 
}}
 
}}
  
{{#if: {{{beauty|}}}{{{beauty outdoors|}}}|{{#set:Beauty Base = {{{beauty|}}} }}{{#set:Beauty Outdoors Base = {{{beauty uutdoors|}}} }}
+
{{#if: {{{beauty|}}}{{{beauty outdoors|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Beauty Base = {{{beauty|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Beauty Outdoors Base = {{{beauty uutdoors|}}} }} }}
 
;Beauty
 
;Beauty
:{{{beauty|0}}} {{#if:{{{beauty outdoors|}}}|{{hover title|Beauty score when outdoors|({{{beauty outdoors|}}})}}}} }}
+
:{{{beauty|0}}} {{#if:{{{beauty outdoors|}}}|{{hover title|Beauty score when outdoors|({{{beauty outdoors|}}})}} }}
 +
}}
  
{{#if: {{{style|}}}|{{#set:Style = {{{style|}}}}} }}
+
{{#if: {{{styledominance|}}} |
{{#if: {{{styledominance|}}}|{{#set:Style Dominance = {{{styledominance|}}} }}
+
  {{#if: {{#var:setProperty}} | {{#set:Style Dominance = {{{styledominance|}}} }} }}
 +
  {{#if: {{{style|}}} |
 +
    {{#if: {{#var:setProperty}} | {{#set:Style = {{{style|}}} }} }} }}
 
;Style Dominance
 
;Style Dominance
:{{{style|}}} {{{styledominance|}}} }}
+
:{{{style|}}} {{{styledominance|}}}
 +
}}
  
{{#if: {{{edifice|}}}|{{#set:Edifice = {{{edifice|}}} }}
+
<!-- Durability -->
;Edifice
+
{{#if: {{{hp|}}} |
:{{{edifice|}}}}}
+
  {{#if: {{#var:setProperty}} | {{#set:Max Hit Points Base = {{{hp|}}} }} }}
 +
;HP
 +
:{{{hp|}}}
 +
}}
  
{{#if: {{{mass base|}}}|{{#set:Mass Base = {{{mass base|}}} }}
+
{{#if: {{{deterioration|}}} |
;Mass
+
  {{#if: {{#var:setProperty}} | {{#set:Deterioration Rate Base = {{{deterioration|}}} }} }}
:{{{mass base|}}} kg}}
+
;Deterioration Rate
 +
:{{{deterioration|}}}
 +
}}
  
{{#if: {{{flammability|}}}|{{#set:Flammability Base = {{{flammability|}}} }}
+
{{#if: {{{flammability|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Flammability Base = {{{flammability|}}} }} }}
 
;Flammability
 
;Flammability
:{{#expr:{{{flammability|}}}*100}}%}}
+
:{{%| {{{flammability|}}} }}
 +
}}
  
{{#if: {{{stack limit|}}}|{{#set:Stack Limit = {{{stack limit|}}} }}
+
{{#if: {{{days to rot|}}} |
;Stack Limit
+
  {{#if: {{#var:setProperty}} | {{#set:Days To Start Rot Base = {{{days to rot|}}}}} }}
:{{{stack limit|}}}}}
+
;Days To Start Rot
 +
:{{{days to rot|}}}
 +
}}
  
{{#if: {{{path cost|}}}|{{#set:Path Cost = {{{path cost|}}} }}
+
{{#if: {{{min safe temperature|}}} |
;Path Cost
+
  {{#if: {{#var:setProperty}} | {{#set:Min Safe Temperature = {{{min safe temperature|}}} }} }}
:{{{path cost|}}}}}
+
;Min Safe Temperature
 +
:{{Temperature| {{{min safe temperature|}}} }}
 +
}}
  
{{#if: {{{rotatable|}}}|{{#set:Rotatable = {{{rotatable|}}} }}
+
{{#if: {{{max safe temperature|}}} |
;Rotatable
+
  {{#if: {{#var:setProperty}} | {{#set:Max Safe Temperature = {{{max safe temperature|}}} }} }}
:{{ucfirst:{{{rotatable|}}}}}}}
+
;Max Safe Temperature
 +
:{{Temperature| {{{max safe temperature|}}} }}
 +
}}
  
{{#if: {{{class|}}}|{{#set:Class = {{{class|}}} Weapons}}
+
{{#if: {{{spoiling rate per degree per tick|}}} |
;Class
+
  {{#if: {{#var:setProperty}} | {{#set:Spoiling Rate = {{{spoiling rate per degree per tick|}}} }} }}
:[[{{{class|}}} Weapons|{{{class|}}}]]
+
;<abbr title="per °C outside the safe temperature per tick">Spoiling Rate</abbr>
 +
:{{%| {{{spoiling rate per degree per tick|}}} }}
 
}}
 
}}
  
{{#if: {{{min safe temperature|}}}|{{#set:Min Safe Temperature = {{{min safe temperature|}}} }}
+
<!-- Other -->
;Min Safe Temperature
+
{{#if: {{{edifice|}}}|{{#if: {{#var:setProperty}} | {{#set:Edifice = {{{edifice|}}} }} }}
:{{Temperature|{{{min safe temperature|}}}}}}}
+
;Edifice
 +
:{{{edifice|}}}}}
 +
 
 +
{{#if: {{{rotatable|}}}|
 +
{{#if: {{#var:setProperty}} | {{#set:Rotatable = {{{rotatable|}}} }} }}
 +
;Rotatable
 +
:{{ucfirst:{{{rotatable|}}} }} }}
  
{{#if: {{{max safe temperature|}}}|{{#set:Max Safe Temperature = {{{max safe temperature|}}} }}
+
{{#if: {{{path cost|}}}|
;Max Safe Temperature
+
{{#if: {{#var:setProperty}} | {{#set:Path Cost = {{{path cost|}}} }} }}
:{{Temperature|{{{max safe temperature|}}}}}}}
+
;Path Cost
 +
:{{{path cost|}}}
 +
}}
  
{{#if: {{{spoiling rate per degree per tick|}}}|{{#set:Spoiling Rate = {{{spoiling rate per degree per tick|}}} }}
 
;<abbr title="per °C outside the safe temperature per tick>Spoiling Rate</abbr>
 
:{{#expr:{{{spoiling rate per degree per tick|}}}*100}}%}}
 
  
 
<!-- BUILDING -->
 
<!-- BUILDING -->
Line 106: Line 158:
 
}}
 
}}
  
{{#if: {{{size|}}}|{{#set:Size = {{{size|}}} }}
+
{{#if: {{{size|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Size = {{{size|}}} }} }}
 
;Size
 
;Size
:{{{size|}}}}}
+
:{{{size|}}}
 +
}}
  
{{#if: {{{minifiable|}}}|{{#set:Minifiable = {{{minifiable|}}} }}
+
{{#if: {{{minifiable|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Minifiable = {{{minifiable|}}} }} }}
 
;Minifiable
 
;Minifiable
:{{ucfirst:{{{minifiable|}}}}}}}
+
:{{ucfirst:{{{minifiable|}}} }}
 +
}}
  
{{#if: {{{placeable|}}}|{{#set:Placeable = {{{placeable|}}} }}
+
{{#if: {{{placeable|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Placeable = {{{placeable|}}} }} }}
 
;Placeable
 
;Placeable
:{{ucfirst:{{{placeable|}}}}}}}
+
:{{ucfirst:{{{placeable|}}} }}
 +
}}
  
{{#if: {{{passability|}}}|{{#set:Passability = {{{passability|}}} }}
+
{{#if: {{{passability|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Passability = {{{passability|}}} }} }}
 
;Passability
 
;Passability
:{{{passability|}}}}}
+
:{{{passability|}}}
 +
}}
  
{{#if: {{{cover|}}}|{{#ifexpr: {{{cover|}}} > 0.75 | {{#set:Cover Effectiveness= 0.75}}
+
{{#if: {{{cover|}}} | {{#ifexpr: {{{cover|}}} > 0.75 |
 +
  {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness = 0.75}} }}
 
;Cover Effectiveness
 
;Cover Effectiveness
 
:75%
 
:75%
| {{#set:Cover Effectiveness= {{{cover|}}} }}  
+
| {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness= {{{cover|}}} }} }}
 
;Cover Effectiveness
 
;Cover Effectiveness
:{{#expr:{{{cover|}}}*100}}%
+
:{{%| {{{cover|}}} }}
 
}} }}
 
}} }}
  
{{#if: {{{blockswind|}}}|{{#set:Blocks Wind = {{{blockswind|}}} }}
+
{{#if: {{{blockswind|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Blocks Wind = {{{blockswind|}}} }} }}
 
;Blocks Wind
 
;Blocks Wind
:{{ucfirst:{{{blockswind|}}}}}}}
+
:{{ucfirst:{{{blockswind|}}} }}
 +
}}
  
{{#if: {{{terrain affordance|}}}|{{#set:Terrain Affordance = {{{terrain affordance|}}} }}
+
{{#if: {{{terrain affordance|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Terrain Affordance = {{{terrain affordance|}}} }} }}
 
;Terrain Affordance
 
;Terrain Affordance
:{{ucfirst:{{{terrain affordance|}}}}}}}
+
:{{ucfirst:{{{terrain affordance|}}} }}
 +
}}
  
{{#if: {{{power|}}}|{{#set:Power Consumption = {{{power|}}} }}
+
{{#if: {{{power|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Power Consumption = {{{power|}}} }} }}
 
;Power
 
;Power
:{{{power|}}}W}}
+
:{{{power|}}} W
 +
}}
  
{{#if: {{{cleanliness|}}}|{{#set:Cleanliness = {{{cleanliness|}}} }}
+
{{#if: {{{cleanliness|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Cleanliness = {{{cleanliness|}}} }} }}
 
;Cleanliness
 
;Cleanliness
:{{{cleanliness|}}}}}
+
:{{{cleanliness|}}}
 +
}}
  
{{#if: {{{facility|}}}|{{#set:
+
{{#if: {{{facility|}}} |
Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|0}} }}
+
  {{#if: {{#var:setProperty}} |
|Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|1}} }}
+
    {{#set: Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|0}} }}
|Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|2}} }}
+
    | Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|1}} }}
|Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|3}} }}
+
| Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|2}} }}
|Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|4}} }} }}
+
| Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|3}} }}
 +
| Facility = {{ucfirst:{{#explode:{{{facility|}}}|,|4}} }}
 +
  }} }}
 
;Facility
 
;Facility
 
:[[{{ucfirst:{{#explode:{{{facility|}}}|,|0}} }}]]{{#if: {{#explode:{{{facility|}}}|,|1}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|1}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|2}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|2}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|3}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|3}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|4}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|4}} }}]]}}
 
:[[{{ucfirst:{{#explode:{{{facility|}}}|,|0}} }}]]{{#if: {{#explode:{{{facility|}}}|,|1}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|1}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|2}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|2}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|3}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|3}} }}]]}}{{#if: {{#explode:{{{facility|}}}|,|4}} |, [[{{ucfirst:{{#explode:{{{facility|}}}|,|4}} }}]]}}
Line 159: Line 230:
 
{{#if: {{{glowcolor|}}}|<!--
 
{{#if: {{{glowcolor|}}}|<!--
 
-->{{#vardefine:Red| {{#replace:{{#explode:{{{glowcolor|}}}|,|0}}|(}} }}<!--
 
-->{{#vardefine:Red| {{#replace:{{#explode:{{{glowcolor|}}}|,|0}}|(}} }}<!--
-->{{#vardefine:Green|{{#explode:{{{glowcolor|}}}|,|1}}}}<!--
+
-->{{#vardefine:Green|{{#explode:{{{glowcolor|}}}|,|1}} }}<!--
 
-->{{#vardefine:Blue| {{#replace:{{#explode:{{{glowcolor|}}}|,|2}}|)}} }}<!--
 
-->{{#vardefine:Blue| {{#replace:{{#explode:{{{glowcolor|}}}|,|2}}|)}} }}<!--
-->{{#set:Light Radius = {{#vardefineecho:LightRadius|{{Lit Radius|{{{glowradius|}}}|{{#expr:{{#var:Red}}+{{#var:Green}}+{{#var:Blue}}}}}}}}}}
+
-->{{#vardefine:LightRadius|{{Lit Radius|{{{glowradius|}}}|{{#expr:{{#var:Red}}+{{#var:Green}}+{{#var:Blue}} }} }} }}<!--
;{{H:title|link=no|The furthest away a tile can be before it falls below 30% light|Light Radius}}
+
-->{{#if: {{#var:setProperty}} | {{#set:Light Radius = {{#var:LightRadius}} }} }}
:{{#expr:{{#var:LightRadius}} round 2}}}}
+
;{{Hover title|link=no|The furthest away a tile can be before it falls below 30% light|Light Radius}}
 +
:{{#expr:{{#var:LightRadius}} round 2}} }}
  
{{#if: {{{heatpersecond|}}}|{{#set:Heat Per Second = {{{heatpersecond|}}} }}
+
{{#if: {{{heatpersecond|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Heat Per Second = {{{heatpersecond|}}} }} }}
 
;Heat Per Second
 
;Heat Per Second
:{{{heatpersecond|}}}}}
+
:{{{heatpersecond|}}}
 +
}}
  
{{#if: {{{maxheattemperature|}}}|{{#set:Max Heat Temperature = {{{maxheattemperature|}}} }}
+
{{#if: {{{maxheattemperature|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Max Heat Temperature = {{{maxheattemperature|}}} }} }}
 
;Stops Heating At
 
;Stops Heating At
:{{Temperature|{{{maxheattemperature}}}}}}}
+
:{{Temperature| {{{maxheattemperature}}} }}
 +
}}
  
{{#if: {{{mincooltemperature|}}}|{{#set:Min Cool Temperature = {{{mincooltemperature|}}} }}
+
{{#if: {{{mincooltemperature|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Min Cool Temperature = {{{mincooltemperature|}}} }} }}
 
;Stops Cooling At
 
;Stops Cooling At
:{{Temperature|{{{mincooltemperature}}}}}}}
+
:{{Temperature| {{{mincooltemperature}}} }}
 +
}}
  
{{#if: {{{surgery success chance factor|}}}|{{#set:Surgery Success Chance Factor = {{{surgery success chance factor|}}} }}
+
{{#if: {{{surgery success chance factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Surgery Success Chance Factor = {{{surgery success chance factor|}}} }} }}
 
;Surgery Success Chance Factor
 
;Surgery Success Chance Factor
:{{{surgery success chance factor|}}}}}
+
:{{{surgery success chance factor|}}}
 +
}}
  
{{#if: {{{immunity gain speed factor|}}}|{{#set:Immunity Gain Speed Factor = {{{immunity gain speed factor|}}} }}
+
{{#if: {{{immunity gain speed factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Immunity Gain Speed Factor = {{{immunity gain speed factor|}}} }} }}
 
;Immunity Gain Speed Factor
 
;Immunity Gain Speed Factor
:{{{immunity gain speed factor|}}}}}
+
:{{{immunity gain speed factor|}}}
 +
}}
  
{{#if: {{{rest effectiveness|}}}|{{#set:Rest Effectiveness = {{{rest effectiveness|}}} }}
+
{{#if: {{{rest effectiveness|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Rest Effectiveness = {{{rest effectiveness|}}} }} }}
 
;Rest Effectiveness
 
;Rest Effectiveness
:{{{rest effectiveness|}}}}}
+
:{{{rest effectiveness|}}}
 +
}}
  
{{#if: {{{comfort|}}}|{{#set:Comfort Base = {{{comfort|}}} }}
+
{{#if: {{{comfort|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Comfort Base = {{{comfort|}}} }} }}
 
;Comfort
 
;Comfort
:{{{comfort|}}}}}
+
:{{{comfort|}}}
 +
}}
  
{{#if: {{{comfort offset|}}}|{{#set:Comfort Offset = {{{comfort offset|}}} }}
+
{{#if: {{{comfort offset|}}} |
;Comfort Offset  
+
  {{#if: {{#var:setProperty}} | {{#set:Comfort Offset = {{{comfort offset|}}} }} }}
:{{{comfort offset|}}}}}
+
;Comfort Offset
 +
:{{{comfort offset|}}}
 +
}}
  
 
<!-- Building - Recreation -->
 
<!-- Building - Recreation -->
{{#if: {{{recreation power|}}} {{{recreation type|}}}|{{#set:Recreation Power= {{{recreation power|}}} }}{{#set:Recreation Type= {{{recreation type|}}} }}
+
{{#if: {{{recreation power|}}} {{{recreation type|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Recreation Power = {{{recreation power|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Recreation Type = {{{recreation type|}}} }} }}
 
;Recreation
 
;Recreation
:{{#if:{{{recreation power|}}}|{{#expr:{{{recreation power|}}}*100}}%}} {{{recreation type|}}}}}
+
:{{#if: {{{recreation power|}}} | {{%| {{{recreation power|}}} }} }} {{{recreation type|}}}
 +
}}
  
 
<!-- Building - Production -->
 
<!-- Building - Production -->
{{#if: {{{work efficiency factor|}}}|{{#set: Work Efficiency Factor = {{{work efficiency factor|}}}}}
+
{{#if: {{{work efficiency factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Work Efficiency Factor = {{{work efficiency factor|}}}}} }}
 
;Work Efficiency Factor
 
;Work Efficiency Factor
:{{#expr:{{{work efficiency factor|}}}*100}}%}}
+
:{{%| {{{work efficiency factor|}}} }}
 +
}}
  
{{#if: {{{unpowered work speed factor|}}}|{{#set: Unpowered Work Speed Factor = {{{unpowered work speed factor|}}}}} <!-- work speed at an unpowered workstation -->
+
{{#if: {{{unpowered work speed factor|}}} | <!-- work speed at an unpowered workstation -->
; Unpowered Work Speed Factor
+
  {{#if: {{#var:setProperty}} | {{#set: Unpowered Work Speed Factor = {{{unpowered work speed factor|}}}}} }}
:{{#expr:{{{unpowered work speed factor|}}}*100}}%}}
+
;Unpowered Work Speed Factor
 +
:{{%| {{{unpowered work speed factor|}}} }}
 +
}}
  
 
<!-- Building - Misc -->
 
<!-- Building - Misc -->
{{#if: {{{work speed offset|}}}|{{#set: Work Speed Offset = {{{work speed offset|}}}}}
+
{{#if: {{{work speed offset|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Work Speed Offset = {{{work speed offset|}}} }} }}
 
;Work Speed Offset
 
;Work Speed Offset
:{{{work speed offset|}}}}}
+
:{{{work speed offset|}}}
 +
}}
  
{{#if: {{{max simultaneous facilities|}}}|{{#set: Max Simultaneous Facilities = {{{max simultaneous facilities|}}}}} <!-- how many of these facilities a work table can be connected to -->
+
{{#if: {{{max simultaneous facilities|}}} | <!-- how many of these facilities a work table can be connected to -->
 +
  {{#if: {{#var:setProperty}} | {{#set: Max Simultaneous Facilities = {{{max simultaneous facilities|}}}}} }}
 
;Max Simultaneous Facilities
 
;Max Simultaneous Facilities
:{{{max simultaneous facilities|}}}}}
+
:{{{max simultaneous facilities|}}}
 +
}}
  
{{#if: {{{efficiency|}}}|{{#set:Efficiency = {{{efficiency|}}} }} <!-- efficiency of a battery -->
+
{{#if: {{{efficiency|}}} | <!-- efficiency of a battery -->
 +
  {{#if: {{#var:setProperty}} | {{#set:Efficiency = {{{efficiency|}}} }} }}
 
;Efficiency
 
;Efficiency
:{{#expr:{{{efficiency|}}}*100}}%}}
+
:{{%| {{{efficiency|}}} }}
 +
}}
  
 
<!-- Building - Floors -->
 
<!-- Building - Floors -->
{{#if: {{{speed|}}}|{{#set:Move Speed Factor = {{{speed|}}} }}
+
{{#if: {{{speed|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Move Speed Factor = {{{speed|}}} }} }}
 
;Move Speed Factor
 
;Move Speed Factor
:{{#expr:{{{speed|}}}*100}}%
+
:{{%| {{{speed|}}} }}
 
}}
 
}}
  
Line 238: Line 340:
 
}}
 
}}
  
{{#if: {{{insulationcold|}}}|{{#set:Insulation - Cold Base= {{{insulationcold|}}} }}
+
{{#if: {{{insulationcold|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Cold Base= {{{insulationcold|}}} }} }}
 
;Insulation - Cold
 
;Insulation - Cold
:{{Temperature|{{{insulationcold|}}}||delta}}}}
+
:{{Temperature| {{{insulationcold|}}} || delta}}
 +
}}
  
{{#if: {{{insulationheat|}}}|{{#set:Insulation - Heat Base= {{{insulationheat|}}} }}
+
{{#if: {{{insulationheat|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Heat Base= {{{insulationheat|}}} }} }}
 
;Insulation - Heat
 
;Insulation - Heat
:{{Temperature|{{{insulationheat|}}}||delta}}}}
+
:{{Temperature| {{{insulationheat|}}} || delta}}
 +
}}
  
{{#if: {{{insulationcoldfactor|}}}|{{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }}
+
{{#if: {{{insulationcoldfactor|}}} |
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Cold}}
+
  {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }} }}
:{{{insulationcoldfactor|}}}x }}
+
;{{Hover title|link=no|See Apparel for how this is applied|Insulation Factor - Cold}}
 +
:{{{insulationcoldfactor|}}}x
 +
}}
  
{{#if: {{{insulationheatfactor|}}}|{{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }}
+
{{#if: {{{insulationheatfactor|}}} |
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Heat}}
+
  {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }} }}
:{{{insulationheatfactor|}}}x }}
+
;{{Hover title|link=no|See Apparel for how this is applied|Insulation Factor - Heat}}
 +
:{{{insulationheatfactor|}}}x
 +
}}
  
{{#if: {{{armorsharp|}}}|{{#set:Armor - Sharp = {{{armorsharp|}}} }}
+
{{#if: {{{armorsharp|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor - Sharp = {{{armorsharp|}}} }} }}
 
;Armor - Sharp
 
;Armor - Sharp
:{{{armorsharp|}}}%}}
+
:{{{armorsharp|}}}%
 +
}}
  
{{#if: {{{armorblunt|}}}|{{#set:Armor - Blunt= {{{armorblunt|}}} }}
+
{{#if: {{{armorblunt|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor - Blunt= {{{armorblunt|}}} }} }}
 
;Armor - Blunt
 
;Armor - Blunt
:{{{armorblunt|}}}%}}
+
:{{{armorblunt|}}}%
 +
}}
  
{{#if: {{{armorheat|}}}|{{#set:Armor - Heat = {{{armorheat|}}} }}
+
{{#if: {{{armorheat|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor - Heat = {{{armorheat|}}} }} }}
 
;Armor - Heat
 
;Armor - Heat
:{{{armorheat|}}}%}}
+
:{{{armorheat|}}}%
 +
}}
  
{{#if: {{{armorsharpfactor|}}}|{{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }}
+
{{#if: {{{armorsharpfactor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }} }}
 
;Armor Factor - Sharp
 
;Armor Factor - Sharp
:{{{armorsharpfactor|}}}}}
+
:{{{armorsharpfactor|}}}
 +
}}
  
{{#if: {{{armorbluntfactor|}}}|{{#set:Armor Factor - Blunt= {{{armorbluntfactor|}}} }}
+
{{#if: {{{armorbluntfactor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Blunt= {{{armorbluntfactor|}}} }} }}
 
;Armor Factor - Blunt
 
;Armor Factor - Blunt
:{{{armorbluntfactor|}}}}}
+
:{{{armorbluntfactor|}}}
 +
}}
  
{{#if: {{{armorheatfactor|}}}|{{#set:Armor Factor - Heat = {{{armorheatfactor|}}} }}
+
{{#if: {{{armorheatfactor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Heat = {{{armorheatfactor|}}} }} }}
 
;Armor Factor - Heat
 
;Armor Factor - Heat
:{{{armorheatfactor|}}}}}
+
:{{{armorheatfactor|}}}
 +
}}
  
{{#if: {{{painshockthreshold|}}}|{{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }}
+
{{#if: {{{painshockthreshold|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }} }}
 
;Pain Shock Threshold
 
;Pain Shock Threshold
:{{{painshockthreshold|}}}%}}
+
:{{{painshockthreshold|}}}%
 +
}}
  
{{#if: {{{coverage|}}}|{{#set:Coverage = {{{coverage|}}} }}
+
{{#if: {{{coverage|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Coverage = {{{coverage|}}} }} }}
 
;Coverage
 
;Coverage
:{{{coverage|}}}}}
+
:{{{coverage|}}}
 +
}}
  
{{#if: {{{layer|}}}|{{#set:layer= {{{layer|}}} }}
+
{{#if: {{{layer|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:layer= {{{layer|}}} }} }}
 
;Layer
 
;Layer
:{{{layer|}}}}}
+
:{{{layer|}}}
 +
}}
  
 
<!-- All pawns (animals, humanoids, mechanoids) -->
 
<!-- All pawns (animals, humanoids, mechanoids) -->
Line 298: Line 426:
  
 
<!--Most animal babies are 0.2 the size of the adults, but birds are 0.1-->
 
<!--Most animal babies are 0.2 the size of the adults, but birds are 0.1-->
{{#set:Baby Scale = {{#vardefineecho:BabyScale|{{{babyscale|0.2}}}}}}}
+
{{#vardefine:BabyScale|{{{babyscale|0.2}}} }}
}}
+
{{#if: {{#var:setProperty}} | {{#set:Baby Scale = {{#var:BabyScale}} }}
 +
}} }}
  
{{#ifeq: {{{type|}}}|Animals|{{#set: Type = {{{type2|}}}}}}}
+
{{#ifeq: {{{type|}}}|Animals|{{#if: {{#var:setProperty}} | {{#set: Type = {{{type2|}}} }} }} }}
  
{{#if: {{{movespeed|}}}|{{#set:Move Speed Base = {{{movespeed|}}} }}
+
{{#if: {{{movespeed|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Move Speed Base = {{{movespeed|}}} }} }}
 
;Move Speed
 
;Move Speed
:{{{movespeed|}}}}}
+
:{{{movespeed|}}} {{CS}}
 +
}}
  
 
<!--Mass is 60*bodysize, with no exceptions-->
 
<!--Mass is 60*bodysize, with no exceptions-->
{{#if: {{{bodysize|}}}|
+
{{#if: {{{bodysize|}}} |
{{#set:Mass - Young={{#vardefineecho:MassYoung|{{#expr:60*{{{bodysize}}}*{{#var:BabyScale}}}}}}}}
+
  {{#vardefine:MassYoung | {{#expr: 60 * {{{bodysize}}} * {{#var:BabyScale}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Mass - Young = {{#var:MassYoung}} }} }}
 
;Mass - Baby
 
;Mass - Baby
 
:{{#var:MassYoung}} kg
 
:{{#var:MassYoung}} kg
  
{{#set:Mass - Juvenile={{#vardefineecho:MassJuvenile|{{#expr:60*{{{bodysize}}}*0.5}}}}}}
+
  {{#vardefine:MassJuvenile | {{#expr: 60 * {{{bodysize}}} * 0.5 }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Mass - Juvenile = {{#var:MassJuvenile}} }} }}
 
;Mass - Juvenile
 
;Mass - Juvenile
 
:{{#var:MassJuvenile}} kg
 
:{{#var:MassJuvenile}} kg
  
{{#set:Mass - Adult={{#vardefineecho:MassAdult|{{#expr:60*{{{bodysize}}}}}}}}}
+
  {{#vardefine:MassAdult | {{#expr: 60 * {{{bodysize}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Mass - Adult = {{#var:MassAdult}} }} }}
 
;Mass - Adult
 
;Mass - Adult
 
:{{#var:MassAdult}} kg
 
:{{#var:MassAdult}} kg
 
}}
 
}}
  
{{#if: {{{healthscale|}}}|{{#set: Health Scale = {{{healthscale|}}} }}
+
{{#if: {{{healthscale|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Health Scale = {{{healthscale|}}} }} }}
 
;Health Scale
 
;Health Scale
 
:{{{healthscale|}}}
 
:{{{healthscale|}}}
 
}}
 
}}
  
{{#if: {{{bodysize|}}}|{{#set:Body Size = {{{bodysize|}}} }}
+
{{#if: {{{bodysize|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Body Size = {{{bodysize|}}} }} }}
 
;Body Size
 
;Body Size
 
:{{{bodysize|}}}
 
:{{{bodysize|}}}
  
 
   {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }}
 
   {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }}
   {{#set: Carrying Capacity = {{#var: CarryingCapacity}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Carrying Capacity = {{#var: CarryingCapacity}} }} }}
 
;Carrying Capacity
 
;Carrying Capacity
 
:{{#var: CarryingCapacity}} kg
 
:{{#var: CarryingCapacity}} kg
 
}}
 
}}
  
{{#if: {{{ridingspeed|}}}|{{#set:Riding Speed = {{{ridingspeed|}}} }}
+
{{#if: {{{ridingspeed|}}} |
;{{H:title|link=no|Multiplier to the caravan's movement speed.|Riding Speed}}
+
  {{#if: {{#var:setProperty}} | {{#set: Riding Speed = {{{ridingspeed|}}} }} }}
:{{{ridingspeed|}}}}}
+
;{{Hover title|link=no|Multiplier to the caravan's movement speed.|Riding Speed}}
 +
:{{{ridingspeed|}}}
 +
}}
  
{{#ifeq: {{lc:{{{packanimal|}}}}}|true|{{#set:Pack Capacity = {{#vardefineecho:PackCapacity|{{#expr:{{{bodysize|}}}*35}}}}}}
+
{{#ifeq: {{lc:{{{packanimal|}}} }} | true |
 +
  {{#vardefine:PackCapacity | {{#expr: {{{bodysize|}}} * 35 }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Pack Capacity = {{#var: PackCapacity}} }} }}
 
;Pack Capacity
 
;Pack Capacity
 
:{{#var: PackCapacity}} kg
 
:{{#var: PackCapacity}} kg
 
}}
 
}}
  
{{#if: {{{filth rate|}}}|{{#set: Animal Filth Rate = {{{filth rate|}}} }}
+
{{#if: {{{filth rate|}}}|{{#if: {{#var:setProperty}} |
;{{H:title|link=no|The average amount of filth produced on constructed floors per 1000 cells walked by this creature.|Filth Rate}}
+
  {{#set:Animal Filth Rate = {{{filth rate|}}} }} }}
:{{{filth rate|}}}|{{#if: {{{bodysize|}}}|
+
;{{Hover title|link=no|The average amount of filth produced on constructed floors per 1000 cells walked by this creature.|Filth Rate}}
<!--Filth rate seems to default to 1 in game if it's not set in the xml.-->
+
:{{{filth rate|}}}
 +
| {{#if: {{{bodysize|}}} | <!--Filth rate seems to default to 1 in game if it's not set in the xml.-->
 
   {{#vardefine: FilthRate | 1 }}
 
   {{#vardefine: FilthRate | 1 }}
   {{#set: Animal Filth Rate = {{#var: FilthRate}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Animal Filth Rate = {{#var: FilthRate}} }} }}
;{{H:title|link=no|The average amount of filth produced on constructed floors per 1000 cells walked by this creature.|Filth Rate}}
+
;{{Hover title|link=no|The average amount of filth produced on constructed floors per 1000 cells walked by this creature.|Filth Rate}}
:{{#var: FilthRate}}  
+
:{{#var: FilthRate}}
}}
+
}} }}
 +
 
 +
{{#if: {{{hungerrate|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Base Hunger Rate = {{{hungerrate|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set:Real Hunger Rate = {{#expr: {{{hungerrate|}}} * 1.6 round2}} }} }}
 +
;{{Hover title|link=no|Nutrition lost per day.|Hunger Rate}}
 +
:{{#expr: {{{hungerrate|}}} * 1.6 round2}} Nutrition/Day
 
}}
 
}}
  
{{#if: {{{hungerrate|}}}|{{#set:Base Hunger Rate = {{{hungerrate|}}} }}{{#set:Real Hunger Rate = {{#expr: {{{hungerrate|}}} * 1.6 round2}} }}
+
{{#if: {{{diet|}}} |
;{{H:title|link=no|Nutrition lost per day.|Hunger Rate}}
+
  {{#if: {{#var:setProperty}} | {{#set:Diet = {{{diet|}}} }} }}
:{{#expr: {{{hungerrate|}}} * 1.6 round2}} }}
 
 
 
{{#if: {{{diet|}}}|{{#set:Diet ={{{diet|}}} }}
 
 
;Diet
 
;Diet
:{{{diet|}}}}}
+
:{{{diet|}}}
 +
}}
  
{{#if: {{{lifespan|}}}|{{#set:Life Expectancy = {{{lifespan|}}} }}
+
{{#if: {{{lifespan|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Life Expectancy = {{{lifespan|}}} }} }}
 
;Life Expectancy
 
;Life Expectancy
:{{{lifespan|}}}}}
+
:{{{lifespan|}}}
 +
}}
  
{{#if: {{{manhunter|}}}|{{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }}
+
{{#if: {{{manhunter|}}} |
;{{H:title|link=no|Chance of this animal turning manhunter when attacked.|Manhunter Chance}}
+
  {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }} }}
:{{#expr: {{{manhunter|}}} * 100}}%}}
+
;{{Hover title|link=no|Chance of this animal turning manhunter when attacked.|Manhunter Chance}}
 +
:{{%| {{{manhunter|}}} }}
 +
}}
  
{{#if: {{{manhuntertame|}}}|{{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }}
+
{{#if: {{{manhuntertame|}}} |
;{{H:title|link=no|Chance of this animal turning manhunter on a failed taming attempt.|Manhunter Chance (Taming)}}
+
  {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }} }}
:{{#expr: {{{manhuntertame|}}} * 100}}%}}
+
;{{Hover title|link=no|Chance of this animal turning manhunter on a failed taming attempt.|Manhunter Chance (Taming)}}
 +
:{{%| {{{manhuntertame|}}} }}
 +
}}
  
{{#if: {{{trainable|}}}|{{#set:Trainable Intelligence = {{{trainable|}}} }}
+
{{#if: {{{trainable|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Trainable Intelligence = {{{trainable|}}} }} }}
 
;Trainable Intelligence
 
;Trainable Intelligence
 
:{{{trainable|}}}
 
:{{{trainable|}}}
{{#switch: {{{trainable|}}}
+
  {{#switch: {{{trainable|}}}
| none = {{#set: Can Train Guard = no |Can Train Attack = no |Can Train Rescue = no |Can Train Haul = no}}
+
  | none = {{#if: {{#var:setProperty}} | {{#set: Can Train Guard = no | Can Train Attack = no | Can Train Rescue = no | Can Train Haul = no }} }}
| simple = {{#set: Can Train Guard = yes |Can Train Attack = no |Can Train Rescue = no |Can Train Haul = no}}
+
  | simple = {{#if: {{#var:setProperty}} | {{#set: Can Train Guard = yes | Can Train Attack = no | Can Train Rescue = no | Can Train Haul = no }} }}
| intermediate = {{#set: Can Train Guard = yes |Can Train Attack = yes |Can Train Rescue = no |Can Train Haul = no}}
+
  | intermediate = {{#if: {{#var:setProperty}} | {{#set: Can Train Guard = yes | Can Train Attack = yes | Can Train Rescue = no | Can Train Haul = no }} }}
| advanced = {{#set: Can Train Guard = yes |Can Train Attack = yes}}{{#ifexpr: {{{bodysize|}}} >= 0.65|{{#set: Can Train Rescue = yes}}|{{#set: Can Train Rescue = no}}}}{{#ifexpr: {{{bodysize|}}} >= 0.40|{{#set: Can Train Haul = yes}}|{{#set: Can Train Haul = no}}}}
+
  | advanced = {{#if: {{#var:setProperty}} | {{#set: Can Train Guard = yes | Can Train Attack = yes }} }}{{#ifexpr: {{{bodysize|}}} >= 0.65|{{#if: {{#var:setProperty}} | {{#set: Can Train Rescue = yes}} }}|{{#if: {{#var:setProperty}} | {{#set: Can Train Rescue = no}} }} }}{{#ifexpr: {{{bodysize|}}} >= 0.40|{{#if: {{#var:setProperty}} | {{#set: Can Train Haul = yes}} }}|{{#if: {{#var:setProperty}} | {{#set: Can Train Haul = no }} }} }}
| hauling only = {{#set: Can Train Guard = no |Can Train Attack = no |Can Train Rescue = no |Can Train Haul = yes}}
+
  | hauling only = {{#if: {{#var:setProperty}} | {{#set: Can Train Guard = no | Can Train Attack = no | Can Train Rescue = no |Can Train Haul = yes }} }}
 
}}
 
}}
 
}}
 
}}
  
{{#if: {{{wildness|}}}|{{#set:Wildness = {{{wildness|}}} }}
+
{{#if: {{{wildness|}}} |
;{{H:title|link=no|Wilder creatures are naturally more difficult to tame, train, and handle.|Wildness}}
+
  {{#if: {{#var:setProperty}} | {{#set:Wildness = {{{wildness|}}} }} }}
:{{#expr: {{{wildness|}}} * 100 round0}}%
+
;{{Hover title|link=no|Wilder creatures are naturally more difficult to tame, train, and handle.|Wildness}}
 +
:{{%| {{{wildness|}}} | 0 }}
  
   {{#vardefine: MinHandlingSkill |
+
   {{#vardefine: MinHandlingSkill | {{#expr:
     {{#ifexpr:  
+
     {{#ifexpr: {{{wildness|}}} < 0.2 | 0
      {{{wildness|}}} < .2|0
+
       | {{#ifexpr: {{{wildness|}}} < 0.45 | 1
       |{{#ifexpr: {{{wildness|}}} < .45|1
+
        | {{#ifexpr: {{{wildness|}}} < 0.55 | 4
      |{{#ifexpr: {{{wildness|}}} < .55|4
+
          | {{#ifexpr: {{{wildness|}}} < 0.75 | 5
      |{{#ifexpr: {{{wildness|}}} < .75|5
+
            | {{#ifexpr: {{{wildness|}}} < 0.8 | 7
      |{{#ifexpr: {{{wildness|}}} < .8|7
+
              | {{#ifexpr: {{{wildness|}}} < 0.9 | 8
      |{{#ifexpr: {{{wildness|}}} < .9|8
+
                | {{#ifexpr: {{{wildness|}}} < 0.97 | 9
      |{{#ifexpr: {{{wildness|}}} < .97|9
+
                  | 10
      |10}} }} }} }} }} }} }} }}
+
    }} }} }} }} }} }} }} <!--Is this really the exact formula? [[Animals#Minimum_skill]] says otherwise, but that formula must be wrong as well-->
   {{#set:Minimum Handling Skill = {{#var: MinHandlingSkill}} }}
+
    {{#ifeq: {{#var:Name}} | Human | + 7 }}
 +
  }} }}
 +
   {{#if: {{#var:setProperty}} | {{#set:Minimum Handling Skill = {{#var: MinHandlingSkill}} }} }}
 
   {{#ifeq: {{#var: MinHandlingSkill}}|0||
 
   {{#ifeq: {{#var: MinHandlingSkill}}|0||
;{{H:title|link=no|This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.|Minimum Handling Skill}}
+
;{{Hover title|link=no|This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.|Minimum Handling Skill}}
:{{#var: MinHandlingSkill}} }}  
+
:{{#var: MinHandlingSkill}} }}
 
}}
 
}}
  
{{#if: {{{petness|}}}|{{#set: Petness = {{{petness|}}} }} }}
+
{{#if: {{{petness|}}} | {{#if: {{#var:setProperty}} | {{#set: Petness = {{{petness|}}} }} }} }}
  
{{#ifeq: {{{predator|}}}|true|{{#set:Is Predator = true}}|}}
+
{{#ifeq: {{{predator|}}} | true | {{#if: {{#var:setProperty}} | {{#set:Is Predator = true}} }}|}}
  
{{#if: {{{roamMtb|}}}|{{#set:Roam Mtb Days = {{{roamMtb|}}} }}
+
{{#if: {{{roamMtb|}}} |
;{{H:title|link=no|How often an animal will attempt to roam away if not in a pen.|Roam Interval}}
+
  {{#if: {{#var:setProperty}} | {{#set:Roam Mtb Days = {{{roamMtb|}}} }} }}
:{{{roamMtb|}}} days}}
+
;{{Hover title|link=no|How often an animal will attempt to roam away if not in a pen.|Roam Interval}}
 +
:{{{roamMtb|}}} days
 +
}}
  
{{#if: {{{nuzzleMtb|}}}|{{#set: Nuzzle Mtb Hours = {{{nuzzleMtb|}}} }}
+
{{#if: {{{nuzzleMtb|}}} |
;{{H:title|link=no|How often an animal will nuzzle friendly colonists, on average.|Nuzzle Interval}}
+
  {{#if: {{#var:setProperty}} | {{#set: Nuzzle Mtb Hours = {{{nuzzleMtb|}}} }} }}
 +
;{{Hover title|link=no|How often an animal will nuzzle friendly colonists, on average.|Nuzzle Interval}}
 
{{#ifexpr: {{{nuzzleMtb|}}} <= 24
 
{{#ifexpr: {{{nuzzleMtb|}}} <= 24
 
   |{{#switch: {{{nuzzleMtb|}}}
 
   |{{#switch: {{{nuzzleMtb|}}}
Line 424: Line 582:
 
     |1 = :1&nbsp;hour
 
     |1 = :1&nbsp;hour
 
     |#default = :{{{nuzzleMtb|}}}&nbsp;hours}}
 
     |#default = :{{{nuzzleMtb|}}}&nbsp;hours}}
   |:{{#expr: {{{nuzzleMtb|}}} / 24 round1}}&nbsp;days}} }}
+
   |:{{#expr: {{{nuzzleMtb|}}} / 24 round1}}&nbsp;days}}
 +
}}
  
{{#if: {{{mateMtb|}}}|{{#set:Mate Mtb Hours = {{{mateMtb|}}} }}
+
{{#if: {{{mateMtb|}}} |
;{{H:title|link=no|How often an awake, non-sterilised male will attempt to mate with a female, on average.|Mate Interval}}
+
  {{#if: {{#var:setProperty}} | {{#set:Mate Mtb Hours = {{{mateMtb|}}} }} }}
:{{{mateMtb|}}} hours}}
+
;{{Hover title|link=no|How often an awake, non-sterilised male will attempt to mate with a female, on average.|Mate Interval}}
 +
:{{{mateMtb|}}} hours
 +
}}
  
{{#if: {{{maturityage|}}}|{{#set: Maturity Age = {{#vardefineecho:RealMaturityAge|{{{maturityage}}} }} }}
+
{{#if: {{{maturityage|}}} |
;{{H:title|link=no|The age at which an animal reaches adulthood.|Maturity Age}}
+
  {{#if: {{#var:setProperty}} | {{#set: Maturity Age = {{{maturityage|}}} }} }}
:{{#expr:{{#var:RealMaturityAge}} round 3}} years {{#ifexpr: {{#var:RealMaturityAge}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{#var:RealMaturityAge}}|R}}*60)round 1}} }} days) }}
+
;{{Hover title|link=no|The age at which an animal reaches adulthood.|Maturity Age}}
 +
:{{#expr:{{{maturityage|}}} round 3}} years {{#ifexpr: {{{maturityage|}}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{{maturityage|}}} |R}}*60)round 1}} }} days)
 +
}}
  
{{#if: {{{juvenileage|}}}|{{#set: Juvenile Age = {{#vardefineecho:RealJuvenileAge|{{{juvenileage}}} }} }}
+
{{#if: {{{juvenileage|}}} |
;{{H:title|link=no|The age at which an animal becomes a juvenile.|Juvenile Age}}
+
  {{#if: {{#var:setProperty}} | {{#set: Juvenile Age = {{{juvenileage|}}} }} }}
:{{#expr:{{#var:RealJuvenileAge}} round 3}} years {{#ifexpr: {{#var:RealJuvenileAge}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{#var:RealJuvenileAge}}|R}}*60)round 1}} }} days) }} |}}
+
;{{Hover title|link=no|The age at which an animal becomes a juvenile.|Juvenile Age}}
|}}
+
:{{#expr:{{{juvenileage|}}} round 3}} years {{#ifexpr: {{{juvenileage|}}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{{juvenileage|}}}|R}}*60)round 1}} }} days) }} }}
 +
}}
  
  
{{#if: {{{min comfortable temperature|}}}|{{#set: Min Comfortable Temperature = {{{min comfortable temperature|}}} }}
+
{{#if: {{{min comfortable temperature|}}} |
{{#if: {{{max comfortable temperature|}}}|{{#set: Max Comfortable Temperature = {{{max comfortable temperature|}}} }}
+
  {{#if: {{{max comfortable temperature|}}} |
 +
    {{#if: {{#var:setProperty}} | {{#set: Min Comfortable Temperature = {{{min comfortable temperature|}}} }} }}
 +
    {{#if: {{#var:setProperty}} | {{#set: Max Comfortable Temperature = {{{max comfortable temperature|}}} }} }}
 
;Comfortable Temp Range
 
;Comfortable Temp Range
 
:{{Temperature|{{{min comfortable temperature|}}}|{{{max comfortable temperature|}}}}}
 
:{{Temperature|{{{min comfortable temperature|}}}|{{{max comfortable temperature|}}}}}
 
}} }}
 
}} }}
  
{{#if: {{{livesin_temperateforest|}}}|{{#set: Lives In Temperate Forest = true}} }}
+
{{#if: {{{livesin_temperateforest|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Temperate Forest = true }} }} }}
{{#if: {{{livesin_temperateswamp|}}}|{{#set: Lives In Temperate Swamp = true}} }}
+
{{#if: {{{livesin_temperateswamp|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Temperate Swamp = true }} }} }}
{{#if: {{{livesin_tropicalrainforest|}}}|{{#set: Lives In Tropical Rainforest = true}} }}
+
{{#if: {{{livesin_tropicalrainforest|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Tropical Rainforest = true }} }} }}
{{#if: {{{livesin_tropicalswamp|}}}|{{#set: Lives In Tropical Swamp = true}} }}
+
{{#if: {{{livesin_tropicalswamp|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Tropical Swamp = true }} }} }}
{{#if: {{{livesin_aridshrubland|}}}|{{#set: Lives In Arid Shrubland = true}} }}
+
{{#if: {{{livesin_aridshrubland|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Arid Shrubland = true }} }} }}
{{#if: {{{livesin_desert|}}}|{{#set: Lives In Desert = true}} }}
+
{{#if: {{{livesin_desert|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Desert = true }} }} }}
{{#if: {{{livesin_extremedesert|}}}|{{#set: Lives In Extreme Desert = true}} }}
+
{{#if: {{{livesin_extremedesert|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Extreme Desert = true }} }} }}
{{#if: {{{livesin_borealforest|}}}|{{#set: Lives In Boreal Forest = true}} }}
+
{{#if: {{{livesin_borealforest|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Boreal Forest = true }} }} }}
{{#if: {{{livesin_coldbog|}}}|{{#set: Lives In Cold Bog = true}} }}
+
{{#if: {{{livesin_coldbog|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Cold Bog = true }} }} }}
{{#if: {{{livesin_tundra|}}}|{{#set: Lives In Tundra = true}} }}
+
{{#if: {{{livesin_tundra|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Tundra = true }} }} }}
{{#if: {{{livesin_icesheet|}}}|{{#set: Lives In Ice Sheet = true}} }}
+
{{#if: {{{livesin_icesheet|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Ice Sheet = true }} }} }}
{{#if: {{{livesin_seaice|}}}|{{#set: Lives In Sea Ice = true}} }}
+
{{#if: {{{livesin_seaice|}}} | {{#if: {{#var:setProperty}} | {{#set: Lives In Sea Ice = true }} }} }}
  
 
{{#if: {{{meatyield|}}} {{{meatname|}}} {{{leathername|}}} {{{leatheryield|}}} {{{milk|}}} {{{milkname|}}} {{{milktime|}}} {{{wool|}}} {{{woolname|}}} {{{sheartime|}}} {{{eggsmin|}}} {{{eggsmax|}}} {{{eggtime|}}} {{{eggs_avg|}}} {{{eggs_unfertilized|}}} {{{gestation|}}} {{{offspring|}}} {{{avg offspring|}}}|
 
{{#if: {{{meatyield|}}} {{{meatname|}}} {{{leathername|}}} {{{leatheryield|}}} {{{milk|}}} {{{milkname|}}} {{{milktime|}}} {{{wool|}}} {{{woolname|}}} {{{sheartime|}}} {{{eggsmin|}}} {{{eggsmax|}}} {{{eggtime|}}} {{{eggs_avg|}}} {{{eggs_unfertilized|}}} {{{gestation|}}} {{{offspring|}}} {{{avg offspring|}}}|
Line 467: Line 633:
 
{{#ifeq:{{#expr:{{#ifeq:{{{type|}}}|Animals|1|0}} or {{#ifeq:{{{type|}}}|Animal|1|0}}}}|1|
 
{{#ifeq:{{#expr:{{#ifeq:{{{type|}}}|Animals|1|0}} or {{#ifeq:{{{type|}}}|Animal|1|0}}}}|1|
 
   {{#vardefine: MeatName | {{{meatname | {{#var:Name}} meat}}} }}
 
   {{#vardefine: MeatName | {{{meatname | {{#var:Name}} meat}}} }}
   {{#vardefine: LeatherName | {{{leathername | {{#var:Name}} leather}}} }}  
+
   {{#vardefine: LeatherName | {{{leathername | {{#var:Name}} leather}}} }}
   {{#if: {{{is exotic species|}}}|{{#set: Is Exotic Species = true}}|{{#set: Is Exotic Species = false}}}}|
+
   {{#if: {{{is exotic species|}}}|{{#if: {{#var:setProperty}} | {{#set: Is Exotic Species = true}} }}|{{#if: {{#var:setProperty}} | {{#set: Is Exotic Species = false }} }} }}|
 
}}
 
}}
  
{{#if: {{#var:LeatherName }}|
+
{{#if: {{#var:LeatherName }} | {{#if: {{#var:setProperty}} | {{#set: Leather Name = {{#var:LeatherName}} }} }} }}
  {{#set: Leather Name = {{#var:LeatherName}}}} }}
 
  
{{#if: {{{bodysize|}}}|
+
{{#if: {{{bodysize|}}} |
    <!-- Uses meatyield when set, otherwise interpolates from curve applied to 140*body_size or basemeatamount*bodysize -->
+
  <!-- Uses meatyield when set, otherwise interpolates from curve applied to 140*body_size or basemeatamount*bodysize -->
    <!-- See Property:Meat_Yield for details -->
+
  <!-- See Property:Meat_Yield for details -->
   {{#if:{{#var:MeatName}}|{{#vardefine: MeatYield | {{{meatyield|{{Meat Leather Curve|{{{basemeatamount|140}}}*{{{bodysize|}}}}}}}}}}
+
   {{#if:{{#var:MeatName}} |
     {{#set: Meat Yield = {{#var: MeatYield}} }}
+
    {{#vardefine: MeatYield | {{{meatyield | {{Meat Leather Curve | {{{basemeatamount|140}}} * {{{bodysize|}}} }} }}} }}
 +
     {{#if: {{#var:setProperty}} | {{#set: Meat Yield = {{#var:MeatYield}} }} }}
 
;Meat Yield
 
;Meat Yield
:{{#var: MeatYield}} [[Meat|{{lc:{{#var:MeatName}}}}]]
+
:{{#var:MeatYield}} [[Meat|{{lc:{{#var:MeatName}} }}]]
 
   }}
 
   }}
  
    <!-- Uses leatheryield when set, otherwise interpolates from curve applied to 40*body_size or baseleatheramount*bodysize-->
+
  <!-- Uses leatheryield when set, otherwise interpolates from curve applied to 40*body_size or baseleatheramount*bodysize-->
    <!-- See Property:Leather_Yield for details -->
+
  <!-- See Property:Leather_Yield for details -->
   {{#if:{{#var:LeatherName}}|
+
   {{#if: {{#var:LeatherName}}
     {{#ifeq:{{#vardefineecho:LeatherYield | {{{leatheryield|{{Meat Leather Curve|{{{baseleatheramount|40}}}*{{{bodysize|}}}}}}}}}} | 0 | |
+
     | {{#ifeq: {{#vardefineecho:LeatherYield | {{{leatheryield | {{Meat Leather Curve | {{{baseleatheramount|40}}} * {{{bodysize|}}} }} }}} }}
        {{#set: Leather Yield = {{#var: LeatherYield}} }}
+
| 0 |
 +
| {{#if: {{#var:setProperty}} | {{#set: Leather Yield = {{#var: LeatherYield}} }} }}
 
;Leather Yield
 
;Leather Yield
:{{#var: LeatherYield}} [[{{#var: LeatherName}}|{{lc:{{#var: LeatherName}}}}]]
+
:{{#var: LeatherYield}} [[{{#var: LeatherName}}|{{lc:{{#var: LeatherName}} }}]]
    }}
+
}} }} }}
  }}
 
}}
 
  
{{#if: {{{milk|}}}|
+
{{#if: {{{milk|}}} |
   {{#set: Milk Amount = {{{milk|}}}}}
+
   {{#if: {{#var:setProperty}} | {{#set: Milk Amount = {{{milk|}}}}} }}
 
   {{#vardefine: MilkName | {{{milkname| Milk}}} }}
 
   {{#vardefine: MilkName | {{{milkname| Milk}}} }}
   {{#set: Milk Name = {{#var:MilkName}}}}
+
   {{#if: {{#var:setProperty}} | {{#set: Milk Name = {{#var:MilkName}} }} }}
 
;Milk Amount
 
;Milk Amount
:{{{milk|}}} [[{{#var:MilkName}}|{{lc:{{#var:MilkName}}}}]]
+
:{{{milk|}}} [[{{#var:MilkName}}|{{lc:{{#var:MilkName}} }}]]
 
}}
 
}}
  
  
{{#if: {{{milktime|}}}|{{#set: Milking Interval Days = {{{milktime|}}} }}
+
{{#if: {{{milktime|}}} |
{{#set: Daily Milk Average = {{#expr: {{{milk|}}}/{{{milktime|}}}round2}} }}
+
  {{#if: {{#var:setProperty}} | {{#set: Milking Interval Days = {{{milktime|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Daily Milk Average = {{#expr: {{{milk|}}}/{{{milktime|}}}round2}} }} }}
 
;Milking Interval
 
;Milking Interval
:{{{milktime|}}}&nbsp;days}}
+
:{{{milktime|}}}&nbsp;days
 +
}}
  
 
{{#if: {{{wool|}}}|
 
{{#if: {{{wool|}}}|
   {{#set: Wool Amount = {{{wool|}}}}}
+
   {{#if: {{#var:setProperty}} | {{#set: Wool Amount = {{{wool|}}} }} }}
 
   {{#vardefine: WoolName | {{{woolname | {{#var:Name}} wool}}} }}
 
   {{#vardefine: WoolName | {{{woolname | {{#var:Name}} wool}}} }}
   {{#set: Wool Name = {{#var:WoolName}}}}
+
   {{#if: {{#var:setProperty}} | {{#set: Wool Name = {{#var:WoolName}} }} }}
 
;Wool Amount
 
;Wool Amount
 
:{{{wool|}}} [[{{#var: WoolName}}|{{lc:{{#var: WoolName}}}}]]
 
:{{{wool|}}} [[{{#var: WoolName}}|{{lc:{{#var: WoolName}}}}]]
 
}}
 
}}
  
{{#if: {{{sheartime|}}}|{{#set: Shearing Interval Days = {{{sheartime|}}} }}
+
{{#if: {{{sheartime|}}} |
{{#set: Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }}
+
  {{#if: {{#var:setProperty}} | {{#set: Shearing Interval Days = {{{sheartime|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }} }}
 
;Shearing Interval
 
;Shearing Interval
:{{{sheartime|}}}&nbsp;days}}
+
:{{{sheartime|}}}&nbsp;days
 +
}}
  
{{#if: {{{eggsmin|}}}|{{#set: Eggs Per Clutch Minimum = {{{eggsmin|}}} }}
+
{{#if: {{{eggsmin|}}} |
{{#if: {{{eggsmax|}}}|{{#set: Eggs Per Clutch Maximum = {{{eggsmax|}}} }} }}
+
  {{#if: {{{eggsmax|}}} |
 +
    {{#if: {{#var:setProperty}} | {{#set: Eggs Per Clutch Minimum = {{{eggsmin|}}} }} }}
 +
    {{#if: {{#var:setProperty}} | {{#set: Eggs Per Clutch Maximum = {{{eggsmax|}}} }} }}
 
;Eggs Per Clutch
 
;Eggs Per Clutch
:{{#show: {{#var:Name}}|?Eggs Per Clutch Minimum|link=none}} to {{#show: {{#var:Name}}|?Eggs Per Clutch Maximum|link=none}} }}
+
:{{#show: {{#var:Name}}|?Eggs Per Clutch Minimum|link=none}} to {{#show: {{#var:Name}}|?Eggs Per Clutch Maximum|link=none}}
 +
}} }}
  
{{#if: {{{eggtime|}}}|{{#set: Egg Laying Interval = {{{eggtime|}}} }}
+
{{#if: {{{eggtime|}}} |
{{#set: Eggs Per Season Average = {{#expr: {{{eggs_avg|}}}/{{{eggtime|}}}*15 round 2}} }}
+
  {{#if: {{#var:setProperty}} | {{#set: Egg Laying Interval = {{{eggtime|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Eggs Per Season Average = {{#expr: {{{eggs_avg|}}}/{{{eggtime|}}}*15 round 2}} }} }}
 
;Egg Laying Interval
 
;Egg Laying Interval
:{{{eggtime|}}}&nbsp;days}}
+
:{{{eggtime|}}}&nbsp;days
 +
}}
  
{{#if: {{{eggs_avg|}}}|{{#set: Eggs Per Clutch Average = {{{eggs_avg|}}} }} }}
+
{{#if: {{{eggs_avg|}}} | {{#if: {{#var:setProperty}} | {{#set: Eggs Per Clutch Average = {{{eggs_avg|}}} }} }} }}
  
{{#if: {{{eggs_unfertilized|}}}|{{#set: Can Lay Unfertilized Eggs = {{{eggs_unfertilized|}}} }}
+
{{#if: {{{eggs_unfertilized|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Can Lay Unfertilized Eggs = {{{eggs_unfertilized|}}} }} }}
 
;Can Lay Unfertilized Eggs
 
;Can Lay Unfertilized Eggs
:{{{eggs_unfertilized|}}} }}
+
:{{{eggs_unfertilized|}}}
 +
}}
  
{{#if: {{{gestation|}}}|{{#set: Gestation Period Days = {{{gestation|}}} }}
+
{{#if: {{{gestation|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Gestation Period Days = {{{gestation|}}} }} }}
 
;Gestation Period
 
;Gestation Period
 
{{#switch: {{{gestation|}}}
 
{{#switch: {{{gestation|}}}
| N/A = :N/A
+
  | N/A     = :N/A
| 1 = :{{{gestation|}}} day
+
  | 1       = :{{{gestation|}}} day
| #default = :{{{gestation|}}} days
+
  | #default = :{{{gestation|}}} days
}}}}
+
}} }}
  
{{#if: {{{offspring|}}} {{{avg offspring|}}}|{{#set: Offspring Per Birth = {{{offspring|}}} }} {{#set: Average Offspring Per Birth = {{{avg offspring|}}} }}
+
{{#if: {{{offspring|}}} {{{avg offspring|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Offspring Per Birth = {{{offspring|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Average Offspring Per Birth = {{{avg offspring|}}} }} }}
 
;Offspring Per Birth
 
;Offspring Per Birth
:{{{offspring|}}} {{#if:{{{avg offspring|}}}|({{{avg offspring|}}} avg)}}}}
+
:{{{offspring|}}} {{#if:{{{avg offspring|}}}|({{{avg offspring|}}} avg)}}
 +
}}
  
  
 
<!-- Ingestion -->
 
<!-- Ingestion -->
{{#if: {{{nutrition base|}}} {{{taste|}}} {{{ingested direct thought|}}} {{{joy offset|}}} {{{joy kind|}}} {{{addictiveness|}}} {{{food poison chance|}}} {{{max num to ingest at once|}}} {{{ingestion time|}}} {{{days to rot|}}}|
+
{{#if: {{{nutrition|}}} {{{taste|}}} {{{ingested direct thought|}}} {{{joy offset|}}} {{{joy kind|}}} {{{addictiveness|}}} {{{food poison chance|}}} {{{max num to ingest at once|}}} {{{ingestion time|}}}|
 
</dl>{{clear}}
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Ingestion'''</p>
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Ingestion'''</p>
Line 557: Line 737:
 
}}
 
}}
  
{{#if: {{{nutrition base|}}}|{{#set:Nutrition = {{{nutrition base|}}}}}
+
{{#if: {{{nutrition|}}} |
;Nutrition
+
  {{#if: {{#var:setProperty}} | {{#set: Nutrition = {{{nutrition|}}} }} }}
:{{{nutrition base|}}}}}
+
;{{Hover title| link=no | Nutrition gained when this item or object is eaten | Nutrition }}
 +
:{{{nutrition}}}
 +
}}
  
{{#if: {{{taste|}}}|{{#set:Taste = {{{taste|}}}}}
+
{{#if: {{{taste|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Taste = {{{taste|}}} }} }}
 
;Taste
 
;Taste
:{{{taste|}}}}}
+
:{{{taste|}}}
 +
}}
  
{{#if: {{{ingested direct thought|}}}|{{#set:Ingested Direct Thought = {{{ingested direct thought|}}}}}
+
{{#if: {{{ingested direct thought|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Ingested Direct Thought = {{{ingested direct thought|}}} }} }}
 
;Ingested Direct Thought
 
;Ingested Direct Thought
:{{{ingested direct thought|}}}}}
+
:{{{ingested direct thought|}}}
 +
}}
  
{{#if: {{{joy offset|}}}|{{#set:Joy Offset = {{{joy offset|}}}}}
+
{{#if: {{{joy offset|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Joy Offset = {{{joy offset|}}} }} }}
 
;Recreation Offset
 
;Recreation Offset
:{{{joy offset|}}}}}
+
:{{%|{{{joy offset|}}}}}
 +
}}
  
{{#if: {{{joy kind|}}}|{{#set:Joy Kind = {{{joy kind|}}}}}
+
{{#if: {{{joy kind|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Joy Kind = {{{joy kind|}}} }} }}
 
;Recreation Kind
 
;Recreation Kind
:{{{joy kind|}}}}}
+
:{{{joy kind|}}}
 +
}}
  
{{#if: {{{addictiveness|}}}|{{#set:Addictiveness = {{{addictiveness|}}}}}
+
{{#if: {{{addictiveness|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Addictiveness = {{{addictiveness|}}} }} }}
 
;Addictiveness
 
;Addictiveness
:{{#expr: {{{addictiveness|}}}*100}}%}}
+
:{{%| {{{addictiveness|}}} }}
 +
}}
  
{{#if: {{{food poison chance|}}}|{{#set:Food Poison Chance Base = {{{food poison chance|}}}}}
+
{{#if: {{{food poison chance|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Food Poison Chance Base = {{{food poison chance|}}} }} }}
 
;Food Poison Chance
 
;Food Poison Chance
:{{#expr: {{{food poison chance|}}}*100}}%}}
+
:{{%| {{{food poison chance|}}} }}
 +
}}
  
{{#if: {{{max num to ingest at once|}}}|{{#set:Max Num To Ingest At Once = {{{max num to ingest at once|}}}}}
+
{{#if: {{{max num to ingest at once|}}} |
;{{H:title|link=no|Maximum Number To Ingest At Once|Maximum To Ingest}}
+
  {{#if: {{#var:setProperty}} | {{#set: Max Num To Ingest At Once = {{{max num to ingest at once|}}} }} }}
:{{{max num to ingest at once|}}}}}
+
;{{Hover title| link=no | Maximum Number To Ingest At Once | Maximum To Ingest}}
 +
:{{{max num to ingest at once|}}}
 +
}}
  
{{#if: {{{ingestion time|}}}|{{#set:Ingestion Time= {{{ingestion time|}}}}}
+
{{#if: {{{ingestion time|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Ingestion Time= {{{ingestion time|}}} }} }}
 
;Ingestion Time
 
;Ingestion Time
:{{ticks|{{{ingestion time|}}}}}}}
+
:{{ticks| {{{ingestion time|}}} }}
 
+
}}
{{#if: {{{days to rot|}}}|{{#set:Days To Start Rot Base = {{{days to rot|}}}}}
 
;Days To Start Rot
 
:{{{days to rot|}}}}}
 
  
  
Line 605: Line 799:
 
}}
 
}}
  
{{#if: {{{beauty factor|}}}|{{#set:Beauty Factor = {{{beauty factor|}}}}}
+
{{#if: {{{beauty factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Beauty Factor = {{{beauty factor|}}} }} }}
 
;Beauty Factor
 
;Beauty Factor
:×{{{beauty factor|}}}}}
+
:×{{{beauty factor|}}}
 +
}}
  
{{#if: {{{beauty offset|}}}|{{#set:Beauty Offset = {{{beauty offset|}}}}}
+
{{#if: {{{beauty offset|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Beauty Offset = {{{beauty offset|}}} }} }}
 
;Beauty Offset
 
;Beauty Offset
:+{{{beauty offset|}}}}}
+
:+{{{beauty offset|}}}
 +
}}
  
{{#if: {{{work to make factor|}}}|{{#set:Work To Make Factor = {{{work to make factor|}}}}}
+
{{#if: {{{work to make factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Work To Make Factor = {{{work to make factor|}}} }} }}
 
;Work To Make Factor
 
;Work To Make Factor
:×{{{work to make factor|}}}}}
+
:×{{{work to make factor|}}}
 +
}}
  
{{#if: {{{work to build factor|}}}|{{#set:Work To Build Factor = {{{work to build factor|}}}}}
+
{{#if: {{{work to build factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Work To Build Factor = {{{work to build factor|}}} }} }}
 
;Work To Build Factor
 
;Work To Build Factor
:×{{{work to build factor|}}}}}
+
:×{{{work to build factor|}}}
 +
}}
  
{{#if: {{{work to build offset|}}}|{{#set:Work To Build Offset = {{{work to build offset|}}}}}
+
{{#if: {{{work to build offset|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Work To Build Offset = {{{work to build offset|}}} }} }}
 
;Work To Build Offset
 
;Work To Build Offset
:+{{ticks|{{{work to build offset|}}}}}}}
+
:+{{ticks| {{{work to build offset|}}} }}
 +
}}
  
{{#if: {{{max hit points factor|}}}|{{#set:Max Hit Points Factor = {{{max hit points factor|}}}}}
+
{{#if: {{{max hit points factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Max Hit Points Factor = {{{max hit points factor|}}} }} }}
 
;Max Hit Points
 
;Max Hit Points
:×{{{max hit points factor|}}}}}
+
:×{{{max hit points factor|}}}
 +
}}
  
{{#if: {{{flammability factor|}}}|{{#set:Flammability Factor = {{{flammability factor|}}}}}
+
{{#if: {{{flammability factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Flammability Factor = {{{flammability factor|}}} }} }}
 
;Flammability
 
;Flammability
:×{{{flammability factor|}}}}}
+
:×{{{flammability factor|}}}
 +
}}
  
{{#if: {{{armor - sharp factor|}}}|{{#set:Armor - Sharp Factor = {{{armor - sharp factor|}}}}}
+
{{#if: {{{armor - sharp factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Armor - Sharp Factor = {{{armor - sharp factor|}}} }} }}
 
;Armor - Sharp
 
;Armor - Sharp
:×{{{armor - sharp factor|}}}}}
+
:×{{{armor - sharp factor|}}}
 +
}}
  
{{#if: {{{armor - blunt factor|}}}|{{#set:Armor - Blunt Factor = {{{armor - blunt factor|}}}}}
+
{{#if: {{{armor - blunt factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Armor - Blunt Factor = {{{armor - blunt factor|}}} }} }}
 
;Armor - Blunt
 
;Armor - Blunt
:×{{{armor - blunt factor|}}}}}
+
:×{{{armor - blunt factor|}}}
 +
}}
  
{{#if: {{{armor - heat factor|}}}|{{#set:Armor - Heat Factor = {{{armor - heat factor|}}}}}
+
{{#if: {{{armor - heat factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Armor - Heat Factor = {{{armor - heat factor|}}} }} }}
 
;Armor - Heat
 
;Armor - Heat
:×{{{armor - heat factor|}}}}}
+
:×{{{armor - heat factor|}}}
 +
}}
  
{{#if: {{{insulation - cold factor|}}}|{{#set:Insulation - Cold Factor = {{{insulation - cold factor|}}}}}
+
{{#if: {{{insulation - cold factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Insulation - Cold Factor = {{{insulation - cold factor|}}} }} }}
 
;Insulation - Cold
 
;Insulation - Cold
:+{{Temperature|{{{insulation - cold factor|}}}||delta}}}}
+
:+{{Temperature| {{{insulation - cold factor|}}} || delta }}
 +
}}
  
{{#if: {{{insulation - heat factor|}}}|{{#set:Insulation - Heat Factor = {{{insulation - heat factor|}}}}}
+
{{#if: {{{insulation - heat factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Insulation - Heat Factor = {{{insulation - heat factor|}}} }} }}
 
;Insulation - Heat
 
;Insulation - Heat
:+{{Temperature|{{{insulation - heat factor|}}}||delta}}}}
+
:+{{Temperature| {{{insulation - heat factor|}}} || delta }}
 +
}}
  
{{#if: {{{melee blunt damage factor|}}}|{{#set:Melee Blunt Damage Factor = {{{melee blunt damage factor|}}}}}
+
{{#if: {{{melee blunt damage factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Melee Blunt Damage Factor = {{{melee blunt damage factor|}}} }} }}
 
;Melee Blunt Damage
 
;Melee Blunt Damage
:×{{{melee blunt damage factor|}}}}}
+
:×{{{melee blunt damage factor|}}}
 +
}}
  
{{#if: {{{melee sharp damage factor|}}}|{{#set:Melee Sharp Damage Factor = {{{melee sharp damage factor|}}}}}
+
{{#if: {{{melee sharp damage factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Melee Sharp Damage Factor = {{{melee sharp damage factor|}}} }} }}
 
;Melee Sharp Damage
 
;Melee Sharp Damage
:×{{{melee sharp damage factor|}}}}}
+
:×{{{melee sharp damage factor|}}}
 +
}}
  
{{#if: {{{melee cooldown factor|}}}|{{#set:Melee Cooldown Factor = {{{melee cooldown factor|}}}}}
+
{{#if: {{{melee cooldown factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Melee Cooldown Factor = {{{melee cooldown factor|}}} }} }}
 
;Melee Cooldown
 
;Melee Cooldown
:×{{{melee cooldown factor|}}}}}
+
:×{{{melee cooldown factor|}}}
 +
}}
  
{{#if: {{{door opening speed factor|}}}|{{#set:Door Opening Speed Factor = {{{door opening speed factor|}}}}}
+
{{#if: {{{door opening speed factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Door Opening Speed Factor = {{{door opening speed factor|}}} }} }}
 
;Door Opening Speed
 
;Door Opening Speed
:×{{{door opening speed factor|}}}}}
+
:×{{{door opening speed factor|}}}
 +
}}
  
{{#if: {{{rest effectiveness factor|}}}|{{#set:Rest Effectiveness Factor = {{{rest effectiveness factor|}}}}}
+
{{#if: {{{rest effectiveness factor|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Rest Effectiveness Factor = {{{rest effectiveness factor|}}} }} }}
 
;Rest Effectiveness
 
;Rest Effectiveness
:×{{{rest effectiveness factor|}}}}}
+
:×{{{rest effectiveness factor|}}}
 +
}}
 +
 
 +
 
 +
<!-- Medicine -->
 +
{{#if: {{{medical potency base|}}} {{{medical quality max|}}} |
 +
</dl>{{clear}}
 +
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Medical'''</p>
 +
<dl>
 +
}}
 +
 
 +
{{#if: {{{medical potency base|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Medical Potency Base = {{{medical potency base|}}} }} }}
 +
;Medical Potency
 +
:{{%| {{{medical potency base|}}} }}
 +
}}
 +
 
 +
{{#if: {{{medical quality max|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Medical Quality Max = {{{medical quality max|}}} }} }}
 +
;Max medical tend quality
 +
:{{%| {{{medical quality max|}}} }}
 +
}}
  
  
 
<!--Plants-->
 
<!--Plants-->
{{#if: {{{grow days|}}} {{{sow work|}}} {{{harvest work|}}} {{{product|}}} {{{yield|}}} {{{min sowing skill|}}} {{{min fertility|}}} {{{fertility sensitivity|}}}|
+
{{#if: {{{grow days|}}} {{{sow work|}}} {{{harvest work|}}} {{{product|}}} {{{yield|}}} {{{min sowing skill|}}} {{{min fertility|}}} {{{fertility sensitivity|}}} |
 
</dl>{{clear}}
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Plant Stats'''</p>
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Plant Stats'''</p>
Line 681: Line 929:
 
}}
 
}}
  
{{#if: {{{grow days|}}}|{{#set:Grow Days = {{{grow days|}}} }} {{#set:Real Grow Days = {{#expr: {{{grow days|}}}/0.54167 round 2}} }}
+
{{#if: {{{grow days|}}} |
 +
  {{#vardefine:realGrowDays | {{#expr: {{{grow days|}}} / 0.54167 round 2}} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Grow Days = {{{grow days|}}} }} }}
 +
  {{#if: {{#var:setProperty}} | {{#set: Real Grow Days = {{#var:realGrowDays}} }} }}
 
;Time to grow
 
;Time to grow
:{{{grow days|}}} days {{H:title|link=no|Actual days to grow, taking into account rest time|({{#expr: {{{grow days|}}}/0.54167 round 2}} days)}}
+
:{{{grow days|}}} days {{Hover title|link=no|Actual days to grow, taking into account rest time|({{#var:realGrowDays}} days)}}
 
}}
 
}}
  
{{#if: {{{lifespanDaysPerGrowDays|}}}|{{#set:Lifespan Days Per Grow Days = {{{lifespanDaysPerGrowDays|}}} }}
+
{{#if: {{{lifespanDaysPerGrowDays|}}} |
{{#if: {{{grow days|}}}|
+
  {{#if: {{{grow days|}}} |
 +
    {{#if: {{#var:setProperty}} | {{#set: Lifespan Days Per Grow Days = {{{lifespanDaysPerGrowDays|}}} }} }}
 
;Lifespan
 
;Lifespan
:{{#ifeq: {{{lifespanDaysPerGrowDays|}}} | 0 | Indefinite | {{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays}}}}} days}}
+
:{{#ifeq: {{{lifespanDaysPerGrowDays|}}} | 0 | Indefinite | {{#if: {{#var:setProperty}} | {{#set: Lifespan = {{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }}}}}}{{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }} days}}
}}
+
}} }}
}}
 
  
{{#if: {{{sow work|}}}|{{#set:Sow Work = {{{sow work|}}} }}
+
{{#if: {{{sow work|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Sow Work = {{{sow work|}}} }} }}
 
;Work to Sow
 
;Work to Sow
:{{ticks|{{{sow work|}}}}}
+
:{{ticks| {{{sow work|}}} }}
 
}}
 
}}
  
{{#if: {{{harvest work|}}}|{{#set:Harvest Work = {{{harvest work|}}} }}
+
{{#if: {{{harvest work|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Harvest Work = {{{harvest work|}}} }} }}
 
;Work to Harvest
 
;Work to Harvest
:{{ticks|{{{harvest work|}}}}}
+
:{{ticks| {{{harvest work|}}} }}
 
}}
 
}}
  
{{#if: {{{product|}}}|{{#set:Harvest Product = {{{product|}}} }}
+
{{#if: {{{product|}}} |
{{#if: {{{yield|}}}|{{#set:Harvest Yield = {{{yield|}}} }}
+
{{#if: {{{yield|}}} |
;Harvest Yield
+
  {{#if: {{#var:setProperty}} | {{#set: Harvest Product = {{{product|}}} }} }}
:{{{yield|}}} {{Icon Small|{{{product|}}}|16}}
+
  {{#if: {{#var:setProperty}} | {{#set: Harvest Yield = {{{yield|}}} }} }}
}}
+
;{{Hover title|link=no|Assumes 1x multipliers from difficulty, pawn stats, and other sources.|Base Harvest Yield}}
}}
+
:{{{yield|}}} {{Icon Small| {{{product|}}} | 16 }}
 +
}} }}
  
{{#if: {{{min sowing skill|}}}|{{#set:Minimum Required Growing Skill = {{{min sowing skill|}}} }}
+
{{#if: {{{min sowing skill|}}} |
;{{H:title|link=no|Minimum skill required to sow the plant|Min Skill}}
+
  {{#if: {{#var:setProperty}} | {{#set: Minimum Required Growing Skill = {{{min sowing skill|}}} }} }}
 +
;{{Hover title|link=no|Minimum skill required to sow the plant|Min Skill}}
 
:{{{min sowing skill|}}} [[Skills#Plants|Plants]]
 
:{{{min sowing skill|}}} [[Skills#Plants|Plants]]
 
}}
 
}}
  
{{#if: {{{min fertility|}}}|{{#set:Fertility Min = {{{min fertility|}}} }}
+
{{#if: {{{min fertility|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Fertility Min = {{{min fertility|}}} }} }}
 
;Min Fertility
 
;Min Fertility
:{{#expr: {{{min fertility|}}} * 100}}%
+
:{{%| {{{min fertility|}}} }}
 
}}
 
}}
  
{{#if: {{{fertility sensitivity|}}}|{{#set:Fertility Sensitivity = {{{fertility sensitivity|}}} }}
+
{{#if: {{{fertility sensitivity|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Fertility Sensitivity = {{{fertility sensitivity|}}} }} }}
 
;Fertility Sensitivity
 
;Fertility Sensitivity
:{{#expr: {{{fertility sensitivity|}}} * 100}}%
+
:{{%| {{{fertility sensitivity|}}} }}
 
}}
 
}}
  
{{#if: {{{nutrition|}}}|{{#set:Nutrition = {{{nutrition|}}} }}
+
{{#if: {{{fertility sensitivity|}}} |
;{{H:title|link=no|Nutrition when plant eaten|Nutrition}}
+
  {{#if: {{{grow days|}}} |
:{{{nutrition}}}
+
    {{#if: {{{yield|}}} |
}}
+
      {{#if: {{#var:setProperty}} | {{#set: Harvest Yield Per Day (70)  = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((0.7-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }} }}
 +
      {{#if: {{#var:setProperty}} | {{#set: Harvest Yield Per Day (100) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((1.0-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }} }}
 +
      {{#if: {{#var:setProperty}} | {{#set: Harvest Yield Per Day (140) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((1.4-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }} }}
 +
      {{#if: {{#pos:{{{sowTags|}}}|Hydroponic}} | {{#if: {{#var:setProperty}} | {{#set: Harvest Yield Per Day (280) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((2.8-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }} }} }}
 +
}} }} }}
  
{{#if: {{{fertility sensitivity|}}}|
 
{{#if: {{{grow days|}}}|
 
{{#if: {{{yield|}}}|
 
{{#set:Harvest Yield Per Day (70)  = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((0.7-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }}
 
{{#set:Harvest Yield Per Day (100) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((1.0-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }}
 
{{#set:Harvest Yield Per Day (140) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((1.4-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }}
 
{{#if: {{#pos:{{{sowTags|}}}|Hydroponic}} | {{#set:Harvest Yield Per Day (280) = {{#expr: {{{yield|}}}/( ({{{grow days|}}}/0.54167) / (((2.8-1)*{{{fertility sensitivity|}}}) + 1)) round 2}} }} }}
 
}}
 
}}
 
}}
 
  
<!--Weapons-->
+
<!-- Weapons -->
 +
{{#ifeq: {{{mode|}}} | Melee
 +
  | {{#if: {{#var:setProperty}} | {{#set: Melee Damage Base = {{{damage|}}} | Melee Warmup = {{{warmup|}}} | Melee Cooldown Base = {{{cooldown|}}} }} }}
 +
  | {{#if: {{#var:setProperty}} | {{#set: Damage Base = {{{damage|}}} }} }}
 +
    {{#if: {{{mode|}}}
 +
    | {{#if: {{#var:setProperty}} | {{#set: Aiming Time Base = {{{warmup|}}} | Ranged Cooldown Base = {{{cooldown|}}} | Weapons/Row/Ranged/NoInclude = False }}
 +
    }} }}
  
{{#ifeq: {{{mode|}}} | Melee |
+
{{#if: {{{damage type|}}} {{{damage|}}} {{{armorPenetration|}}} {{{warmup|}}} {{{cooldown |}}} {{{range|}}} {{{minrange|}}} {{{accuracy|}}} {{{accuracyTouch|}}} {{{accuracyShort|}}} {{{accuracyMedium|}}} {{{accuracyLong|}}} {{{accuracyAvg|}}} {{{velocity|}}} {{{burst|}}} {{{burstTicks|}}} {{{missRadius|}}} {{{blastRadius|}}} {{{DPS|}}} {{{stoppingPower|}}} |
{{#set:Melee Damage Base = {{{damage|}}}
 
|Melee Warmup = {{{warmup|}}}
 
|Melee Cooldown Base = {{{cooldown|}}}
 
}}
 
|
 
{{#set:Damage Base = {{{damage|}}}}}
 
{{#if: {{{mode|}}}|
 
{{#set:Aiming Time Base = {{{warmup|}}}
 
|Ranged Cooldown Base = {{{cooldown|}}}
 
|Weapons/Row/Ranged/NoInclude=False
 
}} }}
 
{{#if: {{{damage type|}}} {{{damage|}}} {{{armorPenetration|}}} {{{warmup|}}} {{{cooldown |}}} {{{range|}}} {{{minrange|}}} {{{accuracy|}}} {{{accuracyTouch|}}} {{{accuracyShort|}}} {{{accuracyMedium|}}} {{{accuracyLong|}}} {{{accuracyAvg|}}} {{{velocity|}}} {{{burst|}}} {{{burstTicks|}}} {{{missRadius|}}} {{{blastRadius|}}} {{{DPS|}}} {{{stoppingPower|}}}|
 
 
</dl>{{clear}}
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Ranged Combat'''</p>
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Ranged Combat'''</p>
Line 761: Line 1,006:
 
}}
 
}}
  
{{#if: {{{mode|}}}|{{#set:Mode = {{{mode|}}} }}  
+
{{#if: {{{mode|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Mode = {{{mode|}}} }} }}
 
;Mode
 
;Mode
 
:{{{mode|}}}
 
:{{{mode|}}}
 
}}
 
}}
 +
 
}}
 
}}
  
{{#if: {{{damage|}}}|
+
{{#if: {{{damage|}}} |
 
;Damage
 
;Damage
:{{{damage|}}} dmg {{#if: {{{damage type|}}}|{{#set:Damage Type = {{ucfirst:{{{damage type|}}}}} }}([[Damage Types#{{ucfirst:{{{damage type|}}}}}|{{ucfirst:{{{damage type|}}}}}]])}}
+
:{{{damage|}}} dmg {{#if: {{{damage type|}}} | {{#if: {{#var:setProperty}} | {{#set: Damage Type = {{ucfirst:{{{damage type|}}} }} }} }}([[Damage Types#{{ucfirst:{{{damage type|}}} }}|{{ucfirst:{{{damage type|}}} }}]])}}
 
}}
 
}}
  
{{#if: {{{armorPenetration|}}}|{{#set:Armor Penetration= {{{armorPenetration|}}} }}
+
{{#if: {{{armorPenetration|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Armor Penetration = {{{armorPenetration|}}} }} }}
 
;Armor penetration
 
;Armor penetration
:{{{armorPenetration|}}}%}}
+
:{{{armorPenetration|}}}%
 +
}}
  
{{#if: {{{warmup|}}}|
+
{{#if: {{{warmup|}}} |
;{{H:title|link=no|Time it takes to aim the weapon|Warm-Up}}
+
;{{Hover title | link=no | Time it takes to aim the weapon | Warm-Up }}
:{{ticks|{{{warmup|}}}}}}}
+
:{{ticks| {{{warmup|}}} }}
 +
}}
  
{{#if: {{{cooldown |}}}|
+
{{#if: {{{cooldown |}}} |
;{{H:title|link=no|Waiting time before you can aim again after firing|Cooldown}}
+
;{{Hover title| link=no | Waiting time before you can aim again after firing | Cooldown }}
:{{ticks|{{{cooldown|}}}}}}}
+
:{{ticks| {{{cooldown|}}} }}
 +
}}
  
{{#if: {{{range|}}}|{{#set:Range = {{{range|}}} }}
+
{{#if: {{{range|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Range = {{{range|}}} }} }}
 
;Range
 
;Range
:{{{range|}}} tile(s)}}
+
:{{{range|}}} tile(s)
 +
}}
  
{{#if: {{{minrange|}}}|{{#set:Minimum Range = {{{minrange|}}} }}
+
{{#if: {{{minrange|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Minimum Range = {{{minrange|}}} }} }}
 
;Minimum Range
 
;Minimum Range
:{{{minrange|}}} tiles}}
+
:{{{minrange|}}} tiles
 +
}}
  
{{#if: {{{accuracy|}}}|
+
{{#if: {{{accuracy|}}} |
 
;Accuracy
 
;Accuracy
:{{{accuracy|}}}}}
+
:{{{accuracy|}}}
 +
}}
  
{{#if: {{{accuracyTouch|}}}| {{#Set: Accuracy (Touch) Base = {{{accuracyTouch|}}} }}
+
{{#if: {{{accuracyTouch|}}} |
{{#if: {{{accuracyShort|}}}| {{#Set: Accuracy (Short) Base = {{{accuracyShort|}}} }}
+
  {{#if: {{#var:setProperty}} | {{#set: Accuracy (Touch) Base = {{{accuracyTouch|}}} }} }}
{{#if: {{{accuracyMedium|}}}| {{#Set: Accuracy (Medium) Base = {{{accuracyMedium|}}} }}
+
  {{#if: {{{accuracyShort|}}} |
{{#if: {{{accuracyLong|}}}| {{#Set: Accuracy (Long) Base = {{{accuracyLong|}}} }}
+
    {{#if: {{#var:setProperty}} | {{#set: Accuracy (Short) Base = {{{accuracyShort|}}} }} }}
;{{H:title|link=no|Touch % - Short % - Medium % - Long %|Accuracy}}
+
    {{#if: {{{accuracyMedium|}}} |
 +
      {{#if: {{#var:setProperty}} | {{#set: Accuracy (Medium) Base = {{{accuracyMedium|}}} }} }}
 +
      {{#if: {{{accuracyLong|}}} |
 +
        {{#if: {{#var:setProperty}} | {{#set: Accuracy (Long) Base = {{{accuracyLong|}}} }} }}
 +
;{{Hover title|link=no|Touch % - Short % - Medium % - Long %|Accuracy}}
 
:{{{accuracyTouch|}}}% - {{{accuracyShort|}}}% - {{{accuracyMedium|}}}% - {{{accuracyLong|}}}%
 
:{{{accuracyTouch|}}}% - {{{accuracyShort|}}}% - {{{accuracyMedium|}}}% - {{{accuracyLong|}}}%
 +
}} }} }} }}
 +
 +
{{#if: {{{accuracyAvg|}}} |
 +
;{{Hover title| link=no | Average accuracy of the weapon, taking range into account. | Avg. accuracy }}
 +
:{{{accuracyAvg|}}}%
 
}}
 
}}
}}
 
}}
 
}}
 
 
{{#if: {{{accuracyAvg|}}}|
 
;{{H:title|link=no|Average accuracy of the weapon, taking range into account.|Avg. accuracy}}
 
:{{{accuracyAvg|}}}%}}
 
  
{{#if: {{{velocity|}}}|{{#set:Velocity = {{{velocity|}}} }}
+
{{#if: {{{velocity|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Velocity = {{{velocity|}}} }} }}
 
;Velocity
 
;Velocity
:{{{velocity|}}} (m/s)}}
+
:{{{velocity|}}} (m/s)
 +
}}
  
{{#if: {{{burst|}}}|{{#set:Burst Count = {{{burst|}}} }}
+
{{#if: {{{burst|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Burst Count = {{{burst|}}} }} }}
 
;Burst Count
 
;Burst Count
:{{{burst|}}} (per burst)}}
+
:{{{burst|}}} (per burst)
 +
}}
  
{{#if: {{{burstTicks|}}}|{{#set: Burst Ticks = {{{burstTicks|}}} }}
+
{{#if: {{{burstTicks|}}} |
;{{H:title|link=no|Time between shots in a single burst|Burst Ticks}}
+
  {{#if: {{#var:setProperty}} | {{#set: Burst Ticks = {{{burstTicks|}}} }} }}
:{{ticks|{{{burstTicks|}}}}}<br>({{#expr: 3600/{{{burstTicks|}}} round 2}} {{H:title|link=no|Rounds Per Minute|RPM}}) }}
+
;{{Hover title| link=no | Time between shots in a single burst | Burst Ticks }}
 +
:{{ticks| {{{burstTicks|}}} }}<br>({{#expr: 3600 / {{{burstTicks|}}} round2}} {{Hover title| link=no | Rounds Per Minute | RPM }})
 +
}}
  
{{#if: {{{missRadius|}}}|{{#set:Miss Radius = {{{missRadius|}}} }}
+
{{#if: {{{missRadius|}}} |
;{{H:title|link=no|Missed shots are forced to land within this radius|Miss Radius}}
+
  {{#if: {{#var:setProperty}} | {{#set: Miss Radius = {{{missRadius|}}} }} }}
:{{{missRadius|}}} tile(s)}}
+
;{{Hover title| link=no | Missed shots are forced to land within this radius | Miss Radius }}
 +
:{{{missRadius|}}} tile(s)
 +
}}
  
{{#if: {{{blastRadius|}}}|{{#set:Blast Radius = {{{blastRadius|}}} }}
+
{{#if: {{{blastRadius|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Blast Radius = {{{blastRadius|}}} }} }}
 
;Blast Radius
 
;Blast Radius
:{{{blastRadius|}}}}}
+
:{{{blastRadius|}}}
 +
}}
  
{{#if: {{{DPS|}}}|
+
{{#if: {{{DPS|}}} |
;{{H:title|link=yes|Formatted as: Maximum damage per second (DPS with average accuracy)|DPS}}
+
  {{#vardefine:maximumDPS | {{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} ) / (( {{#if: {{{cooldown|}}} | {{{cooldown|}}} | 1 }} + {{#if: {{{warmup|}}} | {{{warmup|}}} | 0 }} + ( {{#if: {{{burstTicks|}}} | {{{burstTicks|}}} | 1 }} * ( {{#if: {{{burst|}}} | {{{burst|}}}|1}} - 1 ))) / 60))) round2}} }}
:{{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60))) round2 }} {{#if: {{{accuracyTouch|}}}| {{#if: {{{accuracyShort|}}}| {{#if: {{{accuracyMedium|}}}| {{#if: {{{accuracyLong|}}}|({{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60)) * ({{{accuracyAvg|}}} / 100)) round2 }})}}}}}}}}
+
  {{#if: {{#var:setProperty}} | {{#set: Maximum DPS = {{#var:maximumDPS}} }} }}
{{#set:Maximum DPS={{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60))) round2 }}}}
+
  {{#if: {{{accuracyTouch|}}} |
{{#set:Average DPS={{#if: {{{accuracyTouch|}}}| {{#if: {{{accuracyShort|}}}| {{#if: {{{accuracyMedium|}}}| {{#if: {{{accuracyLong|}}}|{{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60)) * ({{{accuracyAvg|}}} / 100)) round 2 }}}}}}}}}}}}
+
    {{#if: {{{accuracyShort|}}} |
 +
      {{#if: {{{accuracyMedium|}}} |
 +
    {{#if: {{{accuracyLong|}}} |
 +
  {{#vardefine:averageDPS | {{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} ) / (( {{#if: {{{cooldown|}}} | {{{cooldown|}}} | 1 }} + {{#if: {{{warmup|}}} | {{{warmup|}}} | 0 }} + ( {{#if: {{{burstTicks|}}} | {{{burstTicks|}}} | 1 }} * ( {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} - 1 ))) / 60)) * ({{{accuracyAvg|}}} / 100)) round2}} }} }} }} }} }}
 +
          {{#if: {{#var:setProperty}} | {{#set: Average DPS = {{#var:maximumDPS}} }} }}
 +
;{{Hover title| link=yes | Formatted as: Maximum damage per second (DPS with average accuracy) | DPS }}
 +
:{{#var:maximumDPS}} {{#if: {{#var:averageDPS}} | ({{#var:averageDPS}}) }}
 
}}
 
}}
  
{{#if: {{{stoppingPower|}}}|{{#set: Stopping Power = {{{stoppingPower|}}} }}
+
{{#if: {{{stoppingPower|}}} |
;{{H:title|link=no|Ability of a weapon to 'stagger' targets, slowing them down for a short while. Larger values allow the weapon to stagger targets with bigger body sizes.|Stopping power}}
+
  {{#if: {{#var:setProperty}} | {{#set: Stopping Power = {{{stoppingPower|}}} }} }}
:{{{stoppingPower|}}}}}
+
;{{Hover title| link=no | Ability of a weapon to 'stagger' targets, slowing them down for a short while. Larger values allow the weapon to stagger targets with bigger body sizes. | Stopping power}}
 +
:{{{stoppingPower|}}}
 +
}}
  
  
Line 852: Line 1,128:
  
 
{{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}|
 
{{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}|
   {{#set:Attack 1 Damage = {{{attack1dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{attack1dmg|}}} }} }}
   {{#set:Attack 1 AP = {{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 1 Type = {{ucfirst:{{{attack1type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{attack1type|}}} }} }} }}
   {{#set:Attack 1 Part = {{{attack1part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{{attack1part|}}} }} }}
   {{#set:Attack 1 Cooldown = {{{attack1cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Cooldown = {{{attack1cool|}}} }} }}
   {{#set:Attack 1 Chance Factor = {{{attack1chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Chance Factor = {{{attack1chancefactor|}}} }} }}
 
   {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool}}}) }} }}
 
   {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool}}}) }} }}
   {{#set: Attack 1 DPS = {{#var: Attack1DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 1 DPS = {{#var: Attack1DPS}} }} }}
 
;Attack{{#if: {{{attack2dmg|}}}|&nbsp;1}}
 
;Attack{{#if: {{{attack2dmg|}}}|&nbsp;1}}
:{{{attack1part|Body part?}}}<br>{{{attack1dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack1type|}}}}}|{{ucfirst:{{{attack1type|type?}}}}}]])<br>{{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack1cool|0}}} second cooldown}}<!--
+
:{{{attack1part|Body part?}}}<br>{{{attack1dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack1type|}}}}}|{{ucfirst:{{{attack1type|type?}}}}}]])<br>{{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack1cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack1stun|}}}|{{#set:Attack 1 Stun = {{{attack1stun|}}}}}<br>Stun for {{ticks|{{{attack1stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack1stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 1 Stun = {{{attack1stun|}}}}} }}<br>Stun for {{ticks|{{{attack1stun|0}}}*20}} on first strike}}
  
 
{{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}|
 
{{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}|
   {{#set:Attack 2 Damage = {{{attack2dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{attack2dmg|}}} }} }}
   {{#set:Attack 2 AP = {{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 2 Type = {{ucfirst:{{{attack2type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{attack2type|}}} }} }} }}
   {{#set:Attack 2 Part = {{{attack2part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{{attack2part|}}} }} }}
   {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }} }}
   {{#set:Attack 2 Chance Factor = {{{attack2chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Chance Factor = {{{attack2chancefactor|}}} }} }}
 
   {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool}}}) }} }}
 
   {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool}}}) }} }}
   {{#set: Attack 2 DPS = {{#var: Attack2DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 2 DPS = {{#var: Attack2DPS}} }} }}
 
;Attack 2
 
;Attack 2
:{{{attack2part|Body part?}}}<br>{{{attack2dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack2type|}}}}}|{{ucfirst:{{{attack2type|type?}}}}}]])<br>{{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack2cool|0}}} second cooldown}}<!--
+
:{{{attack2part|Body part?}}}<br>{{{attack2dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack2type|}}}}}|{{ucfirst:{{{attack2type|type?}}}}}]])<br>{{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack2cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack2stun|}}}|{{#set:Attack 2 Stun = {{{attack2stun|}}}}}<br>Stun for {{ticks|{{{attack2stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack2stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 2 Stun = {{{attack2stun|}}}}} }}<br>Stun for {{ticks|{{{attack2stun|0}}}*20}} on first strike}}
  
 
{{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}|
 
{{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}|
   {{#set:Attack 3 Damage = {{{attack3dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{attack3dmg|}}} }} }}
   {{#set:Attack 3 AP = {{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 3 Type = {{ucfirst:{{{attack3type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{attack3type|}}} }} }} }}
   {{#set:Attack 3 Part = {{{attack3part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{{attack3part|}}} }} }}
   {{#set:Attack 3 Cooldown = {{{attack3cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Cooldown = {{{attack3cool|}}} }} }}
   {{#set:Attack 3 Chance Factor = {{{attack3chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Chance Factor = {{{attack3chancefactor|}}} }} }}
 
   {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool}}}) }} }}
 
   {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool}}}) }} }}
   {{#set: Attack 3 DPS = {{#var: Attack3DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 3 DPS = {{#var: Attack3DPS}} }} }}
 
;Attack 3
 
;Attack 3
:{{{attack3part|Body part?}}}<br>{{{attack3dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack3type|}}}}}|{{ucfirst:{{{attack3type|type?}}}}}]])<br>{{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack3cool|0}}} second cooldown}}<!--
+
:{{{attack3part|Body part?}}}<br>{{{attack3dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack3type|}}}}}|{{ucfirst:{{{attack3type|type?}}}}}]])<br>{{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack3cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack3stun|}}}|{{#set:Attack 3 Stun = {{{attack3stun|}}}}}<br>Stun for {{ticks|{{{attack3stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack3stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 3 Stun = {{{attack3stun|}}}}} }}<br>Stun for {{ticks|{{{attack3stun|0}}}*20}} on first strike}}
  
 
{{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}|
 
{{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}|
   {{#set:Attack 4 Damage = {{{attack4dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{attack4dmg|}}} }} }}
   {{#set:Attack 4 AP = {{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 4 Type = {{ucfirst:{{{attack4type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{attack4type|}}} }} }} }}
   {{#set:Attack 4 Part = {{{attack4part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{{attack4part|}}} }} }}
   {{#set:Attack 4 Cooldown = {{{attack4cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Cooldown = {{{attack4cool|}}} }} }}
   {{#set:Attack 4 Chance Factor = {{{attack4chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Chance Factor = {{{attack4chancefactor|}}} }} }}
 
   {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool}}}) }} }}
 
   {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool}}}) }} }}
   {{#set: Attack 4 DPS = {{#var: Attack4DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 4 DPS = {{#var: Attack4DPS}} }} }}
 
;Attack 4
 
;Attack 4
:{{{attack4part|Body part?}}}<br>{{{attack4dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack4type|}}}}}|{{ucfirst:{{{attack4type|type?}}}}}]])<br>{{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack4cool|0}}} second cooldown}}<!--
+
:{{{attack4part|Body part?}}}<br>{{{attack4dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack4type|}}}}}|{{ucfirst:{{{attack4type|type?}}}}}]])<br>{{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack4cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack4stun|}}}|{{#set:Attack 4 Stun = {{{attack4stun|}}}}}<br>Stun for {{ticks|{{{attack4stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack4stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 4 Stun = {{{attack4stun|}}}}} }}<br>Stun for {{ticks|{{{attack4stun|0}}}*20}} on first strike}}
  
 
{{#if: {{{attack5dmg|}}}{{{attack5type|}}}{{{attack5part|}}}{{{attack5cool|}}}|
 
{{#if: {{{attack5dmg|}}}{{{attack5type|}}}{{{attack5part|}}}{{{attack5cool|}}}|
   {{#set:Attack 5 Damage = {{{attack5dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 Damage = {{{attack5dmg|}}} }} }}
   {{#set:Attack 5 AP = {{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 AP = {{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 5 Type = {{ucfirst:{{{attack5type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 Type = {{ucfirst:{{{attack5type|}}} }} }} }}
   {{#set:Attack 5 Part = {{{attack5part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 Part = {{{attack5part|}}} }} }}
   {{#set:Attack 5 Cooldown = {{{attack5cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 Cooldown = {{{attack5cool|}}} }} }}
   {{#set:Attack 5 Chance Factor = {{{attack5chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 5 Chance Factor = {{{attack5chancefactor|}}} }} }}
 
   {{#vardefine: Attack5DPS | {{#expr: {{{attack5dmg|}}} / ({{{attack5cool}}}) }} }}
 
   {{#vardefine: Attack5DPS | {{#expr: {{{attack5dmg|}}} / ({{{attack5cool}}}) }} }}
   {{#set: Attack 5 DPS = {{#var: Attack5DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 5 DPS = {{#var: Attack5DPS}} }} }}
 
;Attack 5
 
;Attack 5
:{{{attack5part|Body part?}}}<br>{{{attack5dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack5type|}}}}}|{{ucfirst:{{{attack5type|type?}}}}}]])<br>{{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack5cool|0}}} second cooldown}}<!--
+
:{{{attack5part|Body part?}}}<br>{{{attack5dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack5type|}}}}}|{{ucfirst:{{{attack5type|type?}}}}}]])<br>{{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack5cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack5stun|}}}|{{#set:Attack 5 Stun = {{{attack5stun|}}}}}<br>Stun for {{ticks|{{{attack5stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack5stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 5 Stun = {{{attack5stun|}}}}} }}<br>Stun for {{ticks|{{{attack5stun|0}}}*20}} on first strike}}
  
 
{{#if: {{{attack6dmg|}}}{{{attack6type|}}}{{{attack6part|}}}{{{attack6cool|}}}|
 
{{#if: {{{attack6dmg|}}}{{{attack6type|}}}{{{attack6part|}}}{{{attack6cool|}}}|
   {{#set:Attack 6 Damage = {{{attack6dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 Damage = {{{attack6dmg|}}} }} }}
   {{#set:Attack 6 AP = {{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 AP = {{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}} }}} }} }}
   {{#set:Attack 6 Type = {{ucfirst:{{{attack6type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 Type = {{ucfirst:{{{attack6type|}}} }} }} }}
   {{#set:Attack 6 Part = {{{attack6part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 Part = {{{attack6part|}}} }} }}
   {{#set:Attack 6 Cooldown = {{{attack6cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 Cooldown = {{{attack6cool|}}} }} }}
   {{#set:Attack 6 Chance Factor = {{{attack6chancefactor|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 6 Chance Factor = {{{attack6chancefactor|}}} }} }}
 
   {{#vardefine: Attack6DPS | {{#expr: {{{attack6dmg|}}} / ({{{attack6cool}}}) }} }}
 
   {{#vardefine: Attack6DPS | {{#expr: {{{attack6dmg|}}} / ({{{attack6cool}}}) }} }}
   {{#set: Attack 6 DPS = {{#var: Attack6DPS}} }}
+
   {{#if: {{#var:setProperty}} | {{#set: Attack 6 DPS = {{#var: Attack6DPS}} }} }}
 
;Attack 6
 
;Attack 6
:{{{attack6part|Body part?}}}<br>{{{attack6dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack6type|}}}}}|{{ucfirst:{{{attack6type|type?}}}}}]])<br>{{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}}}}}% AP<br>{{{attack6cool|0}}} second cooldown}}<!--
+
:{{{attack6part|Body part?}}}<br>{{{attack6dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack6type|}}}}}|{{ucfirst:{{{attack6type|type?}}}}}]])<br>{{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}}}}}% {{AP}}<br>{{{attack6cool|0}}} second cooldown}}<!--
-->{{#if: {{{attack6stun|}}}|{{#set:Attack 6 Stun = {{{attack6stun|}}}}}<br>Stun for {{ticks|{{{attack6stun|0}}}*20}} on first strike}}
+
-->{{#if: {{{attack6stun|}}}|{{#if: {{#var:setProperty}} | {{#set:Attack 6 Stun = {{{attack6stun|}}}}} }}<br>Stun for {{ticks|{{{attack6stun|0}}}*20}} on first strike}}
  
  
Line 943: Line 1,219:
 
         {{#vardefine: MobAverageDPS | {{#expr: {{#var: Attack1DPS}} * 0.62 round 2}} }} }} }} }} }} }} }}
 
         {{#vardefine: MobAverageDPS | {{#expr: {{#var: Attack1DPS}} * 0.62 round 2}} }} }} }} }} }} }} }}
  
{{#ifeq: {{#varexists: MobAverageDPS}}|1|
+
{{#ifeq: {{#varexists: MobAverageDPS}} | 1 |
;Average DPS
+
  {{#if: {{#var:setProperty}} | {{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
 +
;Average {{DPS}}
 
:{{#var: MobAverageDPS}}
 
:{{#var: MobAverageDPS}}
{{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
+
}}
  
{{#if: {{{mobdamage|}}}|{{#set:Melee Damage Base = {{{mobdamage|}}} }}
+
{{#if: {{{mobdamage|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage|}}} }} }}
 
;Damage
 
;Damage
:{{{mobdamage|}}}}}
+
:{{{mobdamage|}}}
 +
}}
  
{{#if: {{{mobdamagetype|}}}|{{#set:Melee Damage Def = {{{mobdamagetype|}}} }}
+
{{#if: {{{mobdamagetype|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype|}}} }} }}
 
;Damage Type
 
;Damage Type
:{{{mobdamagetype|}}}}}
+
:{{{mobdamagetype|}}}
 +
}}
  
{{#if: {{{mobdamage2|}}}|{{#set:Melee Damage Base = {{{mobdamage2|}}} }}
+
{{#if: {{{mobdamage2|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage2|}}} }} }}
 
;Damage
 
;Damage
:{{{mobdamage2|}}}}}
+
:{{{mobdamage2|}}}
 +
}}
  
{{#if: {{{mobdamagetype2|}}}|{{#set:Melee Damage Def = {{{mobdamagetype2|}}} }}
+
{{#if: {{{mobdamagetype2|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype2|}}} }} }}
 
;Damage Type
 
;Damage Type
:{{{mobdamagetype2|}}}}}
+
:{{{mobdamagetype2|}}}
 +
}}
  
{{#if: {{{mobdamage3|}}}|{{#set:Melee Damage Base = {{{mobdamage3|}}} }}
+
{{#if: {{{mobdamage3|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage3|}}} }} }}
 
;Damage
 
;Damage
:{{{mobdamage3|}}}}}
+
:{{{mobdamage3|}}}
 +
}}
  
{{#if: {{{mobdamagetype3|}}}|{{#set:Melee Damage Def = {{{mobdamagetype3|}}} }}
+
{{#if: {{{mobdamagetype3|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype3|}}} }} }}
 
;Damage Type
 
;Damage Type
:{{{mobdamagetype3|}}}}}
+
:{{{mobdamagetype3|}}}
 +
}}
  
{{#if: {{{mobdamageaverage|}}}|{{#set:Average Melee Damage = {{{mobdamageaverage|}}}}}}}
+
{{#if: {{{mobdamageaverage|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Average Melee Damage = {{{mobdamageaverage|}}} }} }}
 +
}}
  
 
<!-- New melee starting from Beta 18 -->
 
<!-- New melee starting from Beta 18 -->
{{#ifeq: {{lc:{{{mode|}}}}} | melee | {{#set:Mode = {{{mode|}}} }}  
+
{{#ifeq: {{lc:{{{mode|}}}}} | melee |
 +
  {{#if: {{#var:setProperty}} | {{#set:Mode = {{{mode|}}} }} }}
 
;Mode
 
;Mode
 
:{{{mode|}}}
 
:{{{mode|}}}
Line 981: Line 1,273:
  
 
{{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}}|
 
{{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}}|
   {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }} }}
   {{#set:Attack 1 Type = {{ucfirst:{{{meleeattack1type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{meleeattack1type|}}} }} }} }}
   {{#set:Attack 1 Part = {{{meleeattack1part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{{meleeattack1part|}}} }} }}
   {{#set:Attack 1 Cooldown = {{{meleeattack1cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Cooldown = {{{meleeattack1cool|}}} }} }}
   {{#set:Attack 1 AP = {{{meleeattack1ap|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{{meleeattack1ap|}}} }} }}
 
   {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }}
 
   {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }}
 
   {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }}
Line 992: Line 1,284:
  
 
{{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}}|
 
{{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}}|
   {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }} }}
   {{#set:Attack 2 Type = {{ucfirst:{{{meleeattack2type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{meleeattack2type|}}} }} }} }}
   {{#set:Attack 2 Part = {{{meleeattack2part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{{meleeattack2part|}}} }} }}
   {{#set:Attack 2 Cooldown = {{{meleeattack2cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{meleeattack2cool|}}} }} }}
   {{#set:Attack 2 AP = {{{meleeattack2ap|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{{meleeattack2ap|}}} }} }}
 
   {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }}
 
   {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }}
 
   {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }}
Line 1,003: Line 1,295:
  
 
{{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}}|
 
{{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}}|
   {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }} }}
   {{#set:Attack 3 Type = {{ucfirst:{{{meleeattack3type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{meleeattack3type|}}} }} }} }}
   {{#set:Attack 3 Part = {{{meleeattack3part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{{meleeattack3part|}}} }} }}
   {{#set:Attack 3 Cooldown = {{{meleeattack3cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Cooldown = {{{meleeattack3cool|}}} }} }}
   {{#set:Attack 3 AP = {{{meleeattack3ap|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{{meleeattack3ap|}}} }} }}
 
   {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }}
 
   {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }}
 
   {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }}
Line 1,014: Line 1,306:
  
 
{{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}}|
 
{{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}}|
   {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }} }}
   {{#set:Attack 4 Type = {{ucfirst:{{{meleeattack4type|}}}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{meleeattack4type|}}} }} }} }}
   {{#set:Attack 4 Part = {{{meleeattack4part|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{{meleeattack4part|}}} }} }}
   {{#set:Attack 4 Cooldown = {{{meleeattack4cool|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Cooldown = {{{meleeattack4cool|}}} }} }}
   {{#set:Attack 4 AP = {{{meleeattack4ap|}}} }}
+
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{{meleeattack4ap|}}} }} }}
 
   {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }}
 
   {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }}
 
   {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }}
Line 1,025: Line 1,317:
  
  
{{#if: {{{MeleeWeaponAverageDPS|}}}|{{#set:MeleeDPS= {{{MeleeWeaponAverageDPS|}}} }}
+
{{#if: {{{MeleeWeaponAverageDPS|}}} |
;Melee Average DPS
+
  {{#if: {{#var:setProperty}} | {{#set: MeleeDPS = {{{MeleeWeaponAverageDPS|}}} }} }}
:{{{MeleeWeaponAverageDPS|}}} }}
+
;Melee Average {{DPS}}
 +
:{{{MeleeWeaponAverageDPS|}}}
 +
}}
  
{{#if: {{{MeleeWeaponAverageAP|}}}|{{#set:MeleeAP= {{{MeleeWeaponAverageAP|}}} }}
+
{{#if: {{{MeleeWeaponAverageAP|}}} |
;Melee Average AP
+
  {{#if: {{#var:setProperty}} | {{#set: MeleeAP = {{{MeleeWeaponAverageAP|}}} }} }}
:{{{MeleeWeaponAverageAP|}}}%}}
+
;Melee Average {{AP}}
 +
:{{{MeleeWeaponAverageAP|}}}%
 +
}}
  
  
<!-- was supposed to calculate stuff but then decided it's just better to use the value provided by the game  
+
<!-- was supposed to calculate stuff but then decided it's just better to use the value provided by the game
  
 
{{#ifeq: {{#varexists: MeleeAttack3Chance}}|1|
 
{{#ifeq: {{#varexists: MeleeAttack3Chance}}|1|
Line 1,048: Line 1,344:
 
       {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var: MeleeAttack1DPS}} * {{#var: MeleeAttack1Chance}} + {{#var: meleeattack2dmg}} * {{#var: MeleeAttack2Chance}} ) / {{#var: TotalChance}} }} }}|
 
       {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var: MeleeAttack1DPS}} * {{#var: MeleeAttack1Chance}} + {{#var: meleeattack2dmg}} * {{#var: MeleeAttack2Chance}} ) / {{#var: TotalChance}} }} }}|
 
       {{#ifeq: {{#varexists: MeleeAttack1DPS}}|1|
 
       {{#ifeq: {{#varexists: MeleeAttack1DPS}}|1|
         {{#vardefine: MeleeWeaponAverageDPS | {{#expr: {{#var: MeleeAttack1DPS}} }} }} }} }} }}  
+
         {{#vardefine: MeleeWeaponAverageDPS | {{#expr: {{#var: MeleeAttack1DPS}} }} }} }} }} }}
  
 
  ---------- Line to separate the mess above from the other stuff below ---------- -->
 
  ---------- Line to separate the mess above from the other stuff below ---------- -->
  
 
<!--- Creation --->
 
<!--- Creation --->
{{#IF: {{{research|}}} {{{production facility 1|}}} {{{work to make|}}} {{{resources to make|}}} {{{stuff tags|}}} {{{deconstruct yield|}}} {{{resource 1|}}} {{{resource 2|}}}{{{resource 3|}}} {{{resource 4|}}} {{{resource 5|}}} {{{resource 6|}}} {{{resource 1 amount|}}} {{{resource 2 amount|}}} {{{resource 3 amount|}}} {{{resource 4 amount|}}} {{{resource 5 amount|}}} {{{resource 6 amount|}}} {{{product amount|}}} |
+
{{#if: {{{research|}}} {{{production facility 1|}}} {{{work to make|}}} {{{resources to make|}}} {{{stuff tags|}}} {{{deconstruct yield|}}} {{{resource 1|}}} {{{resource 2|}}}{{{resource 3|}}} {{{resource 4|}}} {{{resource 5|}}} {{{resource 6|}}} {{{resource 1 amount|}}} {{{resource 2 amount|}}} {{{resource 3 amount|}}} {{{resource 4 amount|}}} {{{resource 5 amount|}}} {{{resource 6 amount|}}} {{{product amount|}}} |
 
</dl>{{clear}}
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Creation'''</p>
 
<p class='subheading' style='height: 1.75em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>'''Creation'''</p>
Line 1,059: Line 1,355:
 
}}
 
}}
  
{{#if: {{{production facility 1|}}}|{{#set:Production Facility 1= {{{production facility 1|}}} }}}}
+
{{#if: {{{production facility 1|}}}|{{#if: {{#var:setProperty}} | {{#set: Production Facility 1 = {{{production facility 1|}}} }} }} }}
{{#if: {{{production facility 2|}}}|{{#set:Production Facility 2= {{{production facility 2|}}} }}}}
+
{{#if: {{{production facility 2|}}}|{{#if: {{#var:setProperty}} | {{#set: Production Facility 2 = {{{production facility 2|}}} }} }} }}
{{#if: {{{production facility 3|}}}|{{#set:Production Facility 3= {{{production facility 3|}}} }}}}
+
{{#if: {{{production facility 3|}}}|{{#if: {{#var:setProperty}} | {{#set: Production Facility 3 = {{{production facility 3|}}} }} }} }}
{{#if: {{{production facility 4|}}}|{{#set:Production Facility 4= {{{production facility 4|}}} }}}}
+
{{#if: {{{production facility 4|}}}|{{#if: {{#var:setProperty}} | {{#set: Production Facility 4 = {{{production facility 4|}}} }} }} }}
 
{{#if: {{{production facility 1|}}}|
 
{{#if: {{{production facility 1|}}}|
 
;Crafted At
 
;Crafted At
:{{#if:{{{production facility 1|}}}|{{Icon Small|{{{production facility 1|}}}|{{#ifeq:{{lc:{{{production facility 1|}}}}}|crafting spot|16|32}}}}}}{{#if:{{{production facility 2|}}}|/{{Icon Small|{{{production facility 2|}}}|{{#ifeq:{{lc:{{{production facility 2|}}}}}|crafting spot|16|32}}}}}}{{#if:{{{production facility 3|}}}|/{{Icon Small|{{{production facility 3|}}}|{{#ifeq:{{lc:{{{production facility 3|}}}}}|crafting spot|16|32}}}}}}{{#if:{{{production facility 4|}}}|/{{Icon Small|{{{production facility 4|}}}|{{#ifeq:{{lc:{{{production facility 4|}}}}}|crafting spot|16|32}}}}}}
+
:{{#if:{{{production facility 1|}}}|{{Icon Small|{{{production facility 1|}}}|{{#switch:{{lc:{{{production facility 1|}}}}}|crafting spot|campfire|fermenting barrel=16|#default=32}}}}}}{{#if:{{{production facility 2|}}}|/{{Icon Small|{{{production facility 2|}}}|{{#switch:{{lc:{{{production facility 2|}}}}}|crafting spot|campfire|fermenting barrel=16|#default=32}}}}}}{{#if:{{{production facility 3|}}}|/{{Icon Small|{{{production facility 3|}}}|{{#switch:{{lc:{{{production facility 3|}}}}}|crafting spot|campfire|fermenting barrel=16|#default=32}}}}}}{{#if:{{{production facility 4|}}}|/{{Icon Small|{{{production facility 4|}}}|{{#switch:{{lc:{{{production facility 4|}}}}}|crafting spot|campfire|fermenting barrel=16|#default=32}}}}}}
 
}}
 
}}
  
{{#if: {{{research|}}}|{{#set:
+
{{#if: {{{research|}}}| {{#vardefine: research1|{{ucfirst:{{#explode:{{{research|}}}|,|0}} }} }} {{#vardefine: research2|{{ucfirst:{{#explode:{{{research|}}}|,|1}} }} }} {{#vardefine: research3|{{ucfirst:{{#explode:{{{research|}}}|,|2}} }} }} {{#vardefine: research4|{{ucfirst:{{#explode:{{{research|}}}|,|3}} }} }} {{#vardefine: research5|{{ucfirst:{{#explode:{{{research|}}}|,|4}} }} }}
Required Research = {{#vardefineecho: research1|{{ucfirst:{{#explode:{{{research|}}}|,|0}} }} }}
+
{{#if: {{#var:setProperty}} | {{#set:
|Required Research = {{#vardefineecho: research2|{{ucfirst:{{#explode:{{{research|}}}|,|1}} }} }}
+
Required Research = {{#var: research1}}
|Required Research = {{#vardefineecho: research3|{{ucfirst:{{#explode:{{{research|}}}|,|2}} }} }}
+
|Required Research = {{#var: research2}}
|Required Research = {{#vardefineecho: research4|{{ucfirst:{{#explode:{{{research|}}}|,|3}} }} }}
+
|Required Research = {{#var: research3}}
|Required Research = {{#vardefineecho: research5|{{ucfirst:{{#explode:{{{research|}}}|,|4}} }} }}
+
|Required Research = {{#var: research4}}
}}
+
|Required Research = {{#var: research5}}
 +
}} }}
 
;Required Research
 
;Required Research
:[[Research#{{#var: research1}}|{{#var: research1}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research1}}}} }} | {{Icon Small|Techprint|16}}}}<!--
+
:[[Research#{{#var: research1}}|{{#var: research1}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,jump packs,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research1}}}} }} | {{Icon Small|Techprint|16}}}}<!--
  
-->{{#if:{{#var: research2}}|, [[Research#{{#var: research2}}|{{#var: research2}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research2}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
+
-->{{#if:{{#var: research2}}|, [[Research#{{#var: research2}}|{{#var: research2}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,jump packs,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research2}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
  
-->{{#if:{{#var: research3}}|, [[Research#{{#var: research3}}|{{#var: research3}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research3}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
+
-->{{#if:{{#var: research3}}|, [[Research#{{#var: research3}}|{{#var: research3}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,jump packs,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research3}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
  
-->{{#if:{{#var: research4}}|, [[Research#{{#var: research4}}|{{#var: research4}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research4}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
+
-->{{#if:{{#var: research4}}|, [[Research#{{#var: research4}}|{{#var: research4}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,jump packs,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research4}}}} }} | {{Icon Small|Techprint|16}}}} }}<!--
  
-->{{#if:{{#var: research5}}|, [[Research#{{#var: research5}}|{{#var: research5}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research5}}}} }} | {{Icon Small|Techprint|16}}}} }}
+
-->{{#if:{{#var: research5}}|, [[Research#{{#var: research5}}|{{#var: research5}}]] {{#if: {{#pos:artificial metabolism,brain wiring,cataphract armor,circadian influence,compact weaponry,flesh shaping,healing factors,jump packs,molecular analysis,neural computation,poison synthesis,specialized limbs,skin hardening |{{lc:{{#var: research5}}}} }} | {{Icon Small|Techprint|16}}}} }}
 
}}
 
}}
  
{{#if: {{{skill 1|}}}|{{#set:Skill 1 = {{{skill 1|}}} }}}}
+
{{#if: {{{skill 1|}}}|{{#if: {{#var:setProperty}} | {{#set:Skill 1 = {{ucfirst:{{{skill 1|}}}}} }} }}}}
{{#if: {{{skill 2|}}}|{{#set:Skill 2 = {{{skill 2|}}} }}}}
+
{{#if: {{{skill 2|}}}|{{#if: {{#var:setProperty}} | {{#set:Skill 2 = {{ucfirst:{{{skill 2|}}}}} }} }}}}
{{#if: {{{skill 1 level|}}}|{{#set:Skill 1 Level = {{{skill 1 level|}}} }}}}
+
{{#if: {{{skill 1 level|}}}|{{#if: {{#var:setProperty}} | {{#set:Skill 1 Level = {{{skill 1 level|}}} }} }}}}
{{#if: {{{skill 2 level|}}}|{{#set:Skill 2 Level = {{{skill 2 level|}}} }}}}
+
{{#if: {{{skill 2 level|}}}|{{#if: {{#var:setProperty}} | {{#set:Skill 2 Level = {{{skill 2 level|}}} }} }}}}
  
{{#if: {{{skill 1|}}}|
+
{{#if: {{{skill 1|}}} |
 
;Skill{{#if:{{{skill 2|}}}|s}} Required
 
;Skill{{#if:{{{skill 2|}}}|s}} Required
:[[Skills#{{{skill 1|}}}|{{{skill 1|}}}]] {{{skill 1 level|}}} {{#if: {{{skill 2|}}}|& [[Skills#{{{skill 2|}}}|{{{skill 2|}}}]] {{{skill 2 level|}}} }}
+
:[[Skills#{{ucfirst:{{{skill 1|}}}}}|{{ucfirst:{{{skill 1|}}}}}]] {{{skill 1 level|}}} {{#if: {{{skill 2|}}}|& [[Skills#{{ucfirst:{{{skill 2|}}}}}|{{ucfirst:{{{skill 2|}}}}}]] {{{skill 2 level|}}} }}
 
}}
 
}}
  
 
<!-- Work to make should be specified in *ticks*, like in the game files. This has been inconsistent in the past -->
 
<!-- Work to make should be specified in *ticks*, like in the game files. This has been inconsistent in the past -->
{{#if: {{{work to make|}}}|{{#set:Work To Make = {{{work to make|}}} }}
+
{{#if: {{{work to make|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set:Work To Make = {{{work to make|}}} }} }}
 
;Work To Make
 
;Work To Make
:{{ticks|{{{work to make|}}}}}
+
:{{ticks| {{{work to make|}}} }}
 
}}
 
}}
  
{{#if: {{{resources to make|}}}|
+
{{#if: {{{stuff tags|}}} |
;Resources To Make
+
  {{#if: {{#var:setProperty}} | {{#set:Stuff Tags = {{{stuff tags}}}}} }}
:{{{resources to make|}}} [[Category:Resource Update Needed]]
+
;{{Hover title|link=no|The types of resource that can be substituted for the generic resource type|Stuff tags}}
}}
 
 
 
{{#if: {{{stuff tags|}}}|{{#set:Stuff Tags = {{{stuff tags}}}}}
 
;{{H:title|link=no|The types of resource that can be substituted for the generic resource type|Stuff tags}}
 
 
:{{{stuff tags|}}}
 
:{{{stuff tags|}}}
 
}}
 
}}
  
{{#if: {{{resource 1|}}}|{{#set:Resource 1 = {{{resource 1|}}} }}}}
+
{{#if: {{{resource 1|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 1 = {{{resource 1|}}} }} }} }}
{{#if: {{{resource 2|}}}|{{#set:Resource 2 = {{{resource 2|}}} }}}}
+
{{#if: {{{resource 2|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 2 = {{{resource 2|}}} }} }} }}
{{#if: {{{resource 3|}}}|{{#set:Resource 3 = {{{resource 3|}}} }}}}
+
{{#if: {{{resource 3|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 3 = {{{resource 3|}}} }} }} }}
{{#if: {{{resource 4|}}}|{{#set:Resource 4 = {{{resource 4|}}} }}}}
+
{{#if: {{{resource 4|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 4 = {{{resource 4|}}} }} }} }}
{{#if: {{{resource 5|}}}|{{#set:Resource 5 = {{{resource 5|}}} }}}}
+
{{#if: {{{resource 5|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 5 = {{{resource 5|}}} }} }} }}
{{#if: {{{resource 6|}}}|{{#set:Resource 6 = {{{resource 6|}}} }}}}
+
{{#if: {{{resource 6|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 6 = {{{resource 6|}}} }} }} }}
{{#if: {{{resource 1 amount|}}}|{{#set:Resource 1 Amount = {{{resource 1 amount|}}} }}}}
+
{{#if: {{{resource 1 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 1 Type = {{{resource 1 type|}}} }} }} }}
{{#if: {{{resource 2 amount|}}}|{{#set:Resource 2 Amount = {{{resource 2 amount|}}} }}}}
+
{{#if: {{{resource 2 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 2 Type = {{{resource 2 type|}}} }} }} }}
{{#if: {{{resource 3 amount|}}}|{{#set:Resource 3 Amount = {{{resource 3 amount|}}} }}}}
+
{{#if: {{{resource 3 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 3 Type = {{{resource 3 type|}}} }} }} }}
{{#if: {{{resource 4 amount|}}}|{{#set:Resource 4 Amount = {{{resource 4 amount|}}} }}}}
+
{{#if: {{{resource 4 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 4 Type = {{{resource 4 type|}}} }} }} }}
{{#if: {{{resource 5 amount|}}}|{{#set:Resource 5 Amount = {{{resource 5 amount|}}} }}}}
+
{{#if: {{{resource 5 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 5 Type = {{{resource 5 type|}}} }} }} }}
{{#if: {{{resource 6 amount|}}}|{{#set:Resource 6 Amount = {{{resource 6 amount|}}} }}}}
+
{{#if: {{{resource 6 type|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 6 Type = {{{resource 6 type|}}} }} }} }}
 +
{{#if: {{{resource 1 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 1 Amount = {{{resource 1 amount|}}} }} }} }}
 +
{{#if: {{{resource 2 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 2 Amount = {{{resource 2 amount|}}} }} }} }}
 +
{{#if: {{{resource 3 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 3 Amount = {{{resource 3 amount|}}} }} }} }}
 +
{{#if: {{{resource 4 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 4 Amount = {{{resource 4 amount|}}} }} }} }}
 +
{{#if: {{{resource 5 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 5 Amount = {{{resource 5 amount|}}} }} }} }}
 +
{{#if: {{{resource 6 amount|}}}|{{#if: {{#var:setProperty}} | {{#set:Resource 6 Amount = {{{resource 6 amount|}}} }} }} }}
  
 
{{#if: {{{resource 1|}}}|<!--{{#ifeq: {{lc:{{{placeable|}}}}}|false||-->
 
{{#if: {{{resource 1|}}}|<!--{{#ifeq: {{lc:{{{placeable|}}}}}|false||-->
 
;Resources to make
 
;Resources to make
:{{Icon Small|{{{resource 1|}}}|16}} {{{resource 1 amount|}}} {{#if: {{{resource 2|}}}| + {{Icon Small|{{{resource 2|}}}|16}} {{{resource 2 amount|}}}|}} {{#if: {{{resource 3|}}}| + {{Icon Small|{{{resource 3|}}}|16}} {{{resource 3 amount|}}}|}} {{#if: {{{resource 4|}}}| + {{Icon Small|{{{resource 4|}}}|16}} {{{resource 4 amount|}}}|}} {{#if: {{{resource 5|}}}| + {{Icon Small|{{{resource 5|}}}|16}} {{{resource 5 amount|}}}|}} {{#if: {{{resource 6|}}}| + {{Icon Small|{{{resource 6|}}}|16}} {{{resource 6 amount|}}}|}}
+
:{{#ifeq: {{{resource 1|}}}|Nutrition|{{{resource 1 amount|}}} [[{{{resource 1|}}}]] ({{{resource 1 type|}}})|{{Icon Small|{{{resource 1|}}}|16}} {{{resource 1 amount|}}}}} {{#if: {{{resource 2|}}}| + {{#ifeq: {{{resource 2|}}}|Nutrition|{{{resource 2 amount|}}} [[{{{resource 2|}}}]] ({{{resource 2 type|}}})|{{Icon Small|{{{resource 2|}}}|16}} {{{resource 2 amount|}}}}}}} {{#if: {{{resource 3|}}}| + {{Icon Small|{{{resource 3|}}}|16}} {{{resource 3 amount|}}}|}} {{#if: {{{resource 4|}}}| + {{Icon Small|{{{resource 4|}}}|16}} {{{resource 4 amount|}}}|}} {{#if: {{{resource 5|}}}| + {{Icon Small|{{{resource 5|}}}|16}} {{{resource 5 amount|}}}|}} {{#if: {{{resource 6|}}}| + {{Icon Small|{{{resource 6|}}}|16}} {{{resource 6 amount|}}}|}}
 
<!--|}}-->
 
<!--|}}-->
  
 
<!---If resource 1 is set to stuff, but theres no stuff tags, make note of it--->
 
<!---If resource 1 is set to stuff, but theres no stuff tags, make note of it--->
 
{{#ifeq: Stuff | {{{resource 1|}}} | {{#if: {{{stuff tags|}}}| |
 
{{#ifeq: Stuff | {{{resource 1|}}} | {{#if: {{{stuff tags|}}}| |
;{{H:title|link=no|The types of resource that can be substituted for the generic resource type|Stuff tags}}
+
;{{Hover title|link=no|The types of resource that can be substituted for the generic resource type|Stuff tags}}
 
:<span style="color:red">'''ERROR: NO STUFF TAGS'''</span>
 
:<span style="color:red">'''ERROR: NO STUFF TAGS'''</span>
 
}}
 
}}
Line 1,139: Line 1,439:
 
}}
 
}}
  
{{#if: {{{product amount|}}}|{{#set:Product Amount = {{{product amount|}}}}}
+
{{#if: {{{product amount|}}} |
;{{H:title|link=no|The amount of this item produced from the required resources|Product Amount}}
+
  {{#if: {{#var:setProperty}} | {{#set:Product Amount = {{{product amount|}}} }} }}
:{{Icon Small|{{#var:Name}}|16}} {{{product amount|}}}
+
;{{Hover title|link=no|The amount of this item produced from the required resources|Product Amount}}
 +
:{{Icon Small| {{#var:Name}} | 16 }} {{{product amount|}}}
 
}}
 
}}
  
 
{{#if: {{{deconstruct yield|}}}|
 
{{#if: {{{deconstruct yield|}}}|
;{{H:title|link=no|Resources recovered when deconstructing.|Deconstruct yield}}
+
;{{Hover title| link=no | Resources recovered when deconstructing. | Deconstruct yield }}
 
:{{{deconstruct yield|}}}|
 
:{{{deconstruct yield|}}}|
 
<!-- if resource 1 != None and type = Building and deconstructable != false and deconstructyieldfraction|0.5 > 0 NON-EXCLUSIVE OR if deconstruct yield fraction set above 0 manually OR set to deconstructable true
 
<!-- if resource 1 != None and type = Building and deconstructable != false and deconstructyieldfraction|0.5 > 0 NON-EXCLUSIVE OR if deconstruct yield fraction set above 0 manually OR set to deconstructable true
 
-->{{#ifexpr:{{#if: {{{resource 1|}}}|1|0}}*{{#ifeq:{{{type|}}}|Building|1|0}}*{{#ifeq:{{lc:{{{deconstructable|}}}}}|false|0|1}}*{{#ifexpr: {{{deconstructyieldfraction|0.5}}} > 0|1|0}} + {{#ifexpr: {{{deconstructyieldfraction|-1}}} > 0|1|0}} + {{#ifeq:{{lc:{{{deconstructable|}}}}}|true|1|0}} > 0|
 
-->{{#ifexpr:{{#if: {{{resource 1|}}}|1|0}}*{{#ifeq:{{{type|}}}|Building|1|0}}*{{#ifeq:{{lc:{{{deconstructable|}}}}}|false|0|1}}*{{#ifexpr: {{{deconstructyieldfraction|0.5}}} > 0|1|0}} + {{#ifexpr: {{{deconstructyieldfraction|-1}}} > 0|1|0}} + {{#ifeq:{{lc:{{{deconstructable|}}}}}|true|1|0}} > 0|
;{{H:title|link=no|Resources recovered when deconstructing.|Deconstruct yield}}
+
;{{Hover title|link=no|Resources recovered when deconstructing.|Deconstruct yield}}
 
:{{Icon Small|{{{resource 1|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }} <!--
 
:{{Icon Small|{{{resource 1|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 1 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }} <!--
 
-->{{#if: {{{resource 2|}}}| + {{Icon Small|{{{resource 2|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}} <!--
 
-->{{#if: {{{resource 2|}}}| + {{Icon Small|{{{resource 2|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 2 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}} <!--
Line 1,159: Line 1,460:
 
}}
 
}}
  
{{#if:{{{destroyyield|}}}|
+
{{#if:{{{destroyyield|}}} |
;{{H:title|link=no|Resources recovered when destroyed.|Destroy yield}}
+
;{{Hover title| link=no | Resources recovered when destroyed. | Destroy yield }}
 
:{{{destroyyield|}}}<!--Uses destroyyield if it's set. leavesresourceswhendestroyed and bonusdestroyleavings are to be phased out.
 
:{{{destroyyield|}}}<!--Uses destroyyield if it's set. leavesresourceswhendestroyed and bonusdestroyleavings are to be phased out.
 
-->|{{#ifeq:{{{type|}}}|Building|<!--If leavesresourceswhendestroyed != false and resource 1 != None or if bonusdestroyleavings != None: write the title
 
-->|{{#ifeq:{{{type|}}}|Building|<!--If leavesresourceswhendestroyed != false and resource 1 != None or if bonusdestroyleavings != None: write the title
 
-->{{#ifexpr: {{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}} + {{#if:{{{bonusdestroyleavings|}}}|1|0}} > 0|
 
-->{{#ifexpr: {{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}} + {{#if:{{{bonusdestroyleavings|}}}|1|0}} > 0|
;{{H:title|link=no|Resources recovered when destroyed.|Destroy yield}}
+
;{{Hover title|link=no|Resources recovered when destroyed.|Destroy yield}}
 
:{{#ifexpr: {{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}} = 1|<!--If leavesresourceswhendestroyed != false and resource 1 != None: list out resources*0.25
 
:{{#ifexpr: {{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}} = 1|<!--If leavesresourceswhendestroyed != false and resource 1 != None: list out resources*0.25
 
-->{{#if: {{{resource 1|}}}| {{Icon Small|{{{resource 1|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 1 amount|}}}*0.25) }} | {{#expr: floor({{{resource 1 amount|}}}*0.25) }}|{{#expr: {{{resource 1 amount|}}}*0.25 }}|{{#expr: floor({{{resource 1 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 1 amount|}}}*0.25) }} }}|}} <!--
 
-->{{#if: {{{resource 1|}}}| {{Icon Small|{{{resource 1|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 1 amount|}}}*0.25) }} | {{#expr: floor({{{resource 1 amount|}}}*0.25) }}|{{#expr: {{{resource 1 amount|}}}*0.25 }}|{{#expr: floor({{{resource 1 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 1 amount|}}}*0.25) }} }}|}} <!--
Line 1,174: Line 1,475:
 
-->|}}<!--
 
-->|}}<!--
 
-->{{#ifexpr:{{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}}*{{#if:{{{bonusdestroyleavings|}}}|1|0}} = 1| + }}<!--If leavesresourceswhendestroyed != false and resource 1 != None and bonusdestroyleavings != None: write " + "
 
-->{{#ifexpr:{{#ifeq:{{lc:{{{leavesresourceswhendestroyed|}}}}}|false|0|1}}*{{#if:{{{resource 1|}}}|1|0}}*{{#if:{{{bonusdestroyleavings|}}}|1|0}} = 1| + }}<!--If leavesresourceswhendestroyed != false and resource 1 != None and bonusdestroyleavings != None: write " + "
-->{{#if:{{{bonusdestroyleavings|}}}|{{{bonusdestroyleavings|}}}}}<!--If bonusdestroyleavings != None, write bonusdestroyleavings (should be given in format: <amount> {{Icon small|<resource>}})
+
-->{{#if:{{{bonusdestroyleavings|}}}|{{{bonusdestroyleavings|}}}}}<!--If bonusdestroyleavings != None, write bonusdestroyleavings (should be given in format: <amount> {{Icon Small|<resource>}})
 
-->|}}<!--
 
-->|}}<!--
 
-->|}}<!--
 
-->|}}<!--
Line 1,182: Line 1,483:
 
{{#if: {{{page verified for version|}}}|{{Verified|{{{page verified for version|}}}}}| {{Verified}} }}
 
{{#if: {{{page verified for version|}}}|{{Verified|{{{page verified for version|}}}}}| {{Verified}} }}
  
{{#if: {{{defName|}}} {{{thingCategories|}}} {{{file|}}} {{{weaponTags|}}} {{{thingSetMakerTags|}}} {{{defaultOutfitTags|}}} {{{factionPrerequisiteTags|}}} {{{harvestTag|}}} {{{recipePrerequisiteTags|}}} {{{ResearchProjectTagDef|}}} {{{sowTag|}}} {{{sowTags|}}} {{{tag|}}} {{{tags|}}} {{{techHediffsTags|}}} {{{thingSetMakerTagsToAllow|}}} {{{thingSetMakerTagsToDisallow|}}} {{{tradeTag|}}} {{{tradeTags|}}} {{{tradeTagsBuy|}}} {{{tradeTagsSell|}}} {{{tradeTagsToAllow|}}} {{{tutorHighlightTag|}}} {{{apparelTags|}}} {{{buildingTags|}}} {{{stuff adjective|}}} {{{small volume|}}} {{{preferability|}}} {{{food preference|}}} {{{drug category|}}} {{{is pleasure drug|}}} {{{work efficiency factor|}}} {{{work efficiency offset|}}} {{{max simultaneous facilities|}}} {{{unpowered work speed factor|}}}|
+
{{#if: {{{defName|}}} {{{color|}}} {{{thingCategories|}}} {{{file|}}} {{{weaponTags|}}} {{{thingSetMakerTags|}}} {{{defaultOutfitTags|}}} {{{factionPrerequisiteTags|}}} {{{harvestTag|}}} {{{recipePrerequisiteTags|}}} {{{ResearchProjectTagDef|}}} {{{sowTag|}}} {{{sowTags|}}} {{{tag|}}} {{{tags|}}} {{{techHediffsTags|}}} {{{thingSetMakerTagsToAllow|}}} {{{thingSetMakerTagsToDisallow|}}} {{{tradeTag|}}} {{{tradeTags|}}} {{{tradeTagsBuy|}}} {{{tradeTagsSell|}}} {{{tradeTagsToAllow|}}} {{{tutorHighlightTag|}}} {{{apparelTags|}}} {{{buildingTags|}}} {{{stuff adjective|}}} {{{small volume|}}} {{{preferability|}}} {{{food preference|}}} {{{drug category|}}} {{{is pleasure drug|}}} {{{work efficiency factor|}}} {{{work efficiency offset|}}} {{{max simultaneous facilities|}}} {{{unpowered work speed factor|}}} {{{bulk product amount|}}}|
 
</dl>{{clear}}
 
</dl>{{clear}}
 
<div class="subheading mw-customtoggle-myDivision" style='height: 1.75em !important; padding: 0.25em 0em 0.25em !important; margin: 0.5em 0 0.5em !important; width:300px'> '''Technical'''
 
<div class="subheading mw-customtoggle-myDivision" style='height: 1.75em !important; padding: 0.25em 0em 0.25em !important; margin: 0.5em 0 0.5em !important; width:300px'> '''Technical'''
Line 1,189: Line 1,490:
 
; defName
 
; defName
 
: {{{defName|}}}
 
: {{{defName|}}}
 +
}}<!--
 +
-->{{#if: {{{color|}}} |{{#if: {{#var:setProperty}} | {{#set: color = {{{color|}}}}} }}
 +
;color
 +
:{{{color|}}}
 
}}<!--
 
}}<!--
 
-->{{#if: {{{file|}}}|
 
-->{{#if: {{{file|}}}|
Line 1,198: Line 1,503:
 
: {{{thingCategories|}}}
 
: {{{thingCategories|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{weaponTags|}}}|{{#set:
+
-->{{#if: {{{weaponTags|}}}|{{#if: {{#var:setProperty}} | {{#set:
 
  weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|0}} }}
 
  weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|0}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|1}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|1}} }}
Line 1,204: Line 1,509:
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|3}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|3}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|4}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|4}} }}
}}
+
}} }}
 
; weaponTags
 
; weaponTags
 
: {{{weaponTags|}}}
 
: {{{weaponTags|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{thingSetMakerTags|}}}|
+
-->{{#if: {{{thingSetMakerTags|}}} |
 
; thingSetMakerTags
 
; thingSetMakerTags
 
: {{{thingSetMakerTags|}}}
 
: {{{thingSetMakerTags|}}}
Line 1,232: Line 1,537:
 
:{{{ResearchProjectTagDef|}}}
 
:{{{ResearchProjectTagDef|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{sowTag|}}} |{{#set: sowTag = {{{sowTag|}}}}}
+
-->{{#if: {{{sowTag|}}} |{{#if: {{#var:setProperty}} | {{#set: sowTag = {{{sowTag|}}}}} }}
 
;sowTag
 
;sowTag
 
:{{{sowTag|}}}
 
:{{{sowTag|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{sowTags|}}} |{{#set: sowTags = {{{sowTags|}}}}}
+
-->{{#if: {{{sowTags|}}} |{{#if: {{#var:setProperty}} | {{#set: sowTags = {{{sowTags|}}}}} }}
 
;sowTags
 
;sowTags
 
:{{{sowTags|}}}
 
:{{{sowTags|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{tag|}}} |{{#set:
+
-->{{#if: {{{tag|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
  tag = {{ucfirst:{{#explode:{{{tag|}}}|,|0}} }}
 
  tag = {{ucfirst:{{#explode:{{{tag|}}}|,|0}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|1}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|1}} }}
Line 1,246: Line 1,551:
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|3}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|3}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|4}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|4}} }}
}}
+
}} }}
 
;tag
 
;tag
 
:{{{tag|}}}
 
:{{{tag|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{tags|}}} |{{#set:
+
-->{{#if: {{{tags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
  tags = {{ucfirst:{{#explode:{{{tags|}}}|,|0}} }}
 
  tags = {{ucfirst:{{#explode:{{{tags|}}}|,|0}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|1}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|1}} }}
Line 1,256: Line 1,561:
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|3}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|3}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|4}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|4}} }}
}}
+
}} }}
 
;tags
 
;tags
 
:{{{tags|}}}
 
:{{{tags|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{techHediffsTags|}}} | {{#set:
+
-->{{#if: {{{techHediffsTags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
  techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|0}} }}
 
  techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|0}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|1}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|1}} }}
Line 1,266: Line 1,571:
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|3}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|3}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|4}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|4}} }}
}}
+
}} }}
 
;techHediffsTags
 
;techHediffsTags
 
:{{{techHediffsTags|}}}
 
:{{{techHediffsTags|}}}
Line 1,278: Line 1,583:
 
:{{{thingSetMakerTagsToDisallow|}}}
 
:{{{thingSetMakerTagsToDisallow|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{tradeTag|}}} |{{#set: tradeTag = {{{tradeTag|}}}}}
+
-->{{#if: {{{tradeTag|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: tradeTag = {{{tradeTag|}}} }} }}
 
;tradeTag
 
;tradeTag
 
:{{{tradeTag|}}}
 
:{{{tradeTag|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{tradeTags|}}} |{{#set: tradeTags = {{{tradeTags|}}}}}
+
-->{{#if: {{{tradeTags|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: tradeTags = {{{tradeTags|}}} }} }}
 
;tradeTags
 
;tradeTags
 
:{{{tradeTags|}}}
 
:{{{tradeTags|}}}
Line 1,302: Line 1,609:
 
:{{{tutorHighlightTag|}}}
 
:{{{tutorHighlightTag|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{apparelTags|}}} |{{#set:
+
-->{{#if: {{{apparelTags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
  apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|0}} }}
 
  apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|0}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|1}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|1}} }}
Line 1,308: Line 1,615:
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|3}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|3}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|4}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|4}} }}
}}
+
}} }}
 
;apparelTags
 
;apparelTags
 
:{{{apparelTags|}}}
 
:{{{apparelTags|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{buildingTags|}}} |{{#set:
+
-->{{#if: {{{buildingTags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
  buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|0}} }}
 
  buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|0}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|1}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|1}} }}
Line 1,318: Line 1,625:
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|3}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|3}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|4}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|4}} }}
}}
+
}} }}
 
;buildingTags
 
;buildingTags
 
:{{{buildingTags|}}}
 
:{{{buildingTags|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{stuff adjective|}}}|{{#set: Stuff Adjective = {{{stuff adjective|}}}}}
+
-->{{#if: {{{stuff adjective|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Stuff Adjective = {{{stuff adjective|}}} }} }}
 
; Stuff Adjective
 
; Stuff Adjective
 
:{{{stuff adjective|}}}
 
:{{{stuff adjective|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{small volume|}}}|{{#set: Small Volume = {{{small volume|}}}}}
+
-->{{#if: {{{small volume|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Small Volume = {{{small volume|}}} }} }}
 
; Small Volume
 
; Small Volume
 
:{{{small volume|}}}
 
:{{{small volume|}}}
 
}}<!--
 
}}<!--
-->{{#if: {{{preferability|}}}|{{#set: Preferability = {{{preferability|}}}}}
+
-->{{#if: {{{preferability|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Preferability = {{{preferability|}}} }} }}
 
; Preferability
 
; Preferability
: {{{preferability|}}}}}<!--
+
: {{{preferability|}}}
-->{{#if: {{{food preference|}}}|{{#set: Food Preference = {{{food preference|}}}}}
+
}}<!--
 +
-->{{#if: {{{food preference|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Food Preference = {{{food preference|}}} }} }}
 
; Food Preference
 
; Food Preference
: {{{food preference|}}}<!--
+
: {{{food preference|}}}
-->{{#if: {{{drug category|}}}|{{#set: Drug Category = {{{drug category|}}}}}
+
}}<!--
 +
-->{{#if: {{{drug category|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Drug Category = {{{drug category|}}} }} }}
 
; Drug Category
 
; Drug Category
: {{{drug category|}}}}}<!--
+
: {{{drug category|}}}
-->{{#if: {{{is pleasure drug|}}}|{{#set: Is Pleasure Drug = {{{is pleasure drug|}}}}}
+
}}<!--
 +
-->{{#if: {{{is pleasure drug|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Is Pleasure Drug = {{{is pleasure drug|}}} }} }}
 
; Is Pleasure Drug
 
; Is Pleasure Drug
: {{{is pleasure drug|}}}}}}}<!--
+
: {{{is pleasure drug|}}}
 +
}}<!--
 +
-->{{#if: {{{bulk product amount|}}} |
 +
  {{#if: {{#var:setProperty}} | {{#set: Bulk Product Amount = {{{bulk product amount|}}} }} }}
 +
;<abbr title="The amount of this item produced by the bulk recipe">Bulk Product Amount</abbr>
 +
:{{Icon Small| {{#var:Name}} }} {{{product amount|}}}
 +
}}<!--
 
--></span> </div> </div>}}
 
--></span> </div> </div>}}
 
<br style="clear: both; height: 0px;" />
 
<br style="clear: both; height: 0px;" />
 
</div></div></includeonly><noinclude>
 
</div></div></includeonly><noinclude>
 
{{documentation}}</noinclude><!-- Add categories and interwikis to the /doc subpage, not here! -->
 
{{documentation}}</noinclude><!-- Add categories and interwikis to the /doc subpage, not here! -->

Revision as of 05:24, 28 September 2022

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

Intro

Template:Infobox main Is the core of what powers the SemanticMediaWiki database of rimworld objects. Since the template is so complex, it's worth taking a step back and summarizing what this template does:

  • Takes in facts: On each page which describes an in-game object, we call {{infobox main | ...}}, where ... is a very long list of parameters describing the object in question, including its name, type, the cost to make it, and a bunch of other things
  • Rendering an infobox: This template takes those parameters and presents them in a nice looking infobox on the right side of the page. If you add a param |marketvalue = 200, this template will add a line to the infobox showing the market value annotated with a silver icon. Cool!
  • Setting SMW properties: The real magic comes from this templates ability to also set SMW properties. If the |marketvalue = 200 param is present, this template will also set a SMW property 'Market Value Base' equal to 200 for whatever page the infobox was called on.

As an example, say there was an Page called "Foo" for an in-game object with the same name. In-game, a foo has a market value of 200. When you invoke {{infobox main | ... | marketvalue = 200 | ..., this template will set the 'Market Value Base' property of the 'Foo' page to 200.

These properties can then be retrieved using a snippet like {{#show:Foo|?Market Value Base}}. You can browse the properties for a given page by clicking the "Browse properties" link on the left side of the page. For an example, see Special:Browse/:Duster

Positional parameters

This template also takes one (and only one -- all others are ignored) positional parameter that specifies the type of infobox styling to use (primarily: to set the color of the infobox based on object type)

Usage

  • Everything is optional for the template to function; however, relevant sections should be filled in for the sake of completeness. The information displayed is dependent on which category is used, and will not be displayed unless a value is provided.
  • You can add a "name" and "image". Fill these values if the PAGENAME macro is not adequate (if the page name has a disambig qualifier for example)

Parameter List

{{infobox main

<!-- All pawns (animals, humanoids, mechanoids) -->
|movespeed    = base movement speed
|attack1dmg   = base damage of first attack <meleeDamageBaseAmount>
|attack1type  = damage type of first attack <meleeDamageDef>
|attack1part  = body part of first attack <linkedBodyPartsGroup>
|attack1cool  = cooldown of first attack (in ticks) <defaultCooldownTicks>
|attack1stun  = stun applied with first attack, if any (in stun damage, 20 ticks per point) <extraMeleeDamages>
|attack2dmg   = as above for second attack
|attack2type  = as above for second attack
|attack2part  = as above for second attack
|attack2cool  = as above for second attack
|attack2stun  = as above for second attack
|attack3dmg   = as above for third attack
|attack3type  = as above for third attack
|attack3part  = as above for third attack
|attack3cool  = as above for third attack
|attack3stun  = as above for third attack
|attack4dmg   = as above for fourth attack
|attack4type  = as above for fourth attack
|attack4part  = as above for fourth attack
|attack4cool  = as above for fourth attack
|attack4stun  = as above for fourth attack
|bodysize     = required in order to calculate meat yield, leather yields, and carrying capacity
|massyoung    = the mass of an animal when young
|massjuvenile = the mass of an animal when juvenile
|massadult    = the mass of an animal when adult
|meatname     = name of meat given when butchered. Defaults to "x meat" when not defined.
|meatyield    = amount of meat yielded when butchered. ONLY specify for animals that have a non default MeatAmount property in the XML (currently none). See also Property:Meat_Yield.
|leathername  = name of leather given when butchered. Defaults to "x leather" when not defined. Leave empty if no leather is produced.
|leatheryield = amount of leather yielded when butchered. ONLY specify for animals that have a non default LeatherAmount property in the XML. See also Property:Leather_Yield.

<!--Apparel and Armor-->
|armorblunt           = blunt armor rating for non-material dependent Apparel and Armor
|armorsharp           = sharp armor rating for non-material dependent Apparel and Armor
|armorheat            = heat armor rating for non-material dependent Apparel and Armor
|armorbluntfactor     = blunt armor multiplier for material dependent Apparel and Armor
|armorsharpfactor     = sharp armor multiplier for material dependent Apparel and Armor
|armorheatfactor      = heat armor multiplier for material dependent Apparel and Armor
|painshockthreshold   = increase in pain shock threshold
|insulationheat       = base heat tolerance modifier
|insulationcold       = base cold tolerance modifier
|insulationheatfactor = base heat tolerance for material dependent Apparel and Armor
|insulationcoldfactor = base cold tolerance for material dependent Apparel and Armor
|lifestage            = the valid lifestages the pawn can be i.e. Child and/or Adult
|clothing for nudity  = whether the item counts as clothing for determining nudity, also supports countsAsClothingForNudity=
|coverage             = coverage provided by the item
|layer                = the layer the item occupies on the pawn

<!-- Animals only -->
|manhunter          = chance to turn manhunter when attacked (0.00 - 1.00)
|manhuntertame      = chance to turn manhunter on a failed taming attempt (0.00 - 1.00)
|hungerrate         = base hunger rate
|diet               = carnivorous/herbivorous/omnivorous/dendrovorous/carnivorous and ovivorous/omnivorous and ovivorous
|lifespan           = life expectancy
|trainable          = none/simple/intermediate/advanced
|wildness           = wildness level of creature
|min handling skill = minimum Animals skill to tame/train. ONLY use when necessary - acts as an override for minimum handling skill for rare occasions when it is not derived from wildness
|milk               = amount of milk produced
|milktime           = milking interval (days)
|woolname           = name of wool given when sheared. Defaults to "x wool" when not defined.
|wool               = wool amount
|sheartime          = shearing interval
|eggsmin            = eggs per clutch minimum
|eggsmax            = eggs per clutch maximum
|eggtime            = egg laying interval
|eggs_avg           = eggs per clutch average
|gestation          = gestation period (days) (must either be a number or N/A)
|offspring          = offspring per birth (Do not use for egg-laying animals)
|maturityage        = age of maturity
|livesin_aridshrubland = true or <omit>
|livesin_borealforest  = true or <omit>
|livesin_desert        = true or <omit>
|livesin_extremedesert = true or <omit>
|livesin_icesheet      = true or <omit>
|livesin_seaice        = true or <omit>
|livesin_temperateforest    = true or <omit>
|livesin_tropicalrainforest = true or <omit>
|livesin_tundra             = true or <omit>
|predator                   = true or <omit>
|min comfortable temperature = min temperature animal can withstand
|max comfortable temperature = max temperature animal can withstand

<!-- Food -->
| nutrition base            = number
| taste                     = string
| ingested direct thought   = string
| joy offset                = number
| preferability             = string
| max num to ingest at once = number
| days to rot               = number

<!-- Plants -->
|growth time    = number of days to grow
|yield          = how much food given when harvested
|wood           = how much wood given when harvested
|min grow light = Minimum light required to grow.

<!-- BUILDING -->
| size                 = two values in the format: 3 ˣ 1
| minifiable           = whether there is an item for this building. Format: true/false
| placeable            = true/false
| rotatable            = true/false
| passability          = string e.g. pass through only
| cover                = how effective the object is when used for cover
| blockswind           = true/false
| terrain affordance   = light, medium or heavy terrain requirements to place object.
| power                = power generated or consumed. Format: + 3600 or - 150
| cleanliness          = number
| cleaning time factor = number
| facility             = comma seperated list of building names that improve this building when placed next to it. E.g: vitals monitor, dresser, end table

<!-- Building - Furniture -->
| glowcolor                     = ?
| glowradius                    = ?
| maxheattemperature            = ?
| mincooltemperature            = ?
| surgery success chance factor = ?
| immunity gain speed factor    = how fast a pawn acquires immunity while using object
| rest effectiveness            = how quickly rest gets restored
| comfort                       = how much comfort it gives when using
| comfort offset                = ?

<!-- Building - Recreation -->
| recreation power = number
| recreation type  = string

<!-- Building - Production -->
| work efficiency factor      = number
| unpowered work speed factor = work speed at an unpowered workstation

<!-- Building - Misc -->
| work speed offset           = number
| max simultaneous facilities = how many of these facilities a work table can be connected to. Format: integer
| efficiency                  = efficiency of a battery

<!-- Building - Floors -->
| speed = move speed factor of that flooring. Format: number

<!-- CREATION -->
| work to make      = the base amount of work it takes to build a structure, once all materials are gathered.
| work to uninstall = the amount of work it takes to uninstall a structure.

<!-- All Weapons -->
|damage      = Base weapon damage
|cooldown    = use for cooldown time of weapon (in ticks)
|mode        = Melee/Single-Shot/Single-Use/Burst
|warmup      = How long it takes to aim (in ticks). Set to 0 if melee weapon.
|damage type = The type of damage: Blunt - Scharp - Heat - Electric - Toxic ,if it has damage it wil get Sharp automaticly

<!-- Ranged Weapons Only -->
|burst = Shots per burst. Set to 1 for single-shot weapons.
|burstticks = Time between bursts (in ticks)
|range = Weapon range
|minrange = Minimum weapon range AKA forced-miss range
|missRadius = Missed shots are forced to land within this radius of the target
|area = Explosive area (in squares)
|velocity = use for projectile velocity
|accuracyTouch = use for touch accuracy 
|accuracyShort = use for short range accuracy 
|accuracyMedium = use for medium range accuracy 
|accuracyLong = use for long range accuracy
|accuracyAvg = use for average accuracy: note that this value has to be calculated and cannot be obtained simply by taking the mean of the above accuracies
|blastRadius = use for blast radius of explosive weapons
|armor penetration = armor penetration  of the attack
|stoppingPower = stopping power of the weapon

<!-- Melee Weapons Only -->
|meleeattack1dmg  = base damage of first attack <meleeDamageBaseAmount>
|meleeattack1type = damage type of first attack <meleeDamageDef>
|meleeattack1part = body part of first attack <linkedBodyPartsGroup>
|meleeattack1cool = cooldown of first attack (in seconds) <defaultCooldownTicks>
|meleeattack1ap   = armor penetration of first attack
|meleeattack2dmg  = as above for second attack
|meleeattack2type = as above for second attack
|meleeattack2part = as above for second attack
|meleeattack2cool = as above for second attack
|meleeattack2ap   = as above for second attack
|meleeattack3dmg  = as above for third attack
|meleeattack3type = as above for third attack
|meleeattack3part = as above for third attack
|meleeattack3cool = as above for third attack
|meleeattack3ap   = as above for fourth attack
|meleeattack4dmg  = as above for fourth attack
|meleeattack4type = as above for fourth attack
|meleeattack4part = as above for fourth attack
|meleeattack4cool = as above for fourth attack
|meleeattack4ap   = as above for fourth attack
|MeleeWeaponAverageDPS = average melee DPS of the weapon
|MeleeWeaponAverageAP = average melee armor penetration of the weapon


<!-- Miscellaneous -->
|stuff tags = the different [[stuff]] categories that can be used.  Inc: Stony, Metallic, Fabric, Leathery, Woody
|work to make = the amount of work required to craft the item
|resource 1 = The first type of resource required to build or craft this item. Replace with "Stuff" when a stuffable items is being defined.
|resource 2 = The second type of resource required to build or craft this item
|resource 3 = The third type of resource required to build or craft this item
|resource 4 = The fourth type of resource required to build or craft this item
|resource 5 = The fifth type of resource required to build or craft this item
|resource 6 = The sixth type of resource required to build or craft this item
|resource 1 amount = The amount of the first type of resource required to build or craft this item
|resource 2 amount = The amount of the second type of resource required to build or craft this item
|resource 3 amount = The amount of the third type of resource required to build or craft this item
|resource 4 amount = The amount of the fourth type of resource required to build or craft this item
|resource 5 amount = The amount of the fifth type of resource required to build or craft this item
|resource 6 amount = The amount of the sixth type of resource required to build or craft this item
|product amount = The amount of items crafted
|deconstruct yield = amount of resources returned when this item is deconstructed or smelted.  Format using {{icon|metal|75}} or similar (more info at Template:Icon)
|skill 1 = Primary required skill
|skill 1 level = Minimum primary skill level required
|skill 2 = Secondary required skill
|skill 2 level = Minimum secondary skill level required

|page verified for version = the last version that the page was verified for, inputted at plain text (e.g. = 1.2.2719). See for [[Template: Version]] for usage details.

<!-- Technical -->
| stuff adjective = Used for materials. Prefix for a stuffable item e.g. "golden" for "golden Club"
| small value = boolean; "true" for materials like gold and silver
| color = Used for materials. The color it colors resulting items with. Must be in rgb format in parentheses e.g. (133,97,67)

<!--Undocumented parameters -->
|is exotic species =
|petness =
|nuzzleMtb =
|eggs_unfertilized =

<!-- Deprecated parameters -->
|resources to make = amount of resources to build or craft this item.  Format using {{icon|metal|75}} or similar (more info at Template:Icon). Deprecated in favor of individual resource definitions. 
|work to build = merged with work to make
|minimum skill = minimum skill level required to build or craft something -- was never consistently applied
|info = Removed and replaced with description =.
|walkSpeed = Superseded by moveSpeed
|speed = Superseded by moveSpeed
|accuracy = Superseded by accuracyTouch, accuracyShort, accuracyMedium, and accuracyLong.
|DPS = Removed. Now calculated automatically.
|healthscale = Unused. Would determine hit points for each body part.
|armorelectric = Not currently used.
|armorpoison = Not currently used.
|eggs_avg10 = Previously average per month. Game now uses seasons and template automatically calculates value.
|mobdamage = Superseded by attack1dmg
|mobdamagetype = Superseded by attack1type
|mobdamage2 = As above, for second attack
|mobdamagetype2 = As above, for second attack
|mobdamage3 = As above for, third attack
|mobdamagetype3 = As above, for third attack
|handleskill = minimum handling skill
|sell price multiplier = a multiplier on the price at which you can sell items.
}}
Parameter Dependencies Type/Unit Property Description xml-tag
0. Testing
set property optional boolean Boolean value for whether the template should set properties. This defaults to true on main namespace pages, and false on all other namespace pages. Only use it when absolutely neccesary.
1. Head
<1> optional One of:
  • animal
  • area
  • drug
  • exotic
  • fabric
  • food
  • furniture
  • leathery
  • medicine
  • metallic
  • plant
  • production
  • resource
  • security
  • stony
  • structure
  • weapon
Sets the color of the infobox.
name optional pagename Property:Name Title of the infobox. Defaults to current page name if not specified. <label>
image optional Picture name.png Property:Image Defaults to name.png. <graphicData>
imagesize optional, image px See https://www.mediawiki.org/wiki/Help:Images#Rendering_a_single_image.
audio optional Audio name.wav Property:Audio So far only used for musical instruments. <soundPlayInstrument>
description optional text Property:Description In-game description of the item. <description>
2. Base Stats
type mandatory pagename Property:Type Sets main category.
type2 optional pagename Property:Type2 Sets subcategory.
stuff category optional One of:
  • Metallic
  • Woody
  • Stony
  • Fabric
  • Leathery
Property:Stuff Category Used by materials. <stuffProps><categories>
tech level optional One of:
  • Neolithic
  • Medieval
  • Industrial
  • Archotech
  • Spacer
  • Ultra
Property:Tech Level <techLevel>
class optional One of:
  • Neolithic
  • Medieval
  • Industrial
  • Spacer
  • Ultra
  • Mechanoid
Property:Class Used by weapons. <weaponClasses>
market value optional silver Property:Market Value Base The amount of silver the item is worth. Defaults to Template:Market Value Calculator. <statBases><MarketValue>
stack limit optional integer Property:Stack Limit Maximum stach size. <stackLimit>
mass base optional kg Property:Mass Base Mass in kilograms - DO NOT USE FOR ANIMALS. <statBases><Mass>
beauty optional integer Property:Beauty <statBases><Beauty>
beauty outdoors optional integer Property:Beauty Beauty score when outdoors. <statBases><BeautyOutdoors>
styledominance optional integer Property:Style Dominance How much this object contributes to overall style dominance in an area. <statBases><StyleDominance>
style optional, styledominance One of:
  • Hindu
  • Christian
  • Islamic
  • Buddhist
  • Morbid
  • Totemic
  • Spikecore
  • Rustic
  • Animalist
  • Techist
Property:Style <StyleCategoryDef>
hp optional integer Property:Max Hit Points Base The amount of damage an object can take. <statBases><MaxHitPoints>
deterioration optional number Property:Deterioration Rate Base The rate at which this item deteriorates when left outside, in average hit points of damage per day. Things deteriorate faster than normal in some weather, like rain. <statBases><DeteriorationRate>
flammability optional number (displayed as %) Property:Style How quickly it burns. <statBases>
days to rot optional days Property:Days To Start Rot Base Used for items that spoil when not frozen. <daysToRotStart>
min safe temperature optional °C Property:Min Safe Temperature Used for fertilzed eggs. <minSafeTemperature>
max safe temperature optional °C Property:Max Safe Temperature Used for fertilzed eggs. <maxSafeTemperature>
spoiling rate per degree per tick optional number (displayed as %) Property:Spoiling Rate Used for fertilzed eggs. <progressPerDegreePerTick>
rotatable optional boolean Property:Rotatable Whether this item spoils when not frozen. <rotatable>
path cost optional integer Property:Path Cost <pathCost>
3. Building
edifice optional boolean Property:Edifice Whether this building has hight. <building><isEdifice>
4. Apparel
5. Pawn Stats
6. Production
7. Ingestion
8. Stat Modifiers (for materials)
beauty factor optional number Property:Beauty Factor <stuffProps><statFactors><Beauty>
beauty offset optional number Property:Beauty Offset <stuffProps><statOffsets><Beauty>
work to make factor optional number Property:Work To Make Factor <stuffProps><statFactors><WorkToMake>
work to build factor optional number Property:Work To Build Factor <stuffProps><statFactors><WorkToBuild>
work to build offset optional ticks Property:Work To Build Offset <stuffProps><statOffsets><WorkToBuild>
max hit points factor optional number Property:Max Hit Points Factor <stuffProps><statFactors><MaxHitPoints>
flammability factor optional number Property:Flammability Factor <stuffProps><statFactors><Flammability>
armor - sharp factor optional number Property:Armor - Sharp Factor <statBases><StuffPower_Armor_Sharp>
armor - blunt factor optional number Property:Armor - Blunt Factor <statBases><StuffPower_Armor_Blunt>
armor - heat factor optional number Property:Armor - Heat Factor <statBases><StuffPower_Armor_Heat>
insulation - cold factor optional °C Property:Insulation - Cold Factor Is actually an offset and not a factor. <statBases><StuffPower_Insulation_Cold>
insulation - heat factor optional °C Property:Insulation - Heat Factor Is actually an offset and not a factor. <statBases><StuffPower_Insulation_Heat>
melee blunt damage factor optional number Property:Melee Blunt Damage Factor <statBases><BluntDamageMultiplier>
melee sharp damage factor optional number Property:Melee Sharp Damage Factor <statBases><SharpDamageMultiplier>
melee cooldown factor optional number Property:Melee Cooldown Factor <stuffProps><statFactors><MeleeWeapon_CooldownMultiplier>
door opening speed factor optional number Property:Door Opening Speed Factor <stuffProps><statFactors><DoorOpenSpeed>
rest effectiveness factor optional number Property:Rest Effectiveness Factor <stuffProps><statFactors><BedRestEffectiveness>
9. Medical
medical potency base optional number (displayed as %) Property:Medical Potency Base How effective this is when used to heal wounds and diseases, or do surgery. Higher medical potency improves the chances of a doctor treating wounds properly, and reduces the chances of failure during surgery. <statBases><MedicalPotency>
medical quality max optional number (displayed as %) Property:Medical Quality Max <statBases><MedicalQualityMax>
10. Plant Stats
11. Ranged Combat
12. Melee Combat
13. Creation
14. Technical

Deprecated positional parameters

This template used to take in up to 4 positional parameters, often accomplish relatively hacky things. As of now this template only takes ONE positional parameter -- all others are ignored.

  1. (still in use)
  2. DEPRECATED: Extra CSS class to be applied to the infobox div.
  3. DEPRECATED: Used to be extra params passed to the image layout in the infobox. Superseded by the imagesize= param
  4. DEPRECATED: Overly clever use of the size parameter. The usual format is |size = X|Y. This then gets transformed into x * y. BUT it only works if you have 3 positional parameters prior to the first param.


Example #1

Muffalo

Muffalo

A large herding herbivore descended from buffalo and adapted for both cold and warm environments. While enraged muffalo are deadly, tamed muffalo are quite docile and can be used as pack animals.
Nobody is quite sure why they're blue - it might even be some early genetic modification test that just never got changed.

Base Stats

Type
Animal
Market Value
300 Silver
Flammability
70%

Pawn Stats

Move Speed
4.5 c/s
Mass - Baby
28.8 kg
Mass - Juvenile
72 kg
Mass - Adult
144 kg
Health Scale
1.75
Body Size
2.4
Carrying Capacity
180 kg
Pack Capacity
84 kg
Filth Rate
16
Hunger Rate
0.86 Nutrition/Day
Diet
herbivorous
Life Expectancy
15
Manhunter Chance
10%
Manhunter Chance (Taming)
0%
Trainable Intelligence
none
Wildness
60%
Minimum Handling Skill
5
Roam Interval
2 days
Mate Interval
12 hours
Maturity Age
0.333 years (20 days)
Juvenile Age
0.25 years (15 days)
Comfortable Temp Range
-55 °C – 45 °C (-67 °F – 113 °F)

Production

Meat Yield
336 muffalo meat
Leather Yield
96 bluefur
Wool Amount
120 muffalo wool
Shearing Interval
15 days
Gestation Period
6.66 days
Offspring Per Birth
1

Melee Combat

Attack 1
head
13 dmg (Blunt)
19% AP
2.6 second cooldown
Attack 2
front left leg
10 dmg (Blunt)
15% AP
2 second cooldown
Attack 3
front left leg
10 dmg (Poke)
15% AP
2 second cooldown
Attack 4
front right leg
10 dmg (Blunt)
15% AP
2 second cooldown
Attack 5
front right leg
10 dmg (Poke)
15% AP
2 second cooldown
Attack 6
teeth
10 dmg (Bite)
15% AP
2 second cooldown
Average DPS
3.1
Technical
tradeTags
AnimalFarm, AnimalCommon


{{Infobox main|animal
| name = Muffalo
| image = Muffalo east.png
| description = A large herding herbivore descended from buffalo and adapted for both cold and warm environments. While enraged muffalo are deadly, tamed muffalo are quite docile and can be used as pack animals.<br/>Nobody is quite sure why they're blue - it might even be some early genetic modification test that just never got changed.
| type = Animal
| movespeed = 4.5
| min comfortable temperature = -55
| max comfortable temperature = 45
| flammability = 0.7
| marketvalue = 300
| filth rate = 16
| woolname = muffalo wool
| sheartime = 15
| wool = 120
| herdanimal = true
| bodysize = 2.4
| healthscale = 1.75
| hungerrate = 0.535
| diet = herbivorous
| leathername = bluefur
| wildness = 0.6
| manhuntertame = 0
| manhunter = 0.1
| roamMtb = 2
| trainable = none
| mateMtb = 12
| packanimal = true
| gestation = 6.66
| offspring = 1
| lifespan = 15
| juvenileage = 0.25
| maturityage = 0.3333
| tradeTags = AnimalFarm, AnimalCommon
| attack1dmg = 13
| attack1type = Blunt
| attack1cool = 2.6
| attack1part = head
| attack2dmg = 10
| attack2type = Blunt
| attack2cool = 2
| attack2part = front left leg
| attack3dmg = 10
| attack3type = Poke
| attack3cool = 2
| attack3part = front left leg
| attack4dmg = 10
| attack4type = Blunt
| attack4cool = 2
| attack4part = front right leg
| attack5dmg = 10
| attack5type = Poke
| attack5cool = 2
| attack5part = front right leg
| attack6dmg = 10
| attack6type = Bite
| attack6cool = 2
| attack6part = teeth
| attack6chancefactor = 0.5
| livesin_temperateforest = 0.5
| livesin_temperateswamp = 0.5
| livesin_borealforest = 0.5
| livesin_tundra = 2
| livesin_coldbog = 0.5
| livesin_icesheet = 0.1
| livesin_seaice = 0.1
}}

Example #2

Autopistol

Autopistol

An ancient pattern blowback-operated self-loading pistol. It lacks stopping power and range, but is quick to fire.

Base Stats

Type
EquipmentWeapons
Tech Level
Industrial
Class
Industrial
Market Value
139 Silver
Mass
1.2 kg

Ranged Combat

Mode
Single-Shot
Damage
10 dmg (Bullet)
Armor penetration
15%
Warm-Up
18 ticks (0.3 secs)
Cooldown
60 ticks (1 sec)
Range
25.9 tile(s)
Accuracy
80% - 70% - 40% - 30%
Avg. accuracy
65%
Velocity
55 (m/s)
Burst Count
1 (per burst)
DPS
7.69 (5)
Stopping power
0.5

Melee Combat

Average DPS
3.1
Melee Attack 1
Grip
9 dmg (Blunt)
2.0 seconds cooldown
13% armor penetration
Melee Attack 2 
Barrel
9 dmg (Blunt)
2.0 seconds cooldown
13% armor penetration
Melee Attack 3 
Barrel
9 dmg (Poke)
2.0 seconds cooldown
13% armor penetration
Melee Average DPS
4.5
Melee Average AP
13%

Creation

Crafted At
Machining table
Required Research
Blowback operation
Skill Required
Crafting 4
Work To Make
5,000 ticks (1.39 mins)
Resources to make
Steel 30 + Component 2
Technical
weaponTags
Gun, SimpleGun


{{Infobox main|weapon
| name = Autopistol
| image = Autopistol.png
| description = An ancient pattern blowback-operated self-loading pistol. It lacks stopping power and range, but is quick to fire.
| type = Equipment
| type2 = Weapons
| tech level = Industrial
| class = Industrial
| damage = 10
| damage type = Bullet
| armorPenetration = 15
| range = 25.9
| work to make = 5000
| accuracyTouch = 80
| accuracyShort = 70
| accuracyMedium = 40
| accuracyLong = 30
| accuracyAvg = 65
| mode = Single-Shot
| warmup = 18
| cooldown = 60
| burst = 1
| DPS = DPS
| velocity = 55
| production facility 1 = Machining table
| research = Blowback operation
| resource 1 = Steel
| resource 1 amount = 30
| resource 2 = Component
| resource 2 amount = 2
| marketvalue = 139
| mass base = 1.2
| stoppingPower = 0.5
| meleeattack1dmg = 9
| meleeattack1type = blunt
| meleeattack1part = Grip
| meleeattack1cool = 2.0
| meleeattack1ap = 13
| meleeattack2dmg = 9
| meleeattack2type = blunt
| meleeattack2part = Barrel
| meleeattack2cool = 2.0
| meleeattack2ap = 13
| meleeattack3dmg = 9
| meleeattack3type = Poke
| meleeattack3part = Barrel
| meleeattack3cool = 2.0
| meleeattack3ap = 13
| MeleeWeaponAverageDPS = 4.5
| MeleeWeaponAverageAP = 13
| page verified for version =
| skill 1 = Crafting
| skill 1 level = 4
| has quality = True
| weaponTags = Gun, SimpleGun
}}

Example #3

Art bench

Art bench

A workbench equipped for creating art.

Base Stats

Type
BuildingProduction
Mass
20 kg
HP
180
Flammability
100%
Path Cost
50

Building

Size
3 ˣ 1
Minifiable
True
Placeable
True
Passability
pass through only
Cover Effectiveness
50%
Terrain Affordance
Medium
Cleanliness
-5
Facility
Tool cabinet
Average DPS
3.1

Creation

Work To Make
2,500 ticks (41.67 secs)
Stuff tags
Metallic, Woody
Resources to make
Stuff 75 + Steel 50
Deconstruct yield
Stuff 37 - 38 + Steel 25
Destroy yield
Stuff 18 - 19 + Steel 12 - 13

{{Infobox main|production
| name = Art bench
| image = TableSculpting.png
| imagesize = 192px
| description = A workbench equipped for creating art.
| type = Building
| type2 = Production
| hp = 180
| mass base = 20
| flammability = 1
| path cost = 50
<!-- Building -->
| cleanliness = -5
| passability = pass through only
| cover = 0.5
| minifiable = true
| placeable = true
| size = 3 ˣ 1
| sell price factor = 0.7
| terrain affordance = medium
| facility = tool cabinet
<!-- Creation -->
| work to make = 2500
| stuff tags = Metallic, Woody
| resource 1 = Stuff
| resource 1 amount = 75
| resource 2 = Steel
| resource 2 amount = 50
<!-- Technical -->
| page verified for version = 1.2.2900
}}

Example #4

Scorcher

Scorcher

A close-approach war mechanoid that specializes in incendiary attacks. Its flame burst attack has little reach, but once it closes on a group of defenders it can ignite and disrupt them with blasts of searing flame.

Base Stats

Type
Mechanoid
Market Value
1200 Silver
Flammability
0%

Apparel

Armor - Sharp
40%
Armor - Blunt
20%
Armor - Heat
200%

Pawn Stats

Move Speed
4.5 c/s
Mass - Baby
12 kg
Mass - Juvenile
30 kg
Mass - Adult
60 kg
Health Scale
0.7
Body Size
1
Carrying Capacity
75 kg
Filth Rate
1
Comfortable Temp Range
-100 °C – 250 °C (-148 °F – 482 °F)
Meat Yield
140 muffalo meat
Leather Yield
40 bluefur

Melee Combat

Attack 1
Front left leg
12 dmg (Blunt)
18% AP
2 second cooldown
Attack 2
Front right leg
12 dmg (Blunt)
18% AP
2 second cooldown
Attack 3
head
8.5 dmg (Blunt)
13% AP
2 second cooldown
Average DPS
3.23

Creation

Crafted At
Large mech gestator
Required Research
Standard mechtech
Resources to make
Steel 80 + Plasteel 32 + Component 3 + Standard subcore 1
Technical
weaponTags
MechanoidGunMiniFlameblaster


{{Infobox main|none
| name = Scorcher
| image = Scorcher east.png
| description = A close-approach war mechanoid that specializes in incendiary attacks. Its flame burst attack has little reach, but once it closes on a group of defenders it can ignite and disrupt them with blasts of searing flame.
| type = Mechanoid
| movespeed = 4.5
| flammability = 0
| marketvalue = 1200
| armorblunt = 20
| armorsharp = 40
| armorheat = 200
| min comfortable temperature = -100
| max comfortable temperature = 250
| bandwidth = 1
| bodysize = 1
| healthscale = 0.7
| lifespan = 
| attack1dmg = 12
| attack1type = Blunt
| attack1cool = 2
| attack1part = Front left leg
| attack2dmg = 12
| attack2type = Blunt
| attack2cool = 2
| attack2part = Front right leg
| attack3dmg = 8.5
| attack3type = Blunt
| attack3cool = 2
| attack3part = head
| attack3chancefactor = 0.2 
| page verified for version = 1.4.3525
| weaponTags = MechanoidGunMiniFlameblaster
<!-- Creation -->
| research = Standard mechtech
| production facility 1 = Large mech gestator
| gestation cycles = 2
| resource 1 = Steel
| resource 1 amount = 80
| resource 2 = Plasteel
| resource 2 amount = 32
| resource 3 = Component
| resource 3 amount = 3
| resource 4 = Standard subcore
| resource 4 amount = 1
}}

Example #5

Button-down shirt

Button-down shirt

A nice-looking collared shirt with buttons.

Base Stats

Type
GearClothing
Tech Level
Medieval
Mass
0.3 kg
HP
100

Apparel

Insulation Factor - Cold
0.26x
Insulation Factor - Heat
0.1x
Armor Factor - Sharp
0.2
Armor Factor - Blunt
0.2
Armor Factor - Heat
0.2
Coverage
Torso, Neck, Left Shoulder, Left Arm, Right Shoulder, Right Arm
Layer
Skin
Average DPS
3.23

Creation

Crafted At
Hand tailor bench/Electric tailor bench
Required Research
Complex clothing
Work To Make
2,700 ticks (45 secs)
Stuff tags
Leathery, Fabric
Resources to make
Stuff 45
Technical
thingCategories
Apparel
defaultOutfitTags
Worker, Soldier
tags
IndustrialBasic


{{Infobox main
| name = Button-down shirt
| image = Button-Down_Shirt.png
| description = A nice-looking collared shirt with buttons.
| type = Gear
| type2 = Clothing
| tech level = Medieval
| hp = 100
| production facility 1 = Hand tailor bench
| production facility 2 = Electric tailor bench
| research = Complex clothing
| work to make = 2700
| resource 1 = Stuff
| resource 1 amount = 45
| stuff tags = Leathery, Fabric
| insulationheatfactor = 0.1
| insulationcoldfactor = 0.26
| armorsharpfactor = 0.2
| armorbluntfactor = 0.2
| armorheatfactor = 0.2
| lifestage = Adult
| clothing for nudity = true
| coverage = Torso, Neck, Left Shoulder, Left Arm, Right Shoulder, Right Arm
| layer = Skin
| mass base = 0.3
| thingCategories = Apparel
| tags = IndustrialBasic
| defaultOutfitTags = Worker, Soldier