optolith-database-schema 0.1.27 → 0.2.1
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.
- package/CHANGELOG.md +24 -0
- package/lib/types/Race.d.ts +3 -25
- package/lib/types/Race.js +0 -9
- package/lib/types/_Activatable.d.ts +170 -116
- package/lib/types/_Activatable.js +12 -9
- package/lib/types/_Dice.d.ts +23 -0
- package/lib/types/_Dice.js +9 -0
- package/lib/types/_Identifier.d.ts +9 -0
- package/lib/types/_Identifier.js +9 -0
- package/lib/types/equipment/Item.d.ts +308 -0
- package/lib/types/equipment/Item.js +35 -0
- package/lib/types/equipment/_Armor.d.ts +70 -0
- package/lib/types/equipment/_Armor.js +4 -0
- package/lib/types/equipment/_Weapon.d.ts +330 -0
- package/lib/types/equipment/_Weapon.js +4 -0
- package/package.json +1 -1
- package/schema/Race.schema.json +3 -31
- package/schema/_Activatable.schema.json +474 -289
- package/schema/_Dice.schema.json +34 -0
- package/schema/_Identifier.schema.json +28 -0
- package/schema/equipment/Item.schema.json +621 -0
- package/schema/equipment/_Armor.schema.json +125 -0
- package/schema/equipment/_Weapon.schema.json +664 -0
|
@@ -32,12 +32,8 @@
|
|
|
32
32
|
"type": "object",
|
|
33
33
|
"properties": {
|
|
34
34
|
"derived": {
|
|
35
|
-
"description": "
|
|
36
|
-
"
|
|
37
|
-
"items": {
|
|
38
|
-
"$ref": "#/definitions/CategoryOption"
|
|
39
|
-
},
|
|
40
|
-
"minItems": 1
|
|
35
|
+
"description": "An entry category with optional further configuration. All available\nentries from the specified categories will be included as separate select\noptions. You can also specify a set of groups that should only be\nincluded. Groups not mentioned will be excluded then.",
|
|
36
|
+
"$ref": "#/definitions/CategoryOption"
|
|
41
37
|
},
|
|
42
38
|
"explicit": {
|
|
43
39
|
"description": "A list of explicit select options. If the identifier has a specific type,\nits entry is the base of this select option, where values defined here\noverride values from the base. Define the `src` property if the options\nare not derived from the rules text of the advantage/disadvantage/special\nability but instead are listed in a separate block and/or on a separate\npage.",
|
|
@@ -359,210 +355,307 @@
|
|
|
359
355
|
"tag": {
|
|
360
356
|
"const": "Skills"
|
|
361
357
|
},
|
|
362
|
-
"
|
|
363
|
-
"description": "
|
|
358
|
+
"categories": {
|
|
359
|
+
"description": "A list of skill categories.",
|
|
364
360
|
"type": "array",
|
|
365
361
|
"items": {
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
"id": {
|
|
369
|
-
"description": "The skill group's identifier.",
|
|
370
|
-
"type": "integer",
|
|
371
|
-
"maximum": 5,
|
|
372
|
-
"minimum": 1
|
|
373
|
-
}
|
|
374
|
-
},
|
|
375
|
-
"required": [
|
|
376
|
-
"id"
|
|
377
|
-
],
|
|
378
|
-
"additionalProperties": false
|
|
379
|
-
},
|
|
380
|
-
"minItems": 1
|
|
381
|
-
},
|
|
382
|
-
"specific": {
|
|
383
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific skills.",
|
|
384
|
-
"type": "object",
|
|
385
|
-
"properties": {
|
|
386
|
-
"operation": {
|
|
387
|
-
"oneOf": [
|
|
388
|
-
{
|
|
389
|
-
"type": "object",
|
|
390
|
-
"properties": {
|
|
391
|
-
"tag": {
|
|
392
|
-
"const": "Intersection"
|
|
393
|
-
}
|
|
394
|
-
},
|
|
395
|
-
"required": [
|
|
396
|
-
"tag"
|
|
397
|
-
],
|
|
398
|
-
"additionalProperties": false
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
"type": "object",
|
|
402
|
-
"properties": {
|
|
403
|
-
"tag": {
|
|
404
|
-
"const": "Difference"
|
|
405
|
-
}
|
|
406
|
-
},
|
|
407
|
-
"required": [
|
|
408
|
-
"tag"
|
|
409
|
-
],
|
|
410
|
-
"additionalProperties": false
|
|
411
|
-
}
|
|
412
|
-
]
|
|
413
|
-
},
|
|
414
|
-
"list": {
|
|
415
|
-
"description": "The list of specific skills.",
|
|
416
|
-
"type": "array",
|
|
417
|
-
"items": {
|
|
362
|
+
"oneOf": [
|
|
363
|
+
{
|
|
418
364
|
"type": "object",
|
|
419
365
|
"properties": {
|
|
420
|
-
"
|
|
421
|
-
"
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
"
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
"items": {
|
|
446
|
-
"type": "object",
|
|
447
|
-
"properties": {
|
|
448
|
-
"id": {
|
|
449
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
450
|
-
"type": "integer",
|
|
451
|
-
"minimum": 1
|
|
452
|
-
},
|
|
453
|
-
"translations": {
|
|
454
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
455
|
-
"type": "object",
|
|
456
|
-
"patternProperties": {
|
|
457
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
366
|
+
"tag": {
|
|
367
|
+
"const": "Skills"
|
|
368
|
+
},
|
|
369
|
+
"groups": {
|
|
370
|
+
"description": "Only include entries of the specified groups.",
|
|
371
|
+
"type": "array",
|
|
372
|
+
"items": {
|
|
373
|
+
"type": "object",
|
|
374
|
+
"properties": {
|
|
375
|
+
"id": {
|
|
376
|
+
"description": "The skill group's identifier.",
|
|
377
|
+
"type": "integer",
|
|
378
|
+
"maximum": 5,
|
|
379
|
+
"minimum": 1
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
"required": [
|
|
383
|
+
"id"
|
|
384
|
+
],
|
|
385
|
+
"additionalProperties": false
|
|
386
|
+
},
|
|
387
|
+
"minItems": 1
|
|
388
|
+
},
|
|
389
|
+
"specific": {
|
|
390
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nskills.",
|
|
458
391
|
"type": "object",
|
|
459
392
|
"properties": {
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
|
|
463
|
-
|
|
393
|
+
"operation": {
|
|
394
|
+
"oneOf": [
|
|
395
|
+
{
|
|
396
|
+
"type": "object",
|
|
397
|
+
"properties": {
|
|
398
|
+
"tag": {
|
|
399
|
+
"const": "Intersection"
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"required": [
|
|
403
|
+
"tag"
|
|
404
|
+
],
|
|
405
|
+
"additionalProperties": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"type": "object",
|
|
409
|
+
"properties": {
|
|
410
|
+
"tag": {
|
|
411
|
+
"const": "Difference"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"required": [
|
|
415
|
+
"tag"
|
|
416
|
+
],
|
|
417
|
+
"additionalProperties": false
|
|
418
|
+
}
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
"list": {
|
|
422
|
+
"description": "The list of specific skills.",
|
|
423
|
+
"type": "array",
|
|
424
|
+
"items": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"properties": {
|
|
427
|
+
"id": {
|
|
428
|
+
"description": "The skill's identifier.",
|
|
429
|
+
"type": "integer",
|
|
430
|
+
"maximum": 59,
|
|
431
|
+
"minimum": 1
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
"required": [
|
|
435
|
+
"id"
|
|
436
|
+
],
|
|
437
|
+
"additionalProperties": false
|
|
438
|
+
},
|
|
439
|
+
"minItems": 1,
|
|
440
|
+
"uniqueItems": true
|
|
464
441
|
}
|
|
465
442
|
},
|
|
466
443
|
"required": [
|
|
467
|
-
"
|
|
444
|
+
"operation",
|
|
445
|
+
"list"
|
|
468
446
|
],
|
|
469
447
|
"additionalProperties": false
|
|
448
|
+
},
|
|
449
|
+
"skill_applications": {
|
|
450
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an\nentry-unique identifier, the skill it belongs to is derived from the\nselect option automatically. A translation can be left out if its\nname equals the name of the origin entry.",
|
|
451
|
+
"type": "array",
|
|
452
|
+
"items": {
|
|
453
|
+
"type": "object",
|
|
454
|
+
"properties": {
|
|
455
|
+
"id": {
|
|
456
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
457
|
+
"type": "integer",
|
|
458
|
+
"minimum": 1
|
|
459
|
+
},
|
|
460
|
+
"translations": {
|
|
461
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
462
|
+
"type": "object",
|
|
463
|
+
"patternProperties": {
|
|
464
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
465
|
+
"type": "object",
|
|
466
|
+
"properties": {
|
|
467
|
+
"name": {
|
|
468
|
+
"description": "The name of the application if different from the activatable\nentry's\nname.",
|
|
469
|
+
"type": "string",
|
|
470
|
+
"minLength": 1
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
"required": [
|
|
474
|
+
"name"
|
|
475
|
+
],
|
|
476
|
+
"additionalProperties": false
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"minProperties": 1,
|
|
480
|
+
"additionalProperties": false
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
"required": [
|
|
484
|
+
"id"
|
|
485
|
+
],
|
|
486
|
+
"additionalProperties": false
|
|
487
|
+
},
|
|
488
|
+
"minItems": 1
|
|
489
|
+
},
|
|
490
|
+
"skill_uses": {
|
|
491
|
+
"description": "Registers uses, which get enabled once this entry is activated with\nits respective select option. It specifies an entry-unique\nidentifier, the skill it belongs to is derived from the select option\nautomatically. A translation can be left out if its name equals the\nname of the origin entry.",
|
|
492
|
+
"type": "array",
|
|
493
|
+
"items": {
|
|
494
|
+
"type": "object",
|
|
495
|
+
"properties": {
|
|
496
|
+
"id": {
|
|
497
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
498
|
+
"type": "integer",
|
|
499
|
+
"minimum": 1
|
|
500
|
+
},
|
|
501
|
+
"translations": {
|
|
502
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
503
|
+
"type": "object",
|
|
504
|
+
"patternProperties": {
|
|
505
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
506
|
+
"type": "object",
|
|
507
|
+
"properties": {
|
|
508
|
+
"name": {
|
|
509
|
+
"description": "The name of the use if different from the activatable entry's\nname.",
|
|
510
|
+
"type": "string",
|
|
511
|
+
"minLength": 1
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
"required": [
|
|
515
|
+
"name"
|
|
516
|
+
],
|
|
517
|
+
"additionalProperties": false
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
"minProperties": 1,
|
|
521
|
+
"additionalProperties": false
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
"required": [
|
|
525
|
+
"id"
|
|
526
|
+
],
|
|
527
|
+
"additionalProperties": false
|
|
528
|
+
},
|
|
529
|
+
"minItems": 1
|
|
530
|
+
},
|
|
531
|
+
"prerequisites": {
|
|
532
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
533
|
+
"type": "array",
|
|
534
|
+
"items": {
|
|
535
|
+
"oneOf": [
|
|
536
|
+
{
|
|
537
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
541
|
+
}
|
|
542
|
+
]
|
|
543
|
+
},
|
|
544
|
+
"minItems": 1
|
|
470
545
|
}
|
|
471
546
|
},
|
|
472
|
-
"
|
|
547
|
+
"required": [
|
|
548
|
+
"tag"
|
|
549
|
+
],
|
|
473
550
|
"additionalProperties": false
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
"required": [
|
|
477
|
-
"id"
|
|
478
|
-
],
|
|
479
|
-
"additionalProperties": false
|
|
480
|
-
},
|
|
481
|
-
"minItems": 1
|
|
482
|
-
},
|
|
483
|
-
"skill_uses": {
|
|
484
|
-
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier, the\nskill it belongs to is derived from the select option automatically. A\ntranslation can be left out if its name equals the name of the origin\nentry.",
|
|
485
|
-
"type": "array",
|
|
486
|
-
"items": {
|
|
487
|
-
"type": "object",
|
|
488
|
-
"properties": {
|
|
489
|
-
"id": {
|
|
490
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
491
|
-
"type": "integer",
|
|
492
|
-
"minimum": 1
|
|
493
551
|
},
|
|
494
|
-
|
|
495
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
552
|
+
{
|
|
496
553
|
"type": "object",
|
|
497
|
-
"
|
|
498
|
-
"
|
|
554
|
+
"properties": {
|
|
555
|
+
"tag": {
|
|
556
|
+
"$ref": "#/definitions/SkillWithEnhancementsCategory"
|
|
557
|
+
},
|
|
558
|
+
"specific": {
|
|
559
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
499
560
|
"type": "object",
|
|
500
561
|
"properties": {
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
|
|
504
|
-
|
|
562
|
+
"operation": {
|
|
563
|
+
"oneOf": [
|
|
564
|
+
{
|
|
565
|
+
"type": "object",
|
|
566
|
+
"properties": {
|
|
567
|
+
"tag": {
|
|
568
|
+
"const": "Intersection"
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
"required": [
|
|
572
|
+
"tag"
|
|
573
|
+
],
|
|
574
|
+
"additionalProperties": false
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"type": "object",
|
|
578
|
+
"properties": {
|
|
579
|
+
"tag": {
|
|
580
|
+
"const": "Difference"
|
|
581
|
+
}
|
|
582
|
+
},
|
|
583
|
+
"required": [
|
|
584
|
+
"tag"
|
|
585
|
+
],
|
|
586
|
+
"additionalProperties": false
|
|
587
|
+
}
|
|
588
|
+
]
|
|
589
|
+
},
|
|
590
|
+
"list": {
|
|
591
|
+
"description": "The list of specific entries.",
|
|
592
|
+
"type": "array",
|
|
593
|
+
"items": {
|
|
594
|
+
"type": "object",
|
|
595
|
+
"properties": {
|
|
596
|
+
"id": {
|
|
597
|
+
"description": "The entry's identifier.",
|
|
598
|
+
"type": "integer",
|
|
599
|
+
"maximum": 59,
|
|
600
|
+
"minimum": 1
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
"required": [
|
|
604
|
+
"id"
|
|
605
|
+
],
|
|
606
|
+
"additionalProperties": false
|
|
607
|
+
},
|
|
608
|
+
"minItems": 1,
|
|
609
|
+
"uniqueItems": true
|
|
505
610
|
}
|
|
506
611
|
},
|
|
507
612
|
"required": [
|
|
508
|
-
"
|
|
613
|
+
"operation",
|
|
614
|
+
"list"
|
|
509
615
|
],
|
|
510
616
|
"additionalProperties": false
|
|
617
|
+
},
|
|
618
|
+
"prerequisites": {
|
|
619
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
620
|
+
"type": "array",
|
|
621
|
+
"items": {
|
|
622
|
+
"oneOf": [
|
|
623
|
+
{
|
|
624
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
628
|
+
}
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
"minItems": 1
|
|
511
632
|
}
|
|
512
633
|
},
|
|
513
|
-
"
|
|
634
|
+
"required": [
|
|
635
|
+
"tag"
|
|
636
|
+
],
|
|
514
637
|
"additionalProperties": false
|
|
515
638
|
}
|
|
516
|
-
},
|
|
517
|
-
"required": [
|
|
518
|
-
"id"
|
|
519
|
-
],
|
|
520
|
-
"additionalProperties": false
|
|
521
|
-
},
|
|
522
|
-
"minItems": 1
|
|
523
|
-
},
|
|
524
|
-
"prerequisites": {
|
|
525
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
526
|
-
"type": "array",
|
|
527
|
-
"items": {
|
|
528
|
-
"oneOf": [
|
|
529
|
-
{
|
|
530
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
531
|
-
},
|
|
532
|
-
{
|
|
533
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
534
|
-
}
|
|
535
639
|
]
|
|
536
640
|
},
|
|
537
641
|
"minItems": 1
|
|
538
642
|
},
|
|
539
643
|
"ap_value": {
|
|
540
644
|
"description": "Generate AP values for each entry.",
|
|
541
|
-
"
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
"required": [
|
|
545
|
-
"tag"
|
|
546
|
-
],
|
|
547
|
-
"additionalProperties": false
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
|
-
"type": "object",
|
|
551
|
-
"properties": {
|
|
552
|
-
"tag": {
|
|
553
|
-
"$ref": "#/definitions/NonSkillSkillCategory"
|
|
554
|
-
},
|
|
555
|
-
"specific": {
|
|
556
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific entries.",
|
|
557
|
-
"type": "object",
|
|
558
|
-
"properties": {
|
|
559
|
-
"operation": {
|
|
645
|
+
"oneOf": [
|
|
646
|
+
{
|
|
647
|
+
"description": "Generate AP values for each entry.",
|
|
560
648
|
"oneOf": [
|
|
561
649
|
{
|
|
562
650
|
"type": "object",
|
|
563
651
|
"properties": {
|
|
564
652
|
"tag": {
|
|
565
|
-
"const": "
|
|
653
|
+
"const": "DerivedFromImprovementCost"
|
|
654
|
+
},
|
|
655
|
+
"multiplier": {
|
|
656
|
+
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
657
|
+
"type": "integer",
|
|
658
|
+
"minimum": 2
|
|
566
659
|
}
|
|
567
660
|
},
|
|
568
661
|
"required": [
|
|
@@ -574,79 +667,236 @@
|
|
|
574
667
|
"type": "object",
|
|
575
668
|
"properties": {
|
|
576
669
|
"tag": {
|
|
577
|
-
"const": "
|
|
670
|
+
"const": "Fixed"
|
|
671
|
+
},
|
|
672
|
+
"map": {
|
|
673
|
+
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
674
|
+
"type": "array",
|
|
675
|
+
"items": {
|
|
676
|
+
"type": "object",
|
|
677
|
+
"properties": {
|
|
678
|
+
"id": {
|
|
679
|
+
"$ref": "./_Identifier.schema.json#/definitions/SkillIdentifier"
|
|
680
|
+
},
|
|
681
|
+
"ap_value": {
|
|
682
|
+
"description": "The AP value for the specified entry.",
|
|
683
|
+
"type": "integer",
|
|
684
|
+
"minimum": 1
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
"required": [
|
|
688
|
+
"id",
|
|
689
|
+
"ap_value"
|
|
690
|
+
],
|
|
691
|
+
"additionalProperties": false
|
|
692
|
+
}
|
|
693
|
+
},
|
|
694
|
+
"default": {
|
|
695
|
+
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
696
|
+
"type": "integer",
|
|
697
|
+
"minimum": 1
|
|
578
698
|
}
|
|
579
699
|
},
|
|
580
700
|
"required": [
|
|
581
|
-
"tag"
|
|
701
|
+
"tag",
|
|
702
|
+
"map",
|
|
703
|
+
"default"
|
|
582
704
|
],
|
|
583
705
|
"additionalProperties": false
|
|
584
706
|
}
|
|
585
707
|
]
|
|
586
708
|
},
|
|
587
|
-
|
|
588
|
-
"
|
|
589
|
-
"
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
"properties": {
|
|
593
|
-
"id": {
|
|
594
|
-
"description": "The entry's identifier.",
|
|
595
|
-
"type": "integer",
|
|
596
|
-
"maximum": 59,
|
|
597
|
-
"minimum": 1
|
|
598
|
-
}
|
|
709
|
+
{
|
|
710
|
+
"type": "object",
|
|
711
|
+
"properties": {
|
|
712
|
+
"tag": {
|
|
713
|
+
"const": "CombatTechniques"
|
|
599
714
|
},
|
|
600
|
-
"
|
|
601
|
-
"
|
|
602
|
-
|
|
603
|
-
|
|
715
|
+
"categories": {
|
|
716
|
+
"description": "A list of combat technique categories.",
|
|
717
|
+
"type": "array",
|
|
718
|
+
"items": {
|
|
719
|
+
"type": "object",
|
|
720
|
+
"properties": {
|
|
721
|
+
"tag": {
|
|
722
|
+
"$ref": "#/definitions/CombatTechniqueCategory"
|
|
723
|
+
},
|
|
724
|
+
"specific": {
|
|
725
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
726
|
+
"type": "object",
|
|
727
|
+
"properties": {
|
|
728
|
+
"operation": {
|
|
729
|
+
"oneOf": [
|
|
730
|
+
{
|
|
731
|
+
"type": "object",
|
|
732
|
+
"properties": {
|
|
733
|
+
"tag": {
|
|
734
|
+
"const": "Intersection"
|
|
735
|
+
}
|
|
736
|
+
},
|
|
737
|
+
"required": [
|
|
738
|
+
"tag"
|
|
739
|
+
],
|
|
740
|
+
"additionalProperties": false
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"type": "object",
|
|
744
|
+
"properties": {
|
|
745
|
+
"tag": {
|
|
746
|
+
"const": "Difference"
|
|
747
|
+
}
|
|
748
|
+
},
|
|
749
|
+
"required": [
|
|
750
|
+
"tag"
|
|
751
|
+
],
|
|
752
|
+
"additionalProperties": false
|
|
753
|
+
}
|
|
754
|
+
]
|
|
755
|
+
},
|
|
756
|
+
"list": {
|
|
757
|
+
"description": "The list of specific entries.",
|
|
758
|
+
"type": "array",
|
|
759
|
+
"items": {
|
|
760
|
+
"type": "object",
|
|
761
|
+
"properties": {
|
|
762
|
+
"id": {
|
|
763
|
+
"description": "The entry's identifier.",
|
|
764
|
+
"type": "integer",
|
|
765
|
+
"maximum": 59,
|
|
766
|
+
"minimum": 1
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
"required": [
|
|
770
|
+
"id"
|
|
771
|
+
],
|
|
772
|
+
"additionalProperties": false
|
|
773
|
+
},
|
|
774
|
+
"minItems": 1,
|
|
775
|
+
"uniqueItems": true
|
|
776
|
+
}
|
|
777
|
+
},
|
|
778
|
+
"required": [
|
|
779
|
+
"operation",
|
|
780
|
+
"list"
|
|
781
|
+
],
|
|
782
|
+
"additionalProperties": false
|
|
783
|
+
},
|
|
784
|
+
"prerequisites": {
|
|
785
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
786
|
+
"type": "array",
|
|
787
|
+
"items": {
|
|
788
|
+
"oneOf": [
|
|
789
|
+
{
|
|
790
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
794
|
+
}
|
|
795
|
+
]
|
|
796
|
+
},
|
|
797
|
+
"minItems": 1
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
"required": [
|
|
801
|
+
"tag"
|
|
802
|
+
],
|
|
803
|
+
"additionalProperties": false
|
|
804
|
+
},
|
|
805
|
+
"minItems": 1
|
|
806
|
+
},
|
|
807
|
+
"ap_value": {
|
|
808
|
+
"description": "Generate AP values for each entry.",
|
|
809
|
+
"oneOf": [
|
|
810
|
+
{
|
|
811
|
+
"type": "object",
|
|
812
|
+
"properties": {
|
|
813
|
+
"tag": {
|
|
814
|
+
"const": "DerivedFromImprovementCost"
|
|
815
|
+
},
|
|
816
|
+
"multiplier": {
|
|
817
|
+
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
818
|
+
"type": "integer",
|
|
819
|
+
"minimum": 2
|
|
820
|
+
}
|
|
821
|
+
},
|
|
822
|
+
"required": [
|
|
823
|
+
"tag"
|
|
824
|
+
],
|
|
825
|
+
"additionalProperties": false
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"type": "object",
|
|
829
|
+
"properties": {
|
|
830
|
+
"tag": {
|
|
831
|
+
"const": "Fixed"
|
|
832
|
+
},
|
|
833
|
+
"map": {
|
|
834
|
+
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
835
|
+
"type": "array",
|
|
836
|
+
"items": {
|
|
837
|
+
"type": "object",
|
|
838
|
+
"properties": {
|
|
839
|
+
"id": {
|
|
840
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
841
|
+
},
|
|
842
|
+
"ap_value": {
|
|
843
|
+
"description": "The AP value for the specified entry.",
|
|
844
|
+
"type": "integer",
|
|
845
|
+
"minimum": 1
|
|
846
|
+
}
|
|
847
|
+
},
|
|
848
|
+
"required": [
|
|
849
|
+
"id",
|
|
850
|
+
"ap_value"
|
|
851
|
+
],
|
|
852
|
+
"additionalProperties": false
|
|
853
|
+
}
|
|
854
|
+
},
|
|
855
|
+
"default": {
|
|
856
|
+
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
857
|
+
"type": "integer",
|
|
858
|
+
"minimum": 1
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
"required": [
|
|
862
|
+
"tag",
|
|
863
|
+
"map",
|
|
864
|
+
"default"
|
|
865
|
+
],
|
|
866
|
+
"additionalProperties": false
|
|
867
|
+
}
|
|
868
|
+
]
|
|
869
|
+
}
|
|
604
870
|
},
|
|
605
|
-
"
|
|
606
|
-
|
|
871
|
+
"required": [
|
|
872
|
+
"tag",
|
|
873
|
+
"categories"
|
|
874
|
+
],
|
|
875
|
+
"additionalProperties": false
|
|
607
876
|
}
|
|
608
|
-
|
|
609
|
-
"required": [
|
|
610
|
-
"operation",
|
|
611
|
-
"list"
|
|
612
|
-
],
|
|
613
|
-
"additionalProperties": false
|
|
614
|
-
},
|
|
615
|
-
"prerequisites": {
|
|
616
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
617
|
-
"type": "array",
|
|
618
|
-
"items": {
|
|
619
|
-
"oneOf": [
|
|
620
|
-
{
|
|
621
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
622
|
-
},
|
|
623
|
-
{
|
|
624
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
625
|
-
}
|
|
626
|
-
]
|
|
627
|
-
},
|
|
628
|
-
"minItems": 1
|
|
629
|
-
},
|
|
630
|
-
"ap_value": {
|
|
631
|
-
"description": "Generate AP values for each entry.",
|
|
632
|
-
"$ref": "#/definitions/OptionSkillDeriveAdventurePointsValue"
|
|
877
|
+
]
|
|
633
878
|
}
|
|
634
879
|
},
|
|
635
880
|
"required": [
|
|
636
|
-
"tag"
|
|
881
|
+
"tag",
|
|
882
|
+
"categories"
|
|
637
883
|
],
|
|
638
884
|
"additionalProperties": false
|
|
639
885
|
}
|
|
640
886
|
]
|
|
641
887
|
},
|
|
642
|
-
"
|
|
888
|
+
"SkillWithEnhancementsCategory": {
|
|
643
889
|
"enum": [
|
|
644
|
-
"
|
|
645
|
-
"
|
|
890
|
+
"spells",
|
|
891
|
+
"Rituals",
|
|
646
892
|
"LiturgicalChants",
|
|
647
|
-
"Ceremonies"
|
|
648
|
-
|
|
649
|
-
|
|
893
|
+
"Ceremonies"
|
|
894
|
+
]
|
|
895
|
+
},
|
|
896
|
+
"CombatTechniqueCategory": {
|
|
897
|
+
"enum": [
|
|
898
|
+
"CloseCombatTechniques",
|
|
899
|
+
"RangedCombatTechniques"
|
|
650
900
|
]
|
|
651
901
|
},
|
|
652
902
|
"OptionSkillSelfPrerequisite": {
|
|
@@ -695,71 +945,6 @@
|
|
|
695
945
|
],
|
|
696
946
|
"additionalProperties": false
|
|
697
947
|
},
|
|
698
|
-
"OptionSkillDeriveAdventurePointsValue": {
|
|
699
|
-
"description": "Generate AP values for each entry.",
|
|
700
|
-
"oneOf": [
|
|
701
|
-
{
|
|
702
|
-
"type": "object",
|
|
703
|
-
"properties": {
|
|
704
|
-
"tag": {
|
|
705
|
-
"const": "DerivedFromImprovementCost"
|
|
706
|
-
},
|
|
707
|
-
"multiplier": {
|
|
708
|
-
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
709
|
-
"type": "integer",
|
|
710
|
-
"minimum": 2
|
|
711
|
-
}
|
|
712
|
-
},
|
|
713
|
-
"required": [
|
|
714
|
-
"tag"
|
|
715
|
-
],
|
|
716
|
-
"additionalProperties": false
|
|
717
|
-
},
|
|
718
|
-
{
|
|
719
|
-
"type": "object",
|
|
720
|
-
"properties": {
|
|
721
|
-
"tag": {
|
|
722
|
-
"const": "Fixed"
|
|
723
|
-
},
|
|
724
|
-
"map": {
|
|
725
|
-
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
726
|
-
"type": "array",
|
|
727
|
-
"items": {
|
|
728
|
-
"type": "object",
|
|
729
|
-
"properties": {
|
|
730
|
-
"id": {
|
|
731
|
-
"description": "The skill's identifier.",
|
|
732
|
-
"type": "integer",
|
|
733
|
-
"minimum": 1
|
|
734
|
-
},
|
|
735
|
-
"ap_value": {
|
|
736
|
-
"description": "The AP value for the specified entry.",
|
|
737
|
-
"type": "integer",
|
|
738
|
-
"minimum": 1
|
|
739
|
-
}
|
|
740
|
-
},
|
|
741
|
-
"required": [
|
|
742
|
-
"id",
|
|
743
|
-
"ap_value"
|
|
744
|
-
],
|
|
745
|
-
"additionalProperties": false
|
|
746
|
-
}
|
|
747
|
-
},
|
|
748
|
-
"default": {
|
|
749
|
-
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
750
|
-
"type": "integer",
|
|
751
|
-
"minimum": 1
|
|
752
|
-
}
|
|
753
|
-
},
|
|
754
|
-
"required": [
|
|
755
|
-
"tag",
|
|
756
|
-
"map",
|
|
757
|
-
"default"
|
|
758
|
-
],
|
|
759
|
-
"additionalProperties": false
|
|
760
|
-
}
|
|
761
|
-
]
|
|
762
|
-
},
|
|
763
948
|
"ExplicitOption": {
|
|
764
949
|
"oneOf": [
|
|
765
950
|
{
|