- Welcome to the Kancolle Wiki!
- If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord
Difference between revisions of "Module:NodeInfoInvoke"
Jump to navigation
Jump to search
m |
(support air raid bodes) |
||
Line 1: | Line 1: | ||
− | |||
local Utils = require('Module:Utils') | local Utils = require('Module:Utils') | ||
local format = require('Module:StringInterpolation').format | local format = require('Module:StringInterpolation').format | ||
local NodeInfo = require('Module:NodeInfo') | local NodeInfo = require('Module:NodeInfo') | ||
+ | |||
+ | local title_template_simple = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}: ${name}</div> | ||
+ | ]] | ||
local title_template = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}: ${name} ([http://db.kcwiki.moe/drop/map/${event_number}${map_number}/${diff_number}/${node}-SAB.html PoiDB])</div> | local title_template = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}: ${name} ([http://db.kcwiki.moe/drop/map/${event_number}${map_number}/${diff_number}/${node}-SAB.html PoiDB])</div> | ||
Line 27: | Line 29: | ||
map = map or "E-?" | map = map or "E-?" | ||
− | local node = args[1] and string.match(args[1], "^[A-Z]$") and args[1] or "?" | + | local node = args[1] and (string.match(args[1], "^[A-Z]$") or args[1] == "AB") and args[1] or "?" |
local diff = diff_numbers[args.diff] and args.diff or "?" | local diff = diff_numbers[args.diff] and args.diff or "?" | ||
local name = args.name or "?" | local name = args.name or "?" | ||
Line 36: | Line 38: | ||
return format{ | return format{ | ||
− | title_template, | + | node == "AB" and title_template_simple or title_template, |
map = map, | map = map, | ||
node = node, | node = node, |
Revision as of 06:09, 29 November 2016
Documentation for this module may be created at Module:NodeInfoInvoke/doc
local Utils = require('Module:Utils')
local format = require('Module:StringInterpolation').format
local NodeInfo = require('Module:NodeInfo')
local title_template_simple = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}: ${name}</div>
]]
local title_template = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}: ${name} ([http://db.kcwiki.moe/drop/map/${event_number}${map_number}/${diff_number}/${node}-SAB.html PoiDB])</div>
]]
local event_numbers = {
["Winter 2016 Event"] = 33,
["Spring 2016 Event"] = 34,
["Summer 2016 Event"] = 35,
["Fall 2016 Event"] = 36,
-- ["Winter 2017 Event"] = 37,
}
local diff_numbers = {
["Easy"] = 1,
["Normal"] = 2,
["Hard"] = 3,
}
function formatTitle(pagename, args)
local event, map = string.match(pagename, "([^/]+)/([^/]+)")
event = event or ""
map = map or "E-?"
local node = args[1] and (string.match(args[1], "^[A-Z]$") or args[1] == "AB") and args[1] or "?"
local diff = diff_numbers[args.diff] and args.diff or "?"
local name = args.name or "?"
local event_number = event_numbers[event] or ""
local map_number = string.match(map, "%d") or ""
local diff_number = diff_numbers[diff] or ""
return format{
node == "AB" and title_template_simple or title_template,
map = map,
node = node,
diff = diff,
name = name,
event_number = event_number,
map_number = map_number,
diff_number = diff_number,
}
end
local NodeInfoInvoke = {}
function NodeInfoInvoke.Table(frame)
local args = Utils.getTemplateArgs(frame)
local table_string = NodeInfo:Table(args.explicit)
if args.explicit.diff then
return formatTitle(args.implicit.pagename, args.explicit) .. table_string
else
return table_string
end
end
return NodeInfoInvoke