Editing Module:HeroDataArraysGive feedback
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 23: | Line 23: | ||
table.sort(rows, function(a, b) | table.sort(rows, function(a, b) | ||
local nameA = getSortName( | local nameA = getSortName(a.name or "") | ||
local nameB = getSortName( | local nameB = getSortName(b.name or "") | ||
return nameA:lower() < nameB:lower() | return nameA:lower() < nameB:lower() | ||
end) | end) | ||
| 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 | end | ||
return value | return value | ||
| Line 101: | Line 93: | ||
cells = cells .. " || " .. (r[col.field] or 0) | cells = cells .. " || " .. (r[col.field] or 0) | ||
end | end | ||
t = t .. | t = t .. | ||
"|- \n" .. | "|- \n" .. | ||
"| style=\"text-align:left;\" | " .. | |||
frame:expandTemplate{ title = "PageRef", args = { r.name } } .. | |||
cells .. " \n" | cells .. " \n" | ||
end | end | ||
| Line 165: | 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 = (data["MaxHealth"] + data["LevelScaling>MaxHealth"] * soul_unlock.get_max("PowerIncrease")) or 0 | maxScalingHealth = roundValue(data["MaxHealth"] + data["LevelScaling>MaxHealth"] * soul_unlock.get_max("PowerIncrease")) or 0 | ||
}) | }) | ||
end | end | ||
| Line 248: | Line 231: | ||
altBulletsPerShot = data["Weapon>AltFire>BulletsPerShot"] or 0 | altBulletsPerShot = data["Weapon>AltFire>BulletsPerShot"] or 0 | ||
}) | }) | ||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 282: | Line 246: | ||
{ label = "Bullets Per Shot", field = "bulletsPerShot" }, | { label = "Bullets Per Shot", field = "bulletsPerShot" }, | ||
} | } | ||
} | }, | ||
{ | |||
title = "Base Alt-Fire Damage Stats", | |||
columns = { | |||
{ label = "Damage per sec", field = "altDPS" }, | |||
{ label = "Ammo Per Shot", field = "altAmmoConsumedPerShot" }, | |||
{ label = "Bullets per sec", field = "altRoundsPerSecond" }, | |||
{ label = "Bullet Damage", field = "altBulletDamage" }, | |||
{ label = "Bullets Per Shot", field = "altBulletsPerShot" }, | |||
} | |||
} | |||
} | } | ||
| Line 310: | Line 284: | ||
altBulletSpeed = data["Weapon>AltFire>BulletSpeed"] or 0 | altBulletSpeed = data["Weapon>AltFire>BulletSpeed"] or 0 | ||
}) | }) | ||
end | end | ||
| Line 329: | Line 293: | ||
columns = { | columns = { | ||
{ label = "m/s", field = "bulletSpeed" } | { label = "m/s", field = "bulletSpeed" } | ||
} | |||
}, | |||
{ | |||
title = "Base Alt-Fire Bullet Velocity", | |||
columns = { | |||
{ label = "m/s", field = "altBulletSpeed" } | |||
} | } | ||
} | } | ||
| Line 357: | Line 327: | ||
ammoConsumedPerShot = data["Weapon>AltFire>AmmoConsumedPerShot"] or 0 | ammoConsumedPerShot = data["Weapon>AltFire>AmmoConsumedPerShot"] or 0 | ||
}) | }) | ||
end | end | ||
| Line 381: | Line 339: | ||
{ label = "Spirit Scaling", field = "spiritClipSize" }, | { label = "Spirit Scaling", field = "spiritClipSize" }, | ||
} | } | ||
} | }, | ||
{ | |||
title = "Alt-Fire Ammo Cost", | |||
columns = { | |||
{ label = "Ammo Per Shot", field = "ammoConsumedPerShot" }, | |||
} | |||
} | |||
} | } | ||
| Line 407: | Line 371: | ||
spiritFireRate = "+".. (data["SpiritScaling>FireRate"] or 0), | spiritFireRate = "+".. (data["SpiritScaling>FireRate"] or 0), | ||
}) | }) | ||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 428: | Line 381: | ||
{ label = "Spirit Scaling", field = "spiritRoundsPerSecond" }, | { label = "Spirit Scaling", field = "spiritRoundsPerSecond" }, | ||
} | } | ||
} | }, | ||
{ | |||
title = "Base Alt-Fire Fire Rate", | |||
columns = { | |||
{ label = "Rounds/s", field = "altRoundsPerSecond" }, | |||
} | |||
} | |||
} | } | ||
| Line 455: | Line 414: | ||
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 = 0, | altExplosionRadius = data["Weapon>AltFire>ExplosionRadius"] or 0, | ||
altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | altExplosionEndScale = (100 * (data["Weapon>AltFire>ExplosionDamageScaleAtMaxRadius"] or 0)) | ||
}) | }) | ||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 484: | Line 427: | ||
{ label = "Maximum Range (m)", field = "falloffEndRange" }, | { label = "Maximum Range (m)", field = "falloffEndRange" }, | ||
{ label = "Damage Falloff (%)", field = "falloffEndScale" }, | { label = "Damage Falloff (%)", field = "falloffEndScale" }, | ||
} | |||
} , | |||
{ | |||
title = "Base Alt-Fire Falloff Range", | |||
columns = { | |||
{ label = "Minimum Range (m)", field = "altFalloffStartRange" }, | |||
{ label = "Maximum Range (m)", field = "altFalloffEndRange" }, | |||
{ label = "Explosion Radius (m)", field = "altExplosionRadius" }, | { label = "Explosion Radius (m)", field = "altExplosionRadius" }, | ||
} | } | ||
| Line 516: | Line 466: | ||
spiritScalingDamage = "+" .. (data["SpiritScaling>BulletDamage"] or 0), | spiritScalingDamage = "+" .. (data["SpiritScaling>BulletDamage"] or 0), | ||
}) | }) | ||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 567: | 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 613: | 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 650: | 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 1,076: | Line 1,011: | ||
altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394), | altBulletRadiusInches = roundValueInteger((data["Weapon>AltFire>BulletRadius"] or 0) * 100 * 0.394), | ||
}) | }) | ||
end | end | ||
sortHeroes(rows) | sortHeroes(rows) | ||
| Line 1,097: | Line 1,020: | ||
{ label = "Bullet Radius (cm)", field = "bulletRadius" }, | { label = "Bullet Radius (cm)", field = "bulletRadius" }, | ||
{ label = "Bullet Radius (in)", field = "bulletRadiusInches" }, | { label = "Bullet Radius (in)", field = "bulletRadiusInches" }, | ||
} | |||
}, | |||
{ | |||
title = "Alt-fire Bullet Radius Stats", | |||
columns = { | |||
{ label = "Bullet Radius (cm)", field = "altBulletRadius" }, | |||
{ label = "Bullet Radius (in)", field = "altBulletRadiusInches" }, | |||
} | } | ||
} | } | ||