@opencharacter/godbound-core 0.1.0 → 0.2.0

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/README.md CHANGED
@@ -16,6 +16,9 @@ Edition, used with the author's permission; nothing comes from the deluxe editio
16
16
  pnpm add @opencharacter/godbound-core @opencharacter/engine
17
17
  ```
18
18
 
19
+ This release needs spec 0.3: `@opencharacter/engine` 0.3.0 or later. An engine for an older
20
+ spec refuses it (`spec-version-unsupported`).
21
+
19
22
  The package's default export is the pack's release, ready for `loadRuleset`; its English text is
20
23
  `@opencharacter/godbound-core/i18n/en` (also as JSON, `release.json` and `i18n/en.json`).
21
24
 
@@ -29,9 +32,9 @@ const { ruleset } = loaded;
29
32
 
30
33
  // A random hero: rolled attributes, three Words, six points of gifts, armor and a weapon.
31
34
  const blank = {
32
- specVersion: '0.2.0',
35
+ specVersion: '0.3.0',
33
36
  id: 'hero',
34
- packs: [{ id: 'godbound-core', version: '0.1.0' }],
37
+ packs: [{ id: 'godbound-core', version: '0.2.0' }],
35
38
  creating: true,
36
39
  };
37
40
  const run = startAction(ruleset, blank, {
@@ -79,8 +82,8 @@ computeSheet(ruleset, made.character).values['godbound-core:effort.max']?.value;
79
82
  step recommends a pick, so an automatic run finishes.
80
83
  - `random`: the attributes are rolled and recommended in the order rolled; the three Words are
81
84
  drawn uniformly; gifts are drawn uniformly among the bound Words' gifts and the universal
82
- gifts the remaining points afford, until the points are spent; armor (none, light, medium,
83
- heavy), a shield (or not) and a weapon category are drawn uniformly; Sorcery's invocations are
85
+ gifts the remaining points afford, until the points are spent; armor (none or any armor of
86
+ the ruleset, lightest first), a shield (none or any shield) and a weapon category are drawn uniformly; Sorcery's invocations are
84
87
  drawn.
85
88
  - The choices the Words, gifts and armor bring (a Word's raised attribute, Excellence of the
86
89
  Word, the saves medium or heavy armor hinders, invocations) are asked at the end, each with a
@@ -141,6 +144,26 @@ computeSheet(ruleset, made.character).values['godbound-core:effort.max']?.value;
141
144
  it lasts keeps that Effort on its own grant (`committed` in the artifact copy's `grants`) until
142
145
  `release-gift` or dawn; the others add to the artifact's `spent`, back at dawn.
143
146
 
147
+ ## Add-on packs
148
+
149
+ A pack that depends on `godbound-core` can add content of its types: creation offers every Word,
150
+ gift, armor, shield and weapon of the ruleset, in the guided picks and in the random draws (a
151
+ gift names its Word in `word`).
152
+
153
+ - **Open enum:** armor `weight`. An add-on lists new values in `extendEnums` and names them in
154
+ its text.
155
+ - **Naming what an add-on adds:** it names each added value, option or key in its own text,
156
+ under the key this pack would use, and `createText` finds it there when the app passes the
157
+ ruleset's `enumOrigins`, `optionOrigins` and `familyOrigins`. For example,
158
+ `mythic` added to `godbound-core:types.armor.fields.weight` is
159
+ `types.armor.fields.weight.values.mythic.name: Mythic` (through `enumOrigins`).
160
+ - **Tagged steps** take an add-on's rules-level `changes` effects: `creation.finish` (the last
161
+ step of creation), `level.gain` (each new level), `rest.scene` (the end of a scene) and
162
+ `rest.day` (a new day).
163
+
164
+ Still closed, as the rules' own: a weapon's or gift's `attribute`, the saves, a gift's
165
+ `activation`, `commit` and `degree`, an invocation's `tier` and a tradition's `casting`.
166
+
144
167
  ## Rule readings
145
168
 
146
169
  - **Random start:** the book has no random method beyond rolling attributes, so Words, gifts and