Editing Module:FisherPassiveList
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 22: | Line 22: | ||
'?Activity coins = coins', |
'?Activity coins = coins', |
||
'?Skill node name = product', |
'?Skill node name = product', |
||
'?Activity input #- = material', |
|||
'sort = Profession Level A', |
'sort = Profession Level A', |
||
'limit = 500' |
'limit = 500' |
||
Line 57: | Line 56: | ||
for _, item in ipairs(results) do |
for _, item in ipairs(results) do |
||
-- profit from selling the items |
|||
--catch badly submitted data |
|||
if not item.givesCoins then |
|||
⚫ | |||
item.product = item.product or '' |
item.product = item.product or '' |
||
⚫ | |||
-- price of bait |
|||
-- query is: there is a shop object page that has this item AND has buy price cannot be "N/A" |
-- query is: there is a shop object page that has this item AND has buy price cannot be "N/A" |
||
local query = mw.smw.ask('[[Sold item::' .. item. |
local query = mw.smw.ask('[[Sold item::' .. item.product .. ']][[Shop sell price::!~N/A]]|?Shop sell price=data|mainlabel=-') |
||
if type(query)=='table' then |
if type(query)=='table' then |
||
-- price is returned as a number |
-- price is returned as a number |
||
item. |
item.coins = tonumber(query[1].data)*0.005 or 0 |
||
else |
else |
||
-- will return nil if the item is not in a shop, or if it is in a shop but can only be sold to the shop |
-- will return nil if the item is not in a shop, or if it is in a shop but can only be sold to the shop |
||
item. |
item.coins = 0 |
||
⚫ | |||
⚫ | |||
end |
end |
||
-- price of fish |
|||
-- query is: there is a shop object page that has this item AND has buy price cannot be "N/A" |
|||
local query = mw.smw.ask('[[Sold item::' .. item.product .. ']][[Shop sell price::!~N/A]]|?Shop sell price=data|mainlabel=-') |
|||
if type(query)=='table' then |
|||
-- price is returned as a number |
|||
item.sell = tonumber(query[1].data)*0.005 or 0 |
|||
else |
|||
-- will return nil if the item is not in a shop, or if it is in a shop but can only be sold to the shop |
|||
item.sell = 0 |
|||
⚫ | |||
-- profitability |
|||
item.profit = item.buy and item.sell and item.sell - item.buy |
|||
item.profitPerXP = item.profit and item.XP and item.profit / item.XP |
|||
-- no downtime for passives |
-- no downtime for passives |
||
Line 92: | Line 78: | ||
-- properties per hour |
-- properties per hour |
||
item.XPPerHour = item.XP and item.productPerHour and math.floor(item.XP * item.productPerHour) |
item.XPPerHour = item.XP and item.productPerHour and math.floor(item.XP * item.productPerHour) |
||
item. |
item.coinsPerHour = item.coins and item.productPerHour and math.floor(item.coins * item.productPerHour) |
||
end |
end |
||
Line 104: | Line 90: | ||
:tag('tr') |
:tag('tr') |
||
:tag('th') |
:tag('th') |
||
:wikitext('[[File: |
:wikitext('[[File:Miner small icon.png|15px]] Level') |
||
:done() |
:done() |
||
:tag('th') |
:tag('th') |
||
:attr{ colspan = '2' } |
:attr{ colspan = '2' } |
||
:wikitext(' |
:wikitext('Mining node') |
||
:done() |
:done() |
||
:tag('th') |
:tag('th') |
||
:attr{ colspan = '3' } |
:attr{ colspan = '3' } |
||
:wikitext(' |
:wikitext('Product') |
||
:done() |
:done() |
||
:tag('th') |
:tag('th') |
||
⚫ | |||
:attr{ colspan = '10' } |
|||
:wikitext('Buy<br>Value') |
|||
⚫ | |||
⚫ | |||
:attr{ colspan = '3' } |
|||
⚫ | |||
:done() |
|||
:tag('th') |
|||
:attr{ colspan = '10' } |
|||
:wikitext('Sell<br>Value') |
|||
:done() |
|||
:tag('th') |
|||
:attr{ colspan = '10' } |
|||
:wikitext('Profit') |
|||
:done() |
:done() |
||
:tag('th') |
:tag('th') |
||
Line 140: | Line 113: | ||
:wikitext('XP/hr') |
:wikitext('XP/hr') |
||
:done() |
:done() |
||
-- :tag('th') |
|||
-- :attr{ colspan = '10' } |
|||
-- :wikitext('Coins/XP') |
|||
-- :done() |
|||
:done() |
:done() |
||
Line 164: | Line 133: | ||
:END() |
:END() |
||
-- |
-- activity |
||
:tag('td') |
:tag('td') |
||
:css{ ['border-right'] = '0', ['text-align'] = 'right', ['max-width'] = '100px' } |
:css{ ['border-right'] = '0', ['text-align'] = 'right', ['max-width'] = '100px' } |
||
Line 173: | Line 142: | ||
:tag('td') |
:tag('td') |
||
:addClass('plinkt-link no-border') |
:addClass('plinkt-link no-border') |
||
:wikitext('[[' .. item.name .. |
:wikitext('[[' .. item.name .. ']]') |
||
:done() |
:done() |
||
-- |
-- products (coins or items) |
||
:tag('td') |
:tag('td') |
||
:css{ ['border-right'] = '0', ['text-align'] = 'right' } |
:css{ ['border-right'] = '0', ['text-align'] = 'right' } |
||
:attr{ ['data-sort-value'] = item. |
:attr{ ['data-sort-value'] = item.name } |
||
:wikitext(' 0.005 × ') |
|||
:done() |
|||
:tag('td') |
|||
:css{ ['border-right'] = '0', ['border-left'] = '0', ['text-align'] = 'center', ['max-width'] = '100px' } |
|||
⚫ | |||
⚫ | |||
:done() |
|||
:tag('td') |
|||
⚫ | |||
:wikitext('[[' .. item.material .. ']]') |
|||
:done() |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
-- fish |
|||
:tag('td') |
|||
:css{ ['border-right'] = '0', ['text-align'] = 'right' } |
|||
:attr{ ['data-sort-value'] = item.product } |
|||
:wikitext('0.005 × ') |
:wikitext('0.005 × ') |
||
:done() |
:done() |
||
:tag('td') |
:tag('td') |
||
:css{ ['border-right |
:css{ ['border-right'] = '0', ['text-align'] = 'center' } |
||
:addClass('plinkt-link no-border') |
:addClass('plinkt-link no-border') |
||
:wikitext('[[File:' .. item.product .. '.png|link=' .. item.product .. '|30x30px]]') |
:wikitext('[[File:' .. item.product .. '.png|link=' .. item.product .. '|30x30px]]') |
||
:done() |
:done() |
||
:tag('td') |
:tag('td') |
||
⚫ | |||
:css{ ['border-left'] = '0', ['text-align'] = 'left' } |
|||
:wikitext('[[' .. item.product .. ']]') |
:wikitext('[[' .. item.product .. ']]') |
||
:done() |
:done() |
||
-- products per hour (items) |
|||
-- economics |
|||
⚫ | |||
:node(currency_cell(item.sell)) |
|||
⚫ | |||
:node(currency_cell(item.profit)) |
|||
⚫ | |||
:node(currency_cell(item.profitPerHour)) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
-- XP |
-- XP |
||
Line 233: | Line 187: | ||
:node(unknown_value_cell) |
:node(unknown_value_cell) |
||
:END() |
:END() |
||
⚫ | |||
-- coins per xp |
|||
-- :node(currency_cell(item.profitPerXP)) |
|||
:done() |
:done() |