置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:CGSScardcontainer

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]
特训前
CGSS-OGATA-CHIERI-SSR-2022.PNG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR

特训后
CGSS-OGATA-CHIERI-SSR-2022-PLUS.PNG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR

模型图
CGSS-3DPORTRAIT-CHIERI-6.PNG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR

剧场Ⅰ
CINGEKI-WIDE-477-1.JPG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR
智绘里转转
剧场Ⅱ
CINGEKI-WIDE-477-2.JPG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR
智绘里转转
剧场Ⅲ
CINGEKI-WIDE-477-3.JPG
[白詰草縁起]緒方智絵里 SSR
[白诘草缘起]绪方智绘里 SSR
智绘里转转
CGSS-bg-cu.png

这是CGSS专用的卡牌容器,用{{CGSS卡牌}}包裹。

常用参数列表:

{{CGSScardcontainer
|阵营=
|稀有度=
|限定类型=
|小剧场=
|日文卡名=
|中文卡名=
|特训前卡图=
|特训后卡图=
|渲染立绘图=
|共用信息=
|特训前额外信息=
|特训后额外信息=
|剧场信息=
}}

参数参考说明:

  • 阵营:cu/co/pa
  • 小剧场:提交文件格式CINGEKI-WIDE-话数ID-1/2/3.JPG(注意大写)时,填写话数ID就会自动引用,没相应提交不要填,会什么都显示不了,尺寸需要裁剪为1280*720*3集
  • 稀有度:显示在卡名最后
  • 限定类型:白fes=白/blanc/B(白字蓝描边),黑fes=黑/noir/N(黄字黑描边),Dominant=dominant/d(粉蓝黄渐变发光),冠军卡=冠(红字带阴影),月限=限/限定/limit(粉字带阴影),常驻=常(绿字带阴影),CGSS新增SR=SR(橙字),CG移植SR=srl(蓝字),影响卡名字色
  • 日文卡名:必填,显示默认卡名
  • 中文卡名:指向卡名时会显示中文名,选填(个人习惯上歌名SR不填,歌名用作超链接)
  • customawakennot/customawaken:优先于特训前后卡图,使用图片显示模板完全替代特训前后卡图,用于实现带底N/R卡或者依梅堂活动白日见鬼那样的某些玩法(
  • 特训前/后卡图:不加customawakennot/customawaken情况下一般必填,填共享站文件名,无需file:,大小写死720宽度*464高(再大萌皮的折叠模式就显示不下了)
  • 渲染立绘图:CGSS蓝子拍照游戏提取SSR全身图,选填,大小写死464*464,不填不显示渲染图页签
  • 共用信息/特训前(后)额外信息:显示为字符串,显示格式为共用信息+特训前/后额外信息;理想情况下总描述控制在一行字以内最佳,以保持模板大小恒定与背景不会横跳
  1. local getArgs = require('Module:Arguments').getArgs
  2. local p = {}
  3. --[==[
  4. 写的什么玩意,代码全部挤在_main里面,一个函数都没单独拆出来(
  5. 限定类型那里的模板可以试着展开以提高运行速度,但我摆了
  6. ]==]
  7. function p.main(frame)
  8. local args = getArgs(frame)
  9. return p._main(args, frame)
  10. end
  11. function p._main(args, frame)
  12. local container = mw.html.create('div') --外层
  13. --接下来的代码根据稀有度、限定类型、中文卡名、日文卡名生成卡名标签(大概是本模块写的最烂的部分)
  14. local name = mw.html.create('div') --卡名。不知道怎么复用HTML,所以直接用tostring,干就完了!
  15. local jaName --原模板中的jastyle
  16. local zhName --原模板中的zhstyle
  17. --我TM直接开摆,不展开模板了,麻烦得要死,狗都不展!
  18. if string.lower(args['限定类型']) == 'blanc' or string.lower(args['限定类型']) == 'b' or args['限定类型'] == '白' or string.lower(args['限定类型']) == '白fes' then
  19. --原模板中isFes为1时
  20. jaName = frame:preprocess('{{文字描边2|1=' .. args['日文卡名'] .. ' ' .. args['稀有度'] .. '|文本颜色=#C7E6FF|描边颜色=#005DBD}}')
  21. if args['中文卡名'] then
  22. zhName = frame:preprocess('{{文字描边2|1=' .. args['中文卡名'] .. ' ' .. args['稀有度'] .. '|文本颜色=#C7E6FF|描边颜色=#005DBD}}')
  23. end
  24. elseif string.lower(args['限定类型']) == 'noir' or string.lower(args['限定类型']) == '黑fes' or string.lower(args['限定类型']) == 'n' or args['限定类型'] == '黑' then
  25. --原模板中isFes为2时
  26. jaName = frame:preprocess('{{文字描边2|1=' .. args['日文卡名'] .. ' ' .. args['稀有度'] .. '|文本颜色=#FFF263|描边颜色=#2A221D}}')
  27. if args['中文卡名'] then
  28. zhName = frame:preprocess('{{文字描边2|1=' .. args['中文卡名'] .. ' ' .. args['稀有度'] .. '|文本颜色=#FFF263|描边颜色=#2A221D}}')
  29. end
  30. elseif string.lower(args['限定类型']) == 'dominant' or string.lower(args['限定类型']) == 'd' then
  31. --原模板中isFes为3时
  32. jaName = frame:preprocess('{{渐变发光|content=' .. args['日文卡名'] .. ' ' .. args['稀有度'] .. '|FontColor=#FFFFFF|GradientColor=top left, #fc1478, #136bfb, #fda929|GlowSize=5}}')
  33. if args['中文卡名'] then
  34. zhName = frame:preprocess('{{渐变发光|content=' .. args['中文卡名'] .. ' ' .. args['稀有度'] .. '|FontColor=#FFFFFF|GradientColor=top left, #fc1478, #136bfb, #fda929|GlowSize=5}}')
  35. end
  36. else
  37. --原模板中isFes为0时
  38. local limitType --原模板的“limittype”
  39. if args['限定类型'] == 'limit' or args['限定类型'] == '月限' or args['限定类型'] == '限定' or args['限定类型'] =='限' or args['限定类型'] == '普限' then
  40. limitType = 'color:#E086B8; text-shadow:2px 2px 5px #E086B8'
  41. elseif args['限定类型'] == '冠军卡' or args['限定类型'] == '冠' then
  42. limitType = 'color:#ff4d00;text-shadow:1px 1px 4px #ff4d00'
  43. elseif args['限定类型'] == 'ordinary' or args['限定类型'] == '常驻' or args['限定类型'] == '常' then
  44. limitType = 'color:#ffbf00;text-shadow:1px 1px 4px #ffbf00'
  45. elseif string.lower(args['限定类型']) == 'sr' then
  46. limitType = 'color:#2582c8'
  47. elseif string.lower(args['限定类型']) == 'srl' then
  48. limitType = 'color:#31b56a'
  49. else
  50. limitType = 'color:#777777'
  51. end
  52. jaName = '<div style="' .. limitType .. '">' .. args['日文卡名'] .. ' ' .. args['稀有度'] .. '</div>'
  53. if args['中文卡名'] then
  54. zhName = '<div style="' .. limitType .. '">' .. args['中文卡名'] .. ' ' .. args['稀有度'] .. '</div>'
  55. end
  56. end
  57. if args['中文卡名'] then
  58. name
  59. :addClass('hover-change block')
  60. :tag('div')
  61. :addClass('hover-change-before')
  62. :css('font-family', '思源宋体, "Source Han Serif JP", serif') --虽然把样式放进类里面了,但不知道为什么不会加载字体样式,所以在这里额外加了
  63. :wikitext(jaName)
  64. :done()
  65. :tag('div')
  66. :addClass('hover-change-after')
  67. :wikitext(zhName)
  68. else
  69. name
  70. :addClass('ja-name')
  71. :css('font-family', '思源宋体, "Source Han Serif JP", serif')
  72. :wikitext(jaName)
  73. end
  74. local bgClass = 'bg-' .. (string.lower(args['阵营']) or 'co')
  75. --阵营背景图的类,因为mediawiki不让在wikitext里面使用,所以改为模板样式表调用。
  76. --尝试补点杂项颜色配置
  77. local labelColor
  78. local labelBackgroundColor
  79. local labelBorderColor
  80. local textBorderColor
  81. if string.lower(args['阵营']) == 'cu' then
  82. labelColor = '#fc1478'
  83. labelBackgroundColor = '#F8D6E0'
  84. labelBorderColor = '#fc1478'
  85. textBorderColor = '#F8D6E0'
  86. elseif string.lower(args['阵营']) == 'co' then
  87. labelColor = '#136bfb'
  88. labelBackgroundColor = '#A0C8F8'
  89. labelBorderColor='#136bfb'
  90. textBorderColor='#A0C8F8'
  91. elseif string.lower(args['阵营']) == 'pa' then
  92. labelColor = '#fda929'
  93. labelBackgroundColor = '#F8D290'
  94. labelBorderColor = '#fda929'
  95. textBorderColor = '#F8D290'
  96. else
  97. labelColor = '#2582C8'
  98. labelBackgroundColor = 'rgba(255,255,255,32)'
  99. labelBorderColor = '#2582C8'
  100. textBorderColor = '#2582C8'
  101. end
  102. --参数分析完毕,下面的部分生成tabs/core及其内容
  103. container
  104. :addClass('Tabs card-container')
  105. :attr('data-label-side', 'left')
  106. :attr('data-label-color-side-reverse', '')
  107. :attr('data-divider-size', '')
  108. :attr('data-default-tab', args['DefaultTab'])
  109. :attr('data-label-border-color', labelBorderColor)
  110. :attr('data-label-color', labelColor)
  111. :attr('data-text-border-color', textBorderColor)
  112. :attr('data-text-padding', '3px')
  113. :attr('data-label-background-color', labelBackgroundColor)
  114. :attr('data-text-background-color', 'transparent')
  115. local beforeTrain = container:tag('div'):addClass('Tab')
  116. beforeTrain:tag('div'):addClass('TabLabelText'):wikitext('特训前')
  117. beforeTrain
  118. :tag('div')
  119. :addClass('TabContentText')
  120. :tag('div')
  121. :addClass('inner-image')
  122. :css('aspect-ratio', '1280/824')
  123. :wikitext(args['customawakennot'] or ('[[File:' .. args['特训前卡图'] .. '|720px]]'))
  124. :done()
  125. :wikitext(tostring(name) .. (args['共用信息'] or '') .. (args['特训前额外信息'] or '<br />'))
  126. local afterTrain = container:tag('div'):addClass('Tab')
  127. afterTrain:tag('div'):addClass('TabLabelText'):wikitext('特训后')
  128. afterTrain
  129. :tag('div')
  130. :addClass('TabContentText')
  131. :tag('div')
  132. :addClass('inner-image')
  133. :css('aspect-ratio', '1280/824')
  134. :wikitext(args['customawaken'] or ('[[File:' .. args['特训后卡图'] .. '|720px]]'))
  135. :done()
  136. :wikitext(tostring(name) .. (args['共用信息'] or '') .. (args['特训后额外信息'] or '<br />'))
  137. if args['渲染立绘图'] then
  138. local modelImage = container:tag('div'):addClass('Tab')
  139. modelImage:tag('div'):addClass('TabLabelText'):wikitext('模型图')
  140. modelImage
  141. :tag('div')
  142. :addClass('TabContentText')
  143. :tag('div')
  144. :addClass('inner-image model-image ' .. bgClass)
  145. :css('aspect-ratio', '1280/824')
  146. :wikitext('[[File:' .. args['渲染立绘图'] .. ']]')
  147. :done()
  148. :wikitext(tostring(name) .. (args['共用信息'] or '<br />'))
  149. end
  150. if args['小剧场'] then
  151. local roman = {'Ⅰ', 'Ⅱ', 'Ⅲ'} --用一个表存放罗马数字以便调用,免得额外写一个判断。
  152. for i = 1, 3 do
  153. local theater = container:tag('div'):addClass('Tab')
  154. theater
  155. :tag('div')
  156. :addClass('TabLabelText')
  157. :wikitext('剧场' .. roman[i])
  158. theater
  159. :tag('div')
  160. :addClass('TabContentText')
  161. :tag('div')
  162. :addClass('inner-image ' .. bgClass)
  163. :css('aspect-ratio', '1280/824')
  164. :wikitext('[[File:CINGEKI-WIDE-' .. args['小剧场'] .. '-' .. i .. '.JPG|720px]]')
  165. :done()
  166. :wikitext(tostring(name) .. (args['共用信息'] or '') .. (args['剧场信息'] or '<br />'))
  167. end
  168. end
  169. return tostring(container) .. '<div style="display:none">[[File:CGSS-bg-' .. args['阵营'] .. '.png|1px|link=]]</div>'
  170. end
  171. return p