Difference between revisions of "User:RotatcepS/tests/Damage"

From Team Fortress Wiki
Jump to: navigation, search
(bug fix: not sure why I had floor for close values instead of round0)
m (bug fix)
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{#switch: {{lc:{{{type|text}}}}}
 
{{#switch: {{lc:{{{type|text}}}}}
 +
<!-- TODO: use B for building variants multiplier.
 +
TODO: add a way to identify no crits, no minicrits -->
 
     | dps      = {{#expr:({{{D|0}}}*(1/{{{T}}}))round2}} {{#ifexpr:{{{E|0}}}+0>0| + splash}}
 
     | dps      = {{#expr:({{{D|0}}}*(1/{{{T}}}))round2}} {{#ifexpr:{{{E|0}}}+0>0| + splash}}
  
Line 10: Line 12:
 
     | time-to-target
 
     | time-to-target
 
     | ttt      = {{#expr:512/{{{V}}}}}
 
     | ttt      = {{#expr:512/{{{V}}}}}
     | accuracy = {{#ifexpr:{{{recovery|0}}}>0|{{#expr:({{User:RotatcepS/tests/AccurateRange|C={{{S|0}}}|V=0|E=0}}/512*100)round0}}% ({{tooltip|recoil spread|starts with one accurate shot with {{{recovery}}} {{common strings|seconds}} recovery}})|{{#ifexpr:{{{S|0}}}>0|{{#expr:({{User:RotatcepS/tests/AccurateRange|C={{{S|0}}}|V=0|E=0}}/512*100)round0}}% ({{tooltip|shot spread|one accurate {{{pellet|pellet}}} of {{{F}}} {{{pellet|pellet}}}s per shot}})|{{#ifexpr:{{{E|0}}}>0|{{#expr:(( ((49/2)/300) *{{{V|0}}})/512*100)round0}}% ({{tooltip|projectile|{{{V}}}{{common strings|Hus}}}})<br/>{{#expr:({{User:RotatcepS/tests/AccurateRange|C=0|V={{{V|0}}}|E={{{E|1.0}}}}}/512*100)round0}}% (projectile {{tooltip|splash|{{#expr:{{{E|1}}}*146}}Hu radius}})|{{#ifexpr:{{{V|0}}}>0|{{#expr:(( ((49/2)/300) *{{{V|0}}})/512*100)round0}}% ({{tooltip|projectile|{{{V}}}{{common strings|Hus}}}})|{{#ifexpr:{{{L|1}}}=0|melee|infinite}}}}}}}}}}
+
     | accuracy = {{#ifexpr:{{{recovery|0}}}+0>0|{{#expr:({{User:RotatcepS/tests/AccurateRange|C={{{S|0}}}|V=0|E=0}}/512*100)round0}}% ({{tooltip|recoil spread|starts with one accurate shot with {{{recovery}}} {{common strings|seconds}} recovery}})|{{#ifexpr:{{{S|0}}}+0>0|{{#expr:({{User:RotatcepS/tests/AccurateRange|C={{{S|0}}}|V=0|E=0}}/512*100)round0}}% ({{tooltip|shot spread|one accurate {{{pellet|pellet}}} of {{{F}}} {{{pellet|pellet}}}s per shot}})|{{#ifexpr:{{{E|0}}}+0>0 and {{{V|0}}}+0>0|{{#expr:(( ((49/2)/300) *({{{V|0}}}+0))/512*100)round0}}% ({{tooltip|projectile|{{{V}}}{{common strings|Hus}}}})<br/>{{#expr:({{User:RotatcepS/tests/AccurateRange|C=0|V={{{V|0}}}|E={{{E|1.0}}}}}/512*100)round0}}% (projectile {{tooltip|splash|{{#expr:{{{E|1}}}*146}}Hu radius}})|{{#ifexpr:{{{V|0}}}+0>0|{{#expr:(( ((49/2)/300) *{{{V|0}}})/512*100)round0}}% ({{tooltip|projectile|{{{V}}}{{common strings|Hus}}}})|{{#ifexpr:{{{maxRange|0}}}+0=0|infinite|melee}}}}}}}}}}
 
<!--  Another type of accuracy text:
 
<!--  Another type of accuracy text:
 
accuracy: extra-fast hitscan, reaches point-blank range (melee)
 
accuracy: extra-fast hitscan, reaches point-blank range (melee)
Line 50: Line 52:
 
     | fragments = {{{F|0}}}
 
     | fragments = {{{F|0}}}
 
     | velocity
 
     | velocity
     | speed    = {{{V|0}}}
+
     | speed    = {{{V|}}}
 
     | radius
 
     | radius
 
     | splash-percent  = {{{E|0}}}
 
     | splash-percent  = {{{E|0}}}
Line 57: Line 59:
 
     | spread-value = {{{S|0}}}
 
     | spread-value = {{{S|0}}}
 
     | recovery  = {{{recovery|0}}}
 
     | recovery  = {{{recovery|0}}}
     | maxrange  = {{{maxRange|0}}}
+
     | maxrange  = {{{maxRange|}}}
 +
    | xoffset  = {{{Xoffset|23.5}}}
  
 
     | rampup    = {{{H|1}}}
 
     | rampup    = {{{H|1}}}
Line 63: Line 66:
 
     | ramp up
 
     | ramp up
 
     | close-base = {{#expr:{{{D|0}}}*{{{H|1}}}}}
 
     | close-base = {{#expr:{{{D|0}}}*{{{H|1}}}}}
 +
<!-- D*H, but accounting for hitbox separation try (1+(({{{H|1}}}-1)*(508/512)))  (1+(({{{MH|{{{H|1}}}}}}-1)*(508/512)))  (1+(({{{CH|1.0}}}-1)*(508/512)))
 +
if we use firing x point as a parameter, replace 508/512 with (512-(32-Xoffset))/512 - default Xoffset to something for bullets like 28 (which would result in 508)... but why not use 23.5 like so many other weapons. (512-(32-{{{Xoffset|23.5}}}))/512
 +
 +
(1+(({{{H|1}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))  (1+(({{{MH|{{{H|1}}}}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))  (1+(({{{CH|1.0}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))
 +
 +
I believe distance would be spawn point vs. target impact point, spawn points vary for projectiles:
 +
https://youtu.be/UFtZMIWt0WI?t=37
 +
original, rocket launchers & flare gun, energy weapons (including cm5k), bolts(including grapple) spawn (from eyes) 23.5x
 +
 +
While trigonometry says all coordinates matter for measuring distance, for our purposes x position, since we're firing forward, is the only one that makes a significant difference for point blank. (Eye y position varies by class, but I assume x and z are the same for all.)
 +
Entity movement hitbox is 32x32y, so we will assume 32x separation between two enemy centers at "point blank" minus the x value of entity spawn.  This is probably a bad assumption, but it's better than assuming a distance of 0 always.
 +
 +
Bullet weapons likely also would include the target body part's distance adding more distance.
 +
 +
-->
 
     | point blank
 
     | point blank
     | close    = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:({{{D|0}}}/{{{F}}}*{{{H|1}}})round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:({{{D|0}}}*{{{H|1}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:({{{D|0}}}*{{{H|1}}})round0}}
+
     | close    = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:({{{D|0}}}/{{{F}}}*(1+(({{{H|1}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512))))round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:({{{D|0}}}*(1+(({{{H|1}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:({{{D|0}}}*(1+(({{{H|1}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512))))round0}}
 
     | fragment-close = {{#expr:{{{D|0}}}/{{{F}}}*{{{H|1}}}}}
 
     | fragment-close = {{#expr:{{{D|0}}}/{{{F}}}*{{{H|1}}}}}
  
 
     | close-minicrit-base    = {{#expr:1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}}}
 
     | close-minicrit-base    = {{#expr:1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}}}
     | close-minicrit          = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}/{{{F}}})round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}})round0}}
+
     | close-minicrit          = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:(1.35*{{{D|0}}}*(1+(({{{MH|{{{H|1}}}}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))/{{{F}}})round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*(1+(({{{MH|{{{H|1}}}}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(1.35*{{{D|0}}}*(1+(({{{MH|{{{H|1}}}}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512))))round0}}
 
     | fragment-close-minicrit = {{#expr:1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}/{{{F}}}}}
 
     | fragment-close-minicrit = {{#expr:1.35*{{{D|0}}}*{{{MH|{{{H|1}}}}}}/{{{F}}}}}
 
     | close-crit-base        = {{#expr:3.0*{{{D|0}}}*{{{CH|1.0}}}}}
 
     | close-crit-base        = {{#expr:3.0*{{{D|0}}}*{{{CH|1.0}}}}}
     | close-crit              = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{CH|1.0}}}/{{{F}}})round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{CH|1.0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(3.0*{{{D|0}}}*{{{CH|1.0}}})round0}}
+
     | close-crit              = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:(3.0*{{{D|0}}}*(1+(({{{CH|1.0}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))/{{{F}}})round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*(1+(({{{CH|1.0}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512)))*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(3.0*{{{D|0}}}*(1+(({{{CH|1.0}}}-1)*((512-(32-{{{Xoffset|23.5}}}))/512))))round0}}
 
     | fragment-close-crit    = {{#expr:3.0*{{{D|0}}}*{{{CH|1.0}}}/{{{F}}}}}
 
     | fragment-close-crit    = {{#expr:3.0*{{{D|0}}}*{{{CH|1.0}}}/{{{F}}}}}
  
Line 80: Line 98:
 
     | mh = {{{MH|{{{H|1}}}}}}
 
     | mh = {{{MH|{{{H|1}}}}}}
 
     | ml = {{{ML|1.0}}}
 
     | ml = {{{ML|1.0}}}
 +
    | b = {{{B|1.0}}}
 
      
 
      
 
     | rampdown    = {{{L|1}}}
 
     | rampdown    = {{{L|1}}}
Line 90: Line 109:
  
 
     | far-minicrit-base      = {{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}}}
 
     | far-minicrit-base      = {{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}}}
     | far-minicrit            = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{ML|1.0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}round0}}
+
     | far-minicrit            = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{ML|1.0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(1.35*{{{D|0}}}*{{{ML|1.0}}})round0}}
 
     | fragment-far-minicrit-base
 
     | fragment-far-minicrit-base
 
     | fragment-far-minicrit  = {{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}/{{{F}}}}}
 
     | fragment-far-minicrit  = {{#expr:1.35*{{{D|0}}}*{{{ML|1.0}}}/{{{F}}}}}
 
     | far-crit-base          = {{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}}}
 
     | far-crit-base          = {{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}}}
     | far-crit                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{CL|1.0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}round0}}
+
     | far-crit                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{CL|1.0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(3.0*{{{D|0}}}*{{{CL|1.0}}})round0}}
 
     | fragment-far-crit-base
 
     | fragment-far-crit-base
 
     | fragment-far-crit      = {{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}/{{{F}}}}}
 
     | fragment-far-crit      = {{#expr:3.0*{{{D|0}}}*{{{CL|1.0}}}/{{{F}}}}}
  
 
     | minicrit-base          = {{#expr:1.35*{{{D|0}}}}}
 
     | minicrit-base          = {{#expr:1.35*{{{D|0}}}}}
     | minicrit                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:1.35*{{{D|0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:1.35*{{{D|0}}}round0}}
+
     | minicrit                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:1.35*{{{D|0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(1.35*{{{D|0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(1.35*{{{D|0}}})round0}}
 
     | fragment-minicrit-base
 
     | fragment-minicrit-base
 
     | fragment-minicrit      = {{#expr:1.35*{{{D|0}}}/{{{F}}}}}
 
     | fragment-minicrit      = {{#expr:1.35*{{{D|0}}}/{{{F}}}}}
 
     | crit-base              = {{#expr:3.0*{{{D|0}}}}}
 
     | crit-base              = {{#expr:3.0*{{{D|0}}}}}
 
     | crit
 
     | crit
     | critical                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:3.0*{{{D|0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:3.0*{{{D|0}}}round0}}
+
     | critical                = {{#ifeq:{{{F|0}}}|0||{{tooltip|{{#expr:3.0*{{{D|0}}}/{{{F}}}round0}}|1 {{{pellet|pellet}}} of {{{F}}}}}-}}{{#ifexpr:{{{E|0}}}>0|{{tooltip|{{#expr:(3.0*{{{D|0}}}*{{{EL|.50}}})round0}}|splash ≥ {{#expr:{{{EL|.50}}}*100round0}}%}}-}}{{#expr:(3.0*{{{D|0}}})round0}}
 
     | fragment-crit-base
 
     | fragment-crit-base
 
     | fragment-crit          = {{#expr:3.0*{{{D|0}}}/{{{F}}}}}
 
     | fragment-crit          = {{#expr:3.0*{{{D|0}}}/{{{F}}}}}
Line 115: Line 134:
 
     | fragment-base
 
     | fragment-base
 
     | fragment  = {{#expr:{{{D|0}}}/{{{F}}}}}
 
     | fragment  = {{#expr:{{{D|0}}}/{{{F}}}}}
     | pellet    = {{{pellet|pellet}}}
+
     | pellet    = {{{pellet|}}}
 
}}<noinclude>
 
}}<noinclude>
 
{{Documentation}}<!--until this is considered a template, apparently Documentation doesn't work-->{{User:RotatcepS/tests/Damage/doc}}
 
{{Documentation}}<!--until this is considered a template, apparently Documentation doesn't work-->{{User:RotatcepS/tests/Damage/doc}}
 
</noinclude>
 
</noinclude>

Latest revision as of 21:55, 14 August 2022

0

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

input parameters

  • D: base damage input
  • T: attack interval time in seconds
  • V: velocity in HU/s
  • E: Explosion radius percent of normal (1.0 = full radius)
  • S: spread value of fragments or recoil
  • F: number of fragments
  • recovery: time in seconds to recover recoil accuracy
  • maxRange: maximum reach of weapon in HU (e.g. flamethrower, medi gun)
  • H: Close ramp up multiplier
  • L: Far fall off multiplier
  • MH: Close ramp up multiplier for Minicrits (defaults to H)
  • ML: Far fall off multiplier for Minicrits (defaults to 1.0)
  • CH: Close ramp up multiplier for crits (defaults to 1.0)
  • ML: Far fall off multiplier for crits (defaults to 1.0)

type: output type selection (defaults to "text")

  • dps = e.g. "100 + splash"
  • spread-accuracy = accurate at x% range
  • spread-ratio-old = spread of x:1
  • spread-ratio
  • spread-ratio-half = spread of x:1
  • velocity-accuracy = closes range in x seconds, accurate at x% range
  • explosive-accuracy = splash accurate at x% range
  • time-to-target
  • ttt (based on 512Hu)
  • time
  • interval = T
  • bullet count
  • pellet count
  • fragments = F
  • velocity
  • speed = V
  • radius
  • splash-percent = E
  • splash radius (based on 146HU)
  • spread-value = S
  • recovery = recovery
  • maxrange = maxRange
  • rampup = H
  • ramp up % = H*100 rounded
  • ramp up
  • close-base = D*H
  • point blank
  • close = (one fragment-)(50% damage with splash tooltip-)damage
  • fragment-close = one fragment
  • close-minicrit-base = 1.35*MH
  • close-minicrit = (one fragment-)(splash-)1.35*MH
  • fragment-close-minicrit = one fragment*1.35*MH
  • close-crit-base = 3*CH
  • close-crit = (one fragment-)(splash-)3*CH
  • fragment-close-crit = one fragment*3.0*CH
  • h = H
  • l = L
  • ch = CH (1.0)
  • cl = CL (1.0)
  • mh = MH (H)
  • ml = ML (1.0)
  • rampdown = L
  • fall off % = L*100 rounded
  • fall off
  • far-base = D*L
  • long range
  • far = (one fragment-)(splash-)damage
  • fragment-far = one fragment*L
  • far-minicrit-base = 1.35*ML
  • far-minicrit = (one fragment-)(splash-)damage
  • fragment-far-minicrit-base
  • fragment-far-minicrit = one fragment*1.35*ML
  • far-crit-base = 3*CL
  • far-crit = (one fragment-)(splash-)damage
  • fragment-far-crit-base
  • fragment-far-crit = one fragment*3*CL
  • minicrit-base = 1.35*
  • minicrit = (one fragment-)(splash-)damage
  • fragment-minicrit-base
  • fragment-minicrit = one fragment*1.35*
  • crit-base = 3*
  • crit
  • critical = (one fragment-)(splash-)damage
  • fragment-crit-base
  • fragment-crit = one fragment*3*
  • medium-base
  • base = D
  • medium = (one fragment-)(splash-)damage
  • text
  • blank = (one fragment-)(splash-)damage with ramp up & fall off tooltip
  • fragment-base
  • fragment = one fragment

input parameters

  • D: base damage input
  • T: attack interval time in seconds
  • V: velocity in HU/s
  • E: Explosion radius percent of normal (1.0 = full radius)
  • S: spread value of fragments or recoil
  • F: number of fragments
  • recovery: time in seconds to recover recoil accuracy
  • maxRange: maximum reach of weapon in HU (e.g. flamethrower, medi gun)
  • H: Close ramp up multiplier
  • L: Far fall off multiplier
  • MH: Close ramp up multiplier for Minicrits (defaults to H)
  • ML: Far fall off multiplier for Minicrits (defaults to 1.0)
  • CH: Close ramp up multiplier for crits (defaults to 1.0)
  • ML: Far fall off multiplier for crits (defaults to 1.0)

type: output type selection (defaults to "text")

  • dps = e.g. "100 + splash"
  • spread-accuracy = accurate at x% range
  • spread-ratio-old = spread of x:1
  • spread-ratio
  • spread-ratio-half = spread of x:1
  • velocity-accuracy = closes range in x seconds, accurate at x% range
  • explosive-accuracy = splash accurate at x% range
  • time-to-target
  • ttt (based on 512Hu)
  • time
  • interval = T
  • bullet count
  • pellet count
  • fragments = F
  • velocity
  • speed = V
  • radius
  • splash-percent = E
  • splash radius (based on 146HU)
  • spread-value = S
  • recovery = recovery
  • maxrange = maxRange
  • rampup = H
  • ramp up % = H*100 rounded
  • ramp up
  • close-base = D*H
  • point blank
  • close = (one fragment-)(50% damage with splash tooltip-)damage
  • fragment-close = one fragment
  • close-minicrit-base = 1.35*MH
  • close-minicrit = (one fragment-)(splash-)1.35*MH
  • fragment-close-minicrit = one fragment*1.35*MH
  • close-crit-base = 3*CH
  • close-crit = (one fragment-)(splash-)3*CH
  • fragment-close-crit = one fragment*3.0*CH
  • h = H
  • l = L
  • ch = CH (1.0)
  • cl = CL (1.0)
  • mh = MH (H)
  • ml = ML (1.0)
  • rampdown = L
  • fall off % = L*100 rounded
  • fall off
  • far-base = D*L
  • long range
  • far = (one fragment-)(splash-)damage
  • fragment-far = one fragment*L
  • far-minicrit-base = 1.35*ML
  • far-minicrit = (one fragment-)(splash-)damage
  • fragment-far-minicrit-base
  • fragment-far-minicrit = one fragment*1.35*ML
  • far-crit-base = 3*CL
  • far-crit = (one fragment-)(splash-)damage
  • fragment-far-crit-base
  • fragment-far-crit = one fragment*3*CL
  • minicrit-base = 1.35*
  • minicrit = (one fragment-)(splash-)damage
  • fragment-minicrit-base
  • fragment-minicrit = one fragment*1.35*
  • crit-base = 3*
  • crit
  • critical = (one fragment-)(splash-)damage
  • fragment-crit-base
  • fragment-crit = one fragment*3*
  • medium-base
  • base = D
  • medium = (one fragment-)(splash-)damage
  • text
  • blank = (one fragment-)(splash-)damage with ramp up & fall off tooltip
  • fragment-base
  • fragment = one fragment