4,951
edits
Falterfire (talk | contribs) (Added grouping by agility slot) |
Falterfire (talk | contribs) (Added a getObstacles function which will be used by the in-progress ModifierTables module) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
local ItemSourceTables = require('Module:Items/SourceTables') | local ItemSourceTables = require('Module:Items/SourceTables') | ||
local Icons = require('Module:Icons') | local Icons = require('Module:Icons') | ||
function p.getObstacleByID(obstID) | |||
local result = Shared.clone(SkillData.Agility.Obstacles[obstID + 1]) | |||
return result | |||
end | |||
function p.getObstacle(name) | |||
for i, obst in Shared.skpairs(SkillData.Agility.Obstacles) do | |||
if obst.name == name then | |||
local result = Shared.clone(obst) | |||
result.id = i - 1 | |||
return result | |||
end | |||
end | |||
return nil | |||
end | |||
function p.getObstacles(checkFunc) | |||
local result = {} | |||
for i, obst in Shared.skpairs(SkillData.Agility.Obstacles) do | |||
if checkFunc(obst) then | |||
local newObst = Shared.clone(obst) | |||
newObst.id = i - 1 | |||
table.insert(result, newObst) | |||
end | |||
end | |||
return result | |||
end | |||
function p.getObstacleCourseTable(frame) | function p.getObstacleCourseTable(frame) | ||
Line 25: | Line 53: | ||
if catLog[obst.category] == nil then | if catLog[obst.category] == nil then | ||
local rowspan = obst.category > 1 and 5 or 3 | local rowspan = obst.category > 1 and 5 or 3 | ||
result = result..'rowspan="'..rowspan..'"|'..(obst.category + 1)..'||' | result = result..'rowspan="'..rowspan..'" style="border:1px solid black"|'..(obst.category + 1)..'||' | ||
catLog[obst.category] = true | catLog[obst.category] = true | ||
end | end | ||
Line 42: | Line 70: | ||
--After that, adding the bonuses | --After that, adding the bonuses | ||
for bonusName, bonusValue in pairs(obst.modifiers) do | for bonusName, bonusValue in pairs(obst.modifiers) do | ||
table.insert(bonuses, Constants._getModifierText(bonusName, bonusValue)) | |||
end | end | ||
if Shared.tableCount(bonuses) == 0 then | if Shared.tableCount(bonuses) == 0 then | ||
Line 96: | Line 118: | ||
local bonuses = {} | local bonuses = {} | ||
for bonusName, bonusValue in pairs(pill.modifiers) do | for bonusName, bonusValue in pairs(pill.modifiers) do | ||
table.insert(bonuses, Constants._getModifierText(bonusName, bonusValue)) | |||
end | end | ||
if Shared.tableCount(bonuses) == 0 then | if Shared.tableCount(bonuses) == 0 then | ||
Line 121: | Line 137: | ||
result = result..'\r\n|}' | result = result..'\r\n|}' | ||
return result | |||
end | |||
function p.getObstaclesForItem(itemID) | |||
local result = {} | |||
for i, obst in Shared.skpairs(SkillData.Agility.Obstacles) do | |||
for j, costLine in Shared.skpairs(obst.cost.items) do | |||
if costLine[1] == itemID then | |||
table.insert(result, obst) | |||
end | |||
end | |||
end | |||
for i, obst in Shared.skpairs(SkillData.Agility.Pillars) do | |||
for j, costLine in Shared.skpairs(obst.cost.items) do | |||
if costLine[1] == itemID then | |||
table.insert(result, obst) | |||
end | |||
end | |||
end | |||
return result | return result |