Module:HeroDataArrays: Difference between revisions

Jump to navigation Jump to search
LVL (talk | contribs)
By default, sort all tables by english hero name
Added support for new weapon data structure
Line 115: Line 115:


p.heroDpsTable = function(frame)
p.heroDpsTable = function(frame)
     local heroDpsData = heroDataArray({"Name","ReloadSingle","ReloadDelay","ReloadTime",
     local heroDpsData = heroDataArray({"Name","Weapon>ReloadSingle","Weapon>ReloadDelay","Weapon>ReloadTime",
         "ClipSize","RoundsPerSecond","BulletDamage","BulletsPerShot"})
         "Weapon>ClipSize","Weapon>RoundsPerSecond","Weapon>BulletDamage","Weapon>BulletsPerShot"})
    
    
     local rows = {}
     local rows = {}
Line 122: Line 122:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             reloadDelay = data["ReloadDelay"] or 0,
             reloadDelay = data["Weapon>ReloadDelay"] or 0,
             reloadTime = data["ReloadTime"] or 0,
             reloadTime = data["Weapon>ReloadTime"] or 0,
             clipSize = data["ClipSize"] or 0,
             clipSize = data["Weapon>ClipSize"] or 0,
             roundsPerSecond = data["RoundsPerSecond"] or 0,
             roundsPerSecond = data["Weapon>RoundsPerSecond"] or 0,
             bulletDamage = data["BulletDamage"] or 0,
             bulletDamage = data["Weapon>BulletDamage"] or 0,
             bulletsPerShot = data["BulletsPerShot"] or 0
             bulletsPerShot = data["Weapon>BulletsPerShot"] or 0
         })
         })
     end
     end
Line 149: Line 149:


p.heroBulletSpeedTable = function(frame)
p.heroBulletSpeedTable = function(frame)
     local heroBulletSpeedData = heroDataArray({"Name", "BulletSpeed"})
     local heroBulletSpeedData = heroDataArray({"Name", "Weapon>BulletSpeed"})
      
      
     local rows = {}
     local rows = {}
Line 155: Line 155:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             bulletSpeed = data["BulletSpeed"] or 0
             bulletSpeed = data["Weapon>BulletSpeed"] or 0
         })
         })
     end
     end
Line 176: Line 176:


p.heroClipSizeTable = function(frame)
p.heroClipSizeTable = function(frame)
     local heroClipSizeData = heroDataArray({"Name", "ClipSize"})
     local heroClipSizeData = heroDataArray({"Name", "Weapon>ClipSize"})
      
      
     local rows = {}
     local rows = {}
Line 182: Line 182:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             clipSize = data["ClipSize"] or 0
             clipSize = data["Weapon>ClipSize"] or 0
         })
         })
     end
     end
Line 230: Line 230:


p.heroRoundsPerSecondTable = function(frame)
p.heroRoundsPerSecondTable = function(frame)
     local heroRoundsPerSecondData = heroDataArray({"Name", "RoundsPerSecond"})
     local heroRoundsPerSecondData = heroDataArray({"Name", "Weapon>RoundsPerSecond"})
      
      
     local rows = {}
     local rows = {}
Line 236: Line 236:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             roundsPerSecond = data["RoundsPerSecond"] or 0
             roundsPerSecond = data["Weapon>RoundsPerSecond"] or 0
         })
         })
     end
     end
Line 257: Line 257:


p.heroFalloffRangeTable = function(frame)
p.heroFalloffRangeTable = function(frame)
     local heroFalloffRangeData = heroDataArray({"Name", "FalloffStartRange", "FalloffEndRange"})
     local heroFalloffRangeData = heroDataArray({"Name", "Weapon>FalloffStartRange", "Weapon>FalloffEndRange"})
      
      
     local rows = {}
     local rows = {}
Line 263: Line 263:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             falloffStartRange = data["FalloffStartRange"] or 0,
             falloffStartRange = data["Weapon>FalloffStartRange"] or 0,
             falloffEndRange = data["FalloffEndRange"] or 0
             falloffEndRange = data["Weapon>FalloffEndRange"] or 0
         })
         })
     end
     end
Line 286: Line 286:
p.heroBulletDamageTable = function(frame)
p.heroBulletDamageTable = function(frame)
     -- Pull data
     -- Pull data
     local heroBulletDamageData = heroDataArray({"Name", "BulletDamage", "LevelScaling>BulletDamage"})
     local heroBulletDamageData = heroDataArray({"Name", "Weapon>BulletDamage", "LevelScaling>BulletDamage"})


     local rows = {}
     local rows = {}
Line 292: Line 292:
         table.insert(rows, {
         table.insert(rows, {
             name = name,
             name = name,
             bulletDamage = tonumber(data["BulletDamage"]) or 0,
             bulletDamage = tonumber(data["Weapon>BulletDamage"]) or 0,
             scalingDamage = tonumber(data["LevelScaling>BulletDamage"]) or 0
             scalingDamage = tonumber(data["LevelScaling>BulletDamage"]) or 0
         })
         })
Line 431: Line 431:


p.heroReloadTable = function(frame)
p.heroReloadTable = function(frame)
     local heroReloadData = heroDataArray({"Name", "ReloadTime"})
     local heroReloadData = heroDataArray({"Name", "Weapon>ReloadTime"})


     -- 1. collect rows
     -- 1. collect rows
Line 438: Line 438:
         table.insert(rows, {
         table.insert(rows, {
             name      = name,
             name      = name,
             reloadTime = tonumber(data.ReloadTime) or 0
             reloadTime = tonumber(data["Weapon>ReloadTime"]) or 0
         })
         })
     end
     end