Difference between revisions of "Template:Infobox main"
m (attack part ucfirst) |
|||
(76 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | <includeonly>{{#switch: {{lc:{{{set property|}}} }} | + | <includeonly><!-- |
+ | |||
+ | 0. TESTING | ||
+ | -->{{#switch: {{lc:{{{set property|}}} }} | ||
| 1 | yes | y | t | true = {{#vardefine:setProperty | true }} | | 1 | yes | y | t | true = {{#vardefine:setProperty | true }} | ||
| 0 | no | n | f | false = {{#vardefine:setProperty |}} | | 0 | no | n | f | false = {{#vardefine:setProperty |}} | ||
| #default = {{#vardefine:setProperty | {{#ifeq: {{NAMESPACE}} || true }} }} | | #default = {{#vardefine:setProperty | {{#ifeq: {{NAMESPACE}} || true }} }} | ||
− | }}<div class="infobox float:right; {{#if: {{{1|}}} | {{#switch: {{{1}}} | + | }}<!-- |
+ | |||
+ | 1. HEAD | ||
+ | --><div class="infobox float:right; {{#if: {{{1|}}} | {{#switch: {{{1}}} | ||
| furniture | medicine = c_01 | | furniture | medicine = c_01 | ||
| structure = c_02 | | structure = c_02 | ||
Line 9: | Line 15: | ||
| weapon = c_06 | | weapon = c_06 | ||
| animal | food = c_08 | | animal | food = c_08 | ||
− | | fabric = | + | | fabric = c_09 |
| security = c_10 | | security = c_10 | ||
| area | exotic = c_11 | | area | exotic = c_11 | ||
Line 17: | Line 23: | ||
| drug = c_24 | | drug = c_24 | ||
| production = c_25 | | production = c_25 | ||
+ | | psycast = c_09 | ||
}} }}"> | }} }}"> | ||
<p class="heading">{{#vardefine:Name|{{{name|{{BASEPAGENAME}} }}} }} {{#var:Name}} {{#if: {{#var:setProperty}} | {{#set:Name = {{#var:Name}} }} }}</p> | <p class="heading">{{#vardefine:Name|{{{name|{{BASEPAGENAME}} }}} }} {{#var:Name}} {{#if: {{#var:setProperty}} | {{#set:Name = {{#var:Name}} }} }}</p> | ||
Line 23: | Line 30: | ||
<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:{{{audio|}}}|[[File:{{{audio|}}}]]{{#if: {{#var:setProperty}} | {{#set:Audio = {{{audio|}}} }} }} }}{{#if:{{{description|}}} | {{{description|}}}{{#if: {{#var:setProperty}} | {{#set:Description = {{{description|}}} }} }} }}</p> | ||
− | <!-- BASE STATS --> | + | <!-- 2. BASE STATS --> |
<p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Base Stats</p> | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Base Stats</p> | ||
<dl> | <dl> | ||
<!-- Category --> | <!-- Category --> | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Type = {{{type|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Type2 = {{{type2|}}} }} }} | ||
;Type | ;Type | ||
− | :[[{{{type}}}]] | + | :[[{{{type}}}]]{{#if: {{{type2|}}} | –  {{#ifeq:{{{type2|}}}|Medicine|[[Medicine (disambiguation)|Medicine]]|[[{{{type2}}}]]}} }} |
{{#if: {{{stuff category|}}} | | {{#if: {{{stuff category|}}} | | ||
− | {{#if: {{#var:setProperty}} | {{#set:Stuff Category = {{{stuff category|}}} }} }} | + | {{#if: {{#var:setProperty}} | |
− | ;Stuff | + | {{#set:Stuff Category = {{#explode:{{{stuff category|}}}|,|0}} |
− | :{{{stuff category|}}} | + | | 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: {{{tech level|}}} | | ||
Line 58: | Line 75: | ||
{{#if: {{#var:setProperty}} | {{#set:Calculated Market Value = True }} }} | {{#if: {{#var:setProperty}} | {{#set:Calculated Market Value = True }} }} | ||
;Market Value | ;Market Value | ||
− | :{{Market Value | {{Market Value Calculator}} }} {{Icon Small|silver}} | + | :{{Market Value | {{Market Value Calculator}} }} {{Icon Small|silver}} <abbr title="This value is automatically calculated by the wiki and may not be correct"><sup>[Note]</sup></abbr> }} }} }} }} |
}} | }} | ||
}} | }} | ||
Line 76: | Line 93: | ||
{{#if: {{{beauty|}}}{{{beauty outdoors|}}} | | {{#if: {{{beauty|}}}{{{beauty outdoors|}}} | | ||
{{#if: {{#var:setProperty}} | {{#set:Beauty Base = {{{beauty|}}} }} }} | {{#if: {{#var:setProperty}} | {{#set:Beauty Base = {{{beauty|}}} }} }} | ||
− | {{#if: {{#var:setProperty}} | {{#set:Beauty Outdoors Base = {{{beauty | + | {{#if: {{#var:setProperty}} | {{#set:Beauty Outdoors Base = {{{beauty outdoors|}}} }} }} |
;Beauty | ;Beauty | ||
:{{{beauty|0}}} {{#if:{{{beauty outdoors|}}}|<abbr title="Beauty score when outdoors">({{{beauty outdoors|}}})</abbr> }} | :{{{beauty|0}}} {{#if:{{{beauty outdoors|}}}|<abbr title="Beauty score when outdoors">({{{beauty outdoors|}}})</abbr> }} | ||
Line 134: | Line 151: | ||
<!-- Other --> | <!-- Other --> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{#if: {{{rotatable|}}} | | {{#if: {{{rotatable|}}} | | ||
{{#if: {{#var:setProperty}} | {{#set:Rotatable = {{{rotatable|}}} }} }} | {{#if: {{#var:setProperty}} | {{#set:Rotatable = {{{rotatable|}}} }} }} | ||
Line 149: | Line 160: | ||
{{#if: {{#var:setProperty}} | {{#set:Path Cost = {{{path cost|}}} }} }} | {{#if: {{#var:setProperty}} | {{#set:Path Cost = {{{path cost|}}} }} }} | ||
;Path Cost | ;Path Cost | ||
− | :{{{path cost|}}} | + | :{{{path cost|}}} ({{%|1 / (1 + {{{path cost|}}} * 0.077) round 2}}) |
}} | }} | ||
− | + | <!-- Refuelable --> | |
− | <!-- | + | {{#if: {{{fuel filter|}}} {{{fuel capacity|}}} {{{fuel consumption rate|}}} | |
− | {{#if: {{{ | ||
</dl>{{clear}} | </dl>{{clear}} | ||
− | <p class='subheading' style='height: 1em !important; padding: 0.25em | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Fuel</p> |
<dl> | <dl> | ||
+ | {{#if: {{{fuel filter|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Fuel Filter = {{{fuel filter|}}} }} }} | ||
+ | ;Usable Item(s) | ||
+ | :{{Icon Small|{{{fuel filter|}}}|16}} [[{{{fuel filter|}}}]] | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{fuel capacity|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Fuel Capacity = {{{fuel capacity|}}} }} }} |
− | ; | + | ;<abbr title="Maximum Capacity of Fuel in Units">Capacity</abbr> |
− | :{{ | + | :{{{fuel capacity|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{fuel consumption rate|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Fuel Consumption Rate = {{{fuel consumption rate|}}} }} }} |
− | ; | + | ;<abbr title="Units of Fuel Consumed per Day/Charge">Consumption Rate</abbr> |
− | + | :{{{fuel consumption rate|}}} | |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- Mineable --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{mineable thing|}}} {{{mineable yield|}}} {{{mineable scatter commonality|}}} {{{mineable scatter lump size range|}}} | |
− | + | </dl>{{clear}} | |
− | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Ore</p> | |
+ | <dl> | ||
+ | {{#if: {{{mineable thing|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mineable Thing = {{{mineable thing|}}} }} }} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mineable yield|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Mineable Yield = {{{mineable yield|}}} }} }} |
− | + | ;Resource Base Yield | |
− | + | :{{Icon Small|{{{mineable thing|}}}||{{{mineable yield|}}}}} [[{{{mineable thing|}}}]] | |
− | |||
− | ; | ||
− | :{{ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mineable scatter commonality|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Mineable Scatter Commonality = {{{mineable scatter commonality|}}} }} }} |
− | ; | + | ;Ore Commonality |
− | :{{ | + | :{{{mineable scatter commonality|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mineable scatter lump size range|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Mineable Scatter Lump Size Range = {{{mineable scatter lump size range|}}} }} }} |
− | ; | + | ;Vein Size |
− | :{{{ | + | :{{{mineable scatter lump size range|}}} |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 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|}}}|}}|×| × }}|*| × }}|x| × }}|ˣ| × }}|+| +}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Size = {{#var:size}} }} }} | ||
+ | ;Size | ||
+ | :{{#var:size}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{minifiable|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Minifiable = {{{minifiable|}}} }} }} |
− | ; | + | ;Minifiable |
− | :{{ | + | :{{ucfirst:{{{minifiable|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{placeable|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Placeable = {{{placeable|}}} }} }} | |
− | + | ;Placeable | |
− | + | :{{ucfirst:{{{placeable|}}} }} | |
− | |||
− | |||
− | {{#if: {{#var:setProperty}} | {{#set: | ||
− | ; | ||
− | : | ||
}} | }} | ||
− | + | {{#if: {{{passability|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Passability = {{{passability|}}} }} }} |
− | + | ;Passability | |
− | + | :{{{passability|}}} | |
− | |||
− | |||
− | {{#if: {{#var:setProperty}} | {{#set: | ||
− | ; | ||
− | :{{ | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{cover|}}} | {{#ifexpr: {{{cover|}}} > 0.75 | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness = 0.75}} }} |
− | ; | + | ;Cover Effectiveness |
− | :{{{ | + | :75% |
− | }} | + | | {{#if: {{#var:setProperty}} | {{#set:Cover Effectiveness= {{{cover|}}} }} }} |
+ | ;Cover Effectiveness | ||
+ | :{{%| {{{cover|}}} }} | ||
+ | }} }} | ||
+ | |||
− | {{#if: {{{ | + | {{#if: {{{edifice|}}} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | | {{#if: {{#var:setProperty}} | {{#set:Edifice = {{{edifice|}}} }} }} |
− | ; | + | ;Edifice |
− | :{{ | + | :{{{edifice|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{blockswind|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Blocks Wind = {{{blockswind|}}} }} }} |
− | ; | + | ;Blocks Wind |
− | :{{ | + | :{{ucfirst:{{{blockswind|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{terrain affordance|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Terrain Affordance = {{ucfirst:{{{terrain affordance|}}} }} }} }} |
− | ; | + | ;Terrain Affordance |
− | :{{{ | + | :{{ucfirst:{{{terrain affordance|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{power|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Power Consumption = {{{power|}}} }} }} |
− | ; | + | ;Power |
− | :{{{ | + | :{{{power|}}} W |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{cleanliness|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Cleanliness = {{{cleanliness|}}} }} }} |
− | ; | + | ;Cleanliness |
− | :{{{ | + | :{{{cleanliness|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{cleaning time factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Cleaning Time Factor = {{{cleaning time factor|}}} }} }} |
− | ; | + | ;Cleaning Time Multiplier |
− | :{{{ | + | :{{%| {{{cleaning time factor|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{filth multiplier|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Filth Multiplier = {{{filth multiplier|}}} }} }} |
− | ; | + | ;Filth Multiplier |
− | :{{{ | + | :{{%| {{{filth multiplier|}}} }} |
}} | }} | ||
− | + | {{#if: {{{facility|}}} | | |
− | {{#if: {{{ | + | {{#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 - | + | <!-- Building - Furniture --> |
− | {{#if: {{{ | + | {{#if: {{{glowradius|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Glow Radius = {{{glowradius|}}} }} }} |
− | |||
− | |||
}} | }} | ||
− | + | {{#if: {{{glowcolor|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Glow Color = {{{glowcolor|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{heatpersecond|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Heat Per Second = {{{heatpersecond|}}} }} }} |
− | ; | + | ;Heat Per Second |
− | :{{ | + | :{{{heatpersecond|}}} |
}} | }} | ||
− | + | {{#if: {{{maxheattemperature|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Max Heat Temperature = {{{maxheattemperature|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Stops Heating At |
− | ; | + | :{{Temperature| {{{maxheattemperature}}} }} |
− | :{{{ | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mincooltemperature|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Min Cool Temperature = {{{mincooltemperature|}}} }} }} |
− | ; | + | ;Stops Cooling At |
− | :{{{ | + | :{{Temperature| {{{mincooltemperature}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{surgery success chance factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{speed|}}} | | + | {{#if: {{#var:setProperty}} | {{#set:Immunity Gain Speed Factor = {{{immunity gain speed factor|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Immunity Gain Speed Factor |
− | ; | + | :{{{immunity gain speed factor|}}} |
− | : | ||
}} | }} | ||
− | + | {{#if: {{{rest effectiveness|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Rest Effectiveness = {{{rest effectiveness|}}} }} }} | |
− | {{#if: {{{ | + | ;Rest Effectiveness |
− | + | :{{{rest effectiveness|}}} | |
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{comfort|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Comfort Base = {{{comfort|}}} }} }} |
− | ; | + | ;Comfort |
− | : | + | :{{{comfort|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{comfort offset|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Comfort Offset = {{{comfort offset|}}} }} }} |
− | ; | + | ;Comfort Offset |
− | : | + | :{{{comfort offset|}}} |
}} | }} | ||
− | {{#if: {{{ | + | <!-- Building - Recreation --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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|}}} | ||
}} | }} | ||
− | {{#if: {{{ | + | <!-- Building - Production --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{work speed factor|}}} | |
− | ; | + | {{#if: {{#var:setProperty}} | {{#set:Work Speed Factor = {{{work speed factor|}}} }} }} |
− | :{{{ | + | ;Work Speed Factor |
+ | :{{%| {{{work speed factor|}}} }} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{work efficiency factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Work Efficiency Factor = {{{work efficiency factor|}}} }} }} |
− | ; | + | ;Work Efficiency Factor |
− | :{{{ | + | :{{%| {{{work efficiency factor|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{unpowered work speed factor|}}} | <!-- work speed at an unpowered workstation --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Unpowered Work Speed Factor = {{{unpowered work speed factor|}}} }} }} |
− | ; | + | ;Unpowered Work Speed Factor |
− | :{{{ | + | :{{%| {{{unpowered work speed factor|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | <!-- Building - Misc --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{work speed offset|}}} | |
− | ; | + | {{#if: {{#var:setProperty}} | {{#set:Work Speed Offset = {{{work speed offset|}}} }} }} |
− | :{{{ | + | ;Work Speed Offset |
+ | :{{{work speed offset|}}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{max simultaneous facilities|}}} | <!-- how many of these facilities a work table can be connected to --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Max Simultaneous Facilities = {{{max simultaneous facilities|}}} }} }} |
− | ; | + | ;Max Simultaneous Facilities |
− | :{{{ | + | :{{{max simultaneous facilities|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{efficiency|}}} | <!-- efficiency of a battery --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Efficiency = {{{efficiency|}}} }} }} |
− | ; | + | ;Efficiency |
− | :{{{ | + | :{{%| {{{efficiency|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{paintable|}}} | <!-- Paintable property. --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Paintable= {{{paintable|}}} }} }} |
− | ; | + | ;Paintable |
− | :{{{ | + | :{{ucfirst:{{{paintable|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | <!-- Building - Floors --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{speed|}}} | |
− | ; | + | {{#if: {{#var:setProperty}} | {{#set:Move Speed Factor = {{{speed|}}} }} }} |
− | :{{{ | + | ;Move Speed Factor |
+ | :{{%| {{{speed|}}} }} | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- MECHANOID --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{EMP resistance|}}} {{{bandwidth cost|}}} {{{wastepacks per recharge|}}} {{{control taking time|}}} {{{repair energy cost|}}} | |
− | ; | + | </dl>{{clear}} |
− | :{{{ | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Mechanoid</p> |
+ | <dl> | ||
+ | |||
+ | {{#if: {{{EMP resistance|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:EMP Resistance = {{{EMP resistance|}}} }} }} | ||
+ | ;EMP Resistance | ||
+ | :{{%| {{{EMP resistance|}}} }} | ||
}} | }} | ||
+ | {{#if: {{{bandwidth cost|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Bandwidth Cost = {{{bandwidth cost|}}} }} }} | ||
+ | ;Bandwidth Cost | ||
+ | :{{{bandwidth cost|}}} | ||
+ | }} | ||
− | {{#if: {{{ | + | {{#if: {{{wastepacks per recharge|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Wastepacks Per Recharge = {{{wastepacks per recharge|}}} }} }} |
− | ; | + | ;Wastepacks Per Recharge |
− | :{{{ | + | :{{{wastepacks per recharge|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{control taking time|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Control Taking Time = {{{control taking time|}}} }} }} |
− | ; | + | ;Control Taking Time |
− | :{{{ | + | :{{{control taking time|}}}s |
}} | }} | ||
− | + | {{#if: {{{repair energy cost|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:repair energy cost = {{{repair energy cost|}}} }} }} | |
− | {{#if: {{{ | + | ;repair energy cost |
+ | :{{--|{{%| {{{repair energy cost|}}} }}}} / 100 {{HP}} | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | <!-- 4. APPAREL --> | ||
+ | {{#if: {{{insulationcold|}}} {{{insulationheat|}}} {{{insulationcoldfactor|}}} {{{insulationheatfactor|}}} {{{armorsharp|}}} {{{armorblunt|}}} {{{armorheat|}}} {{{armorsharpfactor|}}} {{{armorbluntfactor|}}} {{{armorheatfactor|}}} {{{painshockthreshold|}}} {{{coverage|}}} {{{layer|}}} | | ||
</dl>{{clear}} | </dl>{{clear}} | ||
− | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'> | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>{{#ifeq: {{{type|}}} | Gear | Apparel| Armor}}</p> |
<dl> | <dl> | ||
− | {{# | + | {{#if: {{{insulationcold|}}} | |
+ | {{#if: {{#var:setProperty}} | {{#set:Insulation - Cold Base= {{{insulationcold|}}} }} }} | ||
+ | ;Insulation - Cold | ||
+ | :{{Temperature| {{{insulationcold|}}} || delta}} | ||
+ | }} | ||
− | {{#if: {{{ | + | {{#if: {{{insulationheat|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Insulation - Heat Base= {{{insulationheat|}}} }} }} |
− | ; | + | ;Insulation - Heat |
− | :{{{ | + | :{{Temperature| {{{insulationheat|}}} || delta}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{insulationcoldfactor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }} }} |
− | ; | + | ;<abbr title="See Apparel for how this is applied">Insulation Factor - Cold</abbr> |
− | :{{{ | + | :{{{insulationcoldfactor|}}}× |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{insulationheatfactor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }} }} |
− | ; | + | ;<abbr title="See Apparel for how this is applied">Insulation Factor - Heat</abbr> |
− | :{{{ | + | :{{{insulationheatfactor|}}}× |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{armorsharp|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Armor - Sharp = {{{armorsharp|}}} }} }} |
− | ; | + | ;Armor - Sharp |
− | :{{{ | + | :{{{armorsharp|}}}% |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{armorblunt|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Armor - Blunt = {{{armorblunt|}}} }} }} |
− | ; | + | ;Armor - Blunt |
− | :{{{ | + | :{{{armorblunt|}}}% |
+ | }} | ||
− | {{# | + | {{#if: {{{armorheat|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Armor - Heat = {{{armorheat|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Armor - Heat |
− | ; | + | :{{{armorheat|}}}% |
− | :{{ | + | }} |
+ | {{#if: {{{armorsharpfactor|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }} }} | ||
+ | ;Armor Factor - Sharp | ||
+ | :{{{armorsharpfactor|}}} | ||
+ | }} | ||
− | + | {{#if: {{{armorbluntfactor|}}} | | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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 | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | :{{{armorheatfactor|}}} |
+ | }} | ||
− | + | {{#if: {{{painshockthreshold|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Pain Shock Threshold |
− | ; | + | :{{{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: {{{coverage|}}} | | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Coverage = {{{coverage|}}} }} }} |
− | + | ;Coverage | |
− | + | :{{{coverage|}}} | |
− | |||
− | |||
− | |||
− | |||
− | ; | ||
− | :{{ | ||
− | }} | ||
}} | }} | ||
− | + | {{#if: {{{layer|}}} | | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:layer= {{{layer|}}} }} }} |
− | ; | + | ;Layer |
− | :{{ | + | :{{{layer|}}} |
}} | }} | ||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{lifestage|}}} | <!-- Was below the switch and above coverage. Taken outside "Appeal" as the Biomutation lance seems to use it. --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Lifestage = {{{lifestage|}}} }} }} |
− | ; | + | ;Lifestage |
− | :{{{ | + | :{{{lifestage|}}} |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{#if: {{{hungerrate|}}} | | + | <!-- 5. PAWN STATS --> |
− | + | <!-- Animal Health ---> | |
− | + | {{#if: {{{combatPower|}}} {{{movespeed|}}} {{{massyoung|}}} {{{massjuvenile|}}} {{{massadult|}}} {{{healthscale|}}} {{{bodysize|}}} {{{ridingspeed|}}} {{{hungerrate|}}} {{{diet|}}} {{{lifespan|}}} {{{manhunter|}}} {{{manhuntertame|}}} {{{trainable|}}} {{{wildness|}}} {{{petness|}}} {{{predator|}}} {{{roamMtb|}}} {{{nuzzleMtb|}}} {{{maturityage|}}} {{{juvenileage|}}} {{{psychic sensitivity|}}} {{{toxic resistance|}}} {{{toxic environment resistance|}}} | | |
− | :{{# | + | </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|}}} }} }} }} | ||
− | {{#if: {{{ | + | {{#if: {{{combatPower|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Combat Power = {{{combatPower|}}} }} }} |
− | ; | + | ;Combat Power |
− | :{{{ | + | :{{{combatPower}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{movespeed|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Move Speed Base = {{{movespeed|}}} }} }} |
− | ; | + | ;Move Speed |
− | :{{{ | + | :{{{movespeed|}}} {{CS}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{healthscale|}}} | <!-- please add a short explanation of this property here --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Health Scale = {{{healthscale|}}} }} }} |
− | ; | + | ;Health Scale |
− | :{{%| {{{ | + | :{{%|{{{healthscale|}}} }} {{HP}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{bodysize|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Body Size = {{{bodysize|}}} }} }} |
− | ;< | + | ;Body Size |
− | :{{ | + | :{{{bodysize|}}} |
− | }} | + | |
+ | <!-- Moved outside as this is always used. There is no performance difference. --> | ||
+ | {{#vardefine:MassAdult | {{#expr: 60 * {{{bodysize}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mass - Adult = {{#var:MassAdult}} }} }} | ||
+ | {{#vardefine:PackCapacity | {{#expr: {{{bodysize|}}} * 35 }} }} | ||
+ | |||
+ | {{#ifeq: {{{type|}}} | Mechanoid | | ||
+ | ;Mass | ||
+ | :{{#var:MassAdult}} kg | ||
− | + | {{#if: {{#var:setProperty}} | {{#set:Pack Capacity = {{#var:PackCapacity}} }} }} | |
− | {{#if: {{#var:setProperty}} | | + | ;Pack Capacity |
− | + | :{{#var:PackCapacity}} kg | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | : | ||
− | }} | ||
− | + | | | |
− | |||
− | |||
− | |||
− | + | {{#ifeq: {{{type|}}} | Entity | | |
− | + | ;Mass | |
− | + | :{{#var:MassAdult}} kg | |
− | + | | | |
− | + | <!-- Most animal babies are 0.2 the size of the adults, but birds are 0.1 --> | |
− | + | {{#vardefine:BabyScale | {{{babyscale|0.2}}} }} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Baby Scale = {{#var:BabyScale}} }} }} | |
− | + | ||
− | + | <!-- Mass is 60*bodysize, with no exceptions --> | |
− | + | {{#vardefine:MassYoung | {{#expr: 60 * {{{bodysize}}} * {{#var:BabyScale}} }} }} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Mass - Young = {{#var:MassYoung}} }} }} | |
− | + | ;Mass - Baby | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | :{{#var:MassYoung}} kg |
− | |||
− | ; | ||
− | :{{#var: | ||
− | }} | ||
− | {{# | + | {{#vardefine:MassJuvenile | {{#expr: 60 * {{{bodysize}}} * 0.5 }} }} |
+ | {{#if: {{#var:setProperty}} | {{#set:Mass - Juvenile = {{#var:MassJuvenile}} }} }} | ||
+ | ;Mass - Juvenile | ||
+ | :{{#var:MassJuvenile}} kg | ||
− | + | ;Mass - Adult | |
+ | :{{#var:MassAdult}} kg | ||
− | {{# | + | {{#ifeq: {{lc:{{{packanimal|}}} }} | true | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Pack Capacity = {{#var:PackCapacity}} }} }} |
− | ; | + | ;Pack Capacity |
− | :{{ | + | :{{#var:PackCapacity}} kg |
+ | }} | ||
+ | }} | ||
}} | }} | ||
− | {{# | + | {{#ifeq: {{{type|}}} | Entity | | |
− | {{# | + | {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Carrying Capacity = {{#var:CarryingCapacity}} }} }} | |
− | {{# | + | ;Carrying Capacity |
− | + | :{{#var:CarryingCapacity}} kg | |
− | + | }} | |
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{ridingspeed|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Riding Speed = {{{ridingspeed|}}} }} }} |
− | ; | + | ;<abbr title="Multiplier to the caravan's movement speed.">Riding Speed</abbr> |
− | :{{{ | + | :{{{ridingspeed|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#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. --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Animal Filth Rate = {{#var:FilthRate}} }} }} |
− | ; | + | ;<abbr title="The average amount of filth produced on constructed floors per 1000 cells walked by this creature.">Filth Rate</abbr> |
− | :{{# | + | :{{#var:FilthRate}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{hungerrate|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{lifespan|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Life Expectancy = {{{lifespan|}}} }} }} | |
− | + | ;Life Expectancy | |
− | + | :{{{lifespan|}}} years | |
− | ; | + | }} |
− | : | ||
− | |||
− | {{#if: {{{ | + | {{#if: {{{manhunter|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }} }} | |
− | {{ | + | ;<abbr title="Chance of this animal turning manhunter when attacked.">Manhunter Chance</abbr> |
− | + | :{{%| {{{manhunter|}}} }} | |
− | |||
− | |||
− | {{ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{# | + | {{#if: {{{manhuntertame|}}} | |
− | {{# | + | {{#if: {{#var:setProperty}} | {{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }} }} |
− | + | ;<abbr title="Chance of this animal turning manhunter on a failed taming attempt.">Manhunter Chance (Taming)</abbr> | |
− | + | :{{%| {{{manhuntertame|}}} }} | |
}} | }} | ||
− | {{#if: {{ | + | {{#if: {{{trainable|}}} | |
− | + | {{#if: {{#var:setProperty}} | | |
− | + | {{#set:Trainable Intelligence = {{{trainable|}}} }} | |
− | + | {{#switch: {{lc: {{{trainable|}}} }} | |
− | + | | none = {{#set:Can Train Guard = no | Can Train Attack = no | Can Train Rescue = no | Can Train Haul = no }} | |
− | {{#if:{{#var: | + | | hauling only = {{#set:Can Train Guard = no | Can Train Attack = no | Can Train Rescue = no | Can Train Haul = yes }} |
− | {{# | + | | 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 }} | ||
− | {{#if: {{{ | + | {{#vardefine: MinHandlingSkill | {{#if: {{{min handling skill|}}} | {{{min handling skill|}}} | {{#expr: |
− | {{# | + | {{#expr: |
− | {{# | + | {{#ifexpr: {{{wildness|}}} < 0.151 | 0 | {{#expr: {{{wildness|}}}*10 - 0.01 - {{#ifexpr: {{{wildness|}}} > 0.7 | 0 | 1 }} round 0 }} }} |
− | ; | + | }} <!-- Changed to use the formula described in [[Minimum_Handling_Skill]]. The "-0.01" is to simulate the rounding half down. This could be changed to return values against a table, but this is clearer and seemlingly faster.--> |
− | :{{ | + | {{#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: {{{ | + | {{#if: {{{petness|}}} | {{#if: {{#var:setProperty}} | {{#set:Petness = {{{petness|}}} }} }} }} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | }} | ||
− | {{# | + | {{#ifeq: {{{predator|}}} | true | {{#if: {{#var:setProperty}} | {{#set:Is Predator = true}} }}|}} |
− | |||
− | |||
− | |||
− | |||
− | }} | ||
− | {{#if: {{{ | + | {{#if: {{{roamMtb|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Roam Mtb Days = {{{roamMtb|}}} }} }} | |
− | + | ;<abbr title="How often an animal will attempt to roam away if not in a pen.">Roam Interval</abbr> | |
− | + | :{{{roamMtb|}}} days | |
− | + | }} | |
− | :{{{ | ||
− | |||
− | {{#if: {{{ | + | {{#if: {{{nuzzleMtb|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Nuzzle Mtb Hours = {{{nuzzleMtb|}}} }} }} |
− | + | ;<abbr title="How often an animal will nuzzle friendly colonists, on average.">Nuzzle Interval</abbr> | |
− | + | {{#ifexpr: {{{nuzzleMtb|}}} <= 24 | |
− | :{{{ | + | |{{#switch: {{{nuzzleMtb|}}} |
+ | |24 = :1 day | ||
+ | |1 = :1 hour | ||
+ | |#default = :{{{nuzzleMtb|}}} hours}} | ||
+ | |:{{#expr: {{{nuzzleMtb|}}} / 24 round1}} days}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mateMtb|}}} | |
+ | {{#if: {{#var:setProperty}} | {{#set:Mate Mtb Hours = {{{mateMtb|}}} }} }} | ||
+ | ;<abbr title="How often an awake, non-sterilised male will attempt to mate with a female, on average.">Mate Interval</abbr> | ||
+ | :{{{mateMtb|}}} hours | ||
+ | }} | ||
− | {{#if: {{{ | + | {{#if: {{{maturityage|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Maturity Age = {{{maturityage|}}} }} }} |
− | ; | + | ;<abbr title="The age at which an animal reaches adulthood.">Maturity Age</abbr> |
− | :{{{ | + | :{{#expr:{{{maturityage|}}} round 3}} years {{#ifexpr: {{{maturityage|}}} < 1 | ({{formatnum: {{#expr: ({{formatnum:{{{maturityage|}}} |R}}*60)round 1}} }} days) |
+ | }} | ||
+ | |||
+ | {{#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: {{{ | + | {{#if: {{{psychic sensitivity|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Psychic Sensitivity = {{{psychic sensitivity|}}} }} }} |
− | ; | + | ;Psychic Sensitivity |
− | + | :{{%|{{{psychic sensitivity|}}} }} | |
− | + | }} | |
− | |||
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{toxic resistance|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Toxic Resistance = {{{toxic resistance|}}} }} }} |
− | + | ;Toxic Resistance | |
− | ; | + | :{{%|{{{toxic resistance|}}} }} |
− | :{{ | ||
}} | }} | ||
+ | {{#if: {{{toxic environment resistance|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Toxic Environment Resistance = {{{toxic environment resistance|}}} }} }} | ||
+ | ;Toxic Environment Resistance | ||
+ | :{{%|{{{toxic environment resistance|}}} }} | ||
+ | }} | ||
− | <!-- | + | {{#if: {{{min comfortable temperature|}}} | |
− | {{#if: {{{ | + | {{#if: {{{max comfortable temperature|}}} | |
+ | {{#if: {{#var:setProperty}} | {{#set:Min Comfortable Temperature = {{{min comfortable temperature|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Max Comfortable Temperature = {{{max comfortable temperature|}}} }} }} | ||
+ | ;Comfortable Temp Range | ||
+ | :{{Temperature|{{{min comfortable temperature|}}}|{{{max comfortable temperature|}}} }} | ||
+ | }} }} | ||
+ | |||
+ | {{#if: {{{livesin_temperateforest|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Temperate Forest = true }} }} }} | ||
+ | {{#if: {{{livesin_temperateswamp|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Temperate Swamp = true }} }} }} | ||
+ | {{#if: {{{livesin_tropicalrainforest|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Tropical Rainforest = true }} }} }} | ||
+ | {{#if: {{{livesin_tropicalswamp|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Tropical Swamp = true }} }} }} | ||
+ | {{#if: {{{livesin_aridshrubland|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Arid Shrubland = true }} }} }} | ||
+ | {{#if: {{{livesin_desert|}}} | {{#if: {{#var:setProperty}} | {{#set:Lives In Desert = true }} }} }} | ||
+ | {{#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}} | </dl>{{clear}} | ||
− | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'> | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Production</p> |
<dl> | <dl> | ||
+ | |||
+ | {{#ifexpr: {{{meatyield|1}}} * {{{basemeatamount|1}}} | ||
+ | | {{#if: {{{meatname|}}} {{{meatyield|}}} | ||
+ | | {{#vardefine:hasMeat|1}} | ||
+ | | {{#ifeq: {{{type|}}}|Animal | ||
+ | | {{#vardefine:hasMeat|1}} | ||
+ | | {{#vardefine:hasMeat|0}} | ||
+ | }} | ||
+ | }} | ||
+ | | {{#vardefine:hasMeat|0}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#ifexpr: {{#var:hasMeat}}| |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#vardefine: MeatName | {{ucfirst: {{{meatname | {{#var:Name}} meat}}} }}}} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Meat Name = {{#var:MeatName}} }} }} | |
− | :{{{ | + | <!-- Uses meatyield when set, otherwise interpolates from curve applied to 140*body_size or basemeatamount*bodysize --> |
+ | <!-- See Property:Meat_Yield for details --> | ||
+ | {{#vardefine: MeatYield | {{{meatyield | {{#if: {{{bodysize|}}} |{{Meat Leather Curve | {{{basemeatamount|140}}} * {{{bodysize|}}} }} }} }}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Meat Yield = {{#var:MeatYield}} }} }} | ||
+ | |||
+ | ;Meat Yield | ||
+ | :{{#switch: {{#var:MeatName}} | ||
+ | | Human meat = {{Icon Small|Human meat||{{#var:MeatYield}}}} [[Human meat]] | ||
+ | | Insect meat = {{Icon Small|Insect meat||{{#var:MeatYield}}}} [[Insect meat]] | ||
+ | | Twisted meat = {{Icon Small|Twisted meat||{{#var:MeatYield}}}} [[Twisted meat]] | ||
+ | | #default = {{#if: {{{bodysize|}}} | {{#ifexpr: {{{bodysize|}}} < 0.7 | [[File:Meat small c.png|16px|{{#var:MeatName}}|link=Meat]] | [[File:Meat big c.png|16px|{{#var:MeatName}}|link=Meat]]}} }} {{#var:MeatYield}} [[Meat|{{lc:{{#var:MeatName}} }}]] | ||
+ | }} | ||
}} | }} | ||
− | {{# | + | {{#ifexpr: {{{leatheryield|1}}} * {{{baseleatheramount|1}}} |
− | + | | {{#if: {{{leathername|}}} {{{leatheryield|}}} | |
− | + | | {{#vardefine:hasLeather|1}} | |
− | + | | {{#ifeq: {{{type|}}}|Animal | |
+ | | {{#vardefine:hasLeather|1}} | ||
+ | | {{#vardefine:hasLeather|0}} | ||
+ | }} | ||
+ | }} | ||
+ | | {{#vardefine:hasLeather|0}} | ||
}} | }} | ||
− | {{# | + | {{#ifexpr: {{#var:hasLeather}}| |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#vardefine: LeatherName | {{ucfirst: {{{leathername | {{#var:Name}} leather}}} }}}} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Leather Name = {{#var:LeatherName}} }} }} | |
− | :{{{ | + | <!-- Uses leatheryield when set, otherwise interpolates from curve applied to 40*body_size or baseleatheramount*bodysize--> |
− | }} | + | <!-- See Property:Leather_Yield for details --> |
+ | {{#vardefine: LeatherYield | {{{leatheryield | {{#if: {{{bodysize|}}} |{{Meat Leather Curve | {{{baseleatheramount|40}}} * {{{bodysize|}}} }} }} }}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Leather Yield = {{#var:LeatherYield}} }} }} | ||
− | + | ;Leather Yield | |
− | + | : {{Icon Small|{{#var:LeatherName}}||{{#var:LeatherYield}}}} [[{{lc:{{#var:LeatherName}} }}]] | |
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{milk|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Milk Amount = {{{milk|}}} }} }} |
− | ; | + | {{#vardefine: MilkName | {{{milkname| Milk}}} }} |
− | :{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Milk Name = {{#var:MilkName}} }} }} |
+ | ;Milk Amount | ||
+ | :{{Icon Small|{{#var:MilkName}}||{{{milk|}}}}} [[{{#var:MilkName}}|{{lc:{{#var:MilkName}} }}]] | ||
}} | }} | ||
− | {{#if: {{{ | + | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{milktime|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Milking Interval Days = {{{milktime|}}} }} }} | |
− | :{{ | + | {{#if: {{#var:setProperty}} | {{#set:Daily Milk Average = {{#expr: {{{milk|}}}/{{{milktime|}}}round2}} }} }} |
+ | ;Milking Interval | ||
+ | :{{{milktime|}}} days | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{wool|}}}| |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Wool Amount = {{{wool|}}} }} }} |
− | ; | + | {{#vardefine: WoolName | {{{woolname | {{#var:Name}} wool}}} }} |
− | :{{ | + | {{#if: {{#var:setProperty}} | {{#set:Wool Name = {{#var:WoolName}} }} }} |
+ | ;Wool Amount | ||
+ | :{{Icon Small|{{#var:WoolName}}||{{{wool|}}}}} [[{{lc:{{#var:WoolName}} }}]] | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{sheartime|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Shearing Interval Days = {{{sheartime|}}} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }} }} | |
− | :{{{ | + | ;Shearing Interval |
+ | :{{{sheartime|}}} days | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{eggsmin|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{eggsmax|}}} | |
− | ; | + | {{#if: {{#var:setProperty}} | {{#set:Eggs Per Clutch Minimum = {{{eggsmin|}}} }} }} |
− | :{{ | + | {{#if: {{#var:setProperty}} | {{#set:Eggs Per Clutch Maximum = {{{eggsmax|}}} }} }} |
+ | ;Eggs Per Clutch | ||
+ | :{{{eggsmin|}}} to {{{eggsmax|}}} | ||
+ | }} }} | ||
+ | |||
+ | {{#if: {{{eggtime|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Egg Laying Interval = {{{eggtime|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Eggs Per Season Average = {{#expr: {{{eggs_avg|}}}/{{{eggtime|}}}*15 round 2}} }} }} | ||
+ | ;Egg Laying Interval | ||
+ | :{{{eggtime|}}} days | ||
}} | }} | ||
+ | {{#if: {{{eggs_avg|}}} | {{#if: {{#var:setProperty}} | {{#set:Eggs Per Clutch Average = {{{eggs_avg|}}} }} }} }} | ||
− | + | {{#if: {{{eggs_unfertilized|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Can Lay Unfertilized Eggs = {{{eggs_unfertilized|}}} }} }} |
− | + | ;Can Lay Unfertilized Eggs | |
− | + | :{{{eggs_unfertilized|}}} | |
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{gestation|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Gestation Period Days = {{{gestation|}}} }} }} |
− | ; | + | ;Gestation Period |
− | : | + | {{#switch: {{{gestation|}}} |
+ | | N/A = :N/A | ||
+ | | 1 = :{{{gestation|}}} day | ||
+ | | #default = :{{{gestation|}}} days | ||
+ | }} }} | ||
+ | |||
+ | {{#if: {{{offspring|}}} {{{avg offspring|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Offspring Per Birth = {{{offspring|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Average Offspring Per Birth = {{{avg offspring|}}} }} }} | ||
+ | ;Offspring Per Birth | ||
+ | :{{{offspring|}}} {{#if:{{{avg offspring|}}}|({{{avg offspring|}}} avg)}} | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 7. INGESTION --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{nutrition|}}} {{{taste|}}} {{{ingested direct thought|}}} {{{joy offset|}}} {{{joy kind|}}} {{{addictiveness|}}} {{{food poison chance|}}} {{{max num to ingest at once|}}} {{{ingestion time|}}}| |
− | ; | + | </dl>{{clear}} |
− | : | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Ingestion</p> |
+ | <dl> | ||
+ | |||
+ | {{#if: {{{nutrition|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Nutrition = {{{nutrition|}}} }} }} | ||
+ | ;<abbr title="Nutrition gained when this item or object is eaten">Nutrition</abbr> | ||
+ | :{{{nutrition}}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{taste|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Taste = {{ucfirst: {{{taste|}}} }} }} }} |
− | ; | + | ;Taste |
− | : | + | :{{ucfirst: {{{taste|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{ingested direct thought|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Ingested Direct Thought = {{{ingested direct thought|}}} }} }} |
− | ; | + | ;Ingested Direct Thought |
− | : | + | :{{{ingested direct thought|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{joy offset|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Joy Offset = {{{joy offset|}}} }} }} |
− | ; | + | ;Recreation Offset |
− | : | + | :{{%|{{{joy offset|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{joy kind|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Joy Kind = {{{joy kind|}}} }} }} |
− | ; | + | ;Recreation Kind |
− | : | + | :{{{joy kind|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{addictiveness|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Addictiveness = {{{addictiveness|}}} }} }} |
− | ; | + | ;Addictiveness |
− | : | + | :{{%| {{{addictiveness|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{food poison chance|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Food Poison Chance Base = {{{food poison chance|}}} }} }} |
− | ; | + | ;Food Poison Chance |
− | : | + | :{{%| {{{food poison chance|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{max num to ingest at once|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{ingestion time|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Ingestion Time= {{{ingestion time|}}} }} }} |
− | ; | + | ;Ingestion Time |
− | : | + | :{{ticks| {{{ingestion time|}}} }} |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 8. STAT MODIFIERS (for Materials) --> |
− | + | {{#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|}}}| | |
− | + | </dl>{{clear}} | |
− | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Stat Modifiers</p> | |
− | }} | + | <dl> |
− | {{#if: {{{ | + | {{#if: {{{beauty factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Beauty Factor = {{{beauty factor|}}} }} }} |
− | ; | + | ;Beauty Factor |
− | :×{{{ | + | :×{{{beauty factor|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{beauty offset|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Beauty Offset = {{{beauty offset|}}} }} }} |
− | ; | + | ;Beauty Offset |
− | : | + | :+{{{beauty offset|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{work to make factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Work To Make Factor = {{{work to make factor|}}} }} }} |
− | ; | + | ;Work To Make Factor |
− | :×{{{ | + | :×{{{work to make factor|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{work to build factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{#var:setProperty}} | {{#set:Work To Build Offset = {{{work to build offset|}}} }} }} | ||
+ | ;Work To Build Offset | ||
+ | :+{{ticks| {{{work to build offset|}}} }} | ||
+ | }} | ||
− | + | {{#if: {{{max hit points factor|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Max Hit Points Factor = {{{max hit points factor|}}} }} }} |
− | + | ;Max Hit Points | |
− | + | :×{{{max hit points factor|}}} | |
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{flammability factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Flammability Factor = {{{flammability factor|}}} }} }} |
− | ; | + | ;Flammability |
− | :{{ | + | :×{{{flammability factor|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{armor - sharp factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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|}}} }} }} | |
− | {{#if: {{{ | + | ;Armor - Blunt |
− | + | :×{{{armor - blunt factor|}}} | |
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{armor - heat factor|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Armor - Heat Factor = {{{armor - heat factor|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Armor - Heat |
− | + | :×{{{armor - heat factor|}}} | |
− | ; | ||
− | :{{{ | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{insulation - cold factor|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Insulation - Cold Factor = {{{insulation - cold factor|}}} }} }} | |
− | + | ;Insulation - Cold | |
− | ; | + | :+{{Temperature| {{{insulation - cold factor|}}} || delta }} |
− | :{{ | + | }} |
− | |||
− | {{#if: {{{ | + | {{#if: {{{insulation - heat factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Insulation - Heat Factor = {{{insulation - heat factor|}}} }} }} |
− | ; | + | ;Insulation - Heat |
− | :{{ | + | :+{{Temperature| {{{insulation - heat factor|}}} || delta }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{melee blunt damage factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Melee Blunt Damage Factor = {{{melee blunt damage factor|}}} }} }} |
− | ; | + | ;Melee Blunt Damage |
− | :{{ | + | :×{{{melee blunt damage factor|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{melee sharp damage factor|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Melee Sharp Damage Factor = {{{melee sharp damage factor|}}} }} }} | |
− | + | ;Melee Sharp Damage | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | :×{{{melee sharp damage factor|}}} |
− | ; | + | }} |
− | :{{{ | ||
− | }} | ||
− | {{#if: {{{ | + | {{#if: {{{melee cooldown factor|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Melee Cooldown Factor = {{{melee cooldown factor|}}} }} }} | |
− | + | ;Melee Cooldown | |
− | + | :×{{{melee cooldown factor|}}} | |
− | |||
− | |||
− | }} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{door opening speed factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Door Opening Speed Factor = {{{door opening speed factor|}}} }} }} |
− | ; | + | ;Door Opening Speed |
− | :{{{ | + | :×{{{door opening speed factor|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{rest effectiveness factor|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Rest Effectiveness Factor = {{{rest effectiveness factor|}}} }} }} |
− | ; | + | ;Rest Effectiveness |
− | : | + | :×{{{rest effectiveness factor|}}} |
+ | }} | ||
}} | }} | ||
− | {{#if: {{{ | + | <!-- MECHANITOR --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{{mech bandwidth|}}} {{{mech control groups|}}} {{{mech gestation speed|}}} {{{mech remote repair distance|}}} {{{mech remote shield distance|}}} {{{mech remote shield energy|}}} {{{mech repair speed|}}} {{{mech work speed offset|}}} | |
− | ; | + | </dl>{{clear}} |
− | :{{ | + | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Mechanitor</p> |
+ | <dl> | ||
+ | |||
+ | {{#if: {{{mech bandwidth|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mech Bandwidth = {{{mech bandwidth|}}} }} }} | ||
+ | ;Bandwidth | ||
+ | :{{+|{{{mech bandwidth|}}}}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mech control groups|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Mech Control Groups = {{{mech control groups|}}} }} }} |
− | ; | + | ;Control Groups |
− | + | :{{+|{{{mech control groups|}}}}} | |
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {{#if: {{{mech gestation speed|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mech Gestation Speed = {{{mech gestation speed|}}} }} }} | ||
+ | ;Gestation Speed | ||
+ | :{{+|{{%| {{{mech gestation speed|}}} }}}} | ||
+ | }} | ||
+ | {{#if: {{{mech remote repair distance|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mech Remote Repair Distance = {{{mech remote repair distance|}}} }} }} | ||
+ | ;Remote Repair Distance | ||
+ | :{{{mech remote repair distance|}}} c | ||
+ | }} | ||
− | + | {{#if: {{{mech remote shield distance|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Mech Remote Shield Distance = {{{mech remote shield distance|}}} }} }} | |
− | + | ;Remote Shield Distance | |
− | + | :{{{mech remote shield distance|}}} c | |
− | + | }} | |
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{mech remote shield energy|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Mech Remote Shield Energy = {{{mech remote shield energy|}}} }} }} | |
− | + | ;Remote Shield Energy | |
− | + | :{{{mech remote shield energy|}}} | |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{mech repair speed|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Mech Repair Speed = {{{mech repair speed|}}} }} }} |
− | ; | + | ;Repair Speed |
− | :{{{ | + | :{{+|{{%| {{{mech repair speed|}}} }}}} |
}} | }} | ||
+ | {{#if: {{{mech work speed offset|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Mech Work Speed Offset = {{{mech work speed offset|}}} }} }} | ||
+ | ;Work Speed Offset | ||
+ | :{{+|{{%| {{{mech work speed offset|}}} }}}} | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 9. MEDICAL --> |
− | + | {{#if: {{{medical potency base|}}} {{{medical quality max|}}} | | |
− | ; | + | </dl>{{clear}} |
− | : | + | <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: {{{ | + | {{#if: {{{medical potency base|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Medical Potency Base = {{{medical potency base|}}} }} }} | |
− | :{{ | + | ;Medical Potency |
+ | :{{%| {{{medical potency base|}}} }} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{medical quality max|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Medical Quality Max = {{{medical quality max|}}} }} }} | |
− | :{{ | + | ;Max medical tend quality |
+ | :{{%| {{{medical quality max|}}} }} | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 10. PLANT STATS --> |
− | + | {{#if: {{{grow days|}}} {{{sow work|}}} {{{harvest work|}}} {{{product|}}} {{{yield|}}} {{{min sowing skill|}}} {{{min fertility|}}} {{{fertility sensitivity|}}} {{{min grow light|}}}| | |
− | + | </dl>{{clear}} | |
− | + | <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: {{{ | + | {{#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: {{{ | + | {{#if: {{{lifespanDaysPerGrowDays|}}} | |
− | {{#if: { | + | {{#if: {{{grow days|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Lifespan Days Per Grow Days = {{{lifespanDaysPerGrowDays|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Lifespan |
− | + | :{{#ifeq: {{{lifespanDaysPerGrowDays|}}} | 0 | Indefinite | {{#if: {{#var:setProperty}} | {{#set:Lifespan = {{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }} }} }}{{#expr: {{{grow days|}}} * {{{lifespanDaysPerGrowDays|}}} }} days}} | |
− | + | }} }} | |
− | |||
− | |||
− | |||
− | :{{{ | ||
− | |||
− | {{#if: {{{ | + | {{#if: {{{sow work|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Sow Work = {{{sow work|}}} }} }} |
− | ;{{ | + | ;Work to Sow |
− | + | :{{ticks| {{{sow work|}}} }} | |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{harvest work|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Harvest Work = {{{harvest work|}}} }} }} |
− | ; | + | ;Work to Harvest |
− | :{{{ | + | :{{ticks| {{{harvest work|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{product|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{min sowing skill|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{min fertility|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Fertility Min = {{{min fertility|}}} }} }} |
− | ; | + | ;Min Fertility |
− | :{{{ | + | :{{%| {{{min fertility|}}} }} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{fertility sensitivity|}}} | <!-- Combined, due to prior redundant condition --> |
− | + | {{#if: {{#var:setProperty}} | {{#set:Fertility Sensitivity = {{{fertility sensitivity|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Fertility Sensitivity |
− | + | :{{%| {{{fertility sensitivity|}}} }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | }} | ||
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Min Grow Light = {{{min grow light|0.5}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;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 --> |
− | {{#if: {{{ | + | <!-- 11. RANGED COMBAT --> <!-- "Damage type" removed from this IF because it requires a defined "damage" field to be set. Replaced with "mode". --> |
+ | {{#if: {{{mode|}}} {{{damage|}}} {{{armorPenetration|}}} {{{warmup|}}} {{{cooldown|}}} {{{range|}}} {{{minrange|}}} {{{accuracy|}}} {{{accuracyTouch|}}} {{{accuracyShort|}}} {{{accuracyMedium|}}} {{{accuracyLong|}}} {{{velocity|}}} {{{burst|}}} {{{burstTicks|}}} {{{missRadius|}}} {{{blastRadius|}}} {{{DPS|}}} {{{stoppingPower|}}} | | ||
</dl>{{clear}} | </dl>{{clear}} | ||
− | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'> | + | <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> | <dl> | ||
− | |||
− | + | {{#if: {{{mode|}}} | | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Mode = {{{mode|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Mode |
− | + | :{{{mode|}}} | |
− | + | }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | |
− | + | {{#if: {{{damage|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Damage Base = {{{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: {{{ | + | {{#if: {{{armorPenetration|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Armor Penetration = {{{armorPenetration|}}} }} }} |
− | + | ;Armor penetration | |
− | + | :{{{armorPenetration|}}}% | |
− | + | }} | |
− | + | ||
− | + | ||
− | + | {{#if: {{{warmup|}}} | | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Aiming Time Base = {{{warmup|}}} }} }} |
− | + | ;<abbr title="Time it takes to aim the weapon">Warm-Up</abbr> | |
− | ; | + | :{{ticks| {{{warmup|}}} }} |
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{cooldown |}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Ranged Cooldown Base = {{{cooldown|}}} }} }} |
− | + | ;<abbr title="Waiting time before you can aim again after firing">Cooldown</abbr> | |
− | + | :{{ticks| {{{cooldown|}}} }} | |
− | + | }} | |
− | + | ||
− | + | {{#if: {{{range|}}} | | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Range = {{{range|}}} }} }} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | ;Range |
− | + | :{{{range|}}} tile(s) | |
− | ; | + | }} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{minrange|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Minimum Range = {{{minrange|}}} }} }} | |
− | + | ;Minimum Range | |
− | + | :{{{minrange|}}} tiles | |
− | + | }} | |
− | |||
− | |||
− | |||
− | {{#if: {{#var:setProperty}} | {{#set: | ||
− | |||
− | ; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{accuracy|}}} | |
− | + | ;Accuracy | |
− | + | :{{{accuracy|}}} | |
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{#if: {{{ | + | {{#if: {{{accuracyTouch|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Accuracy (Touch) Base = {{{accuracyTouch|}}} }} }} |
− | {{#if: | + | {{#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: {{{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: {{{ | + | {{#if: {{{burstTicks|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{missRadius|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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: {{{ | + | {{#if: {{{blastRadius|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Blast Radius = {{{blastRadius|}}} }} }} |
− | ; | + | ;Blast Radius |
− | :{{{ | + | :{{{blastRadius|}}} |
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{DPS|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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}} }} }} | |
− | :{{{ | + | {{#vardefine:maximumBandolierDPS | {{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} ) / (( {{#if: {{{cooldown|}}} | {{{cooldown|}}} | 1 }} * 0.8 + {{#if: {{{warmup|}}} | {{{warmup|}}} | 0 }} + ( {{#if: {{{burstTicks|}}} | {{{burstTicks|}}} | 1 }} * ( {{#if: {{{burst|}}} | {{{burst|}}}|1}} - 1 ) )) / 60) )) round2}} }} |
+ | {{#if: {{#var:setProperty}} | {{#set:Maximum Bandolier DPS = {{#var:maximumBandolierDPS}} }} }} | ||
+ | {{#vardefine:maximumTriggerhappyDPS | {{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} ) / (( {{#if: {{{cooldown|}}} | {{{cooldown|}}} | 1 }} + {{#if: {{{warmup|}}} | {{{warmup|}}} | 0 }}*0.5 + ( {{#if: {{{burstTicks|}}} | {{{burstTicks|}}} | 1 }} * ( {{#if: {{{burst|}}} | {{{burst|}}}|1}} - 1 ) )) / 60) )) round2}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Maximum Triggerhappy DPS = {{#var:maximumTriggerhappyDPS}} }} }} | ||
+ | {{#vardefine:maximumBandolierTriggerhappyDPS | {{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}} | {{{burst|}}} | 1 }} ) / (( {{#if: {{{cooldown|}}} | {{{cooldown|}}} | 1 }} * 0.8 + {{#if: {{{warmup|}}} | {{{warmup|}}} | 0 }}*0.5 + ( {{#if: {{{burstTicks|}}} | {{{burstTicks|}}} | 1 }} * ( {{#if: {{{burst|}}} | {{{burst|}}}|1}} - 1 ) )) / 60) )) round2}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Maximum BandolierTriggerhappy DPS = {{#var:maximumBandolierTriggerhappyDPS}} }} }} | ||
+ | ;<abbr title="Formatted as: Maximum damage per second">DPS</abbr> | ||
+ | :{{#var:maximumDPS}} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{stoppingPower|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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|}}} |
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{#if: {{{ | + | <!-- 12. MELEE COMBAT --> <!-- Reduced IF as some of these make no sense if the previous ones aren't defined.--> |
− | + | {{#if: {{{attack1label|}}}{{{attack1labelNoLocation|}}}{{{attack1dmg|}}}{{{attack1ap|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}<!-- | |
− | }} | + | -->{{{attack2label|}}}{{{attack2labelNoLocation|}}}{{{attack2dmg|}}}{{{attack2ap|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}<!-- |
+ | -->{{{attack3label|}}}{{{attack3labelNoLocation|}}}{{{attack3dmg|}}}{{{attack3ap|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}<!-- | ||
+ | -->{{{attack4label|}}}{{{attack4labelNoLocation|}}}{{{attack4dmg|}}}{{{attack4ap|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}<!-- | ||
+ | -->{{{attack5label|}}}{{{attack5labelNoLocation|}}}{{{attack5dmg|}}}{{{attack5ap|}}}{{{attack5type|}}}{{{attack5part|}}}{{{attack5cool|}}}<!-- | ||
+ | -->{{{attack6label|}}}{{{attack6labelNoLocation|}}}{{{attack6dmg|}}}{{{attack6ap|}}}{{{attack6type|}}}{{{attack6part|}}}{{{attack6cool|}}}<!-- | ||
+ | -->{{{attack7label|}}}{{{attack7labelNoLocation|}}}{{{attack7dmg|}}}{{{attack7ap|}}}{{{attack7type|}}}{{{attack7part|}}}{{{attack7cool|}}}<!-- | ||
+ | -->{{{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> | |
− | ; | ||
− | : | ||
− | |||
− | {{#if: {{{ | + | <!-- Animal Melee Combat // This increments depth by 1. I deem the -2500 Preprocessor visited node count, -3000 Post-expand include size, and -100 template size worth it. --> |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 | + | {{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Label = {{{attack1label|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Label No Location = {{{attack1labelNoLocation|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{attack1dmg|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Cooldown = {{{ | + | {{#vardefine: Attack1AP | {{{attack1ap|{{#expr: ({{{attack1dmg|}}}*1.5-0.001) round 0}} }}} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Chance Factor = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{#var:Attack1AP}} }} }} |
− | {{#vardefine: | + | {{#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|}}} }} }} |
− | :{{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Chance Factor = {{{attack1chancefactor|}}} }} }} |
− | --><br/>{{{ | + | {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool|}}}) }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 DPS = {{#var:Attack1DPS}} }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Stun = {{{attack1stun|}}} }} }} |
− | -->{{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Ensure Linked Body Parts Group Always Usable = {{{attack1ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} |
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Always Treat As Weapon = {{{attack1alwaysTreatAsWeapon|}}} }} }} | ||
+ | ;Attack{{#if: {{{attack2dmg|}}}| 1}} | ||
+ | :{{#if: {{{attack1label|}}}|{{#if: {{{attack1labelNoLocation|}}}|{{ucfirst:{{{attack1label|}}}}} ({{ucfirst:{{{attack1labelNoLocation|}}}}})|{{ucfirst:{{{attack1label|}}} }} }}|{{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: {{{ | + | {{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Label = {{{attack2label|}}} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Label No Location = {{{attack2labelNoLocation|}}} }} }} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{attack2dmg|}}} }} }} | |
− | + | {{#vardefine: Attack2AP | {{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}} }}} }} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{#var:Attack2AP}} }} }} | |
− | {{#if: {{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{attack2type|}}} }} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{ucfirst:{{{attack2part|}}} }} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Chance Factor = {{{attack2chancefactor|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{ucfirst:{{{ | + | {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool|}}}) }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 DPS = {{#var:Attack2DPS}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Chance Factor = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Stun = {{{attack2stun|}}} }} }} |
− | {{#vardefine: | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Ensure Linked Body Parts Group Always Usable = {{{attack2ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} |
− | {{# | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Always Treat As Weapon = {{{attack2alwaysTreatAsWeapon|}}} }} }} |
− | ; | + | ;Attack 2 |
− | :{{ucfirst:{{{ | + | :{{#if: {{{attack2label|}}}|{{#if: {{{attack2labelNoLocation|}}}|{{ucfirst:{{{attack2label|}}}}} ({{ucfirst:{{{attack2labelNoLocation|}}}}})|{{ucfirst:{{{attack2label|}}} }} }}|{{ucfirst:{{{attack2part|Body part?}}}}} }}<!-- |
− | --><br/>{{{ | + | --><br/>{{{attack2dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack2type|}}} }}|{{ucfirst:{{{attack2type|type?}}} }}]])<!-- |
− | --><br/>{{{ | + | --><br/>{{{attack2ap|{{#expr: ({{{attack2dmg|}}}*1.5-0.001) round 0}} }}}% {{AP}}<!-- |
− | --><br/>{{{ | + | --><br/>{{{attack2cool|0}}} second cooldown<!-- |
− | -->{{#if: {{{ | + | -->{{#if: {{{attack2chancefactor|}}} | <br/>{{{attack2chancefactor|}}} chance factor}}<!-- |
+ | -->{{#if: {{{attack2stun|}}} | <br/>Stun for {{Ticks|{{{attack2stun|0}}}*20}} on first strike}} }} | ||
− | {{#if: {{{ | + | {{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}| |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Label = {{{attack3label|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Label No Location = {{{attack3labelNoLocation|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{attack3dmg|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{ucfirst:{{{ | + | {{#vardefine: Attack3AP | {{{attack3ap|{{#expr: ({{{attack3dmg|}}}*1.5-0.001) round 0}} }}} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Cooldown = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{#var:Attack3AP}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Chance Factor = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{attack3type|}}} }} }} }} |
− | {{#vardefine: | + | {{#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|}}} }} }} |
− | :{{ucfirst:{{{ | + | {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool|}}}) }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 DPS = {{#var:Attack3DPS}} }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Stun = {{{attack3stun|}}} }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Ensure Linked Body Parts Group Always Usable = {{{attack3ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} |
− | -->{{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Always Treat As Weapon = {{{attack3alwaysTreatAsWeapon|}}} }} }} |
+ | ;Attack 3 | ||
+ | :{{#if: {{{attack3label|}}}|{{#if: {{{attack3labelNoLocation|}}}|{{ucfirst:{{{attack3label|}}}}} ({{ucfirst:{{{attack3labelNoLocation|}}}}})|{{ucfirst:{{{attack3label|}}} }} }}|{{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: {{{ | + | {{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}| |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Label = {{{attack4label|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Label No Location = {{{attack4labelNoLocation|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{attack4dmg|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{ucfirst:{{{ | + | {{#vardefine: Attack4AP | {{{attack4ap|{{#expr: ({{{attack4dmg|}}}*1.5-0.001) round 0}} }}} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Cooldown = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{#var:Attack4AP}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Chance Factor = {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{attack4type|}}} }} }} }} |
− | {{#vardefine: | + | {{#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|}}} }} }} |
− | :{{ucfirst:{{{ | + | {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool|}}}) }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 DPS = {{#var:Attack4DPS}} }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Stun = {{{attack4stun|}}} }} }} |
− | --><br/>{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Ensure Linked Body Parts Group Always Usable = {{{attack4ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} |
− | -->{{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Always Treat As Weapon = {{{attack4alwaysTreatAsWeapon|}}} }} }} |
+ | ;Attack 4 | ||
+ | :{{#if: {{{attack4label|}}}|{{#if: {{{attack4labelNoLocation|}}}|{{ucfirst:{{{attack4label|}}}}} ({{ucfirst:{{{attack4labelNoLocation|}}}}})|{{ucfirst:{{{attack4label|}}} }} }}|{{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 Label = {{{attack5label|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 5 Label No Location = {{{attack5labelNoLocation|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 5 Damage = {{{attack5dmg|}}} }} }} | ||
+ | {{#vardefine: Attack5AP | {{{attack5ap|{{#expr: ({{{attack5dmg|}}}*1.5-0.001) round 0}} }}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 5 AP = {{#var:Attack5AP}} }} }} | ||
+ | {{#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|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 5 Ensure Linked Body Parts Group Always Usable = {{{attack5ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 5 Always Treat As Weapon = {{{attack5alwaysTreatAsWeapon|}}} }} }} | ||
+ | ;Attack 5 | ||
+ | :{{#if: {{{attack5label|}}}|{{#if: {{{attack5labelNoLocation|}}}|{{ucfirst:{{{attack5label|}}}}} ({{ucfirst:{{{attack5labelNoLocation|}}}}})|{{ucfirst:{{{attack5label|}}} }} }}|{{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: {{{ | + | {{#if: {{{attack6dmg|}}}{{{attack6type|}}}{{{attack6part|}}}{{{attack6cool|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Label = {{{attack6label|}}} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Label No Location = {{{attack6labelNoLocation|}}} }} }} | |
− | :{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Damage = {{{attack6dmg|}}} }} }} |
− | }} | + | {{#vardefine: Attack6AP | {{{attack6ap|{{#expr: ({{{attack6dmg|}}}*1.5-0.001) round 0}} }}} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 6 AP = {{#var:Attack6AP}} }} }} | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Type = {{ucfirst:{{{attack6type|}}} }} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#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|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Ensure Linked Body Parts Group Always Usable = {{{attack6ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 6 Always Treat As Weapon = {{{attack6alwaysTreatAsWeapon|}}} }} }} | ||
+ | ;Attack 6 | ||
+ | :{{#if: {{{attack6label|}}}|{{#if: {{{attack6labelNoLocation|}}}|{{ucfirst:{{{attack6label|}}}}} ({{ucfirst:{{{attack6labelNoLocation|}}}}})|{{ucfirst:{{{attack6label|}}} }} }}|{{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}} }} | ||
+ | {{#if: {{{attack7dmg|}}}{{{attack7type|}}}{{{attack7part|}}}{{{attack7cool|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Label = {{{attack7label|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Label No Location = {{{attack7labelNoLocation|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Damage = {{{attack7dmg|}}} }} }} | ||
+ | {{#vardefine: Attack7AP | {{{attack7ap|{{#expr: ({{{attack7dmg|}}}*1.5-0.001) round 0}} }}} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 AP = {{#var:Attack7AP}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Type = {{ucfirst:{{{attack7type|}}} }} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Part = {{ucfirst:{{{attack7part|}}} }} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Cooldown = {{{attack7cool|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Chance Factor = {{{attack7chancefactor|}}} }} }} | ||
+ | {{#vardefine: Attack7DPS | {{#expr: {{{attack7dmg|}}} / ({{{attack7cool|}}}) }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 DPS = {{#var:Attack7DPS}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Stun = {{{attack7stun|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Ensure Linked Body Parts Group Always Usable = {{{attack7ensureLinkedBodyPartsGroupAlwaysUsable|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 7 Always Treat As Weapon = {{{attack7alwaysTreatAsWeapon|}}} }} }} | ||
+ | ;Attack 7 | ||
+ | :{{#if: {{{attack7label|}}}|{{#if: {{{attack7labelNoLocation|}}}|{{ucfirst:{{{attack7label|}}}}} ({{ucfirst:{{{attack7labelNoLocation|}}}}})|{{ucfirst:{{{attack7label|}}} }} }}|{{ucfirst:{{{attack7part|Body part?}}}}} }}<!-- | ||
+ | --><br/>{{{attack7dmg|?}}} dmg ([[Damage Types#{{ucfirst:{{{attack7type|}}} }}|{{ucfirst:{{{attack7type|type?}}} }}]])<!-- | ||
+ | --><br/>{{{attack7ap|{{#expr: ({{{attack7dmg|}}}*1.5-0.001) round 0}} }}}% {{AP}}<!-- | ||
+ | --><br/>{{{attack7cool|0}}} second cooldown<!-- | ||
+ | -->{{#if: {{{attack7chancefactor|}}} | <br/>{{{attack7chancefactor|}}} chance factor}}<!-- | ||
+ | -->{{#if: {{{attack7stun|}}} | <br/>Stun for {{Ticks|{{{attack7stun|0}}}*20}} on first strike}} }} | ||
− | |||
− | {{# | + | {{#if: {{#varexists: Attack1DPS}} | <!-- Defined on the "attack1" block.--> |
− | {{#vardefine: | + | {{#vardefine:MobAverageDPS|{{#expr:0.62*{{True Melee DPS Calculator|{{#var:Name}} }} }} }}{{#if: {{#var:setProperty}} | {{#set:Mob Average DPS = {{#var:MobAverageDPS}} }} }} |
− | + | ;Average {{DPS}} | |
− | + | :{{#var:MobAverageDPS}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | {{# | + | <!-- New melee starting from Beta 18 --> |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#ifeq: {{lc:{{{mode|}}} }} | melee | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Mode = {{{mode|}}} }} }} | |
− | + | ;Mode | |
− | | | + | :{{{mode|}}} |
− | + | }} | |
− | |||
− | }} }} | ||
− | ; | ||
− | : | ||
− | + | {{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}} | | |
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 AP = {{{meleeattack1ap|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Type = {{ucfirst:{{{meleeattack1type|}}} }} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Part = {{ucfirst:{{{meleeattack1part|}}} }} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Cooldown = {{{meleeattack1cool|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 1 Chance Factor = {{{meleeattack1chancefactor|}}} }} }} | ||
+ | {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }} | ||
+ | {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }} | ||
+ | ;Melee Attack{{#if: {{{meleeattack1dmg|}}}| 1}} | ||
+ | :{{ucfirst:{{{meleeattack1part|Body part?}}} }}<!-- | ||
+ | --><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.--> | |
− | -->{{#if:{{#var: | + | ;Body Part |
− | + | :{{{body part|}}} | |
− | --> | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}} | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }} }} |
− | {{# | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 AP = {{{meleeattack2ap|}}} }} }} |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Type = {{ucfirst:{{{meleeattack2type|}}} }} }} }} |
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Part = {{ucfirst:{{{meleeattack2part|}}} }} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Cooldown = {{{meleeattack2cool|}}} }} }} | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Attack 2 Chance Factor = {{{meleeattack2chancefactor|}}} }} }} | ||
+ | {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }} | ||
+ | {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }} | ||
+ | ;Melee Attack 2{{#if: {{{meleeattack2dmg|}}}| }} | ||
+ | :{{ucfirst:{{{meleeattack2part|Body part?}}} }}<!-- | ||
+ | --><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: {{{ | + | {{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }} }} | |
− | : | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 AP = {{{meleeattack3ap|}}} }} }} |
− | }} | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Type = {{ucfirst:{{{meleeattack3type|}}} }} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Part = {{ucfirst:{{{meleeattack3part|}}} }} }} }} | |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Cooldown = {{{meleeattack3cool|}}} }} }} | |
− | {{# | + | {{#if: {{#var:setProperty}} | {{#set:Attack 3 Chance Factor = {{{meleeattack3chancefactor|}}} }} }} |
− | + | {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }} | |
− | + | {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }} | |
− | + | ;Melee Attack 3{{#if: {{{meleeattack3dmg|}}}| }} | |
− | :{{ | + | :{{ucfirst:{{{meleeattack3part|Body part?}}} }}<!-- |
− | }} }} | + | --><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: {{{ | + | {{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}} | |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 AP = {{{meleeattack4ap|}}} }} }} | |
− | :{{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Type = {{ucfirst:{{{meleeattack4type|}}} }} }} }} |
− | }} | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Part = {{ucfirst:{{{meleeattack4part|}}} }} }} }} |
− | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Cooldown = {{{meleeattack4cool|}}} }} }} | |
− | {{#if: {{{ | + | {{#if: {{#var:setProperty}} | {{#set:Attack 4 Chance Factor = {{{meleeattack4chancefactor|}}} }} }} |
− | {{#if: {{#var:setProperty}} | {{#set: | + | {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }} |
− | ;{{ | + | {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }} |
− | :{{{ | + | ;Melee Attack 4{{#if: {{{meleeattack3dmg|}}}| }} |
− | }} | + | :{{ucfirst:{{{meleeattack4part|Body part?}}} }}<!-- |
+ | --><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}} }} | ||
+ | |||
+ | |||
+ | <!-- was supposed to calculate stuff but then decided it's just better to use the value provided by the game | ||
− | {{#ifeq: | + | {{#ifeq: {{#varexists: MeleeAttack3Chance}}|1| |
− | + | {{#vardefine: TotalChance | {{#expr: ({{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2Chance}} + {{#var:MeleeAttack3Chance}}) }} }}| | |
− | {{# | + | {{#ifeq: {{#varexists: MeleeAttack2Chance}}|1| |
− | + | {{#vardefine: TotalChance | {{#expr: ({{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2Chance}})}} }}| | |
− | + | {{#ifeq: {{#varexists: MeleeAttack1Chance}}|1| | |
− | + | {{#vardefine: TotalChance | {{#expr: {{#var:MeleeAttack1Chance}} }} }} }} }} }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {{#ifeq: {{#varexists: MeleeAttack3DPS}}|1| | ||
+ | {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var:MeleeAttack1DPS}} * {{#var:MeleeAttack1Chance}} + {{#var:MeleeAttack2DPS}} * {{#var:MeleeAttack2Chance}} + {{#var:MeleeAttack3DPS}} * {{#var:MeleeAttack3Chance}} ) / {{#var:TotalChance}} }} }}| | ||
+ | {{#ifeq: {{#varexists: MeleeAttack2DPS}}|1| | ||
+ | {{#vardefine: MeleeWeaponAverageDPS | {{#expr: ({{#var:MeleeAttack1DPS}} * {{#var:MeleeAttack1Chance}} + {{#var:meleeattack2dmg}} * {{#var:MeleeAttack2Chance}} ) / {{#var:TotalChance}} }} }}| | ||
+ | {{#ifeq: {{#varexists: MeleeAttack1DPS}}|1| | ||
+ | {{#vardefine: MeleeWeaponAverageDPS | {{#expr: {{#var:MeleeAttack1DPS}} }} }} }} }} }} | ||
− | + | ---------- Line to separate the mess above from the other stuff below ---------- --> | |
− | |||
− | |||
− | |||
− | |||
− | <!--- | + | <!--- 13. CREATION ---> |
− | {{# | + | {{#if: {{{research|}}} {{{production facility 1|}}} {{{work to make|}}} {{{resources to make|}}} {{{stuff tags|}}} {{{deconstruct yield|}}} {{{resource 1|}}} {{{resource 2|}}}{{{resource 3|}}} {{{resource 4|}}} {{{resource 5|}}} {{{resource 6|}}} {{{resource 1 amount|}}} {{{resource 2 amount|}}} {{{resource 3 amount|}}} {{{resource 4 amount|}}} {{{resource 5 amount|}}} {{{resource 6 amount|}}} {{{product amount|}}} | |
− | ;{{ | + | </dl>{{clear}} |
− | : | + | <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|}}} | <!-- Compressed --> | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Production Facility 1 = {{{production facility 1|}}} }} }} | ||
+ | {{#if: {{{production facility 2|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 2 = {{{production facility 2|}}} }} }} }} | ||
+ | {{#if: {{{production facility 3|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 3 = {{{production facility 3|}}} }} }} }} | ||
+ | {{#if: {{{production facility 4|}}} | {{#if: {{#var:setProperty}} | {{#set:Production Facility 4 = {{{production facility 4|}}} }} }} }} | ||
+ | ;Crafted At | ||
+ | :{{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|}}}| / {{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|}}}| / {{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|}}}| / {{Icon Small|{{{production facility 4|}}}|{{#switch:{{lc:{{{production facility 4|}}} }}|butcher spot|crafting spot|campfire|fermenting barrel|nutrient paste dispenser=16|#default=32}} }} }} | ||
}} | }} | ||
− | |}} | + | |
+ | <!-- Research section --> | ||
+ | {{#if: {{#vardefineecho:research|{{{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: {{#var:setProperty}} | {{#set: | ||
+ | Required Research = {{#var:research1}} | ||
+ | | 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}} }} | {{Icon Small|Techprint|16}} }} }}<!-- | ||
+ | |||
+ | -->{{#if:{{#var:research3}}|, [[Research#{{#var:research3}}|{{#var:research3}}]]{{#if: {{#pos:Artificial metabolism, Brain wiring, Cataphract armor, Circadian influence, Compact weaponry, Flesh shaping, Healing factors, Jump packs, Molecular analysis, Neural computation, Poison synthesis, Specialized limbs, Skin hardening | {{#var:research3}} }} | {{Icon Small|Techprint|16}} }} }}<!-- | ||
+ | |||
+ | -->{{#if:{{#var:research4}}|, [[Research#{{#var:research4}}|{{#var:research4}}]]{{#if: {{#pos:Artificial metabolism, Brain wiring, Cataphract armor, Circadian influence, Compact weaponry, Flesh shaping, Healing factors, Jump packs, Molecular analysis, Neural computation, Poison synthesis, Specialized limbs, Skin hardening | {{#var:research4}} }} | {{Icon Small|Techprint|16}} }} }}<!-- | ||
+ | |||
+ | -->{{#if:{{#var:research5}}|, [[Research#{{#var:research5}}|{{#var:research5}}]]{{#if: {{#pos:Artificial metabolism, Brain wiring, Cataphract armor, Circadian influence, Compact weaponry, Flesh shaping, Healing factors, Jump packs, Molecular analysis, Neural computation, Poison synthesis, Specialized limbs, Skin hardening | {{#var:research5}} }} | {{Icon Small|Techprint|16}} }} }} | ||
}} | }} | ||
− | {{#if: {{{ | + | {{#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: {{#var:setProperty}} | {{#set:Gestation Cycles = {{{gestation cycles}}} }} }} | ||
+ | ;<abbr title="The number of gestation cycles that must be initiated by a mechanitor to gestate this mechanoid">Gestation Cycles</abbr> | ||
+ | :{{{gestation cycles|}}} | ||
}} | }} | ||
− | {{#if:{{{ | + | {{#if: {{{stuff tags|}}} | |
− | + | {{#if: {{#var:setProperty}} | | |
− | :{{{ | + | {{#set:Stuff Tags = {{#explode:{{{stuff tags|}}}|,|0}} |
− | + | | 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: {{{resource 1|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 1 = {{{resource 1|}}} }} }} }} | |
− | --> | + | {{#if: {{{resource 2|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 2 = {{{resource 2|}}} }} }} }} |
− | + | {{#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: {{#var:setProperty}} | {{#if: {{{page verified for version|}}} | {{Verified|{{{page verified for version|}}} }} | {{Verified}} }} }} | + | {{#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: {{{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|}}} | | + | {{#if: {{{resource 6 type|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 6 Type = {{{resource 6 type|}}} }} }} }} |
− | </dl>{{clear}} | + | {{#if: {{{resource 1 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 1 Amount = {{{resource 1 amount|}}} }} }} }} |
− | <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 | + | {{#if: {{{resource 2 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 2 Amount = {{{resource 2 amount|}}} }} }} }} |
− | <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: {{{resource 3 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 3 Amount = {{{resource 3 amount|}}} }} }} }} |
− | {{#if: {{{defName|}}} | | + | {{#if: {{{resource 4 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 4 Amount = {{{resource 4 amount|}}} }} }} }} |
− | ; defName | + | {{#if: {{{resource 5 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 5 Amount = {{{resource 5 amount|}}} }} }} }} |
− | : {{{defName|}}} | + | {{#if: {{{resource 6 amount|}}} | {{#if: {{#var:setProperty}} | {{#set:Resource 6 Amount = {{{resource 6 amount|}}} }} }} }} |
− | }}<!-- | + | |
− | -->{{#if: {{{has quality|}}} | {{#if: {{#var:setProperty}} | {{#set:Has Quality = {{ucfirst:{{{has quality|}}} }} }} }} | + | |
− | ;Has Quality | + | {{#if: {{{resource 1|}}}|<!--{{#ifeq: {{lc:{{{placeable|}}} }}|false||--> |
− | :{{ucfirst:{{{has quality|}}} }} | + | ;Resources to make |
− | }}<!-- | + | :{{#ifeq: {{{resource 1|}}}|Nutrition|{{{resource 1 amount|}}} [[{{{resource 1|}}}]] ({{{resource 1 type|}}})|{{Icon Small|{{{resource 1|}}}|16}} {{{resource 1 amount|}}} }} {{#if: {{{resource 2|}}}| + {{#ifeq: {{{resource 2|}}}|Nutrition|{{{resource 2 amount|}}} [[{{{resource 2|}}}]] ({{{resource 2 type|}}})|{{Icon Small|{{{resource 2|}}}|16}} {{{resource 2 amount|}}} }} }} {{#if: {{{resource 3|}}}| + {{Icon Small|{{{resource 3|}}}|16}} {{{resource 3 amount|}}}|}} {{#if: {{{resource 4|}}}| + {{Icon Small|{{{resource 4|}}}|16}} {{{resource 4 amount|}}}|}} {{#if: {{{resource 5|}}}| + {{Icon Small|{{{resource 5|}}}|16}} {{{resource 5 amount|}}}|}} {{#if: {{{resource 6|}}}| + {{Icon Small|{{{resource 6|}}}|16}} {{{resource 6 amount|}}}|}} |
− | -->{{#if: {{{color|}}} | {{#if: {{#var:setProperty}} | {{#set:color = {{{color|}}} }} }} | + | <!--|}}--> |
− | ;Color | + | }} |
− | :{{{color|}}} | + | |
+ | <!---If resource 1 is set to stuff, but theres no stuff tags, make note of it---> | ||
+ | {{#ifeq: Stuff | {{{resource 1|}}} | {{#if: {{{stuff tags|}}}| | | ||
+ | ;<abbr title="The types of resource that can be substituted for the generic resource type">Stuff tags</abbr> | ||
+ | :<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|}}}| | ||
+ | ;<abbr title="Resources recovered when deconstructing.">Deconstruct yield</abbr> | ||
+ | :{{{deconstruct yield|}}}| | ||
+ | <!-- if resource 1 != None and type = Building and deconstructable != false and deconstructyieldfraction|0.5 > 0 NON-EXCLUSIVE OR if deconstruct yield fraction set above 0 manually OR set to deconstructable true | ||
+ | -->{{#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| | ||
+ | ;<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|}}} | | ||
+ | ;<abbr title="Resources recovered when destroyed.">Destroy yield</abbr> | ||
+ | :{{{destroyyield|}}}<!--Uses destroyyield if it's set. leavesresourceswhendestroyed and bonusdestroyleavings are to be phased out. | ||
+ | -->| {{#ifeq:{{{type|}}}|Building|<!--If leavesresourceswhendestroyed != false and resource 1 != None or if bonusdestroyleavings != None: write the title | ||
+ | -->{{#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>}}) | ||
+ | -->|}}<!-- | ||
+ | -->|}}<!-- | ||
+ | -->}} | ||
+ | }} | ||
+ | |||
+ | <!-- 14. ABILITY --> | ||
+ | {{#if: {{{psylink level|}}} {{{casting time|}}} {{{ability range|}}} {{{psyfocus cost|}}} {{{neural heat gain|}}} {{{effect radius|}}} {{{duration|}}} {{{duration multiplier|}}} {{{goodwill impact|}}} | | ||
+ | </dl>{{clear}} | ||
+ | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important; margin: 0.5em 0 0.5em !important'>Ability</p> | ||
+ | <dl> | ||
+ | |||
+ | {{#if: {{{psylink level|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Psylink Level = {{{psylink level|}}} }} }} | ||
+ | ;Psylink Level | ||
+ | :{{{psylink level|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{psyfocus cost|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Psyfocus Cost = {{{psyfocus cost|}}} }} }} | ||
+ | ;Psyfocus Cost | ||
+ | :{{%|{{{psyfocus cost|}}}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{neural heat gain|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Neural Heat Gain = {{{neural heat gain|}}} }} }} | ||
+ | ;Neural Heat Gain | ||
+ | :{{{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|}}}}} | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | <!-- 14.5 Containment --> | ||
+ | {{#if: {{{containment strength|}}} {{{containment offset|}}} {{{containment factor|}}} {{{minimum containment strength|}}} {{{anomaly knowledge|}}} {{{anomaly knowledge offset|}}} {{{knowledge category|}}} {{{study interval|}}} {{{gets cold containment bonus|}}} {{{min monolith level|}}} {{{min monolith level for study|}}} {{{requires holding platform|}}} {{{requires imprisonment|}}} {{{base escape interval MTB days|}}} | | ||
+ | </dl>{{clear}} | ||
+ | <p class='subheading' style='height: 1em !important; padding: 0.25em 0 0.5em !important'>Containment</p> | ||
+ | <dl> | ||
+ | |||
+ | {{#if: {{{containment strength|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Containment Strength = {{{containment strength|}}} }} }} | ||
+ | ;Containment Strength | ||
+ | :{{{containment strength|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{containment offset|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Containment Strength = {{{containment offset|}}} }} }} | ||
+ | ;Containment Offset | ||
+ | :{{#ifexpr: {{{containment offset|}}} > 0 | {{+|{{{containment offset|}}} }} | {{--|{{{containment offset|}}} }} }} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{containment factor|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Containment Factor = {{{containment factor|}}} }} }} | ||
+ | ;Containment Factor | ||
+ | :{{#ifexpr: {{{containment factor|}}} = 1 | ×{{%|{{{containment factor|}}} }} | {{#ifexpr: {{{containment factor|}}} > 1 | {{Good|×{{%|{{{containment factor|}}} }} }} | {{Bad|×{{%|{{{containment factor|}}} }} }} }} }} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{minimum containment strength|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Minimum Containment Strength = {{{minimum containment strength|}}} }} }} | ||
+ | ;Min Containment Strength | ||
+ | :{{{minimum containment strength|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{anomaly knowledge|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Anomaly Knowledge = {{{anomaly knowledge|}}} }} }} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{anomaly knowledge offset|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Anomaly Knowledge = {{{anomaly knowledge|}}} + {{{anomaly knowledge offset|}}} }} }} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{knowledge category|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Knowledge Category = {{{knowledge category|}}} }} }} | ||
+ | ;Knowledge Gain | ||
+ | :{{{anomaly knowledge|}}} {{{knowledge category|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{study interval|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Studiable Frequency Ticks = {{{study interval|}}} }} }} | ||
+ | ;Study Interval | ||
+ | :{{Ticks/gametime/days|{{{study interval|}}} }} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{bioferrite density|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Bioferrite Density = {{{bioferrite density|}}} }} }} | ||
+ | ;Bioferrite Generation | ||
+ | :{{Icon Small|Bioferrite}} {{#expr: 1 * {{{bodysize|}}} * {{{bioferrite density|}}} }}/day | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{gets cold containment bonus|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Gets Cold Containment Bonus = {{{gets cold containment bonus|}}} }} }} | ||
+ | ;<abbr title="{{Q|Cold Containment Bonus|Description}}">Gets Cold Bonus</abbr> | ||
+ | :{{{gets cold containment bonus|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{min monolith level|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Minimum Monolith Level = {{{min monolith level|}}} }} }} | ||
+ | ;Min Monolith Level | ||
+ | :{{{min monolith level|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{min monolith level for study|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Minimum Monolith Level For Study = {{{min monolith level for study|}}} }} }} | ||
+ | ;Min Monolith Level For Study | ||
+ | :{{{min monolith level for study|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{requires holding platform|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Requires Holding Platform = {{{requires holding platform|}}} }} }} | ||
+ | ;Held on Spot or Platform | ||
+ | :{{{requires holding platform|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{requires imprisonment|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Requires Imprisonment = {{{requires imprisonment|}}} }} }} | ||
+ | ;Imprisoned | ||
+ | :{{{requires imprisonment|}}} | ||
+ | }} | ||
+ | |||
+ | {{#if: {{{base escape interval MTB days|}}} | | ||
+ | {{#if: {{#var:setProperty}} | {{#set:Base Escape Interval Mtb Days = {{{base escape interval MTB days|}}} }} }} | ||
+ | ;Escape Interval | ||
+ | :{{MTB}} {{{base escape interval MTB days|}}} days | ||
+ | }} | ||
+ | }} | ||
+ | |||
+ | <!-- 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|}}} | | -->{{#if: {{{file|}}} | | ||
Line 1,684: | Line 2,043: | ||
:{{{sowTag|}}} | :{{{sowTag|}}} | ||
}}<!-- | }}<!-- | ||
− | -->{{#if: {{{sowTags|}}} | {{#if: {{#var:setProperty}} | {{#set:sowTags = {{{sowTags|}}} }} }} | + | -->{{#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 | ||
:{{{sowTags|}}} | :{{{sowTags|}}} | ||
Line 1,732: | Line 2,096: | ||
}}<!-- | }}<!-- | ||
-->{{#if: {{{tradeTags|}}} | | -->{{#if: {{{tradeTags|}}} | | ||
− | {{#if: {{#var:setProperty}} | {{#set:tradeTags = {{{tradeTags|}}} }} }} | + | {{#if: {{#var:setProperty}} | |
+ | {{#set:TradeTags = {{#explode:{{{tradeTags|}}}|,|0}} | ||
+ | | TradeTags = {{#explode:{{{tradeTags|}}}|,|1}} | ||
+ | | TradeTags = {{#explode:{{{tradeTags|}}}|,|2}} }} }} | ||
;tradeTags | ;tradeTags | ||
:{{{tradeTags|}}} | :{{{tradeTags|}}} | ||
Line 1,783: | Line 2,150: | ||
}}<!-- | }}<!-- | ||
-->{{#if: {{{preferability|}}} | | -->{{#if: {{{preferability|}}} | | ||
− | {{#if: {{#var:setProperty}} | {{#set:Preferability = {{{preferability|}}} }} }} | + | {{#if: {{#var:setProperty}} | {{#set:Preferability = {{ucfirst:{{{preferability|}}} }} }} }} |
; Preferability | ; Preferability | ||
− | : {{{preferability|}}} | + | : {{ucfirst:{{{preferability|}}} }} |
}}<!-- | }}<!-- | ||
-->{{#if: {{{food preference|}}} | | -->{{#if: {{{food preference|}}} | |
Revision as of 09:13, 26 January 2025
This page has been suggested for recoding. Reason: 1) Doesn't play nice with skins - font color changes, but not background. Background either needs to be transparent or use color from skin. 2) Equip delay (see tag on that page). You can help RimWorld Wiki by improving it. |
Intro
Template:Infobox main Is the core of what powers the SemanticMediaWiki database of rimworld objects. Since the template is so complex, it's worth taking a step back and summarizing what this template does:
- Takes in facts: On each page which describes an in-game object, we call
{{infobox main | ...}}
|, where ...
| is a very long list of parameters describing the object in question, including its name, type, the cost to make it, and a bunch of other things
- Rendering an infobox: This template takes those parameters and presents them in a nice looking infobox on the right side of the page. If you add a param
|marketvalue = 200
|, this template will add a line to the infobox showing the market value annotated with a silver icon. Cool!
- Setting SMW properties: The real magic comes from this templates ability to also set SMW properties. If the
|marketvalue = 200
| param is present, this template will also set a SMW property 'Market Value Base' equal to 200 for whatever page the infobox was called on.
As an example, say there was an Page called "Foo" for an in-game object with the same name. In-game, a foo has a market value of 200. When you invoke {{infobox main | ... | marketvalue = 200 | ...
|, this template will set the 'Market Value Base' property of the 'Foo' page to 200.
These properties can then be retrieved using a snippet like {{#show:Foo|?Market Value Base}}
|. You can browse the properties for a given page by clicking the "Browse properties" link on the left side of the page. For an example, see Special:Browse/:Duster
Positional parameters
This template also takes one (and only one -- all others are ignored) positional parameter that specifies the type of infobox styling to use (primarily: to set the color of the infobox based on object type)
Usage
This section is a stub. You can help RimWorld Wiki by expanding it. Reason: Parity with available parameters and documentation (List & Table). |
- Everything is optional for the template to function; however, relevant sections should be filled in for the sake of completeness. The information displayed is dependent on which category is used, and will not be displayed unless a value is provided.
- You can add a "name" and "image". Fill these values if the PAGENAME macro is not adequate (if the page name has a disambig qualifier for example)
Parameter List
Parameter Table
Parameter | Dependencies | Type/Unit | Property / Stat | Description | Expandxml-tag / hierarchy |
---|
Deprecated positional parameters
This template used to take in up to 4 positional parameters, often accomplish relatively hacky things. As of now this template only takes ONE positional parameter -- all others are ignored.
- (still in use)
- DEPRECATED: Extra CSS class to be applied to the infobox div.
- DEPRECATED: Used to be extra params passed to the image layout in the infobox. Superseded by the imagesize= param
- DEPRECATED: Overly clever use of the size parameter. The usual format is |size = X|Y. This then gets transformed into x * y. BUT it only works if you have 3 positional parameters prior to the first param.
Examples
The above documentation is transcluded from Template:Infobox main/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |