From 1777eced30f78e8266ac21fc80dfc61d0d757aea Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 9 May 2026 21:42:09 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Correction=20des=20cat=C3=A9gories=20de=20p?= =?UTF-8?q?arades?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 6 ++++++ module/item/arme.js | 5 +++-- package.json | 2 +- .../archetypes/personnage_Artisan_ryUZTa17LzNv25UY.yml | 8 ++++---- .../personnage_Brigand_niv_3_ohmz9Jn4jxD88Kll.yml | 4 ++-- .../personnage_Brigand_niv_4_JARnWt2MQWDyRwQt.yml | 4 ++-- .../personnage_Chasseur_ranger_SJb0c8FDcYdd41rB.yml | 4 ++-- .../personnage_Chef_Brigand_niv_5_JQCwAOK64Yijwtch.yml | 4 ++-- .../personnage_Garde___Arc_niv_5_51vL4MhEE0asjgF2.yml | 6 +++--- ...ersonnage_Garde___Capitaine_niv_6_NX1nAqKKIcQlyGua.yml | 6 +++--- .../personnage_Garde___Lance_niv_5_2bRaEDuwZezKAyEq.yml | 8 ++++---- ...nnage_Garde____p_e_bouclier_niv_5_IeKSXignUpfUTU4m.yml | 6 +++--- .../archetypes/personnage_M_nestrel_pSM0ku0RJNLvHSvF.yml | 4 ++-- .../personnage_M_nestrelle_5xPFHgrY5AIP9Mnb.yml | 4 ++-- .../archetypes/personnage_Marchand_U9NNcXQBJmsI9Ttk.yml | 2 +- .../personnage_Noble__femme__oLDROOdwfctyRusH.yml | 2 +- .../personnage_Noble__homme__2KN3nKGZ36Qkn7Mf.yml | 2 +- .../archetypes/personnage_Serveur_UNs4RBLYiGbfxd1c.yml | 2 +- .../archetypes/personnage_Taverni_re_awZg7bGbTjEGRMiw.yml | 4 ++-- .../archetypes/personnage_Tavernier_dMdBctaRRdGJgced.yml | 4 ++-- packs_src/equipement/arme_B_ton_Qh4Tp7lZ6wLnX4w0.yml | 2 +- .../equipement/arme_Dague_de_jet_3cn9nWtY0Vb1PLTx.yml | 2 +- packs_src/equipement/arme_Gourdin_Yh7VGX3BikmIjVQH.yml | 2 +- packs_src/equipement/arme_Maillet_3uWCDH1NOjHJpVo1.yml | 2 +- packs_src/equipement/arme_Marteau_tMWzePiuMtiCQnAU.yml | 2 +- .../equipement/arme_Masse_lourde_MGvyXFQJpv6nNynl.yml | 2 +- packs_src/equipement/arme_Massette_92GDNmNVa2u0gzpx.yml | 2 +- .../personnage_Ch_vre_pied_qscItDC5z6Hr2Lrh.yml | 6 +++--- packs_src/humanoides/personnage_Cyan_esJWonwDGLFaMRK3.yml | 2 +- .../humanoides/personnage_Cynof_rox_gscYFtwk73WrGvA5.yml | 2 +- .../humanoides/personnage_Dr_le_dW4RMKpz2WaXbW3h.yml | 4 ++-- .../humanoides/personnage_Fi_rabras_ncXFs8oaZWG68Tzn.yml | 2 +- .../humanoides/personnage_Gigant_OKMXH6YpPXUyvqzN.yml | 4 ++-- .../humanoides/personnage_Gnome_EzV1Zxuwi7jwa6bj.yml | 2 +- .../humanoides/personnage_Groin_YQ6vavAVyZecPvGQ.yml | 4 ++-- packs_src/humanoides/personnage_Ogre_b7ThiitioBVXxU7D.yml | 4 ++-- .../humanoides/personnage_Sagouin_XnBXyRyE2BUVVT1k.yml | 2 +- .../humanoides/personnage_Saure_kKI9izKrKftYVnvs.yml | 6 +++--- .../humanoides/personnage_Sylvain_nzw2q9BHSDN6TIQQ.yml | 4 ++-- .../humanoides/personnage_Tortemoque_Pf4cLn0kandYzviD.yml | 4 ++-- .../personnage_Guerrier_Sorde_xGtM3z3KM6N6lpd5.yml | 6 +++--- 41 files changed, 80 insertions(+), 73 deletions(-) diff --git a/changelog.md b/changelog.md index 2a5c178d..27ba04a8 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # 13.0 +## 13.0.39 - La défense d'Illisys + +- mise à jour de version foundry-cli +- correction des catégories de parades des compendiums + - des ne pouvaient pas parer (exemple: le bouclier du guerrier sorde) + ## 13.0.38 - L'urgence d'Illisys - Corrections v14 diff --git a/module/item/arme.js b/module/item/arme.js index e59a8b21..37221a92 100644 --- a/module/item/arme.js +++ b/module/item/arme.js @@ -6,7 +6,7 @@ import { RdDInitiative } from "../initiative.mjs"; import { MappingCreatureArme } from "./mapping-creature-arme.mjs"; import { Misc } from "../misc.js"; -const nomCategorieParade = { +const categorie_parade = { "sans-armes": "Sans arme", "armes-naturelles": "Armes naturelles", "hast": "Armes d'hast", @@ -18,6 +18,7 @@ const nomCategorieParade = { "epees-lourdes": "Epées lourdes", "haches": "Haches", "lances": "Lances", + "masses": "Masses", } export const ATTAQUE_TYPE = { UNE_MAIN: '(1 main)', @@ -122,7 +123,7 @@ export class RdDItemArme extends RdDItem { /* -------------------------------------------- */ static getNomCategorieParade(arme) { const categorie = arme?.system ? RdDItemArme.getCategorieParade(arme) : arme; - return nomCategorieParade[categorie]; + return categorie_parade[categorie]; } /* -------------------------------------------- */ diff --git a/package.json b/package.json index 92385863..874ff9d1 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@eslint/js": "^9.8.0", - "@foundryvtt/foundryvtt-cli": "^1.0.3", + "@foundryvtt/foundryvtt-cli": "^3.0.3", "commander": "^11.1.0", "eslint": "^9.9.0", "eslint-config-prettier": "^9.1.0", diff --git a/packs_src/archetypes/personnage_Artisan_ryUZTa17LzNv25UY.yml b/packs_src/archetypes/personnage_Artisan_ryUZTa17LzNv25UY.yml index 74f7c027..fdb576cb 100644 --- a/packs_src/archetypes/personnage_Artisan_ryUZTa17LzNv25UY.yml +++ b/packs_src/archetypes/personnage_Artisan_ryUZTa17LzNv25UY.yml @@ -2347,7 +2347,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2395,7 +2395,7 @@ items: milieu: '' environnement: [] resistance: 7 - categorie_parade: '' + categorie_parade: masses dommages: 1 mortalite: mortel penetration: 0 @@ -2443,7 +2443,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: masses dommages: 2 mortalite: mortel penetration: 0 @@ -2611,7 +2611,7 @@ items: milieu: '' environnement: [] resistance: 6 - categorie_parade: '' + categorie_parade: haches dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Brigand_niv_3_ohmz9Jn4jxD88Kll.yml b/packs_src/archetypes/personnage_Brigand_niv_3_ohmz9Jn4jxD88Kll.yml index fe4a7c99..550094c4 100644 --- a/packs_src/archetypes/personnage_Brigand_niv_3_ohmz9Jn4jxD88Kll.yml +++ b/packs_src/archetypes/personnage_Brigand_niv_3_ohmz9Jn4jxD88Kll.yml @@ -2418,7 +2418,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 2 mortalite: mortel penetration: 0 @@ -2466,7 +2466,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Brigand_niv_4_JARnWt2MQWDyRwQt.yml b/packs_src/archetypes/personnage_Brigand_niv_4_JARnWt2MQWDyRwQt.yml index 4a2f8a68..fc25b80a 100644 --- a/packs_src/archetypes/personnage_Brigand_niv_4_JARnWt2MQWDyRwQt.yml +++ b/packs_src/archetypes/personnage_Brigand_niv_4_JARnWt2MQWDyRwQt.yml @@ -2378,7 +2378,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -2527,7 +2527,7 @@ items: milieu: '' environnement: [] resistance: 14 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 4/5 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Chasseur_ranger_SJb0c8FDcYdd41rB.yml b/packs_src/archetypes/personnage_Chasseur_ranger_SJb0c8FDcYdd41rB.yml index 9f5f0f4a..cb454590 100644 --- a/packs_src/archetypes/personnage_Chasseur_ranger_SJb0c8FDcYdd41rB.yml +++ b/packs_src/archetypes/personnage_Chasseur_ranger_SJb0c8FDcYdd41rB.yml @@ -2347,7 +2347,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2735,7 +2735,7 @@ items: milieu: '' environnement: [] resistance: 6 - categorie_parade: '' + categorie_parade: haches dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Chef_Brigand_niv_5_JQCwAOK64Yijwtch.yml b/packs_src/archetypes/personnage_Chef_Brigand_niv_5_JQCwAOK64Yijwtch.yml index 95dd0d76..bf6bebe1 100644 --- a/packs_src/archetypes/personnage_Chef_Brigand_niv_5_JQCwAOK64Yijwtch.yml +++ b/packs_src/archetypes/personnage_Chef_Brigand_niv_5_JQCwAOK64Yijwtch.yml @@ -2378,7 +2378,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -2665,7 +2665,7 @@ items: milieu: '' environnement: [] resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/4 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Garde___Arc_niv_5_51vL4MhEE0asjgF2.yml b/packs_src/archetypes/personnage_Garde___Arc_niv_5_51vL4MhEE0asjgF2.yml index e0a338c5..26183c2f 100644 --- a/packs_src/archetypes/personnage_Garde___Arc_niv_5_51vL4MhEE0asjgF2.yml +++ b/packs_src/archetypes/personnage_Garde___Arc_niv_5_51vL4MhEE0asjgF2.yml @@ -2354,7 +2354,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 @@ -2402,7 +2402,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2548,7 +2548,7 @@ items: milieu: '' environnement: [] resistance: 13 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Garde___Capitaine_niv_6_NX1nAqKKIcQlyGua.yml b/packs_src/archetypes/personnage_Garde___Capitaine_niv_6_NX1nAqKKIcQlyGua.yml index 58fd9fb6..ab3dc6e8 100644 --- a/packs_src/archetypes/personnage_Garde___Capitaine_niv_6_NX1nAqKKIcQlyGua.yml +++ b/packs_src/archetypes/personnage_Garde___Capitaine_niv_6_NX1nAqKKIcQlyGua.yml @@ -2354,7 +2354,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 @@ -2402,7 +2402,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2480,7 +2480,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Garde___Lance_niv_5_2bRaEDuwZezKAyEq.yml b/packs_src/archetypes/personnage_Garde___Lance_niv_5_2bRaEDuwZezKAyEq.yml index 10a88b02..2a3ccc13 100644 --- a/packs_src/archetypes/personnage_Garde___Lance_niv_5_2bRaEDuwZezKAyEq.yml +++ b/packs_src/archetypes/personnage_Garde___Lance_niv_5_2bRaEDuwZezKAyEq.yml @@ -2390,7 +2390,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 @@ -2438,7 +2438,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2516,7 +2516,7 @@ items: milieu: '' environnement: [] resistance: 13 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -2564,7 +2564,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Garde____p_e_bouclier_niv_5_IeKSXignUpfUTU4m.yml b/packs_src/archetypes/personnage_Garde____p_e_bouclier_niv_5_IeKSXignUpfUTU4m.yml index 57a14be9..5a280117 100644 --- a/packs_src/archetypes/personnage_Garde____p_e_bouclier_niv_5_IeKSXignUpfUTU4m.yml +++ b/packs_src/archetypes/personnage_Garde____p_e_bouclier_niv_5_IeKSXignUpfUTU4m.yml @@ -2390,7 +2390,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 @@ -2438,7 +2438,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2516,7 +2516,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_M_nestrel_pSM0ku0RJNLvHSvF.yml b/packs_src/archetypes/personnage_M_nestrel_pSM0ku0RJNLvHSvF.yml index 6650860a..8f2aae21 100644 --- a/packs_src/archetypes/personnage_M_nestrel_pSM0ku0RJNLvHSvF.yml +++ b/packs_src/archetypes/personnage_M_nestrel_pSM0ku0RJNLvHSvF.yml @@ -2653,7 +2653,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2706,7 +2706,7 @@ items: milieu: '' environnement: [] resistance: 1 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_M_nestrelle_5xPFHgrY5AIP9Mnb.yml b/packs_src/archetypes/personnage_M_nestrelle_5xPFHgrY5AIP9Mnb.yml index a9e38433..4232c50b 100644 --- a/packs_src/archetypes/personnage_M_nestrelle_5xPFHgrY5AIP9Mnb.yml +++ b/packs_src/archetypes/personnage_M_nestrelle_5xPFHgrY5AIP9Mnb.yml @@ -2653,7 +2653,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2706,7 +2706,7 @@ items: milieu: '' environnement: [] resistance: 1 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Marchand_U9NNcXQBJmsI9Ttk.yml b/packs_src/archetypes/personnage_Marchand_U9NNcXQBJmsI9Ttk.yml index 69e92f37..5d6d8c81 100644 --- a/packs_src/archetypes/personnage_Marchand_U9NNcXQBJmsI9Ttk.yml +++ b/packs_src/archetypes/personnage_Marchand_U9NNcXQBJmsI9Ttk.yml @@ -2711,7 +2711,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Noble__femme__oLDROOdwfctyRusH.yml b/packs_src/archetypes/personnage_Noble__femme__oLDROOdwfctyRusH.yml index 10417c0b..f7bb6404 100644 --- a/packs_src/archetypes/personnage_Noble__femme__oLDROOdwfctyRusH.yml +++ b/packs_src/archetypes/personnage_Noble__femme__oLDROOdwfctyRusH.yml @@ -2345,7 +2345,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Noble__homme__2KN3nKGZ36Qkn7Mf.yml b/packs_src/archetypes/personnage_Noble__homme__2KN3nKGZ36Qkn7Mf.yml index 04d82781..09cd2f17 100644 --- a/packs_src/archetypes/personnage_Noble__homme__2KN3nKGZ36Qkn7Mf.yml +++ b/packs_src/archetypes/personnage_Noble__homme__2KN3nKGZ36Qkn7Mf.yml @@ -2346,7 +2346,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Serveur_UNs4RBLYiGbfxd1c.yml b/packs_src/archetypes/personnage_Serveur_UNs4RBLYiGbfxd1c.yml index 0c0e6049..76f16c75 100644 --- a/packs_src/archetypes/personnage_Serveur_UNs4RBLYiGbfxd1c.yml +++ b/packs_src/archetypes/personnage_Serveur_UNs4RBLYiGbfxd1c.yml @@ -2313,7 +2313,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Taverni_re_awZg7bGbTjEGRMiw.yml b/packs_src/archetypes/personnage_Taverni_re_awZg7bGbTjEGRMiw.yml index e0525532..1b6ef771 100644 --- a/packs_src/archetypes/personnage_Taverni_re_awZg7bGbTjEGRMiw.yml +++ b/packs_src/archetypes/personnage_Taverni_re_awZg7bGbTjEGRMiw.yml @@ -2346,7 +2346,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2424,7 +2424,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: masses dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/archetypes/personnage_Tavernier_dMdBctaRRdGJgced.yml b/packs_src/archetypes/personnage_Tavernier_dMdBctaRRdGJgced.yml index 7eceb26e..41ec97a1 100644 --- a/packs_src/archetypes/personnage_Tavernier_dMdBctaRRdGJgced.yml +++ b/packs_src/archetypes/personnage_Tavernier_dMdBctaRRdGJgced.yml @@ -2346,7 +2346,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 @@ -2424,7 +2424,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: masses dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_B_ton_Qh4Tp7lZ6wLnX4w0.yml b/packs_src/equipement/arme_B_ton_Qh4Tp7lZ6wLnX4w0.yml index 0b34451e..bcf89370 100644 --- a/packs_src/equipement/arme_B_ton_Qh4Tp7lZ6wLnX4w0.yml +++ b/packs_src/equipement/arme_B_ton_Qh4Tp7lZ6wLnX4w0.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 8 - categorie_parade: '' + categorie_parade: batons dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Dague_de_jet_3cn9nWtY0Vb1PLTx.yml b/packs_src/equipement/arme_Dague_de_jet_3cn9nWtY0Vb1PLTx.yml index c7073577..9bce209b 100644 --- a/packs_src/equipement/arme_Dague_de_jet_3cn9nWtY0Vb1PLTx.yml +++ b/packs_src/equipement/arme_Dague_de_jet_3cn9nWtY0Vb1PLTx.yml @@ -27,7 +27,7 @@ system: rarete: Frequente frequence: 18 resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Gourdin_Yh7VGX3BikmIjVQH.yml b/packs_src/equipement/arme_Gourdin_Yh7VGX3BikmIjVQH.yml index 3a37955a..6cb0090d 100644 --- a/packs_src/equipement/arme_Gourdin_Yh7VGX3BikmIjVQH.yml +++ b/packs_src/equipement/arme_Gourdin_Yh7VGX3BikmIjVQH.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 8 - categorie_parade: '' + categorie_parade: batons dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Maillet_3uWCDH1NOjHJpVo1.yml b/packs_src/equipement/arme_Maillet_3uWCDH1NOjHJpVo1.yml index fc7c7dc3..08c29a2b 100644 --- a/packs_src/equipement/arme_Maillet_3uWCDH1NOjHJpVo1.yml +++ b/packs_src/equipement/arme_Maillet_3uWCDH1NOjHJpVo1.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 7 - categorie_parade: '' + categorie_parade: masses dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Marteau_tMWzePiuMtiCQnAU.yml b/packs_src/equipement/arme_Marteau_tMWzePiuMtiCQnAU.yml index ea54847d..b32960a7 100644 --- a/packs_src/equipement/arme_Marteau_tMWzePiuMtiCQnAU.yml +++ b/packs_src/equipement/arme_Marteau_tMWzePiuMtiCQnAU.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 8 - categorie_parade: '' + categorie_parade: masses dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Masse_lourde_MGvyXFQJpv6nNynl.yml b/packs_src/equipement/arme_Masse_lourde_MGvyXFQJpv6nNynl.yml index 46081db8..e5975324 100644 --- a/packs_src/equipement/arme_Masse_lourde_MGvyXFQJpv6nNynl.yml +++ b/packs_src/equipement/arme_Masse_lourde_MGvyXFQJpv6nNynl.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/4 mortalite: mortel penetration: 0 diff --git a/packs_src/equipement/arme_Massette_92GDNmNVa2u0gzpx.yml b/packs_src/equipement/arme_Massette_92GDNmNVa2u0gzpx.yml index a8a3dc71..ee9cf2d3 100644 --- a/packs_src/equipement/arme_Massette_92GDNmNVa2u0gzpx.yml +++ b/packs_src/equipement/arme_Massette_92GDNmNVa2u0gzpx.yml @@ -22,7 +22,7 @@ system: rarete: Frequente frequence: 18 resistance: 8 - categorie_parade: '' + categorie_parade: masses dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Ch_vre_pied_qscItDC5z6Hr2Lrh.yml b/packs_src/humanoides/personnage_Ch_vre_pied_qscItDC5z6Hr2Lrh.yml index 0c72c2b9..6d5be51f 100644 --- a/packs_src/humanoides/personnage_Ch_vre_pied_qscItDC5z6Hr2Lrh.yml +++ b/packs_src/humanoides/personnage_Ch_vre_pied_qscItDC5z6Hr2Lrh.yml @@ -2417,7 +2417,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 2 mortalite: mortel penetration: 0 @@ -2466,7 +2466,7 @@ items: milieu: '' environnement: [] resistance: 13 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -2569,7 +2569,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Cyan_esJWonwDGLFaMRK3.yml b/packs_src/humanoides/personnage_Cyan_esJWonwDGLFaMRK3.yml index 96eecb33..20716220 100644 --- a/packs_src/humanoides/personnage_Cyan_esJWonwDGLFaMRK3.yml +++ b/packs_src/humanoides/personnage_Cyan_esJWonwDGLFaMRK3.yml @@ -2382,7 +2382,7 @@ items: milieu: '' environnement: [] resistance: 12 - categorie_parade: '' + categorie_parade: epees-longues dommages: 3 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Cynof_rox_gscYFtwk73WrGvA5.yml b/packs_src/humanoides/personnage_Cynof_rox_gscYFtwk73WrGvA5.yml index e241eb8c..f2f69866 100644 --- a/packs_src/humanoides/personnage_Cynof_rox_gscYFtwk73WrGvA5.yml +++ b/packs_src/humanoides/personnage_Cynof_rox_gscYFtwk73WrGvA5.yml @@ -2441,7 +2441,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Dr_le_dW4RMKpz2WaXbW3h.yml b/packs_src/humanoides/personnage_Dr_le_dW4RMKpz2WaXbW3h.yml index 80f7ea3b..359667be 100644 --- a/packs_src/humanoides/personnage_Dr_le_dW4RMKpz2WaXbW3h.yml +++ b/packs_src/humanoides/personnage_Dr_le_dW4RMKpz2WaXbW3h.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: haches dommages: 3/4 mortalite: mortel penetration: 0 @@ -2429,7 +2429,7 @@ items: milieu: '' environnement: [] resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/4 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Fi_rabras_ncXFs8oaZWG68Tzn.yml b/packs_src/humanoides/personnage_Fi_rabras_ncXFs8oaZWG68Tzn.yml index c147753e..375323c5 100644 --- a/packs_src/humanoides/personnage_Fi_rabras_ncXFs8oaZWG68Tzn.yml +++ b/packs_src/humanoides/personnage_Fi_rabras_ncXFs8oaZWG68Tzn.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/4 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Gigant_OKMXH6YpPXUyvqzN.yml b/packs_src/humanoides/personnage_Gigant_OKMXH6YpPXUyvqzN.yml index e71634ee..7e848756 100644 --- a/packs_src/humanoides/personnage_Gigant_OKMXH6YpPXUyvqzN.yml +++ b/packs_src/humanoides/personnage_Gigant_OKMXH6YpPXUyvqzN.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/4 mortalite: mortel penetration: 0 @@ -2434,7 +2434,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 1 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Gnome_EzV1Zxuwi7jwa6bj.yml b/packs_src/humanoides/personnage_Gnome_EzV1Zxuwi7jwa6bj.yml index 309c6cb2..73eb9e54 100644 --- a/packs_src/humanoides/personnage_Gnome_EzV1Zxuwi7jwa6bj.yml +++ b/packs_src/humanoides/personnage_Gnome_EzV1Zxuwi7jwa6bj.yml @@ -2420,7 +2420,7 @@ items: milieu: '' environnement: [] resistance: 12 - categorie_parade: '' + categorie_parade: epees-courtes dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Groin_YQ6vavAVyZecPvGQ.yml b/packs_src/humanoides/personnage_Groin_YQ6vavAVyZecPvGQ.yml index ded2a51a..54bac454 100644 --- a/packs_src/humanoides/personnage_Groin_YQ6vavAVyZecPvGQ.yml +++ b/packs_src/humanoides/personnage_Groin_YQ6vavAVyZecPvGQ.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 10 - categorie_parade: '' + categorie_parade: masses dommages: 3/3 mortalite: mortel penetration: 0 @@ -2464,7 +2464,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Ogre_b7ThiitioBVXxU7D.yml b/packs_src/humanoides/personnage_Ogre_b7ThiitioBVXxU7D.yml index abb0280d..59eb54e1 100644 --- a/packs_src/humanoides/personnage_Ogre_b7ThiitioBVXxU7D.yml +++ b/packs_src/humanoides/personnage_Ogre_b7ThiitioBVXxU7D.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 2 mortalite: mortel penetration: 0 @@ -2429,7 +2429,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Sagouin_XnBXyRyE2BUVVT1k.yml b/packs_src/humanoides/personnage_Sagouin_XnBXyRyE2BUVVT1k.yml index b01e86c1..adb6305b 100644 --- a/packs_src/humanoides/personnage_Sagouin_XnBXyRyE2BUVVT1k.yml +++ b/packs_src/humanoides/personnage_Sagouin_XnBXyRyE2BUVVT1k.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Saure_kKI9izKrKftYVnvs.yml b/packs_src/humanoides/personnage_Saure_kKI9izKrKftYVnvs.yml index cccc7c46..2adcca1c 100644 --- a/packs_src/humanoides/personnage_Saure_kKI9izKrKftYVnvs.yml +++ b/packs_src/humanoides/personnage_Saure_kKI9izKrKftYVnvs.yml @@ -2434,7 +2434,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 1 mortalite: mortel penetration: 0 @@ -2483,7 +2483,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -2532,7 +2532,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 2 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Sylvain_nzw2q9BHSDN6TIQQ.yml b/packs_src/humanoides/personnage_Sylvain_nzw2q9BHSDN6TIQQ.yml index 8989deff..223b99ad 100644 --- a/packs_src/humanoides/personnage_Sylvain_nzw2q9BHSDN6TIQQ.yml +++ b/packs_src/humanoides/personnage_Sylvain_nzw2q9BHSDN6TIQQ.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 1 mortalite: mortel penetration: 0 @@ -2429,7 +2429,7 @@ items: milieu: '' environnement: [] resistance: 13 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/humanoides/personnage_Tortemoque_Pf4cLn0kandYzviD.yml b/packs_src/humanoides/personnage_Tortemoque_Pf4cLn0kandYzviD.yml index 657edf38..22f63b8d 100644 --- a/packs_src/humanoides/personnage_Tortemoque_Pf4cLn0kandYzviD.yml +++ b/packs_src/humanoides/personnage_Tortemoque_Pf4cLn0kandYzviD.yml @@ -2380,7 +2380,7 @@ items: milieu: '' environnement: [] resistance: 5 - categorie_parade: '' + categorie_parade: lances dommages: 1 mortalite: mortel penetration: 0 @@ -2478,7 +2478,7 @@ items: milieu: '' environnement: [] resistance: 13 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 diff --git a/packs_src/invocations/personnage_Guerrier_Sorde_xGtM3z3KM6N6lpd5.yml b/packs_src/invocations/personnage_Guerrier_Sorde_xGtM3z3KM6N6lpd5.yml index d440af4a..0f357f10 100644 --- a/packs_src/invocations/personnage_Guerrier_Sorde_xGtM3z3KM6N6lpd5.yml +++ b/packs_src/invocations/personnage_Guerrier_Sorde_xGtM3z3KM6N6lpd5.yml @@ -311,7 +311,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: epees-lourdes dommages: 3/4 mortalite: mortel penetration: 0 @@ -359,7 +359,7 @@ items: milieu: '' environnement: [] resistance: 15 - categorie_parade: '' + categorie_parade: boucliers dommages: 0 mortalite: mortel penetration: 0 @@ -407,7 +407,7 @@ items: milieu: '' environnement: [] resistance: 8 - categorie_parade: '' + categorie_parade: dagues dommages: 1 mortalite: mortel penetration: 0 From 14a4b34bbd58fc2bef83b8de4e551d35b7ca32a5 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 9 May 2026 22:41:02 +0200 Subject: [PATCH 2/4] =?UTF-8?q?Correction=20jets=20de=20comp=C3=A9tence=20?= =?UTF-8?q?des=20invocations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + module/roll/roll-type-cuisine.mjs | 3 ++- module/roll/roll-type-jeu.mjs | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index 27ba04a8..1fc8d720 100644 --- a/changelog.md +++ b/changelog.md @@ -5,6 +5,7 @@ - mise à jour de version foundry-cli - correction des catégories de parades des compendiums - des ne pouvaient pas parer (exemple: le bouclier du guerrier sorde) +- L'absence des compétences cuisine/jeu ne bloque plus l'accès à la fenêtre de jets (cas des invocations) ## 13.0.38 - L'urgence d'Illisys diff --git a/module/roll/roll-type-cuisine.mjs b/module/roll/roll-type-cuisine.mjs index 6480f731..032d015a 100644 --- a/module/roll/roll-type-cuisine.mjs +++ b/module/roll/roll-type-cuisine.mjs @@ -9,7 +9,8 @@ export class RollTypeCuisine extends RollType { get code() { return ROLL_TYPE_CUISINE } get name() { return `Cuisiner un plat` } - visible(rollData) { return rollData.active.actor.isPersonnage() } + visible(rollData) { return rollData.active.actor.isPersonnage() + && rollData.active.actor.getCompetence('Cuisine') != undefined } title(rollData) { const current = rollData.current[PART_CUISINE] return current.recette ? `prépare une recette: ${current.label}` : `prépare: ${current.label}` diff --git a/module/roll/roll-type-jeu.mjs b/module/roll/roll-type-jeu.mjs index 62245b3d..d23c41e9 100644 --- a/module/roll/roll-type-jeu.mjs +++ b/module/roll/roll-type-jeu.mjs @@ -8,7 +8,10 @@ export class RollTypeJeu extends RollType { get code() { return ROLL_TYPE_JEU } get name() { return `Jouer` } - visible(rollData) { return rollData.active.actor.isPersonnage() } + visible(rollData) { + return rollData.active.actor.isPersonnage() + && rollData.active.actor.getCompetence('Jeu') != undefined + } title(rollData) { if (rollData.opponent) { return `joue contre` From f17996b1c8ff54092b8e1762a10763c7d91484c9 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 9 May 2026 22:41:47 +0200 Subject: [PATCH 3/4] =?UTF-8?q?Difficult=C3=A9s=20attaque/d=C3=A9fense=20s?= =?UTF-8?q?ur=20appel=20=C3=A0=20la=20chance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + module/actor.js | 4 ++-- module/roll/chat-roll-result.mjs | 1 + module/roll/roll-part-attaque.mjs | 4 +++- module/roll/roll-part-comp.mjs | 7 +++++-- module/roll/roll-part-defense.mjs | 6 +++++- 6 files changed, 17 insertions(+), 6 deletions(-) diff --git a/changelog.md b/changelog.md index 1fc8d720..80722d99 100644 --- a/changelog.md +++ b/changelog.md @@ -5,6 +5,7 @@ - mise à jour de version foundry-cli - correction des catégories de parades des compendiums - des ne pouvaient pas parer (exemple: le bouclier du guerrier sorde) +- les difficultés des jets d'attaque/défense après appel à la chance sont conservées - L'absence des compétences cuisine/jeu ne bloque plus l'accès à la fenêtre de jets (cas des invocations) ## 13.0.38 - L'urgence d'Illisys diff --git a/module/actor.js b/module/actor.js index 18915a20..5d02aebd 100644 --- a/module/actor.js +++ b/module/actor.js @@ -2134,13 +2134,13 @@ export class RdDActor extends RdDBaseActorSang { { onRollDone: (dialog, roll) => RollDialog.onRollDoneClose(dialog, roll), callbacks: [ - async roll => await this.$appelChanceResult(roll, onSuccess, onEchec) + async roll => await this.$onAppelChance(roll, onSuccess, onEchec) ] }) } /* -------------------------------------------- */ - async $appelChanceResult(rollData, onSuccess, onEchec) { + async $onAppelChance(rollData, onSuccess, onEchec) { if (rollData.rolled.isSuccess) { await this.setFlag(SYSTEM_RDD, 'utilisationChance', true); await this.chanceActuelleIncDec(-1); diff --git a/module/roll/chat-roll-result.mjs b/module/roll/chat-roll-result.mjs index 0c2e6bfc..425e1aaf 100644 --- a/module/roll/chat-roll-result.mjs +++ b/module/roll/chat-roll-result.mjs @@ -209,6 +209,7 @@ export default class ChatRollResult { async onAppelChanceSuccess(roll, chatMessage) { roll.type.retry = true + roll.type.appelChance = true await this.updateChatMessage(chatMessage, roll) const callbacks = [ChatUtility.remover(chatMessage)] diff --git a/module/roll/roll-part-attaque.mjs b/module/roll/roll-part-attaque.mjs index ecbb24d0..09dde226 100644 --- a/module/roll/roll-part-attaque.mjs +++ b/module/roll/roll-part-attaque.mjs @@ -187,7 +187,9 @@ export class RollPartAttaque extends RollPartSelect { part.setDiff(rollData, { type: DIFF.DEFAUT }) } else { - part.setDiff(rollData, { type: DIFF.ATTAQUE, diff: current.initialDiff }) + if (!rollData.type.appelChance){ + part.setDiff(rollData, { type: DIFF.ATTAQUE, diff: current.initialDiff }) + } current.initialDiff = undefined } break diff --git a/module/roll/roll-part-comp.mjs b/module/roll/roll-part-comp.mjs index e8c21cc5..4726035b 100644 --- a/module/roll/roll-part-comp.mjs +++ b/module/roll/roll-part-comp.mjs @@ -47,8 +47,11 @@ export class RollPartComp extends RollPartSelect { const current = this.getCurrent(rollData) const selectedCarac = RollPart.getSelectedPart(rollData, PART_CARAC) const selectedDiff = RollPart.getSelectedPart(rollData, PART_DIFF) - this.rollPartCarac.selectByKey(rollData, selectedCarac?.key ?? current.comp.system.defaut_carac) - this.rollPartDiff.setDiff(rollData, selectedDiff?.value ?? current.comp.system.default_diffLibre) + if (!rollData.type.appelChance){ + this.rollPartCarac.selectByKey(rollData, selectedCarac?.key ?? current.comp.system.defaut_carac) + this.rollPartDiff.setDiff(rollData, selectedDiff?.value ?? current.comp.system.default_diffLibre) + } + } } diff --git a/module/roll/roll-part-defense.mjs b/module/roll/roll-part-defense.mjs index f80fb4ba..55c34085 100644 --- a/module/roll/roll-part-defense.mjs +++ b/module/roll/roll-part-defense.mjs @@ -131,7 +131,11 @@ export class RollPartDefense extends RollPartSelect { switch (part.code) { case PART_CARAC: return part.filterCaracs(rollData, refs.defenses.length > 0 ? [current.carac] : ['impossible']) case PART_COMP: return part.filterComps(rollData, refs.defenses.length > 0 ? [current.comp?.name] : ['impossible']) - case PART_DIFF: return part.setDiff(rollData, this.getDiffDefense(rollData)) + case PART_DIFF: + if (!rollData.type.appelChance) { + return part.setDiff(rollData, this.getDiffDefense(rollData)) + } + return case PART_SIGN: return part.setArme(rollData, this.getArmeDisparate(rollData), current.forceRequise) } } From aec4364889d3d4eb0df4fe39ee0058f3b96f4203 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 9 May 2026 23:14:28 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Type=20de=20jet:=20Jet=20de=20r=C3=A9sistan?= =?UTF-8?q?ce?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/actor-sheet.js | 2 +- module/actor/base-actor-reve.js | 28 ++++++++++++++--- module/roll/roll-constants.mjs | 1 + module/roll/roll-dialog.mjs | 3 +- module/roll/roll-type-appel-chance.mjs | 13 -------- module/roll/roll-type-resistance.mjs | 31 +++++++++++++++++++ .../roll/result/chat-reve-resistance.hbs | 24 ++++++++++++++ 7 files changed, 83 insertions(+), 19 deletions(-) create mode 100644 module/roll/roll-type-resistance.mjs create mode 100644 templates/roll/result/chat-reve-resistance.hbs diff --git a/module/actor-sheet.js b/module/actor-sheet.js index b2cdb406..6423b518 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -216,7 +216,7 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { // Points de reve actuel this.html.find('.roll-reve-actuel').click(async event => await this.actor.rollReveActuel({ resistance: false })) - this.html.find('.button-reve-resistance').click(async event => await this.actor.rollReveActuel({ diff: -8, resistance: true })) + this.html.find('.button-reve-resistance').click(async event => await this.actor.rollReveResistance()) this.html.find('.action-empoignade').click(async event => await RdDEmpoignade.onAttaqueEmpoignadeFromItem(RdDSheetUtility.getItem(event, this.actor))) this.html.find('.roll-arme').click(async event => { diff --git a/module/actor/base-actor-reve.js b/module/actor/base-actor-reve.js index 73644566..74598c0f 100644 --- a/module/actor/base-actor-reve.js +++ b/module/actor/base-actor-reve.js @@ -26,7 +26,7 @@ import { BASE_CORPS_A_CORPS, BASE_ESQUIVE, CATEGORIES_COMPETENCES_CREATURES } fr import { RollDataAjustements } from "../rolldata-ajustements-v1.js"; import { MappingCreatureArme } from "../item/mapping-creature-arme.mjs"; import RollDialog from "../roll/roll-dialog.mjs"; -import { DEFAULT_ROLL_TYPES, DIFF, ROLL_TYPE_ATTAQUE, ROLL_TYPE_COMP } from "../roll/roll-constants.mjs"; +import { DEFAULT_ROLL_TYPES, DIFF, ROLL_TYPE_ATTAQUE, ROLL_TYPE_COMP, ROLL_TYPE_REVE_RESISTANCE } from "../roll/roll-constants.mjs"; import { OptionsAvancees, ROLL_DIALOG_V2 } from "../settings/options-avancees.js"; import { RdDInitiative } from "../initiative.mjs"; import { RdDItemCompetenceCreature } from "../item-competencecreature.js"; @@ -155,7 +155,7 @@ export class RdDBaseActorReve extends RdDBaseActor { async remiseANeuf() { } async ajoutExperience(rollData, hideChatMessage = 'show') { } - computeResumeBlessure() { return []} + computeResumeBlessure() { return [] } countBlessures(filter = it => !it.isContusion()) { return 0 } async santeIncDec(name, inc, isCritique) { } @@ -411,13 +411,33 @@ export class RdDBaseActorReve extends RdDBaseActor { }) } /* -------------------------------------------- */ + async rollReveResistance(diff = -8) { + return await RollDialog.create( + { + ids: { actorId: this.id }, + type: { + allowed: [ROLL_TYPE_REVE_RESISTANCE], + current: ROLL_TYPE_REVE_RESISTANCE, + resistance: true + }, + selected: { + carac: { key: CARACS.REVE_ACTUEL, forced: true }, + comp: { key: undefined, forced: true }, + diff: { type: DIFF.DEFAUT, value: diff } + } + }, + { + onRollDone: (dialog, roll) => RollDialog.onRollDoneClose(dialog, roll) + }) + } + async rollReveActuel({ diff = 0, resistance = false }) { if (OptionsAvancees.isUsing(ROLL_DIALOG_V2)) { const rollData = { ids: { actorId: this.id }, type: { - allowed: [ROLL_TYPE_COMP], - current: ROLL_TYPE_COMP, + allowed: [ROLL_TYPE_REVE_RESISTANCE], + current: ROLL_TYPE_REVE_RESISTANCE, resistance: resistance }, selected: { diff --git a/module/roll/roll-constants.mjs b/module/roll/roll-constants.mjs index 686470bf..b8547c0e 100644 --- a/module/roll/roll-constants.mjs +++ b/module/roll/roll-constants.mjs @@ -10,6 +10,7 @@ export const ROLL_TYPE_OEUVRE = 'oeuvre' export const ROLL_TYPE_SORT = 'sort' export const ROLL_TYPE_TACHE = 'tache' export const ROLL_TYPE_APPEL_CHANCE = 'appel-chance' +export const ROLL_TYPE_REVE_RESISTANCE = 'reve-resistance' export const ATTAQUE_ROLL_TYPES = [ROLL_TYPE_ATTAQUE] export const COMBAT_ROLL_TYPES = [ROLL_TYPE_ATTAQUE, ROLL_TYPE_DEFENSE] diff --git a/module/roll/roll-dialog.mjs b/module/roll/roll-dialog.mjs index 92057480..666fefa5 100644 --- a/module/roll/roll-dialog.mjs +++ b/module/roll/roll-dialog.mjs @@ -51,6 +51,7 @@ import { RollTypePossession } from "./roll-type-possession.mjs"; import { RollPartPossession } from "./roll-part-possession.mjs"; import { RollPartApprecier } from "./roll-part-apprecier.mjs"; import { RollTypeAppelChance } from "./roll-type-appel-chance.mjs"; +import { RollTypeReveResistance } from "./roll-type-resistance.mjs"; const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api @@ -67,7 +68,7 @@ export const ALL_ROLL_TYPES = [ new RollTypeOeuvre(), new RollTypeJeu(), new RollTypeAppelChance(), - // new RollTypeResistance ?? + new RollTypeReveResistance(), // new RollTypeFixedCarac ?? ] diff --git a/module/roll/roll-type-appel-chance.mjs b/module/roll/roll-type-appel-chance.mjs index 20d39fde..aca761e4 100644 --- a/module/roll/roll-type-appel-chance.mjs +++ b/module/roll/roll-type-appel-chance.mjs @@ -2,19 +2,6 @@ import { CARACS } from "../rdd-carac.js" import { DIFF, ROLL_TYPE_APPEL_CHANCE } from "./roll-constants.mjs" import { RollType } from "./roll-type.mjs" -const SPECIAL_ROLL_TYPES_DETAILS = { - label: "fait appel à la chance", - icon: `systems/foundryvtt-reve-de-dragon/assets/ui/chance.svg`, - rollData: { - selected: { - carac: { key: CARACS.CHANCE_ACTUELLE, forced: true }, - diff: { value: 0, type: '' }, - comp: { key: '', forced: true }, - conditions: { hide: true } - } - } -} - export class RollTypeAppelChance extends RollType { get code() { return ROLL_TYPE_APPEL_CHANCE } get name() { return `fait appel à la chance` } diff --git a/module/roll/roll-type-resistance.mjs b/module/roll/roll-type-resistance.mjs new file mode 100644 index 00000000..3646de80 --- /dev/null +++ b/module/roll/roll-type-resistance.mjs @@ -0,0 +1,31 @@ +import { CARACS } from "../rdd-carac.js" +import { DIFF, ROLL_TYPE_REVE_RESISTANCE } from "./roll-constants.mjs" +import { RollType } from "./roll-type.mjs" + +export class RollTypeReveResistance extends RollType { + get code() { return ROLL_TYPE_REVE_RESISTANCE } + get name() { return `fait un jet de résistance` } + get icon() { return `systems/foundryvtt-reve-de-dragon/assets/ui/resistance.svg` } + get chatResultTemplate() { return `systems/foundryvtt-reve-de-dragon/templates/roll/result/chat-reve-resistance.hbs` } + + title(rollData) { + return this.name + } + + setRollDataType(rollData) { + foundry.utils.mergeObject(rollData, { + selected: { + carac: { key: CARACS.REVE_ACTUEL, forced: true }, + diff: { value: -8, type: '' }, + comp: { key: '', forced: true }, + conditions: { hide: true } + } + }) + super.setRollDataType(rollData) + } + + onSelect(rollData) { + this.setDiffType(rollData, DIFF.DEFAUT) + } + +} \ No newline at end of file diff --git a/templates/roll/result/chat-reve-resistance.hbs b/templates/roll/result/chat-reve-resistance.hbs new file mode 100644 index 00000000..e83672f1 --- /dev/null +++ b/templates/roll/result/chat-reve-resistance.hbs @@ -0,0 +1,24 @@ +
+
+ + +
+
+ {{active.name}} fait un jet de résistance +
+ +
+ {{> 'partial-infojet'}} +
+ +
+ + + {{#if rolled.isSuccess}} + Jet de résistance réussi + {{else}} + Jet de résistance manqué + {{/if}} + +
+