refacto: harmonisation du système avec les règles Hamalron JDR

Corrections majeures :
- HamalronTirageTarot extends Roll (évaluation des jets fonctionnelle)
- Correction du nom de classe Langue (HamalronFaction -> HamalronLangue)
- Création du template tab-navigation.hbs manquant
- Type acteur 'character' -> 'personnage' dans _preCreate

Types d'items corrigés (anglais -> français) :
- weapon -> arme, armor -> armure, equipment -> equipement
- Suppression des types inexistants (deal, malefica, ritual, perk)

Modèles :
- cost -> cout (armure, equipement)
- Tarot : default -> initial
- Sortilege : LOCALIZATION_PREFIXES corrigé
- Constantes CHOICE_ADVANTAGES_DISADVANTAGES et ATTACK_MODIFIERS ajoutées
- ATTACK_MODIFIERS supprimé (plus utilisé)

Templates alignés sur les modèles réels :
- enemy-trait : suppression champs manquants (trauma, stats, domain...)
- personnage-equipement : champs alignés sur arme/armure/equipement
- personnage-sortileges : suppression domain/level/rituals
- enemy-main : suppression stats et flavorText
- base-actor : suppression mortality, toChat limité aux tarots

Jets de compétence :
- Égalité = réussite (>= au lieu de >, conforme aux règles p.155)
- Comparaison robuste des cartes de succès (via String())

Le Mat :
- Les autres joueurs peuvent renouveler leur main (règle p.151)

findTarotItem : recherche dans game.items puis compendiums
await manquants ajoutés sur saveDeckState()
AGENTS.md créé
This commit is contained in:
2026-07-10 18:52:20 +02:00
parent 4bc381f2e6
commit 68b3079da8
25 changed files with 257 additions and 570 deletions
+5 -89
View File
@@ -8,9 +8,9 @@
<legend>{{localize "HAMALRON.Label.sortileges"}}{{#if isEditMode}}
<a
class="action"
data-tooltip="{{localize 'HAMALRON.Tooltip.addMalefica'}}"
data-tooltip="{{localize 'HAMALRON.Tooltip.addSortilege'}}"
data-tooltip-direction="UP"
><i class="fas fa-plus" data-action="createMalefica"></i></a>{{/if}}
><i class="fas fa-plus" data-action="createSortilege"></i></a>{{/if}}
</legend>
<div class="sortileges">
{{#each sortileges as |item|}}
@@ -20,105 +20,21 @@
data-item-uuid="{{item.uuid}}"
data-drag="true"
>
<img
class="item-img"
src="{{item.img}}"
data-tooltip="{{item.name}}"
/>
<!--<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
<div
class="name"
data-action="toChat"
data-item-uuid="{{item.uuid}}"
data-roll-type="malefica"
data-tooltip="{{{item.system.description}}}<br>Time:{{item.system.time}}<br>Duration:{{item.system.duration}}<br>Range:{{item.system.range}}<br>Target:{{item.system.target}}"
>
<a>{{item.name}}</a>
</div>
<span class="domain" data-tooltip="Domain">{{upperFirst
item.system.domain
}}</span>
<span class="level" data-tooltip="Level">{{getRomanLevel
item.system.level
}}</span>
{{#if item.system.hasDamage}}
<a
class="damage rollable"
data-tooltip="Damage"
data-item-id="{{item.id}}"
data-action="roll"
data-roll-type="damage"
data-roll-value="{{item.system.damage}}"
>
<i class="fa-regular fa-dice"></i>
{{item.system.damage}}</a>
{{else}}
<span class="damage" data-tooltip="Damage">-</span>
{{/if}}
<div class="controls">
<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>
<fieldset>
<legend>{{localize "HAMALRON.Label.rituals"}}{{#if isEditMode}}
<a
class="action"
data-tooltip="{{localize 'HAMALRON.Tooltip.addRitual'}}"
data-tooltip-direction="UP"
><i class="fas fa-plus" data-action="createRitual"></i></a>{{/if}}
</legend>
<div class="rituals">
{{#each rituals as |item|}}
<div
class="ritual 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}}"
/>
<!--<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
<div
class="name"
data-action="toChat"
data-item-uuid="{{item.uuid}}"
data-roll-type="weapon"
data-tooltip="{{{item.system.description}}}"
>
<a>{{item.name}}</a>
</div>
<span class="ingredients" data-tooltip="Ingredients">{{upperFirst
item.system.ingredients
}}</span>
<span class="difficulty" data-tooltip="Difficulty">{{upperFirst
item.system.difficulty
}}</span>
<span class="threshold" data-tooltip="Threshold">{{upperFirst
item.system.threshold
}}</span>
<span class="limit" data-tooltip="Limit">{{upperFirst
item.system.limit
<span class="categorie" data-tooltip="Catégorie">{{upperFirst
item.system.categorie
}}</span>
<div class="controls">
@@ -140,4 +56,4 @@
</div>
</fieldset>
</div>
</section>
</section>