Module:HeroDataArrays: Difference between revisionsGive feedback
Jump to navigation
Jump to search
Gammaton32 (talk | contribs) re-added rounding function, added new function to round to 4 figs, adjusted some tables |
Gammaton32 (talk | contribs) added alt fire stats to all tables where applicable |
||
| Line 248: | Line 248: | ||
altBulletsPerShot = data["Weapon>AltFire>BulletsPerShot"] or 0 | altBulletsPerShot = data["Weapon>AltFire>BulletsPerShot"] or 0 | ||
}) | }) | ||
local altBulletDamage = data["Weapon>AltFire>BulletDamage"] | |||
local altDPS = data["Weapon>AltFire>DPS"] | |||
local altRoundsPerSecond = data["Weapon>AltFire>RoundsPerSecond"] | |||
local altBulletsPerShot = data["Weapon>AltFire>BulletsPerShot"] | |||
if altBulletDamage and altBulletDamage ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
DPS = altDPS, | |||
reloadDelay = data["Weapon>ReloadDelay"] or 0, | |||
reloadTime = data["Weapon>ReloadTime"] or 0, | |||
clipSize = data["Weapon>ClipSize"] or 0, | |||
roundsPerSecond = altRoundsPerSecond, | |||
bulletDamage = altBulletDamage, | |||
bulletsPerShot = altBulletsPerShot | |||
}) | |||
end | |||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 263: | Line 282: | ||
{ label = "Bullets Per Shot", field = "bulletsPerShot" }, | { label = "Bullets Per Shot", field = "bulletsPerShot" }, | ||
} | } | ||
} | } | ||
} | } | ||
| Line 301: | Line 310: | ||
altBulletSpeed = data["Weapon>AltFire>BulletSpeed"] or 0 | altBulletSpeed = data["Weapon>AltFire>BulletSpeed"] or 0 | ||
}) | }) | ||
local altBulletSpeed = data["Weapon>AltFire>BulletSpeed"] | |||
if altBulletSpeed and altBulletSpeed ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
bulletSpeed = altBulletSpeed | |||
}) | |||
end | |||
end | end | ||
| Line 310: | Line 329: | ||
columns = { | columns = { | ||
{ label = "m/s", field = "bulletSpeed" } | { label = "m/s", field = "bulletSpeed" } | ||
} | } | ||
} | } | ||
| Line 344: | Line 357: | ||
ammoConsumedPerShot = data["Weapon>AltFire>AmmoConsumedPerShot"] or 0 | ammoConsumedPerShot = data["Weapon>AltFire>AmmoConsumedPerShot"] or 0 | ||
}) | }) | ||
local ammoConsumedPerShot = data["Weapon>AltFire>AmmoConsumedPerShot"] | |||
if ammoConsumedPerShot and ammoConsumedPerShot ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
bulletsPerBurst = ammoConsumedPerShot, | |||
clipSize = data["Weapon>ClipSize"] or 0, | |||
spiritClipSize = "+".. (data["SpiritScaling>ClipSize"] or 0), | |||
}) | |||
end | |||
end | end | ||
| Line 356: | Line 381: | ||
{ label = "Spirit Scaling", field = "spiritClipSize" }, | { label = "Spirit Scaling", field = "spiritClipSize" }, | ||
} | } | ||
} | } | ||
} | } | ||
| Line 388: | Line 407: | ||
spiritFireRate = "+".. (data["SpiritScaling>FireRate"] or 0), | spiritFireRate = "+".. (data["SpiritScaling>FireRate"] or 0), | ||
}) | }) | ||
local altRoundsPerSecond = data["Weapon>AltFire>RoundsPerSecond"] | |||
if altRoundsPerSecond and altRoundsPerSecond ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
roundsPerSecond = altRoundsPerSecond, | |||
spiritRoundsPerSecond = "+".. (data["SpiritScaling>RoundsPerSecond"] or 0), | |||
}) | |||
end | |||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 398: | Line 428: | ||
{ label = "Spirit Scaling", field = "spiritRoundsPerSecond" }, | { label = "Spirit Scaling", field = "spiritRoundsPerSecond" }, | ||
} | } | ||
} | } | ||
} | } | ||
| Line 431: | Line 455: | ||
altFalloffStartRange = data["Weapon>AltFire>FalloffStartRange"] or 0, | altFalloffStartRange = data["Weapon>AltFire>FalloffStartRange"] or 0, | ||
altFalloffEndRange = data["Weapon>AltFire>FalloffEndRange"] or 0, | altFalloffEndRange = data["Weapon>AltFire>FalloffEndRange"] or 0, | ||
altExplosionRadius = | altExplosionRadius = 0, | ||
altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | ||
}) | }) | ||
local altFalloffStartRange = data["Weapon>AltFire>FalloffStartRange"] | |||
local altFalloffEndRange = data["Weapon>AltFire>FalloffEndRange"] | |||
local altExplosionRadius = data["Weapon>AltFire>ExplosionRadius"] or 0 | |||
local altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | |||
if altFalloffStartRange and altFalloffStartRange ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
falloffStartRange = altFalloffStartRange, | |||
falloffEndRange = altFalloffEndRange, | |||
altExplosionRadius = data["Weapon>AltFire>ExplosionRadius"] or 0, | |||
falloffEndScale = -100 + (100 * (data["Weapon>FalloffEndScale"] or 0)) | |||
}) | |||
end | |||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 444: | Line 484: | ||
{ label = "Maximum Range (m)", field = "falloffEndRange" }, | { label = "Maximum Range (m)", field = "falloffEndRange" }, | ||
{ label = "Damage Falloff (%)", field = "falloffEndScale" }, | { label = "Damage Falloff (%)", field = "falloffEndScale" }, | ||
{ label = "Explosion Radius (m)", field = "altExplosionRadius" }, | { label = "Explosion Radius (m)", field = "altExplosionRadius" }, | ||
} | } | ||
| Line 1,043: | Line 1,076: | ||
altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394), | altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394), | ||
}) | }) | ||
local altBulletRadius = (data["Weapon>AltFire>BulletRadius"] or 0) * 100 | |||
local altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394) | |||
if altBulletRadius and altBulletRadius ~= 0 then | |||
table.insert(rows, { | |||
name = name, | |||
sortName = name .. " (alt fire)", | |||
nameSuffix = " (alt fire)", | |||
bulletRadius = altBulletRadius, | |||
bulletRadiusInches = altBulletRadiusInches | |||
}) | |||
end | |||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 1,052: | Line 1,097: | ||
{ label = "Bullet Radius (cm)", field = "bulletRadius" }, | { label = "Bullet Radius (cm)", field = "bulletRadius" }, | ||
{ label = "Bullet Radius (in)", field = "bulletRadiusInches" }, | { label = "Bullet Radius (in)", field = "bulletRadiusInches" }, | ||
} | } | ||
} | } | ||