Module:Skills/Gathering/Sandbox: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1,015: Line 1,015:


function p.getFarmingFoodTable(frame)
function p.getFarmingFoodTable(frame)
local result = '{| class="wikitable sortable stickyHeader"'
    local root = mw.html.create('table')
result = result..'\r\n|- class="headerRow-0"'
        :addClass('wikitable sortable stickyHeader')
result = result..'\r\n!colspan="2"|Crop!!'..Icons.Icon({"Farming", type="skill", notext=true})..' Level'
   
result = result..'!!Healing!!Value'
    -- Header row
    local headerRow = root:tag('tr')
        :addClass('headerRow-0')
    headerRow:tag('th'):attr('colspan', '2'):wikitext('Crop')
    headerRow:tag('th'):wikitext(Icons.Icon({"Farming", type="skill", notext=true}) .. '<br>Level')
    headerRow:tag('th'):wikitext('[[DLC]]')
    headerRow:tag('th'):wikitext('Healing')
    headerRow:tag('th'):wikitext('Value')
   
    local recipes = GameData.getEntities(SkillData.Farming.recipes,
        function(recipe)
            local product = Items.getItemByID(recipe.productId)
            return product ~= nil and product.healsFor ~= nil and product.healsFor > 0
        end
    )
    table.sort(recipes, function(a, b) return a.level < b.level end)
   
    for i, recipe in ipairs(recipes) do
        local product = Items.getItemByID(recipe.productId)
        if product and product.healsFor and product.healsFor > 0 then
            local row = root:tag('tr')
            row:tag('td'):wikitext(Icons.Icon({product.name, type='item', notext='true'}))
            row:tag('td'):wikitext('[[' .. product.name .. ']]')
            row:tag('td'):css('text-align', 'center')
            :wikitext(recipe.level)
            row:tag('td'):css('text-align', 'center')
                    :attr('data-sort-value', Icons.getExpansionID(product.id)) 
                :wikitext(Icons.getDLCColumnIcon(product.id))       
            row:tag('td'):css('text-align', 'right')
                :attr('data-sort-value', product.healsFor)
                :wikitext(Icons.Icon({"Hitpoints", type="skill", notext=true}) .. ' ' .. (product.healsFor * 10))
            row:tag('td'):css('text-align', 'right')
                :attr('data-sort-value', product.sellsFor)
                :wikitext(Items.getValueText(product))
        end
    end
   
    return tostring(root)
end


local recipes = GameData.getEntities(SkillData.Farming.recipes,
function(recipe)
local product = Items.getItemByID(recipe.productId)
return product ~= nil and product.healsFor ~= nil and product.healsFor > 0
end)
table.sort(recipes, function(a, b) return a.level < b.level end)
for i, recipe in ipairs(recipes) do
local product = Items.getItemByID(recipe.productId)
if product ~= nil and product.healsFor ~= nil and product.healsFor > 0 then
result = result..'\r\n|-'
result = result..'\r\n|'..Icons.Icon({product.name, type='item', notext='true'})
result = result..'|| ' .. Icons.getDLCColumnIcon(product.id) .. Icons.Icon({product.name, type='item', noicon=true})
result = result..'||style="text-align:right;"|'..recipe.level
result = result..'||style="text-align:right" data-sort-value="'..product.healsFor..'"|'..Icons.Icon({"Hitpoints", type="skill", notext=true})..' '..(product.healsFor * 10)
result = result..'||style="text-align:right" data-sort-value="'..product.sellsFor..'"|'..Items.getValueText(product)
end
end
result = result..'\r\n|}'
return result
end


function p.getFarmingPlotTable(frame)
function p.getFarmingPlotTable(frame)
2,875

edits