Changes

no edit summary
Line 1: Line 1: −
local Utils = require('Module:Utils')
+
local U = require('Module:Utils')
local format = require('Module:StringInterpolation').format
   
local NodeInfo = require('Module:NodeInfo')
 
local NodeInfo = require('Module:NodeInfo')
   −
local title_template_simple_event = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center;">${map} ${node}${name}</div>
+
local templates = {
]]
+
    title = [[<div id="${map} ${node}" style="width:700px;text-align:center">${map} ${node}${nameSuffix} ([https://db.kcwiki.moe/drop/map/${world_number}${map_number}/${node}-SAB.html PoiDB])</div>]],
 +
    title_simple = [[<div id="${map} ${node}" style="width:700px;text-align:center">${map} ${node}${nameSuffix}</div>]],
 +
    event_title = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center">${map} ${node}${nameSuffix} ([https://db.kcwiki.moe/drop/map/${world_number}${map_number}/${diff_number}/${node}-SAB.html PoiDB])</div>]],
 +
    event_title_simple = [[<div id="${map} ${node} ${diff}" style="width:700px;text-align:center">${map} ${node}${nameSuffix}</div>]],
 +
}
   −
local title_template_event = [[<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 world_numbers = {
]]
  −
 
  −
local title_template_simple = [[<div id="${map} ${node}" style="width:700px;text-align:center;">${map} ${node}${name}</div>
  −
]]
  −
 
  −
local title_template = [[<div id="${map} ${node}" style="width:700px;text-align:center;">${map} ${node}${name} ([http://db.kcwiki.moe/drop/map/${world_number}${map_number}/${node}-SAB.html PoiDB])</div>
  −
]]
  −
 
  −
local event_numbers = {
   
     ["World 1"] = 1,
 
     ["World 1"] = 1,
 
     ["World 2"] = 2,
 
     ["World 2"] = 2,
Line 33: Line 27:  
}
 
}
   −
local diff_numbers = {
+
local diff_numbers_legacy = {
 
     ["Easy"] = 1,
 
     ["Easy"] = 1,
 
     ["Normal"] = 2,
 
     ["Normal"] = 2,
Line 40: Line 34:  
}
 
}
   −
local diff_numbers2 = {
+
local diff_numbers = {
 
     ["Casual"] = 1,
 
     ["Casual"] = 1,
 
     ["Easy"] = 2,
 
     ["Easy"] = 2,
Line 47: Line 41:  
}
 
}
   −
local node_types = {
+
local simple_node_types = { "Resource", "Storm", "Empty", "Select", "Defense" }
    ["Normal"] = false,
  −
    ["Boss"] = false,
  −
    ["Resource"] = true,
  −
    ["Storm"] = true,
  −
    ["Empty"] = true,
  −
    ["Select"] = true,
  −
    ["Night"] = false,
  −
    ["Aerial"] = false,
  −
    ["Defense"] = true,
  −
    ["Raid"] = false,
  −
    ["NightToDay"] = false,
  −
}
      
function formatTitle(pagename, args)
 
function formatTitle(pagename, args)
   −
     local event, map = string.match(pagename, "([^/]+)/([^/]+)")
+
     local world, map = string.match(pagename, "([^/]+)/([^/]+)")
     event = event or "?"
+
     world = world or "?"
     map = map or "E-?"
+
     map = map or "?"
   −
     local event_number = event_numbers[event] or "?"
+
     local world_number = world_numbers[world] or "?"
   
+
     local map_number = string.match(map:sub(3, 4), "%d") or "?"
     local diffs = (event_number == "?" or event_number >= 41) and diff_numbers2 or diff_numbers
      
     local node = args[1] or "?"
 
     local node = args[1] or "?"
     local diff = diffs[args.diff] and args.diff
+
     local node_type = args[2] or "?"
     local name = args.name and ": " .. args.name or ""
+
     local is_simple_node_type = node_type == "?" or U.ifind(simple_node_types, node_type)
   −
     local map_number = string.match(map:sub(3, 4), "%d") or "?"
+
     local diffs = (world_number == "?" or world_number >= 41) and diff_numbers or diff_numbers_legacy
     local diff_number = diffs[diff]
+
    local diff = diffs[args.diff] and args.diff or "?"
      
+
     local diff_number = diffs[diff] or "?"
     return diff and format{
+
 
         node_types[args[2]] == true and title_template_simple_event or title_template_event,
+
     local nameSuffix = args.name and ": " .. args.name or ""
 +
 
 +
     return U.format{
 +
         is_simple_node_type and
 +
            (diff and templates.event_title_simple or templates.title_simple) or
 +
            (diff and templates.event_title or templates.title),
 
         map = map,
 
         map = map,
 
         node = node,
 
         node = node,
 
         diff = diff,
 
         diff = diff,
         name = name,
+
         nameSuffix = nameSuffix,
         event_number = event_number,
+
         world_number = world_number,
 
         map_number = map_number,
 
         map_number = map_number,
 
         diff_number = diff_number,
 
         diff_number = diff_number,
    } or format{
  −
        node_types[args[2]] == true and title_template_simple or title_template,
  −
        map = map,
  −
        node = node,
  −
        name = name,
  −
        world_number = event_number,
  −
        map_number = map_number,
   
     }
 
     }
   
end
 
end
   −
local NodeInfoInvoke = {}
+
return {
 
+
    Table = function(frame)
function NodeInfoInvoke.Table(frame)
+
        local args = U.getTemplateArgs(frame)
    local args = Utils.getTemplateArgs(frame)
+
        local table_string = NodeInfo:Table(args.explicit)
    local table_string = NodeInfo:Table(args.explicit)
+
        if args.explicit.diff or args.implicit.pagename and args.implicit.pagename:sub(1, 5) == "World" then
    if args.explicit.diff or args.implicit.pagename and args.implicit.pagename:sub(1, 5) == "World" then
+
            return formatTitle(args.implicit.pagename, args.explicit) .. table_string
        return formatTitle(args.implicit.pagename, args.explicit) .. table_string
+
        else
    else
+
            return table_string
        return table_string
+
        end
 
     end
 
     end
end
+
}
 
  −
return NodeInfoInvoke
 
cssedit, gkautomate
7,064

edits