Gestion des maladies/poisons

This commit is contained in:
2021-10-29 21:31:58 +02:00
parent 21ad671ac7
commit 36be368dfd
6 changed files with 112 additions and 33 deletions

View File

@@ -3382,6 +3382,8 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
_setBlessure(blessure, encaissement) {
blessure.active = true;
blessure.premiers_soins = -1;
blessure.soins_complets = -1;
blessure.loc = encaissement.locName;
}

View File

@@ -229,12 +229,13 @@ export class RdDItem extends Item {
ChatMessage.create(RdDUtility.chatDataSetup(html));
}
/* -------------------------------------------- */
getProprietes() {
return this[`_${Misc.data(this).type}ChatData`]();
}
/* -------------------------------------------- */
async postItem() {
async postItem( modeOverride ) {
console.log(this);
let chatData = duplicate(Misc.data(this));
const properties = this.getProprietes();
@@ -317,7 +318,7 @@ export class RdDItem extends Item {
});
renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-item.html', chatData).then(html => {
let chatOptions = RdDUtility.chatDataSetup(html);
let chatOptions = RdDUtility.chatDataSetup(html, modeOverride);
ChatMessage.create(chatOptions)
});
}
@@ -558,5 +559,43 @@ export class RdDItem extends Item {
]
return properties;
}
/* -------------------------------------------- */
_maladieChatData() {
const tplData = Misc.templateData(this);
let properties
if (tplData.identifie) {
properties = [
`<b>Malignité</b>: ${tplData.malignite}`,
`<b>Périodicité</b>: ${tplData.periodicite}`,
`<b>Dommages</b>: ${tplData.dommages}`
]
if (tplData.remedesconnus) {
properties.push(`<b>Remedes</b>: ${tplData.remedes}` )
}
} else {
properties = [
`<b>Inconnue</b>` ]
}
return properties;
}
/* -------------------------------------------- */
_poisonChatData() {
return this._maladieChatData();
}
/* -------------------------------------------- */
_gemmeChatData() {
const tplData = Misc.templateData(this);
let properties = [
`<b>Pureté</b>: ${tplData.purete}`,
`<b>Taille</b>: ${tplData.taille}`,
`<b>Inertie</b>: ${tplData.inertie}`,
`<b>Enchantabilité</b>: ${tplData.enchantabilite}`,
`<b>Prix</b>: ${tplData.cout}`,
]
return properties;
}
}

View File

@@ -227,7 +227,13 @@ export class RdDCalendrier extends Application {
if (actor.type == 'personnage') {
let maladies = actor.filterItems( item => (item.type == 'maladie' || item.type == 'poison') && item.data.periodicite.toLowerCase().includes(periode) );
for (let maladie of maladies) {
ChatMessage.create({ content: `${actor.name} souffre de ${maladie.name} (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
if ( maladie.data.identifie) {
ChatMessage.create({ content: `${actor.name} souffre de ${maladie.name} (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
} else {
ChatMessage.create({ content: `${actor.name} souffre d'un mal inconnu (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
}
let itemMaladie = actor.getObjet(maladie.id)
itemMaladie.postItem( 'gmroll');
}
}
}