Difference between revisions of "Sandbox"

From RimWorld Wiki
Jump to navigation Jump to search
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#vardefine:Name|{{{name|{{BASEPAGENAME}}}}}}}
+
{{Sandbox}}
<div class="infobox float:right; {{#if:{{{1|}}}|{{#switch:{{{1}}}|<!--
+
<!--Please enter content below this line. Leave {{sandbox}} on the first line. Remove added content after you're done.-->
--> animal = c_08 |<!--
 
--> plant = c_14 |<!--
 
--> weapon = c_06 |<!--
 
--> area = c_11 |<!--
 
--> structure = c_02 |<!--
 
--> production = c_25 |<!--
 
--> security = c_10 |<!--
 
--> furniture = c_01 |<!--
 
-->}}}}">
 
<p class="heading">{{#var:Name}}</p>
 
<div class="wrapper">
 
<div class="image_wrapper" title="{{#var:Name}}">[[File:{{{image|{{#var:Name}}}}}|{{{imagesize|}}}|link={{#var:Name}}|{{#var:Name}}]]</div>
 
<p class="text-center" style="display:block; font-size:89%; padding: .5em;">{{#if:{{{description|}}}|{{{description|}}}{{#set:Description = {{{description|}}}}}}}</p>{{#set:Image = [[File:{{{image|{{#var:Name}}.png}}}]]}}
 
----
 
<dl>
 
{{#set:Name = {{#var:Name}} }}
 
;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|}}} }}
+
<!--Please enter content and categories above this line.-->
;Rotatable
+
[[Category:Wiki maintenance]]
:{{{rotatable|}}}}}
 
 
 
{{#if: {{{size|}}}|{{#set:Size = {{{size|}}} }}
 
;Size
 
:{{{size|}}}}}
 
 
 
{{#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}}%}}
 
 
 
<!-- 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: {{{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 |
 
  {{#vardefine: MeatName | {{{meatname | {{#var:Name}} meat}}} }}
 
  {{#vardefine: LeatherName | {{{leathername | {{#var:Name}} leather}}} }}
 
  {{#if: {{{is exotic species|}}}|{{#set: Is Exotic Species = true}}|{{#set: Is Exotic Species = false}}}}|
 
}}
 
 
 
{{#if: {{{bodysize|}}}|
 
  {{#set: Body Size = {{{bodysize|}}} }}
 
 
 
  {{#vardefine: MeatYield | {{{meatyield | {{#expr: 90 * {{{bodysize}}} round 0}}}}} }}
 
  {{#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}}
 
 
 
  <!-- Use leatheryield when set, otherwise (incorrectly in some cases) assume 30 * bodysize -->
 
  <!-- See Property:Leather_Yield for details -->
 
  {{#vardefine: LeatherYield | {{{leatheryield | {{#expr: 30 * {{{bodysize}}} round 0}} }}} }}
 
  {{#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|}}}|{{#set:Minimum Handling Skill = {{{handleskill|}}} }}
 
;{{H:title|link=no|This creature cannot be tamed, trained, or commanded by anyone with less than this skill in animals.|Minimum Handling Skill}}
 
:{{{handleskill|}}}}}
 
 
 
{{#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|}}}}}
 
  {{#vardefine: WoolName | {{{woolnam | {{#var:Name}} 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: {{#var:Name}}|?Eggs Per Clutch Minimum|link=none}} to {{#show: {{#var:Name}}|?Eggs Per Clutch Maximum|link=none}} }}
 
 
 
{{#if: {{{eggtime|}}}|{{#set: Egg Laying Interval = {{{eggtime|}}} }}
 
{{#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: {{{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 files. This 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 Infobox]]
 
</noinclude>
 

Revision as of 19:18, 24 February 2021

Welcome to the RimWorld Wiki sandbox!
This sandbox is where you can experiment and practice working on a wiki page. This page will usually have little or no content. Feel free to add content or to make changes and save them to see the results.

To learn about editing and formatting start here: Help:Contents. Just start with the basics... enter some text, and learn the other pieces as you go.

Your content contributions are welcome and important. The wiki is a collaborative effort and others can help with formatting and other improvements.]

Best wishes!