forked from public/foundryvtt-reve-de-dragon
Increase version
This commit is contained in:
@@ -46,6 +46,7 @@ export class RdDActorSheet extends ActorSheet {
|
||||
data.itemsByType.competence,
|
||||
item => item.data.categorie,
|
||||
item => {
|
||||
item.data.isLevelUp = item.data.xp >= RdDItemCompetence.getCompetenceNextXp(item.data.niveau); // Flag de niveau à MAJ
|
||||
this.actor.checkCompetenceXP(item.name); // Petite vérification experience
|
||||
item.data.showCompetence = !data.data.showCompNiveauBase || (Number(item.data.niveau) != Number(RdDUtility.getLevelCategory(item.data.categorie)));
|
||||
// Ignorer les compétences 'troncs' à ce stade
|
||||
@@ -62,6 +63,7 @@ export class RdDActorSheet extends ActorSheet {
|
||||
if (!currentCarac.derivee) {
|
||||
sum += parseInt(currentCarac.value);
|
||||
}
|
||||
currentCarac.isLevelUp = (currentCarac.xp >= RdDUtility.getCaracNextXp(currentCarac.value));
|
||||
}
|
||||
data.data.caracSum = sum;
|
||||
|
||||
|
@@ -1441,15 +1441,11 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async checkCaracXP(caracName) {
|
||||
let carac = this.data.data.carac[caracName];
|
||||
console.log("XP check", carac, caracName);
|
||||
if (carac && carac.xp > 0) {
|
||||
let xpNeeded = RdDUtility.getCaracNextXp(carac.value);
|
||||
if (carac.xp >= xpNeeded) {
|
||||
carac = duplicate(carac);
|
||||
carac.value = Number(carac.value) + 1;
|
||||
await this.updateCarac(caracName, carac.value);
|
||||
carac.xp -= xpNeeded;
|
||||
await this.updateCaracXP(caracName, carac.xp);
|
||||
|
||||
let xpData = {
|
||||
alias: this.name,
|
||||
@@ -1470,18 +1466,16 @@ export class RdDActor extends Actor {
|
||||
if (competence && competence.data.xp > 0) {
|
||||
let xpNeeded = RdDItemCompetence.getCompetenceNextXp(competence.data.niveau);
|
||||
if (competence.data.xp >= xpNeeded) {
|
||||
competence.data.xp -= xpNeeded;
|
||||
competence.data.niveau += 1;
|
||||
let update = { _id: competence._id, "data.xp": competence.data.xp, "data.niveau": competence.data.niveau };
|
||||
await this.updateEmbeddedEntity("OwnedItem", update);
|
||||
let newCompetence = duplicate(competence);
|
||||
newCompetence.data.niveau += 1;
|
||||
|
||||
let xpData = {
|
||||
alias: this.name,
|
||||
competence: competence.name,
|
||||
niveau: competence.data.niveau,
|
||||
xp: competence.data.xp,
|
||||
archetype: competence.data.niveau_archetype,
|
||||
archetypeWarning: competence.data.niveau > competence.data.niveau_archetype
|
||||
competence: newCompetence.name,
|
||||
niveau: newCompetence.data.niveau,
|
||||
xp: newCompetence.data.xp,
|
||||
archetype: newCompetence.data.niveau_archetype,
|
||||
archetypeWarning: newCompetence.data.niveau > competence.data.niveau_archetype
|
||||
}
|
||||
ChatUtility.createChatMessage(this.name, "default", {
|
||||
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-competence-xp.html`, xpData)
|
||||
|
@@ -164,6 +164,7 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-entite-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-vehicule-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-competence-partial.html',
|
||||
//Items
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-competence-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-competencecreature-sheet.html',
|
||||
|
Reference in New Issue
Block a user