Editing Module:GathererList
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 3: | Line 3: | ||
local lang = mw.getContentLanguage() |
local lang = mw.getContentLanguage() |
||
local plist = require('Module:ProfessionList') |
local plist = require('Module:ProfessionList') |
||
local purge = require('Module:Purge')._purge |
|||
local p = {} |
local p = {} |
||
Line 40: | Line 39: | ||
-- downtime is very important for gathering-type professions |
-- downtime is very important for gathering-type professions |
||
-- initial values, it will be obvious if these get used |
-- initial values, it will be obvious if these get used |
||
item. |
item.downtime = 10000 |
||
item. |
item.nodes = 1 |
||
-- these numbers are |
-- these numbers are based roughly on how far the nodes are from a storage rift or shop or bank |
||
-- 20s per room to traverse |
|||
-- duration and relocation times arent used for fisher, only respawn time and number of nodes |
|||
if string.find(item.pageName,'Globeplant') then |
if string.find(item.pageName,'Globeplant') then |
||
item. |
item.downtime = 40 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Dandelion') then |
elseif string.find(item.pageName,'Dandelion') then |
||
item. |
item.downtime = 20 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Goat Horn') then |
elseif string.find(item.pageName,'Goat Horn') then |
||
item. |
item.downtime = 60 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Apple') then |
elseif string.find(item.pageName,'Apple') then |
||
item. |
item.downtime = 80 |
||
item. |
item.nodes = 6 |
||
elseif string.find(item.pageName,'Leek') then |
elseif string.find(item.pageName,'Leek') then |
||
item. |
item.downtime = 40 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Haleberries') then |
elseif string.find(item.pageName,'Haleberries') then |
||
item.downtime = 50 -- portal back after depositing |
|||
item.productPerHour = 357 |
|||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Rams Horn') then |
elseif string.find(item.pageName,'Rams Horn') then |
||
item. |
item.downtime = 100 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Bitterfruit') then |
elseif string.find(item.pageName,'Bitterfruit') then |
||
item.downtime = 160 -- cannot be banked, must be sold |
|||
item.productPerHour = 245 |
|||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Chestnut') then |
elseif string.find(item.pageName,'Chestnut') then |
||
item. |
item.downtime = 80 |
||
item. |
item.nodes = 6 |
||
elseif string.find(item.pageName,'Bone Spike') then |
elseif string.find(item.pageName,'Bone Spike') then |
||
item. |
item.downtime = 0 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Tangfruit') then |
elseif string.find(item.pageName,'Tangfruit') then |
||
item.downtime = 150 -- cannot be banked, must be sold |
|||
item.productPerHour = 212 |
|||
item. |
item.nodes = 6 |
||
elseif string.find(item.pageName,'Catkin') then |
elseif string.find(item.pageName,'Catkin') then |
||
item. |
item.downtime = 60 |
||
item. |
item.nodes = 6 |
||
elseif string.find(item.pageName,'Femur Shard') then |
elseif string.find(item.pageName,'Femur Shard') then |
||
item. |
item.downtime = 80 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Clover') then |
elseif string.find(item.pageName,'Clover') then |
||
item. |
item.downtime = 40 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Snake Scale') then |
elseif string.find(item.pageName,'Snake Scale') then |
||
item. |
item.downtime = 60 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Orchid') then |
elseif string.find(item.pageName,'Orchid') then |
||
item. |
item.downtime = 60 |
||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Dock Leaf') then |
elseif string.find(item.pageName,'Dock Leaf') then |
||
item.downtime = 80 -- portal back after depositing |
|||
item.productPerHour = nil |
|||
item. |
item.nodes = 8 |
||
elseif string.find(item.pageName,'Sage') then |
elseif string.find(item.pageName,'Sage') then |
||
item.downtime = 120 -- portal to deposit then run back |
|||
item.productPerHour = nil |
|||
item. |
item.nodes = 6 |
||
elseif string.find(item.pageName,'Thistle') then |
elseif string.find(item.pageName,'Thistle') then |
||
item. |
item.downtime = 100 |
||
item. |
item.nodes = 6 |
||
end |
end |
||
-- profitability |
-- profitability |
||
item.profit = item.sellPrice |
item.profit = item.sellPrice |
||
-- products per hour |
|||
item.batch = 24 |
|||
item.durationEffective = item.duration and item.respawn and (item.duration + item.respawn) / item.nodes |
|||
item.productPerHour = item.durationEffective and math.floor(1 / (item.durationEffective + item.downtime / item.batch) * 3600) |
|||
item.productPerHourDropping = item.durationEffective and 1 / (item.durationEffective) * 3600 |
|||
-- properties per hour |
-- properties per hour |
||
Line 125: | Line 132: | ||
local out = mw.html.create('table') |
local out = mw.html.create('table') |
||
:addClass('wikitable sortable') |
:addClass('wikitable sortable') |
||
:tag('caption') |
|||
:wikitext('This list is updated dynamically. '..purge()) |
|||
:done() |
|||
:tag('tr') |
:tag('tr') |
||
:tag('th') |
:tag('th') |