Files
fvtt-hamalron/templates/personnage-sortileges.hbs
uberwald 1749210322 feat: système de magie complet avec dialogue de lancement
- Modèle sortilege enrichi (type, niveau, portée, durée, conditions, effets)
- Personnage: champ rangMagie (ensorceleur/initié/thaumaturge)
- Constantes: SORTILEGE_MODIFICATEURS (table 3x3), RANG_MAGICIEN
- Dialogue de lancement: tirage MJ, sélection atouts + Coupe, total temps réel
- Calcul difficulté: carte MJ + modificateur selon type × niveau
- Table des échecs magiques (normal/critique selon rang)
- Pioche automatique après succès, défausse après échec
- Template chat avec résultat localisé

Corrections post-review:
- Boucle de défausse sur échec corrigée (itérait toujours sur [0])
- Clé de localisation HAMALRON.Roll.cast -> HAMALRON.Sortilege.cast
- Ajout de la clé manquante noCoupe
- Labels localisés dans le chat (categorieLabel, niveauLabel)
2026-07-10 19:07:05 +02:00

69 lines
2.3 KiB
Handlebars

<section
class="tab character-{{tab.id}} {{tab.cssClass}}"
data-tab="{{tab.id}}"
data-group="{{tab.group}}"
>
<div class="main-div">
<fieldset>
<legend>{{localize "HAMALRON.Label.sortileges"}}{{#if isEditMode}}
<a
class="action"
data-tooltip="{{localize 'HAMALRON.Tooltip.addSortilege'}}"
data-tooltip-direction="UP"
><i class="fas fa-plus" data-action="createSortilege"></i></a>{{/if}}
</legend>
<div class="sortileges">
{{#each sortileges as |item|}}
<div
class="sortilege item"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
data-drag="true"
>
<img
class="item-img"
src="{{item.img}}"
data-tooltip="{{item.name}}"
/>
<div
class="name"
data-action="toChat"
data-item-uuid="{{item.uuid}}"
data-tooltip="{{{item.system.description}}}"
>
<a>{{item.name}}</a>
</div>
<span class="categorie" data-tooltip="Catégorie">{{upperFirst
item.system.categorie
}}</span>
<span class="niveau" data-tooltip="Niveau requis">{{upperFirst
item.system.niveauRequis
}}</span>
<div class="controls">
<a
data-tooltip="{{localize 'HAMALRON.Roll.cast'}}"
data-action="castSortilege"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-wand-magic-sparkles"></i></a>
<a
data-tooltip="{{localize 'HAMALRON.Edit'}}"
data-action="edit"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-edit"></i></a>
<a
data-tooltip="{{localize 'HAMALRON.Delete'}}"
data-action="delete"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</fieldset>
</div>
</section>