Skip to content

Commit 1e2bd69

Browse files
committed
update validate schema to let encounter cards work
1 parent 76e9354 commit 1e2bd69

File tree

2 files changed

+82
-19
lines changed

2 files changed

+82
-19
lines changed

schema/card_schema.json

Lines changed: 81 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"type": "string"
77
},
88
"back_flavor": {
9-
"minLength": 1,
9+
"minLength": 0,
1010
"type": "string"
1111
},
1212
"code": {
@@ -25,11 +25,25 @@
2525
]
2626
},
2727
"deck_requirements": {
28-
"minLength": 1,
29-
"type": "string"
28+
"oneOf": [
29+
{
30+
"minLength": 0,
31+
"type": "string"
32+
},
33+
{
34+
"type": "null"
35+
}
36+
]
3037
},
3138
"deck_options": {
32-
"type": "array"
39+
"oneOf": [
40+
{
41+
"type": "array"
42+
},
43+
{
44+
"type": "null"
45+
}
46+
]
3347
},
3448
"deck_limit": {
3549
"minimum": 0,
@@ -43,20 +57,48 @@
4357
"type": "string"
4458
},
4559
"enemy_damage": {
46-
"minimum": 0,
47-
"type": "integer"
60+
"oneOf": [
61+
{
62+
"minimum": -2,
63+
"type": "integer"
64+
},
65+
{
66+
"type": "null"
67+
}
68+
]
4869
},
4970
"enemy_evade": {
50-
"minimum": 0,
51-
"type": "integer"
71+
"oneOf": [
72+
{
73+
"minimum": -2,
74+
"type": "integer"
75+
},
76+
{
77+
"type": "null"
78+
}
79+
]
5280
},
5381
"enemy_fight": {
54-
"minimum": 0,
55-
"type": "integer"
82+
"oneOf": [
83+
{
84+
"minimum": -2,
85+
"type": "integer"
86+
},
87+
{
88+
"type": "null"
89+
}
90+
]
5691
},
5792
"enemy_horror": {
58-
"minimum": 0,
59-
"type": "integer"
93+
"oneOf": [
94+
{
95+
"minimum": -2,
96+
"type": "integer"
97+
},
98+
{
99+
"type": "null"
100+
}
101+
]
60102
},
61103
"exceptional": {
62104
"type": "boolean"
@@ -73,8 +115,15 @@
73115
"type": "string"
74116
},
75117
"health": {
76-
"minimum": -2,
77-
"type": "integer"
118+
"oneOf": [
119+
{
120+
"minimum": -2,
121+
"type": "integer"
122+
},
123+
{
124+
"type": "null"
125+
}
126+
]
78127
},
79128
"illustrator": {
80129
"pattern": ".*",
@@ -125,8 +174,15 @@
125174
"type": "integer"
126175
},
127176
"sanity": {
128-
"minimum": -2,
129-
"type": "integer"
177+
"oneOf": [
178+
{
179+
"minimum": -2,
180+
"type": "integer"
181+
},
182+
{
183+
"type": "null"
184+
}
185+
]
130186
},
131187
"slot": {
132188
"minLength": 1,
@@ -160,8 +216,15 @@
160216
"type": "string"
161217
},
162218
"victory": {
163-
"minimum": 1,
164-
"type": "integer"
219+
"oneOf": [
220+
{
221+
"minimum": 0,
222+
"type": "integer"
223+
},
224+
{
225+
"type": "null"
226+
}
227+
]
165228
},
166229
"is_unique": {
167230
"oneof": [

validate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def validate_card(args, card, card_schema, pack_code, factions_data, types_data)
191191
verbose_print(args, "ERROR\n",2)
192192
verbose_print(args, "Validation error in card: (pack code: '%s' card code: '%s' title: '%s')\n" % (pack_code, card.get("code"), card.get("name")), 0)
193193
validation_errors += 1
194-
verbose_print(args, "%s\n" % e.message, 0)
194+
verbose_print(args, "%s: %s\n" % (e.path, e.message), 0)
195195

196196
def validate_cards(args, packs_data, factions_data, types_data):
197197
global validation_errors

0 commit comments

Comments
 (0)