forked from public/foundryvtt-reve-de-dragon
v10 migration, ongoing WIP
This commit is contained in:
@ -1345,7 +1345,6 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async computeMalusArmure() {
|
||||
let arm = this.filterItemsData(it => it.type == 'armure' && it.system.equipe)
|
||||
console.log(">>>>>>>>>ARM", arm)
|
||||
const newMalusArmure = this.filterItemsData(it => it.type == 'armure' && it.system.equipe)
|
||||
.map(it => it.system.malus ?? 0)
|
||||
.reduce(Misc.sum(), 0)
|
||||
@ -2592,19 +2591,19 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollTache(id) {
|
||||
const tacheData = Misc.data(this.getTache(id));
|
||||
const compData = Misc.data(this.getCompetence(tacheData.data.competence));
|
||||
compData.data.defaut_carac = tacheData.data.carac; // Patch !
|
||||
const tacheData = this.getTache(id)
|
||||
const compData = this.getCompetence(tacheData.system.competence)
|
||||
compData.system.defaut_carac = tacheData.system.carac // Patch !
|
||||
|
||||
let rollData = {
|
||||
competence: compData,
|
||||
tache: tacheData,
|
||||
diffLibre: tacheData.data.difficulte,
|
||||
diffLibre: tacheData.system.difficulte,
|
||||
diffConditions: 0,
|
||||
use: { libre: false, conditions: true },
|
||||
carac: {}
|
||||
};
|
||||
rollData.carac[tacheData.data.carac] = duplicate(this.system.carac[tacheData.data.carac]); // Single carac
|
||||
rollData.carac[tacheData.system.carac] = duplicate(this.system.carac[tacheData.system.carac]); // Single carac
|
||||
|
||||
console.log("rollTache !!!", rollData);
|
||||
|
||||
@ -2617,29 +2616,29 @@ export class RdDActor extends Actor {
|
||||
{ action: r => this._tacheResult(r) }
|
||||
]
|
||||
});
|
||||
dialog.render(true);
|
||||
dialog.render(true)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _tacheResult(rollData) {
|
||||
// Mise à jour de la tache
|
||||
rollData.appliquerFatigue = ReglesOptionelles.isUsing("appliquer-fatigue");
|
||||
rollData.tache = duplicate(rollData.tache);
|
||||
rollData.tache.data.points_de_tache_courant += rollData.rolled.ptTache;
|
||||
rollData.appliquerFatigue = ReglesOptionelles.isUsing("appliquer-fatigue")
|
||||
rollData.tache = duplicate(rollData.tache)
|
||||
rollData.tache.system.points_de_tache_courant += rollData.rolled.ptTache
|
||||
if (rollData.rolled.isETotal) {
|
||||
rollData.tache.data.difficulte--;
|
||||
rollData.tache.system.difficulte--
|
||||
}
|
||||
if (rollData.rolled.isSuccess) {
|
||||
rollData.tache.data.nb_jet_succes++;
|
||||
rollData.tache.system.nb_jet_succes++
|
||||
} else {
|
||||
rollData.tache.data.nb_jet_echec++;
|
||||
rollData.tache.system.nb_jet_echec++
|
||||
}
|
||||
rollData.tache.data.tentatives = rollData.tache.data.nb_jet_succes + rollData.tache.data.nb_jet_echec;
|
||||
rollData.tache.system.tentatives = rollData.tache.system.nb_jet_succes + rollData.tache.system.nb_jet_echec
|
||||
|
||||
this.updateEmbeddedDocuments('Item', [rollData.tache]);
|
||||
this.santeIncDec("fatigue", rollData.tache.data.fatigue);
|
||||
this.updateEmbeddedDocuments('Item', [rollData.tache])
|
||||
this.santeIncDec("fatigue", rollData.tache.system.fatigue)
|
||||
|
||||
await RdDResolutionTable.displayRollData(rollData, this, 'chat-resultat-tache.html');
|
||||
await RdDResolutionTable.displayRollData(rollData, this, 'chat-resultat-tache.html')
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -2648,14 +2647,14 @@ export class RdDActor extends Actor {
|
||||
{
|
||||
oeuvre: oeuvre,
|
||||
art: oeuvre.type,
|
||||
competence: duplicate(Misc.data(this.getCompetence(artData.compName ?? oeuvre.data.competence ?? artData.art))),
|
||||
diffLibre: - (oeuvre.data.niveau ?? 0),
|
||||
competence: duplicate( this.getCompetence(artData.compName ?? oeuvre.system.competence ?? artData.art)),
|
||||
diffLibre: - (oeuvre.system.niveau ?? 0),
|
||||
diffConditions: 0,
|
||||
use: { libre: false, conditions: true },
|
||||
selectedCarac: duplicate(this.system.carac[selected])
|
||||
},
|
||||
{ overwrite: false });
|
||||
artData.competence.data.defaut_carac = selected;
|
||||
artData.competence.system.defaut_carac = selected
|
||||
if (!artData.forceCarac) {
|
||||
artData.forceCarac = {};
|
||||
artData.forceCarac[selected] = duplicate(this.system.carac[selected]);
|
||||
@ -2682,8 +2681,8 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _resultArt(artData) {
|
||||
const baseQualite = (artData.rolled.isSuccess ? artData.oeuvre.data.niveau : artData.competence.data.niveau);
|
||||
artData.qualiteFinale = Math.min(baseQualite, artData.oeuvre.data.niveau) + artData.rolled.ptQualite;
|
||||
const baseQualite = (artData.rolled.isSuccess ? artData.oeuvre.system.niveau : artData.competence.system.niveau);
|
||||
artData.qualiteFinale = Math.min(baseQualite, artData.oeuvre.system.niveau) + artData.rolled.ptQualite;
|
||||
|
||||
await RdDResolutionTable.displayRollData(artData, this.name, `chat-resultat-${artData.art}.html`);
|
||||
}
|
||||
@ -2699,10 +2698,10 @@ export class RdDActor extends Actor {
|
||||
async rollDanse(id) {
|
||||
const artData = { art: 'danse', verbe: 'Danser', forceCarac: {} };
|
||||
const oeuvre = duplicate(this.getItemOfType(id, artData.art));
|
||||
if (oeuvre.data.agilite) {
|
||||
if (oeuvre.system.agilite) {
|
||||
artData.forceCarac['agilite'] = duplicate(this.system.carac.agilite);
|
||||
}
|
||||
if (oeuvre.data.apparence) {
|
||||
if (oeuvre.system.apparence) {
|
||||
artData.forceCarac['apparence'] = duplicate(this.system.carac.apparence);
|
||||
}
|
||||
const selectedCarac = this._getCaracDanse(oeuvre);
|
||||
@ -2711,9 +2710,9 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_getCaracDanse(oeuvre) {
|
||||
if (oeuvre.data.agilite) { return "agilite"; }
|
||||
else if (oeuvre.data.apparence) { return "apparence"; }
|
||||
const compData = Misc.data(this.getCompetence(oeuvre.data.competence));
|
||||
if (oeuvre.system.agilite) { return "agilite"; }
|
||||
else if (oeuvre.system.apparence) { return "apparence"; }
|
||||
const compData = Misc.data(this.getCompetence(oeuvre.system.competence));
|
||||
return compData.data.defaut_carac;
|
||||
}
|
||||
|
||||
@ -2738,17 +2737,17 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _resultRecetteCuisine(artData) {
|
||||
const baseQualite = (artData.rolled.isSuccess ? artData.oeuvre.data.niveau : artData.competence.data.niveau);
|
||||
const sust = artData.oeuvre.data.sust * artData.proportions;
|
||||
artData.qualiteFinale = Math.min(baseQualite, artData.oeuvre.data.niveau) + artData.rolled.ptQualite;
|
||||
artData.exotismeFinal = Math.min(Math.min(artData.qualiteFinale, artData.oeuvre.data.exotisme ?? 0), 0);
|
||||
const baseQualite = (artData.rolled.isSuccess ? artData.oeuvre.system.niveau : artData.competence.system.niveau);
|
||||
const sust = artData.oeuvre.system.sust * artData.proportions;
|
||||
artData.qualiteFinale = Math.min(baseQualite, artData.oeuvre.system.niveau) + artData.rolled.ptQualite;
|
||||
artData.exotismeFinal = Math.min(Math.min(artData.qualiteFinale, artData.oeuvre.system.exotisme ?? 0), 0);
|
||||
console.log("OEUVRE", artData.art, artData)
|
||||
const platCuisine = {
|
||||
name: artData.oeuvre.name,
|
||||
type: 'nourritureboisson',
|
||||
img: 'systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp',
|
||||
data: {
|
||||
"description": artData.oeuvre.data.description,
|
||||
"description": artData.oeuvre.system.description,
|
||||
"sust": Math.min(sust, 1),
|
||||
"qualite": artData.qualiteFinale,
|
||||
"exotisme": artData.exotismeFinal,
|
||||
@ -2759,7 +2758,7 @@ export class RdDActor extends Actor {
|
||||
};
|
||||
if (artData.ajouterEquipement) {
|
||||
await this.createEmbeddedDocuments('Item', [platCuisine]);
|
||||
ui.notifications.info(`${platCuisine.data.quantite} rations de ${platCuisine.name} ont été ajoutés à votre équipement`);
|
||||
ui.notifications.info(`${platCuisine.system.quantite} rations de ${platCuisine.name} ont été ajoutés à votre équipement`);
|
||||
}
|
||||
artData.platCuisine = platCuisine;
|
||||
await RdDResolutionTable.displayRollData(artData, this.name, `chat-resultat-${artData.art}.html`);
|
||||
@ -2769,7 +2768,7 @@ export class RdDActor extends Actor {
|
||||
async rollJeu(id) {
|
||||
const oeuvre = Misc.data(this.getJeu(id));
|
||||
|
||||
const listCarac = oeuvre.data.caraccomp.toLowerCase().split(/[.,:\/-]/).map(it => it.trim());
|
||||
const listCarac = oeuvre.system.caraccomp.toLowerCase().split(/[.,:\/-]/).map(it => it.trim());
|
||||
const carac = listCarac.length > 0 ? listCarac[0] : 'chance'
|
||||
const artData = {
|
||||
art: 'jeu', verbe: 'Jeu',
|
||||
@ -2778,22 +2777,22 @@ export class RdDActor extends Actor {
|
||||
forceCarac: {}
|
||||
};
|
||||
listCarac.forEach(c => artData.forceCarac[c] = this.system.carac[c]);
|
||||
artData.competence.data.niveauReel = artData.competence.data.niveau;
|
||||
artData.competence.data.niveau = Math.max(artData.competence.data.niveau, oeuvre.data.base);
|
||||
artData.competence.system.niveauReel = artData.competence.system.niveau;
|
||||
artData.competence.system.niveau = Math.max(artData.competence.system.niveau, oeuvre.system.base);
|
||||
await this._rollArt(artData, carac, oeuvre);
|
||||
}
|
||||
|
||||
async rollOeuvre(id) {
|
||||
const artData = { art: 'oeuvre', verbe: 'Interpréter' };
|
||||
const oeuvre = duplicate(this.getItemOfType(id, artData.art));
|
||||
await this._rollArt(artData, oeuvre.data.default_carac, oeuvre);
|
||||
await this._rollArt(artData, oeuvre.system.default_carac, oeuvre);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollMeditation(id) {
|
||||
const meditation = duplicate(Misc.data(this.getMeditation(id)));
|
||||
const competence = duplicate(Misc.data(this.getCompetence(meditation.data.competence)));
|
||||
competence.data.defaut_carac = "intellect"; // Meditation = toujours avec intellect
|
||||
const competence = duplicate(Misc.data(this.getCompetence(meditation.system.competence)));
|
||||
competence.system.defaut_carac = "intellect"; // Meditation = toujours avec intellect
|
||||
let meditationData = {
|
||||
competence: competence,
|
||||
meditation: meditation,
|
||||
@ -2841,7 +2840,7 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
_getSignesDraconiques(coord) {
|
||||
const type = TMRUtility.getTMRType(coord);
|
||||
return this.listItemsData("signedraconique").filter(it => it.data.typesTMR.includes(type));
|
||||
return this.listItemsData("signedraconique").filter(it => it.system.typesTMR.includes(type));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -3188,7 +3187,6 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
rollArme(arme) {
|
||||
let itemData = arme.system && arme.system || arme.data
|
||||
console.log("ARME", arme, itemData)
|
||||
let competence = this.getCompetence( itemData.competence )
|
||||
if (arme || (competence.type == 'competencecreature' && competence.system.iscombat)) {
|
||||
if (competence.system.ispossession) {
|
||||
|
Reference in New Issue
Block a user