@opencharacter/5e-srd-5.1 0.2.0 → 0.3.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.
Files changed (93) hide show
  1. package/README.md +53 -3
  2. package/content/backgrounds/acolyte.yaml +22 -0
  3. package/content/classes/barbarian.yaml +57 -0
  4. package/content/classes/bard.yaml +68 -0
  5. package/content/classes/cleric.yaml +83 -0
  6. package/content/classes/druid.yaml +61 -0
  7. package/content/classes/fighter.yaml +75 -0
  8. package/content/classes/monk.yaml +47 -0
  9. package/content/classes/paladin.yaml +76 -0
  10. package/content/classes/ranger.yaml +69 -0
  11. package/content/classes/rogue.yaml +59 -0
  12. package/content/classes/sorcerer.yaml +64 -0
  13. package/content/classes/warlock.yaml +71 -0
  14. package/content/classes/wizard.yaml +56 -0
  15. package/content/features/sorcerer/dragon-ancestor.yaml +1 -43
  16. package/content/features/sorcerer/elemental-affinity.yaml +29 -8
  17. package/content/features/sorcerer/metamagic.yaml +1 -93
  18. package/content/features/wizard/arcane-recovery.yaml +4 -4
  19. package/content/hunter-tactics/colossus-slayer.yaml +4 -0
  20. package/content/hunter-tactics/escape-the-horde.yaml +4 -0
  21. package/content/hunter-tactics/evasion.yaml +6 -0
  22. package/content/hunter-tactics/giant-killer.yaml +4 -0
  23. package/content/hunter-tactics/horde-breaker.yaml +4 -0
  24. package/content/hunter-tactics/multiattack-defense.yaml +4 -0
  25. package/content/hunter-tactics/stand-against-the-tide.yaml +4 -0
  26. package/content/hunter-tactics/steel-will.yaml +4 -0
  27. package/content/hunter-tactics/uncanny-dodge.yaml +6 -0
  28. package/content/hunter-tactics/volley.yaml +6 -0
  29. package/content/hunter-tactics/whirlwind-attack.yaml +6 -0
  30. package/content/invocations/bewitching-whispers.yaml +1 -6
  31. package/content/invocations/dreadful-word.yaml +1 -6
  32. package/content/invocations/minions-of-chaos.yaml +1 -6
  33. package/content/invocations/mire-the-mind.yaml +1 -6
  34. package/content/invocations/sculptor-of-flesh.yaml +1 -6
  35. package/content/invocations/sign-of-ill-omen.yaml +1 -6
  36. package/content/invocations/thief-of-five-fates.yaml +1 -6
  37. package/content/magic-items/arrow-of-slaying.yaml +1 -0
  38. package/content/magic-items/bag-of-holding.yaml +2 -0
  39. package/content/magic-items/efficient-quiver.yaml +2 -0
  40. package/content/magic-items/handy-haversack.yaml +2 -0
  41. package/content/magic-items/holy-avenger.yaml +9 -2
  42. package/content/magic-items/necklace-of-prayer-beads.yaml +1 -1
  43. package/content/magic-items/portable-hole.yaml +2 -0
  44. package/content/magic-items/ring-of-x-ray-vision.yaml +6 -0
  45. package/content/magic-items/robe-of-the-archmagi.yaml +1 -1
  46. package/content/magic-items/staff-of-charming.yaml +17 -12
  47. package/content/magic-items/staff-of-fire.yaml +9 -2
  48. package/content/magic-items/staff-of-frost.yaml +9 -2
  49. package/content/magic-items/staff-of-healing.yaml +9 -2
  50. package/content/magic-items/staff-of-power.yaml +2 -1
  51. package/content/magic-items/staff-of-swarming-insects.yaml +17 -12
  52. package/content/magic-items/staff-of-the-magi.yaml +2 -1
  53. package/content/magic-items/staff-of-the-python.yaml +7 -2
  54. package/content/magic-items/staff-of-the-woodlands.yaml +2 -1
  55. package/content/magic-items/staff-of-withering.yaml +9 -2
  56. package/content/metamagic/careful-spell.yaml +11 -0
  57. package/content/metamagic/distant-spell.yaml +11 -0
  58. package/content/metamagic/empowered-spell.yaml +22 -0
  59. package/content/metamagic/extended-spell.yaml +11 -0
  60. package/content/metamagic/heightened-spell.yaml +11 -0
  61. package/content/metamagic/quickened-spell.yaml +11 -0
  62. package/content/metamagic/subtle-spell.yaml +11 -0
  63. package/content/metamagic/twinned-spell.yaml +16 -0
  64. package/content/subclasses/hunter.yaml +4 -29
  65. package/content/traits/infernal-legacy.yaml +15 -2
  66. package/content/traits/relentless-endurance.yaml +6 -0
  67. package/content/weapons/javelin.yaml +1 -1
  68. package/dist/i18n/en.js +1 -1
  69. package/dist/i18n/en.json +277 -201
  70. package/dist/index.js +1 -1
  71. package/dist/release.json +5795 -5769
  72. package/i18n/en/monster-rules.yaml +1 -1
  73. package/i18n/en/type-fields.yaml +7 -0
  74. package/i18n/en.yaml +268 -223
  75. package/pack.yaml +2 -2
  76. package/package.json +2 -2
  77. package/rules/advancement.yaml +67 -38
  78. package/rules/checks.yaml +1 -1
  79. package/rules/classes.yaml +25 -3
  80. package/rules/combat.yaml +3 -2
  81. package/rules/conditions.yaml +1 -0
  82. package/rules/content-types.yaml +61 -4
  83. package/rules/core.yaml +6 -16
  84. package/rules/creation.yaml +20 -34
  85. package/rules/display.yaml +20 -5
  86. package/rules/equipment.yaml +13 -16
  87. package/rules/magic-items.yaml +19 -1
  88. package/rules/monsters.yaml +7 -1
  89. package/rules/rest.yaml +2 -36
  90. package/rules/spellcasting.yaml +1 -5
  91. package/rules/starting-equipment.yaml +17 -646
  92. package/rules/tags.yaml +12 -12
  93. package/upgrades/0.2.0-to-0.3.0.yaml +152 -0
@@ -1,656 +1,27 @@
1
- # Each written choice recommends (a), the book's first. The starting gold is the app's: the pack
2
- # doesn't track coins.
1
+ # The starting class and background bring their own kits: each with `startingKit` runs its own
2
+ # `kit` action, on the copies the creation added. Each written choice recommends
3
+ # (a), the book's first. The starting gold is the app's: the pack doesn't track coins.
3
4
  actions:
4
5
  - id: starting-equipment
5
6
  available: false
6
7
  params:
7
- class: { type: id, of: class }
8
- background: { type: id, of: background, optional: true }
9
8
  random: { type: boolean, default: false }
10
9
  results: [equipped]
11
10
  steps:
12
- - id: byClass
13
- kind: branch
14
- cases:
15
- - when: 'params.class == @classes.barbarian'
16
- steps:
17
- - id: barbarianWeapon
18
- kind: choice
19
- options:
20
- - id: greataxe
21
- changes:
22
- - { type: addItem, entry: { item: "'weapons.greataxe'", equipped: true } }
23
- - id: martial-melee
24
- recommend: options[0]
25
- random: params.random
26
- - id: barbarianMartial
27
- kind: choice
28
- when: "steps.barbarianWeapon.picked == 'martial-melee'"
29
- options:
30
- content:
31
- { type: weapon, where: "item.category == 'martial' && item.range == 'melee'" }
32
- random: params.random
33
- changes:
34
- - { type: addItem, entry: { item: picked.id, equipped: true } }
35
- - id: barbarianSecond
36
- kind: choice
37
- options:
38
- - id: two-handaxes
39
- changes:
40
- - type: addItem
41
- entry: { item: "'weapons.handaxe'", quantity: 2, equipped: true }
42
- - id: simple
43
- recommend: options[0]
44
- random: params.random
45
- - id: barbarianSimple
46
- kind: choice
47
- when: "steps.barbarianSecond.picked == 'simple'"
48
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
49
- random: params.random
50
- changes:
51
- - { type: addItem, entry: { item: picked.id, equipped: true } }
52
- - id: barbarianKit
53
- kind: changes
54
- changes:
55
- - { type: addItem, entry: { item: "'gear.explorers-pack'" } }
56
- - type: addItem
57
- entry: { item: "'weapons.javelin'", quantity: 4, equipped: true }
58
-
59
- - when: 'params.class == @classes.bard'
60
- steps:
61
- - id: bardWeapon
62
- kind: choice
63
- options:
64
- - id: rapier
65
- changes:
66
- - { type: addItem, entry: { item: "'weapons.rapier'", equipped: true } }
67
- - id: longsword
68
- changes:
69
- - { type: addItem, entry: { item: "'weapons.longsword'", equipped: true } }
70
- - id: simple
71
- recommend: options[0]
72
- random: params.random
73
- - id: bardSimple
74
- kind: choice
75
- when: "steps.bardWeapon.picked == 'simple'"
76
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
77
- random: params.random
78
- changes:
79
- - { type: addItem, entry: { item: picked.id, equipped: true } }
80
- - id: bardPack
81
- kind: choice
82
- options:
83
- - id: diplomats-pack
84
- changes: [{ type: addItem, entry: { item: "'gear.diplomats-pack'" } }]
85
- - id: entertainers-pack
86
- changes: [{ type: addItem, entry: { item: "'gear.entertainers-pack'" } }]
87
- recommend: options[0]
88
- random: params.random
89
- - id: bardInstrument
90
- kind: choice
91
- options:
92
- - id: lute
93
- changes: [{ type: addItem, entry: { item: "'tools.lute'" } }]
94
- - id: other-instrument
95
- recommend: options[0]
96
- random: params.random
97
- - id: bardOtherInstrument
98
- kind: choice
99
- when: "steps.bardInstrument.picked == 'other-instrument'"
100
- options:
101
- content:
102
- type: tool
103
- where: "item.category == 'musical-instrument' && item.id != @tools.lute"
104
- random: params.random
105
- changes:
106
- - { type: addItem, entry: { item: picked.id } }
107
- - id: bardKit
108
- kind: changes
109
- changes:
110
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
111
- - { type: addItem, entry: { item: "'weapons.dagger'", equipped: true } }
112
-
113
- - when: 'params.class == @classes.cleric'
114
- steps:
115
- - id: clericWeapon
116
- kind: choice
117
- sheet: proposed
118
- options:
119
- - id: mace
120
- changes:
121
- - { type: addItem, entry: { item: "'weapons.mace'", equipped: true } }
122
- - id: warhammer
123
- when: '@weapons.warhammer in proficiencies.weapons'
124
- changes:
125
- - { type: addItem, entry: { item: "'weapons.warhammer'", equipped: true } }
126
- recommend: options[0]
127
- random: params.random
128
- - id: clericArmor
129
- kind: choice
130
- sheet: proposed
131
- options:
132
- - id: scale-mail
133
- changes:
134
- - { type: addItem, entry: { item: "'armor.scale-mail'", equipped: true } }
135
- - id: leather-armor
136
- changes:
137
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
138
- - id: chain-mail
139
- when: "'heavy' in proficiencies.armor"
140
- changes:
141
- - { type: addItem, entry: { item: "'armor.chain-mail'", equipped: true } }
142
- recommend: options[0]
143
- random: params.random
144
- - id: clericRanged
145
- kind: choice
146
- options:
147
- - id: light-crossbow
148
- changes:
149
- - type: addItem
150
- entry: { item: "'weapons.light-crossbow'", equipped: true }
151
- - { type: addItem, entry: { item: "'gear.crossbow-bolts'", quantity: 20 } }
152
- - id: simple
153
- recommend: options[0]
154
- random: params.random
155
- - id: clericSimple
156
- kind: choice
157
- when: "steps.clericRanged.picked == 'simple'"
158
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
159
- random: params.random
160
- changes:
161
- - { type: addItem, entry: { item: picked.id, equipped: true } }
162
- - id: clericPack
163
- kind: choice
164
- options:
165
- - id: priests-pack
166
- changes: [{ type: addItem, entry: { item: "'gear.priests-pack'" } }]
167
- - id: explorers-pack
168
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
169
- recommend: options[0]
170
- random: params.random
171
- - id: clericSymbol
172
- kind: choice
173
- options: { content: { type: gear, where: "item.category == 'holy-symbol'" } }
174
- random: params.random
175
- changes:
176
- - { type: addItem, entry: { item: picked.id } }
177
- - id: clericKit
178
- kind: changes
179
- changes:
180
- - { type: addItem, entry: { item: "'armor.shield'", equipped: true } }
181
-
182
- - when: 'params.class == @classes.druid'
183
- steps:
184
- - id: druidFirst
185
- kind: choice
186
- options:
187
- - id: wooden-shield
188
- changes:
189
- - { type: addItem, entry: { item: "'armor.shield'", equipped: true } }
190
- - id: simple
191
- recommend: options[0]
192
- random: params.random
193
- - id: druidSimple
194
- kind: choice
195
- when: "steps.druidFirst.picked == 'simple'"
196
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
197
- random: params.random
198
- changes:
199
- - { type: addItem, entry: { item: picked.id, equipped: true } }
200
- - id: druidWeapon
201
- kind: choice
202
- options:
203
- - id: scimitar
204
- changes:
205
- - { type: addItem, entry: { item: "'weapons.scimitar'", equipped: true } }
206
- - id: simple-melee
207
- recommend: options[0]
208
- random: params.random
209
- - id: druidSimpleMelee
210
- kind: choice
211
- when: "steps.druidWeapon.picked == 'simple-melee'"
212
- options:
213
- content:
214
- { type: weapon, where: "item.category == 'simple' && item.range == 'melee'" }
215
- random: params.random
216
- changes:
217
- - { type: addItem, entry: { item: picked.id, equipped: true } }
218
- - id: druidFocus
219
- kind: choice
220
- options: { content: { type: gear, where: "item.category == 'druidic-focus'" } }
221
- random: params.random
222
- changes:
223
- - { type: addItem, entry: { item: picked.id } }
224
- - id: druidKit
225
- kind: changes
226
- changes:
227
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
228
- - { type: addItem, entry: { item: "'gear.explorers-pack'" } }
229
-
230
- - when: 'params.class == @classes.fighter'
231
- steps:
232
- - id: fighterArmor
233
- kind: choice
234
- options:
235
- - id: chain-mail
236
- changes:
237
- - { type: addItem, entry: { item: "'armor.chain-mail'", equipped: true } }
238
- - id: leather-longbow
239
- changes:
240
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
241
- - { type: addItem, entry: { item: "'weapons.longbow'", equipped: true } }
242
- - { type: addItem, entry: { item: "'gear.arrows'", quantity: 20 } }
243
- recommend: options[0]
244
- random: params.random
245
- - id: fighterWeapons
246
- kind: choice
247
- options:
248
- - id: martial-and-shield
249
- changes:
250
- - { type: addItem, entry: { item: "'armor.shield'", equipped: true } }
251
- - id: two-martial
252
- recommend: options[0]
253
- random: params.random
254
- - id: fighterMartial
255
- kind: choice
256
- options: { content: { type: weapon, where: "item.category == 'martial'" } }
257
- random: params.random
258
- changes:
259
- - { type: addItem, entry: { item: picked.id, equipped: true } }
260
- - id: fighterMartial2
261
- kind: choice
262
- when: "steps.fighterWeapons.picked == 'two-martial'"
263
- options: { content: { type: weapon, where: "item.category == 'martial'" } }
264
- random: params.random
265
- changes:
266
- - { type: addItem, entry: { item: picked.id, equipped: true } }
267
- - id: fighterRanged
268
- kind: choice
269
- options:
270
- - id: light-crossbow
271
- changes:
272
- - type: addItem
273
- entry: { item: "'weapons.light-crossbow'", equipped: true }
274
- - { type: addItem, entry: { item: "'gear.crossbow-bolts'", quantity: 20 } }
275
- - id: two-handaxes
276
- changes:
277
- - type: addItem
278
- entry: { item: "'weapons.handaxe'", quantity: 2, equipped: true }
279
- recommend: options[0]
280
- random: params.random
281
- - id: fighterPack
282
- kind: choice
283
- options:
284
- - id: dungeoneers-pack
285
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
286
- - id: explorers-pack
287
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
288
- recommend: options[0]
289
- random: params.random
290
-
291
- - when: 'params.class == @classes.monk'
292
- steps:
293
- - id: monkWeapon
294
- kind: choice
295
- options:
296
- - id: shortsword
297
- changes:
298
- - { type: addItem, entry: { item: "'weapons.shortsword'", equipped: true } }
299
- - id: simple
300
- recommend: options[0]
301
- random: params.random
302
- - id: monkSimple
303
- kind: choice
304
- when: "steps.monkWeapon.picked == 'simple'"
305
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
306
- random: params.random
307
- changes:
308
- - { type: addItem, entry: { item: picked.id, equipped: true } }
309
- - id: monkPack
310
- kind: choice
311
- options:
312
- - id: dungeoneers-pack
313
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
314
- - id: explorers-pack
315
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
316
- recommend: options[0]
317
- random: params.random
318
- - id: monkKit
319
- kind: changes
320
- changes:
321
- - type: addItem
322
- entry: { item: "'weapons.dart'", quantity: 10, equipped: true }
323
-
324
- - when: 'params.class == @classes.paladin'
325
- steps:
326
- - id: paladinWeapons
327
- kind: choice
328
- options:
329
- - id: martial-and-shield
330
- changes:
331
- - { type: addItem, entry: { item: "'armor.shield'", equipped: true } }
332
- - id: two-martial
333
- recommend: options[0]
334
- random: params.random
335
- - id: paladinMartial
336
- kind: choice
337
- options: { content: { type: weapon, where: "item.category == 'martial'" } }
338
- random: params.random
339
- changes:
340
- - { type: addItem, entry: { item: picked.id, equipped: true } }
341
- - id: paladinMartial2
342
- kind: choice
343
- when: "steps.paladinWeapons.picked == 'two-martial'"
344
- options: { content: { type: weapon, where: "item.category == 'martial'" } }
345
- random: params.random
346
- changes:
347
- - { type: addItem, entry: { item: picked.id, equipped: true } }
348
- - id: paladinSecond
349
- kind: choice
350
- options:
351
- - id: five-javelins
352
- changes:
353
- - type: addItem
354
- entry: { item: "'weapons.javelin'", quantity: 5, equipped: true }
355
- - id: simple-melee
356
- recommend: options[0]
357
- random: params.random
358
- - id: paladinSimpleMelee
359
- kind: choice
360
- when: "steps.paladinSecond.picked == 'simple-melee'"
361
- options:
362
- content:
363
- { type: weapon, where: "item.category == 'simple' && item.range == 'melee'" }
364
- random: params.random
365
- changes:
366
- - { type: addItem, entry: { item: picked.id, equipped: true } }
367
- - id: paladinPack
368
- kind: choice
369
- options:
370
- - id: priests-pack
371
- changes: [{ type: addItem, entry: { item: "'gear.priests-pack'" } }]
372
- - id: explorers-pack
373
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
374
- recommend: options[0]
375
- random: params.random
376
- - id: paladinSymbol
377
- kind: choice
378
- options: { content: { type: gear, where: "item.category == 'holy-symbol'" } }
379
- random: params.random
380
- changes:
381
- - { type: addItem, entry: { item: picked.id } }
382
- - id: paladinKit
383
- kind: changes
384
- changes:
385
- - { type: addItem, entry: { item: "'armor.chain-mail'", equipped: true } }
386
-
387
- - when: 'params.class == @classes.ranger'
388
- steps:
389
- - id: rangerArmor
390
- kind: choice
391
- options:
392
- - id: scale-mail
393
- changes:
394
- - { type: addItem, entry: { item: "'armor.scale-mail'", equipped: true } }
395
- - id: leather-armor
396
- changes:
397
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
398
- recommend: options[0]
399
- random: params.random
400
- - id: rangerWeapons
401
- kind: choice
402
- options:
403
- - id: two-shortswords
404
- changes:
405
- - type: addItem
406
- entry: { item: "'weapons.shortsword'", quantity: 2, equipped: true }
407
- - id: two-simple-melee
408
- recommend: options[0]
409
- random: params.random
410
- - id: rangerSimpleMelee
411
- kind: choice
412
- when: "steps.rangerWeapons.picked == 'two-simple-melee'"
413
- options:
414
- content:
415
- { type: weapon, where: "item.category == 'simple' && item.range == 'melee'" }
416
- random: params.random
417
- changes:
418
- - { type: addItem, entry: { item: picked.id, equipped: true } }
419
- - id: rangerSimpleMelee2
420
- kind: choice
421
- when: "steps.rangerWeapons.picked == 'two-simple-melee'"
422
- options:
423
- content:
424
- { type: weapon, where: "item.category == 'simple' && item.range == 'melee'" }
425
- random: params.random
426
- changes:
427
- - { type: addItem, entry: { item: picked.id, equipped: true } }
428
- - id: rangerPack
429
- kind: choice
430
- options:
431
- - id: dungeoneers-pack
432
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
433
- - id: explorers-pack
434
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
435
- recommend: options[0]
436
- random: params.random
437
- - id: rangerKit
438
- kind: changes
439
- changes:
440
- - { type: addItem, entry: { item: "'weapons.longbow'", equipped: true } }
441
- - { type: addItem, entry: { item: "'gear.quiver'" } }
442
- - { type: addItem, entry: { item: "'gear.arrows'", quantity: 20 } }
443
-
444
- - when: 'params.class == @classes.rogue'
445
- steps:
446
- - id: rogueWeapon
447
- kind: choice
448
- options:
449
- - id: rapier
450
- changes:
451
- - { type: addItem, entry: { item: "'weapons.rapier'", equipped: true } }
452
- - id: shortsword
453
- changes:
454
- - { type: addItem, entry: { item: "'weapons.shortsword'", equipped: true } }
455
- recommend: options[0]
456
- random: params.random
457
- - id: rogueSecond
458
- kind: choice
459
- options:
460
- - id: shortbow
461
- changes:
462
- - { type: addItem, entry: { item: "'weapons.shortbow'", equipped: true } }
463
- - { type: addItem, entry: { item: "'gear.quiver'" } }
464
- - { type: addItem, entry: { item: "'gear.arrows'", quantity: 20 } }
465
- - id: shortsword
466
- changes:
467
- - { type: addItem, entry: { item: "'weapons.shortsword'", equipped: true } }
468
- recommend: options[0]
469
- random: params.random
470
- - id: roguePack
471
- kind: choice
472
- options:
473
- - id: burglars-pack
474
- changes: [{ type: addItem, entry: { item: "'gear.burglars-pack'" } }]
475
- - id: dungeoneers-pack
476
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
477
- - id: explorers-pack
478
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
479
- recommend: options[0]
480
- random: params.random
481
- - id: rogueKit
482
- kind: changes
483
- changes:
484
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
485
- - type: addItem
486
- entry: { item: "'weapons.dagger'", quantity: 2, equipped: true }
487
- - { type: addItem, entry: { item: "'tools.thieves-tools'" } }
488
-
489
- - when: 'params.class == @classes.sorcerer'
490
- steps:
491
- - id: sorcererWeapon
492
- kind: choice
493
- options:
494
- - id: light-crossbow
495
- changes:
496
- - type: addItem
497
- entry: { item: "'weapons.light-crossbow'", equipped: true }
498
- - { type: addItem, entry: { item: "'gear.crossbow-bolts'", quantity: 20 } }
499
- - id: simple
500
- recommend: options[0]
501
- random: params.random
502
- - id: sorcererSimple
503
- kind: choice
504
- when: "steps.sorcererWeapon.picked == 'simple'"
505
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
506
- random: params.random
507
- changes:
508
- - { type: addItem, entry: { item: picked.id, equipped: true } }
509
- - id: sorcererFocus
510
- kind: choice
511
- options:
512
- - id: component-pouch
513
- changes: [{ type: addItem, entry: { item: "'gear.component-pouch'" } }]
514
- - id: arcane-focus
515
- recommend: options[0]
516
- random: params.random
517
- - id: sorcererArcaneFocus
518
- kind: choice
519
- when: "steps.sorcererFocus.picked == 'arcane-focus'"
520
- options: { content: { type: gear, where: "item.category == 'arcane-focus'" } }
521
- random: params.random
522
- changes:
523
- - { type: addItem, entry: { item: picked.id } }
524
- - id: sorcererPack
525
- kind: choice
526
- options:
527
- - id: dungeoneers-pack
528
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
529
- - id: explorers-pack
530
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
531
- recommend: options[0]
532
- random: params.random
533
- - id: sorcererKit
534
- kind: changes
535
- changes:
536
- - type: addItem
537
- entry: { item: "'weapons.dagger'", quantity: 2, equipped: true }
538
-
539
- - when: 'params.class == @classes.warlock'
540
- steps:
541
- - id: warlockWeapon
542
- kind: choice
543
- options:
544
- - id: light-crossbow
545
- changes:
546
- - type: addItem
547
- entry: { item: "'weapons.light-crossbow'", equipped: true }
548
- - { type: addItem, entry: { item: "'gear.crossbow-bolts'", quantity: 20 } }
549
- - id: simple
550
- recommend: options[0]
551
- random: params.random
552
- - id: warlockSimple
553
- kind: choice
554
- when: "steps.warlockWeapon.picked == 'simple'"
555
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
556
- random: params.random
557
- changes:
558
- - { type: addItem, entry: { item: picked.id, equipped: true } }
559
- - id: warlockFocus
560
- kind: choice
561
- options:
562
- - id: component-pouch
563
- changes: [{ type: addItem, entry: { item: "'gear.component-pouch'" } }]
564
- - id: arcane-focus
565
- recommend: options[0]
566
- random: params.random
567
- - id: warlockArcaneFocus
568
- kind: choice
569
- when: "steps.warlockFocus.picked == 'arcane-focus'"
570
- options: { content: { type: gear, where: "item.category == 'arcane-focus'" } }
571
- random: params.random
572
- changes:
573
- - { type: addItem, entry: { item: picked.id } }
574
- - id: warlockPack
575
- kind: choice
576
- options:
577
- - id: scholars-pack
578
- changes: [{ type: addItem, entry: { item: "'gear.scholars-pack'" } }]
579
- - id: dungeoneers-pack
580
- changes: [{ type: addItem, entry: { item: "'gear.dungeoneers-pack'" } }]
581
- recommend: options[0]
582
- random: params.random
583
- - id: warlockExtra
584
- kind: choice
585
- options: { content: { type: weapon, where: "item.category == 'simple'" } }
586
- random: params.random
587
- changes:
588
- - { type: addItem, entry: { item: picked.id, equipped: true } }
589
- - id: warlockKit
590
- kind: changes
591
- changes:
592
- - { type: addItem, entry: { item: "'armor.leather'", equipped: true } }
593
- - type: addItem
594
- entry: { item: "'weapons.dagger'", quantity: 2, equipped: true }
595
-
596
- - when: 'params.class == @classes.wizard'
597
- steps:
598
- - id: wizardWeapon
599
- kind: choice
600
- options:
601
- - id: quarterstaff
602
- changes:
603
- - { type: addItem, entry: { item: "'weapons.quarterstaff'", equipped: true } }
604
- - id: dagger
605
- changes:
606
- - { type: addItem, entry: { item: "'weapons.dagger'", equipped: true } }
607
- recommend: options[0]
608
- random: params.random
609
- - id: wizardFocus
610
- kind: choice
611
- options:
612
- - id: component-pouch
613
- changes: [{ type: addItem, entry: { item: "'gear.component-pouch'" } }]
614
- - id: arcane-focus
615
- recommend: options[0]
616
- random: params.random
617
- - id: wizardArcaneFocus
618
- kind: choice
619
- when: "steps.wizardFocus.picked == 'arcane-focus'"
620
- options: { content: { type: gear, where: "item.category == 'arcane-focus'" } }
621
- random: params.random
622
- changes:
623
- - { type: addItem, entry: { item: picked.id } }
624
- - id: wizardPack
625
- kind: choice
626
- options:
627
- - id: scholars-pack
628
- changes: [{ type: addItem, entry: { item: "'gear.scholars-pack'" } }]
629
- - id: explorers-pack
630
- changes: [{ type: addItem, entry: { item: "'gear.explorers-pack'" } }]
631
- recommend: options[0]
632
- random: params.random
633
- - id: wizardKit
634
- kind: changes
635
- changes:
636
- - { type: addItem, entry: { item: "'gear.spellbook'" } }
637
-
638
- - id: acolyteSymbol
639
- kind: choice
640
- when: 'has(params.background) && params.background == @backgrounds.acolyte'
641
- options: { content: { type: gear, where: "item.category == 'holy-symbol'" } }
642
- random: params.random
643
- changes:
644
- - { type: addItem, entry: { item: picked.id } }
645
- - id: acolyteKit
646
- kind: changes
647
- when: 'has(params.background) && params.background == @backgrounds.acolyte'
648
- changes:
649
- - { type: addItem, entry: { item: "'gear.book'" } }
650
- - { type: addItem, entry: { item: "'gear.incense'", quantity: 5 } }
651
- - { type: addItem, entry: { item: "'gear.vestments'" } }
652
- - { type: addItem, entry: { item: "'gear.common-clothes'" } }
653
- - { type: addItem, entry: { item: "'gear.pouch'" } }
11
+ - id: class
12
+ kind: action
13
+ sheet: proposed
14
+ when: countCopies(copy.id == 'class' && copy.fields.startingKit) > 0
15
+ entry: "'class'"
16
+ use: kit
17
+ params: { random: params.random }
18
+ - id: background
19
+ kind: action
20
+ sheet: proposed
21
+ when: countCopies(copy.id == 'background' && copy.fields.startingKit) > 0
22
+ entry: "'background'"
23
+ use: kit
24
+ params: { random: params.random }
654
25
  - id: result
655
26
  kind: outcome
656
27
  result: "'equipped'"