Line 19: |
Line 19: |
| ${en_cell}| ${note}]=], | | ${en_cell}| ${note}]=], |
| note = [[|- | | note = [[|- |
− | | colspan="5" |${note}]], | + | | colspan="5" | ⇧ ${note}]], |
| } | | } |
| | | |
| local lines = { | | local lines = { |
− | "Introduction", "Library", "Secretary 1", "Secretary 2", "Secretary 3", "Idle", "Secretary Married", "Wedding", | + | { name = "Introduction" }, |
− | "Looking At Scores", "Joining A Fleet", "Equipment 1", "Equipment 2", "Equipment 3", "Supply", {extra = "Modernization"}, | + | { name = "Library" }, |
− | "Docking Minor", "Docking Major", "Docking Complete", "Construction", | + | { name = "Secretary 1" }, |
− | "Returning From Sortie", "Starting A Sortie", "Battle Start", "Attack", "Night Battle", "Night Attack", "MVP", | + | { name = "Secretary 2" }, |
− | "Minor Damage 1", "Minor Damage 2", "Major Damage", "Sunk", | + | { name = "Secretary 3" }, |
| + | { name = "Idle" }, |
| + | { name = "Secretary Married", spoiler = true }, |
| + | { name = "Wedding", spoiler = true }, |
| + | { name = "Looking At Scores" }, |
| + | { name = "Joining A Fleet" }, |
| + | { name = "Equipment 1" }, |
| + | { name = "Equipment 2" }, |
| + | { name = "Equipment 3", note = "shared with expedition selection, resource collection, instant repair and development" }, |
| + | { name = "Supply" }, |
| + | { name = "Modernization", extra = true, note = "shared with remodeling line (modernization/remodeling lines are only present in [[KanColle Kai]])" }, |
| + | { name = "Docking Minor" }, |
| + | { name = "Docking Major" }, |
| + | { name = "Docking Complete" }, |
| + | { name = "Construction" }, |
| + | { name = "Returning From Sortie" }, |
| + | { name = "Starting A Sortie" }, |
| + | { name = "Battle Start" }, |
| + | { name = "Attack", note = "shared with [[Combat#Artillery_Spotting|day]]/[[Combat#Night_Special_Attack_Modifier|night]] special attacks, [[Expedition#Support_expedition|support expedition team]] arrival" }, |
| + | { name = "Night Battle" }, |
| + | { name = "Night Attack" }, |
| + | { name = "MVP" }, |
| + | { name = "Minor Damage 1" }, |
| + | { name = "Minor Damage 2" }, |
| + | { name = "Major Damage" }, |
| + | { name = "Sunk", spoiler = true }, |
| } | | } |
| | | |
− | local notes = { | + | local audio_suffixes = { |
− | ["Equipment 3"] = "Equipment 3 is shared with expedition selection, resource collection, instant repair and development.", | + | ["Kai"] = "Kai", |
− | ["Night Attack"] = "Night attack is shared with [[Combat#Artillery_Spotting|Artillery Spotting]], [[Combat#Night_Special_Attack_Modifier|Night Special Attack]] and [[Expedition#Support_expedition|support expedition team]] arrival.", | + | ["Kai Ni"] = "Kai2", |
− | ["Modernization"] = "Modernization is shared with remodeling line.",
| |
− | }
| |
− | | |
− | local spoilers = {
| |
− | "Secretary Married", "Wedding", "Sunk",
| |
| } | | } |
| | | |
| function format_text(text, line) | | function format_text(text, line) |
− | return text and spoilers[line] and format{templates.spoiler, text = text} or text or "" | + | return text and line.spoiler and format{templates.spoiler, text = text} or text and text .. format{templates.spoiler, text = text} or "" |
| end | | end |
| | | |
− | function insertRow(result, remodel, args, line, extra) | + | function insertRow(result, remodel, args, line) |
− | local remodel_string = remodel == 0 and "" or "/" .. remodel | + | local remodel_string = remodel or "" |
− | local ja, en, note = args[line .. remodel_string], args[line .. remodel_string .. "/En"], args[line .. remodel_string .. "/Note"] | + | local ja, en, note = args[line.name .. remodel_string], args[line.name .. remodel_string .. "/En"], args[line.name .. remodel_string .. "/Note"] |
− | local jaEn = args[line .. remodel_string .. "/Both"] | + | local jaEn = args[line.name .. remodel_string .. "/Both"] |
− | local link = args[line .. remodel_string .. "/Link"] | + | local link = args[line.name .. remodel_string .. "/Link"] |
− | if remodel == 0 and not extra or jaEn or ja or en or note then | + | if not remodel and not extra or jaEn or ja or en or note then |
| table.insert(result, format{ | | table.insert(result, format{ |
| templates.row, | | templates.row, |
− | style = remodel == 0 and templates.first_row_style or "", | + | style = not remodel and templates.first_row_style or "", |
| audio_button = args.no_audio and "" or format{ | | audio_button = args.no_audio and "" or format{ |
| templates.audio_button, | | templates.audio_button, |
Line 58: |
Line 78: |
| templates.audio_file, | | templates.audio_file, |
| ship = args.ship, | | ship = args.ship, |
− | suffix = ({[0] = "", [1] = "Kai", [2] = "Kai2"})[remodel], | + | suffix = audio_suffixes[remodel] or "", |
− | line = line, | + | line = line.name, |
| }, | | }, |
| }, | | }, |
− | line = link and format{templates.line_link, link = link, line = line} or line, | + | line = link and format{templates.line_link, link = link, line = line.name} or line.name, |
| ja = format_text(jaEn or ja, line), | | ja = format_text(jaEn or ja, line), |
| ja_colspan = jaEn and "2" or "1", | | ja_colspan = jaEn and "2" or "1", |
Line 80: |
Line 100: |
| table.insert(result, templates.header) | | table.insert(result, templates.header) |
| for _, line in pairs(lines) do | | for _, line in pairs(lines) do |
− | local extra, line = line.extra and true or false, line.extra or line
| + | local added = insertRow(result, nil, args, line) |
− | local added = insertRow(result, 0, args, line, extra) | + | added = added + insertRow(result, "/Kai", args, line) |
− | added = added + insertRow(result, 1, args, line, extra) | + | added = added + insertRow(result, "/Kai Ni", args, line) |
− | added = added + insertRow(result, 2, args, line, extra) | + | if line.note and added > 0 then |
− | local note = notes[line] | + | table.insert(result, format{templates.note, note = line.note}) |
− | if note and added > 0 then
| |
− | table.insert(result, format{templates.note, note = note}) | |
| end | | end |
| end | | end |