Editing Module:ItemsByStatGive 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 3: | Line 3: | ||
local Lang = require("Module:Lang") | local Lang = require("Module:Lang") | ||
-- | -- Someday there will be a field in the ItemData JSON that indicates if an item is in the game or not, until then... | ||
ingame = {"Basic Magazine","Close Quarters","Headshot Booster","High-Velocity Mag","Hollow Point Ward","Monster Rounds","Rapid Rounds","Restorative Shot","Reload","Berserker","Kinetic Dash","Long Range","Melee Charge","Mystic Shot","Slowing Bullets","Soul Shredder Bullets","Swift Striker","Fleetfoot","Burst Fire","Escalating Resilience","Headhunter","Hunter's Aura","Intensifying Magazine","Point Blank","Pristine Emblem","Sharpshooter","Tesla Bullets","Titanic Magazine","Toxic Bullets","Alchemical Fire","Heroic Aura","Warp Stone","Crippling Headshot","Frenzy","Glass Cannon","Lucky Shot","Ricochet","Siphon Bullets","Spiritual Overflow","Shadow Weave","Silencer","Vampiric Burst","Enduring Spirit","Extra Health","Extra Regen","Extra Stamina","Melee Lifesteal","Sprint Boots","Healing Rite","Bullet Armor","Bullet Lifesteal","Combat Barrier","Debuff Reducer","Enchanter's Barrier","Enduring Speed","Healbane","Healing Booster","Re Barrier","Spirit Armor","Spirit Lifesteal","Divine Barrier","Health Nova","Restorative Locket","Return Fire","Fortitude","Improved Bullet Armor","Improved Spirit Armor","Lifestrike","Superior Stamina","Veil Walker","Debuff Remover","Majestic Leap","Metal Skin","Rescue Beam","Inhibitor","Leech","Soul Rebirth","Colossus","Phantom Strike","Unstoppable","Ammo Scavenger","Extra Charge","Extra Spirit","Mystic Burst","Mystic Reach","Spirit Strike","Infuser","Bullet Resist Shredder","Duration Extender","Improved Cooldown","Mystic Vulnerability","Quicksilver Reload","Suppressor","Cold Front","Decay","Slowing Hex","Withering Whip","Improved Burst","Improved Reach","Improved Spirit","Mystic Slow","Rapid Recharge","Superior Cooldown","Superior Duration","Surge of Power","Torment Pulse","Ethereal Shift","Knockdown","Silence Glyph","Boundless Spirit","Diviner's Kevlar","Escalating Exposure","Mystic Reverb","Curse","Echo Shard","Magic Carpet","Refresher"} | |||
InGameItemData = {} | InGameItemData = {} | ||
for i, InGameItemName in pairs(ingame) do | |||
for | for j, ItemData in pairs(AllItemData) do | ||
if ItemData["Name"]==InGameItemName then | |||
table.insert(InGameItemData, ItemData) | |||
break | |||
end | |||
end | end | ||
end | end | ||
| Line 31: | Line 34: | ||
local outData = {} | local outData = {} | ||
local i = 1 | local i = 1 | ||
for | for m,itemData in pairs(InGameItemData) do | ||
if itemData[stat] ~= nil and itemData[stat] ~= "0" then -- If Item has non-zero stat in its keys, | if itemData[stat] ~= nil and itemData[stat] ~= "0" then -- If Item has non-zero stat in its keys, | ||
outData[i] = {} -- start a new record of data and | outData[i] = {} -- start a new record of data and | ||
| Line 37: | Line 40: | ||
outData[i][x] = itemData[inKeys[x]] -- grab stat and other values | outData[i][x] = itemData[inKeys[x]] -- grab stat and other values | ||
end | end | ||
i = i+1 | i = i+1 | ||
end | end | ||
| Line 44: | Line 45: | ||
-- Sort by cost within slot | -- Sort by cost within slot | ||
table.sort(outData, function(a,b) return a[ | table.sort(outData, function(a,b) return a[3]*multBySlot[a[4]]<b[3]*multBySlot[b[4]] end) | ||
return outData | return outData | ||
end | end | ||
--{{#invoke:ItemsByStat|tablefy|stat|statName|suffix}} | --{{#invoke:ItemsByStat|tablefy|stat|statName|suffix}} | ||
p.tablefy = function(frame) | p.tablefy = function(frame) | ||
local stat = frame.args[1] | local stat = frame.args[1] | ||
| Line 62: | Line 60: | ||
outString = outString.. | outString = outString.. | ||
'|-style="background:'..colorBySlot[tableData[i][4]]..'"\n|'.. | '|-style="background:'..colorBySlot[tableData[i][4]]..'"\n|'.. | ||
frame:expandTemplate{title="Item", args={tableData[i][1],Lang._search_string(tableData[i][1])}}.."||".. | |||
frame:expandTemplate{title="Souls", args={tableData[i][3]}}.."||".. | frame:expandTemplate{title="Souls", args={tableData[i][3]}}.."||".. | ||
'style="text-align:center;"|+'..tableData[i][5]..suffix.."\n" | 'style="text-align:center;"|+'..tableData[i][5]..suffix.."\n" | ||