- 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 29: | Line 29: | ||
"Valentines 2015", | "Valentines 2015", | ||
"White Day 2015", | "White Day 2015", | ||
+ | "Rainy Season 2017", | ||
} | } | ||
Revision as of 14:00, 7 June 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",
}
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, ship)
end
end
table.insert(result, templates.footer)
return table.concat(result, "\n")
end
return ShipSeasonalQuotes