- 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:ShipSeasonalQuotes"
Jump to navigation
Jump to search
m |
|||
Line 30: | Line 30: | ||
"White Day 2015", | "White Day 2015", | ||
"Rainy Season 2017", | "Rainy Season 2017", | ||
+ | "Fall 2017", | ||
} | } | ||
Revision as of 15:42, 17 September 2017
Documentation for this module may be created at Module:ShipSeasonalQuotes/doc
local Utils = require("Module:Utils")
local format = require("Module:StringInterpolation").format
local templates = {
header = [[{| class="wikitable typography-xl-optout" style="width:100%;"
!style="width:10%;"|Event
!Japanese
!English
!Note]],
footer = "|}",
row = [=[|-
|nowrap="nowrap"|[[Seasonal/${season}|${season}]]<br><span class="audio-button click-parent">[[Media:${ship} ${season}.ogg|Play]]</span>
|lang="ja"|${ja}
|${en}
|${note}]=],
as_ship = [[''As ${ship}'']]
}
local seasons = {
"Christmas 2013",
"Christmas 2014",
"End of Year 2014",
"New Year 2015",
"New Year 2016",
"Second Anniversary",
"Setsubun 2015",
"Setsubun 2016",
"Setsubun 2017",
"Valentines 2015",
"White Day 2015",
"Rainy Season 2017",
"Fall 2017",
}
local ShipSeasonalQuotes = {}
function addRow(result, seasonData, season, ship, note_prefix)
local shipData = seasonData.ships[ship]
if shipData then
for _, lineData in ipairs(shipData) do
table.insert(result, format{
templates.row,
ship = ship,
season = season,
ja = lineData.ja,
en = lineData.en,
note = (note_prefix or "") .. (note_prefix and lineData.note and "<br>" or "") .. (lineData.note or ""),
})
end
end
end
function ShipSeasonalQuotes.format(frame, args)
args = args or Utils.getTemplateArgs(frame)
local ship = args.explicit["1"] or args.implicit.pagename
local ship2 = args.explicit["2"]
local result = {}
table.insert(result, templates.header)
for _, season in ipairs(seasons) do
local seasonData = require(string.format("Module:Seasonal/%s", season))
if ship2 then
addRow(result, seasonData, season, ship, format{templates.as_ship, ship = ship})
addRow(result, seasonData, season, ship2, format{templates.as_ship, ship = ship2})
else
addRow(result, seasonData, season, ship)
end
end
table.insert(result, templates.footer)
return table.concat(result, "\n")
end
return ShipSeasonalQuotes