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
+2 -3
View File
@@ -275,14 +275,13 @@
title="Wymagana rasa">🔒</span>{{/if}}
</span>
<span class="item-meta">
K{{spell.system.circle}}
· {{localize (concat 'HBM.spell.castingMode.' spell.system.castingMode)}}
{{localize (concat 'HBM.spell.castingMode.' spell.system.castingMode)}}
· {{localize 'HBM.resources.mana'}}: {{spell.system.manaCost}}
{{#if (eq spell.system.castingMode 'sacred')}}{{#if spell.system.deity}} ·
{{spell.system.deity}}{{/if}}{{/if}}
{{#if (eq spell.system.castingMode 'blood')}} · krew: {{spell.system.bloodCost}}{{/if}}
{{#if spell.system.sourceBook}} · <span
class="source-pip">{{spell.system.sourceBook}}</span>{{/if}}
class="source-pip">{{localize (concat 'HBM.sourceBook.' spell.system.sourceBook)}}</span>{{/if}}
</span>
<div class="item-controls">
<button type="button" class="cast-btn" data-action="castSpell" data-item-id="{{spell.id}}"