diff --git a/module/actor-sheet.js b/module/actor-sheet.js
index c612005f..a4aef1ed 100644
--- a/module/actor-sheet.js
+++ b/module/actor-sheet.js
@@ -44,6 +44,7 @@ export class RdDActorSheet extends ActorSheet {
list.push(item);
}
}
+ this.competenceByCategory = duplicate(data.competenceByCategory); // Sauvegarde locale
competenceXPTotal += RdDUtility.computeCompetenceTroncXP(data.itemsByType.competence);
data.data.competenceXPTotal = competenceXPTotal;
//console.log("XP competence : ", competenceXPTotal);
@@ -156,6 +157,31 @@ export class RdDActorSheet extends ActorSheet {
d.render(true);
}
+ /* -------------------------------------------- */
+ afficheResumeArchetype() {
+ let levelCategory = RdDUtility.getLevelCategory();
+ let labelCategory = RdDUtility.getLabelCategory();
+ let contentHTML = "";
+ for (let compCategory in this.competenceByCategory) {
+ console.log(">>>>", compCategory);
+ contentHTML += "
" + labelCategory[compCategory] + "";
+ for (let comp of this.competenceByCategory[compCategory]) {
+ if ( !comp.data.niveau_archetype ) comp.data.niveau_archetype = levelCategory[compCategory];
+ contentHTML += "
" + comp.name + " : " + comp.data.niveau_archetype;
+ }
+ }
+ let dialogData = {
+ content: contentHTML,
+ buttons: {
+ one: {
+ icon: '',
+ label: "Fermer"
+ }
+ }
+ }
+ new Dialog( dialogData ).render(true);
+ }
+
/* -------------------------------------------- */
/** @override */
activateListeners(html) {
@@ -333,6 +359,11 @@ export class RdDActorSheet extends ActorSheet {
this.actor.updateCompteurValue( fieldName, parseInt(event.target.value) );
} );
+ // Dialog d'archetype
+ html.find("#affiche-archetype").click((event) => {
+ this.afficheResumeArchetype()
+ } );
+
html.find('#stress-test').click((event) => {
this.actor.stressTest();
this.render(true);
diff --git a/module/rdd-utility.js b/module/rdd-utility.js
index 89b8711b..0d53f876 100644
--- a/module/rdd-utility.js
+++ b/module/rdd-utility.js
@@ -4,16 +4,29 @@ import { TMRUtility } from "./tmr-utility.js";
import { RdDRollTables } from "./rdd-rolltables.js";
import { ChatUtility } from "./chat-utility.js";
+/* -------------------------------------------- */
const level_category = {
"generale": "-4",
"particuliere": "-8",
- "speciale": "-11",
+ "specialisee": "-11",
"connaissance": "-11",
"draconic": "-11",
"melee": "-6",
"tir": "-8",
"lancer": "-8"
}
+/* -------------------------------------------- */
+const label_category = {
+ "generale": "Générales",
+ "particuliere": "Particulières",
+ "specialisee": "Spécialisées",
+ "connaissance": "Connaissances",
+ "draconic": "Draconics",
+ "melee": "Mêlée",
+ "tir": "Tir",
+ "lancer": "Lancer"
+}
+/* -------------------------------------------- */
const competenceTroncs = [ ["Esquive", "Dague", "Corps à corps"],
["Epée à 1 main", "Epée à 2 mains", "Hache à 1 main", "Hache à 2 mains", "Lance", "Masse à 1 main", "Masse à 2 mains"] ];
const competence_xp = {
@@ -23,6 +36,7 @@ const competence_xp = {
"-4" : [ 15, 30, 45, 60, 80, 100, 120]
}
+/* -------------------------------------------- */
// This table starts at 0 -> niveau -10
const competence_xp_par_niveau = [ 5, 5, 5, 10, 10, 10, 10, 15, 15, 15, 15, 20, 20, 20, 20, 30, 30, 40, 40, 60, 60, 100, 100, 100, 100, 100, 100, 100, 100, 100];
const carac_array = [ "taille", "apparence", "constitution", "force", "agilite", "dexterite", "vue", "ouie", "odoratgout", "volonte", "intellect", "empathie", "reve", "chance", "melee", "tir", "lancer", "derobee"];
@@ -30,7 +44,7 @@ const difficultesLibres = [0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10];
const ajustementsConditions = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10];
const ajustementsEncaissement = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10, +11, +12, +13, +14, +15, +16, +17, +18, +19, +20, +21, +22, +23, +24, +25];
-
+/* -------------------------------------------- */
function _buildAllSegmentsFatigue(max) {
const cycle = [5, 2, 4, 1, 3, 0];
let fatigue = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
@@ -45,6 +59,8 @@ function _buildAllSegmentsFatigue(max) {
}
return fatigue;
}
+
+/* -------------------------------------------- */
function _cumulSegmentsFatigue(matrix) {
let cumulMatrix = [];
for (let line of matrix)
@@ -59,6 +75,7 @@ function _cumulSegmentsFatigue(matrix) {
return cumulMatrix;
}
+/* -------------------------------------------- */
const fatigueMatrix = _buildAllSegmentsFatigue(30);
const cumulFatigueMatrix = _cumulSegmentsFatigue(fatigueMatrix);
@@ -77,12 +94,14 @@ const table2func = { "queues": {descr: "queues : Tire une queue de Dragon", fun
"souffle": { descr: "souffle: Tire un Souffle de Dragon", func: RdDRollTables.getSouffle},
"tarot" : { descr: "tarot: Tire une carte de Tarot Dracnique", func: RdDRollTables.getTarot} };
+/* -------------------------------------------- */
const definitionsBlessures = [
{ type: "legere", facteur: 2 },
{ type: "grave", facteur : 4 },
{ type: "critique", facteur : 6 }
]
+/* -------------------------------------------- */
const definitionsEncaissement = {
"mortel": [
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", legeres: 0, graves: 0, critiques: 0 },
@@ -310,6 +329,10 @@ export class RdDUtility {
{
return level_category;
}
+ static getLabelCategory( )
+ {
+ return label_category;
+ }
static getCaracArray()
{
return carac_array;
diff --git a/styles/simple.css b/styles/simple.css
index b0155289..a195a6bd 100644
--- a/styles/simple.css
+++ b/styles/simple.css
@@ -565,6 +565,7 @@ ul, li {
flex-grow: 0;
}
.arme-label,
+.generic-label,
.competence-label,
.description-label {
flex-grow: 2;
diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html
index 1eb170d6..9c581ba2 100644
--- a/templates/actor-sheet.html
+++ b/templates/actor-sheet.html
@@ -300,9 +300,12 @@