# 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 = **5** → **Blessure 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 = **10** → **Blessure 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é.