local propertyTable = { MonsterID = 1,DropPill = 2, } local mainPropertyTable = { MonsterID = 1,PageIndex = 2,LineIndex = 3, } local primaryTable = { "MonsterID", } local DataPageEntry = {} local rawget = rawget local base = { __index = function(t, k) local propertyIndex = propertyTable[k] if propertyIndex then local mainPropertyIndex = mainPropertyTable[k] if mainPropertyIndex then return t[mainPropertyIndex] end local pageIndex = t[2] local pageData = DataPageEntry[pageIndex] if pageData == nil then pageData = require('Data/RogueMonsterBornPill-page'..pageIndex) if DataSheetUtil then --skip fixedpoint process for data sheet checker DataSheetUtil.ProcessFixedPoint('RogueMonsterBornPill', pageData) end DataPageEntry[pageIndex] = pageData end local lineIndex = t[3] local resultData = pageData[lineIndex] return resultData[propertyIndex] end end, __newindex = function() error('Attempt to modify read-only table') end } local dataTable = { setmetatable({62710002,1,1},base), setmetatable({62710003,1,2},base), setmetatable({62710004,1,3},base), setmetatable({62710005,1,4},base), setmetatable({62710006,1,5},base), setmetatable({62710007,1,6},base), setmetatable({62710008,1,7},base), setmetatable({62710009,1,8},base), setmetatable({62710010,1,9},base), setmetatable({62710011,1,10},base), setmetatable({62710012,1,11},base), setmetatable({62710013,1,12},base), setmetatable({62711002,1,13},base), setmetatable({62711003,1,14},base), setmetatable({62711004,1,15},base), setmetatable({62711005,1,16},base), setmetatable({62711006,1,17},base), setmetatable({62711007,1,18},base), setmetatable({62711008,1,19},base), setmetatable({62711009,1,20},base), setmetatable({62711010,1,21},base), setmetatable({62711011,1,22},base), setmetatable({62711012,1,23},base), setmetatable({62711013,1,24},base), setmetatable({62712002,1,25},base), setmetatable({62712003,1,26},base), setmetatable({62712004,1,27},base), setmetatable({62712005,1,28},base), setmetatable({62712006,1,29},base), setmetatable({62712007,1,30},base), setmetatable({62712008,1,31},base), setmetatable({62712009,1,32},base), setmetatable({62712010,1,33},base), setmetatable({62712011,1,34},base), setmetatable({62712012,1,35},base), setmetatable({62712013,1,36},base), setmetatable({62713002,1,37},base), setmetatable({62713003,1,38},base), setmetatable({62713004,1,39},base), setmetatable({62713005,1,40},base), setmetatable({62713006,1,41},base), setmetatable({62713007,1,42},base), setmetatable({62713008,1,43},base), setmetatable({62713009,1,44},base), setmetatable({62713010,1,45},base), setmetatable({62713011,1,46},base), setmetatable({62713012,1,47},base), setmetatable({62713013,1,48},base), setmetatable({62714002,1,49},base), setmetatable({62714003,1,50},base), setmetatable({62714004,1,51},base), setmetatable({62714005,1,52},base), setmetatable({62714006,1,53},base), setmetatable({62714007,1,54},base), setmetatable({62714008,1,55},base), setmetatable({62714009,1,56},base), setmetatable({62714010,1,57},base), setmetatable({62714011,1,58},base), setmetatable({62714012,1,59},base), setmetatable({62714013,1,60},base), setmetatable({62715002,1,61},base), setmetatable({62715003,1,62},base), setmetatable({62715004,1,63},base), setmetatable({62715005,1,64},base), setmetatable({62715006,1,65},base), setmetatable({62715007,1,66},base), setmetatable({62715008,1,67},base), setmetatable({62715009,1,68},base), setmetatable({62715010,1,69},base), setmetatable({62715011,1,70},base), setmetatable({62715012,1,71},base), setmetatable({62715013,1,72},base), } return { dataTable = dataTable, propertyTable = propertyTable, primaryTable = primaryTable, }