forked from public/foundryvtt-reve-de-dragon
Compare commits
12 Commits
27882be340
...
12.0.49
Author | SHA1 | Date | |
---|---|---|---|
d1adf3f6c4 | |||
8eb1387be4 | |||
85378d74e3 | |||
9471420d38 | |||
6e456ca92c | |||
482256c218 | |||
fa1c4ff221 | |||
b777271657 | |||
d06a55b615 | |||
adfbc11eb8 | |||
9dd905134b | |||
f32b6af7b6 |
13
changelog.md
13
changelog.md
@ -1,11 +1,22 @@
|
||||
# 12.0
|
||||
## 12.0.49 - La deuxième lame d'Astrobazzarh
|
||||
- Corrections
|
||||
- les défenses particulières sont correctement affichées
|
||||
- les vieux boucliers (sans catégorie de parade car créés il y a longtemps) peuvent parer...
|
||||
- Les attaques à distance n'ont pas de difficulté libre
|
||||
|
||||
## 12.0.47 - La chèvre d'Astrobazzarh
|
||||
## 12.0.48 - 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
|
||||
|
||||
## 12.0.47
|
||||
- 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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ export class RdDItemArme extends Item {
|
||||
|
||||
static defenseArmeParade(armeAttaque, armeParade) {
|
||||
const defCategory = RdDItemArme.getCategorieParade(armeParade)
|
||||
if (defCategory == 'bouclier') {
|
||||
if (defCategory == 'boucliers') {
|
||||
return 'norm'
|
||||
}
|
||||
if (armeAttaque?.system?.competence?.toLowerCase().match(/(fléau)/)) {
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -1047,11 +1047,12 @@ export class RdDCombat {
|
||||
|
||||
|
||||
async _onParade(defenderRoll) {
|
||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||
return await this._onParadeParticuliere(defenderRoll)
|
||||
}
|
||||
if (RdDCombat.isReussite(defenderRoll)) {
|
||||
return await this._onParadeNormale(defenderRoll)
|
||||
await this._onParadeNormale(defenderRoll)
|
||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||
await this._onParadeParticuliere(defenderRoll)
|
||||
}
|
||||
return
|
||||
}
|
||||
await this._onParadeEchec(defenderRoll)
|
||||
}
|
||||
@ -1135,11 +1136,12 @@ export class RdDCombat {
|
||||
}
|
||||
|
||||
async _onEsquive(defenderRoll) {
|
||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||
return await this._onEsquiveParticuliere(defenderRoll)
|
||||
}
|
||||
if (RdDCombat.isReussite(defenderRoll)) {
|
||||
return await this._onEsquiveNormale(defenderRoll)
|
||||
await this._onEsquiveNormale(defenderRoll)
|
||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||
await this._onEsquiveParticuliere(defenderRoll)
|
||||
}
|
||||
return
|
||||
}
|
||||
return await this._onEsquiveEchec(defenderRoll)
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ system:
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: 2
|
||||
value: 10
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -70,7 +70,10 @@
|
||||
</div>
|
||||
|
||||
<div class="flex-group-left">
|
||||
{{#if attackerRoll}}
|
||||
{{#if (or attackerRoll
|
||||
(and sourceToken (eq competence.system.categorie 'tir'))
|
||||
(and sourceToken (eq competence.system.categorie 'lancer'))
|
||||
)}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffFixe.hbs"}}
|
||||
{{else}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffLibre.hbs"}}
|
||||
|
Reference in New Issue
Block a user