feat: Ajout onglet Sorcellerie sur la fiche de personnage

- Ajout d'un nouvel onglet 'Sorcellerie' dans la navigation
- Déplacement de la section Runes de 'Dons & Pactes' vers 'Sorcellerie'
- Ajout de 3 nouvelles sections avec éditeurs riches :
  * Créatures invoquées
  * Démons liés
  * Enchantements / Automata
- Ajout des champs système pour stocker ces informations (HTMLField)
- Ajout des clés i18n sous le namespace SORCELLERIE

Structure de l'onglet Sorcellerie :
1. Runes (liste d'items, comme auparavant)
2. Créatures invoquées (éditeur riche)
3. Démons liés (éditeur riche)
4. Enchantements / Automata (éditeur riche)

Cela permet aux sorciers d'avoir plus d'espace pour noter leurs
nombreuses runes, invocations, etc. et d'y glisser-déposer des liens
vers des objets du compendium.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-07 14:14:30 +02:00
parent 0c42b6ab34
commit 1c73faeb00
3 changed files with 74 additions and 33 deletions
+60 -33
View File
@@ -113,6 +113,7 @@
<a class="item" data-tab="principal">Attributs</a>
<a class="item" data-tab="competences">Compétences</a>
<a class="item" data-tab="dons">Dons & Pactes</a>
<a class="item" data-tab="sorcellerie">{{localize "SORCELLERIE.tab"}}</a>
<a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipement">{{localize "MNBL.equipment"}}</a>
<a class="item" data-tab="effects">Effets</a>
@@ -356,39 +357,6 @@
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Runes</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Haut Parler</label>
</span>
<span class="item-field-label-short">
<label class="short-label">{{localize "MNBL.difficulty"}}</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control" data-action="createItem" data-type="rune"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each runes as |rune key|}}
<li class="item flexrow " data-item-id="{{rune._id}}" data-item-type="rune">
<img class="item-name-img" src="{{rune.img}}" />
<span class="item-name-label competence-name"><a data-action="rollRune">{{rune.name}}</a></span>
<span class="item-field-label-long">{{rune.system.formule}}</span>
<span class="item-field-label-short">{{rune.system.seuil}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control" data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control" data-action="deleteItem" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
@@ -472,6 +440,65 @@
</div>
{{!-- Sorcellerie Tab --}}
<div class="tab sorcellerie" data-group="primary" data-tab="sorcellerie">
<div class="flexcol">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">{{localize "SORCELLERIE.runes"}}</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Haut Parler</label>
</span>
<span class="item-field-label-short">
<label class="short-label">{{localize "MNBL.difficulty"}}</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control" data-action="createItem" data-type="rune"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each runes as |rune key|}}
<li class="item flexrow " data-item-id="{{rune._id}}" data-item-type="rune">
<img class="item-name-img" src="{{rune.img}}" />
<span class="item-name-label competence-name"><a data-action="rollRune">{{rune.name}}</a></span>
<span class="item-field-label-long">{{rune.system.formule}}</span>
<span class="item-field-label-short">{{rune.system.seuil}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control" data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control" data-action="deleteItem" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<h3><label class="items-title-text">{{localize "SORCELLERIE.creaturesinvoquees"}}</label></h3>
<div class="small-editor item-text-long-line">
{{editor system.sorcellerie.creaturesinvoquees target="system.sorcellerie.creaturesinvoquees" button=true owner=owner editable=editable}}
</div>
</div>
<div class="sheet-box color-bg-archetype">
<h3><label class="items-title-text">{{localize "SORCELLERIE.demonslies"}}</label></h3>
<div class="small-editor item-text-long-line">
{{editor system.sorcellerie.demonslies target="system.sorcellerie.demonslies" button=true owner=owner editable=editable}}
</div>
</div>
<div class="sheet-box color-bg-archetype">
<h3><label class="items-title-text">{{localize "SORCELLERIE.enchantements"}}</label></h3>
<div class="small-editor item-text-long-line">
{{editor system.sorcellerie.enchantements target="system.sorcellerie.enchantements" button=true owner=owner editable=editable}}
</div>
</div>
</div>
</div>
{{!-- Equipement Tab --}}
<div class="tab combat" data-group="primary" data-tab="combat">