local getArgs = require('Module:Arguments').getArgs local p = {} local function toWikitext(text1) return mw.getCurrentFrame():preprocess(text1) end local function formatStudentName(name) return string.gsub(name, " ", "_") end function p.main(frame) return p._main (frame, getArgs(frame)) end function p._main(frame, args) if (not frame) then frame = mw.getCurrentFrame() end local charData = mw.text.jsonDecode(mw.title.new("Module:BACharInfo/data"):getContent()) return charData[formatStudentName(args[1])][args[2]] end function p.eq(frame) if(not frame) then frame = mw.getCurrentFrame() end args = getArgs(frame) local charData = mw.text.jsonDecode(mw.title.new("Module:BACharInfo/data"):getContent()) return charData[formatStudentName(args[1])]['Equipment'][tonumber(args[2])] end function p.w(frame) if(not frame) then frame = mw.getCurrentFrame() end args = getArgs(frame) local charData = mw.text.jsonDecode(mw.title.new("Module:BACharInfo/data"):getContent()) return charData[formatStudentName(args[1])]['Weapon'][args[2]] end function p.json(frame) local result = "<div class=\"bachar-char-data\" style=\"display:none;\">" local studentData = mw.text.jsonDecode(mw.title.makeTitle("Module", "BACharInfo/data"):getContent()) args = getArgs(frame) local studentInfo = studentData[formatStudentName(args[1])] if studentInfo == nil then studentInfo = { ["_exist"] = false, } else studentInfo["_exist"] = true end result = result .. mw.text.jsonEncode(studentInfo) .. "</div>" return result end return p