使用者: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 才行。參見 展開模板。