feat: Foundry Sync Brief 2026-10-26 (partial: casting penalties, prayer route, Hartowany, Próg Obłędu) #11

Open
octoturge wants to merge 9 commits from feat/sync-2026-10-26 into main
2 changed files with 5 additions and 1 deletions
Showing only changes of commit 5b1d57165e - Show all commits
+3 -1
View File
@@ -35,6 +35,7 @@ const SpellNoteSchema = z.object({
targets: z.coerce.string().default(''),
duration: z.coerce.string().default(''),
damageBase: z.coerce.string().default(''),
category: z.coerce.string().default(''),
damageCategory: z.boolean().default(false),
damageType: z.string().default('magical'),
ignoresArmor: z.boolean().default(false),
@@ -93,7 +94,8 @@ function toSystem(n: SpellNote): Record<string, unknown> {
duration: n.duration,
areaOfEffect: deriveAreaOfEffect(n.targets),
damageBase: n.damageBase,
damageCategory: n.damageCategory,
// Spells of the "Obrażenia" effect category (vault `category:`) deal +1 damage.
damageCategory: n.damageCategory || n.category.trim().toLowerCase() === 'obrażenia',
damageType: n.damageType || 'magical',
ignoresArmor: n.ignoresArmor,
statusEffects: n.statusEffects,
+2
View File
@@ -21,6 +21,8 @@ describe('spell-parser', () => {
expect(s.difficulty).toEqual({ threshold: 4, successes: 1 });
expect(s.overcastOptions).toEqual([{ description: '+1 punkt Obrażeń', manaPerStep: 1 }]);
expect(s).not.toHaveProperty('circle');
expect(s.damageCategory).toBe(true);
expect((docs.find((d) => d.id === 'crimson-bolt')!.system as any).damageCategory).toBe(true);
for (const d of docs) {
const sys = d.system as any;