Module:Skills/Gathering
From Melvor Idle
Documentation for this module may be created at Module:Skills/Gathering/doc
--Splitting some functions into here to avoid bloating a single file
local p = {}
local ItemData = mw.loadData('Module:Items/data')
local SkillData = mw.loadData('Module:Skills/data')
local Constants = mw.loadData('Module:Constants/data')
local Shared = require('Module:Shared')
local Items = require('Module:Items')
local Icons = require('Module:Icons')
function p.getAxeTable(frame)
local result = '{| class="wikitable sortable"'
result = result..'\r\n|- class="headerRow-0"'
result = result..'\r\n!colspan="2"|Name!!'..Icons.Icon({'Woodcutting', type='skill', notext=true})..' Level'
result = result..'!!Bonus Speed!!Cost'
for i, axe in Shared.skpairs(SkillData.Woodcutting.Axes) do
if axe.cost ~= nil and axe.cost > 0 then
result = result..'\r\n|-'
result = result..'\r\n|data-sort-value="'..axe.name..'"|'..Icons.Icon({axe.name, type='upgrade', size='50', notext=true})
result = result..'||[['..axe.name..']]'
result = result..'||style="text-align:right"|'..axe.level
result = result..'||style="text-align:right" data-sort-value="'..axe.speed..'"|'..axe.speed..'%'
result = result..'||style="text-align:right" data-sort-value="'..axe.cost..'"|'..Icons.GP(axe.cost)
end
end
result = result..'\r\n|}'
return result
end
function p.getPickaxeTable(frame)
local result = '{| class="wikitable sortable"'
result = result..'\r\n|- class="headerRow-0"'
result = result..'\r\n!colspan="2"|Name!!'..Icons.Icon({'Mining', type='skill', notext=true})..' Level'
result = result..'!!2x Ore Chance!!Bonus Speed!!Cost'
for i, axe in Shared.skpairs(SkillData.Mining.Picks) do
if axe.cost ~= nil and axe.cost > 0 then
result = result..'\r\n|-'
result = result..'\r\n|data-sort-value="'..axe.name..'"|'..Icons.Icon({axe.name, type='upgrade', size='50', notext=true})
result = result..'||[['..axe.name..']]'
result = result..'||style="text-align:right"|'..axe.level
result = result..'||style="text-align:right" data-sort-value="'..axe.bonus..'"|'..axe.bonus..'%'
result = result..'||style="text-align:right" data-sort-value="'..axe.speed..'"|'..axe.speed..'%'
result = result..'||style="text-align:right" data-sort-value="'..axe.cost..'"|'..Icons.GP(axe.cost)
end
end
result = result..'\r\n|}'
return result
end
function p.getRodTable(frame)
local result = '{| class="wikitable sortable"'
result = result..'\r\n|- class="headerRow-0"'
result = result..'\r\n!colspan="2"|Name!!'..Icons.Icon({'Fishing', type='skill', notext=true})..' Level'
result = result..'!!Bonus Speed!!Cost'
for i, rod in Shared.skpairs(SkillData.Fishing.Rods) do
if rod.cost ~= nil and rod.cost > 0 then
result = result..'\r\n|-'
result = result..'\r\n|data-sort-value="'..rod.name..'"|'..Icons.Icon({rod.name, type='upgrade', size='50', notext=true})
result = result..'||[['..rod.name..']]'
result = result..'||style="text-align:right"|'..rod.level
result = result..'||style="text-align:right" data-sort-value="'..rod.speed..'"|'..rod.speed..'%'
result = result..'||style="text-align:right" data-sort-value="'..rod.cost..'"|'..Icons.GP(rod.cost)
end
end
result = result..'\r\n|}'
return result
end
return p