Difference between revisions of "Template:Weapon DPS Chart"

From RimWorld Wiki
Jump to navigation Jump to search
(Work in progess, just a bakcup save)
 
m (no redirect)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{#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 |
{{#vardefine: TouchAccuracy |{{#expr: {{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: ShortAccuracy |{{#expr: {{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 |{{#expr: {{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 |{{#expr: {{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}}} | Awful | |
+
{{#ifeq: {{{2|}}} | Poor |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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.8*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 100 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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.8*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.8*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} }}}}
 
}}
 
 
 
{{#ifeq: {{{2}}} | Poor | |
 
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
 
{{#vardefine: ShorthAccuracy | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
 
{{#vardefine: MediumAccuracy  | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 2}} > 100 | 100 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
 
{{#vardefine: LongAccuracy    | {{#ifexpr: {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}}  round 2}} > 100 | 100 | {{ #expr: 0.9*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
 
 
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}}}
 
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}}}
}}
+
|}}
  
{{#ifeq: {{{2}}} | Normal | |
+
{{#ifeq: {{{2|}}} | Normal |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.0*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}}}
 
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}}}
}}
+
|}}
  
{{#ifeq: {{{2}}} | Good | |
+
{{#ifeq: {{{2|}}} | Good |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.1*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}}}
+
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} }} }}
}}
+
|}}
  
{{#ifeq: {{{2}}} | Excellent | |
+
{{#ifeq: {{{2|}}} | Excellent |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.2*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}}}}
+
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} }} }}
}}
+
|}}
  
{{#ifeq: {{{2}}} | Masterwork | |
+
{{#ifeq: {{{2|}}} | Masterwork |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.35*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} * 1.25}}}}
 
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} * 1.25}}}}
}}
+
|}}
  
{{#ifeq: {{{2}}} | Legendary | |
+
{{#ifeq: {{{2|}}} | Legendary |
{{#vardefine: TouchAccuracy  | {{#ifexpr: {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}}  round 2}} > 100 | 100 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Touch) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Short) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Medium) Base}} round 0}}}}%}}
+
{{#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 | 100 | {{ #expr: 1.5*{{Q|{{#var: name}}| Accuracy (Long) Base}} round 0}}}}%}}
+
{{#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: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} * 1.5}}}}
 
{{#vardefine: DPS |{{#expr: {{Q|{{#var: name}}|Maximum DPS}} * 1.5}}}}
 +
|}}
 +
 +
|
 +
{{#vardefine: TouchAccuracy |{{#expr: {{Q|{{#var: name}}| Accuracy (Touch) Base}}/100}}}}
 +
{{#vardefine: ShortAccuracy |{{#expr: {{Q|{{#var: name}}| Accuracy (Short) Base}}/100}}}}
 +
{{#vardefine: MediumAccuracy |{{#expr: {{Q|{{#var: name}}|Accuracy (Medium) Base}}/100}}}}
 +
{{#vardefine: LongAccuracy |{{#expr: {{Q|{{#var: name}}| Accuracy (Long) Base}}/100}}}}
 +
{{#vardefine: DPS | {{Q|{{#var: name}}|Maximum DPS}} }}
 
}}
 
}}
  
 +
{{#vardefine: XAxisString | 1 }}
 +
{{#vardefine: YAxisString | {{#expr: {{#var: TouchAccuracy}} * {{#var: DPS}} }} }}
 +
 +
{{#ifexpr: {{#var:range}} > 2|
 +
{{#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) }}  }}
 
}}
 
}}
 
+
|}}
{{#vardefine: name | Minigun }}  
+
{{Graph:Chart|width=400
{{GraphChart|width=400
 
|title = Hi there
 
 
|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: {{Q|{{#var: name}}|Accuracy (Touch) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}, {{#expr: {{Q|{{#var: name}}|Accuracy (Touch) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}, {{#expr: {{Q|{{#var: name}}|Accuracy (Short) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}, {{#expr: {{Q|{{#var: name}}|Accuracy (Medium) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}, {{#expr: {{Q|{{#var: name}}|Accuracy (Long) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}, {{#expr: {{Q|{{#var: name}}|Accuracy (Long) Base}}/100 * {{Q|{{#var: name}}|Maximum DPS}}}}
+
|y1= {{#var: YAxisString}}
}}
+
}}</includeonly><noinclude>
 +
{{Documentation}}
 +
</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: