Difference between revisions of "User:Harakoni/RangedQuality"

From RimWorld Wiki
Jump to navigation Jump to search
m (Changed all Q to #show. You could define several of the variables within the same operations (to reduce the number of ifs), but it will get hard to read fast.)
Line 1: Line 1:
 
{{#vardefine:name| {{{ 1 | Charge rifle }}} }}
 
{{#vardefine:name| {{{ 1 | Charge rifle }}} }}
{{#vardefine:image|    {{Q|{{#var:name}}|Image}}}}
+
{{#vardefine:damage|    {{formatnum:{{#show:{{#var:name}}|?Damage Base|link = none}}|R}}}}
{{#vardefine:damage|    {{formatnum:{{Q|{{#var:name}}|Damage Base}}|R}}}}
+
{{#vardefine:range|    {{formatnum:{{#show:{{#var:name}}|?Range|link = none}}|R}}}}
{{#vardefine:range|    {{formatnum:{{Q|{{#var:name}}|Range}}|R}}}}
+
{{#vardefine:avgAP|    {{formatnum:{{#show:{{#var:name}}|?ArmorPenetration|link = none}}|R}}}}
{{#vardefine:avgAP|    {{formatnum:{{Q|{{#var:name}}|ArmorPenetration}}|R}}}}
+
{{#vardefine:accTouch|  {{formatnum:{{#show:{{#var:name}}|?Accuracy (Touch) Base|link = none}}|R}}}}
{{#vardefine:accTouch|  {{formatnum:{{Q|{{#var:name}}|Accuracy (Touch) Base}}|R}}}}
+
{{#vardefine:accShort|  {{formatnum:{{#show:{{#var:name}}|?Accuracy (Short) Base|link = none}}|R}}}}
{{#vardefine:accShort|  {{formatnum:{{Q|{{#var:name}}|Accuracy (Short) Base}}|R}}}}
+
{{#vardefine:accMedium| {{formatnum:{{#show:{{#var:name}}|?Accuracy (Medium) Base|link = none}}|R}}}}
{{#vardefine:accMedium| {{formatnum:{{Q|{{#var:name}}|Accuracy (Medium) Base}}|R}}}}
+
{{#vardefine:accLong|  {{formatnum:{{#show:{{#var:name}}|?Accuracy (Long) Base|link = none}}|R}}}}
{{#vardefine:accLong|  {{formatnum:{{Q|{{#var:name}}|Accuracy (Long) Base}}|R}}}}
+
{{#vardefine:value|    {{formatnum:{{#show:{{#var:name}}|?Market Value Base|link = none}}|R}}}}
{{#vardefine:value|    {{formatnum:{{Q|{{#var:name}}|Market Value Base}}|R}}}}
 
 
{{#vardefine:avgDPS |  {{#ifeq: {{{2|}}}|Aiming Time|
 
{{#vardefine:avgDPS |  {{#ifeq: {{{2|}}}|Aiming Time|
   {{#vardefine:burstTime| {{#if:{{Q|{{#var:name}}|Burst Ticks|}}|+(({{Q|{{#var:name}}|Burst Count|}}-1)*{{Q|{{#var:name}}|Burst Ticks|}})|0}}  }}
+
   {{#vardefine:burstTime| {{ {{#show:{{#var:name}}|?Burst Ticks|link = none|default=0}} * ({{#show:{{#var:name}}|?Burst Count|link = none}} - 1) }} | 0 }}
   {{#vardefine:baseTime|  {{#expr: {{Q|{{#var:name}}|Aiming Time Base}}+{{Q|{{#var:name}}|Ranged Cooldown Base}}+{{#var:burstTime}} }} }}
+
   {{#vardefine:baseTime|  {{#expr: {{#show:{{#var:name}}|?Aiming Time Base|link = none}}+{{#show:{{#var:name}}|?Ranged Cooldown Base|link = none}}+{{#var:burstTime}} }} }}
   {{formatnum:{{#expr:{{Q|{{#var:name}}|Maximum DPS}} * ({{#var:baseTime}}/((0.01*{{Q|{{#var:name}}|Aiming Time Base}})+{{Q|{{#var:name}}|Ranged Cooldown Base}}+{{#var:burstTime}}))}}|R}}
+
   {{formatnum:{{#expr:{{#show:{{#var:name}}|?Maximum DPS|link = none}} * ({{#var:baseTime}}/((0.01*{{#show:{{#var:name}}|?Aiming Time Base|link = none}})+{{#show:{{#var:name}}|?Ranged Cooldown Base|link = none}}+{{#var:burstTime}}))}}|R}}
|  {{formatnum:{{Q|{{#var:name}}|Maximum DPS}}|R}}}}}}
+
|  {{formatnum:{{#show:{{#var:name}}|?Maximum DPS|link = none}}|R}}}}}}
 
{{#vardefine:darkBonus| {{#ifeq: {{{2|}}}|Dark Bonus|25|0}}}}
 
{{#vardefine:darkBonus| {{#ifeq: {{{2|}}}|Dark Bonus|25|0}}}}
 
<noinclude>
 
<noinclude>
Line 38: Line 37:
  
 
{{#replace:<tr class="mw-collapsible mw-collapsed" id="mw-customcollapsible-{{#replace:{{#var:name}} }}">|tempspacer}}
 
{{#replace:<tr class="mw-collapsible mw-collapsed" id="mw-customcollapsible-{{#replace:{{#var:name}} }}">|tempspacer}}
<td style="background-color:#e8bc84;"> [[{{#var:image}}|32px||link={{#var:name}}]] </td>
+
<td style="background-color:#e8bc84;"> [[{{#vardefineecho:image|{{#show: {{#var:name}} | ?Image | link = none }} }}|32px||link={{#var:name}}]] </td>
 
<td data-sort-value="1" style="text-align:right;  background-color:#e8bc84;" >'''Awful'''</td>
 
<td data-sort-value="1" style="text-align:right;  background-color:#e8bc84;" >'''Awful'''</td>
 
<td style="text-align:left; background-color:#e8bc84;" > '''[[{{#var:name}}]]''' </td>  
 
<td style="text-align:left; background-color:#e8bc84;" > '''[[{{#var:name}}]]''' </td>  
<td>  {{ #expr: 0.9*{{#var:damage|}} round 2}} </td>
+
<td>  {{#expr: 0.9*{{#var:damage|}} round 2}} </td>
<td>  {{ #expr: 0.9*{{#var:avgAP|}} round 2}}% </td>
+
<td>  {{#expr: 0.9*{{#var:avgAP|}} round 2}}% </td>
 
<td> {{#var:range|}} </td>
 
<td> {{#var:range|}} </td>
 
<td> {{#vardefine: calcAccTouch  |{{#expr: 0.8*{{#var:accTouch}}  + {{#var:darkBonus}} round 0}}}}  {{#ifexpr: {{#var:calcAccTouch}}  > 100 | {{#vardefineecho: calcAccTouch |100}}% | {{#var:calcAccTouch}}% }} </td>
 
<td> {{#vardefine: calcAccTouch  |{{#expr: 0.8*{{#var:accTouch}}  + {{#var:darkBonus}} round 0}}}}  {{#ifexpr: {{#var:calcAccTouch}}  > 100 | {{#vardefineecho: calcAccTouch |100}}% | {{#var:calcAccTouch}}% }} </td>

Revision as of 19:49, 21 March 2025







[Expand]

Quality Name Damage AP Range Accuracy
(Touch)
Accuracy
(Short)
Accuracy
(Medium)
Accuracy
(Long)
DPS
(Optimal)
DPS
(Touch)
DPS
(Short)
DPS
(Medium)
DPS
(Long)
Market Value