Difference between revisions of "Template:Weapon DPS Chart"

From RimWorld Wiki
Jump to navigation Jump to search
m (no redirect)
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
<includeonly>{{#vardefine: name | {{{1|{{PAGENAME}} }}} }}  
+
<includeonly>{{#vardefine: name | {{{1|{{PAGENAME}} }}} }} {{#vardefine: range | {{#expr: {{Q|{{#var: name}}|Range}} round 0}}}} {{#if: {{{2|}}} |  
{{#if: {{{2|}}} |  
 
 
{{#ifeq: {{{2|}}} | Awful |
 
{{#ifeq: {{{2|}}} | Awful |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} }}}}
+
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} * 0.9}}}}
 
|}}
 
|}}
  
 
{{#ifeq: {{{2|}}} | Poor |
 
{{#ifeq: {{{2|}}} | Poor |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 19: Line 18:
 
{{#ifeq: {{{2|}}} | Normal |
 
{{#ifeq: {{{2|}}} | Normal |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 27: Line 26:
 
{{#ifeq: {{{2|}}} | Good |
 
{{#ifeq: {{{2|}}} | Good |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 35: Line 34:
 
{{#ifeq: {{{2|}}} | Excellent |
 
{{#ifeq: {{{2|}}} | Excellent |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 43: Line 42:
 
{{#ifeq: {{{2|}}} | Masterwork |
 
{{#ifeq: {{{2|}}} | Masterwork |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 51: Line 50:
 
{{#ifeq: {{{2|}}} | Legendary |
 
{{#ifeq: {{{2|}}} | Legendary |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}}}
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
+
{{#vardefine: ShortAccuracy | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Medium) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 1 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}}}
Line 65: Line 64:
 
}}
 
}}
  
{{#var: TouchAccuracy }}
+
{{#vardefine: XAxisString | 1 }}
{{#var: ShortAccuracy }}
+
{{#vardefine: YAxisString | {{#expr: {{#var: TouchAccuracy}} * {{#var: DPS}} }} }}
{{#var: MediumAccuracy }}
 
{{#var: LongAccuracy }}
 
{{#var: DPS }}
 
  
{{GraphChart|width=400
+
{{#ifexpr: {{#var:range}} > 2|
|title = Hi there
+
{{#vardefine: XAxisString | {{#var: XAxisString}}, 3}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: {{#var: TouchAccuracy}} * {{#var: DPS}} }}}}
 +
 
 +
{{#ifexpr: {{#var:range}} > 11|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, 12}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: {{#var: ShortAccuracy}} * {{#var: DPS}} }}}}
 +
 
 +
{{#ifexpr: {{#var:range}} > 24|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, 25}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: {{#var: MediumAccuracy}} * {{#var: DPS}}}}}}
 +
 
 +
{{#ifexpr: {{#var:range}} > 39|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, 40}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: {{#var: LongAccuracy}} * {{#var: DPS}} }}}}
 +
 
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, {{#var:range}}}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: {{#var: LongAccuracy}} * {{#var: DPS}} }}}}
 +
 
 +
|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, {{#var:range}}}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: ((40-{{#var:range}})*{{#var: MediumAccuracy}} + ({{#var:range}}-25)*{{#var: LongAccuracy}})*{{#var:DPS}}/(40-25) }}  }}
 +
}}
 +
|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, {{#var:range}}}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: ((25-{{#var:range}})*{{#var: ShortAccuracy}} + ({{#var:range}}-12)*{{#var: MediumAccuracy}})*{{#var:DPS}}/(25-12) }}  }}
 +
}}
 +
|
 +
{{#vardefine: XAxisString | {{#var: XAxisString}}, {{#var:range}}}}
 +
{{#vardefine: YAxisString | {{#var: YAxisString}}, {{#expr: ((12-{{#var:range}})*{{#var: TouchAccuracy}} + ({{#var:range}}-3)*{{#var: ShortAccuracy}})*{{#var:DPS}}/(12-3) }}  }}
 +
}}
 +
|}}
 +
{{Graph:Chart|width=400
 
|height=200
 
|height=200
 +
|type=area
 
|xAxisTitle=Range (Cells)
 
|xAxisTitle=Range (Cells)
 
|xAxisMin = 0
 
|xAxisMin = 0
 
|xAxisMax = 38
 
|xAxisMax = 38
 
|yAxisMin = 1
 
|yAxisMin = 1
|yAxisMax = 46
+
|yAxisMax = 30
|yAxisTitle=DPS|type=line
+
|yAxisTitle=DPS
|x= 1, 3, 12, 25, 40, 46
+
|x= {{#var: XAxisString}}
|y= {{#expr: {{#var: TouchAccuracy}} * {{#var: DPS}} }}, {{#expr: {{#var: TouchAccuracy}} * {{#var: DPS}} }}, {{#expr: {{#var: ShortAccuracy}} * {{#var: DPS}} }}, {{#expr: {{#var: MediumAccuracy}} * {{#var: DPS}} }}, {{#expr: {{#var: LongAccuracy}} * {{#var: DPS}} }}
+
|y1= {{#var: YAxisString}}
}}
+
}}</includeonly><noinclude>
</includeonly>
 
<noinclude>
 
 
{{Documentation}}
 
{{Documentation}}
 
</noinclude>
 
</noinclude>

Latest revision as of 10:19, 6 January 2024

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

Creates a graph showing the optimum DPS that a ranged weapon is capable of at each range, assuming perfect Pawn accuracy. The dimensions and display are standardized to offer ease of comparison.

Usage[edit]

Without parameters, the template will display the chart for the current PAGENAME, assuming normal quality. For example, if the following was used on the assault rifle page:

{{Weapon DPS Chart}}

it would produce:




The first parameter, if present, allows the weapon to be chosen if it is not used on the page of the weapon in question. The template will display the chart for the chosen weapon, assuming normal quality. For example, if the following was used on any page:

{{Weapon DPS Chart|Sniper rifle}}

it would produce:




The second parameter, if present, allows the quality of the weapon to be chosen. It can be used with or without first parameter. The template will display the chart for the chosen weapon and quality. For example, if the following was used on the minigun page

{{Weapon DPS Chart||Legendary}}

it would produce: