{
  "actor": {
    "id": "number",
    "name": "string",
    "nickname": "string",
    "profile": "string",
    "note": "string",
    "traits": "array<trait>",
    "classId": "number",
    "initialLevel": "number",
    "maxLevel": "number",
    "characterName": "string",
    "characterIndex": "number",
    "faceName": "string",
    "faceIndex": "number",
    "battlerName": "string",
    "equips": "array<number>"
  },
  "class": {
    "id": "number",
    "name": "string",
    "note": "string",
    "traits": "array<trait>",
    "expParams": "array(4)[base,inflation,correction,maxLevel]",
    "params": "array(8) of array by level",
    "learnings": "array<{level:number,skillId:number,note:string}>"
  },
  "skill": {
    "id": "number",
    "name": "string",
    "description": "string",
    "note": "string",
    "iconIndex": "number",
    "scope": "number",
    "occasion": "number",
    "speed": "number",
    "successRate": "number",
    "repeats": "number",
    "tpGain": "number",
    "hitType": "number",
    "animationId": "number",
    "damage": "damage",
    "effects": "array<effect>",
    "stypeId": "number",
    "mpCost": "number",
    "tpCost": "number",
    "message1": "string",
    "message2": "string",
    "requiredWtypeId1": "number",
    "requiredWtypeId2": "number"
  },
  "item": {
    "id": "number",
    "name": "string",
    "description": "string",
    "note": "string",
    "iconIndex": "number",
    "scope": "number",
    "occasion": "number",
    "speed": "number",
    "successRate": "number",
    "repeats": "number",
    "tpGain": "number",
    "hitType": "number",
    "animationId": "number",
    "damage": "damage",
    "effects": "array<effect>",
    "itypeId": "number",
    "price": "number",
    "consumable": "boolean"
  },
  "weapon": {
    "id": "number",
    "name": "string",
    "description": "string",
    "note": "string",
    "iconIndex": "number",
    "traits": "array<trait>",
    "etypeId": "number",
    "price": "number",
    "params": "array(8)",
    "wtypeId": "number",
    "animationId": "number"
  },
  "armor": {
    "id": "number",
    "name": "string",
    "description": "string",
    "note": "string",
    "iconIndex": "number",
    "traits": "array<trait>",
    "etypeId": "number",
    "price": "number",
    "params": "array(8)",
    "atypeId": "number"
  },
  "enemy": {
    "id": "number",
    "name": "string",
    "note": "string",
    "traits": "array<trait>",
    "battlerName": "string",
    "battlerHue": "number",
    "params": "array(8)",
    "exp": "number",
    "gold": "number",
    "dropItems": "array(3)<{kind:number,dataId:number,denominator:number}>",
    "actions": "array<{skillId:number,conditionType:number,conditionParam1:number,conditionParam2:number,rating:number}>"
  },
  "state": {
    "id": "number",
    "name": "string",
    "note": "string",
    "iconIndex": "number",
    "traits": "array<trait>",
    "restriction": "number",
    "priority": "number",
    "motion": "number",
    "overlay": "number",
    "removeAtBattleEnd": "boolean",
    "removeByRestriction": "boolean",
    "autoRemovalTiming": "number",
    "minTurns": "number",
    "maxTurns": "number",
    "removeByDamage": "boolean",
    "chanceByDamage": "number",
    "removeByWalking": "boolean",
    "stepsToRemove": "number",
    "message1": "string",
    "message2": "string",
    "message3": "string",
    "message4": "string"
  },
  "troop": {
    "id": "number",
    "name": "string",
    "members": "array<{enemyId:number,x:number,y:number,hidden:boolean}>",
    "pages": "array<battleEventPage>"
  },
  "animation": {
    "id": "number",
    "name": "string",
    "animation1Name": "string",
    "animation1Hue": "number",
    "animation2Name": "string",
    "animation2Hue": "number",
    "position": "number",
    "frames": "3D-array",
    "timings": "array<{frame:number,se:audioFile,flashScope:number,flashColor:array,flashDuration:number}>"
  },
  "tileset": {
    "id": "number",
    "name": "string",
    "note": "string",
    "mode": "number",
    "tilesetNames": "array(9)<string>",
    "flags": "array<number>"
  },
  "commonEvent": {
    "id": "number",
    "name": "string",
    "trigger": "number",
    "switchId": "number",
    "list": "array<eventCommand>"
  },
  "system": {
    "gameTitle": "string",
    "versionId": "number",
    "locale": "string",
    "partyMembers": "array<number>",
    "currencyUnit": "string",
    "windowTone": "array(3)",
    "boat": "vehicle",
    "ship": "vehicle",
    "airship": "vehicle",
    "title1Name": "string",
    "title2Name": "string",
    "optDrawTitle": "boolean",
    "optSideView": "boolean",
    "optTransparent": "boolean",
    "optFollowers": "boolean",
    "optSlipDeath": "boolean",
    "optFloorDeath": "boolean",
    "optDisplayTp": "boolean",
    "optExtraExp": "boolean",
    "titleBgm": "audioFile",
    "battleBgm": "audioFile",
    "victoryMe": "audioFile",
    "defeatMe": "audioFile",
    "gameoverMe": "audioFile",
    "sounds": "array<audioFile>",
    "menuCommands": "array<boolean>",
    "startMapId": "number",
    "startX": "number",
    "startY": "number",
    "magicSkills": "array<number>",
    "attackMotions": "array<{type:number,weaponImageId:number}>",
    "elements": "array<string>",
    "skillTypes": "array<string>",
    "weaponTypes": "array<string>",
    "armorTypes": "array<string>",
    "equipTypes": "array<string>",
    "switches": "array<string|null>",
    "variables": "array<string|null>",
    "terms": "{basic:array,params:array,commands:array,messages:object}",
    "testBattlers": "array<{actorId:number,level:number,equips:array}>",
    "testTroopId": "number",
    "editMapId": "number"
  },
  "map": {
    "displayName": "string",
    "tilesetId": "number",
    "width": "number",
    "height": "number",
    "scrollType": "number",
    "specifyBattleback": "boolean",
    "battleback1Name": "string",
    "battleback2Name": "string",
    "autoplayBgm": "boolean",
    "bgm": "audioFile",
    "autoplayBgs": "boolean",
    "bgs": "audioFile",
    "disableDashing": "boolean",
    "encounterList": "array<{troopId:number,weight:number,regionSet:array}>",
    "encounterStep": "number",
    "parallaxName": "string",
    "parallaxLoopX": "boolean",
    "parallaxLoopY": "boolean",
    "parallaxSx": "number",
    "parallaxSy": "number",
    "parallaxShow": "boolean",
    "data": "array<number>",
    "events": "array<event|null>"
  },
  "event": {
    "id": "number",
    "name": "string",
    "note": "string",
    "x": "number",
    "y": "number",
    "pages": "array<eventPage>"
  },
  "eventPage": {
    "conditions": "{actorId:number,actorValid:boolean,itemId:number,itemValid:boolean,selfSwitchCh:string,selfSwitchValid:boolean,switch1Id:number,switch1Valid:boolean,switch2Id:number,switch2Valid:boolean,variableId:number,variableValid:boolean,variableValue:number}",
    "directionFix": "boolean",
    "image": "{characterIndex:number,characterName:string,direction:number,pattern:number,tileId:number}",
    "list": "array<eventCommand>",
    "moveFrequency": "number",
    "moveRoute": "{list:array,repeat:boolean,skippable:boolean,wait:boolean}",
    "moveSpeed": "number",
    "moveType": "number",
    "priorityType": "number",
    "stepAnime": "boolean",
    "through": "boolean",
    "trigger": "number",
    "walkAnime": "boolean"
  },
  "trait": {
    "code": "number",
    "dataId": "number",
    "value": "number"
  },
  "effect": {
    "code": "number",
    "dataId": "number",
    "value1": "number",
    "value2": "number"
  },
  "damage": {
    "type": "number",
    "elementId": "number",
    "formula": "string",
    "variance": "number",
    "critical": "boolean"
  },
  "audioFile": {
    "name": "string",
    "volume": "number",
    "pitch": "number",
    "pan": "number"
  },
  "eventCommand": {
    "code": "number",
    "indent": "number",
    "parameters": "array"
  },
  "vehicle": {
    "characterName": "string",
    "characterIndex": "number",
    "startMapId": "number",
    "startX": "number",
    "startY": "number",
    "bgm": "audioFile"
  }
}
