Commit Graph

15 Commits

Author SHA1 Message Date
uberwald 948100d443 fix: boutons Sous tension/Opposé auto-initialisent le deck
ensureDeck() crée et reset le deck manager si nécessaire
avant de tirer une carte pour les boutons du chat.
2026-07-11 00:03:08 +02:00
uberwald 95f6dc6275 fix: bouton Épreuve basé sur les cartes de tarot (pas de dés)
Remplace le jet de dés par un vrai dialogue d'épreuve Hamalron :
- Sélection d'une carte dans la main du personnage
- Choix de la difficulté (table standard)
- Calcul réussi/échec basé sur la valeur de la carte
- La carte est défaussée et remplacée depuis le deck
2026-07-10 23:41:22 +02:00
uberwald e208adfc36 feat: bouton Épreuve dans le chat (remplace Sort)
Le bouton Sort était peu utile (personnage pas toujours défini).
Remplacé par Épreuve 🎲 qui ouvre le dialogue de jet standard,
accessible depuis le chat pour tous.
2026-07-10 23:36:07 +02:00
uberwald 0b0124e0c9 fix: boutons Tarot/Actions/Sort visibles dans le tchat
Utilise setTimeout pour laisser le DOM se stabiliser avant d'injecter
les boutons au-dessus de #chat-controls.
2026-07-10 23:31:42 +02:00
uberwald d5772864b7 feat: boutons d'accès rapide dans le tchat (Tarot, Actions, Sort)
Barre d'outils ajoutée au-dessus de la zone de saisie du chat :
- Tarot 🃏 : ouvre le gestionnaire de deck (GM only)
- Actions 📋 : ouvre les actions complexes (GM only)
- Sort 🪄 : lance un sort du personnage actif
2026-07-10 23:29:27 +02:00
uberwald 347504f544 feat: boutons Sous tension et Opposé fonctionnels dans le chat
- Clic 'Sous tension' : tire une carte du deck, compare avec le score
- Clic 'Opposé' : idem avec libellé Opposant
- Résultat affiché dans un nouveau message de chat
2026-07-10 23:23:44 +02:00
uberwald 4a14604581 feat: tirage MJ, hotbarDrop, blessures incapacitantes
1. Tirage MJ dans le dialogue de compétence :
   - Bouton tirer une carte dans la section difficulté
   - Pioche dans le deck, affiche la carte tirée
   - Calcule la difficulté sous tension

2. Drag & drop vers barre de raccourcis :
   - Acteurs → ouvre la feuille
   - Compétences → lance le jet de compétence
   - Sorts → ouvre le dialogue de lancement
   - Armes → lance le jet d'arme

3. Blessures incapacitantes (règle p.159) :
   - Champs blessureIncapacitante / malusBlessure
   - Dialogue proposant la blessure quand Épée diminue
   - Malus -2 appliqué aux jets de compétence
   - Bannière dans la feuille (mode jeu)
   - Bouton guérison
2026-07-10 23:08:06 +02:00
uberwald 8e7a3f4eca fix: initiative - auto-init deck, CSS stylisé, plus d'erreurs de formule
- Auto-initialisation du deck s'il est vide ou non initialisé
- Fallback silencieux sur 1d6 si vraiment aucune carte dispo
- _formula changé en '1d1' pour éviter les erreurs de parsing
- Ajout du CSS complet pour le message d'initiative (chat.less)
  - Fond dégradé sombre, bordure rouge, badge arrondi
  - Avatar, nom, carte, valeur, score d'initiative
  - Pied de page stylisé
2026-07-10 21:30:09 +02:00
uberwald ef9b57d6b9 feat: message d'initiative stylisé avec carte de tarot
Les messages d'initiative affichent désormais :
- Avatar et nom du protagoniste
- Badge avec le score d'initiative (éclair)
- Image de la carte de tarot tirée
- Nom et valeur de la carte
- Pied de page avec la mention 'Initiative'

Correction d'une syntax error (extra }) qui cassait le hook
2026-07-10 21:26:11 +02:00
uberwald 206abb3947 fix: message d'initiative sans '1d6', affiche le nom de la carte
- La formule du roll est remplacée par le nom de la carte de tarot
- Plus d'affichage de '1d6' trompeur dans le chat
- Valeur de la carte utilisée comme score d'initiative
2026-07-10 21:01:06 +02:00
uberwald 8a27211ff5 feat: actions complexes avec suivi de résistance
- Nouvelle fenêtre Actions complexes (GM-only)
- Création d'actions avec nom, symbole, résistance (nb de succès requis)
- Barre de progression + compteurs succès/échecs
- Boutons Réussite/Échec pour suivre l'avancement
- Notification et message chat quand l'objectif est atteint
- Persistance dans un setting world-scope
- Bouton dans les contrôles de scène (icône tasks)
- Accessible via game.system.api.openActionComplexe()

Conforme aux règles p.157 : actions nécessitant 2-5 victoires
2026-07-10 20:30:20 +02:00
uberwald ca20330e29 feat: initiative par tirage de carte de tarot
Override Combatant.getInitiativeRoll pour piocher
une carte du paquet de tarot au lieu de lancer 1d6.
- Chaque combatant tire une carte → valeur = initiative
- Les cartes vont à la défausse après usage
- Fallback sur 1d6 si le paquet n'est pas disponible
- globalThis.HamalronTarotDeckManager exposé pour l'override
2026-07-10 20:21:25 +02:00
uberwald 68b3079da8 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éé
2026-07-10 18:52:20 +02:00
uberwald 8a27cef9a4 Workable system, firt step 2026-01-02 20:30:29 +01:00
uberwald 4beb5806eb Initial system import 2025-12-25 23:08:06 +01:00