此处公告通常对读者进行申明或对该WIKI某些规则进行公告,请在确认后修改本通告
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
编辑帮助:目录 • BWIKI反馈留言板
此处公告通常对读者进行申明或对该WIKI某些规则进行公告,请在确认后修改本通告。本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
模块:数据库
此模块的文档可以在模块:数据库/doc创建
local p = {}
function p.pJsonDec(frame) -- P卡解析传入页面名
local pageToUid = require('模块:P卡卡片名UID对照')
local uid = pageToUid[frame.args[1]]
local path = "Produce_idol_data".."/"..uid -- json数据存放路径
local data = mw.text.jsonDecode(mw.title.new(path):getContent()) -- 解码json为lua table
return data
end
function p.sJsonDec(frame) -- S卡解析传入页面名
local pageToUid = require('模块:S卡卡片名UID对照')
local uid = pageToUid[frame.args[1]]
local path = "Support_card_data".."/"..uid -- json数据存放路径
local data = mw.text.jsonDecode(mw.title.new(path):getContent()) -- 解码json为lua table
return data
end
-- P卡部分
p["P卡基本信息"]=function(frame)
local translate = require('模块:偶像名翻译')
local data = p.pJsonDec(frame) --传入uid
local mlProduceIdolText_Name = translate[data.mlCharacterText_Name] -- P卡名
local initialStar = data.initialStar -- P卡稀有度
local release_Date = data.release_Date -- 实装日期
local mlCharacterText_Name = translate[data.mlCharacterText_Name] -- 角色名
frame:callParserFunction{name='#vardefine',args={'P卡卡片名',mlProduceIdolText_Name}}
frame:callParserFunction{name='#vardefine',args={'稀有度',initialStar}}
frame:callParserFunction{name='#vardefine',args={'pUid',data.mstProduceIdolId}}
frame:callParserFunction{name='#vardefine',args={'实装日期',release_Date}}
frame:callParserFunction{name='#vardefine',args={'角色名',mlCharacterText_Name}}
end
p["P卡能力值"]=function(frame)
local data = p.pJsonDec(frame) --传入uid
local idolParameter_vocal= data.idolParameter.vocal --vocal数值
local idolParameter_dance= data.idolParameter.dance --dance数值
local idolParameter_visual= data.idolParameter.visual --visual数值
local idolParameter_mental= data.idolParameter.mental --mental数值
frame:callParserFunction{name='#vardefine',args={'VO',idolParameter_vocal}}
frame:callParserFunction{name='#vardefine',args={'DA',idolParameter_dance}}
frame:callParserFunction{name='#vardefine',args={'VI',idolParameter_visual}}
frame:callParserFunction{name='#vardefine',args={'ME',idolParameter_mental}}
end
p["P卡偶像技能"]=function(frame)
local data = p.pJsonDec(frame) --传入uid
local skillVariableNames = {"P卡偶像技能1", "P卡偶像技能2", "P卡偶像技能3", "P卡偶像技能4", "P卡偶像技能5"}
local skillIconVariableNames = {"P卡偶像技能1图标", "P卡偶像技能2图标", "P卡偶像技能3图标", "P卡偶像技能4图标", "P卡偶像技能5图标"}
for i = 1, 5 do
local skillData = data.idolSkillList[i]
frame:callParserFunction{name='#vardefine', args={skillVariableNames[i], skillData.mlIdolSkillText_Name}}
frame:callParserFunction{name='#vardefine', args={skillIconVariableNames[i], skillData.idolSkillActionEffectList[1].actionEffectList[1].iconId}}
for j = 1, 5 do
frame:callParserFunction{name='#vardefine', args={string.format('%s_LV%d效果', skillVariableNames[i], j), skillData.idolSkillActionEffectList[j].actionEffectList[1].mlProduceCard_Description}}
end
end
end
p["P卡演出技能"]=function(frame)
local data = p.pJsonDec(frame) --传入uid
for i = 1, 2 do -- 两个演出技能
local liveSkill = data.potentialLiveSkillList[i].mlPotentialLiveSkillText_Title
local liveSkill_id = data.potentialLiveSkillList[i].mstPotentialLiveSkillId
frame:callParserFunction{name='#vardefine', args={'演出技能'..i, liveSkill}}
frame:callParserFunction{name='#vardefine', args={'演出技能'..i..'图标编号', liveSkill_id}}
for level = 1, 5 do --技能有5个等级
local liveSkill_effect = data.potentialLiveSkillList[i].levelList[level].mlPotentialLiveSkillText_Description
frame:callParserFunction{name='#vardefine', args={'演出技能'..i..'-LV'..level..'效果', liveSkill_effect}}
end
end
end
-- S卡部分
p["S卡基本信息"]=function(frame)
local translate = require('模块:偶像名翻译')
local data = p.sJsonDec(frame) --传入uid
local mlSupportCharaText_Name = translate[data.mlSupportCharaText_Name] -- P卡名
local rarity = data.rarity -- s卡稀有度
local release_Date = data.release_Date -- 实装日期
local mlCharacterText_Name = translate[data.mlCharacterText_Name] -- 角色名
frame:callParserFunction{name='#vardefine',args={'S卡卡片名',mlSupportCharaText_Name}}
frame:callParserFunction{name='#vardefine',args={'稀有度',rarity}}
frame:callParserFunction{name='#vardefine',args={'sUid',data.mstSupportCharacterId}}
frame:callParserFunction{name='#vardefine',args={'实装日期',release_Date}}
frame:callParserFunction{name='#vardefine',args={'角色名',mlCharacterText_Name}}
end
p["支援能力"]=function(frame)
local data = p.sJsonDec(frame) --传入uid
for i = 1, #data.supportEffectList do
local supportEffect = data.supportEffectList[i]
local supportEffectName = supportEffect.mlSupportEffectText_Name
local supportEffectId = supportEffect.mstSupportEffectId
local supportEffectDescription = supportEffect.mlSupportEffectText_Description
frame:callParserFunction{name='#vardefine', args={'支援能力'..i, supportEffectName}}
frame:callParserFunction{name='#vardefine', args={'支援能力'..i..'图标id', supportEffectId}}
frame:callParserFunction{name='#vardefine', args={'支援能力'..i..'效果', supportEffectDescription}}
end
end
p["潜在支援技能"]=function(frame)
local data = p.sJsonDec(frame) --传入uid
for i = 1, #data.potentialSupportSkillList do
local potentialSupportSkill = data.potentialSupportSkillList[i]
local potentialSupportSkillName = potentialSupportSkill.mlPotentialSupportSkillText_Name
local potentialSupportSkillId = potentialSupportSkill.mstPotentialSupportSkillId
local potentialSupportSkillDescription = potentialSupportSkill.mlPotentialSupportSkillText_Description
frame:callParserFunction{name='#vardefine', args={'潜在支援技能'..i, potentialSupportSkillName}}
frame:callParserFunction{name='#vardefine', args={'潜在支援技能'..i..'ID', potentialSupportSkillId}}
frame:callParserFunction{name='#vardefine', args={'潜在支援技能'..i..'描述', potentialSupportSkillDescription}}
end
end
return p