Difference between revisions of "Template:Weapon Stats Table"

From RimWorld Wiki
Jump to navigation Jump to search
(Testimg)
Line 48: Line 48:
 
<td> {{ #expr: 0.9*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 0.9*{{#var:avgAP|}} round 2}}%
 
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 0.8*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accTouch|}} round 0}}}}%|-}}
 
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 0.8*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.8*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 0.8*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.8*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 0.8*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.8*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 0.8*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: 0.9*{{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: 0.9*{{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 72: Line 72:
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 0.9*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accTouch|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 0.9*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.9*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 0.9*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.9*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 0.9*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 0.9*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 0.9*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 96: Line 96:
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 1.0*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accTouch|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 1.0*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.0*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 1.0*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.0*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 1.0*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.0*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 1.0*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 120: Line 120:
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 1.1*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accTouch|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 1.1*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.1*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 1.1*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.1*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 1.1*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.1*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 1.1*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 144: Line 144:
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.0*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 1.2*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accTouch|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 1.2*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.2*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 1.2*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.2*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 1.2*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.2*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 1.2*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: {{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 168: Line 168:
 
<td> {{ #expr: 1.25*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.25*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.25*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.25*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 1.35*{{#var:accTouch|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accTouch|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 1.35*{{#var:accTouch|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accTouch|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.35*{{#var:accShort|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accShort|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 1.35*{{#var:accShort|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accShort|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.35*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 1.35*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.35*{{#var:accLong|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accLong|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 1.35*{{#var:accLong|}} round 2}} > 100 | 100 | {{ #expr: 1.35*{{#var:accLong|}} round 0}}}}%|-}}
 
<td> {{ #expr: 1.25*{{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: 1.25*{{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
Line 192: Line 192:
 
<td> {{ #expr: 1.5*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.5*{{#var:damage|}} round 2}}
 
<td> {{ #expr: 1.5*{{#var:avgAP|}} round 2}}%
 
<td> {{ #expr: 1.5*{{#var:avgAP|}} round 2}}%
<td> {{#ifexpr: {{ #expr: 1.5*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accTouch|}}  round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Touch) Base}} | {{#ifexpr: {{ #expr: 1.5*{{#var:accTouch|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accTouch|}}  round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.5*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accShort|}}  round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Short) Base}} | {{#ifexpr: {{ #expr: 1.5*{{#var:accShort|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accShort|}}  round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.5*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accMedium|}} round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Medium) Base}} | {{#ifexpr: {{ #expr: 1.5*{{#var:accMedium|}} round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accMedium|}} round 0}}}}%|-}}
<td> {{#ifexpr: {{ #expr: 1.5*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accLong|}}  round 0}}}}%
+
<td> {{#if: {{Q|{{#var:name}}|Accuracy (Long) Base}} | {{#ifexpr: {{ #expr: 1.5*{{#var:accLong|}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{#var:accLong|}}  round 0}}}}%|-}}
 
<td> {{ #expr: 1.5*{{#var:avgDPS|}} round 2}}
 
<td> {{ #expr: 1.5*{{#var:avgDPS|}} round 2}}
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|
 
{{#if:{{Q| {{#var:name}} | Accuracy (Touch) Base}}|

Revision as of 23:32, 16 August 2021

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

Description

This template generates a table summarizing stats for an given weapon, including average damage per second, armor piercing and Market Value, for each quality tier (if applicable) and every stuff option (if applicable).

Note that at the time of writing, weapons with no quality are hardcoded into the template, rather than pulled from the page properties. New no-quality weapons must be manually excepted from the template.

Property:Mode must be set to properly display melee weapons, otherwise it will default to the ranged format.

This template is part of the following system generating tables for all weapons:

Parameters

The first parameter (if present) will specify which weapon to generate the template for. If absent, {{PAGENAME}} will be used.

The no header parameter will disable the top heading, but not the subheadings for ranged and melee attacks, when set to true.

The header level parameter takes numbers and sets the size of the headings - note that top heading is sized by the number directly, with subheading one size smaller. Default value is 2. It can be used with or without no header.

Example usage

{{Weapon Stats Table | Persona monosword}}

Produces:

Quality Table

  • Quality Damage Avg DPS Avg AP Market Value
    Awful Persona monosword 21.6 12.82 67.2% 1500 Silver
    Poor Persona monosword 24.3 14.43 75.6% 1125 Silver
    Normal Persona monosword 27 16.03 84% 1125 Silver
    Good Persona monosword 29.7 17.63 92.4% 1405 Silver
    Excellent Persona monosword 32.4 19.24 100.8% 2110 Silver
    Masterwork Persona monosword 39.15 23.24 121.8% 4110 Silver
    Legendary Persona monosword 44.55 26.45 138.6% 7110 Silver
    For the full effects of qualities, see Quality.
  • {{Weapon Stats Table | Assault rifle|}}
    

    Produces:

    Quality Table

  • Quality Damage AP Accuracy
    (Touch)
    Accuracy
    (Short)
    Accuracy
    (Medium)
    Accuracy
    (Long)
    DPS
    (Optimal)
    DPS
    (Touch)
    DPS
    (Short)
    DPS
    (Medium)
    DPS
    (Long)
    Market Value
    Awful Assault rifle 9.9 14.4% 48% 56% 52% 44% 9.79 5.22 6.09 5.66 4.79 240 Silver
    Poor Assault rifle 11 16% 54% 63% 59% 50% 10.88 5.88 6.85 6.42 5.44 180 Silver
    Normal Assault rifle 11 16% 60% 70% 65% 55% 10.88 6.53 7.62 7.07 5.98 180 Silver
    Good Assault rifle 11 16% 66% 77% 72% 61% 10.88 7.18 8.38 7.83 6.64 225 Silver
    Excellent Assault rifle 11 16% 72% 84% 78% 66% 10.88 7.83 9.14 8.49 7.18 335 Silver
    Masterwork Assault rifle 13.75 20% 81% 95% 88% 74% 13.6 11.02 12.92 11.97 10.06 845 Silver
    Legendary Assault rifle 16.5 24% 90% 100% 98% 83% 16.32 14.69 16.32 15.99 13.55 3845 Silver
    For the full effects of qualities, see Quality.
  • {{Weapon Stats Table | Incendiary launcher|}}
    

    Produces:

    Quality Table

  • Quality Damage AP Accuracy
    (Touch)
    Accuracy
    (Short)
    Accuracy
    (Medium)
    Accuracy
    (Long)
    DPS
    (Optimal)
    DPS
    (Touch)
    DPS
    (Short)
    DPS
    (Medium)
    DPS
    (Long)
    Market Value
    Awful Incendiary launcher 9 0% - - - - 1.29 - - - - 170 Silver
    Poor Incendiary launcher 10 0% - - - - 1.43 - - - - 128 Silver
    Normal Incendiary launcher 10 0% - - - - 1.43 - - - - 128 Silver
    Good Incendiary launcher 10 0% - - - - 1.43 - - - - 159 Silver
    Excellent Incendiary launcher 10 0% - - - - 1.43 - - - - 240 Silver
    Masterwork Incendiary launcher 12.5 0% - - - - 1.79 - - - - 600 Silver
    Legendary Incendiary launcher 15 0% - - - - 2.15 - - - - 2990 Silver
    For the full effects of qualities, see Quality.