570
edits
(_getDigSiteArtefactValue: Amend calculation of +1 and double consumable bonus GP values) |
m (Fixed shop link) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
local Shared = require('Module:Shared') | local Shared = require('Module:Shared') | ||
local Common = require('Module:Common') | |||
local Constants = require('Module:Constants') | local Constants = require('Module:Constants') | ||
local GameData = require('Module:GameData') | local GameData = require('Module:GameData') | ||
Line 33: | Line 34: | ||
end | end | ||
return nil | return nil | ||
end | |||
function p._getArtefactType(item) | |||
if item.isArtefact then | |||
if item.isGenericArtefact then | |||
return 'Generic' | |||
elseif item.validSlots ~= nil then | |||
local searchSlots = { 'Consumable', 'Gem' } | |||
for i, slotID in ipairs(searchSlots) do | |||
if Shared.contains(item.validSlots, slotID) then | |||
return Common.getEquipmentSlotLink(slotID) | |||
end | |||
end | |||
end | |||
return 'Other' | |||
end | |||
end | end | ||
Line 75: | Line 92: | ||
end | end | ||
table.insert(result, '||'..thisItem | table.insert(result, '||' .. p._getArtefactType(thisItem) .. '') | ||
table.insert(result, '||style="text-align:right" data-sort-value="'..row.maxQuantity..'"|') | table.insert(result, '||style="text-align:right" data-sort-value="'..row.maxQuantity..'"|') | ||
if row.maxQuantity > row.minQuantity then | if row.maxQuantity > row.minQuantity then | ||
Line 117: | Line 134: | ||
table.insert(result, '\r\n|}') | table.insert(result, '\r\n|}') | ||
table.insert(result, '\r\nThe average value of one action is '..Icons.GP(Shared.round(lootValue, 2, 0))..' | table.insert(result, '\r\nThe average value of one action is '..Icons.GP(Shared.round(lootValue, 2, 0))..', ') | ||
table.insert(result, ' | table.insert(result, 'increasing to '..Icons.GP(Shared.round(lootValue + plusOneMinimumRefinementValue, 2, 0))..' when the +1 Minimum Items refinement is active.') | ||
if doubleConsumableRefinementValue > 0 then | if doubleConsumableRefinementValue > 0 then | ||
table.insert(result, '\r\n\r\nThe average value of one action with the x2 Consumables refinement is '..Icons.GP(Shared.round(lootValue + doubleConsumableRefinementValue, 2, 0))..'.') | table.insert(result, '\r\n\r\nThe average value of one action with the x2 Consumables refinement is '..Icons.GP(Shared.round(lootValue + doubleConsumableRefinementValue, 2, 0))..'.') | ||
Line 190: | Line 207: | ||
return table.concat(resultArray, '') | return table.concat(resultArray, '') | ||
end | |||
function p._getMuseumRewards(reward) | |||
local rewardTable = {} | |||
local equipment = nil | |||
if reward.gp ~= nil then | |||
table.insert(rewardTable, Icons.GP(reward.gp)) | |||
end | |||
if reward.items ~= nil then | |||
for _, reward in ipairs(reward.items) do | |||
local item = Items.getItemByID(reward.id) | |||
table.insert(rewardTable, Icons.Icon({item.name, type='item', qty=reward.quantity})) | |||
if item.category == 'Archaeology' then | |||
equipment = item.name | |||
end | |||
end | |||
end | |||
if reward.modifiers ~= nil then | |||
for modifier, value in pairs(reward.modifiers) do | |||
table.insert(rewardTable, Constants._getModifierText(modifier, value, true)) | |||
end | |||
end | |||
if equipment ~= nil then | |||
table.insert(rewardTable, 'Unlocks the ability to purchase '..equipment..' from the '..Icons.Icon({'Shop'})) | |||
end | |||
return rewardTable | |||
end | |||
function p.getMuseumRewardsTable(frame) | |||
-- Build the table | |||
local resultTable = mw.html.create('table') | |||
resultTable:addClass('wikitable sortable lighttable') | |||
resultTable:tag('tr'):addClass('headerRow-0') | |||
:tag('th'):wikitext('Donations') | |||
:tag('th'):wikitext('Rewards') | |||
for _, reward in ipairs(SkillData.Archaeology.museumRewards) do | |||
local tr = mw.html.create('tr') | |||
tr:tag('td'):wikitext(reward.museumCount) | |||
tr:tag('td'):wikitext(table.concat(p._getMuseumRewards(reward), '<br/>')) | |||
resultTable:node(tr) | |||
end | |||
return tostring(resultTable) | |||
end | end | ||
return p | return p |
edits