3,132
edits
(getEquipRequirementRow: Support requirement type 'AbyssDepthCompletion') |
(Added soul points to ItemBox) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 27: | Line 27: | ||
-- List of item IDs that should typically not be included within outputs, usually | -- List of item IDs that should typically not be included within outputs, usually | ||
-- because they are not fully implemented despite existing within the game data | -- because they are not fully implemented despite existing within the game data | ||
p.HiddenItems = {'melvorTotH:Meteorite_Dust'} | p.HiddenItems = {} | ||
local function populateHiddenItems() | |||
local hiddenItems = GameData.getEntities('items', | |||
function(item) | |||
return item.name == nil or Shared.contains({'melvorTotH:Meteorite_Dust'}, item.id) | |||
end | |||
) | |||
for _, item in ipairs(hiddenItems) do | |||
table.insert(p.HiddenItems, item.id) | |||
end | |||
end | |||
populateHiddenItems() | |||
function p.getItemByID(ID) | function p.getItemByID(ID) | ||
Line 39: | Line 51: | ||
function p.getItems(checkFunc) | function p.getItems(checkFunc) | ||
return GameData.getEntities('items', checkFunc) | return GameData.getEntities('items', | ||
function(obj) | |||
return not Shared.contains(p.HiddenItems, obj.id) and checkFunc(obj) | |||
end | |||
) | |||
end | end | ||
Line 191: | Line 207: | ||
end | end | ||
local result = p._getItemStat(item, StatName, ZeroIfNil) | local result = p._getItemStat(item, StatName, ZeroIfNil) | ||
if formatNum then result = | if formatNum then result = Num.formatnum(result) end | ||
return result | return result | ||
end | end | ||
Line 378: | Line 394: | ||
val1, val2 = levelReqs[1][skillID] or 0, levelReqs[2][skillID] or 0 | val1, val2 = levelReqs[1][skillID] or 0, levelReqs[2][skillID] or 0 | ||
if val1 ~= val2 then | if val1 ~= val2 then | ||
table.insert(changeArray, | table.insert(changeArray, Num.numStrWithSign(val1 - val2) .. ' ' .. Icons.Icon({skillData.data.name, type='skill', notext=true}) .. (statDef.suffix or '')) | ||
end | end | ||
end | end | ||
Line 385: | Line 401: | ||
val1, val2 = equipStats[1][statDef.stat] or 0, equipStats[2][statDef.stat] or 0 | val1, val2 = equipStats[1][statDef.stat] or 0, equipStats[2][statDef.stat] or 0 | ||
if val1 ~= val2 then | if val1 ~= val2 then | ||
table.insert(changeArray, | table.insert(changeArray, Num.numStrWithSign(val1 - val2) .. (statDef.suffix or '')) | ||
end | end | ||
end | end | ||
Line 457: | Line 473: | ||
-- For Summoning combat familiars, show the max hit | -- For Summoning combat familiars, show the max hit | ||
if item.equipmentStats ~= nil and item.equipmentStats.summoningMaxhit ~= nil then | if item.equipmentStats ~= nil and item.equipmentStats.summoningMaxhit ~= nil then | ||
table.insert(resultPart, "\r\n|-\r\n|'''Max Hit:''' " .. | table.insert(resultPart, "\r\n|-\r\n|'''Max Hit:''' " .. Num.formatnum(item.equipmentStats.summoningMaxhit * 10)) | ||
end | end | ||
--For potions, show the number of charges | --For potions, show the number of charges | ||
Line 470: | Line 486: | ||
if item.prayerPoints ~= nil then | if item.prayerPoints ~= nil then | ||
table.insert(resultPart, "\r\n|-\r\n|'''"..Icons.Icon({'Prayer', type='skill'}).." Points:''' "..item.prayerPoints) | table.insert(resultPart, "\r\n|-\r\n|'''"..Icons.Icon({'Prayer', type='skill'}).." Points:''' "..item.prayerPoints) | ||
end | |||
if item.soulPoints ~= nil then | |||
table.insert(resultPart, "\r\n|-\r\n|'''"..Icons.Icon({'Prayer', 'Soul', type='item', img='Lesser Soul'}).." Points:''' "..item.soulPoints) | |||
end | end | ||
--For items that provide runes, show which runes are provided | --For items that provide runes, show which runes are provided | ||
Line 639: | Line 658: | ||
["dataKey"] = 'abyssDepths', | ["dataKey"] = 'abyssDepths', | ||
["IDKey"] = 'depthID', | ["IDKey"] = 'depthID', | ||
["imgType"] = ' | ["imgType"] = 'combatArea' | ||
} | } | ||
} | } | ||
Line 650: | Line 669: | ||
local areaIcon = Icons.Icon({area.name, type=reqDefn.imgType, notext=true}) | local areaIcon = Icons.Icon({area.name, type=reqDefn.imgType, notext=true}) | ||
result = '\r\n!style="text-align:right;"| '..areaIcon..' Completions' | result = '\r\n!style="text-align:right;"| '..areaIcon..' Completions' | ||
result = result..'\r\n|style="text-align:right;"| '.. | result = result..'\r\n|style="text-align:right;"| '..Num.formatnum(req.count) | ||
end | end | ||
end | end | ||
Line 693: | Line 712: | ||
table.insert(resultPart, '\r\n|-\r\n!style="text-align:right;"| Attack Speed') | table.insert(resultPart, '\r\n|-\r\n!style="text-align:right;"| Attack Speed') | ||
table.insert(resultPart, '\r\n|style="text-align:right;"| ' .. | table.insert(resultPart, '\r\n|style="text-align:right;"| ' .. Num.round(p._getItemStat(item, 'attackSpeed', true) / 1000, 3, 1) .. 's') | ||
table.insert(resultPart, '\r\n!style="text-align:right;"| ' .. ico['Defence'] .. ' Defence Bonus') | table.insert(resultPart, '\r\n!style="text-align:right;"| ' .. ico['Defence'] .. ' Defence Bonus') | ||
table.insert(resultPart, '\r\n|style="text-align:right;"| ' .. p._getItemStat(item, 'meleeDefenceBonus', true)) | table.insert(resultPart, '\r\n|style="text-align:right;"| ' .. p._getItemStat(item, 'meleeDefenceBonus', true)) |