• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Changes

Jump to navigation Jump to search
support multiple boss nodes
Line 79: Line 79:  
end
 
end
   −
-- header args
+
local boss_nodes = {}
local boss = args.boss and string.upper(args.boss) or '?'
+
for boss_node_ in string.gmatch(args.boss or "", args_grammar.comma_list) do
 +
local boss_node = boss_node_:match(args_grammar.node)
 +
if boss_node then
 +
local boss_node = string.upper(boss_node)
 +
if find(boss_nodes, boss_node) then
 +
log('boss node duplicate', boss_node)
 +
else
 +
table.insert(boss_nodes, boss_node)
 +
end
 +
else
 +
log('boss node syntax error', boss_node_)
 +
end
 +
end
 +
if #boss_nodes == 0 then
 +
log('warning', 'no boss node(s) specified')
 +
end
 +
 
 
for node_ in string.gmatch(args.nodes, args_grammar.comma_list) do
 
for node_ in string.gmatch(args.nodes, args_grammar.comma_list) do
 
local node = node_:match(args_grammar.node)
 
local node = node_:match(args_grammar.node)
Line 88: Line 104:  
log('node duplicate', node)
 
log('node duplicate', node)
 
else
 
else
table.insert(tbl.nodes, { name = node, boss = node == boss })
+
local is_boss = find(boss_nodes, node)
 +
table.insert(tbl.nodes, { name = node, boss = is_boss })
 
end
 
end
 
else
 
else
Line 94: Line 111:  
end
 
end
 
end
 
end
if not find(tbl.nodes, boss, 'name') then
+
for _, boss_node in pairs(boss_nodes) do
log('boss node ignored', boss)
+
if not find(tbl.nodes, boss_node, 'name') then
 +
log('boss node ignored', boss_node)
 +
end
 
end
 
end
   Line 233: Line 252:  
local DropList = {}
 
local DropList = {}
   −
function DropList.show(frame)
+
function DropList.show(frame, args_)
local args = getArgs{frame = frame:getParent()}
+
local args = args_ or getArgs{frame = frame:getParent()}
 
return showTable(parseArgs(args))
 
return showTable(parseArgs(args))
 
end
 
end
 +
 +
-- DropList.test = DropList.show(nil, {nodes = "A,B,C", boss="A,B"})
    
return DropList
 
return DropList
cssedit, gkautomate
6,941

edits

Navigation menu