View difference between Paste ID: H7Vg9KNj and Urf5qX1v
SHOW: | | - or go back to the newest paste.
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
}