feat: flat spell frontmatter, full source-book titles, drop circle

Parser reads human-friendly flat keys (range, targets, castingTime, overcast
list, threshold/successes, ...) and expands them to SpellData; fixes
[object Object] range, empty targets/casting time and blank overcast rows.
SOURCE_BOOKS ids now match vault slugs and show full book titles.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-17 12:35:16 +02:00
co-authored by Claude Sonnet 5.5
parent 5f8e62ba02
commit 6b8d93f772
14 changed files with 165 additions and 77 deletions
+8 -9
View File
@@ -105,7 +105,6 @@
"spell": {
"label": "Spell",
"cast": "Cast spell",
"circle": "Circle",
"school": "School",
"discipline": "Discipline",
"difficulty": "Spell Threshold",
@@ -200,14 +199,14 @@
"eros": "Eros"
},
"sourceBook": {
"core-rules": "PG",
"magic-book": "KM",
"arcanum-sanguinis": "AS",
"crimson-cult": "CS",
"abyss-curse": "KO",
"humanity-guide": "PLM",
"bestiary": "B",
"gold-steel-magic": "ZSM"
"podrecznik-gry": "Podręcznik Gry",
"ksiega-magii": "Księga Magii",
"arcanum-sanguinis": "Arcanum Sanguinis",
"crimson-cult": "Szkarłatny Kult",
"klatwa-otchlani": "Klątwa Otchłani",
"przewodnik": "Przewodnik",
"bestiariusz": "Bestiariusz",
"zlote-stal-magia": "Złoto i Stal: Magia"
},
"aoeShape": {
"point": "Point",
+8 -9
View File
@@ -105,7 +105,6 @@
"spell": {
"label": "Zaklęcie",
"cast": "Rzuć zaklęcie",
"circle": "Krąg",
"school": "Szkoła",
"discipline": "Dziedzina",
"difficulty": "Próg zaklęcia",
@@ -200,14 +199,14 @@
"eros": "Eros"
},
"sourceBook": {
"core-rules": "PG",
"magic-book": "KM",
"arcanum-sanguinis": "AS",
"crimson-cult": "CS",
"abyss-curse": "KO",
"humanity-guide": "PLM",
"bestiary": "B",
"gold-steel-magic": "ZSM"
"podrecznik-gry": "Podręcznik Gry",
"ksiega-magii": "Księga Magii",
"arcanum-sanguinis": "Arcanum Sanguinis",
"crimson-cult": "Szkarłatny Kult",
"klatwa-otchlani": "Klątwa Otchłani",
"przewodnik": "Przewodnik",
"bestiariusz": "Bestiariusz",
"zlote-stal-magia": "Złoto i Stal: Magia"
},
"aoeShape": {
"point": "Punkt",