Difference between revisions of "Template:Sandbox"

From RimWorld Wiki
Jump to navigation Jump to search
(Replaced content with "<div style="border:2px dotted darkgray; margin-top:0.5em; margin-bottom:1em; padding:0 0.5em;"> Welcome to the '''{{SITENAME}} sandbox'''!<br /> This page exists so that y...")
Tag: Replaced
Line 1: Line 1:
<div style="border:2px dotted darkgray; margin-top:0.5em; margin-bottom:1em; padding:0 0.5em;">
+
<includeonly>
Welcome to the '''{{SITENAME}} sandbox'''!<br />
+
<div class="infobox float:right; {{#if:{{{1|}}}|{{#switch:{{{1}}}|<!--
This page exists so that you can practice editing or formatting without changing any serious content. See [https://en.wikipedia.org/wiki/Help:Editing Help:Editing]. Feel free to try wiki editing out here first.<br />
+
--> animal = c_08 |<!--
There is a [[Help:Tutorial 1|tutorial]] on the Central (coordinating) Wikia that will step you through more of the things you can doWiki allow for rather complicated formatting. It can look overwhelming when you begin, but don't let it worry you. Just start with the basics... enter some text, and learn the other pieces as you goYour content contributions are welcome and important.  The wiki is a collaborative effort and others can help with formatting and other improvements.<br />
+
--> plant = c_14 |<!--
Best wishes!
+
--> weapon = c_06 |<!--
</div><noinclude>
+
--> area = c_11 |<!--
{{documentation}}</noinclude>
+
--> structure = c_02 |<!--
 +
--> production = c_25 |<!--
 +
--> security = c_10 |<!--
 +
--> furniture = c_01 |<!--
 +
-->}}}} {{#if:{{{2|}}}|{{{2}}}}}">
 +
<p class="heading">{{{name|{{BASEPAGENAME}}}}}</p>
 +
<div class="wrapper">
 +
<div class="image_wrapper" title="{{{name|{{BASEPAGENAME}}}}}">{{#if:{{{image|}}}|[[File:{{{image|}}}|{{{imagesize|}}}|link={{{name|{{BASEPAGENAME}}}}}|{{#if:{{{3}}}|{{!}}{{{3|}}}}}]]|[[File:{{{name|{{BASEPAGENAME}}}}}.png|link=|{{#if:{{{3}}}|{{!}}{{{3|}}}}}]]}}</div>
 +
<p class="text-center" style="display:block; font-size:89%; padding: .5em;">{{#if:{{{description|}}}|{{{description|}}}{{#set:Description = {{{description|}}}}}}}</p>{{#set:Image = [[File:{{{image|{{PAGENAME}}.png}}}]]}}
 +
----
 +
<dl>
 +
{{#set:Name = {{{name|{{BASEPAGENAME}} }}} }}
 +
;Type
 +
:[[{{{type}}}]]{{#set:Type = {{{type|}}}}}{{#if: {{{type2|}}} |&#32;&ndash;&#32; [[{{{type2}}}]]{{#set:Type2 = {{{type2|}}}}} }}
 +
 
 +
{{#if: {{{placeable|}}}|{{#set:Placeable = {{{placeable|}}} }}
 +
;Placeable
 +
:{{{placeable|}}}}}
 +
 
 +
{{#if: {{{rotatable|}}}|{{#set:Rotatable = {{{rotatable|}}} }}
 +
;Rotatable
 +
:{{{rotatable|}}}}}
 +
 
 +
 
 +
{{#if: {{{size|}}}| {{#if:{{{4}}}|{{#set:Size = {{{size|}}}&nbsp;ˣ&nbsp;{{{4|}}} }}|{{#set:Size = {{{size}}} }} }}
 +
;Size
 +
:{{#show: {{PAGENAME}} |?Size |link=none}}
 +
}}
 +
 
 +
{{#if: {{{efficiency|}}}|{{#set:Efficiency= {{{efficiency|}}} }}
 +
;Efficiency
 +
:{{{efficiency|}}}}}
 +
 
 +
{{#if: {{{hp|}}}|{{#set:Max Hit Points Base = {{{hp|}}} }}
 +
;HP
 +
:{{{hp|}}}}}
 +
 
 +
{{#if: {{{deterioration|}}}|{{#set:Deterioration Rate Base = {{{deterioration|}}} }}
 +
;Deterioration Rate
 +
:{{{deterioration|}}}}}
 +
 
 +
{{#if: {{{marketvalue|}}}|{{#set: Market Value Base = {{{marketvalue|}}} }}
 +
;Market Value
 +
:{{Market Value | {{{marketvalue|}}}}}&nbsp;{{Icon Small|silver}} }}
 +
 
 +
{{#if: {{{beauty|}}}|{{#set:Beauty Base = {{{beauty|}}} }}
 +
;Beauty
 +
:[[Beauty Base::{{{beauty|}}}]]}}
 +
 
 +
{{#if: {{{mass base|}}}|{{#set:Mass Base = {{{mass base|}}} }}
 +
;Mass
 +
:{{{mass base|}}} kg}}
 +
 
 +
{{#if: {{{flammability|}}}|{{#set:Flammability Base = {{{flammability|}}} }}
 +
;Flammability
 +
:{{#expr:{{{flammability|}}}*100}}%}}
 +
 
 +
{{#if: {{{minimum skill|}}}|{{#set:Minimum skill = {{{minimum skill|}}} }}
 +
;{{H:title|link=no|Minimum skill level required to build or craft.|Required skill}}
 +
:{{{minimum skill|}}}}}
 +
 
 +
<!-- Apparel-->
 +
 
 +
{{#if: {{{insulationcold|}}}|{{#set:Insulation - Cold Base= {{{insulationcold|}}} }}
 +
;Insulation - Cold
 +
:{{{insulationcold|}}}&deg;C}}
 +
 
 +
{{#if: {{{insulationheat|}}}|{{#set:Insulation - Heat Base= {{{insulationheat|}}} }}
 +
;Insulation - Heat
 +
:{{{insulationheat|}}}&deg;C}}
 +
 
 +
{{#if: {{{insulationcoldfactor|}}}|{{#set:Insulation Factor - Cold= {{{insulationcoldfactor|}}} }}
 +
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Cold}}
 +
:{{{insulationcoldfactor|}}}x }}
 +
 
 +
{{#if: {{{insulationheatfactor|}}}|{{#set:Insulation Factor - Heat= {{{insulationheatfactor|}}} }}
 +
;{{H:title|link=no|See Apparel for how this is applied|Insulation Factor - Heat}}
 +
:{{{insulationheatfactor|}}}x }}
 +
 
 +
{{#if: {{{armorblunt|}}}|{{#set:Armor - Blunt= {{{armorblunt|}}} }}
 +
;Armor - Blunt
 +
:{{{armorblunt|}}}%}}
 +
 
 +
{{#if: {{{armorsharp|}}}|{{#set:Armor - Sharp = {{{armorsharp|}}} }}
 +
;Armor - Sharp
 +
:{{{armorsharp|}}}%}}
 +
 
 +
{{#if: {{{armorheat|}}}|{{#set:Armor - Heat = {{{armorheat|}}} }}
 +
;Armor - Heat
 +
:{{{armorheat|}}}%}}
 +
 
 +
{{#if: {{{armorbluntfactor|}}}|{{#set:Armor Factor - Blunt= {{{armorbluntfactor|}}} }}
 +
;Armor Factor - Blunt
 +
:{{{armorbluntfactor|}}}}}
 +
 
 +
{{#if: {{{armorsharpfactor|}}}|{{#set:Armor Factor - Sharp = {{{armorsharpfactor|}}} }}
 +
;Armor Factor - Sharp
 +
:{{{armorsharpfactor|}}}}}
 +
 
 +
{{#if: {{{armorheatfactor|}}}|{{#set:Armor Factor - Heat = {{{armorheatfactor|}}} }}
 +
;Armor Factor - Heat
 +
:{{{armorheatfactor|}}}}}
 +
 
 +
{{#if: {{{painshockthreshold|}}}|{{#set:Pain Shock Threshold = {{{painshockthreshold|}}} }}
 +
;Pain Shock Threshold
 +
:{{{painshockthreshold|}}}%}}
 +
 
 +
{{#if: {{{coverage|}}}|{{#set:Coverage = {{{coverage|}}} }}
 +
;Coverage
 +
:{{{coverage|}}}}}
 +
 
 +
<!-- All pawns (animals, humanoids, mechanoids) -->
 +
 
 +
{{#ifeq: {{{type|}}}|Animals|{{#set: Type = {{{type2|}}}}}}}
 +
 
 +
{{#if: {{{walkSpeed|}}}|{{#set:Move Speed Base = {{{walkSpeed|}}} }}
 +
;Move Speed
 +
:{{{walkSpeed|}}}}}
 +
 
 +
{{#if: {{{movespeed|}}}|{{#set:Move Speed Base = {{{movespeed|}}} }}
 +
;Move Speed
 +
:{{{movespeed|}}}}}
 +
 
 +
{{#if: {{{massyoung|{{{massadult|}}}}}}|{{#set:Mass - Young= {{{massyoung|{{#expr:{{{massadult}}}/5}}}}} }}
 +
;Mass - Young
 +
:{{{massyoung|{{#expr:{{{massadult}}}/5}}}}}kg}}
 +
 
 +
{{#if: {{{massjuvenlie|{{{massadult|}}}}}}|{{#set:Mass - Juvenile= {{{massjuvenile|{{#expr:{{{massadult}}}/2}}}}} }}
 +
;Mass - Juvenile
 +
:{{{massjuvenlie|{{#expr:{{{massadult}}}/2}}}}}kg}}
 +
 
 +
{{#if: {{{massadult|}}}|{{#set:Mass - Adult= {{{massadult|}}} }}
 +
;Mass - Adult
 +
:{{{massadult|}}}kg}}
 +
 
 +
{{#if: {{{attack1dmg|}}}{{{attack1type|}}}{{{attack1part|}}}{{{attack1cool|}}}|
 +
  {{#set:Attack 1 Damage = {{{attack1dmg|}}} }}
 +
  {{#set:Attack 1 Type = {{{attack1type|}}} }}
 +
  {{#set:Attack 1 Part = {{{attack1part|}}} }}
 +
  {{#set:Attack 1 Cooldown = {{{attack1cool|}}} }}
 +
  {{#vardefine: Attack1DPS | {{#expr: {{{attack1dmg|}}} / ({{{attack1cool}}} / 60) }} }}
 +
  {{#set: Attack 1 DPS = {{#var: Attack1DPS}} }}
 +
;Attack{{#if: {{{attack2dmg|}}}|&nbsp;1}}
 +
:{{{attack1part|Body part?}}}<br>{{{attack1dmg|?}}} dmg ({{{attack1type|type?}}})<br>{{ticks|{{{attack1cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack1stun|}}}|{{#set:Attack 1 Stun = {{{attack1stun|}}}}}<br>Stun for {{ticks|{{{attack1stun|0}}}*20}} on first strike}}
 +
 
 +
{{#if: {{{attack2dmg|}}}{{{attack2type|}}}{{{attack2part|}}}{{{attack2cool|}}}|
 +
  {{#set:Attack 2 Damage = {{{attack2dmg|}}} }}
 +
  {{#set:Attack 2 Type = {{{attack2type|}}} }}
 +
  {{#set:Attack 2 Part = {{{attack2part|}}} }}
 +
  {{#set:Attack 2 Cooldown = {{{attack2cool|}}} }}
 +
  {{#vardefine: Attack2DPS | {{#expr: {{{attack2dmg|}}} / ({{{attack2cool}}} / 60) }} }}
 +
  {{#set: Attack 2 DPS = {{#var: Attack2DPS}} }}
 +
;Attack 2
 +
:{{{attack2part|Body part?}}}<br>{{{attack2dmg|?}}} dmg ({{{attack2type|type?}}})<br>{{ticks|{{{attack2cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack2stun|}}}|{{#set:Attack 2 Stun = {{{attack2stun|}}}}}<br>Stun for {{ticks|{{{attack2stun|0}}}*20}} on first strike}}
 +
 
 +
{{#if: {{{attack3dmg|}}}{{{attack3type|}}}{{{attack3part|}}}{{{attack3cool|}}}|
 +
  {{#set:Attack 3 Damage = {{{attack3dmg|}}} }}
 +
  {{#set:Attack 3 Type = {{{attack3type|}}} }}
 +
  {{#set:Attack 3 Part = {{{attack3part|}}} }}
 +
  {{#set:Attack 3 Cooldown = {{{attack3cool|}}} }}
 +
  {{#vardefine: Attack3DPS | {{#expr: {{{attack3dmg|}}} / ({{{attack3cool}}} / 60) }} }}
 +
  {{#set: Attack 3 DPS = {{#var: Attack3DPS}} }}
 +
;Attack 3
 +
:{{{attack3part|Body part?}}}<br>{{{attack3dmg|?}}} dmg ({{{attack3type|type?}}})<br>{{ticks|{{{attack3cool|0}}}}} }}<!--
 +
-->{{#if: {{{attack3stun|}}}|{{#set:Attack 3 Stun = {{{attack3stun|}}}}}<br>Stun for {{ticks|{{{attack3stun|0}}}*20}} on first strike}}
 +
 
 +
{{#if: {{{attack4dmg|}}}{{{attack4type|}}}{{{attack4part|}}}{{{attack4cool|}}}|
 +
  {{#set:Attack 4 Damage = {{{attack4dmg|}}} }}
 +
  {{#set:Attack 4 Type = {{{attack4type|}}} }}
 +
  {{#set:Attack 4 Part = {{{attack4part|}}} }}
 +
  {{#set:Attack 4 Cooldown = {{{attack4cool|}}} }}
 +
  {{#vardefine: Attack4DPS | {{#expr: {{{attack4dmg|}}} / ({{{attack4cool}}} / 60) }} }}
 +
  {{#set: Attack 4 DPS = {{#var: Attack4DPS}} }}
 +
;Attack 4
 +
:{{{attack4part|Body part?}}}<br>{{{attack4dmg|?}}} dmg ({{{attack4type|type?}}})<br>{{ticks|{{{attack4cool|0}}}}} on first strike}}<!--
 +
-->{{#if: {{{attack4stun|}}}|{{#set:Attack 4 Stun = {{{attack4stun|}}}}}<br>Stun for {{ticks|{{{attack4stun|0}}}*20}}}}
 +
 
 +
{{#ifeq: {{#varexists: Attack4DPS}}|1|
 +
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}} + {{#var: Attack3DPS}} + {{#var: Attack4DPS}})/4 * 0.62 round 2}} }}|
 +
{{#ifeq: {{#varexists: Attack3DPS}}|1|
 +
  {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}} + {{#var: Attack3DPS}})/3 * 0.62 round 2}} }}|
 +
    {{#ifeq: {{#varexists: Attack2DPS}}|1|
 +
      {{#vardefine: MobAverageDPS | {{#expr: ({{#var: Attack1DPS}} + {{#var: Attack2DPS}})/2 * 0.62 round 2}} }}|
 +
      {{#ifeq: {{#varexists: Attack1DPS}}|1|
 +
        {{#vardefine: MobAverageDPS | {{#expr: {{#var: Attack1DPS}} * 0.62 round 2}} }} }} }} }} }}
 +
 
 +
{{#ifeq: {{#varexists: MobAverageDPS}}|1|
 +
;Average DPS
 +
:{{#var: MobAverageDPS}}
 +
{{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
 +
 
 +
{{#if: {{{mobdamage|}}}|{{#set:Melee Damage Base = {{{mobdamage|}}} }}
 +
;Damage
 +
:{{{mobdamage|}}}}}
 +
 
 +
{{#if: {{{mobdamagetype|}}}|{{#set:Melee Damage Def = {{{mobdamagetype|}}} }}
 +
;Damage Type
 +
:{{{mobdamagetype|}}}}}
 +
 
 +
{{#if: {{{mobdamage2|}}}|{{#set:Melee Damage Base = {{{mobdamage2|}}} }}
 +
;Damage
 +
:{{{mobdamage2|}}}}}
 +
 
 +
{{#if: {{{mobdamagetype2|}}}|{{#set:Melee Damage Def = {{{mobdamagetype2|}}} }}
 +
;Damage Type
 +
:{{{mobdamagetype2|}}}}}
 +
 
 +
{{#if: {{{mobdamage3|}}}|{{#set:Melee Damage Base = {{{mobdamage3|}}} }}
 +
;Damage
 +
:{{{mobdamage3|}}}}}
 +
 
 +
{{#if: {{{mobdamagetype3|}}}|{{#set:Melee Damage Def = {{{mobdamagetype3|}}} }}
 +
;Damage Type
 +
:{{{mobdamagetype3|}}}}}
 +
 
 +
{{#if: {{{mobdamageaverage|}}}|{{#set:Average Melee Damage = {{{mobdamageaverage|}}}}}}}
 +
 
 +
{{#ifeq: {{{type|}}} | Animals |
 +
  {{#if: {{{meatname|}}}|
 +
    {{#vardefine: MeatName | {{{meatname|}}}}}{{#set: Meat Name = {{{meatname|}}} }}|
 +
    {{#vardefine: MeatName | {{{name|{{BASEPAGENAME}}}}} meat}}{{#set: Meat Name = {{{name|{{BASEPAGENAME}}}}} meat}} }}
 +
  {{#if: {{{leathername|}}}|
 +
    {{#vardefine: LeatherName | {{{leathername|}}}}}{{#set: Leather Name = {{{leathername|}}} }}|
 +
    {{#vardefine: LeatherName | {{{name|{{BASEPAGENAME}}}}} leather}}{{#set: Leather Name = {{{name|{{BASEPAGENAME}}}}} leather}} }}
 +
  {{#if: {{{is exotic species|}}}|{{#set: Is Exotic Species = true}}|{{#set: Is Exotic Species = false}}}}|
 +
}}
 +
 
 +
{{#if: {{{bodysize|}}}|
 +
  {{#set: Body Size = {{{bodysize|}}} }}
 +
  <!-- This section only for when meat yield is overridden in the XML def -->
 +
  <!-- As of A14, only Thrumbo, Scyther and Centipede should have this param specified -->
 +
  {{#if: {{{meatyield|}}}|
 +
    {{#set: Meat Yield = {{{meatyield|}}} }}
 +
;Meat Yield
 +
:{{{meatyield|}}}|
 +
  <!-- Section end -->
 +
    {{#vardefine: MeatYield | {{#expr: 90 * {{{bodysize|}}} round0}} }}
 +
    {{#set: Meat Yield = {{#var: MeatYield}} }}
 +
;Meat Yield
 +
:{{#var: MeatYield}}}}  [[Meat|{{lc:{{#var: MeatName}}}}]]
 +
  {{#vardefine: CarryingCapacity | {{#expr: 75 * {{{bodysize|}}} round0}} }}
 +
  {{#set: Carrying Capacity = {{#var: CarryingCapacity}} }}
 +
;Carrying Capacity
 +
:{{#var: CarryingCapacity}}
 +
 
 +
  <!-- See Property:Leather_Yield article for details -->
 +
  {{#if: {{{leatheryield|}}}|
 +
    {{#vardefine: LeatherYield | {{{leatheryield|}}} }} |
 +
    {{#vardefine: LeatherYield | {{#expr: 30 * {{{bodysize|}}} round0}} }} <!-- This is only accurate for animals with leatheryield > 40.  Smaller animals will be affected by the post process curve and should have their leatheryield set explicitly -->
 +
  }}
 +
  {{#set: Leather Yield = {{#var: LeatherYield}} }}
 +
;Leather Yield
 +
:{{#var: LeatherYield}} [[{{#var: LeatherName}}|{{lc:{{#var: LeatherName}}}}]] }}
 +
 
 +
{{#if: {{{manhunter|}}}|{{#set:Turn Manhunter Chance When Attacked = {{{manhunter|}}} }}
 +
;{{H:title|link=no|Chance of this animal turning manhunter when attacked.|Manhunter Chance}}
 +
:{{#expr: {{{manhunter|}}} * 100}}%}}
 +
 
 +
{{#if: {{{manhuntertame|}}}|{{#set:Turn Manhunter Chance When Taming = {{{manhuntertame|}}} }}
 +
;{{H:title|link=no|Chance of this animal turning manhunter on a failed taming attempt.|Manhunter Chance (Taming)}}
 +
:{{#expr: {{{manhuntertame|}}} * 100}}%}}
 +
 
 +
{{#if: {{{hungerrate|}}}|{{#set:Base Hunger Rate = {{{hungerrate|}}} }}
 +
;Hunger Rate
 +
:{{{hungerrate|}}}}}
 +
 
 +
{{#if: {{{diet|}}}|{{#set:Diet ={{{diet|}}} }}
 +
;Diet
 +
:{{{diet|}}}}}
 +
 
 +
{{#if: {{{lifespan|}}}|{{#set:Life Expectancy = {{{lifespan|}}} }}
 +
;Life Expectancy
 +
:{{{lifespan|}}}}}
 +
 
 +
{{#if: {{{trainable|}}}|{{#set:Trainable Intelligence = {{{trainable|}}} }}
 +
;Trainable Intelligence
 +
:{{{trainable|}}}
 +
{{#switch: {{{trainable|}}}
 +
| none = {{#set: Can Train Guard = no |Can Train Attack = no |Can Train Rescue = no |Can Train Haul = no}}
 +
| simple = {{#set: Can Train Guard = yes |Can Train Attack = no |Can Train Rescue = no |Can Train Haul = no}}
 +
| intermediate = {{#set: Can Train Guard = yes |Can Train Attack = yes |Can Train Rescue = no |Can Train Haul = no}}
 +
| advanced = {{#set: Can Train Guard = yes |Can Train Attack = yes}}{{#ifexpr: {{{bodysize|}}} >= 0.65|{{#set: Can Train Rescue = yes}}|{{#set: Can Train Rescue = no}}}}{{#ifexpr: {{{bodysize|}}} >= 0.40|{{#set: Can Train Haul = yes}}|{{#set: Can Train Haul = no}}}}
 +
}}
 +
}}
 +
 
 +
{{
 +
#if:{{{handleskill|{{{wildness|}}} }}}|{{#ifexpr: {{{wildness|}}} <=19|{{#set:Minimum Handling Skill = 0}}|{{#set: Minimum Handling Skill = {{#expr:{{{wildness}}} (- 0.19) * 9 / 0.769}} }} }}
 +
;{{H:title|link=no|This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.|Minimum Handling Skill}}
 +
:{{#ifexpr:{{{wildness|}}} <= 0.19|0|{{#expr:{{{wildness}}} (- 0.19) * 9 / 0.769}} }}
 +
}}
 +
 
 +
{{#if: {{{wildness|}}}|{{#set:Wildness = {{{wildness|}}} }}
 +
;{{H:title|link=no|Wilder creatures are naturally more difficult to tame, train, and handle.|Wildness}}
 +
:{{#expr: {{{wildness|}}} * 100 round0}}%}}
 +
 
 +
{{#ifeq: {{{predator|}}}|true|{{#set:Is Predator = true}}|}}
 +
 
 +
{{#if: {{{milk|}}}|{{#set: Milk Amount = {{{milk|}}} }}
 +
;[[Milk]] Amount
 +
:{{{milk|}}} }}
 +
 
 +
 
 +
{{#if: {{{milktime|}}}|{{#set: Milking Interval Days = {{{milktime|}}} }}
 +
{{#set: Daily Milk Average = {{#expr: {{{milk|}}}/{{{milktime|}}}round2}} }}
 +
;Milking Interval
 +
:{{{milktime|}}}&nbsp;days}}
 +
 
 +
{{#if: {{{wool|}}}|
 +
  {{#set: Wool Amount = {{{wool|}}}}}
 +
  {{#if: {{{woolname|}}}|
 +
    {{#vardefine: WoolName | {{{woolname|}}}}}{{#set: Wool Name = {{{woolname|}}}}}|
 +
    {{#vardefine: WoolName | {{{name|{{BASEPAGENAME}}}}} wool}}{{#set: Wool Name = {{{name|{{BASEPAGENAME}}}}} wool}}
 +
  }}
 +
;Wool Amount
 +
:{{{wool|}}} [[{{#var: WoolName}}|{{lc:{{#var: WoolName}}}}]]
 +
}}
 +
 
 +
{{#if: {{{sheartime|}}}|{{#set: Shearing Interval Days = {{{sheartime|}}} }}
 +
{{#set: Daily Wool Average = {{#expr: {{{wool|}}}/{{{sheartime}}}round2}} }}
 +
;Shearing Interval
 +
:{{{sheartime|}}}&nbsp;days}}
 +
 
 +
{{#if: {{{eggsmin|}}}|{{#set: Eggs Per Clutch Minimum = {{{eggsmin|}}} }}
 +
{{#if: {{{eggsmax|}}}|{{#set: Eggs Per Clutch Maximum = {{{eggsmax|}}} }} }}
 +
;Eggs Per Clutch
 +
:{{#show: {{PAGENAME}}|?Eggs Per Clutch Minimum|link=none}} to {{#show: {{PAGENAME}}|?Eggs Per Clutch Maximum|link=none}} }}
 +
 
 +
{{#if: {{{eggtime|}}}|{{#set: Egg Laying Interval = {{{eggtime|}}} }}
 +
{{#set: Eggs Per Season Average = {{#expr: {{{eggs_avg|}}}/{{{eggtime|}}}*15 round 2}} }}
 +
;Egg Laying Interval
 +
:{{{eggtime|}}}&nbsp;days}}
 +
 
 +
{{#if: {{{eggs_avg|}}}|{{#set: Eggs Per Clutch Average = {{{eggs_avg|}}} }} }}
 +
 
 +
{{#if: {{{gestation|}}}|{{#set: Gestation Period Days = {{{gestation|}}} }}
 +
;Gestation Period
 +
{{#switch: {{{gestation|}}}
 +
| N/A = :N/A
 +
| 1 = :{{{gestation|}}} day
 +
| #default = :{{{gestation|}}} days
 +
}}}}
 +
 
 +
{{#if: {{{offspring|}}}|{{#set: Offspring Per Birth = {{{offspring|}}} }}
 +
;Offspring Per Birth
 +
:{{{offspring|}}} }}
 +
 
 +
{{#if: {{{maturityage|}}}|{{#set: Maturity Age = {{{maturityage|}}} }}
 +
;Maturity Age
 +
:{{{maturityage|}}} }}
 +
 
 +
{{#if: {{{livesin_aridshrubland|}}}|{{#set: Lives in Arid Shrubland = true}} }}
 +
{{#if: {{{livesin_borealforest|}}}|{{#set: Lives in Boreal Forest = true}} }}
 +
{{#if: {{{livesin_desert|}}}|{{#set: Lives in Desert = true}} }}
 +
{{#if: {{{livesin_extremedesert|}}}|{{#set: Lives in Extreme Desert = true}} }}
 +
{{#if: {{{livesin_icesheet|}}}|{{#set: Lives in Icesheet = true}} }}
 +
{{#if: {{{livesin_seaice|}}}|{{#set: Lives in Sea Ice = true}} }}
 +
{{#if: {{{livesin_temperateforest|}}}|{{#set: Lives in Temperate Forest = true}} }}
 +
{{#if: {{{livesin_tropicalrainforest|}}}|{{#set: Lives in Tropical Rainforest = true}} }}
 +
{{#if: {{{livesin_tundra|}}}|{{#set: Lives in Tundra = true}} }}
 +
 
 +
 
 +
<!--Plants-->
 +
 
 +
{{#if: {{{growth time|}}}|{{#set:Growth Time = {{{growth time|}}} }}
 +
;Time to grow
 +
:{{{growth time|}}} day(s)}}
 +
 
 +
{{#if: {{{yield|}}}|
 +
;Food Yield
 +
:{{{yield|}}} [[food|food]]}}
 +
 
 +
{{#if: {{{wood|}}}|
 +
;Wood Yield
 +
:{{{wood|}}}}}
 +
 
 +
 
 +
<!--Buildings-->
 +
 
 +
{{#if: {{{power|}}}|{{#set:Power Consumption = {{{power|}}} }}
 +
;Power
 +
:{{{power|}}}W}}
 +
 
 +
{{#if: {{{facility|}}}|{{#set:Facility = {{{facility|}}} }}}}
 +
 
 +
{{#if: {{{work to build|}}}|{{#set:Work To Build = {{{work to build|}}} }}
 +
;Work To Build
 +
:{{{work to build|}}}}}
 +
 
 +
{{#if: {{{material amount|}}}{{{material name|}}}|{{#set:Material Amount = {{{material amount|}}} }} {{#set:Material Name= {{{material name|}}} }}
 +
;Materials
 +
:{{icon|{{lc:{{{material name|buildingmat}}}}}|{{{material amount|}}}|16
 +
}}{{#if: {{{material 2 amount|}}}{{{material 2 name|}}}|
 +
  {{#set:Material 2 Amount = {{{material 2 amount|}}} }} {{#set:Material 2 Name= {{{material 2 name|}}} }}
 +
  &nbsp;& {{icon|{{lc:{{{material 2 name|component}}}}}|{{{material 2 amount|}}}|16
 +
  }} {{#if: {{{material 3 amount|}}}{{{material 3 name|}}}|
 +
    {{#set:Material 3 Amount = {{{material 3 amount|}}} }}    {{#set:Material 3 Name= {{{material 3 name|}}} }}
 +
    &nbsp;& {{icon|{{lc:{{{material 3 name|component}}}}}|{{{material 3 amount|}}}|16
 +
    }} {{#if: {{{material 4 amount|}}}{{{material 4 name|}}}|
 +
      {{#set:Material 4 Amount = {{{material 4 amount|}}} }}      {{#set:Material 4 Name= {{{material 4 name|}}} }}
 +
      &nbsp;& {{icon|{{lc:{{{material 4 name|component}}}}}|{{{material 4 amount|}}}|16
 +
      }} }}
 +
    }}
 +
  }}
 +
}}
 +
 
 +
<!--Floors-->
 +
 
 +
{{#if: {{{speed|}}}|{{#set:Move Speed Factor = {{{speed|}}} }}
 +
;Move Speed Factor
 +
:{{#expr:{{{speed|}}}*100}}%
 +
}}
 +
 
 +
<!--Furniture-->
 +
 
 +
{{#if: {{{immunity gain speed factor|}}}|{{#set:Immunity Gain Speed Factor = {{{immunity gain speed factor|}}} }}
 +
;Immunity Gain Speed Factor
 +
:{{{immunity gain speed factor|}}}}}
 +
 
 +
{{#if: {{{rest effectiveness|}}}|{{#set:Rest Effectiveness = {{{rest effectiveness|}}} }}
 +
;Rest Effectiveness
 +
:{{{rest effectiveness|}}}}}
 +
 
 +
{{#if: {{{comfort|}}}|{{#set:Comfort Base = {{{comfort|}}} }}
 +
;Comfort
 +
:{{{comfort|}}}}}
 +
 
 +
{{#if: {{{comfort offset|}}}|{{#set:Comfort Offset = {{{comfort offset|}}} }}
 +
;Comfort Offset
 +
:{{{comfort offset|}}}}}
 +
 
 +
{{#if: {{{cover|}}}|{{#set:Cover Effectiveness= {{{cover|}}} }}
 +
;Cover Effectiveness
 +
:{{#expr:{{{cover|}}}*100}}%}}
 +
 
 +
<!--Weapons-->
 +
 
 +
{{#if: {{{class|}}}|{{#set:Class = {{{class|}}} Weapons}}
 +
;Class
 +
:[[{{{class|}}} Weapons|{{{class|}}}]]
 +
}}
 +
 
 +
{{#if: {{{mode|}}}|{{#set:Mode = {{{mode|}}} }}
 +
;Mode
 +
:{{{mode|}}}}}
 +
 
 +
{{#if: {{{damage|}}}|
 +
{{#if: {{{damage type|}}}|{{#set:Damage Type = {{{damage type|}}} }}|{{#set:Damage Type = Sharp }} }}
 +
;Dmg Type
 +
:{{{damage type|Sharp }}}
 +
 
 +
 
 +
<!--the following determines if the item is a melee weapon, else assumes it's ranged, then sets relevant property-->
 +
 
 +
{{#ifeq: {{#varexists: MobAverageDPS}}|1|
 +
;Average DPS
 +
:{{#var: MobAverageDPS}}
 +
{{#set: Mob Average DPS = {{#var: MobAverageDPS}} }} }}
 +
 
 +
{{#if: {{{mode|}}}|{{#ifeq: {{{mode|}}} | Melee |
 +
{{#set:Melee Damage Base = {{{damage|}}}
 +
|Melee Warmup = {{{warmup|}}}
 +
|Melee Cooldown Base = {{{cooldown|}}}
 +
}}
 +
|
 +
{{#set:Damage Base = {{{damage|}}}
 +
|Aiming Time Base = {{{warmup|}}}
 +
|Ranged Cooldown Base = {{{cooldown|}}}
 +
|Weapons/Row/Ranged/NoInclude=False
 +
}} }} |}}
 +
 
 +
;Damage
 +
:{{{damage|}}}
 +
}}
 +
 
 +
<!-- New melee starting from Beta 18 -->
 +
 
 +
{{#if: {{{meleeattack1dmg|}}}{{{meleeattack1type|}}}{{{meleeattack1part|}}}{{{meleeattack1cool|}}}|
 +
  {{#set:Attack 1 Damage = {{{meleeattack1dmg|}}} }}
 +
  {{#set:Attack 1 Type = {{{meleeattack1type|}}} }}
 +
  {{#set:Attack 1 Part = {{{meleeattack1part|}}} }}
 +
  {{#set:Attack 1 Cooldown = {{{meleeattack1cool|}}} }}
 +
  {{#set:Attack 1 AP = {{{meleeattack1ap|}}} }}
 +
  {{#vardefine: MeleeAttack1DPS | {{#expr: {{{meleeattack1dmg|}}} / ({{{meleeattack1cool}}}) }} }}
 +
  {{#vardefine: MeleeAttack1Chance | {{#expr: {{{meleeattack1dmg|}}} ^ 2 }} }}
 +
;Attack{{#if: {{{meleeattack1dmg|}}}|&nbsp;1}}
 +
:{{{meleeattack1part|Body part?}}}<br>{{{meleeattack1dmg|?}}} dmg ({{{meleeattack1type|type?}}})<br>{{{meleeattack1cool|0}}} seconds cooldown <br>{{{meleeattack1ap|0}}}% armor penetration}}
 +
 
 +
{{#if: {{{meleeattack2dmg|}}}{{{meleeattack2type|}}}{{{meleeattack2part|}}}{{{meleeattack2cool|}}}|
 +
  {{#set:Attack 2 Damage = {{{meleeattack2dmg|}}} }}
 +
  {{#set:Attack 2 Type = {{{meleeattack2type|}}} }}
 +
  {{#set:Attack 2 Part = {{{meleeattack2part|}}} }}
 +
  {{#set:Attack 2 Cooldown = {{{meleeattack2cool|}}} }}
 +
  {{#set:Attack 2 AP = {{{meleeattack2ap|}}} }}
 +
  {{#vardefine: MeleeAttack2DPS | {{#expr: {{{meleeattack2dmg|}}} / ({{{meleeattack2cool}}}) }} }}
 +
  {{#vardefine: MeleeAttack2Chance | {{#expr: {{{meleeattack2dmg|}}} ^ 2 }} }}
 +
;Attack 2{{#if: {{{meleeattack2dmg|}}}|&nbsp;}}
 +
:{{{meleeattack2part|Body part?}}}<br>{{{meleeattack2dmg|?}}} dmg ({{{meleeattack2type|type?}}})<br>{{{meleeattack2cool|0}}} seconds cooldown <br>{{{meleeattack2ap|0}}}% armor penetration}}
 +
 
 +
{{#if: {{{meleeattack3dmg|}}}{{{meleeattack3type|}}}{{{meleeattack3part|}}}{{{meleeattack3cool|}}}|
 +
  {{#set:Attack 3 Damage = {{{meleeattack3dmg|}}} }}
 +
  {{#set:Attack 3 Type = {{{meleeattack3type|}}} }}
 +
  {{#set:Attack 3 Part = {{{meleeattack3part|}}} }}
 +
  {{#set:Attack 3 Cooldown = {{{meleeattack3cool|}}} }}
 +
  {{#set:Attack 3 AP = {{{meleeattack3ap|}}} }}
 +
  {{#vardefine: MeleeAttack3DPS | {{#expr: {{{meleeattack3dmg|}}} / ({{{meleeattack3cool}}}) }} }}
 +
  {{#vardefine: MeleeAttack3Chance | {{#expr: {{{meleeattack3dmg|}}} ^ 2 }} }}
 +
;Attack 3{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
 +
:{{{meleeattack3part|Body part?}}}<br>{{{meleeattack3dmg|?}}} dmg ({{{meleeattack3type|type?}}})<br>{{{meleeattack3cool|0}}} seconds cooldown <br>{{{meleeattack3ap|0}}}% armor penetration}}
 +
 
 +
{{#if: {{{meleeattack4dmg|}}}{{{meleeattack4type|}}}{{{meleeattack4part|}}}{{{meleeattack4cool|}}}|
 +
  {{#set:Attack 4 Damage = {{{meleeattack4dmg|}}} }}
 +
  {{#set:Attack 4 Type = {{{meleeattack4type|}}} }}
 +
  {{#set:Attack 4 Part = {{{meleeattack4part|}}} }}
 +
  {{#set:Attack 4 Cooldown = {{{meleeattack4cool|}}} }}
 +
  {{#set:Attack 4 AP = {{{meleeattack4ap|}}} }}
 +
  {{#vardefine: MeleeAttack4DPS | {{#expr: {{{meleeattack4dmg|}}} / ({{{meleeattack4cool}}}) }} }}
 +
  {{#vardefine: MeleeAttack4Chance | {{#expr: {{{meleeattack4dmg|}}} ^ 2 }} }}
 +
;Attack 4{{#if: {{{meleeattack3dmg|}}}|&nbsp;}}
 +
:{{{meleeattack4part|Body part?}}}<br>{{{meleeattack4dmg|?}}} dmg ({{{meleeattack4type|type?}}})<br>{{{meleeattack4cool|0}}} seconds cooldown <br>{{{meleeattack4ap|0}}}% armor penetration}}
 +
 
 +
{{#if: {{{MeleeWeaponAverageDPS|}}}|
 +
;Melee Average DPS
 +
:{{{MeleeWeaponAverageDPS|}}} }}
 +
 
 +
{{#if: {{{MeleeWeaponAverageAP|}}}|
 +
;Melee Average AP
 +
:{{{MeleeWeaponAverageAP|}}}%}}
 +
 
 +
 
 +
<!-- was supposed to calculate stuff but then decided it's just better to use the value provided by the game
 +
 
 +
{{#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 ---------- -->
 +
 
 +
{{#if: {{{armorPenetration|}}}|
 +
;Armor penetration
 +
:{{{armorPenetration|}}}%}}
 +
 
 +
{{#if: {{{warmup|}}}|
 +
;{{H:title|link=no|Time it takes to aim the weapon|Warm-Up}}
 +
:{{ticks|{{{warmup|}}}}}}}
 +
 
 +
{{#if: {{{cooldown |}}}|
 +
;{{H:title|link=no|Waiting time before you can aim again after firing|Cooldown}}
 +
:{{ticks|{{{cooldown|}}}}}}}
 +
 
 +
{{#if: {{{range|}}}|{{#set:Range = {{{range|}}} }}
 +
;Range
 +
:{{{range|}}} tile(s)}}
 +
 
 +
{{#if: {{{minrange|}}}|
 +
;Minimum Range
 +
:{{{minrange|}}} tiles}}
 +
 
 +
{{#if: {{{accuracy|}}}|
 +
;Accuracy
 +
:{{{accuracy|}}}}}
 +
 
 +
{{#if: {{{accuracyTouch|}}}| {{#Set: Accuracy (Touch) Base = {{{accuracyTouch|}}} }}   
 +
{{#if: {{{accuracyShort|}}}| {{#Set: Accuracy (Short) Base = {{{accuracyShort|}}} }} 
 +
{{#if: {{{accuracyMedium|}}}| {{#Set: Accuracy (Medium) Base = {{{accuracyMedium|}}} }}     
 +
{{#if: {{{accuracyLong|}}}| {{#Set: Accuracy (Long) Base = {{{accuracyLong|}}} }}
 +
;{{H:title|link=no|Touch % - Short % - Medium % - Long %|Accuracy}}
 +
:{{{accuracyTouch|}}}% - {{{accuracyShort|}}}% - {{{accuracyMedium|}}}% - {{{accuracyLong|}}}%
 +
}}   
 +
}}
 +
}}
 +
}}
 +
 
 +
{{#if: {{{accuracyAvg|}}}|
 +
;{{H:title|link=no|Average accuracy of the weapon, taking range into account.|Avg. accuracy}}
 +
:{{{accuracyAvg|}}}%}}
 +
 
 +
{{#if: {{{velocity|}}}|{{#set:Velocity = {{{velocity|}}} }}
 +
;Velocity
 +
:{{{velocity|}}} (m/s)}}
 +
 
 +
{{#if: {{{burst|}}}|{{#set:Burst Count = {{{burst|}}} }}
 +
;Burst Count
 +
:{{{burst|}}} (per burst)}}
 +
 
 +
{{#if: {{{burstTicks|}}}|{{#set: Burst Ticks = {{{burstTicks|}}} }}
 +
;{{H:title|link=no|Time between shots in a single burst|Burst Ticks}}
 +
:{{ticks|{{{burstTicks|}}}}}}}
 +
 
 +
{{#if: {{{missRadius|}}}|{{#set:Miss Radius = {{{missRadius|}}} }}
 +
;{{H:title|link=no|Missed shots are forced to land within this radius|Miss Radius}}
 +
:{{{missRadius|}}} tile(s)}}
 +
 
 +
{{#if: {{{blastRadius|}}}|{{#set:Blast Radius = {{{blastRadius|}}} }}
 +
;Blast Radius
 +
:{{{blastRadius|}}}}}
 +
 
 +
{{#if: {{{DPS|}}}|
 +
;{{H:title|link=yes|Formatted as: Maximum damage per second (DPS with average accuracy)|DPS}}
 +
:{{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60))) round2 }} {{#if: {{{accuracyTouch|}}}| {{#if: {{{accuracyShort|}}}| {{#if: {{{accuracyMedium|}}}| {{#if: {{{accuracyLong|}}}|({{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60)) * ({{{accuracyAvg|}}} / 100)) round2 }})}}}}}}}}
 +
{{#set:Maximum DPS={{ #expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60))) round2 }}}}
 +
{{#set:Avarage DPS={{#if: {{{accuracyTouch|}}}| {{#if: {{{accuracyShort|}}}| {{#if: {{{accuracyMedium|}}}| {{#if: {{{accuracyLong|}}}|{{#expr: ((( {{{damage|}}} * {{#if: {{{burst|}}}|{{{burst|}}}|1}} ) / (( {{#if: {{{cooldown|}}}|{{{cooldown|}}}|1}} + {{#if: {{{warmup|}}}|{{{warmup|}}}|0}} + ( {{#if: {{{burstTicks|}}}|{{{burstTicks|}}}|1}} * ( {{#if: {{{burst|}}}|{{{burst|}}}|1}} - 1 ))) / 60)) * ({{{accuracyAvg|}}} / 100)) round 2 }}}}}}}}}}}}
 +
}}
 +
 
 +
{{#if: {{{stoppingPower|}}}|{{#set: Stopping power = {{{stoppingPower|}}} }}
 +
;{{H:title|link=no|Ability of a weapon to 'stagger' targets, slowing them down for a short while. Larger values allow the weapon to stagger targets with bigger body sizes.|Stopping power}}
 +
:{{{stoppingPower|}}}}}
 +
 
 +
{{#if: {{{buy|}}}|
 +
;Buy
 +
:{{{buy|}}}}}
 +
 
 +
{{#if:{{{sell|}}}|
 +
{{#if: {{{mode|}}}|{{#ifeq: {{{mode|}}} | Melee |{{#set:Sell = {{{sell|}}} }} }}}}
 +
;Sell
 +
:{{{sell|}}}}}
 +
 
 +
<!-- Work to make should be specified in *ticks*, like in the game filesThis has been inconsistent in the past -->
 +
{{#if: {{{work to make|}}}|{{#set:Work To Make = {{{work to make|}}} }}
 +
;Work To Make
 +
:{{ticks|{{{work to make|}}}}}
 +
}}
 +
 
 +
{{#if: {{{resources to make|}}}|
 +
;Resources to make
 +
:{{{resources to make|}}}
 +
}}
 +
 
 +
{{#if: {{{deconstruct yield|}}}|
 +
;{{H:title|link=no|Resources recovered when deconstructing|Deconstruct yield}}
 +
:{{{deconstruct yield|}}}
 +
}}
 +
 
 +
<br style="clear: both; height: 0px;" />
 +
</dl></div></div>
 +
</includeonly>
 +
<noinclude>
 +
{{documentation}}
 +
[[Category:Template Sandbox]]
 +
</noinclude>

Revision as of 21:16, 29 April 2020


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

Description

This template is placed at the top of sandbox pages. By using a template, it becomes easy to fix if users make a mistake while playing in the sandbox.

Syntax

Type {{sandbox}} at the top of a sandbox.

Output

Sandbox


Type
[[{{{type}}}]]