Module:EncounterTable: Difference between revisions

461 bytes added ,  04:34, 20 November 2021
add option to hide quanitty
(add favilink support?)
(add option to hide quanitty)
Line 8: Line 8:
--# Interface
--# Interface


function EncounterTable.splitEncounterTableArgs(row)
function EncounterTable.splitEncounterTableArgs(row, hideQuantity)
     local TABLE_ARGS = {'table', 'item', 'quantity', 'weight'}
     local TABLE_ARGS = {}
    if hideQuantity then
        TABLE_ARGS = {'table', 'item', 'weight'}
    else
        TABLE_ARGS = {'table', 'item', 'quantity', 'weight'}
    end
     return TextUtility.splitArgs(row, TABLE_ARGS)
     return TextUtility.splitArgs(row, TABLE_ARGS)
end
end
Line 21: Line 26:
     local pick = args.roll or 'once'
     local pick = args.roll or 'once'
     local bFavilinkId = false
     local bFavilinkId = false
    local bHideQuantity = (args.hidequantity ~= nil)
     if args.favilinkid == 'yes' then bFavilinkId = true end
     if args.favilinkid == 'yes' then bFavilinkId = true end
     local bSamePageLink = false
     local bSamePageLink = false
Line 69: Line 75:


         -- dice tooltip quantity
         -- dice tooltip quantity
 
        if not bHideQuantity then
        finalTable[i].quantity = frame:expandTemplate{
            finalTable[i].quantity = frame:expandTemplate{
            title = 'Dice tooltip',
                title = 'Dice tooltip',
            args = {row.quantity},
                args = {row.quantity},
        }
            }
 
        end
         --finalTable[i].quantity = row.quantity
         --finalTable[i].quantity = row.quantity
         finalTable[i].weight = row.weight
         finalTable[i].weight = row.weight
Line 95: Line 101:
     local TABLE_HEADER = '<tr><th>Item</th><th>Quantity</th><th>Weight</th><th>Chance</th></tr>'
     local TABLE_HEADER = '<tr><th>Item</th><th>Quantity</th><th>Weight</th><th>Chance</th></tr>'
     local tableRows = ''
     local tableRows = ''
 
    local headerhtml = ''
    if bHideQuantity then
        headerhtml = ('<tr><td>%s</td><td>%s</td><td>%s</td></tr>'):format(entry.item, entry.weight, entry.chance)
    else
        headerhtml = ('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'):format(entry.item, entry.quantity, entry.weight, entry.chance)
    end
     for _, entry in ipairs(final) do
     for _, entry in ipairs(final) do
         tableRows = tableRows .. ('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'):format(entry.item, entry.quantity, entry.weight, entry.chance)
         tableRows = tableRows .. headerhtml
     end
     end