No edit summary |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
local enemies = {} | local enemies = {} | ||
for _, e in ipairs(edb) do | for _, e in ipairs(edb) do | ||
for _, loot in ipairs(e[ | for _, loot in ipairs(e[9]) do | ||
if loot[1] == name then | if loot[1] == name then | ||
table.insert(enemies, {e[1], (e[11] and e[11] or e[1]), loot[2], loot[3], loot[4], loot[5]}) | table.insert(enemies, {e[1], (e[11] and e[11] or e[1]), loot[2], loot[3], loot[4], loot[5]}) | ||
| Line 15: | Line 15: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Enemy | ! Enemy | ||
! Drop | ! Drop Chance | ||
! Amount | ! Amount | ||
]] | ]] | ||
for _, e in ipairs(enemies) do | for _, e in ipairs(enemies) do | ||
result = result .. [[ | result = result .. [[ | ||
|- class="]] .. u.r(e[5]) .. [[" | |- class="]] .. u.r(e[5]) .. [[" | ||
|]] .. '[[File: ' .. e[2] .. '.png|35px|link=' .. e[1] .. [=[]] | |]] .. '[[File: ' .. e[2] .. '.png|35px|link=' .. u.formatName(e[1]) .. [=[]] | ||
[[]=] .. e[1] .. ']]' .. [[ | [[]=] .. u.formatName(e[1]) .. ']]' .. [[ | ||
|1/ | |]] .. (e[5] == 1 and "Always" or "1/" .. e[5] ) .. (e[6] and '*' or '') .. [[ | ||
|]] .. (e[3] == e[4] and u.c(e[3]) or u.c(e[3]) .. ' - ' .. u.c(e[4])) .. [[ | |]] .. (e[3] == e[4] and u.c(e[3]) or u.c(e[3]) .. ' - ' .. u.c(e[4])) .. [[ | ||
| Line 34: | Line 34: | ||
function p.dropped(frame) | function p.dropped(frame) | ||
return mw.getCurrentFrame():preprocess(p.dropped_from_table(string.lower(frame.args[1] or frame:getParent():getTitle()))) | return mw.getCurrentFrame():preprocess(p.dropped_from_table(string.lower(frame.args[1] or frame:getParent():getTitle()):gsub(" ", "_"))) | ||
end | end | ||
return p | return p | ||
Latest revision as of 14:12, 10 November 2025
Documentation for this module may be created at Module:Items/doc
1 edb = require("Module:Enemies_DB")
2 u = require("Module:Util")
3
4 local p = {}
5 function p.dropped_from_table(name)
6 local enemies = {}
7 for _, e in ipairs(edb) do
8 for _, loot in ipairs(e[9]) do
9 if loot[1] == name then
10 table.insert(enemies, {e[1], (e[11] and e[11] or e[1]), loot[2], loot[3], loot[4], loot[5]})
11 end
12 end
13 end
14 local result = [[
15 {| class="wikitable"
16 ! Enemy
17 ! Drop Chance
18 ! Amount
19 ]]
20 for _, e in ipairs(enemies) do
21 result = result .. [[
22 |- class="]] .. u.r(e[5]) .. [["
23 |]] .. '[[File: ' .. e[2] .. '.png|35px|link=' .. u.formatName(e[1]) .. [=[]]
24 [[]=] .. u.formatName(e[1]) .. ']]' .. [[
25
26 |]] .. (e[5] == 1 and "Always" or "1/" .. e[5] ) .. (e[6] and '*' or '') .. [[
27
28 |]] .. (e[3] == e[4] and u.c(e[3]) or u.c(e[3]) .. ' - ' .. u.c(e[4])) .. [[
29
30 ]]
31 end
32 return result .. '|}'
33 end
34
35 function p.dropped(frame)
36 return mw.getCurrentFrame():preprocess(p.dropped_from_table(string.lower(frame.args[1] or frame:getParent():getTitle()):gsub(" ", "_")))
37 end
38
39 return p
