mNo edit summary |
mNo edit summary |
||
Line 22: | Line 22: | ||
-- check if this item (the key) is in the spawns | -- check if this item (the key) is in the spawns | ||
if curPools["items"][p.item] ~= nil then | if curPools["items"][p.item] ~= nil then | ||
output = output .. | output = output .. container .. " Tier " .. _ .. ": " .. tostring(curPools["items"][p.item]["chance"]) .. "% <br>" | ||
end | end | ||
end | end |
Revision as of 22:30, 11 April 2023
This module spits out the containers that specific item can spawn in, including chances. Does not show other special spawns or ground spawns.
Parameters
Must always call the main function. The second argument must be the exact name of an item.
Example
{{#invoke:Item spawns|main|Pure Veltecite}}
local p = {} --p stands for package
p.items = mw.loadJsonData( "User:VeryGreatFrog/sandbox2" )
p.lootPools = mw.loadJsonData( "User:VeryGreatFrog/sandbox3" )
p.containers = mw.loadJsonData( "User:VeryGreatFrog/sandbox4" )
local args = mw.getCurrentFrame().args
for k, v in pairs(p.items) do
if args[1] == v["inGameName"] then
p.item = k
break
end
end
function p.main( frame )
local output = ""
for container, pools in pairs(p.containers) do
for _, pool in ipairs(pools) do
local curPools = p.lootPools[pool]
if curPools then
-- check if this item (the key) is in the spawns
if curPools["items"][p.item] ~= nil then
output = output .. container .. " Tier " .. _ .. ": " .. tostring(curPools["items"][p.item]["chance"]) .. "% <br>"
end
end
end
end
return tostring (output)
end
return p