No edit summary |
No edit summary Tag: Reverted |
||
| Line 1: | Line 1: | ||
u = require("Module:Util") | |||
edb = require("Module:Breeding_Enemy_DB") | |||
adb = require("Module:Breeding_Area_DB") | |||
lt = require("Module:Loot_Table") | |||
inspect = require("Module:InspectLua") | |||
local p = {} | |||
function p.enemy_table(enemy) | |||
local result = [[]] | |||
if next(enemy[6]) == nil then | |||
return '' | |||
end | |||
return lt.lt(enemy[1],enemy[6]) | |||
end | |||
- | function p.enemy_stats(enemy) | ||
return [[{{{!}} class="article-table" | |||
! Enemy | |||
!]] .. '[[File: Heart.png{{!}}20px]]' .. [[ | |||
!]] .. '[[File: Attack.png{{!}}20px]]' .. [[ | |||
{{!}}- | |||
{{!}}]] .. '[[' .. [[File:Breeding]] .. lt.formatName(enemy[1]) .. 'Monster.png' .. [[{{!}}40px{{!}}link=]] .. enemy[1] .. ']]' .. [[ | |||
{ | |||
{{!}}]] .. enemy[4] .. [[ | |||
} | |||
{{!}}]] .. enemy[3] .. [[ | |||
{{!}}} | |||
]] .. p.enemy_table(enemy) | |||
end | |||
function p.enemy_zone_tabber(areaEnemies) | |||
local enemies = {} | |||
local result = "" | |||
if type(areaEnemies) == 'string' then | |||
for _, enemy in ipairs(edb) do | |||
if enemy[2] == areaEnemies then | |||
table.insert(enemies, enemy) | |||
end | |||
end | |||
else | |||
enemies = areaEnemies | |||
end | |||
for index, e in ipairs(enemies) do | |||
result = result .. [[<htmltag tagname="input" type="radio" class="dTabsRadio" name="]] .. e[2] .. [[" id="]] .. e[1] .. [["]] | |||
if index == 1 then | |||
result = result .. ' checked' | |||
end | |||
result = result .. [[></htmltag><htmltag tagname="label" for="]] .. e[1] .. [[" class="dTabsLabel">]] .. e[1] .. [[</htmltag> | |||
<div class="dTabsContent dTabsSubcontent"> | |||
]] .. p.enemy_stats(e):gsub('|', '{{!}}') .. [[ | |||
</div>]] | |||
end | |||
return result | |||
end | |||
function p.enemy_all_tabber() | |||
local result = [[<div class="dTabs">]] | |||
for idx, a in ipairs(adb) do | |||
result = result .. '<htmltag tagname="input" type="radio" class="dTabsRadio" name="Areas" id="' .. a[1] .. '"' | |||
if idx == 1 then | |||
result = result .. ' checked' | |||
end | |||
result = result .. [[></htmltag><htmltag tagname="label" for="]] .. a[1] .. [[" class="dTabsLabel">]] .. a[1] .. [[</htmltag> | |||
<div class="dTabsContent">]] | |||
result = result .. p.enemy_zone_tabber(a[1]) .. [[</div>]] | |||
end | |||
return result .. [[</div>]] | |||
end | |||
function p.enemy_page_before(name) | |||
local enemy = nil | |||
local l = '' | |||
for _, e in ipairs(edb) do | |||
l = l .. inspect(e) | |||
if e[1] == name then | |||
enemy = e | |||
break | |||
end | |||
end | |||
return l | |||
end | |||
function p.enemy_page_after(name) | |||
local enemy = nil | |||
if type(name) == 'table' then | |||
enemy = name | |||
name = name[1] | |||
else | |||
for _, e in ipairs(edb) do | |||
if e[1] == name then | |||
enemy = e | |||
break | |||
end | |||
end | |||
end | |||
return [[{{Navbox Breeding Monsters}} | |||
]] .. '[[Category:Breeding_' .. enemy[2] .. ']] [[Category:Breeding_Monsters]]' .. [[ | |||
]] | |||
end | |||
return p | |||
Revision as of 19:48, 19 January 2025
Documentation for this module may be created at Module:Breeding Enemy DB/doc
u = require("Module:Util")
edb = require("Module:Breeding_Enemy_DB")
adb = require("Module:Breeding_Area_DB")
lt = require("Module:Loot_Table")
inspect = require("Module:InspectLua")
local p = {}
function p.enemy_table(enemy)
local result = [[]]
if next(enemy[6]) == nil then
return ''
end
return lt.lt(enemy[1],enemy[6])
end
function p.enemy_stats(enemy)
return [[{{{!}} class="article-table"
! Enemy
!]] .. '[[File: Heart.png{{!}}20px]]' .. [[
!]] .. '[[File: Attack.png{{!}}20px]]' .. [[
{{!}}-
{{!}}]] .. '[[' .. [[File:Breeding]] .. lt.formatName(enemy[1]) .. 'Monster.png' .. [[{{!}}40px{{!}}link=]] .. enemy[1] .. ']]' .. [[
{{!}}]] .. enemy[4] .. [[
{{!}}]] .. enemy[3] .. [[
{{!}}}
]] .. p.enemy_table(enemy)
end
function p.enemy_zone_tabber(areaEnemies)
local enemies = {}
local result = ""
if type(areaEnemies) == 'string' then
for _, enemy in ipairs(edb) do
if enemy[2] == areaEnemies then
table.insert(enemies, enemy)
end
end
else
enemies = areaEnemies
end
for index, e in ipairs(enemies) do
result = result .. [[<htmltag tagname="input" type="radio" class="dTabsRadio" name="]] .. e[2] .. [[" id="]] .. e[1] .. [["]]
if index == 1 then
result = result .. ' checked'
end
result = result .. [[></htmltag><htmltag tagname="label" for="]] .. e[1] .. [[" class="dTabsLabel">]] .. e[1] .. [[</htmltag>
<div class="dTabsContent dTabsSubcontent">
]] .. p.enemy_stats(e):gsub('|', '{{!}}') .. [[
</div>]]
end
return result
end
function p.enemy_all_tabber()
local result = [[<div class="dTabs">]]
for idx, a in ipairs(adb) do
result = result .. '<htmltag tagname="input" type="radio" class="dTabsRadio" name="Areas" id="' .. a[1] .. '"'
if idx == 1 then
result = result .. ' checked'
end
result = result .. [[></htmltag><htmltag tagname="label" for="]] .. a[1] .. [[" class="dTabsLabel">]] .. a[1] .. [[</htmltag>
<div class="dTabsContent">]]
result = result .. p.enemy_zone_tabber(a[1]) .. [[</div>]]
end
return result .. [[</div>]]
end
function p.enemy_page_before(name)
local enemy = nil
local l = ''
for _, e in ipairs(edb) do
l = l .. inspect(e)
if e[1] == name then
enemy = e
break
end
end
return l
end
function p.enemy_page_after(name)
local enemy = nil
if type(name) == 'table' then
enemy = name
name = name[1]
else
for _, e in ipairs(edb) do
if e[1] == name then
enemy = e
break
end
end
end
return [[{{Navbox Breeding Monsters}}
]] .. '[[Category:Breeding_' .. enemy[2] .. ']] [[Category:Breeding_Monsters]]' .. [[
]]
end
return p