local p = {} local function notempty(s) return (s and s ~= "") end local titleset = mw.loadData("模块:kiraraf角色信息") local getArgs = require("Module:Arguments").getArgs local function wikitext(text1) return mw.getCurrentFrame():preprocess(text1) end function p.main(frame) local iconName=frame.args[2] .. '(' if(notempty(frame.args["pre"])) then iconName = iconName .. frame.args["pre"] end iconName = iconName .. frame.args[3] .. '之' .. frame.args[4] .. ')' if(notempty(frame.args["suf"])) then iconName = iconName .. frame.args["suf"] end --生成图片名元素。 local pageName if (notempty(frame.args["pagelink"])) then pageName=frame.args["pagelink"] else pageName=iconName end --生成卡片条目名元素,如不输入pagelink参数则与图片名元素相同。 local type="普通" if(notempty(frame.args["pre"])) then type="期间限定卡" end if(notempty(frame.args["type"])) then type=frame.args["type"] end --生成卡片类型。参数type为空时,默认为普通,若参数pre非空则为期间限定卡;参数type非空时为参数type local weapon="无" if(notempty(frame.args["wp"])) then weapon=frame.args["wp"] end if(notempty(titleset[frame.args[2]])) then local link=titleset[frame.args[2]][1] local title=titleset[frame.args[2]][2] if (notempty(frame.args[3])) then if (notempty(frame.args[4])) then if (frame.args[1]=="3" or frame.args[1]=='4' or frame.args[1]=='5') then local r="[[File:kiraraf-icon-"..iconName..'.png|50px|link=闪耀幻想曲:'..pageName..']]' if(frame.args[1] ~= '3') then r=r.."[[File:kiraraf-icon-"..iconName..'(进化).png|50px|link=闪耀幻想曲:'..pageName..']]' end r=r..'{{!}}{{!}}' --输出头像,含卡片条目内链。若参数4(稀有度)不为3(为4/5),则再生成进化头像 r=r.."[["..link.."#卡片索引" if(notempty(string.match(frame.args[2],"成年"))) then r=r.."_2" end r=r.."|"..frame.args[2].."]]" r=r..'{{!}}{{!}}' --输出角色名,含指向主条目卡片索引的内链;并识别《学园孤岛》的成年角色,修正内链 r=r.."[["..title.."]]" r=r.."{{!}}{{!}}" --输出作品及内链 if(frame.args[1]=="3") then r=r.."★★★" end if(frame.args[1]=="4") then r=r.."★★★★" end if(frame.args[1]=="5") then r=r.."★★★★★" end r=r.."{{!}}{{!}}" --输出稀有度 r=r..frame.args[3].."{{!}}{{!}}"..frame.args[4].."{{!}}{{!}}" --输出属性、职业 r=r..type --输出卡片类型 r=r.."{{!}}{{!}}" .. weapon return wikitext(r) else return wikitext('colspan="7"{{!}}缺少参数1,或参数1输入错误') end else return wikitext('colspan="7"{{!}}缺少参数4') end else return wikitext('colspan="7"{{!}}缺少参数3') end else return wikitext('colspan="7"{{!}}未检测到相应角色,请检查参数2并核查相应模块') end end return p