XP compute and sheet re-org

This commit is contained in:
2020-08-14 22:24:35 +02:00
parent 5fa82a5ee7
commit 5aaf1ca204
3 changed files with 39 additions and 10 deletions

View File

@ -14,7 +14,7 @@ export class RdDActorSheet extends ActorSheet {
template: "systems/foundryvtt-reve-de-dragon/templates/actor-sheet.html",
width: 640,
height: 720,
tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description"}],
tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "carac"}],
dragDrop: [{dragSelector: ".item-list .item", dropSelector: null}]
});
}
@ -53,10 +53,12 @@ export class RdDActorSheet extends ActorSheet {
list = [];
data.competenceByCategory[item.data.categorie] = list;
}
competenceXPTotal += RdDUtility.computeCompetenceXPCost(item)
if (!RdDUtility.isTronc( item.name ) ) // Ignorer les compétences 'troncs' à ce stade
competenceXPTotal += RdDUtility.computeCompetenceXPCost(item)
list.push(item);
}
}
competenceXPTotal += RdDUtility.computeCompetenceTroncXP(data.itemsByType.competence);
data.data.competenceXPTotal = competenceXPTotal;
//console.log("XP competence : ", competenceXPTotal);

View File

@ -252,6 +252,27 @@ export class RdDUtility {
return xp;
}
/* -------------------------------------------- */
static computeCompetenceTroncXP( competenceList )
{
let xp = 0;
for (let troncList of competenceTroncs) {
let minNiveau = 15;
for (let troncName of troncList) {
let comp = RdDUtility.findCompetence( competenceList, troncName);
minNiveau = (comp.data.niveau < minNiveau) ? comp.data.niveau : minNiveau;
}
if ( minNiveau > 0 ) minNiveau = 0; // Clamp à 0, pour le tronc commun
let minNiveauXP = competence_xp_par_niveau[minNiveau+10];
xp += minNiveauXP;
for (let troncName of troncList) {
let comp = RdDUtility.findCompetence( competenceList, troncName);
xp += competence_xp_par_niveau[comp.data.niveau+10] - minNiveauXP;
}
}
return xp;
}
/* -------------------------------------------- */
static computeCarac( data)
{