local p = {}
local format = string.format
-- 舰船生日数据
local shipBirthdays = mw.loadData("Module:碧蓝航线舰船下水日/Data")
-- 每日问候数据(数组,用于随机选择)
local dailyGreetings = {
{name = "企业", text = "你来了?要战斗的话我随时都能出动。"},
{name = "萨拉托加", text = "咻~!指挥官,怎么样,我的飞机欢迎阵列~"},
{name = "赤城", text = "哎呀,欢迎回来…指挥官再晚点出现,这里就要被我变成一片火海了呢…嘻嘻"},
{name = "苏维埃罗西亚", text = "指挥官同志,今天到得有点晚了。不要忘记勤劳奋斗的精神"},
{name = "逸仙", text = "又见面了,指挥官。请不用担心,我会如约陪伴在您的身边"},
{name = "俾斯麦", text = "我对你也是抱有期待的"},
{name = "贝尔法斯特", text = "欢迎回来,指挥官,红茶已经泡好,文档也归类完毕,开始舒适的工作吧。"},
{name = "伊丽莎白女王", text = "可恶~居然让我等你这么久。"},
{name = "黎塞留", text = "Bonjour,指挥官。在我结束祈祷之前,请先喝杯茶稍等片刻吧"},
{name = "光辉", text = "贵安,指挥官,我把这里稍微整理了一下,还满意吗?"},
{name = "绫波", text = "无论去哪里,我都会跟上你的脚步的...一起出发吧,指挥官"},
{name = "Z23", text = "指挥官,打起精神,投入紧张的工作中吧"},
{name = "伊13", text = "欢迎回来,指挥官,今天的天空也是一片碧蓝呢"},
{name = "标枪", text = "指挥官,欢迎回来!今天标枪是不是特别好看呢?欸嘿嘿♪"},
{name = "拉菲", text = "拉菲没有一直在等指挥官回来......嗯,大概。"},
{name = "塔什干", text = "看着塔什干就这么开心?......这样?随你高兴吧"},
{name = "彼得·史特拉塞", text = "好好工作吧,无论是你的时间还是我的时间,都不是可以轻易浪费的呢。"},
{name = "利托里奥", text = "指挥官,你来了,今天的我,可是比阳光还要耀眼呢"},
{name = "加斯科涅", text = "身份确认——欢迎回来,主人——"},
{name = "吾妻", text = "让我们开始今天的工作吧?放心,我会一直陪在你身边的~"},
{name = "明石", text = "指挥官,今天也一起加油赚钱喵!"},
{name = "柴郡", text = "亲〜爱〜的〜!嘿,我抱!……这样的迎接过于热情了?嘿嘿,因为是亲爱的,所以免不了有些激动嘛!"},
{name = "佐治亚", text = "还是旁边没有人的时候能够放松下来啊~对吧,指挥官?"},
{name = "君主", text = "欢迎回来,我比威尔士与约克更加优秀,指挥官,这是我们的共识吧?"},
{name = "鞍山", text = "今天也要打起精神加油!让我给你吹一首振奋精神的行进曲吧!"},
{name = "罗恩", text = "这里的港区好和平呢,大家也都是易于相处的人……"},
{name = "路易九世", text = "bonjour,指挥官,告诉我,接下来该做什么"},
{name = "伊吹", text = "主上,要一起外出吗"},
{name = "豪", text = "欢迎回来。今天能从早到晚和我一起吧?"},
{name = "北风", text = "刚好指挥官回来了……北风正要训练刀柄上的小家伙,要让它的站姿具有大将之风才好。"},
{name = "腓特烈大帝", text = "快拉开今日的帷幕吧,奏者们早已急不可耐了!"},
}
-- 生成舰船头像调用代码
local function getShipAvatar(frame, shipName)
return frame:expandTemplate { title = '碧蓝航线Q版头像', args = { shipName } }
end
-- 主函数
function p.main(frame)
local today = frame:callParserFunction('#time:md','+8 hour')
local dateKey = tonumber(today)
-- 检查今天是否有舰船生日
local birthdayShips = shipBirthdays[dateKey]
if birthdayShips then
local shipAvatars = {}
for _, ship in ipairs(birthdayShips) do
table.insert(shipAvatars, getShipAvatar(frame, ship))
end
return format(
'<div style="display:flex;justify-content: center;padding:0px;line-height:0px;">'..
'<div style="border-style: solid;border-width: 2px;border-radius: 50px;border-color: #63B8FF;width: auto;padding: 2px 15px 0px 15px;line-height: 16px;text-align: center;">'..
frame:expandTemplate { title = '碧蓝航线圆角图标', args = { "领航员-TB", ["size"] = "35"} }..'TB:<span style="color:#FFA500;"><big>%s</big></span></div></div>',
"'''指挥官,今天是"..table.concat(shipAvatars, " ").."的下水日哦,别忘了生日祝福哦~'''"
)
end
-- 没有舰船生日时,随机选择一条问候语
math.randomseed(os.time())
local randomIndex = math.random(1, #dailyGreetings)
local greeting = dailyGreetings[randomIndex]
return format(
'<div style="display:flex;justify-content: center;padding:0px;line-height:0px;">'..
'<div style="border-style: solid;border-width: 2px;border-radius: 50px;border-color: #63B8FF;width: auto;padding: 2px 15px 0px 15px;line-height: 16px;text-align: center;">'..
"<big>'''%s——%s'''</big></div></div>",
greeting.text,
getShipAvatar(frame, greeting.name)
)
end
return p