optolith-database-schema 0.0.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/AUTHORS +1 -0
- package/CHANGELOG.md +27 -0
- package/CODEOWNERS +1 -0
- package/LICENSE +378 -0
- package/README.md +17 -0
- package/lib/main.d.ts +1 -0
- package/lib/main.js +1 -0
- package/lib/types/ArcaneBardTradition.d.ts +32 -0
- package/lib/types/ArcaneBardTradition.js +4 -0
- package/lib/types/ArcaneDancerTradition.d.ts +32 -0
- package/lib/types/ArcaneDancerTradition.js +4 -0
- package/lib/types/Aspect.d.ts +36 -0
- package/lib/types/Aspect.js +4 -0
- package/lib/types/Attribute.d.ts +42 -0
- package/lib/types/Attribute.js +5 -0
- package/lib/types/CombatTechnique_Close.d.ts +80 -0
- package/lib/types/CombatTechnique_Close.js +4 -0
- package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
- package/lib/types/CombatTechnique_Ranged.js +4 -0
- package/lib/types/Condition.d.ts +51 -0
- package/lib/types/Condition.js +4 -0
- package/lib/types/Culture.d.ts +494 -0
- package/lib/types/Culture.js +4 -0
- package/lib/types/DerivedCharacteristic.d.ts +65 -0
- package/lib/types/DerivedCharacteristic.js +4 -0
- package/lib/types/Element.d.ts +30 -0
- package/lib/types/Element.js +4 -0
- package/lib/types/ExperienceLevel.d.ts +68 -0
- package/lib/types/ExperienceLevel.js +4 -0
- package/lib/types/EyeColor.d.ts +30 -0
- package/lib/types/EyeColor.js +4 -0
- package/lib/types/HairColor.d.ts +30 -0
- package/lib/types/HairColor.js +4 -0
- package/lib/types/Lessons_Curriculum.d.ts +297 -0
- package/lib/types/Lessons_Curriculum.js +4 -0
- package/lib/types/Lessons_Guideline.d.ts +36 -0
- package/lib/types/Lessons_Guideline.js +4 -0
- package/lib/types/Locale.d.ts +38 -0
- package/lib/types/Locale.js +4 -0
- package/lib/types/MetaCondition.d.ts +54 -0
- package/lib/types/MetaCondition.js +4 -0
- package/lib/types/Property.d.ts +36 -0
- package/lib/types/Property.js +4 -0
- package/lib/types/Race.d.ts +524 -0
- package/lib/types/Race.js +13 -0
- package/lib/types/Region.d.ts +30 -0
- package/lib/types/Region.js +4 -0
- package/lib/types/Service.d.ts +40 -0
- package/lib/types/Service.js +4 -0
- package/lib/types/SexPractice.d.ts +53 -0
- package/lib/types/SexPractice.js +4 -0
- package/lib/types/Skill.d.ts +169 -0
- package/lib/types/Skill.js +4 -0
- package/lib/types/SkillGroup.d.ts +40 -0
- package/lib/types/SkillGroup.js +4 -0
- package/lib/types/SkillModificationIncrement.d.ts +82 -0
- package/lib/types/SkillModificationIncrement.js +4 -0
- package/lib/types/SocialStatus.d.ts +30 -0
- package/lib/types/SocialStatus.js +4 -0
- package/lib/types/State.d.ts +40 -0
- package/lib/types/State.js +4 -0
- package/lib/types/TargetCategory.d.ts +36 -0
- package/lib/types/TargetCategory.js +4 -0
- package/lib/types/_ActivatableSkill.d.ts +919 -0
- package/lib/types/_ActivatableSkill.js +38 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
- package/lib/types/_ImprovementCost.d.ts +9 -0
- package/lib/types/_ImprovementCost.js +10 -0
- package/lib/types/_Prerequisite.d.ts +274 -0
- package/lib/types/_Prerequisite.js +4 -0
- package/lib/types/_Sex.d.ts +11 -0
- package/lib/types/_Sex.js +4 -0
- package/lib/types/_SkillCheck.d.ts +28 -0
- package/lib/types/_SkillCheck.js +1 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
- package/lib/types/magicalActions/AnimistPower.js +4 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
- package/lib/types/magicalActions/Curse.d.ts +228 -0
- package/lib/types/magicalActions/Curse.js +4 -0
- package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
- package/lib/types/magicalActions/DominationRitual.js +4 -0
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
- package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
- package/lib/types/magicalActions/GeodeRitual.js +4 -0
- package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
- package/lib/types/magicalActions/JesterTrick.js +4 -0
- package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
- package/lib/types/magicalActions/MagicalDance.js +4 -0
- package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
- package/lib/types/magicalActions/MagicalMelody.js +4 -0
- package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
- package/lib/types/magicalActions/MagicalRune.js +4 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
- package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
- package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
- package/lib/types/magicalActions/_MusicTradition.js +1 -0
- package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
- package/lib/types/magicalActions/_SkillReference.js +5 -0
- package/lib/types/rule/FocusRule.d.ts +53 -0
- package/lib/types/rule/FocusRule.js +4 -0
- package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
- package/lib/types/rule/FocusRule_Subject.js +4 -0
- package/lib/types/rule/OptionalRule.d.ts +65 -0
- package/lib/types/rule/OptionalRule.js +4 -0
- package/lib/types/source/Publication.d.ts +4 -0
- package/lib/types/source/Publication.js +4 -0
- package/lib/types/source/_Erratum.d.ts +25 -0
- package/lib/types/source/_Erratum.js +4 -0
- package/lib/types/source/_PublicationRef.d.ts +146 -0
- package/lib/types/source/_PublicationRef.js +4 -0
- package/lib/validation/integrity.d.ts +16 -0
- package/lib/validation/integrity.js +3 -0
- package/package.json +37 -0
- package/schema/ArcaneBardTradition.schema.json +49 -0
- package/schema/ArcaneDancerTradition.schema.json +49 -0
- package/schema/Aspect.schema.json +50 -0
- package/schema/Attribute.schema.json +57 -0
- package/schema/CombatTechnique_Close.schema.json +127 -0
- package/schema/CombatTechnique_Ranged.schema.json +83 -0
- package/schema/Condition.schema.json +84 -0
- package/schema/Culture.schema.json +858 -0
- package/schema/DerivedCharacteristic.schema.json +90 -0
- package/schema/Element.schema.json +45 -0
- package/schema/ExperienceLevel.schema.json +84 -0
- package/schema/EyeColor.schema.json +45 -0
- package/schema/HairColor.schema.json +45 -0
- package/schema/Lessons_Curriculum.schema.json +500 -0
- package/schema/Lessons_Guideline.schema.json +51 -0
- package/schema/Locale.schema.json +45 -0
- package/schema/MetaCondition.schema.json +85 -0
- package/schema/Property.schema.json +49 -0
- package/schema/Race.schema.json +724 -0
- package/schema/Region.schema.json +45 -0
- package/schema/Service.schema.json +58 -0
- package/schema/SexPractice.schema.json +72 -0
- package/schema/Skill.schema.json +278 -0
- package/schema/SkillGroup.schema.json +56 -0
- package/schema/SkillModificationIncrement.schema.json +98 -0
- package/schema/SocialStatus.schema.json +45 -0
- package/schema/State.schema.json +58 -0
- package/schema/TargetCategory.schema.json +51 -0
- package/schema/_ActivatableSkill.schema.json +1534 -0
- package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
- package/schema/_ImprovementCost.schema.json +15 -0
- package/schema/_Prerequisite.schema.json +519 -0
- package/schema/_Sex.schema.json +36 -0
- package/schema/_SkillCheck.schema.json +94 -0
- package/schema/magicalActions/AnimistPower.schema.json +411 -0
- package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
- package/schema/magicalActions/Curse.schema.json +378 -0
- package/schema/magicalActions/DominationRitual.schema.json +288 -0
- package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
- package/schema/magicalActions/GeodeRitual.schema.json +303 -0
- package/schema/magicalActions/JesterTrick.schema.json +292 -0
- package/schema/magicalActions/MagicalDance.schema.json +328 -0
- package/schema/magicalActions/MagicalMelody.schema.json +254 -0
- package/schema/magicalActions/MagicalRune.schema.json +426 -0
- package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
- package/schema/magicalActions/_MusicTradition.schema.json +44 -0
- package/schema/magicalActions/_SkillReference.schema.json +26 -0
- package/schema/rule/FocusRule.schema.json +71 -0
- package/schema/rule/FocusRule_Subject.schema.json +46 -0
- package/schema/rule/OptionalRule.schema.json +96 -0
- package/schema/source/Publication.schema.json +165 -0
- package/schema/source/_Erratum.schema.json +37 -0
- package/schema/source/_PublicationRef.schema.json +242 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main CloseCombatTechnique
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
6
|
+
import { ImprovementCost } from "./_ImprovementCost";
|
|
7
|
+
/**
|
|
8
|
+
* @title Close Combat Technique
|
|
9
|
+
*/
|
|
10
|
+
export declare type CloseCombatTechnique = {
|
|
11
|
+
/**
|
|
12
|
+
* The close combat technique's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* Special rules for the combat technique that apply to all weapons in this
|
|
19
|
+
* category.
|
|
20
|
+
*/
|
|
21
|
+
special: {
|
|
22
|
+
/**
|
|
23
|
+
* Is parrying possible with this combat technique?
|
|
24
|
+
*/
|
|
25
|
+
parrying: Parrying;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The primary attribute(s).
|
|
29
|
+
* @minItems 1
|
|
30
|
+
* @maxItems 2
|
|
31
|
+
* @uniqueItems
|
|
32
|
+
*/
|
|
33
|
+
primary_attribute: PrimaryAttribute[];
|
|
34
|
+
/**
|
|
35
|
+
* The *Breaking Point Rating* of the respective combat technique.
|
|
36
|
+
* @integer
|
|
37
|
+
* @minimum 1
|
|
38
|
+
*/
|
|
39
|
+
breaking_point_rating: number;
|
|
40
|
+
improvement_cost: ImprovementCost;
|
|
41
|
+
src: PublicationRefs;
|
|
42
|
+
/**
|
|
43
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
44
|
+
* @minProperties 1
|
|
45
|
+
*/
|
|
46
|
+
translations: {
|
|
47
|
+
/**
|
|
48
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
49
|
+
*/
|
|
50
|
+
[localeId: string]: {
|
|
51
|
+
/**
|
|
52
|
+
* The name of the condition.
|
|
53
|
+
* @minLength 1
|
|
54
|
+
*/
|
|
55
|
+
name: string;
|
|
56
|
+
/**
|
|
57
|
+
* Additional rules for the condition, if applicable.
|
|
58
|
+
* @markdown
|
|
59
|
+
* @minLength 1
|
|
60
|
+
*/
|
|
61
|
+
special?: string;
|
|
62
|
+
errata?: Errata;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Is parrying possible with this combat technique?
|
|
68
|
+
*/
|
|
69
|
+
declare type Parrying = {
|
|
70
|
+
tag: "Possible";
|
|
71
|
+
} | {
|
|
72
|
+
tag: "Impossible";
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* The attribute's identifier.
|
|
76
|
+
* @integer
|
|
77
|
+
* @minimum 1
|
|
78
|
+
*/
|
|
79
|
+
declare type PrimaryAttribute = number;
|
|
80
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main RangedCombatTechnique
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
6
|
+
import { ImprovementCost } from "./_ImprovementCost";
|
|
7
|
+
/**
|
|
8
|
+
* @title Ranged Combat Technique
|
|
9
|
+
*/
|
|
10
|
+
export declare type RangedCombatTechnique = {
|
|
11
|
+
/**
|
|
12
|
+
* The ranged combat technique's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* The primary attribute(s).
|
|
19
|
+
* @minItems 1
|
|
20
|
+
* @maxItems 2
|
|
21
|
+
* @uniqueItems
|
|
22
|
+
*/
|
|
23
|
+
primary_attribute: PrimaryAttribute[];
|
|
24
|
+
/**
|
|
25
|
+
* The *Breaking Point Rating* of the respective combat technique.
|
|
26
|
+
* @integer
|
|
27
|
+
* @minimum 1
|
|
28
|
+
*/
|
|
29
|
+
breaking_point_rating: number;
|
|
30
|
+
improvement_cost: ImprovementCost;
|
|
31
|
+
src: PublicationRefs;
|
|
32
|
+
/**
|
|
33
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
34
|
+
* @minProperties 1
|
|
35
|
+
*/
|
|
36
|
+
translations: {
|
|
37
|
+
/**
|
|
38
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
39
|
+
*/
|
|
40
|
+
[localeId: string]: {
|
|
41
|
+
/**
|
|
42
|
+
* The name of the condition.
|
|
43
|
+
* @minLength 1
|
|
44
|
+
*/
|
|
45
|
+
name: string;
|
|
46
|
+
/**
|
|
47
|
+
* Additional rules for the condition, if applicable.
|
|
48
|
+
* @markdown
|
|
49
|
+
* @minLength 1
|
|
50
|
+
*/
|
|
51
|
+
special?: string;
|
|
52
|
+
errata?: Errata;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* The attribute's identifier.
|
|
58
|
+
* @integer
|
|
59
|
+
* @minimum 1
|
|
60
|
+
*/
|
|
61
|
+
declare type PrimaryAttribute = number;
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Condition
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
6
|
+
/**
|
|
7
|
+
* @title Condition
|
|
8
|
+
*/
|
|
9
|
+
export declare type Condition = {
|
|
10
|
+
/**
|
|
11
|
+
* The condition's identifier. An unique, increasing integer.
|
|
12
|
+
* @integer
|
|
13
|
+
* @minimum 1
|
|
14
|
+
*/
|
|
15
|
+
id: number;
|
|
16
|
+
src: PublicationRefs;
|
|
17
|
+
/**
|
|
18
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
19
|
+
* @minProperties 1
|
|
20
|
+
*/
|
|
21
|
+
translations: {
|
|
22
|
+
/**
|
|
23
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
24
|
+
*/
|
|
25
|
+
[localeId: string]: {
|
|
26
|
+
/**
|
|
27
|
+
* The condition's name.
|
|
28
|
+
* @minLength 1
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* Additional rules for the condition, if applicable.
|
|
33
|
+
* @markdown
|
|
34
|
+
* @minLength 1
|
|
35
|
+
*/
|
|
36
|
+
rules?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The effects for level 1 to 4.
|
|
39
|
+
*/
|
|
40
|
+
effects: [Effect, Effect, Effect, Effect];
|
|
41
|
+
errata?: Errata;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The effect on a level.
|
|
47
|
+
* @markdown
|
|
48
|
+
* @minLength 1
|
|
49
|
+
*/
|
|
50
|
+
declare type Effect = string;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Culture
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
6
|
+
import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage";
|
|
7
|
+
import { BinarySex } from "./_Sex";
|
|
8
|
+
/**
|
|
9
|
+
* @title Culture
|
|
10
|
+
*/
|
|
11
|
+
export declare type Culture = {
|
|
12
|
+
/**
|
|
13
|
+
* An unique, increasing integer.
|
|
14
|
+
* @integer
|
|
15
|
+
* @minimum 1
|
|
16
|
+
*/
|
|
17
|
+
id: number;
|
|
18
|
+
/**
|
|
19
|
+
* A list of native languages (usually it is only one).
|
|
20
|
+
* @minItems 1
|
|
21
|
+
*/
|
|
22
|
+
language: Language[];
|
|
23
|
+
/**
|
|
24
|
+
* A list of native scripts (usually it is only one). If the culture does not
|
|
25
|
+
* use any script, leave this field empty.
|
|
26
|
+
* @minItems 1
|
|
27
|
+
*/
|
|
28
|
+
script?: Script[];
|
|
29
|
+
/**
|
|
30
|
+
* If the area knowledge has a fixed value or can be adjusted.
|
|
31
|
+
*/
|
|
32
|
+
area_knowledge: AreaKnowledge;
|
|
33
|
+
/**
|
|
34
|
+
* A list of possible social status in the respective culture.
|
|
35
|
+
* @minItems 1
|
|
36
|
+
*/
|
|
37
|
+
social_status: SocialStatus[];
|
|
38
|
+
/**
|
|
39
|
+
* A list of professions that are typical for the culture, as well as
|
|
40
|
+
* professions that are rarely practiced or encountered in the culture. The
|
|
41
|
+
* list is either defined by group (as multiple lists) or plain (as a single
|
|
42
|
+
* list).
|
|
43
|
+
*/
|
|
44
|
+
common_professions: CommonProfessions.Config;
|
|
45
|
+
/**
|
|
46
|
+
* A list of common advantages.
|
|
47
|
+
* @minItems 1
|
|
48
|
+
*/
|
|
49
|
+
common_advantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
50
|
+
/**
|
|
51
|
+
* A list of common disadvantages.
|
|
52
|
+
* @minItems 1
|
|
53
|
+
*/
|
|
54
|
+
common_disadvantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
55
|
+
/**
|
|
56
|
+
* A list of uncommon advantages.
|
|
57
|
+
* @minItems 1
|
|
58
|
+
*/
|
|
59
|
+
uncommon_advantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
60
|
+
/**
|
|
61
|
+
* A list of uncommon disadvantages.
|
|
62
|
+
* @minItems 1
|
|
63
|
+
*/
|
|
64
|
+
uncommon_disadvantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
65
|
+
/**
|
|
66
|
+
* A list of common skills.
|
|
67
|
+
* @minItems 1
|
|
68
|
+
*/
|
|
69
|
+
common_skills: CommonnessRatedSkill[];
|
|
70
|
+
/**
|
|
71
|
+
* A list of uncommon skills.
|
|
72
|
+
* @minItems 1
|
|
73
|
+
*/
|
|
74
|
+
uncommon_skills?: CommonnessRatedSkill[];
|
|
75
|
+
/**
|
|
76
|
+
* The skill points you get for buying the culture package.
|
|
77
|
+
* @minItems 1
|
|
78
|
+
*/
|
|
79
|
+
cultural_package: CulturalPackageItem[];
|
|
80
|
+
src: PublicationRefs;
|
|
81
|
+
/**
|
|
82
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
83
|
+
* @minProperties 1
|
|
84
|
+
*/
|
|
85
|
+
translations: {
|
|
86
|
+
/**
|
|
87
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
88
|
+
*/
|
|
89
|
+
[localeId: string]: Translation;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
declare type Language = {
|
|
93
|
+
/**
|
|
94
|
+
* The language's identifier.
|
|
95
|
+
* @integer
|
|
96
|
+
* @minimum 1
|
|
97
|
+
*/
|
|
98
|
+
id: number;
|
|
99
|
+
};
|
|
100
|
+
declare type Script = {
|
|
101
|
+
/**
|
|
102
|
+
* The script's identifier.
|
|
103
|
+
* @integer
|
|
104
|
+
* @minimum 1
|
|
105
|
+
*/
|
|
106
|
+
id: number;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* If the area knowledge has a fixed value or can be adjusted.
|
|
110
|
+
*/
|
|
111
|
+
declare type AreaKnowledge = {
|
|
112
|
+
tag: "Fixed";
|
|
113
|
+
} | {
|
|
114
|
+
tag: "Adjustable";
|
|
115
|
+
};
|
|
116
|
+
declare type SocialStatus = {
|
|
117
|
+
/**
|
|
118
|
+
* The social status's identifier.
|
|
119
|
+
* @integer
|
|
120
|
+
* @minimum 1
|
|
121
|
+
*/
|
|
122
|
+
id: number;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* @title Common Professions
|
|
126
|
+
*/
|
|
127
|
+
declare namespace CommonProfessions {
|
|
128
|
+
type Profession = {
|
|
129
|
+
/**
|
|
130
|
+
* The profession's identifier.
|
|
131
|
+
* @integer
|
|
132
|
+
* @minimum 1
|
|
133
|
+
*/
|
|
134
|
+
id: number;
|
|
135
|
+
};
|
|
136
|
+
type ProfessionVariant = {
|
|
137
|
+
/**
|
|
138
|
+
* The profession variant's identifier.
|
|
139
|
+
* @integer
|
|
140
|
+
* @minimum 1
|
|
141
|
+
*/
|
|
142
|
+
id: number;
|
|
143
|
+
};
|
|
144
|
+
namespace Plain {
|
|
145
|
+
type Constraint = {
|
|
146
|
+
tag: "Profession";
|
|
147
|
+
/**
|
|
148
|
+
* The profession's identifier.
|
|
149
|
+
* @integer
|
|
150
|
+
* @minimum 1
|
|
151
|
+
*/
|
|
152
|
+
id: number;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* A plain list of professions.
|
|
156
|
+
*/
|
|
157
|
+
type T = {
|
|
158
|
+
tag: "Plain";
|
|
159
|
+
/**
|
|
160
|
+
* The list of professions.
|
|
161
|
+
* @minItems 1
|
|
162
|
+
*/
|
|
163
|
+
constraints: Constraint[];
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
namespace Grouped {
|
|
167
|
+
namespace Constraints {
|
|
168
|
+
/**
|
|
169
|
+
* Some profession variants are more common than others. There may be
|
|
170
|
+
* cultures where some variants are not represented at all.
|
|
171
|
+
*/
|
|
172
|
+
type WeightedVariants = {
|
|
173
|
+
/**
|
|
174
|
+
* The list of more common variants.
|
|
175
|
+
* @minItems 1
|
|
176
|
+
*/
|
|
177
|
+
variants: ProfessionVariant[];
|
|
178
|
+
/**
|
|
179
|
+
* The "weight" difference compared to other variants. Some variants are
|
|
180
|
+
* simply more common (Mostly), but sometimes only specific variants are
|
|
181
|
+
* used (Only).
|
|
182
|
+
*/
|
|
183
|
+
weight: Weight;
|
|
184
|
+
};
|
|
185
|
+
type Profession = {
|
|
186
|
+
tag: "Profession";
|
|
187
|
+
/**
|
|
188
|
+
* The profession's identifier.
|
|
189
|
+
* @integer
|
|
190
|
+
* @minimum 1
|
|
191
|
+
*/
|
|
192
|
+
id: number;
|
|
193
|
+
/**
|
|
194
|
+
* Some profession variants are more common than others. There may be
|
|
195
|
+
* cultures where some variants are not represented at all.
|
|
196
|
+
*/
|
|
197
|
+
weighted_variants?: WeightedVariants;
|
|
198
|
+
/**
|
|
199
|
+
* Some professions may be found in a culture, but are not that
|
|
200
|
+
* common.
|
|
201
|
+
*/
|
|
202
|
+
rarity?: Rarity;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The "weight" difference compared to other variants. Some variants are
|
|
207
|
+
* simply more common (Mostly), but sometimes only specific variants are
|
|
208
|
+
* used (Only).
|
|
209
|
+
*/
|
|
210
|
+
type Weight = {
|
|
211
|
+
tag: "Mostly";
|
|
212
|
+
} | {
|
|
213
|
+
tag: "Only";
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Some professions may be found in a culture, but are not that common.
|
|
217
|
+
*/
|
|
218
|
+
type Rarity = {
|
|
219
|
+
tag: "Rare";
|
|
220
|
+
} | {
|
|
221
|
+
tag: "VeryRare";
|
|
222
|
+
};
|
|
223
|
+
namespace Mundane {
|
|
224
|
+
/**
|
|
225
|
+
* Some professions may be found in a culture, but are not that common.
|
|
226
|
+
*/
|
|
227
|
+
type ProfessionSubgroup = {
|
|
228
|
+
tag: "Profane";
|
|
229
|
+
} | {
|
|
230
|
+
tag: "Fighter";
|
|
231
|
+
} | {
|
|
232
|
+
tag: "Religious";
|
|
233
|
+
};
|
|
234
|
+
type Constraint = Constraints.Profession | {
|
|
235
|
+
tag: "ProfessionSubgroup";
|
|
236
|
+
subgroup: ProfessionSubgroup;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* This defines how the list of constraints should be offset against the
|
|
240
|
+
* list of all mundane professions: Either only the professions are kept
|
|
241
|
+
* that intersect with the constraints (include) or only the professions
|
|
242
|
+
* are kept that are different from the constraints (exclude).
|
|
243
|
+
*/
|
|
244
|
+
type Operation = {
|
|
245
|
+
tag: "Intersection";
|
|
246
|
+
} | {
|
|
247
|
+
tag: "Difference";
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* A list of professions. The filter specifies how the list is applied to
|
|
251
|
+
* all mundane professions.
|
|
252
|
+
*/
|
|
253
|
+
type T = {
|
|
254
|
+
/**
|
|
255
|
+
* The list of professions.
|
|
256
|
+
* @minItems 1
|
|
257
|
+
*/
|
|
258
|
+
constraints: Constraint[];
|
|
259
|
+
/**
|
|
260
|
+
* This defines how the list of constraints should be offset against the
|
|
261
|
+
* list of all mundane professions: Either only the professions are kept
|
|
262
|
+
* that intersect with the constraints (include) or only the professions
|
|
263
|
+
* are kept that are different from the constraints (exclude).
|
|
264
|
+
*/
|
|
265
|
+
operation: Operation;
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
namespace Magic {
|
|
269
|
+
/**
|
|
270
|
+
* Some professions are more common than others. There may be cultures
|
|
271
|
+
* where some professions are not represented at all.
|
|
272
|
+
*/
|
|
273
|
+
type WeightedProfessions = {
|
|
274
|
+
/**
|
|
275
|
+
* The list of more common variants.
|
|
276
|
+
* @minItems 1
|
|
277
|
+
*/
|
|
278
|
+
professions: Profession[];
|
|
279
|
+
/**
|
|
280
|
+
* The "weight" difference compared to other professions. Some
|
|
281
|
+
* professions are simply more common (Mostly), but sometimes only
|
|
282
|
+
* specific professions are used (Only).
|
|
283
|
+
*/
|
|
284
|
+
weight: Weight;
|
|
285
|
+
};
|
|
286
|
+
type Constraint = {
|
|
287
|
+
tag: "Tradition";
|
|
288
|
+
/**
|
|
289
|
+
* The magical tradition's identifier.
|
|
290
|
+
* @integer
|
|
291
|
+
* @minimum 1
|
|
292
|
+
*/
|
|
293
|
+
id: number;
|
|
294
|
+
/**
|
|
295
|
+
* Some professions are more common than others. There may be cultures
|
|
296
|
+
* where some professions are not represented at all.
|
|
297
|
+
*/
|
|
298
|
+
weighted_professions?: WeightedProfessions;
|
|
299
|
+
/**
|
|
300
|
+
* Some traditions may be found in a culture, but are not that common.
|
|
301
|
+
*/
|
|
302
|
+
rarity?: Rarity;
|
|
303
|
+
} | {
|
|
304
|
+
tag: "MagicDilettante";
|
|
305
|
+
} | Constraints.Profession;
|
|
306
|
+
type T = {
|
|
307
|
+
/**
|
|
308
|
+
* The list of professions.
|
|
309
|
+
* @minItems 1
|
|
310
|
+
*/
|
|
311
|
+
constraints: Constraint[];
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
namespace Blessed {
|
|
315
|
+
type Constraint = {
|
|
316
|
+
tag: "Tradition";
|
|
317
|
+
/**
|
|
318
|
+
* The blessed tradition's identifier.
|
|
319
|
+
* @integer
|
|
320
|
+
* @minimum 1
|
|
321
|
+
*/
|
|
322
|
+
id: number;
|
|
323
|
+
/**
|
|
324
|
+
* Some traditions may be found in a culture, but are not that common.
|
|
325
|
+
*/
|
|
326
|
+
rarity?: Rarity;
|
|
327
|
+
};
|
|
328
|
+
type T = {
|
|
329
|
+
/**
|
|
330
|
+
* The list of professions.
|
|
331
|
+
* @minItems 1
|
|
332
|
+
*/
|
|
333
|
+
constraints: Constraint[];
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Lists of professions by group.
|
|
338
|
+
* @minProperties 2
|
|
339
|
+
*/
|
|
340
|
+
type T = {
|
|
341
|
+
tag: "Grouped";
|
|
342
|
+
/**
|
|
343
|
+
* A list of professions. The filter specifies how the list is applied to
|
|
344
|
+
* all mundane professions.
|
|
345
|
+
*/
|
|
346
|
+
mundane?: Mundane.T;
|
|
347
|
+
magic?: Magic.T;
|
|
348
|
+
blessed?: Blessed.T;
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* A list of professions that are typical for the culture, as well as
|
|
353
|
+
* professions that are rarely practiced or encountered in the culture. The
|
|
354
|
+
* list is either defined by group (as multiple lists) or plain (as a single
|
|
355
|
+
* list).
|
|
356
|
+
*/
|
|
357
|
+
type Config = Plain.T | Grouped.T;
|
|
358
|
+
}
|
|
359
|
+
declare type CommonnessRatedSkill = {
|
|
360
|
+
/**
|
|
361
|
+
* The skill's identifier.
|
|
362
|
+
* @integer
|
|
363
|
+
* @minimum 1
|
|
364
|
+
*/
|
|
365
|
+
id: number;
|
|
366
|
+
};
|
|
367
|
+
declare type CulturalPackageItem = {
|
|
368
|
+
/**
|
|
369
|
+
* The skill's identifier.
|
|
370
|
+
* @integer
|
|
371
|
+
* @minimum 1
|
|
372
|
+
*/
|
|
373
|
+
id: number;
|
|
374
|
+
/**
|
|
375
|
+
* The skill points for the respective skill you get for buying the cultural
|
|
376
|
+
* package.
|
|
377
|
+
* @integer
|
|
378
|
+
* @minimum 1
|
|
379
|
+
* @maximum 2
|
|
380
|
+
*/
|
|
381
|
+
points: number;
|
|
382
|
+
};
|
|
383
|
+
declare type Translation = {
|
|
384
|
+
/**
|
|
385
|
+
* The name of the state.
|
|
386
|
+
* @minLength 1
|
|
387
|
+
*/
|
|
388
|
+
name: string;
|
|
389
|
+
/**
|
|
390
|
+
* The description of the area knowledge.
|
|
391
|
+
*/
|
|
392
|
+
area_knowledge: AreaKnowledgeTranslation;
|
|
393
|
+
/**
|
|
394
|
+
* The respective common advantages text from the source book.
|
|
395
|
+
* @minLength 1
|
|
396
|
+
*/
|
|
397
|
+
common_advantages?: string;
|
|
398
|
+
/**
|
|
399
|
+
* The respective common disadvantages text from the source book.
|
|
400
|
+
* @minLength 1
|
|
401
|
+
*/
|
|
402
|
+
common_disadvantages?: string;
|
|
403
|
+
/**
|
|
404
|
+
* The respective uncommon advantages text from the source book.
|
|
405
|
+
* @minLength 1
|
|
406
|
+
*/
|
|
407
|
+
uncommon_advantages?: string;
|
|
408
|
+
/**
|
|
409
|
+
* The respective uncommon disadvantages text from the source book.
|
|
410
|
+
* @minLength 1
|
|
411
|
+
*/
|
|
412
|
+
uncommon_disadvantages?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Structured description of common names.
|
|
415
|
+
*/
|
|
416
|
+
common_names: CommonNames;
|
|
417
|
+
errata?: Errata;
|
|
418
|
+
};
|
|
419
|
+
/**
|
|
420
|
+
* Description and examples of the area knowledge.
|
|
421
|
+
*/
|
|
422
|
+
declare type AreaKnowledgeTranslation = {
|
|
423
|
+
/**
|
|
424
|
+
* The full description without examples in parenthesis.
|
|
425
|
+
* @minLength 1
|
|
426
|
+
*/
|
|
427
|
+
description: string;
|
|
428
|
+
/**
|
|
429
|
+
* A shorter version of the description, used in input fields and other UI
|
|
430
|
+
* elements where the space might be to small to use the full description.
|
|
431
|
+
* @minLength 1
|
|
432
|
+
*/
|
|
433
|
+
abbreviated: string;
|
|
434
|
+
/**
|
|
435
|
+
* Examples of areas, if applicable.
|
|
436
|
+
* @minItems 1
|
|
437
|
+
*/
|
|
438
|
+
examples?: AreaKnowledgeExample[];
|
|
439
|
+
};
|
|
440
|
+
/**
|
|
441
|
+
* @minLength 1
|
|
442
|
+
*/
|
|
443
|
+
declare type AreaKnowledgeExample = string;
|
|
444
|
+
/**
|
|
445
|
+
* Structured description of common names.
|
|
446
|
+
* @minProperties 1
|
|
447
|
+
*/
|
|
448
|
+
declare type CommonNames = {
|
|
449
|
+
/**
|
|
450
|
+
* First names can be gender-neutral, but they can also be for a specific
|
|
451
|
+
* binary sex. They are sorted into groups.
|
|
452
|
+
* @minItems 1
|
|
453
|
+
*/
|
|
454
|
+
first_name_groups?: NameGroup[];
|
|
455
|
+
/**
|
|
456
|
+
* Last names can be gender-neutral, like family names, but they can also be
|
|
457
|
+
* for a specific binary sex. They are sorted into groups.
|
|
458
|
+
* @minItems 1
|
|
459
|
+
*/
|
|
460
|
+
last_name_groups?: NameGroup[];
|
|
461
|
+
/**
|
|
462
|
+
* Special naming rules.
|
|
463
|
+
* @minLength 1
|
|
464
|
+
*/
|
|
465
|
+
naming_rules?: string;
|
|
466
|
+
};
|
|
467
|
+
declare type NameGroup = {
|
|
468
|
+
/**
|
|
469
|
+
* The group label.
|
|
470
|
+
* @minLength 1
|
|
471
|
+
*/
|
|
472
|
+
label: string;
|
|
473
|
+
/**
|
|
474
|
+
* The binary sex if the group is only for a certain binary sex.
|
|
475
|
+
*/
|
|
476
|
+
sex: BinarySex;
|
|
477
|
+
/**
|
|
478
|
+
* The names from the group.
|
|
479
|
+
* @minItems 1
|
|
480
|
+
*/
|
|
481
|
+
names: Name[];
|
|
482
|
+
};
|
|
483
|
+
declare type Name = {
|
|
484
|
+
/**
|
|
485
|
+
* @minLength 1
|
|
486
|
+
*/
|
|
487
|
+
name: string;
|
|
488
|
+
/**
|
|
489
|
+
* Additional information about the name, appended in parenthesis.
|
|
490
|
+
* @minLength 1
|
|
491
|
+
*/
|
|
492
|
+
note?: string;
|
|
493
|
+
};
|
|
494
|
+
export {};
|