5etools-utils 0.12.6 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/package.json +1 -1
  2. package/schema/brew/backgrounds.json +1 -1
  3. package/schema/brew/bestiary/bestiary.json +12 -6
  4. package/schema/brew/bestiary/legendarygroups.json +1 -1
  5. package/schema/brew/bestiary/template.json +4 -4
  6. package/schema/brew/class/class.json +2 -2
  7. package/schema/brew/decks.json +2 -2
  8. package/schema/brew/deities.json +1 -1
  9. package/schema/brew/feats.json +1 -1
  10. package/schema/brew/fluff-races.json +1 -1
  11. package/schema/brew/foundry-races.json +2 -2
  12. package/schema/brew/items-base.json +2 -2
  13. package/schema/brew/items.json +2 -2
  14. package/schema/brew/optionalfeatures.json +1 -1
  15. package/schema/brew/races.json +8 -8
  16. package/schema/brew/recipes.json +1 -1
  17. package/schema/brew/spells/spells.json +1 -1
  18. package/schema/brew/util-copy.json +960 -0
  19. package/schema/brew/util.json +2 -856
  20. package/schema/brew-fast/backgrounds.json +1 -1
  21. package/schema/brew-fast/bestiary/bestiary.json +12 -6
  22. package/schema/brew-fast/bestiary/legendarygroups.json +1 -1
  23. package/schema/brew-fast/bestiary/template.json +4 -4
  24. package/schema/brew-fast/class/class.json +2 -2
  25. package/schema/brew-fast/decks.json +2 -2
  26. package/schema/brew-fast/deities.json +1 -1
  27. package/schema/brew-fast/feats.json +1 -1
  28. package/schema/brew-fast/fluff-races.json +1 -1
  29. package/schema/brew-fast/foundry-races.json +2 -2
  30. package/schema/brew-fast/items-base.json +2 -2
  31. package/schema/brew-fast/items.json +2 -2
  32. package/schema/brew-fast/optionalfeatures.json +1 -1
  33. package/schema/brew-fast/races.json +8 -8
  34. package/schema/brew-fast/recipes.json +1 -1
  35. package/schema/brew-fast/spells/spells.json +1 -1
  36. package/schema/brew-fast/util-copy.json +960 -0
  37. package/schema/brew-fast/util.json +2 -856
  38. package/schema/site/backgrounds.json +1 -1
  39. package/schema/site/bestiary/bestiary.json +12 -6
  40. package/schema/site/bestiary/legendarygroups.json +1 -1
  41. package/schema/site/bestiary/template.json +4 -4
  42. package/schema/site/class/class.json +2 -2
  43. package/schema/site/decks.json +2 -2
  44. package/schema/site/deities.json +1 -1
  45. package/schema/site/feats.json +1 -1
  46. package/schema/site/fluff-races.json +1 -1
  47. package/schema/site/foundry-races.json +2 -2
  48. package/schema/site/items-base.json +2 -2
  49. package/schema/site/items.json +2 -2
  50. package/schema/site/optionalfeatures.json +1 -1
  51. package/schema/site/races.json +8 -8
  52. package/schema/site/recipes.json +1 -1
  53. package/schema/site/spells/spells.json +1 -1
  54. package/schema/site/util-copy.json +960 -0
  55. package/schema/site/util.json +2 -856
  56. package/schema/site-fast/backgrounds.json +1 -1
  57. package/schema/site-fast/bestiary/bestiary.json +12 -6
  58. package/schema/site-fast/bestiary/legendarygroups.json +1 -1
  59. package/schema/site-fast/bestiary/template.json +4 -4
  60. package/schema/site-fast/class/class.json +2 -2
  61. package/schema/site-fast/decks.json +2 -2
  62. package/schema/site-fast/deities.json +1 -1
  63. package/schema/site-fast/feats.json +1 -1
  64. package/schema/site-fast/fluff-races.json +1 -1
  65. package/schema/site-fast/foundry-races.json +2 -2
  66. package/schema/site-fast/items-base.json +2 -2
  67. package/schema/site-fast/items.json +2 -2
  68. package/schema/site-fast/optionalfeatures.json +1 -1
  69. package/schema/site-fast/races.json +8 -8
  70. package/schema/site-fast/recipes.json +1 -1
  71. package/schema/site-fast/spells/spells.json +1 -1
  72. package/schema/site-fast/util-copy.json +960 -0
  73. package/schema/site-fast/util.json +2 -856
  74. package/schema/ua/backgrounds.json +1 -1
  75. package/schema/ua/bestiary/bestiary.json +12 -6
  76. package/schema/ua/bestiary/legendarygroups.json +1 -1
  77. package/schema/ua/bestiary/template.json +4 -4
  78. package/schema/ua/class/class.json +2 -2
  79. package/schema/ua/decks.json +2 -2
  80. package/schema/ua/deities.json +1 -1
  81. package/schema/ua/feats.json +1 -1
  82. package/schema/ua/fluff-races.json +1 -1
  83. package/schema/ua/foundry-races.json +2 -2
  84. package/schema/ua/items-base.json +2 -2
  85. package/schema/ua/items.json +2 -2
  86. package/schema/ua/optionalfeatures.json +1 -1
  87. package/schema/ua/races.json +8 -8
  88. package/schema/ua/recipes.json +1 -1
  89. package/schema/ua/spells/spells.json +1 -1
  90. package/schema/ua/util-copy.json +960 -0
  91. package/schema/ua/util.json +2 -856
  92. package/schema/ua-fast/backgrounds.json +1 -1
  93. package/schema/ua-fast/bestiary/bestiary.json +12 -6
  94. package/schema/ua-fast/bestiary/legendarygroups.json +1 -1
  95. package/schema/ua-fast/bestiary/template.json +4 -4
  96. package/schema/ua-fast/class/class.json +2 -2
  97. package/schema/ua-fast/decks.json +2 -2
  98. package/schema/ua-fast/deities.json +1 -1
  99. package/schema/ua-fast/feats.json +1 -1
  100. package/schema/ua-fast/fluff-races.json +1 -1
  101. package/schema/ua-fast/foundry-races.json +2 -2
  102. package/schema/ua-fast/items-base.json +2 -2
  103. package/schema/ua-fast/items.json +2 -2
  104. package/schema/ua-fast/optionalfeatures.json +1 -1
  105. package/schema/ua-fast/races.json +8 -8
  106. package/schema/ua-fast/recipes.json +1 -1
  107. package/schema/ua-fast/spells/spells.json +1 -1
  108. package/schema/ua-fast/util-copy.json +960 -0
  109. package/schema/ua-fast/util.json +2 -856
@@ -0,0 +1,960 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "util-copy.json",
4
+ "title": "Util: Copy",
5
+ "version": "1.0.0",
6
+ "$defs": {
7
+ "_mod_renameArr_rename": {
8
+ "type": "object",
9
+ "properties": {
10
+ "rename": {
11
+ "type": "string"
12
+ },
13
+ "with": {
14
+ "type": "string"
15
+ }
16
+ },
17
+ "required": [
18
+ "rename",
19
+ "with"
20
+ ],
21
+ "additionalProperties": false
22
+ },
23
+ "_mod_removeArr_name": {
24
+ "type": "string"
25
+ },
26
+ "_mod_removeArr_base": {
27
+ "properties": {
28
+ "mode": {
29
+ "const": "removeArr"
30
+ },
31
+ "force": {
32
+ "const": true
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "copyModifier": {
38
+ "anyOf": [
39
+ {
40
+ "type": "object",
41
+ "properties": {
42
+ "mode": {
43
+ "const": "replaceTxt"
44
+ },
45
+ "replace": {
46
+ "type": "string"
47
+ },
48
+ "with": {
49
+ "type": "string"
50
+ },
51
+ "flags": {
52
+ "type": "string"
53
+ },
54
+ "props": {
55
+ "description": "If unspecified, defaults to `[null, \"entries\", \"headerEntries\", \"footerEntries\"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `\"props\": [null]`)",
56
+ "type": "array",
57
+ "items": {
58
+ "type": [
59
+ "string",
60
+ "null"
61
+ ]
62
+ }
63
+ }
64
+ },
65
+ "required": [
66
+ "mode",
67
+ "replace",
68
+ "with"
69
+ ],
70
+ "additionalProperties": false
71
+ },
72
+ {
73
+ "type": "object",
74
+ "properties": {
75
+ "mode": {
76
+ "const": "replaceName"
77
+ },
78
+ "replace": {
79
+ "type": "string"
80
+ },
81
+ "with": {
82
+ "type": "string"
83
+ },
84
+ "flags": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "required": [
89
+ "mode",
90
+ "replace",
91
+ "with"
92
+ ],
93
+ "additionalProperties": false
94
+ },
95
+ {
96
+ "type": "object",
97
+ "properties": {
98
+ "mode": {
99
+ "const": "appendStr"
100
+ },
101
+ "str": {
102
+ "type": "string"
103
+ },
104
+ "joiner": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "required": [
109
+ "mode",
110
+ "str"
111
+ ],
112
+ "additionalProperties": false
113
+ },
114
+ {
115
+ "type": "object",
116
+ "properties": {
117
+ "mode": {
118
+ "const": "prependArr"
119
+ },
120
+ "items": {
121
+ "anyOf": [
122
+ {
123
+ "type": "string"
124
+ },
125
+ {
126
+ "type": "object"
127
+ },
128
+ {
129
+ "type": "array"
130
+ }
131
+ ]
132
+ }
133
+ },
134
+ "required": [
135
+ "mode",
136
+ "items"
137
+ ],
138
+ "additionalProperties": false
139
+ },
140
+ {
141
+ "type": "object",
142
+ "properties": {
143
+ "mode": {
144
+ "const": "appendArr"
145
+ },
146
+ "items": {
147
+ "anyOf": [
148
+ {
149
+ "type": "string"
150
+ },
151
+ {
152
+ "type": "object"
153
+ },
154
+ {
155
+ "type": "array"
156
+ }
157
+ ]
158
+ }
159
+ },
160
+ "required": [
161
+ "mode",
162
+ "items"
163
+ ],
164
+ "additionalProperties": false
165
+ },
166
+ {
167
+ "type": "object",
168
+ "properties": {
169
+ "mode": {
170
+ "const": "appendIfNotExistsArr"
171
+ },
172
+ "items": {
173
+ "anyOf": [
174
+ {
175
+ "type": "string"
176
+ },
177
+ {
178
+ "type": "object"
179
+ },
180
+ {
181
+ "type": "array"
182
+ }
183
+ ]
184
+ }
185
+ },
186
+ "required": [
187
+ "mode",
188
+ "items"
189
+ ],
190
+ "additionalProperties": false
191
+ },
192
+ {
193
+ "type": "object",
194
+ "properties": {
195
+ "mode": {
196
+ "const": "replaceArr"
197
+ },
198
+ "replace": {
199
+ "oneOf": [
200
+ {
201
+ "type": "string"
202
+ },
203
+ {
204
+ "type": "object",
205
+ "properties": {
206
+ "index": {
207
+ "type": "integer"
208
+ }
209
+ },
210
+ "required": [
211
+ "index"
212
+ ],
213
+ "additionalProperties": false
214
+ },
215
+ {
216
+ "type": "object",
217
+ "properties": {
218
+ "regex": {
219
+ "type": "string"
220
+ },
221
+ "flags": {
222
+ "type": "string"
223
+ }
224
+ },
225
+ "required": [
226
+ "regex"
227
+ ],
228
+ "additionalProperties": false
229
+ }
230
+ ]
231
+ },
232
+ "items": {
233
+ "anyOf": [
234
+ {
235
+ "type": "object"
236
+ },
237
+ {
238
+ "type": "array"
239
+ }
240
+ ]
241
+ }
242
+ },
243
+ "required": [
244
+ "mode",
245
+ "replace",
246
+ "items"
247
+ ],
248
+ "additionalProperties": false
249
+ },
250
+ {
251
+ "type": "object",
252
+ "properties": {
253
+ "mode": {
254
+ "const": "replaceOrAppendArr"
255
+ },
256
+ "replace": {
257
+ "oneOf": [
258
+ {
259
+ "type": "string"
260
+ },
261
+ {
262
+ "type": "object",
263
+ "properties": {
264
+ "index": {
265
+ "type": "integer"
266
+ }
267
+ },
268
+ "required": [
269
+ "index"
270
+ ],
271
+ "additionalProperties": false
272
+ },
273
+ {
274
+ "type": "object",
275
+ "properties": {
276
+ "regex": {
277
+ "type": "string"
278
+ },
279
+ "flags": {
280
+ "type": "string"
281
+ }
282
+ },
283
+ "required": [
284
+ "regex"
285
+ ],
286
+ "additionalProperties": false
287
+ }
288
+ ]
289
+ },
290
+ "items": {
291
+ "anyOf": [
292
+ {
293
+ "type": "object"
294
+ },
295
+ {
296
+ "type": "array"
297
+ }
298
+ ]
299
+ }
300
+ },
301
+ "required": [
302
+ "mode",
303
+ "replace",
304
+ "items"
305
+ ],
306
+ "additionalProperties": false
307
+ },
308
+ {
309
+ "type": "object",
310
+ "properties": {
311
+ "mode": {
312
+ "const": "insertArr"
313
+ },
314
+ "index": {
315
+ "type": "integer"
316
+ },
317
+ "items": {
318
+ "anyOf": [
319
+ {
320
+ "type": "object"
321
+ },
322
+ {
323
+ "type": "string"
324
+ },
325
+ {
326
+ "type": "array"
327
+ }
328
+ ]
329
+ }
330
+ },
331
+ "required": [
332
+ "mode",
333
+ "index",
334
+ "items"
335
+ ],
336
+ "additionalProperties": false
337
+ },
338
+ {
339
+ "type": "object",
340
+ "properties": {
341
+ "mode": {
342
+ "const": "removeArr"
343
+ },
344
+ "force": {
345
+ "const": true
346
+ },
347
+ "names": {
348
+ "anyOf": [
349
+ {
350
+ "$ref": "#/$defs/_mod_removeArr_name"
351
+ },
352
+ {
353
+ "type": "array",
354
+ "items": {
355
+ "$ref": "#/$defs/_mod_removeArr_name"
356
+ },
357
+ "minItems": 1,
358
+ "uniqueItems": true
359
+ }
360
+ ]
361
+ }
362
+ },
363
+ "additionalProperties": false,
364
+ "required": [
365
+ "mode",
366
+ "names"
367
+ ]
368
+ },
369
+ {
370
+ "type": "object",
371
+ "properties": {
372
+ "mode": {
373
+ "const": "removeArr"
374
+ },
375
+ "force": {
376
+ "const": true
377
+ },
378
+ "items": {
379
+ "anyOf": [
380
+ {
381
+ "type": "string"
382
+ },
383
+ {
384
+ "type": "array",
385
+ "minItems": 1,
386
+ "uniqueItems": true
387
+ }
388
+ ]
389
+ }
390
+ },
391
+ "additionalProperties": false,
392
+ "required": [
393
+ "mode",
394
+ "items"
395
+ ]
396
+ },
397
+ {
398
+ "type": "object",
399
+ "properties": {
400
+ "mode": {
401
+ "const": "renameArr"
402
+ },
403
+ "renames": {
404
+ "anyOf": [
405
+ {
406
+ "$ref": "#/$defs/_mod_renameArr_rename"
407
+ },
408
+ {
409
+ "type": "array",
410
+ "items": {
411
+ "$ref": "#/$defs/_mod_renameArr_rename"
412
+ },
413
+ "minItems": 1,
414
+ "uniqueItems": true
415
+ }
416
+ ]
417
+ }
418
+ },
419
+ "required": [
420
+ "mode",
421
+ "renames"
422
+ ],
423
+ "additionalProperties": false
424
+ },
425
+ {
426
+ "type": "object",
427
+ "properties": {
428
+ "mode": {
429
+ "const": "setProp"
430
+ },
431
+ "prop": {
432
+ "type": "string"
433
+ },
434
+ "value": {}
435
+ },
436
+ "required": [
437
+ "mode",
438
+ "prop",
439
+ "value"
440
+ ],
441
+ "additionalProperties": false
442
+ },
443
+ {
444
+ "type": "object",
445
+ "properties": {
446
+ "mode": {
447
+ "const": "calculateProp"
448
+ },
449
+ "prop": {
450
+ "type": "string"
451
+ },
452
+ "formula": {
453
+ "type": "string"
454
+ }
455
+ },
456
+ "required": [
457
+ "mode",
458
+ "prop",
459
+ "formula"
460
+ ],
461
+ "additionalProperties": false
462
+ },
463
+ {
464
+ "type": "object",
465
+ "properties": {
466
+ "mode": {
467
+ "const": "replaceSpells"
468
+ },
469
+ "spells": {
470
+ "type": "object"
471
+ },
472
+ "daily": {
473
+ "type": "object"
474
+ }
475
+ },
476
+ "required": [
477
+ "mode"
478
+ ],
479
+ "additionalProperties": false
480
+ },
481
+ {
482
+ "type": "object",
483
+ "properties": {
484
+ "mode": {
485
+ "const": "removeSpells"
486
+ },
487
+ "spells": {
488
+ "type": "object"
489
+ },
490
+ "daily": {
491
+ "type": "object"
492
+ }
493
+ },
494
+ "required": [
495
+ "mode"
496
+ ],
497
+ "minProperties": 2,
498
+ "additionalProperties": false
499
+ },
500
+ {
501
+ "type": "object",
502
+ "properties": {
503
+ "mode": {
504
+ "const": "addSpells"
505
+ },
506
+ "spells": {
507
+ "type": "object"
508
+ },
509
+ "will": {
510
+ "type": "array"
511
+ },
512
+ "daily": {
513
+ "type": "object"
514
+ },
515
+ "weekly": {
516
+ "type": "object"
517
+ },
518
+ "monthly": {
519
+ "type": "object"
520
+ },
521
+ "yearly": {
522
+ "type": "object"
523
+ }
524
+ },
525
+ "required": [
526
+ "mode"
527
+ ],
528
+ "minProperties": 2,
529
+ "additionalProperties": false
530
+ },
531
+ {
532
+ "type": "object",
533
+ "properties": {
534
+ "mode": {
535
+ "const": "addSkills"
536
+ },
537
+ "skills": {
538
+ "type": "object"
539
+ }
540
+ },
541
+ "required": [
542
+ "mode",
543
+ "skills"
544
+ ],
545
+ "additionalProperties": false
546
+ },
547
+ {
548
+ "type": "object",
549
+ "properties": {
550
+ "mode": {
551
+ "const": "addSaves"
552
+ },
553
+ "saves": {
554
+ "type": "object"
555
+ }
556
+ },
557
+ "required": [
558
+ "mode",
559
+ "saves"
560
+ ],
561
+ "additionalProperties": false
562
+ },
563
+ {
564
+ "type": "object",
565
+ "properties": {
566
+ "mode": {
567
+ "const": "addAllSkills"
568
+ },
569
+ "skills": {
570
+ "type": "integer"
571
+ }
572
+ },
573
+ "required": [
574
+ "mode",
575
+ "skills"
576
+ ],
577
+ "additionalProperties": false
578
+ },
579
+ {
580
+ "type": "object",
581
+ "properties": {
582
+ "mode": {
583
+ "const": "addAllSaves"
584
+ },
585
+ "saves": {
586
+ "type": "integer"
587
+ }
588
+ },
589
+ "required": [
590
+ "mode",
591
+ "saves"
592
+ ],
593
+ "additionalProperties": false
594
+ },
595
+ {
596
+ "type": "object",
597
+ "properties": {
598
+ "mode": {
599
+ "const": "addSenses"
600
+ },
601
+ "senses": {
602
+ "anyOf": [
603
+ {
604
+ "type": "object"
605
+ },
606
+ {
607
+ "type": "array"
608
+ }
609
+ ]
610
+ }
611
+ },
612
+ "required": [
613
+ "mode",
614
+ "senses"
615
+ ],
616
+ "additionalProperties": false
617
+ },
618
+ {
619
+ "type": "object",
620
+ "properties": {
621
+ "mode": {
622
+ "const": "scalarAddProp"
623
+ },
624
+ "prop": {
625
+ "type": "string"
626
+ },
627
+ "scalar": {
628
+ "type": "number"
629
+ }
630
+ },
631
+ "required": [
632
+ "mode",
633
+ "scalar",
634
+ "prop"
635
+ ],
636
+ "additionalProperties": false
637
+ },
638
+ {
639
+ "type": "object",
640
+ "properties": {
641
+ "mode": {
642
+ "const": "scalarMultProp"
643
+ },
644
+ "prop": {
645
+ "type": "string"
646
+ },
647
+ "scalar": {
648
+ "type": "number"
649
+ },
650
+ "floor": {
651
+ "const": true
652
+ }
653
+ },
654
+ "required": [
655
+ "mode",
656
+ "scalar",
657
+ "prop"
658
+ ],
659
+ "additionalProperties": false
660
+ },
661
+ {
662
+ "type": "object",
663
+ "properties": {
664
+ "mode": {
665
+ "const": "scalarAddHit"
666
+ },
667
+ "scalar": {
668
+ "type": "number"
669
+ }
670
+ },
671
+ "required": [
672
+ "mode",
673
+ "scalar"
674
+ ],
675
+ "additionalProperties": false
676
+ },
677
+ {
678
+ "type": "object",
679
+ "properties": {
680
+ "mode": {
681
+ "const": "scalarAddDc"
682
+ },
683
+ "scalar": {
684
+ "type": "number"
685
+ }
686
+ },
687
+ "required": [
688
+ "mode",
689
+ "scalar"
690
+ ],
691
+ "additionalProperties": false
692
+ },
693
+ {
694
+ "type": "object",
695
+ "properties": {
696
+ "mode": {
697
+ "const": "maxSize"
698
+ },
699
+ "max": {
700
+ "type": "string"
701
+ }
702
+ },
703
+ "required": [
704
+ "mode",
705
+ "max"
706
+ ],
707
+ "additionalProperties": false
708
+ },
709
+ {
710
+ "type": "object",
711
+ "properties": {
712
+ "mode": {
713
+ "const": "scalarMultXp"
714
+ },
715
+ "scalar": {
716
+ "type": "number"
717
+ },
718
+ "floor": {
719
+ "const": true
720
+ }
721
+ },
722
+ "required": [
723
+ "mode",
724
+ "scalar"
725
+ ],
726
+ "additionalProperties": false
727
+ }
728
+ ]
729
+ },
730
+ "copyBlock_copy_base": {
731
+ "type": "object",
732
+ "properties": {
733
+ "_mod": {
734
+ "$ref": "#/$defs/_modObject"
735
+ },
736
+ "_templates": {
737
+ "type": "array",
738
+ "items": {
739
+ "type": "object",
740
+ "properties": {
741
+ "name": {
742
+ "type": "string"
743
+ },
744
+ "source": {
745
+ "$ref": "util.json#/$defs/source"
746
+ }
747
+ },
748
+ "required": [
749
+ "name",
750
+ "source"
751
+ ],
752
+ "additionalProperties": false
753
+ },
754
+ "minItems": 1,
755
+ "uniqueItems": true
756
+ },
757
+ "_preserve": {
758
+ "type": "object",
759
+ "patternProperties": {
760
+ ".*": {
761
+ "const": true
762
+ }
763
+ }
764
+ }
765
+ },
766
+ "additionalProperties": false
767
+ },
768
+ "copyBlock_copy_generic": {
769
+ "type": "object",
770
+ "properties": {
771
+ "_mod": {
772
+ "$ref": "#/$defs/_modObject"
773
+ },
774
+ "_templates": {
775
+ "type": "array",
776
+ "items": {
777
+ "type": "object",
778
+ "properties": {
779
+ "name": {
780
+ "type": "string"
781
+ },
782
+ "source": {
783
+ "$ref": "util.json#/$defs/source"
784
+ }
785
+ },
786
+ "required": [
787
+ "name",
788
+ "source"
789
+ ],
790
+ "additionalProperties": false
791
+ },
792
+ "minItems": 1,
793
+ "uniqueItems": true
794
+ },
795
+ "_preserve": {
796
+ "type": "object",
797
+ "patternProperties": {
798
+ ".*": {
799
+ "const": true
800
+ }
801
+ }
802
+ },
803
+ "name": {
804
+ "type": "string"
805
+ },
806
+ "source": {
807
+ "$ref": "util.json#/$defs/source"
808
+ },
809
+ "pantheon": {
810
+ "description": "Used in deity data",
811
+ "type": "string"
812
+ },
813
+ "shortName": {
814
+ "description": "Used in subclass data",
815
+ "type": "string"
816
+ },
817
+ "className": {
818
+ "description": "Used in subclass data",
819
+ "type": "string"
820
+ },
821
+ "classSource": {
822
+ "description": "Used in subclass data",
823
+ "$ref": "util.json#/$defs/source"
824
+ },
825
+ "raceName": {
826
+ "description": "Used in race feature data",
827
+ "type": "string"
828
+ },
829
+ "raceSource": {
830
+ "description": "Used in race feature data",
831
+ "$ref": "util.json#/$defs/source"
832
+ }
833
+ },
834
+ "additionalProperties": false,
835
+ "required": [
836
+ "name",
837
+ "source"
838
+ ]
839
+ },
840
+ "copyBlockGeneric": {
841
+ "type": "object",
842
+ "properties": {
843
+ "_copy": {
844
+ "$ref": "#/$defs/copyBlock_copy_generic"
845
+ }
846
+ },
847
+ "required": [
848
+ "_copy"
849
+ ]
850
+ },
851
+ "version": {
852
+ "oneOf": [
853
+ {
854
+ "type": "object",
855
+ "properties": {
856
+ "name": {
857
+ "type": "string"
858
+ },
859
+ "source": {
860
+ "$ref": "util.json#/$defs/source"
861
+ },
862
+ "_mod": {
863
+ "$ref": "#/$defs/_modObject"
864
+ },
865
+ "_preserve": {
866
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
867
+ "$ref": "#/$defs/_preserveObject"
868
+ }
869
+ },
870
+ "required": [
871
+ "name",
872
+ "source"
873
+ ]
874
+ },
875
+ {
876
+ "type": "object",
877
+ "properties": {
878
+ "_abstract": {
879
+ "type": "object",
880
+ "properties": {
881
+ "name": {
882
+ "type": "string"
883
+ },
884
+ "source": {
885
+ "$ref": "util.json#/$defs/source"
886
+ },
887
+ "_mod": {
888
+ "$ref": "#/$defs/_modObject"
889
+ },
890
+ "_preserve": {
891
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
892
+ "$ref": "#/$defs/_preserveObject"
893
+ }
894
+ },
895
+ "required": [
896
+ "name",
897
+ "source",
898
+ "_mod"
899
+ ]
900
+ },
901
+ "_implementations": {
902
+ "type": "array",
903
+ "items": {
904
+ "type": "object",
905
+ "properties": {
906
+ "_variables": {
907
+ "type": "object"
908
+ }
909
+ },
910
+ "required": [
911
+ "_variables"
912
+ ]
913
+ }
914
+ }
915
+ },
916
+ "required": [
917
+ "_abstract",
918
+ "_implementations"
919
+ ]
920
+ }
921
+ ]
922
+ },
923
+ "versionsArray": {
924
+ "type": "array",
925
+ "minItems": 1,
926
+ "items": {
927
+ "$ref": "#/$defs/version"
928
+ }
929
+ },
930
+ "_modObject": {
931
+ "type": "object",
932
+ "patternProperties": {
933
+ ".*": {
934
+ "anyOf": [
935
+ {
936
+ "type": "string"
937
+ },
938
+ {
939
+ "$ref": "#/$defs/copyModifier"
940
+ },
941
+ {
942
+ "type": "array",
943
+ "items": {
944
+ "$ref": "#/$defs/copyModifier"
945
+ }
946
+ }
947
+ ]
948
+ }
949
+ }
950
+ },
951
+ "_preserveObject": {
952
+ "type": "object",
953
+ "patternProperties": {
954
+ ".*": {
955
+ "const": true
956
+ }
957
+ }
958
+ }
959
+ }
960
+ }