diff --git a/changelog.md b/changelog.md
index 381a5488..232862cc 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,9 @@
# 12.0
+## 12.0.30 - le cauchemar d'Astrobazzarh
+- calcul automatique du niveau des entités selon leur rêve
+- la description des créatures venimeuses contient un lien vers leur venin
+- Correction: les messages de combats ne marchaient plus (Changement combiné Foundry + rêve de Dragon)
+
## 12.0.29 - L'indexation d'Astrobazzarh
- les liens dans la descriptions des sorts pointent vers les sorts du compendium
- la description du chrasme contient le lien vers son venin plutôt qu'un tableau
diff --git a/module/actor/base-actor-reve.js b/module/actor/base-actor-reve.js
index 01388832..69777d32 100644
--- a/module/actor/base-actor-reve.js
+++ b/module/actor/base-actor-reve.js
@@ -37,6 +37,15 @@ export class RdDBaseActorReve extends RdDBaseActor {
this.system.sante.endurance.value = Math.min(this.system.sante.endurance.value, this.system.sante.endurance.max)
}
+ getCarac() {
+ return foundry.utils.mergeObject(this.system.carac,
+ {
+ 'reve-actuel': this.getCaracReveActuel(),
+ 'chance-actuelle': this.getCaracChanceActuelle()
+ },
+ { inplace: false })
+ }
+
getCaracChanceActuelle() {
return {
label: 'Chance actuelle',
@@ -53,7 +62,6 @@ export class RdDBaseActorReve extends RdDBaseActor {
};
}
-
getTaille() { return Misc.toInt(this.system.carac.taille?.value) }
getConstitution() { return this.getReve() }
getForce() { return this.getReve() }
@@ -306,16 +314,6 @@ export class RdDBaseActorReve extends RdDBaseActor {
});
}
- getCarac() {
- // TODO: le niveau d'une entité de cauchemar devrait être exclu...
- return foundry.utils.mergeObject(this.system.carac,
- {
- 'reve-actuel': this.getCaracReveActuel(),
- 'chance-actuelle': this.getCaracChanceActuelle()
- },
- { inplace: false })
- }
-
/* -------------------------------------------- */
async rollCarac(caracName, jetResistance = undefined) {
if (Grammar.equalsInsensitive(caracName, 'taille')) {
@@ -499,7 +497,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
|| entite.isEntiteAccordee(this)) {
return true;
}
- const rolled = await RdDResolutionTable.roll(this.getReveActuel(), - Number(entite.system.carac.niveau.value));
+ const rolled = await RdDResolutionTable.roll(this.getReveActuel(), - Number(entite.getNiveau()));
const rollData = {
alias: this.getAlias(),
rolled: rolled,
diff --git a/module/actor/entite-sheet.js b/module/actor/entite-sheet.js
index 6d1a7bc7..4f213768 100644
--- a/module/actor/entite-sheet.js
+++ b/module/actor/entite-sheet.js
@@ -15,6 +15,8 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet {
async getData() {
let formData = await super.getData();
+ formData.niveau = this.actor.getNiveau()
+ delete formData.system.carac.niveau
formData.resonances = this.actor.system.sante.resonnance.actors.map(actorId => game.actors.get(actorId))
.map(actor => { return { id: actor.id, name: actor.name, img: actor.img } })
return formData
@@ -33,10 +35,6 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet {
let compName = event.currentTarget.attributes.compname.value;
this.actor.updateCreatureCompetence(compName, "carac_value", parseInt(event.target.value));
});
- this.html.find('.creature-niveau').change(async event => {
- let compName = event.currentTarget.attributes.compname.value;
- this.actor.updateCreatureCompetence(compName, "niveau", parseInt(event.target.value));
- })
this.html.find('.creature-dommages').change(async event => {
let compName = event.currentTarget.attributes.compname.value;
this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value));
diff --git a/module/actor/entite.js b/module/actor/entite.js
index d72935c9..ef11b95a 100644
--- a/module/actor/entite.js
+++ b/module/actor/entite.js
@@ -1,6 +1,7 @@
import { ENTITE_INCARNE, ENTITE_NONINCARNE } from "../constants.js";
import { ITEM_TYPES } from "../item.js";
import { Misc } from "../misc.js";
+import { RdDCarac } from "../rdd-carac.js";
import { RdDEncaisser } from "../rdd-roll-encaisser.js";
import { STATUSES } from "../settings/status-effects.js";
import { RdDBaseActorReve } from "./base-actor-reve.js";
@@ -18,12 +19,23 @@ export class RdDEntite extends RdDBaseActorReve {
isEntite(typeentite = []) {
return (typeentite.length == 0 || typeentite.includes(this.system.definition.typeentite));
}
+
isNonIncarnee() { return this.isEntite([ENTITE_NONINCARNE]) }
getReveActuel() {
return Misc.toInt(this.system.carac.reve?.value)
}
+ getCarac() {
+ const carac = super.getCarac()
+ delete carac.niveau
+ return carac
+ }
+
+ getNiveau() {
+ const reve = this.getReve()
+ return RdDCarac.getCaracDerivee(reve).niveau
+ }
getForce() { return this.getReve() }
getAgilite() { return this.getReve() }
getChance() { return this.getReve() }
@@ -64,6 +76,7 @@ export class RdDEntite extends RdDBaseActorReve {
}
return {}
}
+
async encaisser() {
if (this.isNonIncarnee()) {
return
diff --git a/module/actor/export-scriptarium/mapping.js b/module/actor/export-scriptarium/mapping.js
index 966f4055..34b59453 100644
--- a/module/actor/export-scriptarium/mapping.js
+++ b/module/actor/export-scriptarium/mapping.js
@@ -279,7 +279,7 @@ export class Mapping {
const race = ['', 'humain'].includes(Grammar.toLowerCaseNoAccent(actor.system.race)) ? '' : (actor.system.race + ' ')
const heure = actor.system.heure
const hn = `${sexeFeminin} à l'heure ${RdDTimestamp.definition(heure).avecArticle}`
- const age = actor.system.age ? `${actor.system.age} ans` : undefined
+ const age = (actor.system.age && actor.system.age >0) ? `${actor.system.age} ans` : undefined
const taille = actor.system.taille
const poids = actor.system.poids
const cheveux = actor.system.cheveux ? `cheveux ${actor.system.cheveux}` : undefined
diff --git a/module/apps/rdd-import-stats.js b/module/apps/rdd-import-stats.js
index bb0b9509..446df267 100644
--- a/module/apps/rdd-import-stats.js
+++ b/module/apps/rdd-import-stats.js
@@ -429,9 +429,9 @@ export class RdDStatBlockParser {
actorData.taille = taille.value;
}
// Get weight
- const poids = XRegExp.exec(statString, XRegExp("(?
Malignité | - -6 | - -
Périodicité | - -1 round | - -
Dommages | - --1d6 points d'endurance | - -
Antidotes | - --3 \ Liqueur de Bagdol +12, Lait - de lune +6 | - -
@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.v7yZidE9mObKO566]{Venin d'Araflate}
+ race: '' notesmj: '' ownership: diff --git a/packs_src/animaux/creature_Chrasme_yL1XStIKWxGnhKvR.yml b/packs_src/animaux/creature_Chrasme_yL1XStIKWxGnhKvR.yml index 0e31d189..731007a6 100644 --- a/packs_src/animaux/creature_Chrasme_yL1XStIKWxGnhKvR.yml +++ b/packs_src/animaux/creature_Chrasme_yL1XStIKWxGnhKvR.yml @@ -228,7 +228,7 @@ system:@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.cFMUtU6LZG0mKeDl]{Venin de chrasme}
- + race: '' notesmj: '' ownership: diff --git a/packs_src/animaux/creature_Goule_f6wzOaOzdwy51prt.yml b/packs_src/animaux/creature_Goule_f6wzOaOzdwy51prt.yml index 47e91759..b0361184 100644 --- a/packs_src/animaux/creature_Goule_f6wzOaOzdwy51prt.yml +++ b/packs_src/animaux/creature_Goule_f6wzOaOzdwy51prt.yml @@ -257,56 +257,7 @@ system:Malignité | - -6 | - -
Périodicité | - -1 round | - -
Dommages | - -1 ligne de fatigue | - -
Antidotes | - --4 \ Floume-dhu +16 | - -
@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.IF19EUvrY1HL87lr]{Venin paralysant de goule}
La paralysie intervient quand toutes les lignes de fatigue sont pleines et dure 6 heures.
diff --git a/packs_src/animaux/creature_Scologriffe_YwqgGvzxMTgYZFyc.yml b/packs_src/animaux/creature_Scologriffe_YwqgGvzxMTgYZFyc.yml index d30b9f8a..23ce9995 100644 --- a/packs_src/animaux/creature_Scologriffe_YwqgGvzxMTgYZFyc.yml +++ b/packs_src/animaux/creature_Scologriffe_YwqgGvzxMTgYZFyc.yml @@ -219,50 +219,8 @@ system: attaque dès qu’il est surpris ou se croit en danger.Sensation aiguë de déséquilibre. Jouer VOLONTÉ - à -3. En cas d’échec, on chute sans parvenir à se - relever.
- -Malignité | - -3 | - -
Périodicité | - -1 minute | - -
Dommages | - --1 point de vie | - -
Antidotes | - --3 \ Liqueur de Bagdol +16, Topazoïne +8 | - -
@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.iwlN0bNJ5XNNfjgj]{Venin de scologriffe}
+ race: '' notesmj: '' ownership: diff --git a/packs_src/animaux/creature_Vip_re_jaune_PwcnOb8HIb6mBcFo.yml b/packs_src/animaux/creature_Vip_re_jaune_PwcnOb8HIb6mBcFo.yml index 975c7d0f..fe1a9c77 100644 --- a/packs_src/animaux/creature_Vip_re_jaune_PwcnOb8HIb6mBcFo.yml +++ b/packs_src/animaux/creature_Vip_re_jaune_PwcnOb8HIb6mBcFo.yml @@ -215,47 +215,8 @@ system: est mortel.Malignité | - -2 | - -
Périodicité | - -6 rounds | - -
Dommages | - --1 point de vie | - -
Antidotes | - --3 \ Liqueur de Bagdol +14, Topazoïne - +10 | - -
@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.lUeNPc0ECKqHglbG]{Venin de vipère jaune}
+ race: '' notesmj: '' ownership: diff --git a/packs_src/maladies-et-poisons/maladie_Venin_d_araflate_v7yZidE9mObKO566.yml b/packs_src/maladies-et-poisons/maladie_Venin_d_araflate_v7yZidE9mObKO566.yml index f4ff938b..7c99ec06 100644 --- a/packs_src/maladies-et-poisons/maladie_Venin_d_araflate_v7yZidE9mObKO566.yml +++ b/packs_src/maladies-et-poisons/maladie_Venin_d_araflate_v7yZidE9mObKO566.yml @@ -6,7 +6,7 @@ _id: v7yZidE9mObKO566 system: description: >-Venin de l'araflate. Sa morsure inflige un venin anesthésiant, - inoculé sur toute blessure sauf contusion\ éraflure.
+ inoculé sur toute blessure sauf contusion/éraflure.Chaque perte d’endurance s’accompagne de la fatigue équivalente. À zéro d’endurance, la victime est diff --git a/packs_src/maladies-et-poisons/maladie_Venin_de_chrasme_cFMUtU6LZG0mKeDl.yml b/packs_src/maladies-et-poisons/maladie_Venin_de_chrasme_cFMUtU6LZG0mKeDl.yml index 2016ff30..1287e6fb 100644 --- a/packs_src/maladies-et-poisons/maladie_Venin_de_chrasme_cFMUtU6LZG0mKeDl.yml +++ b/packs_src/maladies-et-poisons/maladie_Venin_de_chrasme_cFMUtU6LZG0mKeDl.yml @@ -4,7 +4,7 @@ img: systems/foundryvtt-reve-de-dragon/icons/maladies_venins/venin.webp effects: [] _id: cFMUtU6LZG0mKeDl system: - description:
Venin du chrasme.
+ description: '' descriptionmj: '' temporel: debut: diff --git a/packs_src/maladies-et-poisons/maladie_Venin_de_scologriffe_iwlN0bNJ5XNNfjgj.yml b/packs_src/maladies-et-poisons/maladie_Venin_de_scologriffe_iwlN0bNJ5XNNfjgj.yml index 590c1275..8bc4dadd 100644 --- a/packs_src/maladies-et-poisons/maladie_Venin_de_scologriffe_iwlN0bNJ5XNNfjgj.yml +++ b/packs_src/maladies-et-poisons/maladie_Venin_de_scologriffe_iwlN0bNJ5XNNfjgj.yml @@ -5,10 +5,8 @@ effects: [] _id: iwlN0bNJ5XNNfjgj system: description: >- -Venin du scologriffe. Il provoque une sensation aiguë de - déséquilibre.
- -Jouer VOLONTÉ à -3. En cas d’échec, on chute +
Sensation aiguë de déséquilibre. + Jouer VOLONTÉ à -3. En cas d’échec, on chute sans parvenir à se relever.
descriptionmj: '' temporel: @@ -26,7 +24,7 @@ system: nombre: 1 remedesconnus: false remedes: '-3 \ Liqueur de Bagdol +16 Topazoïne +8' - dommages: 1 pt de Vie + dommages: 1 pt de Vie, sensation de déséquilibre periodicite: 1 minute ownership: default: 0 diff --git a/packs_src/maladies-et-poisons/maladie_Venin_de_vip_re_jaune_lUeNPc0ECKqHglbG.yml b/packs_src/maladies-et-poisons/maladie_Venin_de_vip_re_jaune_lUeNPc0ECKqHglbG.yml index 513e8e76..07965663 100644 --- a/packs_src/maladies-et-poisons/maladie_Venin_de_vip_re_jaune_lUeNPc0ECKqHglbG.yml +++ b/packs_src/maladies-et-poisons/maladie_Venin_de_vip_re_jaune_lUeNPc0ECKqHglbG.yml @@ -4,7 +4,7 @@ img: systems/foundryvtt-reve-de-dragon/icons/maladies_venins/venin.webp effects: [] _id: lUeNPc0ECKqHglbG system: - description:Venin de la vipère jaune. Il provoque des spasmes musculaires.
+ description: '' descriptionmj: '' temporel: debut: @@ -21,7 +21,7 @@ system: nombre: 6 remedesconnus: false remedes: '-3\ Liqueur de Bagdol +14, Topazoïne +10' - dommages: 1 pt de Vie + dommages: 1 pt de Vie, spasmes musculaires periodicite: 6 rounds ownership: default: 0 diff --git a/styles/simple.css b/styles/simple.css index 6b1949fe..78b2d63e 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -797,6 +797,9 @@ input:is(.blessure-premiers_soins, .blessure-soins_complets) { padding: 0; overflow-y: auto; } +.item-list-title{ + flex: 0; +} .foundryvtt-reve-de-dragon .item-list .item-header { font-weight: bold; diff --git a/template.json b/template.json index 16de21c0..4006b982 100644 --- a/template.json +++ b/template.json @@ -16,9 +16,9 @@ }, "background": { "metier": "", - "biographie": "Histoire personnelle...", - "notes": "Notes", - "notesmj": "Notes du MJ", + "biographie": "", + "notes": "", + "notesmj": "", "race": "Humain", "yeux": "", "cheveux": "", @@ -191,18 +191,18 @@ "label": "+dom", "derivee": true }, - "vitesse": { - "type": "string", - "value": 0, - "label": "Vitesse", - "derivee": false - }, "encombrement": { "type": "number", "value": 0, "label": "Encombrement", "derivee": true }, + "vitesse": { + "type": "string", + "value": 0, + "label": "Vitesse", + "derivee": false + }, "protection": { "type": "number", "value": 0, diff --git a/templates/actor-creature-sheet.html b/templates/actor-creature-sheet.html index 215fbf10..5ac324ed 100644 --- a/templates/actor-creature-sheet.html +++ b/templates/actor-creature-sheet.html @@ -47,8 +47,10 @@