optolith-database-schema 0.0.1 → 0.0.2

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 (35) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/types/Ceremony.d.ts +150 -0
  3. package/lib/types/Ceremony.js +4 -0
  4. package/lib/types/LiturgicalChant.d.ts +150 -0
  5. package/lib/types/LiturgicalChant.js +4 -0
  6. package/lib/types/Ritual.d.ts +134 -0
  7. package/lib/types/Ritual.js +4 -0
  8. package/lib/types/{SkillModificationIncrement.d.ts → SkillModificationLevel.d.ts} +58 -31
  9. package/lib/types/SkillModificationLevel.js +8 -0
  10. package/lib/types/Spell.d.ts +134 -0
  11. package/lib/types/Spell.js +4 -0
  12. package/lib/types/_ActivatableSkill.d.ts +42 -15
  13. package/lib/types/_ActivatableSkill.js +0 -5
  14. package/lib/types/_Enhancements.d.ts +66 -0
  15. package/lib/types/_Enhancements.js +4 -0
  16. package/lib/types/_Identifier.d.ts +80 -0
  17. package/lib/types/_Identifier.js +1 -0
  18. package/lib/types/_Prerequisite.d.ts +93 -1
  19. package/lib/types/_Prerequisite.js +183 -1
  20. package/lib/types/magicalActions/GeodeRitual.d.ts +3 -2
  21. package/lib/types/magicalActions/ZibiljaRitual.d.ts +2 -2
  22. package/package.json +1 -1
  23. package/schema/Ceremony.schema.json +239 -0
  24. package/schema/LiturgicalChant.schema.json +239 -0
  25. package/schema/Ritual.schema.json +219 -0
  26. package/schema/SkillModificationLevel.schema.json +138 -0
  27. package/schema/Spell.schema.json +219 -0
  28. package/schema/_ActivatableSkill.schema.json +174 -19
  29. package/schema/_Enhancements.schema.json +82 -0
  30. package/schema/_Identifier.schema.json +185 -0
  31. package/schema/_Prerequisite.schema.json +199 -1
  32. package/schema/magicalActions/GeodeRitual.schema.json +1 -1
  33. package/schema/magicalActions/ZibiljaRitual.schema.json +1 -1
  34. package/lib/types/SkillModificationIncrement.js +0 -4
  35. package/schema/SkillModificationIncrement.schema.json +0 -98
@@ -0,0 +1,185 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "_Identifier.schema.json",
4
+ "definitions": {
5
+ "Identifier": {
6
+ "Tagged": {
7
+ "Attribute": {
8
+ "type": "object",
9
+ "properties": {
10
+ "tag": {
11
+ "const": "Attribute"
12
+ },
13
+ "value": {
14
+ "description": "The attribute's numeric identifier.",
15
+ "type": "integer",
16
+ "maximum": 8,
17
+ "minimum": 1
18
+ }
19
+ },
20
+ "required": [
21
+ "tag",
22
+ "value"
23
+ ],
24
+ "additionalProperties": false
25
+ },
26
+ "Skill": {
27
+ "type": "object",
28
+ "properties": {
29
+ "tag": {
30
+ "const": "Skill"
31
+ },
32
+ "value": {
33
+ "description": "The skill's numeric identifier.",
34
+ "type": "integer",
35
+ "minimum": 1
36
+ }
37
+ },
38
+ "required": [
39
+ "tag",
40
+ "value"
41
+ ],
42
+ "additionalProperties": false
43
+ },
44
+ "CloseCombatTechnique": {
45
+ "type": "object",
46
+ "properties": {
47
+ "tag": {
48
+ "const": "CloseCombatTechnique"
49
+ },
50
+ "value": {
51
+ "description": "The close combat technique's numeric identifier.",
52
+ "type": "integer",
53
+ "minimum": 1
54
+ }
55
+ },
56
+ "required": [
57
+ "tag",
58
+ "value"
59
+ ],
60
+ "additionalProperties": false
61
+ },
62
+ "RangedCombatTechnique": {
63
+ "type": "object",
64
+ "properties": {
65
+ "tag": {
66
+ "const": "RangedCombatTechnique"
67
+ },
68
+ "value": {
69
+ "description": "The ranged combat technique's numeric identifier.",
70
+ "type": "integer",
71
+ "minimum": 1
72
+ }
73
+ },
74
+ "required": [
75
+ "tag",
76
+ "value"
77
+ ],
78
+ "additionalProperties": false
79
+ },
80
+ "Spell": {
81
+ "type": "object",
82
+ "properties": {
83
+ "tag": {
84
+ "const": "Spell"
85
+ },
86
+ "value": {
87
+ "description": "The spell's numeric identifier.",
88
+ "type": "integer",
89
+ "minimum": 1
90
+ }
91
+ },
92
+ "required": [
93
+ "tag",
94
+ "value"
95
+ ],
96
+ "additionalProperties": false
97
+ },
98
+ "Ritual": {
99
+ "type": "object",
100
+ "properties": {
101
+ "tag": {
102
+ "const": "Ritual"
103
+ },
104
+ "value": {
105
+ "description": "The ritual's numeric identifier.",
106
+ "type": "integer",
107
+ "minimum": 1
108
+ }
109
+ },
110
+ "required": [
111
+ "tag",
112
+ "value"
113
+ ],
114
+ "additionalProperties": false
115
+ },
116
+ "LiturgicalChant": {
117
+ "type": "object",
118
+ "properties": {
119
+ "tag": {
120
+ "const": "LiturgicalChant"
121
+ },
122
+ "value": {
123
+ "description": "The liturgical chant's numeric identifier.",
124
+ "type": "integer",
125
+ "minimum": 1
126
+ }
127
+ },
128
+ "required": [
129
+ "tag",
130
+ "value"
131
+ ],
132
+ "additionalProperties": false
133
+ },
134
+ "Ceremony": {
135
+ "type": "object",
136
+ "properties": {
137
+ "tag": {
138
+ "const": "Ceremony"
139
+ },
140
+ "value": {
141
+ "description": "The ceremony's numeric identifier.",
142
+ "type": "integer",
143
+ "minimum": 1
144
+ }
145
+ },
146
+ "required": [
147
+ "tag",
148
+ "value"
149
+ ],
150
+ "additionalProperties": false
151
+ }
152
+ },
153
+ "Group": {
154
+ "Rated": {
155
+ "oneOf": [
156
+ {
157
+ "$ref": "#/definitions/Identifier/Tagged/Attribute"
158
+ },
159
+ {
160
+ "$ref": "#/definitions/Identifier/Tagged/Skill"
161
+ },
162
+ {
163
+ "$ref": "#/definitions/Identifier/Tagged/CloseCombatTechnique"
164
+ },
165
+ {
166
+ "$ref": "#/definitions/Identifier/Tagged/RangedCombatTechnique"
167
+ },
168
+ {
169
+ "$ref": "#/definitions/Identifier/Tagged/Spell"
170
+ },
171
+ {
172
+ "$ref": "#/definitions/Identifier/Tagged/Ritual"
173
+ },
174
+ {
175
+ "$ref": "#/definitions/Identifier/Tagged/LiturgicalChant"
176
+ },
177
+ {
178
+ "$ref": "#/definitions/Identifier/Tagged/Ceremony"
179
+ }
180
+ ]
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
@@ -378,7 +378,7 @@
378
378
  "const": "Influence"
379
379
  },
380
380
  "id": {
381
- "description": "The influence' identifier.",
381
+ "description": "The influence's identifier.",
382
382
  "type": "integer",
383
383
  "minimum": 1
384
384
  },
@@ -397,6 +397,120 @@
397
397
  ],
398
398
  "additionalProperties": false
399
399
  }
400
+ },
401
+ "Rated": {
402
+ "T": {
403
+ "title": "Rated Prerequisite",
404
+ "type": "object",
405
+ "properties": {
406
+ "tag": {
407
+ "const": "Rated"
408
+ },
409
+ "id": {
410
+ "description": "The rated entry's identifier.",
411
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/Rated"
412
+ },
413
+ "value": {
414
+ "description": "The required minimum value.",
415
+ "type": "integer",
416
+ "minimum": 0
417
+ },
418
+ "display_option": {
419
+ "$ref": "#/definitions/Single/DisplayOption/T"
420
+ }
421
+ },
422
+ "required": [
423
+ "tag",
424
+ "id",
425
+ "value"
426
+ ],
427
+ "additionalProperties": false
428
+ }
429
+ },
430
+ "Enhancement": {
431
+ "T": {
432
+ "title": "Enhancement Prerequisite",
433
+ "description": "Requires a specific enhancement from a skill.",
434
+ "type": "object",
435
+ "properties": {
436
+ "tag": {
437
+ "const": "Enhancement"
438
+ },
439
+ "skill": {
440
+ "description": "The required skill's identifier.",
441
+ "type": "object",
442
+ "properties": {
443
+ "tag": {
444
+ "$ref": "#/definitions/Single/Enhancement/SkillCategoryWithEnhancements"
445
+ },
446
+ "id": {
447
+ "description": "The skill's identifier.",
448
+ "type": "integer",
449
+ "minimum": 1
450
+ }
451
+ },
452
+ "required": [
453
+ "tag",
454
+ "id"
455
+ ],
456
+ "additionalProperties": false
457
+ },
458
+ "enhancement": {
459
+ "description": "The required enhancement's identifier.",
460
+ "type": "object",
461
+ "properties": {
462
+ "id": {
463
+ "description": "The enhancement's identifier.",
464
+ "type": "integer",
465
+ "minimum": 1
466
+ }
467
+ },
468
+ "required": [
469
+ "id"
470
+ ],
471
+ "additionalProperties": false
472
+ },
473
+ "display_option": {
474
+ "$ref": "#/definitions/Single/DisplayOption/T"
475
+ }
476
+ },
477
+ "required": [
478
+ "tag",
479
+ "skill",
480
+ "enhancement"
481
+ ],
482
+ "additionalProperties": false
483
+ },
484
+ "SkillCategoryWithEnhancements": {
485
+ "enum": [
486
+ "Spell",
487
+ "Ritual",
488
+ "LiturgicalChant",
489
+ "Ceremony"
490
+ ]
491
+ }
492
+ },
493
+ "EnhancementInternal": {
494
+ "T": {
495
+ "title": "Internal Enhancement Prerequisite",
496
+ "description": "Requires a specific enhancement from a skill. This can only be used by an\nenhancement to require another enhancement from the same skill.",
497
+ "type": "object",
498
+ "properties": {
499
+ "tag": {
500
+ "const": "EnhancementInternal"
501
+ },
502
+ "id": {
503
+ "description": "The enhancement's identifier.",
504
+ "type": "integer",
505
+ "minimum": 1
506
+ }
507
+ },
508
+ "required": [
509
+ "tag",
510
+ "id"
511
+ ],
512
+ "additionalProperties": false
513
+ }
400
514
  }
401
515
  },
402
516
  "Group": {
@@ -424,12 +538,36 @@
424
538
  }
425
539
  ]
426
540
  },
541
+ "Spellwork": {
542
+ "oneOf": [
543
+ {
544
+ "$ref": "#/definitions/Single/Rule/T"
545
+ },
546
+ {
547
+ "$ref": "#/definitions/Single/Rated/T"
548
+ }
549
+ ]
550
+ },
551
+ "Liturgy": {
552
+ "oneOf": [
553
+ {
554
+ "$ref": "#/definitions/Single/Rule/T"
555
+ }
556
+ ]
557
+ },
427
558
  "GeodeRitual": {
428
559
  "oneOf": [
429
560
  {
430
561
  "$ref": "#/definitions/Single/Influence/T"
431
562
  }
432
563
  ]
564
+ },
565
+ "Enhancement": {
566
+ "oneOf": [
567
+ {
568
+ "$ref": "#/definitions/Single/EnhancementInternal/T"
569
+ }
570
+ ]
433
571
  }
434
572
  },
435
573
  "Collection": {},
@@ -494,6 +632,46 @@
494
632
  ],
495
633
  "additionalProperties": false
496
634
  },
635
+ "Spellwork": {
636
+ "type": "object",
637
+ "properties": {
638
+ "tag": {
639
+ "const": "Plain"
640
+ },
641
+ "value": {
642
+ "type": "array",
643
+ "items": {
644
+ "$ref": "#/definitions/Group/Spellwork"
645
+ },
646
+ "minItems": 1
647
+ }
648
+ },
649
+ "required": [
650
+ "tag",
651
+ "value"
652
+ ],
653
+ "additionalProperties": false
654
+ },
655
+ "Liturgy": {
656
+ "type": "object",
657
+ "properties": {
658
+ "tag": {
659
+ "const": "Plain"
660
+ },
661
+ "value": {
662
+ "type": "array",
663
+ "items": {
664
+ "$ref": "#/definitions/Group/Liturgy"
665
+ },
666
+ "minItems": 1
667
+ }
668
+ },
669
+ "required": [
670
+ "tag",
671
+ "value"
672
+ ],
673
+ "additionalProperties": false
674
+ },
497
675
  "GeodeRitual": {
498
676
  "type": "object",
499
677
  "properties": {
@@ -513,6 +691,26 @@
513
691
  "value"
514
692
  ],
515
693
  "additionalProperties": false
694
+ },
695
+ "Enhancement": {
696
+ "type": "object",
697
+ "properties": {
698
+ "tag": {
699
+ "const": "Plain"
700
+ },
701
+ "value": {
702
+ "type": "array",
703
+ "items": {
704
+ "$ref": "#/definitions/Group/Enhancement"
705
+ },
706
+ "minItems": 1
707
+ }
708
+ },
709
+ "required": [
710
+ "tag",
711
+ "value"
712
+ ],
713
+ "additionalProperties": false
516
714
  }
517
715
  }
518
716
  }
@@ -164,7 +164,7 @@
164
164
  },
165
165
  "unit": {
166
166
  "description": "The casting time unit.",
167
- "$ref": "../_ActivatableSkill.schema.json#/definitions/CastingTime/SlowSkillCastingTimeUnit"
167
+ "$ref": "../SkillModificationLevel.schema.json#/definitions/SlowSkillCastingTimeUnit"
168
168
  }
169
169
  },
170
170
  "required": [
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "parameters": {
24
24
  "description": "Measurable parameters of a zibilja ritual.",
25
- "$ref": "../_ActivatableSkill.schema.json#/definitions/PerformanceParameters"
25
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/SlowPerformanceParameters"
26
26
  },
27
27
  "target": {
28
28
  "description": "The target category – the kind of creature or object – the skill affects.",
@@ -1,4 +0,0 @@
1
- "use strict";
2
- /**
3
- * @main SkillModificationIncrement
4
- */
@@ -1,98 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "SkillModificationIncrement.schema.json",
4
- "$ref": "#/definitions/SkillModificationIncrement",
5
- "definitions": {
6
- "SkillModificationIncrement": {
7
- "title": "Skill Modification Increment",
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "description": "The skill modification increment's identifier. It also represents the\nincrement level.",
12
- "type": "integer",
13
- "maximum": 6,
14
- "minimum": 1
15
- },
16
- "fast": {
17
- "description": "Configuration for this level for fast skills (spells, liturgical chants).",
18
- "$ref": "#/definitions/LevelTypeConfig"
19
- },
20
- "slow": {
21
- "description": "Configuration for this level for slow skills (rituals, ceremonies).",
22
- "$ref": "#/definitions/LevelTypeConfig"
23
- },
24
- "translations": {
25
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
26
- "type": "object",
27
- "patternProperties": {
28
- "^[a-z]{2}-[A-Z]{2}$": {
29
- "type": "object",
30
- "properties": {
31
- "fast": {
32
- "description": "Configuration for this level for fast skills (spells, liturgical chants).\nValues set here override the default generated text.",
33
- "$ref": "#/definitions/LevelTypeConfigTranslation"
34
- },
35
- "slow": {
36
- "description": "Configuration for this level for slow skills (rituals, ceremonies). Values\nset here override the default generated text.",
37
- "$ref": "#/definitions/LevelTypeConfigTranslation"
38
- }
39
- },
40
- "required": [],
41
- "minProperties": 1,
42
- "additionalProperties": false
43
- }
44
- },
45
- "minProperties": 1,
46
- "additionalProperties": false
47
- }
48
- },
49
- "required": [
50
- "id",
51
- "fast",
52
- "slow"
53
- ],
54
- "additionalProperties": false
55
- },
56
- "LevelTypeConfig": {
57
- "description": "Configuration of a type for a level.",
58
- "type": "object",
59
- "properties": {
60
- "casting_time": {
61
- "description": "Casting time in actions.",
62
- "type": "integer",
63
- "minimum": 1
64
- },
65
- "range": {
66
- "description": "Range in meters.",
67
- "type": "integer",
68
- "minimum": 1
69
- },
70
- "cost": {
71
- "description": "Cost in AE/KP.",
72
- "type": "integer",
73
- "minimum": 1
74
- }
75
- },
76
- "required": [
77
- "casting_time",
78
- "range",
79
- "cost"
80
- ],
81
- "additionalProperties": false
82
- },
83
- "LevelTypeConfigTranslation": {
84
- "description": "Configuration translation of a type for a level. Values set here override the\ndefault generated text.",
85
- "type": "object",
86
- "properties": {
87
- "range": {
88
- "type": "string",
89
- "minLength": 1
90
- }
91
- },
92
- "required": [
93
- "range"
94
- ],
95
- "additionalProperties": false
96
- }
97
- }
98
- }