wip: 2026-10-26 sync - casting penalties, prayer route, Hartowany, madness threshold (untested)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E48f1kXhsEbAUxdkNP1yDM
This commit is contained in:
2026-10-29 17:19:45 +01:00
co-authored by Claude Sonnet 5.5
parent c5e53e591a
commit 23c1e94ab5
18 changed files with 247 additions and 96 deletions
+2 -2
View File
@@ -19,7 +19,6 @@ const SpellNoteSchema = z.object({
bloodCost: z.number().int().min(0).default(0),
threshold: z.number().int().min(1).max(6),
successes: z.number().int().min(1),
complexityLevel: z.number().int().min(0).default(0),
isSuperspell: z.boolean().default(false),
requiresGroupCast: z.boolean().default(false),
minCasters: z.number().int().min(1).default(1),
@@ -36,6 +35,7 @@ const SpellNoteSchema = z.object({
targets: z.coerce.string().default(''),
duration: z.coerce.string().default(''),
damageBase: z.coerce.string().default(''),
damageCategory: z.boolean().default(false),
damageType: z.string().default('magical'),
ignoresArmor: z.boolean().default(false),
statusEffects: z.array(z.string()).default([]),
@@ -93,6 +93,7 @@ function toSystem(n: SpellNote): Record<string, unknown> {
duration: n.duration,
areaOfEffect: deriveAreaOfEffect(n.targets),
damageBase: n.damageBase,
damageCategory: n.damageCategory,
damageType: n.damageType || 'magical',
ignoresArmor: n.ignoresArmor,
statusEffects: n.statusEffects,
@@ -105,7 +106,6 @@ function toSystem(n: SpellNote): Record<string, unknown> {
nonCombatOnly: n.nonCombatOnly,
overcastOptions: n.overcast.map((description) => ({ description, manaPerStep: 1 })),
triggers: n.triggers,
complexityLevel: n.complexityLevel,
};
}