User:Greykid/参考手册/信息表渲染模块解读
《真·女神转生》大系数据编纂和样式设计统一模块 “模块:Psk” 的参考手册。操作细则和贡献方式,请进入《真·女神转生》大系编辑者群(832689630)寻求进一步帮助。
本文解读 模块:Psk 主程序「_stats」(人格面具信息表渲染模块)。行数可能不是最新。
从缩写推断作品
- 主页面:从缩写推断作品
local game = args[1] or args.game or args.Game or '' game = game:lower() local gameg -- 遊戲的總樣式 if getGames.games[game].fallback then gameg = getGames.games[game].fallback -- 遊戲對應序號作 else gameg = game end local gamen = getGames.games[game].name -- 遊戲全名 local gamegn = getGames.games[gameg].name -- 遊戲對應序號作全名 local gamed if gameg then gamed = gameg:upper() end local data data = require('Module:Psk/' .. gamed) local prop = get_prop(args)
预设样式(styles)
第 449-463 行:预置样式表。
表头
第 458 行:初始化「result
」。(包含最外层表头)
local result = '{|align="center" style="min-width:650px;text-align:center; background: #fff; border:2px solid ' .. getGames.games[gameg].colorb .. '; border-radius:10px; font-size:100%; "\n|-\n|' .. styles.table2b
image span
第 464-473 行:给图鉴表加一个「头图」。
if prop.image then result = result .. '\n!style="width:20px;border:#333 solid 2px;border-radius:7px;background:' if gameg == 'p1' or gameg == 'p2is' or gameg == 'p2ep' or gameg == 'p3' then result = result .. 'transparent' else result = result .. '#000' end result = result .. '"|' .. prop.image end
第 1232 行:此处的表尾标记是用来结束「头图」区块的。
顶层信息栏
「种族」「元素」「等级」「阿尔卡那」「HP」「SP」「性格」「五维」等。
第 533-550 行:SMT3顶层设计(HP、SP、元素/种族、五维图)。
第 834-885 行:P1顶层设计(HP、SP、种族、属性、五维图、性格、交涉道具、交涉面具、图腾、亲和力)。
第 886-888 行:P2/P5名台词置顶层。
第 889-914 行:P2顶层设计(阿尔卡那、HP、SP、经验值、属性、五维图、性格、掉落物品、Mystic Change)。
第 915-936 行:P3-5顶层设计(阿尔卡那、等级、HP、SP、五维图、性格、倒地值、掉落物品、电椅产品)。
第 937-966 行:PQ/PQ2顶层设计(阿尔卡那、等级、HP、SP、五维图、奖励、掉落物品、技能卡)。
夹层信息栏
弱点抗性信息栏
第 1115-1177 行:P3-5相性夹层设计。
第 1257-1297 行:P1相性夹层设计。(手动填的情况下)
第 1298-1392 行:P2/PQ/PQ2相性夹层设计。(手动填的情况下)
第 1393-1446 行:P1/P2/PQ/PQ2相性夹层设计。(自动填的情况下)
补充信息栏
第 1178-1198 行:P2/P5阴影补充信息(性格、特性、仲魔交涉指引)夹层设计。
第 1199-1201 行:P2面具补充指引夹层设计。
第 1202-1211 行:P3面具补充信息(技能卡、羁绊物)夹层设计。
第 1212-1221 行:P4阴影补充信息(经验值、金钱、掉落物品)夹层设计。
第 1222-1231 行:P5阴影补充信息(经验值、金钱、掉落物品、技能卡)夹层设计。
第 1447-1473 行:P2面具补充信息(素材卡、塔罗牌、material、type1-3)夹层设计。
第 1474-1509 行:SMT3仲魔补充信息(获得方式、仲魔交涉、进化树)夹层设计。
第 1510-1512 行:面具合成表夹层设计。
技能表
第 1513 行开始技能表部分。
local skill, alias, skillzh, skillcell, skille, cost, effect, pre, range, power, target
默认技能(prop.dskills)
解读略。
普通技能(prop.skills)
第 1553 行开始标准技能表(prop.skills)部分。
从 prop.skills 中按照「\n
」「\\
」拆分提取各技能名称。
for k1, v1 in ipairs(mw.text.split(prop.skills, '\n')) do for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
第 1568 行是华丽的技能表标题设计。
第 1923-2009 行:「技能 - 消耗 - 效果 - 獲取等級」形式的技能表。特别是第 1980-1989 行,渲染技能名称(这个设计与 {{Skill}} 也就是 模块:Psk 的「_skill
」部分的设计是一致的)。
合体技能(prop.fskills)
解读略。
被动技能(prop.pskills)
解读略。
连携技能(prop.cskills)
第 2241-2283 行:连携技能表(prop.cskills)。根据书写方式来设计:每一行各个参数用「\
」隔开,第一个参数是C技代码,之后的参数统统都看作是技能名称。然后把这些名称罗列在一个框框里头。
表尾
result = result .. '\n|}' return result
更多
建议参照 Template:Stats#参数说明 给出的各个参数来理解本程序。
{{Stats}} 模板的基础是 MediaWiki 表格。参阅 Help:使用表格 了解表格构造。
Grey:「MediaWiki 渲染」只对底层 Wiki 文本及其组成的特定结构有效,例如表格等,因为任何类模板的表达式输出的「|」符号都是 Wiki 文本,而不是表达式中用来分隔参数的「|」。要生成模板调用,不能使用字面竖线,要在 Lua 中使用 frame:expandTemplate 才行。参见 展开模板。