"
+ } : { malus:0, html:''};
+ }
+
/* -------------------------------------------- */
// Build the nice (?) html table used to manage fatigue.
// max should be the endurance max value
@@ -475,18 +484,21 @@ export class RdDUtility {
/* -------------------------------------------- */
static currentFatigueMalus(value, max) {
- max = Math.max(1, Math.min(max, 60));
- value = Math.min(max * 2, Math.max(0, value));
-
- let fatigueTab = fatigueMatrix[max];
- let fatigueRem = value;
- for (let idx = 0; idx < fatigueTab.length; idx++) {
- fatigueRem -= fatigueTab[idx];
- if (fatigueRem <= 0) {
- return fatigueMalus[idx];
+ if (ReglesOptionelles.isUsing("appliquer-fatigue")) {
+ max = Math.max(1, Math.min(max, 60));
+ value = Math.min(max * 2, Math.max(0, value));
+
+ let fatigueTab = fatigueMatrix[max];
+ let fatigueRem = value;
+ for (let idx = 0; idx < fatigueTab.length; idx++) {
+ fatigueRem -= fatigueTab[idx];
+ if (fatigueRem <= 0) {
+ return fatigueMalus[idx];
+ }
}
+ return -7; // This is the max !
}
- return -7; // This is the max !
+ return 0;
}
/* -------------------------------------------- */
diff --git a/module/regles-optionelles.js b/module/regles-optionelles.js
index e2e16a4e..6b2d1955 100644
--- a/module/regles-optionelles.js
+++ b/module/regles-optionelles.js
@@ -1,13 +1,15 @@
+import { Misc } from "./misc.js";
const listeReglesOptionelles = [
- { name: 'recul', group: 'combat', descr: "Appliquer le recul en cas de particulière en force ou de charge" },
- { name: 'resistanceArmeParade', group: 'combat', descr: "Faire le jet de résistance des armes lors de parades pouvant les endommager" },
- { name: 'deteriorationArmure', group: 'combat', descr: "Tenir compte de la détérioration des armures" },
- { name: 'defenseurDesarme', group: 'combat', descr: "Le défenseur peut être désarmé en parant une particulière en force ou une charge avec une arme autre qu'un bouclier" },
- { name: 'categorieParade', group: 'combat', descr: "Le défenseur doit obtenir une significative en cas de parade avec des armes de catégories différentes" },
- { name: 'tripleSignificative', group: 'combat', descr: "En cas de demi-surprise, d'attaque particulière en finesse, et de catégories d'armes différentes, le défenseur doit obtenir 1/8 des chances de succès" },
- { name: 'astrologie', group: 'generale', descr: "Appliquer les ajustements astrologiques aux jets de chance et aux rituels", default: true },
- { name: 'afficher-prix-joueurs', group: 'generale', descr: "Afficher le prix de l'équipement des joueurs", default: true }
+ { name: 'recul', group: 'Règles de combat', descr: "Appliquer le recul en cas de particulière en force ou de charge" },
+ { name: 'resistanceArmeParade', group: 'Règles de combat', descr: "Faire le jet de résistance des armes lors de parades pouvant les endommager" },
+ { name: 'deteriorationArmure', group: 'Règles de combat', descr: "Tenir compte de la détérioration des armures" },
+ { name: 'defenseurDesarme', group: 'Règles de combat', descr: "Le défenseur peut être désarmé en parant une particulière en force ou une charge avec une arme autre qu'un bouclier" },
+ { name: 'categorieParade', group: 'Règles de combat', descr: "Le défenseur doit obtenir une significative en cas de parade avec des armes de catégories différentes" },
+ { name: 'tripleSignificative', group: 'Règles de combat', descr: "En cas de demi-surprise, d'attaque particulière en finesse, et de catégories d'armes différentes, le défenseur doit obtenir 1/8 des chances de succès" },
+ { name: 'astrologie', group: 'Règles de générales', descr: "Appliquer les ajustements astrologiques aux jets de chance et aux rituels", default: true },
+ { name: 'afficher-prix-joueurs', group: 'Règles de générales', descr: "Afficher le prix de l'équipement des joueurs", default: true },
+ { name: 'appliquer-fatigue', group: 'Règles de générales', descr: "Appliquer les règles de fatigue", default: true },
];
export class ReglesOptionelles extends FormApplication {
@@ -39,25 +41,27 @@ export class ReglesOptionelles extends FormApplication {
static get defaultOptions() {
const options = super.defaultOptions;
mergeObject(options, {
- id: "combat-settings",
+ id: "optional-settings",
template: "systems/foundryvtt-reve-de-dragon/templates/regles-optionelles.html",
height: 600,
width: 350,
minimizable: false,
closeOnSubmit: true,
- title: "Options de combat"
+ title: "Règles optionnelles"
});
return options;
}
getData() {
let formData = super.getData();
- formData.regles = listeReglesOptionelles.map(it => {
- let r = duplicate(it);
- r.id = ReglesOptionelles._getIdRegle(r.name);
- r.active = ReglesOptionelles.isUsing(r.name);
- return r;
- })
+ const regles = listeReglesOptionelles.map(it => {
+ it = duplicate(it);
+ it.id = ReglesOptionelles._getIdRegle(it.name);
+ it.active = ReglesOptionelles.isUsing(it.name);
+ return it;
+ });
+ formData.regles = regles;
+ formData.groups = Misc.classify(regles, it => it.group);
return formData;
}
diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html
index fdcd2367..3fd4cfeb 100644
--- a/templates/actor-sheet.html
+++ b/templates/actor-sheet.html
@@ -28,7 +28,7 @@