thorpedosg

Untitled

Jul 7th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {
  2.   "$schema": "http://json-schema.org/draft-07/schema#",
  3.   "title": "LabCompass Map File",
  4.   "type": "object",
  5.   "required": [
  6.     "difficulty",
  7.     "date",
  8.     "weapon",
  9.     "phase1",
  10.     "phase2",
  11.     "trap1",
  12.     "trap2",
  13.     "rooms"
  14.   ],
  15.   "properties": {
  16.     "difficulty": { "$ref": "#/definitions/difficulty" },
  17.     "date": {
  18.       "type": "string",
  19.       "pattern": "\\d{4}-\\d{2}-\\d{2}"
  20.     },
  21.     "weapon": { "$ref": "#/definitions/weapon" },
  22.     "phase1": { "$ref": "#/definitions/phase" },
  23.     "phase2": { "$ref": "#/definitions/phase" },
  24.     "trap1": { "$ref": "#/definitions/trap" },
  25.     "trap2": { "$ref": "#/definitions/trap" },
  26.     "section1layout": { "$ref": "#/definitions/sectionLayout" },
  27.     "section2layout": { "$ref": "#/definitions/sectionLayout" },
  28.     "section3layout": { "$ref": "#/definitions/sectionLayout" },
  29.     "rooms": {
  30.       "type": "array",
  31.       "items": {
  32.         "type": "object",
  33.         "required": [
  34.           "name",
  35.           "areacode",
  36.           "id",
  37.           "x",
  38.           "y",
  39.           "contents",
  40.           "exits"
  41.         ],
  42.         "properties": {
  43.           "name": { "type": "string" },
  44.           "areacode": { "type": "string" },
  45.           "id": { "type": "string" },
  46.           "x": { "type": "string" },
  47.           "y": { "type": "string" },
  48.           "contents": {
  49.             "type": "array",
  50.             "items": { "$ref": "#/definitions/content" }
  51.           },
  52.           "exits": {
  53.             "type": "object",
  54.             "propertyNames": { "$ref": "#/definitions/direction" },
  55.             "additionalProperties": { "$ref": "#/definitions/roomId" }
  56.           },
  57.           "secretPassage": { "type": "string" }
  58.         }
  59.       }
  60.     }
  61.   },
  62.   "definitions": {
  63.     "difficulty": {
  64.       "enum": [
  65.         "Normal",
  66.         "Cruel",
  67.         "Merciless",
  68.         "Uber"
  69.       ]
  70.     },
  71.     "weapon": {
  72.       "enum": [
  73.         "NoWeapon",
  74.         "TwoSwords",
  75.         "SwordAndShield",
  76.         "TwoHandedMace"
  77.       ]
  78.     },
  79.     "phase": {
  80.       "enum": [
  81.         "NoPhase",
  82.         "ChargeDisruptors",
  83.         "Conduits",
  84.         "Essences",
  85.         "Fonts",
  86.         "Gargoyles",
  87.         "Idols",
  88.         "Lieutenants",
  89.         "Portals"
  90.       ]
  91.     },
  92.     "trap": {
  93.       "enum": [
  94.         "NoTrap",
  95.         "BladeSentries",
  96.         "Darts",
  97.         "FurnaceTraps",
  98.         "Saws",
  99.         "Spikes",
  100.         "SpinningBlades"
  101.       ]
  102.     },
  103.     "sectionLayout": {
  104.       "type": "string"
  105.     },
  106.     "roomId": {
  107.       "type": "string"
  108.     },
  109.     "direction": {
  110.       "enum": [
  111.         "N",
  112.         "NE",
  113.         "E",
  114.         "SE",
  115.         "S",
  116.         "SW",
  117.         "W",
  118.         "NW",
  119.         "C"
  120.       ]
  121.     },
  122.     "content": {
  123.       "enum": [
  124.         "Switch puzzle",
  125.         "Floor puzzle",
  126.         "Escort gauntlet",
  127.         "Trap gauntlet",
  128.         "darkshrine",
  129.         "argus",
  130.         "golden-key",
  131.         "silver-key",
  132.         "silver-door"
  133.       ]
  134.     }
  135.   }
  136. }
Add Comment
Please, Sign In to add comment