Compare commits

..

7 Commits

Author SHA1 Message Date
1aa34f2e1a L'armure du Bandersnatch 2025-04-22 20:16:49 +02:00
dd56c4d15e Correction: particulières sur carac dérivées 2025-04-22 20:14:24 +02:00
545b386198 Echec à la mise en réserve
Un échec au lancement de sort brise la concentration, la mise en
réserve présuppose le lancement du sort.
2025-04-22 20:12:50 +02:00
21e9c58aac Consistance chèvre
La consistance chèvre est supportée (caractères accentués)
2025-04-22 20:12:45 +02:00
9199a816c0 Amélioration message lancement sort en réserve 2025-04-22 20:12:11 +02:00
9dd905134b Correction sur les mise à jour en cascade + correction sur le force rendering après un changement de competence 2025-04-06 23:15:10 +02:00
f32b6af7b6 Correction sur les mise à jour en cascade + correction sur le force rendering après un changement de competence 2025-04-06 23:13:59 +02:00
4 changed files with 19 additions and 7 deletions

View File

@ -1,11 +1,15 @@
# 12.0
## 12.0.47 - La chèvre d'Astrobazzarh
- le Bandersnatch a une protection de 10
- la consistance chèvre est maintenant possible dans les recettes
alchimiques (et toutes les consistances avec accents)
- un échec au lancement d'un sort pour le mettre en réserve brise
la concentration du haut-rêvant
- Correction: les réussites particulières fonctionnent avec les caractéristiques dérivées
- Correction sur les mise à jour en cascade -
- Correction sur le force rendering après un changement de competence
## 12.0.46 - Le double demi d'Astrobazzarh
- correction des raffraîchissement lors du sommeil qui empêchait de dormir
plusieurs heures

View File

@ -668,19 +668,23 @@ export class RdDActor extends RdDBaseActorSang {
if (!RdDItemRace.checkRacialMax(this, caracName, to)) {
return
}
let updates = {};
if (caracName == LIST_CARAC_PERSONNAGE.reve.code) {
if (to > Misc.toInt(this.system.reve.seuil.value)) {
this.setPointsDeSeuil(to);
}
updates[`system.reve.seuil.value`] = to; // SFA : Direct and packed changes
//this.setPointsDeSeuil(to);
}
}
if (caracName == LIST_CARAC_PERSONNAGE.chance.code) {
if (to > Misc.toInt(this.system.compteurs.chance.value)) {
this.setPointsDeChance(to);
updates[`system.compteurs.chance.value`] = to; // SFA : Direct and packed changes
//this.setPointsDeChance(to);
}
}
let selectedCarac = this.findCaracByName(caracName);
const from = selectedCarac.value
await this.update({ [`system.carac.${caracName}.value`]: to });
updates[`system.carac.${caracName}.value`] = to;
await this.update(updates);
await ExperienceLog.add(this, XP_TOPIC.CARAC, from, to, caracName);
}
@ -784,7 +788,7 @@ export class RdDActor extends RdDBaseActorSang {
const toNiveau = compValue ?? RdDItemCompetence.getNiveauBase(competence.system.categorie, competence.getCategories());
this.notifyCompetencesTronc(competence, toNiveau);
const fromNiveau = competence.system.niveau;
await competence.update({ 'system.niveau': toNiveau }, { render: false })
await competence.update({ 'system.niveau': toNiveau }, { render: true })
await ExperienceLog.add(this, XP_TOPIC.NIVEAU, fromNiveau, toNiveau, competence.name, true);
}
}

View File

@ -55,6 +55,10 @@ export class RdDItemRace extends RdDItem {
isMax(actor, code, value = undefined) {
const path = RdDCarac.carac(code)?.path
if (path == undefined) {
// cas des caractéristiques dérivées, pas de max
return false
}
if (value == undefined) {
value = path ? foundry.utils.getProperty(actor, path) : 0
}

View File

@ -196,7 +196,7 @@ system:
derivee: false
protection:
type: number
value: 2
value: 10
label: Protection
derivee: false
compteurs: