4,951
edits
(_getModifierTable: Amend Agility pillar links to use anchors) |
Falterfire (talk | contribs) (Attempting to add Points of Interest to Modifier tables) |
||
Line 13: | Line 13: | ||
local Shop = require('Module:Shop') | local Shop = require('Module:Shop') | ||
local Icons = require('Module:Icons') | local Icons = require('Module:Icons') | ||
local Cartography = require('Module:Skills/Cartography') | |||
--First up, functions to get all the things in a category that have a given modifier: | --First up, functions to get all the things in a category that have a given modifier: | ||
Line 195: | Line 196: | ||
end) | end) | ||
return upgradeList | return upgradeList | ||
end | |||
function p.getPOIsWithModifier(modifiers, skill, getOpposites) | |||
if type(modifiers) == 'string' then | |||
modifiers = {modifiers} | |||
end | |||
local POIList = Cartography.getPointsOfInterest( | |||
function(POI) | |||
if POI.activeModifiers == nil then | |||
return false | |||
end | |||
for i, mod in ipairs(modifiers) do | |||
if p.getModifierValue(POI.activeModifiers, mod, skill, getOpposites) ~= 0 then | |||
return true | |||
end | |||
end | |||
return false | |||
end) | |||
return POIList | |||
end | end | ||
Line 437: | Line 459: | ||
end | end | ||
row.val = totalVal | row.val = totalVal | ||
if not hasOtherModifiers and string.len(row.otherModifiers) > 0 then | |||
hasOtherModifiers = true | |||
end | |||
table.insert(tableArray, row) | |||
end | |||
local POIList = p.getPOIsWithModifier(modifiers, skill, getOpposites) | |||
for i, POI in ipairs(POIList) do | |||
local row = {} | |||
row.name = POI.name | |||
row.icon = Icons.Icon({POI.name, type='poi'}) | |||
row.expIcon = Icons.getExpansionIcon(POI.id) | |||
row.type = '[[Cartography|Point of Interest]]' | |||
row.typeText = 'Point of Interest' | |||
local totalVal = 0 | |||
for i, mod in ipairs(modifiers) do | |||
totalVal = totalVal + p.getModifierValue(POI.activeModifiers, mod, skill, getOpposites) | |||
end | |||
row.val = totalVal | |||
row.modifierText, row.otherModifiers = getModText(POI.activeModifiers) | |||
if not hasOtherModifiers and string.len(row.otherModifiers) > 0 then | if not hasOtherModifiers and string.len(row.otherModifiers) > 0 then |