Editing Template:Infobox main

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<includeonly><!--
+
<includeonly>{{#vardefine:Name|{{{name|{{BASEPAGENAME}}}}}}}
 
+
<div class="infobox float:right; {{#if:{{{1|}}}|{{#switch:{{{1}}}|<!--
0. TESTING
+
--> animal = c_08 |<!--
-->{{#switch: {{lc:{{{set property|}}} }}
+
--> plant = c_14 |<!--
| 1 | yes | y | t | true = {{#vardefine:setProperty | true }}
+
--> weapon = c_06 |<!--
| 0 | no | n | f | false = {{#vardefine:setProperty |}}
+
--> area = c_11 |<!--
| #default = {{#vardefine:setProperty | {{#ifeq: {{NAMESPACE}} || true }} }}
+
--> structure = c_02 |<!--
}}<!--
+
--> production = c_25 |<!--
 
+
--> security = c_10 |<!--
1. HEAD
+
--> furniture = c_01 |<!--
--><div class="infobox float:right; {{#if: {{{1|}}} | {{#switch: {{{1}}}
+
-->}}}}">
  | furniture | medicine = c_01
+
<p class="heading">{{#var:Name}}</p>
  | structure = c_02
 
  | resource = c_03
 
  | weapon = c_06
 
  | animal | food = c_08
 
  | fabric = c_09
 
  | security = c_10
 
  | area | exotic = c_11
 
  | metallic | stony = c_12
 
  | plant = c_14
 
  | leathery = c_22
 
  | drug = c_24
 
  | production = c_25
 
  | psycast = c_09
 
}} }}">
 
<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|250x250px}}}|link = {{#var:Name}}|{{#var:Name}}]]{{#if: {{#var:setProperty}} | {{#set:Image = [[File:{{{image|{{#var:Name}}.png}}}]]}} }}</div>
+
<div class="image_wrapper" title="{{#var:Name}}">[[File:{{{image|{{#var:Name}}}}}|{{{imagesize|}}}|link={{#var:Name}}|{{#var:Name}}]]</div>
<p class="text-center" style="display:block; font-size:89%; padding: .5em;">{{#if:{{{audio|}}}|[[File:{{{audio|}}}]]{{#if: {{#var:setProperty}} | {{#set:Audio = {{{audio|}}} }} }} }}{{#if:{{{description|}}} | {{{description|}}}{{#if: {{#var:setProperty}} | {{#set:Description = {{{description|}}} }} }} }}</p>
+
<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}}}]]}}
 
+
----
<!-- 2. BASE STATS -->
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Base Stats</p>
 
 
<dl>
 
<dl>
 
+
{{#set:Name = {{#var:Name}} }}
<!-- Category -->
 
{{#if: {{#var:setProperty}} | {{#set:Type = {{{type|}}} }} }}
 
{{#if: {{#var:setProperty}} | {{#set:Type2 = {{{type2|}}} }} }}
 
 
;Type
 
;Type
:[[{{{type}}}]]{{#if: {{{type2|}}} |&#32;&#32; {{#ifeq:{{{type2|}}}|Medicine|[[Medicine (disambiguation)|Medicine]]|[[{{{type2}}}]]}} }}
+
:[[{{{type}}}]]{{#set:Type = {{{type|}}}}}{{#if: {{{type2|}}} |&#32;&ndash;&#32; [[{{{type2}}}]]{{#set:Type2 = {{{type2|}}}}} }}
  
{{#if: {{{stuff category|}}} |
+
{{#if: {{{placeable|}}}|{{#set:Placeable = {{{placeable|}}} }}
  {{#if: {{#var:setProperty}} |
+
;Placeable
    {{#set:Stuff Category = {{#explode:{{{stuff category|}}}|,|0}}
+
:{{{placeable|}}}}}
        | Stuff Category = {{#explode:{{{stuff category|}}}|,|1}}
 
        | Stuff Category = {{#explode:{{{stuff category|}}}|,|2}}
 
        | Stuff Category = {{#explode:{{{stuff category|}}}|,|3}}
 
        | Stuff Category = {{#explode:{{{stuff category|}}}|,|4}} }} }}
 
;Stuff Categories
 
:{{{stuff category|}}} {{#if: {{{color|}}} |
 
  {{#vardefine:Red  | {{#replace:{{#explode:{{{color|}}}|,|0}}|(}} }}
 
  {{#vardefine:Green| {{#explode:{{{color|}}}|,|1}} }}
 
  {{#vardefine:Blue | {{#replace:{{#explode:{{{color|}}}|,|2}}|)}} }}
 
<abbr title="Buildings and items made with this as stuff will have the color RGB: {{{color|}}}"><span><div style="width:16px;height:16px;background-color:rgb({{#var:Red}},{{#var:Green}},{{#var:Blue}});display:inline-block;border:1px solid black;vertical-align:middle;"></div></span></abbr>}} }}
 
  
{{#if: {{{tech level|}}} |
+
{{#if: {{{rotatable|}}}|{{#set:Rotatable = {{{rotatable|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Tech Level = {{{tech level|}}} }} }}
+
;Rotatable
;Tech Level
+
:{{{rotatable|}}}}}
:[[Tech levels|{{{tech level|}}}]]
 
}}
 
  
{{#if: {{{class|}}} |
+
{{#if: {{{size|}}}|{{#set:Size = {{{size|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Class = {{{class|}}} Weapons}} }}
+
;Size
;Weapon Class
+
:{{{size|}}}}}
:[[{{{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: {{{efficiency|}}}|{{#set:Efficiency= {{{efficiency|}}} }}
{{#if: {{{marketvalue|}}} |
+
;Efficiency
  {{#if: {{#var:setProperty}} | {{#set:Market Value Base = {{{marketvalue|}}} }} }}
+
:{{{efficiency|}}}}}
;Market Value
 
:{{Market Value | {{{marketvalue|}}} }}&nbsp;{{Icon Small|silver}}
 
| {{#ifeq: {{lc:{{{constructable|}}} }} | false || {{#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 Calculator}} }}&nbsp;{{Icon Small|silver}} <abbr title="This value is automatically calculated by the wiki and may not be correct"><sup>[Note]</sup></abbr> }} }} }} }}
 
}}
 
}}
 
 
 
{{#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|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Beauty Base = {{{beauty|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Beauty Outdoors Base = {{{beauty outdoors|}}} }} }}
 
;Beauty
 
:{{{beauty|0}}} {{#if:{{{beauty outdoors|}}}|<abbr title="Beauty score when outdoors">({{{beauty outdoors|}}})</abbr> }}
 
}}
 
  
{{#if: {{{styledominance|}}} |
+
{{#if: {{{hp|}}}|{{#set:Max Hit Points Base = {{{hp|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Style Dominance = {{{styledominance|}}} }} }}
 
  {{#if: {{{style|}}} |
 
    {{#if: {{#var:setProperty}} | {{#set:Style = {{{style|}}} }} }}
 
  }}
 
;Style Dominance
 
:{{{style|}}} {{{styledominance|}}}
 
}}
 
 
 
<!-- Durability -->
 
{{#if: {{{hp|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Max Hit Points Base = {{{hp|}}} }} }}
 
 
;HP
 
;HP
:{{{hp|}}}
+
:{{{hp|}}}}}
}}
 
  
{{#if: {{{deterioration|}}} |
+
{{#if: {{{deterioration|}}}|{{#set:Deterioration Rate Base = {{{deterioration|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Deterioration Rate Base = {{{deterioration|}}} }} }}
 
 
;Deterioration Rate
 
;Deterioration Rate
:{{{deterioration|}}}
+
:{{{deterioration|}}}}}
}}
 
  
{{#if: {{{flammability|}}} |
+
{{#if: {{{marketvalue|}}}|{{#set: Market Value Base = {{{marketvalue|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Flammability Base = {{{flammability|}}} }} }}
+
;Market Value
;Flammability
+
:{{Market Value | {{{marketvalue|}}}}}&nbsp;{{Icon Small|silver}} }}
:{{%| {{{flammability|}}} }}
 
}}
 
  
{{#if: {{{days to rot|}}} |
+
{{#if: {{{beauty|}}}|{{#set:Beauty Base = {{{beauty|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Days To Start Rot Base = {{{days to rot|}}} }} }}
+
;Beauty
;Days To Start Rot
+
:[[Beauty Base::{{{beauty|}}}]]}}
:{{{days to rot|}}}
 
}}
 
  
{{#if: {{{min safe temperature|}}} |
+
{{#if: {{{mass base|}}}|{{#set:Mass Base = {{{mass base|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Min Safe Temperature = {{{min safe temperature|}}} }} }}
+
;Mass
;Min Safe Temperature
+
:{{{mass base|}}} kg}}
:{{Temperature| {{{min safe temperature|}}} }}
 
}}
 
 
 
{{#if: {{{max safe temperature|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Max Safe Temperature = {{{max safe temperature|}}} }} }}
 
;Max Safe Temperature
 
:{{Temperature| {{{max safe temperature|}}} }}
 
}}
 
 
 
{{#if: {{{spoiling rate per degree per tick|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Spoiling Rate = {{{spoiling rate per degree per tick|}}} }} }}
 
;<abbr title="per °C outside the safe temperature per tick">Spoiling Rate</abbr>
 
:{{%| {{{spoiling rate per degree per tick|}}} }}
 
}}
 
 
 
<!-- Other -->
 
{{#if: {{{rotatable|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Rotatable = {{{rotatable|}}} }} }}
 
;Rotatable
 
:{{ucfirst:{{{rotatable|}}} }}
 
}}
 
 
 
{{#if: {{{path cost|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Path Cost = {{{path cost|}}} }} }}
 
;Path Cost
 
:{{{path cost|}}}
 
}}
 
 
 
 
 
<!-- 3. BUILDING -->
 
{{#if: {{{size|}}} {{{minifiable|}}} {{{placeable|}}} {{{passability|}}} {{{cover|}}} {{{blockswind|}}} {{{terrain affordance|}}} {{{power|}}} {{{cleanliness|}}} {{{facility|}}} {{{glowcolor|}}} {{{glowradius|}}} {{{heatpersecond|}}} {{{maxheattemperature|}}} {{{mincooltemperature|}}} {{{surgery success chance factor|}}} {{{immunity gain speed factor|}}} {{{rest effectiveness|}}} {{{comfort|}}} {{{comfort offset|}}} {{{recreation power|}}} {{{recreation type|}}} {{{work efficiency factor|}}} {{{work speed offset|}}} {{{max simultaneous facilities|}}} {{{unpowered work speed factor|}}} {{{efficiency|}}} {{{speed|}}} |
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Building</p>
 
<dl>
 
}}
 
 
 
{{#if: {{{size|}}} | {{#vardefine: size | {{#replace:{{#replace:{{#replace:{{#replace:{{#replace:{{#replace:{{{size|}}}|}}|×|&nbsp;&times;&nbsp;}}|*|&nbsp;&times;&nbsp;}}|x|&nbsp;&times;&nbsp;}}|ˣ|&nbsp;&times;&nbsp;}}|+|&nbsp;+}} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Size = {{#var:size}} }} }}
 
;Size
 
:{{#var:size}}
 
}}
 
 
 
{{#if: {{{minifiable|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Minifiable = {{{minifiable|}}} }} }}
 
;Minifiable
 
:{{ucfirst:{{{minifiable|}}} }}
 
}}
 
 
 
{{#if: {{{placeable|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Placeable = {{{placeable|}}} }} }}
 
;Placeable
 
:{{ucfirst:{{{placeable|}}} }}
 
}}
 
 
 
{{#if: {{{passability|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Passability = {{{passability|}}} }} }}
 
;Passability
 
:{{{passability|}}}
 
}}
 
 
 
{{#if: {{{cover|}}} | {{#ifexpr: {{{cover|}}} > 0.75 |
 
  {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness = 0.75}} }}
 
;Cover Effectiveness
 
:75%
 
| {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness= {{{cover|}}} }} }}
 
;Cover Effectiveness
 
:{{%| {{{cover|}}} }}
 
}} }}
 
 
 
 
 
{{#if: {{{edifice|}}}
 
  | {{#if: {{#var:setProperty}} | {{#set:Edifice = {{{edifice|}}} }} }}
 
;Edifice
 
:{{{edifice|}}}
 
}}
 
 
 
{{#if: {{{blockswind|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Blocks Wind = {{{blockswind|}}} }} }}
 
;Blocks Wind
 
:{{ucfirst:{{{blockswind|}}} }}
 
}}
 
 
 
{{#if: {{{terrain affordance|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Terrain Affordance = {{ucfirst:{{{terrain affordance|}}} }} }} }}
 
;Terrain Affordance
 
:{{ucfirst:{{{terrain affordance|}}} }}
 
}}
 
 
 
{{#if: {{{power|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Power Consumption = {{{power|}}} }} }}
 
;Power
 
:{{{power|}}} W
 
}}
 
 
 
{{#if: {{{cleanliness|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Cleanliness = {{{cleanliness|}}} }} }}
 
;Cleanliness
 
:{{{cleanliness|}}}
 
}}
 
 
 
{{#if: {{{cleaning time factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Cleaning Time Factor = {{{cleaning time factor|}}} }} }}
 
;Cleaning Time Multiplier
 
:{{%| {{{cleaning time factor|}}} }}
 
}}
 
 
 
{{#if: {{{filth multiplier|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Filth Multiplier = {{{filth multiplier|}}} }} }}
 
;Filth Multiplier
 
:{{%| {{{filth multiplier|}}} }}
 
}}
 
 
 
{{#if: {{{facility|}}} |
 
  {{#vardefine:Facility1 | {{ucfirst:{{#explode:{{{facility|}}}|,|0}} }} }}
 
  {{#vardefine:Facility2 | {{ucfirst:{{#explode:{{{facility|}}}|,|1}} }} }}
 
  {{#vardefine:Facility3 | {{ucfirst:{{#explode:{{{facility|}}}|,|2}} }} }}
 
  {{#vardefine:Facility4 | {{ucfirst:{{#explode:{{{facility|}}}|,|3}} }} }}
 
  {{#vardefine:Facility5 | {{ucfirst:{{#explode:{{{facility|}}}|,|4}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Facility = {{#var:Facility1}} | Facility = {{#var:Facility2}} | Facility = {{#var:Facility3}} | Facility = {{#var:Facility4}} | Facility = {{#var:Facility5}} }} }}
 
;Facility
 
:[[{{#var:Facility1}}]]{{#if: {{#var:Facility2}} |, [[{{#var:Facility2}}]]}}{{#if: {{#var:Facility3}} |, [[{{#var:Facility3}}]]}}{{#if: {{#var:Facility4}} |, [[{{#var:Facility4}}]]}}{{#if: {{#var:Facility5}} |, [[{{#var:Facility5}}]]}}
 
}}
 
 
 
<!-- Building - Furniture -->
 
{{#if: {{{glowcolor|}}} |
 
  {{#vardefine:Red  | {{#replace:{{#explode:{{{glowcolor|}}}|,|0}}|(}} }}
 
  {{#vardefine:Green| {{#explode:{{{glowcolor|}}}|,|1}} }}
 
  {{#vardefine:Blue | {{#replace:{{#explode:{{{glowcolor|}}}|,|2}}|)}} }}
 
  {{#vardefine:LightRadius|{{Lit Radius|{{{glowradius|}}}|{{#expr:{{#var:Red}}+{{#var:Green}}+{{#var:Blue}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Light Radius = {{#var:LightRadius}} }} }}
 
;<abbr title="The furthest away a tile can be before it falls below 30% light">Light Radius</abbr>
 
:{{#expr:{{#var:LightRadius}} round 2}} <!--
 
Color Square: --><abbr title="RGB: {{{glowcolor|}}}"><span><div style="width:16px;height:16px;background-color:rgb({{#var:Red}},{{#var:Green}},{{#var:Blue}});display:inline-block;border:1px solid black;vertical-align:middle;"></div></span></abbr>
 
}}
 
 
 
{{#if: {{{heatpersecond|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Heat Per Second = {{{heatpersecond|}}} }} }}
 
;Heat Per Second
 
:{{{heatpersecond|}}}
 
}}
 
 
 
{{#if: {{{maxheattemperature|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Max Heat Temperature = {{{maxheattemperature|}}} }} }}
 
;Stops Heating At
 
:{{Temperature| {{{maxheattemperature}}} }}
 
}}
 
 
 
{{#if: {{{mincooltemperature|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Min Cool Temperature = {{{mincooltemperature|}}} }} }}
 
;Stops Cooling At
 
:{{Temperature| {{{mincooltemperature}}} }}
 
}}
 
 
 
{{#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|}}}
 
}}
 
 
 
{{#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|}}}
 
}}
 
 
 
{{#if: {{{rest effectiveness|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Rest Effectiveness = {{{rest effectiveness|}}} }} }}
 
;Rest Effectiveness
 
:{{{rest effectiveness|}}}
 
}}
 
 
 
{{#if: {{{comfort|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Comfort Base = {{{comfort|}}} }} }}
 
;Comfort
 
:{{{comfort|}}}
 
}}
 
 
 
{{#if: {{{comfort offset|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Comfort Offset = {{{comfort offset|}}} }} }}
 
;Comfort Offset
 
:{{{comfort offset|}}}
 
}}
 
 
 
<!-- Building - Recreation -->
 
{{#if: {{{recreation power|}}} {{{recreation type|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Recreation Power = {{{recreation power|}}} | Recreation Type = {{ucfirst: {{{recreation type|}}} }} }} }}
 
;Recreation
 
:{{#if: {{{recreation power|}}} | {{%| {{{recreation power|}}} }} }} {{{recreation type|}}}
 
}}
 
 
 
<!-- Building - Production -->
 
{{#if: {{{work speed factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Work Speed Factor = {{{work speed factor|}}} }} }}
 
;Work Speed Factor
 
:{{%| {{{work speed factor|}}} }}
 
}}
 
 
 
{{#if: {{{work efficiency factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Work Efficiency Factor = {{{work efficiency factor|}}} }} }}
 
;Work Efficiency Factor
 
:{{%| {{{work efficiency factor|}}} }}
 
}}
 
 
 
{{#if: {{{unpowered work speed factor|}}} | <!-- work speed at an unpowered workstation -->
 
  {{#if: {{#var:setProperty}} | {{#set:Unpowered Work Speed Factor = {{{unpowered work speed factor|}}} }} }}
 
;Unpowered Work Speed Factor
 
:{{%| {{{unpowered work speed factor|}}} }}
 
}}
 
 
 
<!-- Building - Misc -->
 
{{#if: {{{work speed offset|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Work Speed Offset = {{{work speed offset|}}} }} }}
 
;Work Speed Offset
 
:{{{work speed offset|}}}
 
}}
 
 
 
{{#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|}}}
 
}}
 
 
 
{{#if: {{{efficiency|}}} | <!-- efficiency of a battery -->
 
  {{#if: {{#var:setProperty}} | {{#set:Efficiency = {{{efficiency|}}} }} }}
 
;Efficiency
 
:{{%| {{{efficiency|}}} }}
 
}}
 
 
 
<!-- Building - Floors -->
 
{{#if: {{{speed|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Move Speed Factor = {{{speed|}}} }} }}
 
;Move Speed Factor
 
:{{%| {{{speed|}}} }}
 
}}
 
  
 +
{{#if: {{{flammability|}}}|{{#set:Flammability Base = {{{flammability|}}} }}
 +
;Flammability
 +
:{{#expr:{{{flammability|}}}*100}}%}}
  
<!-- 4. APPAREL -->
+
<!-- Apparel-->
{{#if: {{{insulationcold|}}} {{{insulationheat|}}} {{{insulationcoldfactor|}}} {{{insulationheatfactor|}}} {{{armorsharp|}}} {{{armorblunt|}}} {{{armorheat|}}} {{{armorsharpfactor|}}} {{{armorbluntfactor|}}} {{{armorheatfactor|}}} {{{painshockthreshold|}}} {{{coverage|}}} {{{layer|}}} |
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Apparel</p>
 
<dl>
 
}}
 
  
{{#if: {{{insulationcold|}}} |
+
{{#if: {{{insulationcold|}}}|{{#set:Insulation - Cold Base= {{{insulationcold|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Cold Base= {{{insulationcold|}}} }} }}
 
 
;Insulation - Cold
 
;Insulation - Cold
:{{Temperature| {{{insulationcold|}}} || delta}}
+
:{{{insulationcold|}}}&deg;C}}
}}
 
  
{{#if: {{{insulationheat|}}} |
+
{{#if: {{{insulationheat|}}}|{{#set:Insulation - Heat Base= {{{insulationheat|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Heat Base= {{{insulationheat|}}} }} }}
 
 
;Insulation - Heat
 
;Insulation - Heat
:{{Temperature| {{{insulationheat|}}} || delta}}
+
:{{{insulationheat|}}}&deg;C}}
}}
+
 
 +
{{#if: {{{insulationcoldfactor|}}}|{{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }}
 +
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Cold}}
 +
:{{{insulationcoldfactor|}}}x }}
  
{{#if: {{{insulationcoldfactor|}}} |
+
{{#if: {{{insulationheatfactor|}}}|{{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }} }}
+
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Heat}}
;<abbr title="See Apparel for how this is applied">Insulation Factor - Cold</abbr>
+
:{{{insulationheatfactor|}}}x }}
:{{{insulationcoldfactor|}}}×
 
}}
 
  
{{#if: {{{insulationheatfactor|}}} |
+
{{#if: {{{armorblunt|}}}|{{#set:Armor - Blunt= {{{armorblunt|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }} }}
+
;Armor - Blunt
;<abbr title="See Apparel for how this is applied">Insulation Factor - Heat</abbr>
+
:{{{armorblunt|}}}%}}
:{{{insulationheatfactor|}}}×
 
}}
 
  
{{#if: {{{armorsharp|}}} |
+
{{#if: {{{armorsharp|}}}|{{#set:Armor - Sharp = {{{armorsharp|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Armor - Sharp = {{{armorsharp|}}} }} }}
 
 
;Armor - Sharp
 
;Armor - Sharp
:{{{armorsharp|}}}%
+
:{{{armorsharp|}}}%}}
}}
 
  
{{#if: {{{armorblunt|}}} |
+
{{#if: {{{armorheat|}}}|{{#set:Armor - Heat = {{{armorheat|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Armor - Blunt= {{{armorblunt|}}} }} }}
+
;Armor - Heat
;Armor - Blunt
+
:{{{armorheat|}}}%}}
:{{{armorblunt|}}}%
 
}}
 
  
{{#if: {{{armorheat|}}} |
+
{{#if: {{{armorbluntfactor|}}}|{{#set:Armor Factor - Blunt= {{{armorbluntfactor|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Armor - Heat = {{{armorheat|}}} }} }}
+
;Armor Factor - Blunt
;Armor - Heat
+
:{{{armorbluntfactor|}}}}}
:{{{armorheat|}}}%
 
}}
 
  
{{#if: {{{armorsharpfactor|}}} |
+
{{#if: {{{armorsharpfactor|}}}|{{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }} }}
 
 
;Armor Factor - Sharp
 
;Armor Factor - Sharp
:{{{armorsharpfactor|}}}
+
:{{{armorsharpfactor|}}}}}
}}
 
  
{{#if: {{{armorbluntfactor|}}} |
+
{{#if: {{{armorheatfactor|}}}|{{#set:Armor Factor - Heat = {{{armorheatfactor|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Blunt= {{{armorbluntfactor|}}} }} }}
 
;Armor Factor - Blunt
 
:{{{armorbluntfactor|}}}
 
}}
 
 
 
{{#if: {{{armorheatfactor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Heat = {{{armorheatfactor|}}} }} }}
 
 
;Armor Factor - Heat
 
;Armor Factor - Heat
:{{{armorheatfactor|}}}
+
:{{{armorheatfactor|}}}}}
}}
 
  
{{#if: {{{painshockthreshold|}}} |
+
{{#if: {{{painshockthreshold|}}}|{{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }} }}
 
 
;Pain Shock Threshold
 
;Pain Shock Threshold
:{{{painshockthreshold|}}}%
+
:{{{painshockthreshold|}}}%}}
}}
 
 
 
{{#switch: {{lc:{{{countsAsClothingForNudity|{{{clothing for nudity|}}} }}} }}
 
| 1 | yes | y | t | true = {{#if: {{#var:setProperty}} | {{#set:Clothing For Nudity = True }} }}
 
;Clothing For Nudity
 
:True
 
| 0 | no | n | f | false = {{#if: {{#var:setProperty}} | {{#set:Clothing For Nudity = False }} }}
 
;Clothing For Nudity
 
:False
 
| #default =
 
}}
 
 
 
{{#if: {{{lifestage|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Lifestage = {{{lifestage|}}} }} }}
 
;Lifestage
 
:{{{lifestage|}}}
 
}}
 
  
 
+
{{#if: {{{coverage|}}}|{{#set:Coverage = {{{coverage|}}} }}
{{#if: {{{coverage|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Coverage = {{{coverage|}}} }} }}
 
 
;Coverage
 
;Coverage
:{{{coverage|}}}
+
:{{{coverage|}}}}}
}}
 
  
{{#if: {{{layer|}}} |
+
{{#if: {{{layer|}}}|{{#set:layer= {{{layer|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:layer= {{{layer|}}} }} }}
 
 
;Layer
 
;Layer
:{{{layer|}}}
+
:{{{layer|}}}}}
}}
 
  
<!-- 5. PAWN STATS -->
+
<!-- All pawns (animals, humanoids, mechanoids) -->
<!-- Animal Health --->
 
{{#if: {{{movespeed|}}} {{{massyoung|}}} {{{massjuvenile|}}} {{{massadult|}}} {{{healthscale|}}} {{{bodysize|}}} {{{ridingspeed|}}} {{{hungerrate|}}} {{{diet|}}} {{{lifespan|}}} {{{manhunter|}}} {{{manhuntertame|}}} {{{trainable|}}} {{{wildness|}}} {{{petness|}}} {{{predator|}}} {{{roamMtb|}}} {{{nuzzleMtb|}}} {{{maturityage|}}} {{{juvenileage|}}} {{{combatPower|}}}|
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Pawn Stats</p>
 
<dl>
 
  
{{#ifeq: {{{type|}}} | Animals | {{#if: {{#var:setProperty}} | {{#set:Type = {{{type2|}}} }} }} }}
+
{{#ifeq: {{{type|}}}|Animals|{{#set: Type = {{{type2|}}}}}}}
  
{{#if: {{{combatPower|}}} |
+
{{#if: {{{movespeed|}}}|{{#set:Move Speed Base = {{{movespeed|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Combat Power = {{{combatPower|}}} }} }}
+
;Move Speed
;Combat Power
+
:{{{movespeed|}}}}}
:{{{combatPower}}}
 
}}
 
  
{{#if: {{{bandwidth|}}} |
+
{{#if: {{{massyoung|{{{massadult|}}}}}}|{{#set:Mass - Young= {{{massyoung|{{#expr:{{{massadult}}}/5}}}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Bandwidth = {{{bandwidth|}}} }} }}
+
;Mass - Young
;Bandwidth
+
:{{{massyoung|{{#expr:{{{massadult}}}/5}}}}} kg}}
:{{{bandwidth|}}}
 
}}
 
  
{{#if: {{{movespeed|}}} |
+
{{#if: {{{massjuvenlie|{{{massadult|}}}}}}|{{#set:Mass - Juvenile= {{{massjuvenile|{{#expr:{{{massadult}}}/2}}}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Move Speed Base = {{{movespeed|}}} }} }}
+
;Mass - Juvenile
;Move Speed
+
:{{{massjuvenlie|{{#expr:{{{massadult}}}/2}}}}} kg}}
:{{{movespeed|}}} {{CS}}
 
}}
 
  
{{#if: {{{healthscale|}}} | <!-- please add a short explanation of this property here -->
+
{{#if: {{{massadult|}}}|{{#set:Mass - Adult= {{{massadult|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Health Scale = {{{healthscale|}}} }} }}
+
;Mass - Adult
;Health Scale
+
:{{{massadult|}}} kg}}
:{{{healthscale|}}}
 
}}
 
  
{{#if: {{{bodysize|}}} |
+
{{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Body Size = {{{bodysize|}}} }} }}
+
   {{#set:Attack 1 Damage = {{{attack1dmg|}}} }}
;Body Size
+
  {{#set:Attack 1 Type = {{{attack1type|}}} }}
:{{{bodysize|}}}
+
  {{#set:Attack 1 Part = {{{attack1part|}}} }}
 +
  {{#set:Attack 1 Cooldown = {{{attack1cool|}}} }}
 +
  {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool}}} / 60) }} }}
 +
  {{#set: Attack 1 DPS = {{#var: Attack1DPS}} }}
 +
;Attack{{#if: {{{attack2dmg|}}}|&nbsp;1}}
 +
:{{{attack1part|Body part?}}}<br>{{{attack1dmg|?}}} dmg ({{{attack1type|type?}}})<br>{{ticks|{{{attack1cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack1stun|}}}|{{#set:Attack 1 Stun = {{{attack1stun|}}}}}<br>Stun for {{ticks|{{{attack1stun|0}}}*20}} on first strike}}
  
{{#ifeq: {{{type|}}} | Mechanoid |
+
{{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}|
   {{#vardefine:MassAdult | {{#expr: 60 * {{{bodysize}}} }} }}
+
   {{#set:Attack 2 Damage = {{{attack2dmg|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Mass - Adult = {{#var:MassAdult}} }} }}
+
  {{#set:Attack 2 Type = {{{attack2type|}}} }}
;Mass
+
  {{#set:Attack 2 Part = {{{attack2part|}}} }}
:{{#var:MassAdult}} kg 
+
  {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }}
 +
   {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool}}} / 60) }} }}
 +
  {{#set: Attack 2 DPS = {{#var: Attack2DPS}} }}
 +
;Attack 2
 +
:{{{attack2part|Body part?}}}<br>{{{attack2dmg|?}}} dmg ({{{attack2type|type?}}})<br>{{ticks|{{{attack2cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack2stun|}}}|{{#set:Attack 2 Stun = {{{attack2stun|}}}}}<br>Stun for {{ticks|{{{attack2stun|0}}}*20}} on first strike}}
  
 +
{{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}|
 +
  {{#set:Attack 3 Damage = {{{attack3dmg|}}} }}
 +
  {{#set:Attack 3 Type = {{{attack3type|}}} }}
 +
  {{#set:Attack 3 Part = {{{attack3part|}}} }}
 +
  {{#set:Attack 3 Cooldown = {{{attack3cool|}}} }}
 +
  {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool}}} / 60) }} }}
 +
  {{#set: Attack 3 DPS = {{#var: Attack3DPS}} }}
 +
;Attack 3
 +
:{{{attack3part|Body part?}}}<br>{{{attack3dmg|?}}} dmg ({{{attack3type|type?}}})<br>{{ticks|{{{attack3cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack3stun|}}}|{{#set:Attack 3 Stun = {{{attack3stun|}}}}}<br>Stun for {{ticks|{{{attack3stun|0}}}*20}} on first strike}}
  
   {{#vardefine:PackCapacity | {{#expr: {{{bodysize|}}} * 35 }} }}
+
{{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Pack Capacity = {{#var:PackCapacity}} }} }}
+
  {{#set:Attack 4 Damage = {{{attack4dmg|}}} }}
;Pack Capacity
+
   {{#set:Attack 4 Type = {{{attack4type|}}} }}
:{{#var:PackCapacity}} kg
+
  {{#set:Attack 4 Part = {{{attack4part|}}} }}
 +
  {{#set:Attack 4 Cooldown = {{{attack4cool|}}} }}
 +
   {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool}}} / 60) }} }}
 +
  {{#set: Attack 4 DPS = {{#var: Attack4DPS}} }}
 +
;Attack 4
 +
:{{{attack4part|Body part?}}}<br>{{{attack4dmg|?}}} dmg ({{{attack4type|type?}}})<br>{{ticks|{{{attack4cool|0}}}}} on first strike}}<!--
 +
-->{{#if: {{{attack4stun|}}}|{{#set:Attack 4 Stun = {{{attack4stun|}}}}}<br>Stun for {{ticks|{{{attack4stun|0}}}*20}}}}
  
|  
+
{{#ifeq: {{#varexists: Attack4DPS}}|1|
   <!-- Most animal babies are 0.2 the size of the adults, but birds are 0.1 -->
+
   {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}} + {{#var: Attack3DPS}} + {{#var: Attack4DPS}})/4 * 0.62 round 2}} }}|
   {{#vardefine:BabyScale | {{{babyscale|0.2}}} }}
+
{{#ifeq: {{#varexists: Attack3DPS}}|1|
  {{#if: {{#var:setProperty}} | {{#set:Baby Scale = {{#var:BabyScale}} }} }}
+
   {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}} + {{#var: Attack3DPS}})/3 * 0.62 round 2}} }}|
 +
    {{#ifeq: {{#varexists: Attack2DPS}}|1|
 +
      {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}})/2 * 0.62 round 2}} }}|
 +
      {{#ifeq: {{#varexists: Attack1DPS}}|1|
 +
        {{#vardefine: MobAverageDPS | {{#expr: {{#var: Attack1DPS}} * 0.62 round 2}} }} }} }} }} }}
  
  <!-- Mass is 60*bodysize, with no exceptions -->
+
{{#ifeq: {{#varexists: MobAverageDPS}}|1|
  {{#vardefine:MassYoung | {{#expr: 60 * {{{bodysize}}} * {{#var:BabyScale}} }} }}
+
;Average DPS
  {{#if: {{#var:setProperty}} | {{#set:Mass - Young = {{#var:MassYoung}} }} }}
+
:{{#var: MobAverageDPS}}
;Mass - Baby
+
{{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
:{{#var:MassYoung}} kg
 
  
  {{#vardefine:MassJuvenile | {{#expr: 60 * {{{bodysize}}} * 0.5 }} }}
+
{{#if: {{{mobdamage|}}}|{{#set:Melee Damage Base = {{{mobdamage|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Mass - Juvenile = {{#var:MassJuvenile}} }} }}
+
;Damage
;Mass - Juvenile
+
:{{{mobdamage|}}}}}
:{{#var:MassJuvenile}} kg
 
  
  {{#vardefine:MassAdult | {{#expr: 60 * {{{bodysize}}} }} }}
+
{{#if: {{{mobdamagetype|}}}|{{#set:Melee Damage Def = {{{mobdamagetype|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Mass - Adult = {{#var:MassAdult}} }} }}
+
;Damage Type
;Mass - Adult
+
:{{{mobdamagetype|}}}}}
:{{#var:MassAdult}} kg
 
  
{{#ifeq: {{lc:{{{packanimal|}}} }} | true |
+
{{#if: {{{mobdamage2|}}}|{{#set:Melee Damage Base = {{{mobdamage2|}}} }}
  {{#vardefine:PackCapacity | {{#expr: {{{bodysize|}}} * 35 }} }}
+
;Damage
  {{#if: {{#var:setProperty}} | {{#set:Pack Capacity = {{#var:PackCapacity}} }} }}
+
:{{{mobdamage2|}}}}}
;Pack Capacity
 
:{{#var:PackCapacity}} kg
 
}}
 
}}
 
  
  {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }}
+
{{#if: {{{mobdamagetype2|}}}|{{#set:Melee Damage Def = {{{mobdamagetype2|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Carrying Capacity = {{#var:CarryingCapacity}} }} }}
+
;Damage Type
;Carrying Capacity
+
:{{{mobdamagetype2|}}}}}
:{{#var:CarryingCapacity}} kg
 
}}
 
  
 +
{{#if: {{{mobdamage3|}}}|{{#set:Melee Damage Base = {{{mobdamage3|}}} }}
 +
;Damage
 +
:{{{mobdamage3|}}}}}
  
}}
+
{{#if: {{{mobdamagetype3|}}}|{{#set:Melee Damage Def = {{{mobdamagetype3|}}} }}
 +
;Damage Type
 +
:{{{mobdamagetype3|}}}}}
  
{{#if: {{{ridingspeed|}}} |
+
{{#if: {{{mobdamageaverage|}}}|{{#set:Average Melee Damage = {{{mobdamageaverage|}}}}}}}
  {{#if: {{#var:setProperty}} | {{#set:Riding Speed = {{{ridingspeed|}}} }} }}
 
;<abbr title="Multiplier to the caravan's movement speed.">Riding Speed</abbr>
 
:{{{ridingspeed|}}}
 
}}
 
  
{{#if: {{#vardefineecho:FilthRate | {{{filth rate|{{#if: {{{bodysize|}}} | 1}} }}} }} | <!-- Filth rate seems to default to 1 in game if it's not set in the xml. -->
+
{{#ifeq: {{{type|}}} | Animals |
   {{#if: {{#var:setProperty}} | {{#set:Animal Filth Rate = {{#var:FilthRate}} }} }}
+
  {{#vardefine: MeatName | {{{meatname | {{#var:Name}} meat}}} }}
;<abbr title="The average amount of filth produced on constructed floors per 1000 cells walked by this creature.">Filth Rate</abbr>
+
   {{#vardefine: LeatherName | {{{leathername | {{#var:Name}} leather}}} }} {{#set: Leather Name = {{#var: LeatherName}} }}
:{{#var:FilthRate}}
+
  {{#if: {{{is exotic species|}}}|{{#set: Is Exotic Species = true}}|{{#set: Is Exotic Species = false}}}}|
 
}}
 
}}
  
{{#if: {{{hungerrate|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Base Hunger Rate = {{{hungerrate|}}} | Real Hunger Rate = {{#expr: {{{hungerrate|}}} * 1.6 round 2}} }} }}
 
;<abbr title="Nutrition lost per day.">Hunger Rate</abbr>
 
:{{#expr: {{{hungerrate|}}} * 1.6 round2}} Nutrition/Day
 
}}
 
  
{{#if: {{{diet|}}} |
 
  {{#if: {{#var:setProperty}} |
 
    {{#set:Diet = {{#explode:{{{diet|}}}|,|0}}
 
        | Diet = {{#explode:{{{diet|}}}|,|1}}
 
        | Diet = {{#explode:{{{diet|}}}|,|2}} }} }}
 
;Diet
 
:{{{diet|}}}
 
}}
 
  
{{#if: {{{lifespan|}}} |
+
{{#if: {{{bodysize|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Life Expectancy = {{{lifespan|}}} }} }}
+
   {{#set: Body Size = {{{bodysize|}}} }}
;Life Expectancy
 
:{{{lifespan|}}} years
 
}}
 
  
{{#if: {{{manhunter|}}} |
+
  {{#vardefine: MeatYield | {{{meatyield | {{#expr: 90 * {{{bodysize}}} round 0}}}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }} }}
+
  {{#set: Meat Yield = {{#var: MeatYield}} }}
;<abbr title="Chance of this animal turning manhunter when attacked.">Manhunter Chance</abbr>
+
;Meat Yield
:{{%| {{{manhunter|}}} }}
+
:{{#var: MeatYield}}  [[Meat|{{lc:{{#var:MeatName}}}}]]
}}
 
  
{{#if: {{{manhuntertame|}}} |
+
  {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }}
   {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }} }}
+
   {{#set: Carrying Capacity = {{#var: CarryingCapacity}} }}
;<abbr title="Chance of this animal turning manhunter on a failed taming attempt.">Manhunter Chance (Taming)</abbr>
+
;Carrying Capacity
:{{%| {{{manhuntertame|}}} }}
+
:{{#var: CarryingCapacity}}
}}
 
  
{{#if: {{{trainable|}}} |
+
  <!-- Use leatheryield when set, otherwise (incorrectly in some cases) assume 30 * bodysize -->
   {{#if: {{#var:setProperty}} |
+
  <!-- See Property:Leather_Yield for details -->
    {{#set:Trainable Intelligence = {{{trainable|}}} }}
+
   {{#vardefine: LeatherYield | {{{leatheryield | {{#expr: 30 * {{{bodysize}}} round 0}} }}} }}
    {{#switch: {{lc: {{{trainable|}}} }}
+
  {{#set: Leather Yield = {{#var: LeatherYield}} }}
      | none =        {{#set:Can Train Guard = no  | Can Train Attack = no  | Can Train Rescue = no | Can Train Haul = no  }}
+
;Leather Yield
      | hauling only = {{#set:Can Train Guard = no  | Can Train Attack = no  | Can Train Rescue = no | Can Train Haul = yes }}
+
:{{#var: LeatherYield}} [[{{#var: LeatherName}}|{{lc:{{#var: LeatherName}}}}]]
      | simple =      {{#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  }}
 
      | advanced =     {{#set:Can Train Guard = yes | Can Train Attack = yes
 
        | Can Train Rescue = {{#ifexpr: {{{bodysize|}}} < 0.65| no | yes}}
 
        | Can Train Haul  = {{#ifexpr: {{{bodysize|}}} < 0.4 | no | yes}}
 
  }} }} }}
 
;Trainable Intelligence
 
:{{ucfirst:{{{trainable|}}} }}
 
}}
 
 
 
{{#if: {{{wildness|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Wildness = {{{wildness|}}} }} }}
 
;<abbr title="Wilder creatures are naturally more difficult to tame, train, and handle.">Wildness</abbr>
 
:{{%| {{{wildness|}}} | 0 }}
 
  
   {{#vardefine: MinHandlingSkill | {{#if: {{{min handling skill|}}} | {{{min handling skill|}}} | {{#expr:
+
   {{#vardefine: FilthRate | {{#expr: 1.25 * {{{bodysize|}}} * {{#if: {{{petness|}}}|{{#expr: 1 - {{{petness|}}} }}|1}} round2}} }}
    {{#ifexpr: {{{wildness|}}} < 0.2 | 0
+
   {{#set: Animal Filth Rate = {{#var: FilthRate}} }}
      | {{#ifexpr: {{{wildness|}}} < 0.45 | 1
+
;{{H:title|link=no|The average amount of filth produced on constructed floors per 1000 cells walked by this creature.|Filth Rate}}
        | {{#ifexpr: {{{wildness|}}} < 0.55 | 4
+
:{{#var: FilthRate}}  
          | {{#ifexpr: {{{wildness|}}} < 0.75 | 5
 
            | {{#ifexpr: {{{wildness|}}} < 0.8 | 7
 
              | {{#ifexpr: {{{wildness|}}} < 0.9 | 8
 
                | {{#ifexpr: {{{wildness|}}} < 0.97 | 9
 
                  | 10
 
    }} }} }} }} }} }} }} <!-- Is this really the exact formula? [[Animals#Minimum_skill]] says otherwise, but that formula must be wrong as well -->
 
    {{#ifeq: {{#var:Name}} | Human | + 7 }}
 
  }} }} }}
 
   {{#if: {{#var:setProperty}} | {{#set:Minimum Handling Skill = {{#var:MinHandlingSkill}} }} }}
 
  {{#ifeq: {{#var:MinHandlingSkill}}|0||
 
;<abbr title="This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.">Minimum Handling Skill</abbr>
 
:{{#var:MinHandlingSkill}} }}
 
 
}}
 
}}
  
{{#if: {{{petness|}}} | {{#if: {{#var:setProperty}} | {{#set:Petness = {{{petness|}}} }} }} }}
+
{{#if: {{{manhunter|}}}|{{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }}
 +
;{{H:title|link=no|Chance of this animal turning manhunter when attacked.|Manhunter Chance}}
 +
:{{#expr: {{{manhunter|}}} * 100}}%}}
  
{{#ifeq: {{{predator|}}} | true | {{#if: {{#var:setProperty}} | {{#set:Is Predator = true}} }}|}}
+
{{#if: {{{manhuntertame|}}}|{{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }}
 +
;{{H:title|link=no|Chance of this animal turning manhunter on a failed taming attempt.|Manhunter Chance (Taming)}}
 +
:{{#expr: {{{manhuntertame|}}} * 100}}%}}
  
{{#if: {{{roamMtb|}}} |
+
{{#if: {{{hungerrate|}}}|{{#set:Base Hunger Rate = {{{hungerrate|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Roam Mtb Days = {{{roamMtb|}}} }} }}
+
;{{H:title|link=no|Nutrition lost per day.|Hunger Rate}}
;<abbr title="How often an animal will attempt to roam away if not in a pen.">Roam Interval</abbr>
+
:{{#expr: {{{hungerrate|}}} * 1.6 round2}} }}
:{{{roamMtb|}}} days
 
}}
 
  
{{#if: {{{nuzzleMtb|}}} |
+
{{#if: {{{diet|}}}|{{#set:Diet ={{{diet|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Nuzzle Mtb Hours = {{{nuzzleMtb|}}} }} }}
+
;Diet
;<abbr title="How often an animal will nuzzle friendly colonists, on average.">Nuzzle Interval</abbr>
+
:{{{diet|}}}}}
{{#ifexpr: {{{nuzzleMtb|}}} <= 24
 
  |{{#switch: {{{nuzzleMtb|}}}
 
    |24 = :1&nbsp;day
 
    |1 = :1&nbsp;hour
 
    |#default = :{{{nuzzleMtb|}}}&nbsp;hours}}
 
  |:{{#expr: {{{nuzzleMtb|}}} / 24 round1}}&nbsp;days}}
 
}}
 
  
{{#if: {{{mateMtb|}}} |
+
{{#if: {{{lifespan|}}}|{{#set:Life Expectancy = {{{lifespan|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Mate Mtb Hours = {{{mateMtb|}}} }} }}
+
;Life Expectancy
;<abbr title="How often an awake, non-sterilised male will attempt to mate with a female, on average.">Mate Interval</abbr>
+
:{{{lifespan|}}}}}
:{{{mateMtb|}}} hours
 
}}
 
  
{{#if: {{{maturityage|}}} |
+
{{#if: {{{trainable|}}}|{{#set:Trainable Intelligence = {{{trainable|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Maturity Age = {{{maturityage|}}} }} }}
+
;Trainable Intelligence
;<abbr title="The age at which an animal reaches adulthood.">Maturity Age</abbr>
+
:{{{trainable|}}}
:{{#expr:{{{maturityage|}}} round 3}} years {{#ifexpr: {{{maturityage|}}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{{maturityage|}}} |R}}*60)round 1}} }} days)
+
{{#switch: {{{trainable|}}}
 +
| none = {{#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}}
 +
| intermediate = {{#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}}}}
 
}}
 
}}
 
{{#if: {{{juvenileage|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Juvenile Age = {{{juvenileage|}}} }} }}
 
;<abbr title="The age at which an animal becomes a juvenile.">Juvenile Age</abbr>
 
:{{#expr:{{{juvenileage|}}} round 3}} years {{#ifexpr: {{{juvenileage|}}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{{juvenileage|}}}|R}}*60)round 1}} }} days) }} }}
 
 
}}
 
}}
  
 +
{{#if: {{{wildness|}}}|{{#set:Wildness = {{{wildness|}}} }}
 +
;{{H:title|link=no|Wilder creatures are naturally more difficult to tame, train, and handle.|Wildness}}
 +
:{{#expr: {{{wildness|}}} * 100 round0}}%
  
{{#if: {{{min comfortable temperature|}}} |
+
  {{#vardefine: MinHandlingSkill |
  {{#if: {{{max comfortable temperature|}}} |
+
    {{#ifexpr:  
    {{#if: {{#var:setProperty}} | {{#set:Min Comfortable Temperature = {{{min comfortable temperature|}}} }} }}
+
      {{{wildness|}}} < .2|0
    {{#if: {{#var:setProperty}} | {{#set:Max Comfortable Temperature = {{{max comfortable temperature|}}} }} }}
+
      |{{#ifexpr: {{{wildness|}}} < .45|1
;Comfortable Temp Range
+
      |{{#ifexpr: {{{wildness|}}} < .55|4
:{{Temperature|{{{min comfortable temperature|}}}|{{{max comfortable temperature|}}} }}
+
      |{{#ifexpr: {{{wildness|}}} < .75|5
}} }}
+
      |{{#ifexpr: {{{wildness|}}} < .8|7
 
+
      |{{#ifexpr: {{{wildness|}}} < .9|8
{{#if: {{{livesin_temperateforest|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Temperate Forest = true }} }} }}
+
      |{{#ifexpr: {{{wildness|}}} < .97|9
{{#if: {{{livesin_temperateswamp|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Temperate Swamp = true }} }} }}
+
      |10}} }} }} }} }} }} }} }}
{{#if: {{{livesin_tropicalrainforest|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Tropical Rainforest = true }} }} }}
+
  {{#set:Minimum Handling Skill = {{#var: MinHandlingSkill}} }}
{{#if: {{{livesin_tropicalswamp|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Tropical Swamp = true }} }} }}
+
  {{#ifeq: {{#var: MinHandlingSkill}}|0||
{{#if: {{{livesin_aridshrubland|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Arid Shrubland = true }} }} }}
+
;{{H:title|link=no|This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.|Minimum Handling Skill}}
{{#if: {{{livesin_desert|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Desert = true }} }} }}
+
:{{#var: MinHandlingSkill}} }}  
{{#if: {{{livesin_extremedesert|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Extreme Desert = true }} }} }}
 
{{#if: {{{livesin_borealforest|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Boreal Forest = true }} }} }}
 
{{#if: {{{livesin_coldbog|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Cold Bog = true }} }} }}
 
{{#if: {{{livesin_tundra|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Tundra = true }} }} }}
 
{{#if: {{{livesin_icesheet|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Ice Sheet = true }} }} }}
 
{{#if: {{{livesin_seaice|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Sea Ice = true }} }} }}
 
 
 
<!-- 6. PRODUCTION -->
 
{{#if: {{{meatyield|}}} {{{meatname|}}} {{{leathername|}}} {{{leatheryield|}}} {{{milk|}}} {{{milkname|}}} {{{milktime|}}} {{{wool|}}} {{{woolname|}}} {{{sheartime|}}} {{{eggsmin|}}} {{{eggsmax|}}} {{{eggtime|}}} {{{eggs_avg|}}} {{{eggs_unfertilized|}}} {{{gestation|}}} {{{offspring|}}} {{{avg offspring|}}} |
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Production</p>
 
<dl>
 
 
}}
 
}}
  
{{#ifeq:{{#expr:{{#ifeq:{{{type|}}}|Animals|1|0}} or {{#ifeq:{{{type|}}}|Animal|1|0}} }}|1|
+
{{#if: {{{petness|}}}|{{#set: Petness = {{{petness|}}} }} }}
  {{#vardefine: MeatName | {{{meatname | {{#var:Name}} meat}}} }}
 
  {{#vardefine: LeatherName | {{{leathername | {{#var:Name}} leather}}} }}
 
  {{#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:setProperty}} | {{#set:Leather Name = {{#var:LeatherName}} }} }} }}
 
 
 
{{#if: {{{bodysize|}}} |
 
  <!-- Uses meatyield when set, otherwise interpolates from curve applied to 140*body_size or basemeatamount*bodysize -->
 
  <!-- See Property:Meat_Yield for details -->
 
  {{#if:{{#var:MeatName}} |
 
    {{#vardefine: MeatYield | {{{meatyield | {{Meat Leather Curve | {{{basemeatamount|140}}} * {{{bodysize|}}} }} }}} }}
 
    {{#if: {{#var:setProperty}} | {{#set:Meat Yield = {{#var:MeatYield}} }} }}
 
;Meat Yield
 
:{{#var:MeatYield}} [[Meat|{{lc:{{#var:MeatName}} }}]]
 
  }}
 
  
  <!-- Uses leatheryield when set, otherwise interpolates from curve applied to 40*body_size or baseleatheramount*bodysize-->
+
{{#ifeq: {{{predator|}}}|true|{{#set:Is Predator = true}}|}}
  <!-- See Property:Leather_Yield for details -->
 
  {{#if: {{#var:LeatherName}}
 
    | {{#ifeq: {{#vardefineecho:LeatherYield | {{{leatheryield | {{Meat Leather Curve | {{{baseleatheramount|40}}} * {{{bodysize|}}} }} }}} }}
 
| 0 |
 
| {{#if: {{#var:setProperty}} | {{#set:Leather Yield = {{#var:LeatherYield}} }} }}
 
;Leather Yield
 
:{{#var:LeatherYield}} [[{{#var:LeatherName}}|{{lc:{{#var:LeatherName}} }}]]
 
}} }} }}
 
  
{{#if: {{{milk|}}} |
+
{{#if: {{{milk|}}}|{{#set: Milk Amount = {{{milk|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Milk Amount = {{{milk|}}} }} }}
+
;[[Milk]] Amount
  {{#vardefine: MilkName | {{{milkname| Milk}}} }}
+
:{{{milk|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Milk Name = {{#var:MilkName}} }} }}
 
;Milk Amount
 
:{{{milk|}}} [[{{#var:MilkName}}|{{lc:{{#var:MilkName}} }}]]
 
}}
 
  
  
{{#if: {{{milktime|}}} |
+
{{#if: {{{milktime|}}}|{{#set: Milking Interval Days = {{{milktime|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Milking Interval Days = {{{milktime|}}} }} }}
+
{{#set: Daily Milk Average = {{#expr: {{{milk|}}}/{{{milktime|}}}round2}} }}
  {{#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|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Wool Amount = {{{wool|}}} }} }}
+
   {{#set: Wool Amount = {{{wool|}}}}}
   {{#vardefine: WoolName | {{{woolname | {{#var:Name}} wool}}} }}
+
   {{#vardefine: WoolName | {{{woolnam | {{#var:Name}} wool}}} }}
  {{#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|}}} |
+
{{#if: {{{sheartime|}}}|{{#set: Shearing Interval Days = {{{sheartime|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Shearing Interval Days = {{{sheartime|}}} }} }}
+
{{#set: Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }}
  {{#if: {{#var:setProperty}} | {{#set:Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }} }}
 
 
;Shearing Interval
 
;Shearing Interval
:{{{sheartime|}}}&nbsp;days
+
:{{{sheartime|}}}&nbsp;days}}
}}
+
 
 +
{{#if: {{{nuzzleMtb|}}}|{{#set: Nuzzle Mtb Hours = {{{nuzzleMtb|}}} }}
 +
;{{H:title|link=no|How often an animal will nuzzle friendly colonists, on average.|Nuzzle Interval}}
 +
{{#ifexpr: {{{nuzzleMtb|}}} <= 24
 +
  |{{#switch: {{{nuzzleMtb|}}}
 +
    |24 = :1&nbsp;day
 +
    |1 = :1&nbsp;hour
 +
    |#default = :{{{nuzzleMtb|}}}&nbsp;hours}}
 +
  |:{{#expr: {{{nuzzleMtb|}}} / 24 round1}}&nbsp;days}} }}
 +
  
{{#if: {{{eggsmin|}}} |
+
{{#if: {{{eggsmin|}}}|{{#set: Eggs Per Clutch Minimum = {{{eggsmin|}}} }}
  {{#if: {{{eggsmax|}}} |
+
{{#if: {{{eggsmax|}}}|{{#set: Eggs Per Clutch Maximum = {{{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
:{{{eggsmin|}}} to {{{eggsmax|}}}
+
:{{#show: {{#var:Name}}|?Eggs Per Clutch Minimum|link=none}} to {{#show: {{#var:Name}}|?Eggs Per Clutch Maximum|link=none}} }}
}} }}
 
  
{{#if: {{{eggtime|}}} |
+
{{#if: {{{eggtime|}}}|{{#set: Egg Laying Interval = {{{eggtime|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Egg Laying Interval = {{{eggtime|}}} }} }}
+
{{#set: Eggs Per Season Average = {{#expr: {{{eggs_avg|}}}/{{{eggtime|}}}*15 round 2}} }}
  {{#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|}}} | {{#if: {{#var:setProperty}} | {{#set:Eggs Per Clutch Average = {{{eggs_avg|}}} }} }} }}
+
{{#if: {{{eggs_avg|}}}|{{#set: Eggs Per Clutch Average = {{{eggs_avg|}}} }} }}
  
{{#if: {{{eggs_unfertilized|}}} |
+
{{#if: {{{eggs_unfertilized|}}}|{{#set: Can Lay Unfertilized Eggs = {{{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|}}} |
+
{{#if: {{{gestation|}}}|{{#set: Gestation Period Days = {{{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|}}} |
+
{{#if: {{{offspring|}}}|{{#set: Offspring Per Birth = {{{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: {{{maturityage|}}}|{{#set: Maturity Age = {{{maturityage|}}} }}
 +
;Maturity Age
 +
:{{{maturityage|}}} }}
  
<!-- 7. INGESTION -->
+
{{#if: {{{livesin_aridshrubland|}}}|{{#set: Lives in Arid Shrubland = true}} }}
{{#if: {{{nutrition|}}} {{{taste|}}} {{{ingested direct thought|}}} {{{joy offset|}}} {{{joy kind|}}} {{{addictiveness|}}} {{{food poison chance|}}} {{{max num to ingest at once|}}} {{{ingestion time|}}}|
+
{{#if: {{{livesin_borealforest|}}}|{{#set: Lives in Boreal Forest = true}} }}
</dl>{{clear}}
+
{{#if: {{{livesin_desert|}}}|{{#set: Lives in Desert = true}} }}
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Ingestion</p>
+
{{#if: {{{livesin_extremedesert|}}}|{{#set: Lives in Extreme Desert = true}} }}
<dl>
+
{{#if: {{{livesin_icesheet|}}}|{{#set: Lives in Icesheet = true}} }}
}}
+
{{#if: {{{livesin_seaice|}}}|{{#set: Lives in Sea Ice = true}} }}
 +
{{#if: {{{livesin_temperateforest|}}}|{{#set: Lives in Temperate Forest = true}} }}
 +
{{#if: {{{livesin_tropicalrainforest|}}}|{{#set: Lives in Tropical Rainforest = true}} }}
 +
{{#if: {{{livesin_tundra|}}}|{{#set: Lives in Tundra = true}} }}
  
{{#if: {{{nutrition|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Nutrition = {{{nutrition|}}} }} }}
 
;<abbr title="Nutrition gained when this item or object is eaten">Nutrition</abbr>
 
:{{{nutrition}}}
 
}}
 
  
{{#if: {{{taste|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Taste = {{ucfirst: {{{taste|}}} }} }} }}
 
;Taste
 
:{{ucfirst: {{{taste|}}} }}
 
}}
 
  
{{#if: {{{ingested direct thought|}}} |
+
<!--Plants-->
  {{#if: {{#var:setProperty}} | {{#set:Ingested Direct Thought = {{{ingested direct thought|}}} }} }}
 
;Ingested Direct Thought
 
:{{{ingested direct thought|}}}
 
}}
 
  
{{#if: {{{joy offset|}}} |
+
{{#if: {{{growth time|}}}|{{#set:Growth Time = {{{growth time|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Joy Offset = {{{joy offset|}}} }} }}
+
;Time to grow
;Recreation Offset
+
:{{{growth time|}}} day(s)}}
:{{%|{{{joy offset|}}} }}
 
}}
 
  
{{#if: {{{joy kind|}}} |
+
{{#if: {{{yield|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Joy Kind = {{{joy kind|}}} }} }}
+
;Food Yield
;Recreation Kind
+
:{{{yield|}}} [[food|food]]}}
:{{{joy kind|}}}
 
}}
 
  
{{#if: {{{addictiveness|}}} |
+
{{#if: {{{wood|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Addictiveness = {{{addictiveness|}}} }} }}
+
;Wood Yield
;Addictiveness
+
:{{{wood|}}}}}
:{{%| {{{addictiveness|}}} }}
 
}}
 
  
{{#if: {{{food poison chance|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Food Poison Chance Base = {{{food poison chance|}}} }} }}
 
;Food Poison Chance
 
:{{%| {{{food poison chance|}}} }}
 
}}
 
  
{{#if: {{{max num to ingest at once|}}} |
+
<!--Buildings-->
  {{#if: {{#var:setProperty}} | {{#set:Max Num To Ingest At Once = {{{max num to ingest at once|}}} }} }}
 
;<abbr title="Maximum Number To Ingest At Once">Maximum To Ingest</abbr>
 
:{{{max num to ingest at once|}}}
 
}}
 
  
{{#if: {{{ingestion time|}}} |
+
{{#if: {{{power|}}}|{{#set:Power Consumption = {{{power|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Ingestion Time= {{{ingestion time|}}} }} }}
+
;Power
;Ingestion Time
+
:{{{power|}}}W}}
:{{ticks| {{{ingestion time|}}} }}
 
}}
 
  
 +
{{#if: {{{facility|}}}|{{#set:Facility = {{{facility|}}} }}}}
  
<!-- 8. STAT MODIFIERS (for Materials) -->
+
{{#if: {{{material amount|}}}{{{material name|}}}|{{#set:Material Amount = {{{material amount|}}} }}  {{#set:Material Name= {{{material name|}}} }}
{{#if: {{{beauty factor|}}} {{{beauty offset|}}} {{{work to make factor|}}} {{{work to build factor|}}} {{{work to build offset|}}} {{{max hit points factor|}}} {{{flammability factor|}}} {{{armor - sharp factor|}}} {{{armor - blunt factor|}}} {{{armor - heat factor|}}} {{{armor - heat factor|}}} {{{insulation - cold factor|}}} {{{insulation - heat factor|}}} {{{melee blunt damage factor|}}} {{{melee sharp damage factor|}}} {{{melee cooldown factor|}}} {{{door opening speed factor|}}} {{{rest effectiveness factor|}}}|
+
;Materials
</dl>{{clear}}
+
:{{icon|{{lc:{{{material name|buildingmat}}}}}|{{{material amount|}}}|16
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Stat Modifiers</p>
+
}}{{#if: {{{material 2 amount|}}}{{{material 2 name|}}}|
<dl>
+
  {{#set:Material 2 Amount = {{{material 2 amount|}}} }}  {{#set:Material 2 Name= {{{material 2 name|}}} }}
 +
  &nbsp;& {{icon|{{lc:{{{material 2 name|component}}}}}|{{{material 2 amount|}}}|16
 +
  }} {{#if: {{{material 3 amount|}}}{{{material 3 name|}}}|
 +
    {{#set:Material 3 Amount = {{{material 3 amount|}}} }}    {{#set:Material 3 Name= {{{material 3 name|}}} }}
 +
    &nbsp;& {{icon|{{lc:{{{material 3 name|component}}}}}|{{{material 3 amount|}}}|16
 +
    }} {{#if: {{{material 4 amount|}}}{{{material 4 name|}}}|
 +
      {{#set:Material 4 Amount = {{{material 4 amount|}}} }}      {{#set:Material 4 Name= {{{material 4 name|}}} }}
 +
      &nbsp;& {{icon|{{lc:{{{material 4 name|component}}}}}|{{{material 4 amount|}}}|16
 +
      }} }}
 +
    }}
 +
  }}
 
}}
 
}}
  
{{#if: {{{beauty factor|}}} |
+
<!--Floors-->
  {{#if: {{#var:setProperty}} | {{#set:Beauty Factor = {{{beauty factor|}}} }} }}
 
;Beauty Factor
 
:×{{{beauty factor|}}}
 
}}
 
  
{{#if: {{{beauty offset|}}} |
+
{{#if: {{{speed|}}}|{{#set:Move Speed Factor = {{{speed|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Beauty Offset = {{{beauty offset|}}} }} }}
+
;Move Speed Factor
;Beauty Offset
+
:{{#expr:{{{speed|}}}*100}}%
:+{{{beauty offset|}}}
 
}}
 
 
 
{{#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|}}}
 
 
}}
 
}}
  
{{#if: {{{work to build factor|}}} |
+
<!--Furniture-->
  {{#if: {{#var:setProperty}} | {{#set:Work To Build Factor = {{{work to build factor|}}} }} }}
 
;Work To Build Factor
 
:×{{{work to build factor|}}}
 
}}
 
  
{{#if: {{{work to build offset|}}} |
+
{{#if: {{{immunity gain speed factor|}}}|{{#set:Immunity Gain Speed Factor = {{{immunity gain speed factor|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Work To Build Offset = {{{work to build offset|}}} }} }}
+
;Immunity Gain Speed Factor
;Work To Build Offset
+
:{{{immunity gain speed factor|}}}}}
:+{{ticks| {{{work to build offset|}}} }}
 
}}
 
 
 
{{#if: {{{max hit points factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Max Hit Points Factor = {{{max hit points factor|}}} }} }}
 
;Max Hit Points
 
:×{{{max hit points factor|}}}
 
}}
 
 
 
{{#if: {{{flammability factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Flammability Factor = {{{flammability factor|}}} }} }}
 
;Flammability
 
:×{{{flammability factor|}}}
 
}}
 
 
 
{{#if: {{{armor - sharp factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Armor - Sharp Factor = {{{armor - sharp factor|}}} }} }}
 
;Armor - Sharp
 
:×{{{armor - sharp factor|}}}
 
}}
 
 
 
{{#if: {{{armor - blunt factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Armor - Blunt Factor = {{{armor - blunt factor|}}} }} }}
 
;Armor - Blunt
 
:×{{{armor - blunt factor|}}}
 
}}
 
 
 
{{#if: {{{armor - heat factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Armor - Heat Factor = {{{armor - heat factor|}}} }} }}
 
;Armor - Heat
 
:×{{{armor - heat factor|}}}
 
}}
 
 
 
{{#if: {{{insulation - cold factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Cold Factor = {{{insulation - cold factor|}}} }} }}
 
;Insulation - Cold
 
:+{{Temperature| {{{insulation - cold factor|}}} || delta }}
 
}}
 
 
 
{{#if: {{{insulation - heat factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Insulation - Heat Factor = {{{insulation - heat factor|}}} }} }}
 
;Insulation - Heat
 
:+{{Temperature| {{{insulation - heat factor|}}} || delta }}
 
}}
 
 
 
{{#if: {{{melee blunt damage factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Melee Blunt Damage Factor = {{{melee blunt damage factor|}}} }} }}
 
;Melee Blunt Damage
 
:×{{{melee blunt 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 factor|}}}
 
}}
 
 
 
{{#if: {{{melee cooldown factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Melee Cooldown Factor = {{{melee cooldown factor|}}} }} }}
 
;Melee Cooldown
 
:×{{{melee cooldown factor|}}}
 
}}
 
 
 
{{#if: {{{door opening speed factor|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Door Opening Speed Factor = {{{door opening speed factor|}}} }} }}
 
;Door Opening Speed
 
:×{{{door opening speed factor|}}}
 
}}
 
  
{{#if: {{{rest effectiveness factor|}}} |
+
{{#if: {{{rest effectiveness|}}}|{{#set:Rest Effectiveness = {{{rest effectiveness|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Rest Effectiveness Factor = {{{rest effectiveness factor|}}} }} }}
 
 
;Rest Effectiveness
 
;Rest Effectiveness
:×{{{rest effectiveness factor|}}}
+
:{{{rest effectiveness|}}}}}
}}
 
  
 +
{{#if: {{{comfort|}}}|{{#set:Comfort Base = {{{comfort|}}} }}
 +
;Comfort
 +
:{{{comfort|}}}}}
  
<!-- 9. MEDICAL -->
+
{{#if: {{{comfort offset|}}}|{{#set:Comfort Offset = {{{comfort offset|}}} }}
{{#if: {{{medical potency base|}}} {{{medical quality max|}}} |
+
;Comfort Offset
</dl>{{clear}}
+
:{{{comfort offset|}}}}}
<p class='subheading' style='height: 1em !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: {{{cover|}}}|{{#set:Cover Effectiveness= {{{cover|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Medical Quality Max = {{{medical quality max|}}} }} }}
+
;Cover Effectiveness
;Max medical tend quality
+
:{{#expr:{{{cover|}}}*100}}%}}
:{{%| {{{medical quality max|}}} }}
 
}}
 
  
 +
<!--Weapons-->
  
<!-- 10. PLANT STATS -->
+
{{#if: {{{class|}}}|{{#set:Class = {{{class|}}} Weapons}}
{{#if: {{{grow days|}}} {{{sow work|}}} {{{harvest work|}}} {{{product|}}} {{{yield|}}} {{{min sowing skill|}}} {{{min fertility|}}} {{{fertility sensitivity|}}} {{{min grow light|}}}|
+
;Class
</dl>{{clear}}
+
:[[{{{class|}}} Weapons|{{{class|}}}]]
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Plant Stats</p>
 
<dl>
 
}}
 
 
 
{{#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
 
:{{{grow days|}}} days <abbr title="Actual days to grow, taking into account rest time">({{#var:realGrowDays}} days)</abbr>
 
}}
 
 
 
{{#if: {{{lifespanDaysPerGrowDays|}}} |
 
  {{#if: {{{grow days|}}} |
 
    {{#if: {{#var:setProperty}} | {{#set:Lifespan Days Per Grow Days = {{{lifespanDaysPerGrowDays|}}} }} }}
 
;Lifespan
 
:{{#ifeq: {{{lifespanDaysPerGrowDays|}}} | 0 | Indefinite |  {{#if: {{#var:setProperty}} | {{#set:Lifespan = {{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }} }} }}{{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }} days}}
 
}} }}
 
 
 
{{#if: {{{sow work|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Sow Work = {{{sow work|}}} }} }}
 
;Work to Sow
 
:{{ticks| {{{sow work|}}} }}
 
}}
 
 
 
{{#if: {{{harvest work|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Harvest Work = {{{harvest work|}}} }} }}
 
;Work to Harvest
 
:{{ticks| {{{harvest work|}}} }}
 
}}
 
 
 
{{#if: {{{product|}}} |
 
{{#if: {{{yield|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Harvest Product = {{{product|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Harvest Yield = {{{yield|}}} }} }}
 
;<abbr title="Assumes 1x multipliers from difficulty, pawn stats, and other sources.">Base Harvest Yield</abbr>
 
:{{{yield|}}} {{Icon Small| {{{product|}}} | 16 }}
 
}}
 
 
 
{{#if: {{{yield|}}} |
 
  {{#if: {{{sow work|}}} |
 
    {{#if: {{{harvest work|}}} |
 
      {{#if: {{#var:setProperty}} | {{#set:Harvest Yield Per Work = {{#expr:{{{yield|}}}/( {{{sow work|}}} + {{{harvest work|}}})}} }} }}
 
    }}
 
  }}
 
}}
 
}}
 
 
 
{{#if: {{{min sowing skill|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Minimum Required Growing Skill = {{{min sowing skill|}}} }} }}
 
;<abbr title="Minimum skill required to sow the plant">Min Skill</abbr>
 
:{{{min sowing skill|}}} [[Skills#Plants|Plants]]
 
}}
 
 
 
{{#if: {{{min fertility|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Fertility Min = {{{min fertility|}}} }} }}
 
;Min Fertility
 
:{{%| {{{min fertility|}}} }}
 
}}
 
 
 
{{#if: {{{fertility sensitivity|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Fertility Sensitivity = {{{fertility sensitivity|}}} }} }}
 
;Fertility Sensitivity
 
:{{%| {{{fertility sensitivity|}}} }}
 
}}
 
 
 
{{#if: {{{fertility sensitivity|}}} |
 
{{#if: {{#var:setProperty}} | {{#set:Min Grow Light = {{{min grow light|0.5}}} }} }}
 
;Min light to grow
 
:{{%| {{{min grow light|0.5}}} }}
 
  {{#if: {{{grow days|}}} |
 
    {{#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}} }} }} }}
 
}} }} }}
 
 
 
 
 
<!-- 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|}}} }}
 
    }} }}
 
 
 
<!-- 11. RANGED COMBAT -->
 
{{#if: {{{damage type|}}} {{{damage|}}} {{{armorPenetration|}}} {{{warmup|}}} {{{cooldown |}}} {{{range|}}} {{{minrange|}}} {{{accuracy|}}} {{{accuracyTouch|}}} {{{accuracyShort|}}} {{{accuracyMedium|}}} {{{accuracyLong|}}} {{{accuracyAvg|}}} {{{velocity|}}} {{{burst|}}} {{{burstTicks|}}} {{{missRadius|}}} {{{blastRadius|}}} {{{DPS|}}} {{{stoppingPower|}}} |
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Ranged Combat</p>
 
<dl>
 
 
}}
 
}}
  
{{#if: {{{mode|}}} |
+
{{#if: {{{mode|}}}|{{#set:Mode = {{{mode|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Mode = {{{mode|}}} }} }}
 
 
;Mode
 
;Mode
:{{{mode|}}}
+
:{{{mode|}}}}}
}}
 
 
 
}}
 
 
 
{{#if: {{{damage|}}} |
 
;Damage
 
:{{{damage|}}} dmg {{#if: {{{damage type|}}} | {{#if: {{#var:setProperty}} | {{#set:Damage Type = {{ucfirst:{{{damage type|}}} }} }} }}([[Damage Types#{{ucfirst:{{{damage type|}}} }}|{{ucfirst:{{{damage type|}}} }}]])}}
 
}}
 
 
 
{{#if: {{{armorPenetration|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Armor Penetration = {{{armorPenetration|}}} }} }}
 
;Armor penetration
 
:{{{armorPenetration|}}}%
 
}}
 
 
 
{{#if: {{{warmup|}}} |
 
;<abbr title="Time it takes to aim the weapon">Warm-Up</abbr>
 
:{{ticks| {{{warmup|}}} }}
 
}}
 
 
 
{{#if: {{{cooldown |}}} |
 
;<abbr title="Waiting time before you can aim again after firing">Cooldown</abbr>
 
:{{ticks| {{{cooldown|}}} }}
 
}}
 
 
 
{{#if: {{{range|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Range = {{{range|}}} }} }}
 
;Range
 
:{{{range|}}} tile(s)
 
}}
 
 
 
{{#if: {{{minrange|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Minimum Range = {{{minrange|}}} }} }}
 
;Minimum Range
 
:{{{minrange|}}} tiles
 
}}
 
 
 
{{#if: {{{accuracy|}}} |
 
;Accuracy
 
:{{{accuracy|}}}
 
}}
 
 
 
{{#if: {{{accuracyTouch|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Accuracy (Touch) Base = {{{accuracyTouch|}}} }} }}
 
  {{#if: {{{accuracyShort|}}} |
 
    {{#if: {{#var:setProperty}} | {{#set:Accuracy (Short) Base = {{{accuracyShort|}}} }} }}
 
    {{#if: {{{accuracyMedium|}}} |
 
      {{#if: {{#var:setProperty}} | {{#set:Accuracy (Medium) Base = {{{accuracyMedium|}}} }} }}
 
      {{#if: {{{accuracyLong|}}} |
 
        {{#if: {{#var:setProperty}} | {{#set:Accuracy (Long) Base = {{{accuracyLong|}}} }} }}
 
;<abbr title="Touch % - Short % - Medium % - Long %">Accuracy</abbr>
 
:{{{accuracyTouch|}}}% - {{{accuracyShort|}}}% - {{{accuracyMedium|}}}% - {{{accuracyLong|}}}%
 
}} }} }} }}
 
 
 
{{#if: {{{accuracyAvg|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Average Accuracy = {{{accuracyAvg|}}} }} }}
 
;<abbr title="Average accuracy of the weapon, taking range into account.">Avg. accuracy</abbr>
 
:{{{accuracyAvg|}}}%
 
}}
 
 
 
{{#if: {{{velocity|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Velocity = {{{velocity|}}} }} }}
 
;Velocity
 
:{{{velocity|}}} (m/s)
 
}}
 
 
 
{{#if: {{{burst|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Burst Count = {{{burst|}}} }} }}
 
;Burst Count
 
:{{{burst|}}} (per burst)
 
}}
 
 
 
{{#if: {{{burstTicks|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Burst Ticks = {{{burstTicks|}}} }} }}
 
;<abbr title="Time between shots in a single burst">Burst Ticks</abbr>
 
:{{ticks| {{{burstTicks|}}} }}<br/>({{#expr: 3600 / {{{burstTicks|}}} round2}} <abbr title="Rounds Per Minute">RPM</abbr>)
 
}}
 
 
 
{{#if: {{{missRadius|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Miss Radius = {{{missRadius|}}} }} }}
 
;<abbr title="Missed shots are forced to land within this radius">Miss Radius</abbr>
 
:{{{missRadius|}}} tile(s)
 
}}
 
 
 
{{#if: {{{blastRadius|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Blast Radius = {{{blastRadius|}}} }} }}
 
;Blast Radius
 
:{{{blastRadius|}}}
 
}}
 
 
 
{{#if: {{{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}} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Maximum DPS = {{#var:maximumDPS}} }} }}
 
  {{#if: {{{accuracyTouch|}}} |
 
    {{#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}} }} }}
 
;<abbr title="Formatted as: Maximum damage per second (DPS with average accuracy)">DPS</abbr>
 
:{{#var:maximumDPS}} {{#if: {{#var:averageDPS}} | ({{#var:averageDPS}}) }}
 
}}
 
 
 
{{#if: {{{stoppingPower|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Stopping Power = {{{stoppingPower|}}} }} }}
 
;<abbr title="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</abbr>
 
:{{{stoppingPower|}}}
 
}}
 
 
 
 
 
<!-- 12. MELEE COMBAT -->
 
{{#if: {{{attack1dmg|}}}{{{attack1ap|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}{{{attack1chancefactor|}}}    {{{attack2dmg|}}}{{{attack2ap|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}{{{attack2chancefactor|}}}    {{{attack3dmg|}}}{{{attack3ap|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}{{{attack3chancefactor|}}}    {{{attack4dmg|}}}{{{attack4ap|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}{{{attack4chancefactor|}}}    {{{attack5dmg|}}}{{{attack5ap|}}}{{{attack5type|}}}{{{attack45art|}}}{{{attack5cool|}}}{{{attack5chancefactor|}}}    {{{attack6dmg|}}}{{{attack6ap|}}}{{{attack6type|}}}{{{attack46art|}}}{{{attack6cool|}}}{{{attack6chancefactor|}}}    {{{mobdamageaverage|}}} {{{mobdamage|}}} {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}} {{{MeleeWeaponAverageDPS|}}} {{{MeleeWeaponAverageAP|}}}|
 
</dl>{{clear}}
 
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Melee Combat</p>
 
<dl>
 
}}
 
 
 
<!-- Animal Melee Combat -->
 
{{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{attack1dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{attack1type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{ucfirst:{{{attack1part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Cooldown = {{{attack1cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Chance Factor = {{{attack1chancefactor|}}} }} }}
 
  {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 DPS = {{#var:Attack1DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Stun = {{{attack1stun|}}} }} }}
 
;Attack{{#if: {{{attack2dmg|}}}|&nbsp;1}}
 
:{{ucfirst:{{{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: {{{attack1chancefactor|}}} | <br/>{{{attack1chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack1stun|}}} | <br/>Stun for {{Ticks|{{{attack1stun|0}}}*20}} on first strike}} }}
 
 
 
{{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{attack2dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{attack2type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{ucfirst:{{{attack2part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Chance Factor = {{{attack2chancefactor|}}} }} }}
 
  {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 DPS = {{#var:Attack2DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Stun = {{{attack2stun|}}} }} }}
 
;Attack 2
 
:{{ucfirst:{{{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: {{{attack2chancefactor|}}} | <br/>{{{attack2chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack2stun|}}} | <br/>Stun for {{Ticks|{{{attack2stun|0}}}*20}} on first strike}} }}
 
 
 
{{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}|
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{attack3dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{attack3type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{ucfirst:{{{attack3part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Cooldown = {{{attack3cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Chance Factor = {{{attack3chancefactor|}}} }} }}
 
  {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 DPS = {{#var:Attack3DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Stun = {{{attack3stun|}}} }} }}
 
;Attack 3
 
:{{ucfirst:{{{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: {{{attack3chancefactor|}}} | <br/>{{{attack3chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack3stun|}}}| <br/>Stun for {{Ticks|{{{attack3stun|0}}}*20}} on first strike}} }}
 
 
 
{{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}|
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{attack4dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{attack4type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{ucfirst:{{{attack4part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Cooldown = {{{attack4cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Chance Factor = {{{attack4chancefactor|}}} }} }}
 
  {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 DPS = {{#var:Attack4DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Stun = {{{attack4stun|}}} }} }}
 
;Attack 4
 
:{{ucfirst:{{{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: {{{attack4chancefactor|}}} | <br/>{{{attack4chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack4stun|}}} | <br/>Stun for {{Ticks|{{{attack4stun|0}}}*20}} on first strike}} }}
 
 
 
{{#if: {{{attack5dmg|}}}{{{attack5type|}}}{{{attack5part|}}}{{{attack5cool|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Damage = {{{attack5dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 AP = {{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Type = {{ucfirst:{{{attack5type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Part = {{ucfirst:{{{attack5part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Cooldown = {{{attack5cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Chance Factor = {{{attack5chancefactor|}}} }} }}
 
  {{#vardefine: Attack5DPS | {{#expr: {{{attack5dmg|}}} / ({{{attack5cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 DPS = {{#var:Attack5DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 5 Stun = {{{attack5stun|}}} }} }}
 
;Attack 5
 
:{{ucfirst:{{{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: {{{attack5chancefactor|}}} | <br/>{{{attack5chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack5stun|}}} | <br/>Stun for {{Ticks|{{{attack5stun|0}}}*20}} on first strike}} }}
 
 
 
{{#if: {{{attack6dmg|}}}{{{attack6type|}}}{{{attack6part|}}}{{{attack6cool|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Damage = {{{attack6dmg|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 AP = {{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}} }}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Type = {{ucfirst:{{{attack6type|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Part = {{ucfirst:{{{attack6part|}}} }} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Cooldown = {{{attack6cool|}}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Chance Factor = {{{attack6chancefactor|}}} }} }}
 
  {{#vardefine: Attack6DPS | {{#expr: {{{attack6dmg|}}} / ({{{attack6cool|}}}) }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 DPS = {{#var:Attack6DPS}} }} }}
 
  {{#if: {{#var:setProperty}} | {{#set:Attack 6 Stun = {{{attack6stun|}}} }} }}
 
;Attack 6
 
:{{ucfirst:{{{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: {{{attack6chancefactor|}}} | <br/>{{{attack6chancefactor|}}} chance factor}}<!--
 
-->{{#if: {{{attack6stun|}}} | <br/>Stun for {{Ticks|{{{attack6stun|0}}}*20}} on first strike}} }}
 
  
  
{{#ifeq: {{#varexists: Attack6DPS}}|1|
+
{{#if: {{{damage type|}}}|{{#set:Damage Type = {{{damage type|}}} }}
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var:Attack1DPS}} + {{#var:Attack2DPS}} + {{#var:Attack3DPS}} + {{#var:Attack4DPS}} + {{#var:Attack5DPS}} + {{#var:Attack6DPS}})/6 * 0.62 round 2}} }}|
+
;Dmg Type
{{#ifeq: {{#varexists: Attack5DPS}}|1|
+
:{{{damage type|}}} }}
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var:Attack1DPS}} + {{#var:Attack2DPS}} + {{#var:Attack3DPS}} + {{#var:Attack4DPS}} + {{#var:Attack5DPS}})/5 * 0.62 round 2}} }}|
 
{{#ifeq: {{#varexists: Attack4DPS}}|1|
 
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var:Attack1DPS}} + {{#var:Attack2DPS}} + {{#var:Attack3DPS}} + {{#var:Attack4DPS}})/4 * 0.62 round 2}} }}|
 
{{#ifeq: {{#varexists: Attack3DPS}}|1|
 
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var:Attack1DPS}} + {{#var:Attack2DPS}} + {{#var:Attack3DPS}})/3 * 0.62 round 2}} }}|
 
    {{#ifeq: {{#varexists: Attack2DPS}}|1|
 
      {{#vardefine: MobAverageDPS | {{#expr: ({{#var:Attack1DPS}} + {{#var:Attack2DPS}})/2 * 0.62 round 2}} }}|
 
      {{#ifeq: {{#varexists: Attack1DPS}}|1|
 
        {{#vardefine: MobAverageDPS | {{#expr: {{#var:Attack1DPS}} * 0.62 round 2}} }} }} }} }} }} }} }}
 
 
 
{{#ifeq: {{#varexists: MobAverageDPS}} | 1 |
 
  {{#if: {{#var:setProperty}} | {{#set:Mob Average DPS = {{#var:MobAverageDPS}} }} }}
 
;Average {{DPS}}
 
:{{#var:MobAverageDPS}}
 
}}
 
  
{{#if: {{{mobdamage|}}} |
+
{{#if: {{{damage|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage|}}} }} }}
 
;Damage
 
:{{{mobdamage|}}}
 
}}
 
  
{{#if: {{{mobdamagetype|}}} |
+
<!--the following determines if the item is a melee weapon, else assumes it's ranged, then sets relevant property-->
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype|}}} }} }}
 
;Damage Type
 
:{{{mobdamagetype|}}}
 
}}
 
  
{{#if: {{{mobdamage2|}}} |
+
{{#ifeq: {{#varexists: MobAverageDPS}}|1|
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage2|}}} }} }}
+
;Average DPS
;Damage
+
:{{#var: MobAverageDPS}}
:{{{mobdamage2|}}}
+
{{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
}}
 
  
{{#if: {{{mobdamagetype2|}}} |
+
{{#if: {{{mode|}}}|{{#ifeq: {{{mode|}}} | Melee |
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype2|}}} }} }}
+
{{#set:Melee Damage Base = {{{damage|}}}
;Damage Type
+
|Melee Warmup = {{{warmup|}}}
:{{{mobdamagetype2|}}}
+
|Melee Cooldown Base = {{{cooldown|}}}
 
}}
 
}}
 +
|
 +
{{#set:Damage Base = {{{damage|}}}
 +
|Aiming Time Base = {{{warmup|}}}
 +
|Ranged Cooldown Base = {{{cooldown|}}}
 +
|Weapons/Row/Ranged/NoInclude=False
 +
}} }} |}}
  
{{#if: {{{mobdamage3|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Base = {{{mobdamage3|}}} }} }}
 
 
;Damage
 
;Damage
:{{{mobdamage3|}}}
+
:{{{damage|}}}
}}
 
 
 
{{#if: {{{mobdamagetype3|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Melee Damage Def = {{{mobdamagetype3|}}} }} }}
 
;Damage Type
 
:{{{mobdamagetype3|}}}
 
}}
 
 
 
{{#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 |
 
  {{#if: {{#var:setProperty}} | {{#set:Mode = {{{mode|}}} }} }}
 
;Mode
 
:{{{mode|}}}
 
}}
 
  
{{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}} |
+
{{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }} }}
+
   {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{{meleeattack1ap|}}} }} }}
+
   {{#set:Attack 1 Type = {{{meleeattack1type|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{meleeattack1type|}}} }} }} }}
+
   {{#set:Attack 1 Part = {{{meleeattack1part|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{ucfirst:{{{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 Chance Factor = {{{meleeattack1chancefactor|}}} }} }}
 
 
   {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }}
 
   {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }}
 
   {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }}
;Melee Attack{{#if: {{{meleeattack1dmg|}}}|&nbsp;1}}
+
;Attack{{#if: {{{meleeattack1dmg|}}}|&nbsp;1}}
:{{ucfirst:{{{meleeattack1part|Body part?}}} }}<!--
+
:{{{meleeattack1part|Body part?}}}<br>{{{meleeattack1dmg|?}}} dmg ({{{meleeattack1type|type?}}})<br>{{{meleeattack1cool|0}}} seconds cooldown <br>{{{meleeattack1ap|0}}}% armor penetration}}
--><br/>{{{meleeattack1dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{meleeattack1type|}}} }}|{{ucfirst:{{{meleeattack1type|type?}}} }}]])<!--
 
--><br/>{{{meleeattack1ap|0}}}% {{AP}}<!--
 
--><br/>{{{meleeattack1cool|0}}} seconds cooldown<!--
 
-->{{#if: {{{meleeattack1chancefactor|}}} | <br/>{{{meleeattack1chancefactor|}}} chance factor}} }}
 
 
 
{{#if: {{{body part|}}} | <!-- Body part that is replaced by an artificial body part -->
 
  {{#if: {{#var:setProperty}} | {{#set:Body Part = {{{body part|}}} }} }} <!-- appliedOnFixedBodyParts or appliedOnFixedBodyPartGroups in the xml.-->
 
;Body Part
 
:{{{body part|}}}
 
}}
 
  
{{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}} |
+
{{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }} }}
+
   {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{{meleeattack2ap|}}} }} }}
+
   {{#set:Attack 2 Type = {{{meleeattack2type|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{meleeattack2type|}}} }} }} }}
+
   {{#set:Attack 2 Part = {{{meleeattack2part|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{ucfirst:{{{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 Chance Factor = {{{meleeattack2chancefactor|}}} }} }}
 
 
   {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }}
 
   {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }}
 
   {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }}
;Melee Attack 2{{#if: {{{meleeattack2dmg|}}}|&nbsp;}}
+
;Attack 2{{#if: {{{meleeattack2dmg|}}}|&nbsp;}}
:{{ucfirst:{{{meleeattack2part|Body part?}}} }}<!--
+
:{{{meleeattack2part|Body part?}}}<br>{{{meleeattack2dmg|?}}} dmg ({{{meleeattack2type|type?}}})<br>{{{meleeattack2cool|0}}} seconds cooldown <br>{{{meleeattack2ap|0}}}% armor penetration}}
--><br/>{{{meleeattack2dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{meleeattack2type|}}} }}|{{ucfirst:{{{meleeattack2type|type?}}} }}]])<!--
 
--><br/>{{{meleeattack2ap|0}}}% {{AP}}<!--
 
--><br/>{{{meleeattack2cool|0}}} seconds cooldown<!--
 
-->{{#if: {{{meleeattack2chancefactor|}}} | <br/>{{{meleeattack2chancefactor|}}} chance factor}} }}
 
  
{{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}} |
+
{{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }} }}
+
   {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{{meleeattack3ap|}}} }} }}
+
   {{#set:Attack 3 Type = {{{meleeattack3type|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{meleeattack3type|}}} }} }} }}
+
   {{#set:Attack 3 Part = {{{meleeattack3part|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{ucfirst:{{{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 Chance Factor = {{{meleeattack3chancefactor|}}} }} }}
 
 
   {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }}
 
   {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }}
 
   {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }}
;Melee Attack 3{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
+
;Attack 3{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
:{{ucfirst:{{{meleeattack3part|Body part?}}} }}<!--
+
:{{{meleeattack3part|Body part?}}}<br>{{{meleeattack3dmg|?}}} dmg ({{{meleeattack3type|type?}}})<br>{{{meleeattack3cool|0}}} seconds cooldown <br>{{{meleeattack3ap|0}}}% armor penetration}}
--><br/>{{{meleeattack3dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{meleeattack3type|}}} }}|{{ucfirst:{{{meleeattack3type|type?}}} }}]])<!--
 
--><br/>{{{meleeattack3ap|0}}}% {{AP}}<!--
 
--><br/>{{{meleeattack3cool|0}}} seconds cooldown<!--
 
-->{{#if: {{{meleeattack3chancefactor|}}} | <br/>{{{meleeattack3chancefactor|}}} chance factor}} }}
 
  
{{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}} |
+
{{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}}|
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }} }}
+
   {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{{meleeattack4ap|}}} }} }}
+
   {{#set:Attack 4 Type = {{{meleeattack4type|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{meleeattack4type|}}} }} }} }}
+
   {{#set:Attack 4 Part = {{{meleeattack4part|}}} }}
   {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{ucfirst:{{{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 Chance Factor = {{{meleeattack4chancefactor|}}} }} }}
 
 
   {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }}
 
   {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }}
 
   {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }}
 
   {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }}
;Melee Attack 4{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
+
;Attack 4{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
:{{ucfirst:{{{meleeattack4part|Body part?}}} }}<!--
+
:{{{meleeattack4part|Body part?}}}<br>{{{meleeattack4dmg|?}}} dmg ({{{meleeattack4type|type?}}})<br>{{{meleeattack4cool|0}}} seconds cooldown <br>{{{meleeattack4ap|0}}}% armor penetration}}
--><br/>{{{meleeattack4dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{meleeattack4type|}}} }}|{{ucfirst:{{{meleeattack4type|type?}}} }}]])<!--
 
--><br/>{{{meleeattack4ap|0}}}% {{AP}}<!--
 
--><br/>{{{meleeattack4cool|0}}} seconds cooldown<!--
 
-->{{#if: {{{meleeattack4chancefactor|}}} | <br/>{{{meleeattack4chancefactor|}}} chance factor}} }}
 
  
  
{{#if: {{{MeleeWeaponAverageDPS|}}} |
+
{{#if: {{{MeleeWeaponAverageDPS|}}}|{{#set:MeleeDPS= {{{MeleeWeaponAverageDPS|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:MeleeDPS = {{{MeleeWeaponAverageDPS|}}} }} }}
+
;Melee Average DPS
;Melee Average {{DPS}}
+
:{{{MeleeWeaponAverageDPS|}}} }}
:{{{MeleeWeaponAverageDPS|}}}
 
}}
 
  
{{#if: {{{MeleeWeaponAverageAP|}}} |
+
{{#if: {{{MeleeWeaponAverageAP|}}}|{{#set:MeleeAP= {{{MeleeWeaponAverageAP|}}} }}
  {{#if: {{#var:setProperty}} | {{#set:MeleeAP = {{{MeleeWeaponAverageAP|}}} }} }}
+
;Melee Average AP
;Melee Average {{AP}}
+
:{{{MeleeWeaponAverageAP|}}}%}}
:{{{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|
   {{#vardefine: TotalChance | {{#expr: ({{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2Chance}} + {{#var:MeleeAttack3Chance}}) }} }}|
+
   {{#vardefine: TotalChance | {{#expr: ({{#var: MeleeAttack1Chance}} + {{#var: MeleeAttack2Chance}} + {{#var: MeleeAttack3Chance}}) }} }}|
 
     {{#ifeq: {{#varexists: MeleeAttack2Chance}}|1|
 
     {{#ifeq: {{#varexists: MeleeAttack2Chance}}|1|
       {{#vardefine: TotalChance | {{#expr: ({{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2Chance}})}} }}|
+
       {{#vardefine: TotalChance | {{#expr: ({{#var: MeleeAttack1Chance}} + {{#var: MeleeAttack2Chance}})}} }}|
 
       {{#ifeq: {{#varexists: MeleeAttack1Chance}}|1|
 
       {{#ifeq: {{#varexists: MeleeAttack1Chance}}|1|
         {{#vardefine: TotalChance | {{#expr: {{#var:MeleeAttack1Chance}} }} }} }} }} }}
+
         {{#vardefine: TotalChance | {{#expr: {{#var: MeleeAttack1Chance}}}} }} }} }} }}
  
 
{{#ifeq: {{#varexists: MeleeAttack3DPS}}|1|
 
{{#ifeq: {{#varexists: MeleeAttack3DPS}}|1|
   {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var:MeleeAttack1DPS}} * {{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2DPS}} * {{#var:MeleeAttack2Chance}} + {{#var:MeleeAttack3DPS}} * {{#var:MeleeAttack3Chance}} ) / {{#var:TotalChance}} }} }}|
+
   {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var: MeleeAttack1DPS}} * {{#var: MeleeAttack1Chance}} + {{#var: MeleeAttack2DPS}} * {{#var: MeleeAttack2Chance}} + {{#var: MeleeAttack3DPS}} * {{#var: MeleeAttack3Chance}} ) / {{#var: TotalChance}} }} }}|
 
     {{#ifeq: {{#varexists: MeleeAttack2DPS}}|1|
 
     {{#ifeq: {{#varexists: MeleeAttack2DPS}}|1|
       {{#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 ---------- -->
  
<!--- 13. CREATION --->
+
{{#if: {{{armorPenetration|}}}|{{#set:ArmorPenetration= {{{armorPenetration|}}} }}
{{#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|}}} |
+
;Armor penetration
</dl>{{clear}}
+
:{{{armorPenetration|}}}%}}
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Creation</p>
 
<dl>
 
}}
 
  
{{#if: {{{production facility 1|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 1 = {{{production facility 1|}}} }} }} }}
+
{{#if: {{{warmup|}}}|
{{#if: {{{production facility 2|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 2 = {{{production facility 2|}}} }} }} }}
+
;{{H:title|link=no|Time it takes to aim the weapon|Warm-Up}}
{{#if: {{{production facility 3|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 3 = {{{production facility 3|}}} }} }} }}
+
:{{ticks|{{{warmup|}}}}}}}
{{#if: {{{production facility 4|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 4 = {{{production facility 4|}}} }} }} }}
 
{{#if: {{{production facility 1|}}} |
 
;Crafted At
 
:{{#if:{{{production facility 1|}}}|{{Icon Small|{{{production facility 1|}}}|{{#switch:{{lc:{{{production facility 1|}}} }}|butcher spot|crafting spot|campfire|fermenting barrel|nutrient paste dispenser=16|#default=32}} }} }}{{#if:{{{production facility 2|}}}|&nbsp;/&nbsp;{{Icon Small|{{{production facility 2|}}}|{{#switch:{{lc:{{{production facility 2|}}} }}|butcher spot|crafting spot|campfire|fermenting barrel|nutrient paste dispenser=16|#default=32}} }} }}{{#if:{{{production facility 3|}}}|&nbsp;/&nbsp;{{Icon Small|{{{production facility 3|}}}|{{#switch:{{lc:{{{production facility 3|}}} }}|butcher spot|crafting spot|campfire|fermenting barrel|nutrient paste dispenser=16|#default=32}} }} }}{{#if:{{{production facility 4|}}}|&nbsp;/&nbsp;{{Icon Small|{{{production facility 4|}}}|{{#switch:{{lc:{{{production facility 4|}}} }}|butcher spot|crafting spot|campfire|fermenting barrel|nutrient paste dispenser=16|#default=32}} }} }}
 
}}
 
  
{{#if: {{#vardefineecho:research|{{lc:{{{research|}}} }} }} | {{#vardefine:research1|{{ucfirst:{{#explode:{{#var:research}}|,|0}} }} }}{{#vardefine:research2|{{ucfirst:{{#explode:{{#var:research}}|,|1}} }} }}{{#vardefine:research3|{{ucfirst:{{#explode:{{#var:research}}|,|2}} }} }}{{#vardefine:research4|{{ucfirst:{{#explode:{{#var:research}}|,|3}} }} }}{{#vardefine:research5|{{ucfirst:{{#explode:{{#var:research}}|,|4}} }} }}
+
{{#if: {{{cooldown |}}}|
{{#if: {{#var:setProperty}} | {{#set:
+
;{{H:title|link=no|Waiting time before you can aim again after firing|Cooldown}}
  Required Research = {{#var:research1}}
+
:{{ticks|{{{cooldown|}}}}}}}
| Required Research = {{#var:research2}}
 
| Required Research = {{#var:research3}}
 
| Required Research = {{#var:research4}}
 
| Required Research = {{#var:research5}}
 
}} }}
 
;Required Research
 
:[[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 | {{#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, Jump packs, Molecular analysis, Neural computation, Poison synthesis, Specialized limbs, Skin hardening | {{#var:research2}} }} | &nbsp;{{Icon Small|Techprint|16}} }} }}<!--
+
{{#if: {{{range|}}}|{{#set:Range = {{{range|}}} }}
 +
;Range
 +
:{{{range|}}} tile(s)}}
  
-->{{#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 | {{#var:research3}} }} | &nbsp;{{Icon Small|Techprint|16}} }} }}<!--
+
{{#if: {{{minrange|}}}|
 +
;Minimum Range
 +
:{{{minrange|}}} tiles}}
  
-->{{#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 | {{#var:research4}} }} | &nbsp;{{Icon Small|Techprint|16}} }} }}<!--
+
{{#if: {{{accuracy|}}}|
 +
;Accuracy
 +
:{{{accuracy|}}}}}
  
-->{{#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 | {{#var:research5}} }} | &nbsp;{{Icon Small|Techprint|16}} }} }}
+
{{#if: {{{accuracyTouch|}}}| {{#Set: Accuracy (Touch) Base = {{{accuracyTouch|}}} }}   
 +
{{#if: {{{accuracyShort|}}}| {{#Set: Accuracy (Short) Base = {{{accuracyShort|}}} }} 
 +
{{#if: {{{accuracyMedium|}}}| {{#Set: Accuracy (Medium) Base = {{{accuracyMedium|}}} }}      
 +
{{#if: {{{accuracyLong|}}}| {{#Set: Accuracy (Long) Base = {{{accuracyLong|}}} }}
 +
;{{H:title|link=no|Touch % - Short % - Medium % - Long %|Accuracy}}
 +
:{{{accuracyTouch|}}}% - {{{accuracyShort|}}}% - {{{accuracyMedium|}}}% - {{{accuracyLong|}}}%
 +
}}    
 
}}
 
}}
 
{{#if: {{{skill 1|}}} | {{#if: {{#var:setProperty}} | {{#set:Skill 1 = {{ucfirst:{{{skill 1|}}} }} }} }} }}
 
{{#if: {{{skill 2|}}} | {{#if: {{#var:setProperty}} | {{#set:Skill 2 = {{ucfirst:{{{skill 2|}}} }} }} }} }}
 
{{#if: {{{skill 1 level|}}} | {{#if: {{#var:setProperty}} | {{#set:Skill 1 Level = {{{skill 1 level|}}} }} }} }}
 
{{#if: {{{skill 2 level|}}} | {{#if: {{#var:setProperty}} | {{#set:Skill 2 Level = {{{skill 2 level|}}} }} }} }}
 
 
{{#if: {{{skill 1|}}} |
 
;Skill{{#if:{{{skill 2|}}}|s}} Required
 
:[[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 -->
 
{{#ifeq: {{lc:{{{constructable|}}} }} | false ||
 
  {{#if: {{{work to make|}}} |
 
    {{#if: {{#var:setProperty}} | {{#set:Work To Make = {{{work to make|}}} }} }}
 
;Work To Make
 
:{{ticks| {{{work to make|}}} }}
 
}} }}
 
 
{{#if: {{{work speed stat|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Work Speed Stat = {{{work speed stat|}}} }} }}
 
;Work Speed Stat
 
:[[{{{work speed stat|}}}]]
 
 
}}
 
}}
  
{{#if: {{{gestation cycles|}}} |
+
{{#if: {{{accuracyAvg|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Gestation Cycles = {{{gestation cycles}}} }} }}
+
;{{H:title|link=no|Average accuracy of the weapon, taking range into account.|Avg. accuracy}}
;<abbr title="The number of gestation cycles that must be initiated by a mechanitor to gestate this mechanoid">Gestation Cycles</abbr>
+
:{{{accuracyAvg|}}}%}}
:{{{gestation cycles|}}}
 
}}
 
  
{{#if: {{{stuff tags|}}} |
+
{{#if: {{{velocity|}}}|{{#set:Velocity = {{{velocity|}}} }}
  {{#if: {{#var:setProperty}} |
+
;Velocity
    {{#set:Stuff Tags = {{#explode:{{{stuff tags|}}}|,|0}}
+
:{{{velocity|}}} (m/s)}}
        | Stuff Tags = {{#explode:{{{stuff tags|}}}|,|1}}
 
        | Stuff Tags = {{#explode:{{{stuff tags|}}}|,|2}}
 
        | Stuff Tags = {{#explode:{{{stuff tags|}}}|,|3}}
 
        | Stuff Tags = {{#explode:{{{stuff tags|}}}|,|4}} }} }}
 
;<abbr title="The types of resource that can be substituted for the generic resource type">Stuff Tags</abbr>
 
:{{{stuff tags|}}}
 
}}
 
  
{{#ifeq: {{lc:{{{constructable|}}} }} | false ||
+
{{#if: {{{burst|}}}|{{#set:Burst Count = {{{burst|}}} }}
  {{#if: {{{resource 1|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 1 = {{{resource 1|}}} }} }} }}
+
;Burst Count
  {{#if: {{{resource 2|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 2 = {{{resource 2|}}} }} }} }}
+
:{{{burst|}}} (per burst)}}
  {{#if: {{{resource 3|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 3 = {{{resource 3|}}} }} }} }}
 
  {{#if: {{{resource 4|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 4 = {{{resource 4|}}} }} }} }}
 
  {{#if: {{{resource 5|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 5 = {{{resource 5|}}} }} }} }}
 
  {{#if: {{{resource 6|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 6 = {{{resource 6|}}} }} }} }}
 
  {{#if: {{{resource 1 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 1 Type = {{{resource 1 type|}}} }} }} }}
 
  {{#if: {{{resource 2 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 2 Type = {{{resource 2 type|}}} }} }} }}
 
  {{#if: {{{resource 3 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 3 Type = {{{resource 3 type|}}} }} }} }}
 
  {{#if: {{{resource 4 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 4 Type = {{{resource 4 type|}}} }} }} }}
 
  {{#if: {{{resource 5 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 5 Type = {{{resource 5 type|}}} }} }} }}
 
  {{#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: {{{burstTicks|}}}|{{#set: Burst Ticks = {{{burstTicks|}}} }}
 +
;{{H:title|link=no|Time between shots in a single burst|Burst Ticks}}
 +
:{{ticks|{{{burstTicks|}}}}}}}
  
  {{#if: {{{resource 1|}}}|<!--{{#ifeq: {{lc:{{{placeable|}}} }}|false||-->
+
{{#if: {{{missRadius|}}}|{{#set:Miss Radius = {{{missRadius|}}} }}
;Resources to make
+
;{{H:title|link=no|Missed shots are forced to land within this radius|Miss Radius}}
:{{#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|}}}|}}
+
:{{{missRadius|}}} tile(s)}}
<!--|}}-->
 
}}
 
  
<!---If resource 1 is set to stuff, but theres no stuff tags, make note of it--->
+
{{#if: {{{blastRadius|}}}|{{#set:Blast Radius = {{{blastRadius|}}} }}
{{#ifeq: Stuff | {{{resource 1|}}} | {{#if: {{{stuff tags|}}}| |
+
;Blast Radius
;<abbr title="The types of resource that can be substituted for the generic resource type">Stuff tags</abbr>
+
:{{{blastRadius|}}}}}
:<span style="color:red">'''ERROR: NO STUFF TAGS'''</span>
 
}}
 
|}}
 
}}
 
 
 
{{#if: {{{product amount|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Product Amount = {{{product amount|}}} }} }}
 
;<abbr title="The amount of this item produced from the required resources">Product Amount</abbr>
 
:{{Icon Small| {{#var:Name}} | 16 }} {{{product amount|}}}
 
}}
 
  
{{#if: {{{deconstruct yield|}}}|
+
{{#if: {{{DPS|}}}|
;<abbr title="Resources recovered when deconstructing.">Deconstruct yield</abbr>
+
;{{H:title|link=yes|Formatted as: Maximum damage per second (DPS with average accuracy)|DPS}}
:{{{deconstruct yield|}}}|
+
:{{ #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 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
+
{{#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 }}}}
-->{{#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|
+
{{#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 }}}}}}}}}}}}
;<abbr title="Resources recovered when deconstructing.">Deconstruct yield</abbr>
 
:{{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 3|}}}| + {{Icon Small|{{{resource 3|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 3 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 3 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 3 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 3 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 3 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}} <!--
 
-->{{#if: {{{resource 4|}}}| + {{Icon Small|{{{resource 4|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 4 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 4 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 4 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 4 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 4 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}} <!--
 
-->{{#if: {{{resource 5|}}}| + {{Icon Small|{{{resource 5|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 5 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 5 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 5 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 5 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 5 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}} <!--
 
-->{{#if: {{{resource 6|}}}| + {{Icon Small|{{{resource 6|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 6 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} | {{#expr: floor({{{resource 6 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }}|{{#expr: {{{resource 6 amount|}}}*{{{deconstructyieldfraction|0.5}}} }}|{{#expr: floor({{{resource 6 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} - {{#expr: ceil({{{resource 6 amount|}}}*{{{deconstructyieldfraction|0.5}}}) }} }}|}}
 
|}}
 
 
}}
 
}}
  
{{#if:{{{destroyyield|}}} |
+
{{#if: {{{stoppingPower|}}}|{{#set: Stopping power = {{{stoppingPower|}}} }}
;<abbr title="Resources recovered when destroyed.">Destroy yield</abbr>
+
;{{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}}
:{{{destroyyield|}}}<!--Uses destroyyield if it's set. leavesresourceswhendestroyed and bonusdestroyleavings are to be phased out.
+
:{{{stoppingPower|}}}}}
-->| {{#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|
 
;<abbr title="Resources recovered when destroyed.">Destroy yield</abbr>
 
:{{#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 2|}}}| + {{Icon Small|{{{resource 2|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 2 amount|}}}*0.25) }} | {{#expr: floor({{{resource 2 amount|}}}*0.25) }} | {{#expr: {{{resource 2 amount|}}}*0.25 }} | {{#expr: floor({{{resource 2 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 2 amount|}}}*0.25) }} }}|}} <!--
 
-->{{#if: {{{resource 3|}}}| + {{Icon Small|{{{resource 3|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 3 amount|}}}*0.25) }} | {{#expr: floor({{{resource 3 amount|}}}*0.25) }} | {{#expr: {{{resource 3 amount|}}}*0.25 }} | {{#expr: floor({{{resource 3 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 3 amount|}}}*0.25) }} }}|}} <!--
 
-->{{#if: {{{resource 4|}}}| + {{Icon Small|{{{resource 4|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 4 amount|}}}*0.25) }} | {{#expr: floor({{{resource 4 amount|}}}*0.25) }} | {{#expr: {{{resource 4 amount|}}}*0.25 }} | {{#expr: floor({{{resource 4 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 4 amount|}}}*0.25) }} }}|}} <!--
 
-->{{#if: {{{resource 5|}}}| + {{Icon Small|{{{resource 5|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 5 amount|}}}*0.25) }} | {{#expr: floor({{{resource 5 amount|}}}*0.25) }} | {{#expr: {{{resource 5 amount|}}}*0.25 }} | {{#expr: floor({{{resource 5 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 5 amount|}}}*0.25) }} }}|}} <!--
 
-->{{#if: {{{resource 6|}}}| + {{Icon Small|{{{resource 6|}}}|16}} {{#ifeq: {{#expr: ceil({{{resource 6 amount|}}}*0.25) }} | {{#expr: floor({{{resource 6 amount|}}}*0.25) }} | {{#expr: {{{resource 6 amount|}}}*0.25 }} | {{#expr: floor({{{resource 6 amount|}}}*0.25) }} - {{#expr: ceil({{{resource 6 amount|}}}*0.25) }} }}|}}<!--
 
-->|}}<!--
 
-->{{#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: {{{buy|}}}|
 +
;Buy
 +
:{{{buy|}}}}}
  
<!-- 14. ABILITY -->
+
{{#if:{{{sell|}}}|
{{#if: {{{psylink level|}}} {{{casting time|}}} {{{ability range|}}} {{{psyfocus cost|}}} {{{neural heat gain|}}} {{{effect radius|}}} {{{duration|}}} {{{duration multiplier|}}} {{{goodwill impact|}}} |
+
{{#if: {{{mode|}}}|{{#ifeq: {{{mode|}}} | Melee |{{#set:Sell = {{{sell|}}} }} }}}}
</dl>{{clear}}
+
;Sell
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Ability</p>
+
:{{{sell|}}}}}
<dl>
 
  
{{#if: {{{psylink level|}}} |
+
<!-- Work to make should be specified in *ticks*, like in the game files.  This has been inconsistent in the past -->
  {{#if: {{#var:setProperty}} | {{#set:Psylink Level = {{{psylink level|}}} }} }}
+
{{#if: {{{work to make|}}}|{{#set:Work To Make = {{{work to make|}}} }}
;Psylink Level
+
;Work To Make
:{{{psylink level|}}}
+
:{{ticks|{{{work to make|}}}}}
 
}}
 
}}
  
{{#if: {{{psyfocus cost|}}} |
+
{{#if: {{{resources to make|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Psyfocus Cost = {{{psyfocus cost|}}} }} }}
+
;Resources to make
;Psyfocus Cost
+
:{{{resources to make|}}}
:{{%|{{{psyfocus cost|}}}}}
 
 
}}
 
}}
  
{{#if: {{{neural heat gain|}}} |
+
{{#if: {{{deconstruct yield|}}}|
  {{#if: {{#var:setProperty}} | {{#set:Neural Heat Gain = {{{neural heat gain|}}} }} }}
+
;{{H:title|link=no|Resources recovered when deconstructing|Deconstruct yield}}
;Neural Heat Gain
+
:{{{deconstruct yield|}}}
:{{{neural heat gain|}}}
 
}}
 
 
 
{{#if: {{{casting time|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Casting Time = {{{casting time|}}} }} }}
 
;Casting Time
 
:{{Ticks|{{{casting time|}}}}}
 
}}
 
 
 
{{#if: {{{ability range|}}} | <!--- Unsure whether to fold this inot normal range - is currently used by weapons, weapon likes and weapon like utilityies -->
 
  {{#if: {{#var:setProperty}} | {{#set:Ability Range = {{{ability range|}}} }} }}
 
;Range
 
:{{{ability range|}}} tiles
 
}}
 
 
 
{{#if: {{{effect radius|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Effect Radius = {{{effect radius|}}} }} }}
 
;Effect Radius
 
:{{{effect radius|}}} tiles
 
}}
 
 
 
{{#if: {{{duration|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Duration = {{{duration|}}} }} {{#set:Duration Multiplier = {{{duration multiplier|}}} }} }}
 
;Duration
 
:{{ticks|{{{duration|}}}}}{{#if: {{{duration multiplier|}}}|<br><small>(Modified by {{{duration multiplier|}}})</small>}}
 
}}
 
 
 
{{#if: {{{goodwill impact|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Goodwill Impact = {{{goodwill impact|}}} }} }}
 
;Goodwill Impact
 
:{{{goodwill impact|}}}
 
}}
 
 
 
{{#if: {{{caster must be capable of violence|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Caster Must Be Capable Of Violence = {{{caster must be capable of violence|}}} }} }}
 
;Caster Must Be Capable of Violence
 
:{{ucfirst:{{{caster must be capable of violence|}}}}}
 
 
}}
 
}}
  
}}
 
 
<!-- 15. TECHNICAL -->
 
{{#if: {{#var:setProperty}} | {{#if: {{{page verified for version|}}} | {{Verified|{{{page verified for version|}}} }} | {{Verified}} }} }}
 
 
{{#if: {{{defName|}}} {{{has quality|}}} {{{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}}
 
<div class="subheading mw-customtoggle-myDivision" style='height: 1em !important; padding: 0.25em 0em 0.5em !important; margin: 0.5em 0 0.5em !important; width:300px'> Technical
 
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision"> <span style='color: #504f54; text-align: left; text-shadow: 0px 0px; font-family: Arial; font-size: 0.8em; height: 0em !important; padding: 0em 0em 0em !important; margin: 0em 0 0em !important;'>
 
{{#if: {{{defName|}}} |
 
; defName
 
: {{{defName|}}}
 
}}<!--
 
-->{{#if: {{{has quality|}}} | {{#if: {{#var:setProperty}} | {{#set:Has Quality = {{ucfirst:{{{has quality|}}} }} }} }}
 
;Has Quality
 
:{{ucfirst:{{{has quality|}}} }}
 
}}<!--
 
-->{{#if: {{{color|}}} | {{#if: {{#var:setProperty}} | {{#set:color = {{{color|}}} }} }}
 
;Color
 
:{{{color|}}}
 
}}<!--
 
-->{{#if: {{{file|}}} |
 
; File
 
: {{{file|}}}
 
}}<!--
 
-->{{#if: {{{thingCategories|}}} |
 
; thingCategories
 
: {{{thingCategories|}}}
 
}}<!--
 
-->{{#if: {{{weaponTags|}}} | {{#if: {{#var:setProperty}} | {{#set:
 
weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|0}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|1}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|2}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|3}} }}
 
|weaponTags = {{ucfirst:{{#explode:{{{weaponTags|}}}|,|4}} }}
 
}} }}
 
; weaponTags
 
: {{{weaponTags|}}}
 
}}<!--
 
-->{{#if: {{{thingSetMakerTags|}}} |
 
; thingSetMakerTags
 
: {{{thingSetMakerTags|}}}
 
}}<!--
 
-->{{#if: {{{defaultOutfitTags|}}} |
 
; defaultOutfitTags
 
: {{{defaultOutfitTags|}}}
 
}}<!--
 
-->{{#if: {{{factionPrerequisiteTags|}}} |
 
; factionPrerequisiteTags
 
: {{{factionPrerequisiteTags|}}}
 
}}<!--
 
-->{{#if: {{{harvestTag|}}} |
 
; harvestTag
 
: {{{harvestTag|}}}
 
}}<!--
 
-->{{#if: {{{recipePrerequisiteTags|}}} |
 
;recipePrerequisiteTags
 
: {{{recipePrerequisiteTags|}}}
 
}}<!--
 
-->{{#if: {{{ResearchProjectTagDef|}}} |
 
;ResearchProjectTagDef
 
:{{{ResearchProjectTagDef|}}}
 
}}<!--
 
-->{{#if: {{{sowTag|}}} | {{#if: {{#var:setProperty}} | {{#set:sowTag = {{{sowTag|}}} }} }}
 
;sowTag
 
:{{{sowTag|}}}
 
}}<!--
 
-->{{#if: {{{sowTags|}}} | {{#if: {{#var:setProperty}} | {{#set:
 
sowTags = {{ucfirst:{{#explode:{{{sowTags|}}}|,|0}} }}
 
|sowTags = {{ucfirst:{{#explode:{{{sowTags|}}}|,|1}} }}
 
|sowTags = {{ucfirst:{{#explode:{{{sowTags|}}}|,|2}} }}
 
|sowTags = {{ucfirst:{{#explode:{{{sowTags|}}}|,|3}} }}
 
}} }}
 
;sowTags
 
:{{{sowTags|}}}
 
}}<!--
 
-->{{#if: {{{tag|}}} | {{#if: {{#var:setProperty}} | {{#set:
 
tag = {{ucfirst:{{#explode:{{{tag|}}}|,|0}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|1}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|2}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|3}} }}
 
|tag = {{ucfirst:{{#explode:{{{tag|}}}|,|4}} }}
 
}} }}
 
;tag
 
:{{{tag|}}}
 
}}<!--
 
-->{{#if: {{{tags|}}} | {{#if: {{#var:setProperty}} | {{#set:
 
tags = {{ucfirst:{{#explode:{{{tags|}}}|,|0}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|1}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|2}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|3}} }}
 
|tags = {{ucfirst:{{#explode:{{{tags|}}}|,|4}} }}
 
}} }}
 
;tags
 
:{{{tags|}}}
 
}}<!--
 
-->{{#if: {{{techHediffsTags|}}} | {{#if: {{#var:setProperty}} | {{#set:
 
techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|0}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|1}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|2}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|3}} }}
 
|techHediffsTags = {{ucfirst:{{#explode:{{{techHediffsTags|}}}|,|4}} }}
 
}} }}
 
;techHediffsTags
 
:{{{techHediffsTags|}}}
 
}}<!--
 
-->{{#if: {{{thingSetMakerTagsToAllow|}}} |
 
;thingSetMakerTagsToAllow
 
:{{{thingSetMakerTagsToAllow|}}}
 
}}<!--
 
-->{{#if: {{{thingSetMakerTagsToDisallow|}}} |
 
;thingSetMakerTagsToDisallow
 
:{{{thingSetMakerTagsToDisallow|}}}
 
}}<!--
 
-->{{#if: {{{tradeTag|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:tradeTag = {{{tradeTag|}}} }} }}
 
;tradeTag
 
:{{{tradeTag|}}}
 
}}<!--
 
-->{{#if: {{{tradeTags|}}} |
 
  {{#if: {{#var:setProperty}} |
 
    {{#set:TradeTags = {{#explode:{{{tradeTags|}}}|,|0}}
 
        | TradeTags = {{#explode:{{{tradeTags|}}}|,|1}}
 
        | TradeTags = {{#explode:{{{tradeTags|}}}|,|2}} }} }}
 
;tradeTags
 
:{{{tradeTags|}}}
 
}}<!--
 
-->{{#if: {{{tradeTagsBuy|}}} |
 
;tradeTagsBuy
 
:{{{tradeTagsBuy|}}}
 
}}<!--
 
-->{{#if: {{{tradeTagsSell|}}} |
 
;tradeTagsSell
 
:{{{tradeTagsSell|}}}
 
}}<!--
 
-->{{#if: {{{tradeTagsToAllow|}}} |
 
;tradeTagsToAllow
 
:{{{tradeTagsToAllow|}}}
 
}}<!--
 
-->{{#if: {{{tutorHighlightTag|}}} |
 
;tutorHighlightTag
 
:{{{tutorHighlightTag|}}}
 
}}<!--
 
-->{{#if: {{{apparelTags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|0}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|1}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|2}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|3}} }}
 
|apparelTags = {{ucfirst:{{#explode:{{{apparelTags|}}}|,|4}} }}
 
}} }}
 
;apparelTags
 
:{{{apparelTags|}}}
 
}}<!--
 
-->{{#if: {{{buildingTags|}}} |{{#if: {{#var:setProperty}} | {{#set:
 
buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|0}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|1}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|2}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|3}} }}
 
|buildingTags = {{ucfirst:{{#explode:{{{buildingTags|}}}|,|4}} }}
 
}} }}
 
;buildingTags
 
:{{{buildingTags|}}}
 
}}<!--
 
-->{{#if: {{{stuff adjective|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Stuff Adjective = {{{stuff adjective|}}} }} }}
 
; Stuff Adjective
 
:{{{stuff adjective|}}}
 
}}<!--
 
-->{{#if: {{{small volume|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Small Volume = {{{small volume|}}} }} }}
 
; Small Volume
 
:{{{small volume|}}}
 
}}<!--
 
-->{{#if: {{{preferability|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Preferability = {{ucfirst:{{{preferability|}}} }} }} }}
 
; Preferability
 
: {{ucfirst:{{{preferability|}}} }}
 
}}<!--
 
-->{{#if: {{{food preference|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Food Preference = {{{food preference|}}} }} }}
 
; Food Preference
 
: {{{food preference|}}}
 
}}<!--
 
-->{{#if: {{{drug category|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set:Drug Category = {{{drug category|}}} }} }}
 
; Drug Category
 
: {{{drug category|}}}
 
}}<!--
 
-->{{#if: {{{is pleasure drug|}}} |
 
  {{#if: {{#var:setProperty}} | {{#set: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>}}
 
 
<br style="clear: both; height: 0px;" />
 
<br style="clear: both; height: 0px;" />
</div></div></includeonly><noinclude>
+
</dl></div></div>
{{documentation}}</noinclude><!-- Add categories and interwikis to the /doc subpage, not here! -->
+
</includeonly>
 +
<noinclude>
 +
{{documentation}}
 +
[[Category:Template Infobox]]
 +
</noinclude>

Please note that all contributions to RimWorld Wiki are considered to be released under the CC BY-SA 3.0 (see RimWorld Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)