--[=[ |默认投影=网安精英 |默认描述= 要伪装成他人对一个白帽客来说很容易,要安心做自己却很难。 |扩容Live2D=1 |完形投影= 天网深潜者 |完形描述= 在对白帽客展开攻击时,好好想想自己是不是那条待钓的鱼。 |完形Live2D=1 |投影1=银装初上 |系列1=圣夜邀约 |描述1=“给我的?唔……就当是帮你布置派对的报酬吧。” 雪色的衣袂与粉红的脸颊相映,看来会是个愉快的夜晚呢。 |模型1=1 |投影2=最初口令 |系列2=唤醒 |描述2=保护您的信息安全?从唤醒我的第一秒开始,我就在做了哦。 |模型2=1 |Live2D2= |投影3=二象性·安冬妮娜 |系列3=愚者二象性 |描述3=加油吧安冬妮娜二号,今天还有十个需求和三十个bug要处理哦~ |投影4=黑帷幕之曲 |系列4=永夜游行 |描述4=操弄邪恶魔力的女巫,在诡海之中兴风作浪。你是否有应约一同前往冒险的勇气呢? “作为平时的回礼,教授,让我们一起好好享受万圣节吧。公报私仇?怎么会呢。” |模型4=丝袜可脱 |Live2D4=鞋可脱 ]=] return { ['投影'] = function(frame) local args = frame.args local skins = {insert = table.insert, concat = table.concat} local fmt = '%s(%s)%s\n%s' -- 默认、扩容 local options = {} if args['默认Live2D'] then table.insert(options, '\n*Live2D') end if args['扩容Live2D'] then table.insert(options, '\n*扩容Live2D') end if args['扩容动态立绘'] then table.insert(options, '\n*扩容动态立绘') end skins:insert( mw.ustring.format( fmt, args['默认投影'], '默认投影', table.concat(options), args['默认描述'] ) ) -- 完形 options = {} if args['完形模型'] then table.insert(options, '\n*模型') end if args['完形Live2D'] then table.insert(options, '\n*Live2D') end if args['完形动态立绘'] then table.insert(options, '\n*动态立绘') end skins:insert( mw.ustring.format( fmt, args['完形投影'], '完形投影', table.concat(options), args['完形描述'] ) ) -- 额外 local i = 1 while args['投影'..i] or args['系列'..i] do local options = {} for _, v in ipairs({'模型', 'Live2D', '动态立绘'}) do if args[v..i] and mw.text.trim(args[v..i]) ~= '' then table.insert(options, '\n*'..v) end end skins:insert( mw.ustring.format( fmt, args['投影'..i] or '', args['系列'..i] or '', table.concat(options), args['描述'..i] or '' ) ) i = i + 1 end return skins:concat('\n----\n') end }