package.path = package.path .. ";luajson/?.lua" local JSON = require"json" local lfs = require"lfs" local mypath = '../compendium/' local function convert( jsondb) jsondb = jsondb:gsub("test.result", "test.result.outcome") jsondb = jsondb:gsub("result.result", "result.outcome") jsondb = jsondb:gsub("result.extra", "result") jsondb = jsondb:gsub("actor.data.AP", "actor.status.armour") jsondb = jsondb:gsub("item.data.APdamage", "item.getFlag('wfrp4e', 'APdamage')") jsondb = jsondb:gsub("data.data.", "") jsondb = jsondb:gsub("item.data", "item") jsondb = jsondb:gsub("weapon.data", "weapon") jsondb = jsondb:gsub("spell.data", "spell") jsondb = jsondb:gsub("prayer.data", "prayer") jsondb = jsondb:gsub("trait.data", "trait") jsondb = jsondb:gsub("testData.extra.characteristic", "testData.item") jsondb = jsondb:gsub("testData.extra.skill", "testData.item") jsondb = jsondb:gsub("testData.extra.weapon", "testData.item") jsondb = jsondb:gsub("testData.extra.spell", "testData.item") jsondb = jsondb:gsub("testData.extra.prayer", "testData.item") jsondb = jsondb:gsub("testData.extra.trait", "testData.item") jsondb = jsondb:gsub("testData.roll", "test.result.roll") jsondb = jsondb:gsub("testData", "test") jsondb = jsondb:gsub("item._id", "item.id") jsondb = jsondb:gsub("result.ammo", "test.ammo") jsondb = jsondb:gsub("args.result", "args.test.result") jsondb = jsondb:gsub(".owner", ".isOwner") jsondb = jsondb:gsub("spell.overcasts", "result.overcast") jsondb = jsondb:gsub("opposeResult", "opposedTest.result") jsondb = jsondb:gsub("opposeData.hitloc", "opposeData.result.hitloc") jsondb = jsondb:gsub("opposeData", "opposedTest") jsondb = jsondb:gsub("extra.critical", "critical") jsondb = jsondb:gsub("attackerTestResult.weapon", "attackerTest.item") jsondb = jsondb:gsub("defenderTestResult.weapon", "defenderTest.item") jsondb = jsondb:gsub("attackerTestResult.trait", "attackerTest.item") jsondb = jsondb:gsub("defenderTestResult.trait", "defenderTest.item") jsondb = jsondb:gsub("attackerTestResult.spell", "attackerTest.item") jsondb = jsondb:gsub("defenderTestResult.spell", "defenderTest.item") jsondb = jsondb:gsub("attackerTestResult.prayer", "attackerTest.item") jsondb = jsondb:gsub("defenderTestResult.prayer", "defenderTest.item") jsondb = jsondb:gsub("attackerTestResult.skill", "attackerTest.item") jsondb = jsondb:gsub("defenderTestResult.skill", "defenderTest.item") jsondb = jsondb:gsub("attackerTestResult", "attackerTest.result") jsondb = jsondb:gsub("defenderTestResult", "defenderTest.result") jsondb = jsondb:gsub("actor.data.characteristics", "actor.characteristics") jsondb = jsondb:gsub("test.result.outcome.result", "test.result.outcome") jsondb = jsondb:gsub("test.item.characteristic.value", "test.item.characteristic.key") jsondb = jsondb:gsub("test.extra.other", "test.result.other") return jsondb end local function parse_folder( mypath ) --print("*** ENTERING", mypath) for file in lfs.dir(mypath) do --print(file) if file == '.' or file == '..' then else local fp = io.open(mypath .."/".. file, "r+") local jsondb = fp:read("*a") fp:close() jsondb = convert( jsondb) fp = io.open(mypath .."/".. file, "w+") fp:write(jsondb) fp:close() end end end --parse_folder( mypath ) local fp = io.open("../modules/config-patch.js", "r+") local jsondb = fp:read("*a") fp:close() jsondb = convert(jsondb) fp = io.open("../modules/config-patch.js", "w+") fp:write(jsondb) fp:close()