#77 Gestion alchimie

This commit is contained in:
2021-01-07 20:04:10 +01:00
parent ec86c81fc8
commit f4dc42743a
11 changed files with 266 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import { DeDraconique } from "./de-draconique.js";
import { RdDAudio } from "./rdd-audio.js";
import { RdDItemCompetence } from "./item-competence.js";
import { RdDItemArme } from "./item-arme.js";
import { RdDAlchimie } from "./rdd-alchimie.js";
/* -------------------------------------------- */
/**
@ -2369,6 +2370,46 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
async effectuerTacheAlchimie( recetteId, alchimieName, alchimieData) {
let recette = this.data.items.find( item => item.type =='recettealchimique' && item._id == recetteId );
if ( recette) {
let competence = this.data.items.find( item => item.type =='competence' && item.name.toLowerCase() == "alchimie" );
let diffAlchimie = RdDAlchimie.getDifficulte(alchimieData);
let rollData = {
recetteName: recette.name,
competence: competence,
diffLibre: diffAlchimie // Per default at startup
}
if ( alchimieName == "couleur") {
rollData.selectedCarac = this.data.data.carac.vue,
rollData.alchimieTexte = `Couleurs ${alchimieData} (${diffAlchimie}) (Malus de -4 si vous ne possédez pas de Cristal Alchimique)`;
} else {
rollData.selectedCarac = this.data.data.carac.dexterite,
rollData.alchimieTexte = `Consistances ${alchimieData} (${diffAlchimie})`;
}
const dialog = await RdDRoll.create(this, rollData,
{ html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-alchimie.html',
},
{
name: 'tache-alchimique',
label: 'Tache Alchimique',
callbacks: [
this.createCallbackExperience(),
{ action: r => this._alchimieResult(r, false) }
]
}
);
dialog.render(true);
}
}
/* -------------------------------------------- */
_alchimieResult( rollData ) {
RdDResolutionTable.displayRollData(rollData, this, 'chat-resultat-alchimie.html');
}
}