Files
vermine2047/TEST_COMBAT.md
T
uberwald 9f88a66b72
Release Creation / build (release) Failing after 1m28s
feat(combat): refonte UI — tracker v14, handicap III, malus d'attaque, checkbox
- combat-tracker.hbs + fight.mjs : alignés sur le CSS core v14 (header/tracker/footer, boutons <button>), attitudes/couleurs PJ-PNJ conservées, menu contextuel combatant réparé
- less/combat.less (nouveau) : styles custom tracker + footer sticky des dialogues
- handicap des 3 dialogues de jet étendu jusqu'à III
- dialogue d'attaque : champ « Malus temporaires » (malus sur les jets)
- checkbox/radio : flex: 0 0 auto global (fin des icônes étirées — ex. « Deuxième action » 228px → 24px)
- TEST_COMBAT.md : plan de test combat rejouable (S1-S8, tout PASS)
2026-08-07 18:31:04 +02:00

9.4 KiB
Raw Blame History

Plan de test — Combat Vermine2047 (rejouable)

Base : règles de combat (Kit de Survie p.44-52, regles/2047_KitDeSurvie-DEF.txt) et moteur VermineExchange/CombatDialog/VermineCombatTracker. Ce plan décrit le setup reproductible, les scénarios, les valeurs attendues (déterministes : pools, difficultés, formules) et la procédure de validation. Les jets de dés restent aléatoires ; on valide la mécanique, pas un résultat chiffré précis.

Prérequis

  • Monde Vermine2047 sur https://localhost:31000, connecté en Gamemaster.
  • Scène « AA » (49tnX0ynTzztVkxy) avec tokens PJ / PNJ (+ token Créature ajouté).
  • Dés en main : chaque jet via l'UI crée une carte de chat (animations 3D possibles).

Acteurs (setup reproductible)

Acteur Type ID Réglages
Personnage PJ (character) f6qo5ubEnrSrtcfM Vigueur 3, Précision 2, Réflexes 2 · Mêlée 3, Corps-à-corps 2, Armes à feu 3 · Equipé : TEST Epée (lame 3), TEST Fusil (balle 4, mun. 10, 5/50 m), TEST Gilet (Protection 2, Mobilité 1)
PNJ PNJ (npc) EsksoLF7SV6yx7ZM Menace 2 (Attaque 4), Expérience 3 (contact « 5,7 ou 9 », action 4), Rôle 3 (Protection 3) · Equipé : TEST Hache (lame 3), TEST Armure (Protection 3)
Créature Créature 4CCdIWBHSqgApmlR Attaque 7, Dommages 5, Vigueur 4, Protection 2, Statut combat Difficulté 7 · Equipée : TEST Morsure (choc 4 + Vigueur)

Pools de dés attendus (SkillLevels : lvl2→pool1/reroll1, lvl3→pool2/reroll1)

Jet Pool Difficulté
PJ contact (Épée, Mêlée 3) 3 + 2 = 5D 5 / 7 / 9
PJ distance (Fusil, AF 3) 2 + 2 = 4D Portée : courte 5 / moyenne 7 / longue 9
PJ esquive 2 + 1 = 3D = difficulté attaque
PJ parade 3 + 2 = 5D = difficulté attaque
PNJ attaque (Menace 2) 4D 5 / 7 / 9
PNJ défense 4D (action) = difficulté attaque
Créature attaque (Morsure) 7D = statut combat (7)
Créature défense passive (pas de jet, difficulté verrouillée 7)

Seuils de blessure (netDamage)

Acteur Légère Grave Mortelle
PJ ≥ 1 ≥ 4 ≥ 8
PNJ ≥ 2 ≥ 5 ≥ 8
Créature ≥ 2 ≥ 4 ≥ 6

Formules de résolution (vérifiées par le moteur)

  • Dégâts bruts = Dommages de base + réussites de l'attaquant.
  • Dégâts nets = max(0, bruts Protection du défenseur). La Protection est la somme des défenses équipées (PNJ : TEST Armure 3 ; la « Protection » de rôle n'est PAS une défense équipée). Parade : seule la protection utilisée compte.
  • Blessure : catégorie dont le seuil est ≤ dégâts nets (la plus haute).
  • Défense : ≥ réussites attaquant → paré/esquivé (0 dégât) ; 1+ de plus → touché.

Scénarios

S1 — Création du combat et initiative

  1. Créer un combat « TEST COMBAT » ; ajouter les combatants PJ + PNJ + Créature.
  2. rollAll() : toutes les initiatives sont jetées (formule Xd10cs>=7).
  • Attendu : combatantCount = 3 ; chaque combatant a une initiative non nulle ; turn/round cohérents après startCombat.
  • Validation :

S2 — Attaque PJ → PNJ au contact (Épée)

  1. Cibler le token PNJ. Ouvrir l'attaque via l'icône « Attaque » de la fiche PJ (équipement → TEST Epée).
  2. Vérifier le pool 5D (Vigueur 3 + Mêlée) et les difficultés 5/7/9.
  3. Lancer (difficulté 7). Défense PNJ : Esquive (4D).
  4. « Résoudre » : dégâts bruts = 3 + réussites PJ ; nets = bruts 3 (Protection PNJ).
  • Attendu : pool affiché 5D, difficulté 7 ; résolution = formules ci-dessus ; si touché → blessure Légère (≥2) / Grave (≥5) / Mortelle (≥8).
  • Validation :

S3 — Attaque PJ → Créature à distance (Fusil)

  1. Cibler le token Créature. Attaque via TEST Fusil.
  2. Vérifier le pool 4D, difficulté de Portée (choisir Moyenne = 7).
  3. Lancer. La créature ne peut pas défendre (défense passive ; pas de bouton Esquive/Parade sur sa ligne).
  • Attendu : pool 4D, difficulté 7 ; carte créature = « Défense passive » ; résolution = 4 + réussites 2 (Protection créature) ; seuils créature 2/4/6.
  • Validation :

S4 — Attaque PNJ → PJ (Hache)

  1. Cibler le token PJ. Attaque via la Hache du PNJ.
  2. Vérifier le pool 4D (Menace 2) et les difficultés 5/7/9.
  3. Défense PJ : Parade (5D, Vigueur + Mêlée) — choisir Parade.
  • Attendu : pool 4D ; parade 5D ; si touché → 3 + réussites 2 (TEST Gilet) ; seuils PJ 1/4/8.
  • Validation :

S5 — Attaque Créature → PJ (Morsure)

  1. Cibler le token PJ. Attaque via TEST Morsure de la créature.
  2. Vérifier le pool 7D, difficulté verrouillée 7 (statut combat).
  3. Défense PJ : Esquive (3D).
  • Attendu : pool 7D, difficulté 7 verrouillée ; dégâts de base = 4 + Vigueur 4 = 8 ; nets = 8 + réussites 2 ; seuils PJ 1/4/8.
  • Validation :

S6 — Traits de combat

  • Rafale (3) : case « Tir en rafale » sur le Fusil → difficulté +2 (7→9) ; si jet réussi, +3 réussites affichées (« réussites automatiques ») ; si échec, pas de bonus.
  • Rapide (2) : arme avec Rapide → note « le défenseur subit 2 Handicap(s) » ; la défense du PNJ s'ouvre avec handicap II pré-rempli.
  • Lourd (4) : équiper un objet Lourd 4 au PJ (Vigueur 3 < 4) → malus -1D dans le pool (dialogue + ligne « Malus Lourd »).
  • Portée (8) : arme Portée 8, Vigueur 4 → « Portée effective : 32 m » affichée.
  • Incapacitant (7) : sur la carte d'échange, bouton « Jet de Santé (7) » → ouvre un jet de Santé vs 7.
  • Zone (6) : note « Zone (6 m) » + bouton « Appliquer aux cibles de la zone ».
  • Validation :

S7 — Tracker (gestion)

  1. Bouton + (createCombat) : crée un nouveau combat.
  2. Clic droit sur un combatant → menu contextuel (Mettre à jour / Effacer / Relancer / Supprimer) ; le bouton poubelle par combatant supprime aussi.
  3. Poubelle d'en-tête (deleteCombat) : supprime le combat.
  4. Footer : Commencer (startCombat), tours (←/→), rounds (←/→), Terminer (endCombat).
  • Validation :

S8 — Nettoyage

  • Supprimer les combats de test, les items « TEST * », restaurer les compétences PJ (0), retirer le token Créature.

Rapport d'exécution

Chaque scénario : note PASS si les valeurs attendues sont vérifiées, FAIL sinon (avec l'écart). Les chiffres aléatoires (dés) sont relevés tels quels.

S1 — Combat & initiative — PASS

3 combatants ajoutés ; initiatives jetées (PJ 1, PNJ 0, Créature 0) ; startCombat → round 1 ; ordre du tour = initiative décroissante (Personnage, PNJ, Créature).

S2 — PJ→PNJ contact (Épée) — PASS

  • Dialogue : pool 5D (Vigueur 3 + Mêlée 3), difficultés [5,7,9], dégâts de base 3.
  • Attaque (difficulté 7) → 2 réussites. Défense PNJ Esquive 4D (action) → 0 réussite.
  • Résolution : Touché, bruts 3+2=5, nets 5 (PNJ sans défense équipée → 0 protection) → Blessure grave (seuil 5).
  • Application : majorWound 0→1, « Blessure appliquée ».
  • Note : la « Protection 3 » du rôle PNJ n'est pas une défense équipée → non déduite.

S3 — PJ→Créature distance (Fusil) — PASS

  • Dialogue : pool 4D (Précision 2 + AF 3), difficulté verrouillée 7 (cible créature).
  • Créature : pas de bouton défense → « Défense passive ».
  • Résolution : attaque 3 réussites → Touché, bruts 4+3=7 protection 2 = 5Blessure grave (seuil créature 4).

S4 — PNJ→PJ (Hache) — PASS

  • Dialogue PNJ : pool 4D (Menace 2), difficultés [5,7,9].
  • Défense PJ Parade : pool 5D (Vigueur 3 + Mêlée 3), difficulté 7, compétence Mêlée.
  • Résolution : attaque 2, défense 2 → Paré, aucun dégât (réussites défense ≥ attaque).

S5 — Créature→PJ (Morsure) — PASS

  • Dialogue : pool 7D (attaque), difficulté verrouillée 7 (statut combat), dégâts de base 8 (4 + Vigueur 4).
  • Défense PJ Esquive : pool 3D (Réflexes 2 + Corps-à-corps 2), difficulté 7.
  • Résolution (défense 0) : Touché, bruts 8+4=12 protection 2 = 10Blessure mortelle (seuil 8).
  • Bonus : le malus de blessure d'une créature blessée est bien appliqué (deadlyWound=1 → 3D, pool 7→4).

S6 — Traits de combat — PASS

  • Rafale (3) : case → difficulté +2 (7→9) ; jet raté → aucun bonus (total 0) ; jet réussi → +3 réussites (total = brut + 3, ligne « réussites automatiques »).
  • Rapide (2) : note sur la carte ; dialogue de défense → handicap II pré-rempli.
  • Lourd (4) : Vigueur 3 < 4 → malus 1D (pool breakdown « Malus Lourd »).
  • Portée (8) : portée effective = 8 × Vigueur 3 = 24 m.
  • Incapacitant (7) / Zone (6) : boutons « Jet de Santé » / « Appliquer aux cibles de la zone » présents sur la carte.

S7 — Tracker — PASS (onglet combat actif requis)

Bouton + → nouveau combat ; suppression combatant (bouton poubelle + menu contextuel clic-droit) ; footer Commencer → round 1 ; boutons tours/rounds ; Terminer → round 0 ; poubelle d'en-tête → suppression du combat.

S8 — Nettoyage — PASS

Combats de test supprimés, items « TEST * » retirés, compétences PJ restaurées, token Créature retiré.