Module:Skills/Gathering: Difference between revisions

updated getRodTable
(Changed format on getAxeTable slightly)
(updated getRodTable)
Line 10: Line 10:


function p.getAxeTable(frame)
function p.getAxeTable(frame)
   local axeArray = {}
   local toolArray = {}
   for i, upgrade in Shared.skpairs(SkillData.Shop.SkillUpgrades) do
   for i, upgrade in Shared.skpairs(SkillData.Shop.SkillUpgrades) do
     if Shared.contains(upgrade.name, 'Axe') then
     if Shared.contains(upgrade.name, 'Axe') then
       table.insert(axeArray, upgrade)
       table.insert(toolArray, upgrade)
     end
     end
   end
   end
Line 25: Line 25:
   local total = 0
   local total = 0


   for i, axe in Shared.skpairs(axeArray) do
   for i, tool in Shared.skpairs(toolArray) do
     result = result..'\r\n|-'
     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..'\r\n|data-sort-value="'..tool.name..'"|'..Icons.Icon({tool.name, type='upgrade', size='50', notext=true})
     result = result..'||[['..axe.name..']]'
     result = result..'||[['..tool.name..']]'
     local level = 1
     local level = 1
     if axe.unlockRequirements ~= nil and axe.unlockRequirements.skillLevel ~= nil then
     if tool.unlockRequirements ~= nil and tool.unlockRequirements.skillLevel ~= nil then
       --Gonna be lazy and assume there's only the one skill level and it's the one we care about
       --Gonna be lazy and assume there's only the one skill level and it's the one we care about
       level = axe.unlockRequirements.skillLevel[1][2]
       level = tool.unlockRequirements.skillLevel[1][2]
     end
     end
     result = result..'||style="text-align:right"|'..level
     result = result..'||style="text-align:right"|'..level
     result = result..'||style="text-align:right" data-sort-value="'..axe.cost.gp..'"|'..Icons.GP(axe.cost.gp)
     result = result..'||style="text-align:right" data-sort-value="'..tool.cost.gp..'"|'..Icons.GP(tool.cost.gp)


     local cutTime = axe.contains.modifiers.decreasedSkillIntervalPercent[1][2]
     local cutTime = tool.contains.modifiers.decreasedSkillIntervalPercent[1][2]
     total = total + cutTime
     total = total + cutTime
     result = result..'||style="text-align:right"|-'..cutTime..'%'
     result = result..'||style="text-align:right"|-'..cutTime..'%'
Line 70: Line 70:


function p.getRodTable(frame)
function p.getRodTable(frame)
   local result = '{| class="wikitable sortable"'
  local toolArray = {}
  for i, upgrade in Shared.skpairs(SkillData.Shop.SkillUpgrades) do
    if Shared.contains(upgrade.name, 'Fishing Rod') then
      table.insert(toolArray, upgrade)
    end
  end
 
   local result = '{| class="wikitable"'
  result = result..'\r\n!colspan="4"| !!colspan="2"|Catch Time Decrease'
   result = result..'\r\n|- class="headerRow-0"'
   result = result..'\r\n|- class="headerRow-0"'
   result = result..'\r\n!colspan="2"|Name!!'..Icons.Icon({'Fishing', type='skill', notext=true})..' Level'
   result = result..'\r\n!colspan="2"|Name!!'..Icons.Icon({'Fishing', type='skill', notext=true})..' Level'
   result = result..'!!Bonus Speed!!Cost'
   result = result..'!!Cost!!This Rod!!Total'
 
  local total = 0


   for i, rod in Shared.skpairs(SkillData.Fishing.Rods) do
   for i, tool in Shared.skpairs(toolArray) do
     if rod.cost ~= nil and rod.cost > 0 then
     result = result..'\r\n|-'
      result = result..'\r\n|-'
    result = result..'\r\n|data-sort-value="'..tool.name..'"|'..Icons.Icon({tool.name, type='upgrade', size='50', notext=true})
      result = result..'\r\n|data-sort-value="'..rod.name..'"|'..Icons.Icon({rod.name, type='upgrade', size='50', notext=true})
    result = result..'||[['..tool.name..']]'
      result = result..'||[['..rod.name..']]'
    local level = 1
      result = result..'||style="text-align:right"|'..rod.level
    if tool.unlockRequirements ~= nil and tool.unlockRequirements.skillLevel ~= nil then
       result = result..'||style="text-align:right" data-sort-value="'..rod.speed..'"|'..rod.speed..'%'
       --Gonna be lazy and assume there's only the one skill level and it's the one we care about
       result = result..'||style="text-align:right" data-sort-value="'..rod.cost..'"|'..Icons.GP(rod.cost)
       level = tool.unlockRequirements.skillLevel[1][2]
     end
     end
    result = result..'||style="text-align:right"|'..level
    result = result..'||style="text-align:right" data-sort-value="'..tool.cost.gp..'"|'..Icons.GP(tool.cost.gp)
    local cutTime = tool.contains.modifiers.decreasedSkillIntervalPercent[1][2]
    total = total + cutTime
    result = result..'||style="text-align:right"|-'..cutTime..'%'
    result = result..'||style="text-align:right"|-'..total..'%'
   end
   end