Manage possession

This commit is contained in:
2021-11-21 12:04:42 +01:00
parent 8f890dad66
commit ada4aadf24
9 changed files with 200 additions and 68 deletions

View File

@ -10,6 +10,7 @@ import { ReglesOptionelles } from "./regles-optionelles.js";
import { RdDDice } from "./rdd-dice.js";
import { RdDItem } from "./item.js";
import { Monnaie } from "./item-monnaie.js";
import { RdDPossession } from "./rdd-possession.js";
/* -------------------------------------------- */
// This table starts at 0 -> niveau -10
@ -209,6 +210,7 @@ export class RdDUtility {
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-tache.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-sort.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-alchimie.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-possession.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-actor-turn-summary.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-actor-competence-xp.html',
'systems/foundryvtt-reve-de-dragon/templates/chat-actor-carac-xp.html',
@ -382,6 +384,7 @@ export class RdDUtility {
formData.recettesAlchimiques = this.checkNull(formData.itemsByType['recettealchimique']);
formData.maladies = this.checkNull(formData.itemsByType['maladie']);
formData.poisons = this.checkNull(formData.itemsByType['poison']);
formData.possessions = this.checkNull(formData.itemsByType['possession']);
formData.maladiesPoisons = formData.maladies.concat( formData.poisons);
formData.objets = formData.conteneurs.concat(formData.materiel)
.concat(formData.armes)
@ -419,6 +422,7 @@ export class RdDUtility {
return objetVersConteneur;
}
/* -------------------------------------------- */
static calculEncContenu(conteneur, objets) {
const itemData = Misc.data(conteneur);
const contenuDatas = (itemData.data.contenu ?? []).filter(id => id != undefined)
@ -436,6 +440,7 @@ export class RdDUtility {
return enc;
}
/* -------------------------------------------- */
// Construit la liste des conteneurs de niveau 1 (c'est à dire non contenu eux-même dans un conteneur)
static conteneursRacine(conteneurs) {
return conteneurs.filter((conteneur, index, arr) => !conteneur.estContenu);
@ -503,6 +508,7 @@ export class RdDUtility {
return -7;
}
/* -------------------------------------------- */
static calculFatigueHtml(fatigue, endurance) {
return ReglesOptionelles.isUsing("appliquer-fatigue") ? {
malus: RdDUtility.calculMalusFatigue(fatigue, endurance),
@ -518,6 +524,7 @@ export class RdDUtility {
return this.makeHTMLfatigueMatrixForSegment(fatigue, segments);
}
/* -------------------------------------------- */
static makeHTMLfatigueMatrixForSegment(fatigue, segments) {
fatigue = Math.max(fatigue, 0);
fatigue = Math.min(fatigue, segments.fatigueMax);
@ -663,6 +670,13 @@ export class RdDUtility {
actor.tmrApp.lancerSortEnReserve(coord, sortId);
});
// gestion bouton tchat Acheter
html.on("click", '.defense-possession', event => {
let actorId = event.currentTarget.attributes['data-defenderId'].value;
let possessionId = event.currentTarget.attributes['data-possessionId'].value;
RdDPossession.onDefensePossession(actorId, possessionId);
});
// gestion bouton tchat Acheter
html.on("click", '.button-acheter', event => DialogItemAchat.onButtonAcheter(event));