Module:HeroDataArrays: Difference between revisionsGive feedback
Gammaton32 (talk | contribs) No edit summary |
Gammaton32 (talk | contribs) added bullet radius in inches, cleaned up code |
||
| Line 33: | Line 33: | ||
if type(value) == "number" then | if type(value) == "number" then | ||
return util_module.round_to_sig_fig(value, 3) | return util_module.round_to_sig_fig(value, 3) | ||
end | |||
return value | |||
end | |||
-- Round to an integer (up to 2 digits) | |||
local function roundValueInteger(value) | |||
if type(value) == "number" then | |||
return util_module.round_to_sig_fig(value, 2) | |||
end | end | ||
return value | return value | ||
| Line 140: | Line 148: | ||
maxHealth = data["MaxHealth"] or 0, | maxHealth = data["MaxHealth"] or 0, | ||
scalingHealth = "+" .. data["LevelScaling>MaxHealth"] or 0, | scalingHealth = "+" .. data["LevelScaling>MaxHealth"] or 0, | ||
maxScalingHealth = | maxScalingHealth = roundValue(data["MaxHealth"] + data["LevelScaling>MaxHealth"] * soul_unlock.get_max("PowerIncrease")) or 0 | ||
}) | }) | ||
end | end | ||
| Line 395: | Line 403: | ||
p.heroFalloffRangeTable = function(frame) | p.heroFalloffRangeTable = function(frame) | ||
local heroFalloffRangeData = heroDataArray({"Name", "Weapon>FalloffStartRange", "Weapon>FalloffEndRange", "Weapon>AltFire>FalloffStartRange", "Weapon>AltFire>FalloffEndRange", | local heroFalloffRangeData = heroDataArray({"Name", "Weapon>FalloffStartRange", "Weapon>FalloffEndRange", "Weapon>AltFire>FalloffStartRange", "Weapon>AltFire>FalloffEndRange", | ||
"Weapon>AltFire>ExplosionRadius", "Weapon>FalloffEndScale"}) | "Weapon>AltFire>ExplosionRadius", "Weapon>FalloffEndScale", "Weapon>AltFire>ExplosionDamageScaleAtMaxRadius",}) | ||
local rows = {} | local rows = {} | ||
| Line 403: | Line 411: | ||
falloffStartRange = data["Weapon>FalloffStartRange"] or 0, | falloffStartRange = data["Weapon>FalloffStartRange"] or 0, | ||
falloffEndRange = data["Weapon>FalloffEndRange"] or 0, | falloffEndRange = data["Weapon>FalloffEndRange"] or 0, | ||
falloffEndScale = -100 + (100 * | falloffEndScale = -100 + (100 * (data["Weapon>FalloffEndScale"] or 0)), | ||
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 = data["Weapon>AltFire>ExplosionRadius"] or 0 | altExplosionRadius = data["Weapon>AltFire>ExplosionRadius"] or 0, | ||
altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | |||
}) | }) | ||
end | end | ||
| Line 453: | Line 462: | ||
bulletDamagePerShot = ((data["Weapon>BulletDamage"] or 0) * (data["Weapon>BulletsPerShot"] or 0) * (data["Weapon>BulletsPerBurst"] or 0)), | bulletDamagePerShot = ((data["Weapon>BulletDamage"] or 0) * (data["Weapon>BulletsPerShot"] or 0) * (data["Weapon>BulletsPerBurst"] or 0)), | ||
scalingDamage = "+" .. data["LevelScaling>BulletDamage"] or 0, | scalingDamage = "+" .. data["LevelScaling>BulletDamage"] or 0, | ||
maxScalingDamage = | maxScalingDamage = (roundValue(data["Weapon>BulletDamage"] + data["LevelScaling>BulletDamage"] * soul_unlock.get_max("PowerIncrease"))) or 0, | ||
altBulletDamage = data["Weapon>AltFire>BulletDamage"] or 0, | altBulletDamage = data["Weapon>AltFire>BulletDamage"] or 0, | ||
spiritScalingDamage = "+" .. (data["SpiritScaling>BulletDamage"] or 0), | spiritScalingDamage = "+" .. (data["SpiritScaling>BulletDamage"] or 0), | ||
| Line 493: | Line 502: | ||
lightMeleeDamage = data["LightMeleeDamage"] or 0, | lightMeleeDamage = data["LightMeleeDamage"] or 0, | ||
lightScalingDamage = "+" .. data["LevelScaling>LightMeleeDamage"] or 0, | lightScalingDamage = "+" .. data["LevelScaling>LightMeleeDamage"] or 0, | ||
lightMaxScalingDamage = | lightMaxScalingDamage = (roundValue(data["LightMeleeDamage"] + data["LevelScaling>LightMeleeDamage"] * soul_unlock.get_max("PowerIncrease"))) or 0, | ||
heavyMeleeDamage = data["HeavyMeleeDamage"] or 0, | heavyMeleeDamage = data["HeavyMeleeDamage"] or 0, | ||
heavyScalingDamage = "+" .. data["LevelScaling>HeavyMeleeDamage"] or 0, | heavyScalingDamage = "+" .. data["LevelScaling>HeavyMeleeDamage"] or 0, | ||
heavyMaxScalingDamage = | heavyMaxScalingDamage = (roundValue(data["HeavyMeleeDamage"] + data["LevelScaling>HeavyMeleeDamage"] * soul_unlock.get_max("PowerIncrease"))) or 0, | ||
heavySpiritScalingDamage = "+" .. (data["SpiritScaling>HeavyMeleeDamage"] or 0), | heavySpiritScalingDamage = "+" .. (data["SpiritScaling>HeavyMeleeDamage"] or 0), | ||
}) | }) | ||
| Line 539: | Line 548: | ||
lightMeleeDamage = data["LightMeleeDamage"] or 0, | lightMeleeDamage = data["LightMeleeDamage"] or 0, | ||
scalingDamage = "+" .. data["LevelScaling>LightMeleeDamage"] or 0, | scalingDamage = "+" .. data["LevelScaling>LightMeleeDamage"] or 0, | ||
maxScalingDamage = | maxScalingDamage = (roundValue(data["LightMeleeDamage"] + data["LevelScaling>LightMeleeDamage"] * soul_unlock.get_max("PowerIncrease"))) or 0, | ||
}) | }) | ||
end | end | ||
| Line 576: | Line 585: | ||
heavyMeleeDamage = data["HeavyMeleeDamage"] or 0, | heavyMeleeDamage = data["HeavyMeleeDamage"] or 0, | ||
scalingDamage = "+" .. data["LevelScaling>HeavyMeleeDamage"] or 0, | scalingDamage = "+" .. data["LevelScaling>HeavyMeleeDamage"] or 0, | ||
maxScalingDamage = | maxScalingDamage = (roundValue(data["HeavyMeleeDamage"] + data["LevelScaling>HeavyMeleeDamage"] * soul_unlock.get_max("PowerIncrease"))) or 0, | ||
spiritScalingDamage = "+" .. (data["SpiritScaling>HeavyMeleeDamage"] or 0), | spiritScalingDamage = "+" .. (data["SpiritScaling>HeavyMeleeDamage"] or 0), | ||
}) | }) | ||
| Line 793: | Line 802: | ||
bulletResist = data["BulletResist"] or 0, | bulletResist = data["BulletResist"] or 0, | ||
bulletResistScaling = "+".. (data["LevelScaling>BulletResist"] or 0), | bulletResistScaling = "+".. (data["LevelScaling>BulletResist"] or 0), | ||
bulletResistScalingMax = ( | bulletResistScalingMax = ((roundValue((data["BulletResist"] or 0) + (data["LevelScaling>BulletResist"] or 0) * soul_unlock.get_max("PowerIncrease"))) or 0), | ||
bulletResistSpiritScaling = "+".. (data["SpiritScaling>BulletResist"] or 0), | bulletResistSpiritScaling = "+".. (data["SpiritScaling>BulletResist"] or 0), | ||
spiritResist = data["TechResist"] or 0, | spiritResist = data["TechResist"] or 0, | ||
spiritResistScaling = "+".. (data["LevelScaling>TechResist"] or 0), | spiritResistScaling = "+".. (data["LevelScaling>TechResist"] or 0), | ||
spiritResistScalingMax = ( | spiritResistScalingMax = ((roundValue((data["TechResist"] or 0) + (data["LevelScaling>TechResist"] or 0) * soul_unlock.get_max("PowerIncrease"))) or 0), | ||
spiritResistSpiritScaling = "+".. (data["SpiritScaling>TechResist"] or 0), | spiritResistSpiritScaling = "+".. (data["SpiritScaling>TechResist"] or 0), | ||
meleeResist = data["MeleeResist"] or 0, | meleeResist = data["MeleeResist"] or 0, | ||
| Line 889: | Line 898: | ||
name = name, | name = name, | ||
spiritScaling = "+".. data["LevelScaling>TechPower"] or 0, | spiritScaling = "+".. data["LevelScaling>TechPower"] or 0, | ||
maxSpiritScaling = | maxSpiritScaling = (data["LevelScaling>TechPower"] * soul_unlock.get_max("PowerIncrease")) or 0, | ||
}) | }) | ||
end | end | ||
| Line 993: | Line 1,002: | ||
table.insert(rows, { | table.insert(rows, { | ||
name = name, | name = name, | ||
bulletRadius = | bulletRadius = (data["Weapon>BulletRadius"] or 0) * 100, | ||
altBulletRadius = | bulletRadiusInches = roundValueInteger((data["Weapon>BulletRadius"] or 0) * 100 * 0.394), | ||
altBulletRadius = (data["Weapon>AltFire>BulletRadius"] or 0) * 100, | |||
altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394), | |||
}) | }) | ||
end | end | ||
| Line 1,004: | Line 1,015: | ||
columns = { | columns = { | ||
{ label = "Bullet Radius (cm)", field = "bulletRadius" }, | { label = "Bullet Radius (cm)", field = "bulletRadius" }, | ||
{ label = "Bullet Radius (in)", field = "bulletRadiusInches" }, | |||
} | } | ||
}, | }, | ||
| Line 1,010: | Line 1,022: | ||
columns = { | columns = { | ||
{ label = "Bullet Radius (cm)", field = "altBulletRadius" }, | { label = "Bullet Radius (cm)", field = "altBulletRadius" }, | ||
{ label = "Bullet Radius (in)", field = "altBulletRadiusInches" }, | |||
} | } | ||
} | } | ||