Preparation access documentData

Ajout de méthode Misc.data pour accéder aux data des Actor/Item
Dans le cas où on est sur un Actor/Item, retourne le document
(noeud data)

Dans les autres cas, retourne l'objet lkui même (donc, le document)

Du coup, on devrait pouvoir facilement changer en 0.8.0
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-22 20:10:37 +01:00
parent 2b6d1d8de1
commit 25d7a447a8
14 changed files with 543 additions and 483 deletions

View File

@ -1,3 +1,4 @@
import { Misc } from "./misc.js";
import { RdDUtility } from "./rdd-utility.js";
/* -------------------------------------------- */
@ -7,7 +8,8 @@ export class RdDItem extends Item {
async postItem() {
console.log(this);
const properties = this[`_${this.data.type}ChatData`]();
let chatData = duplicate(this.data);
const itemData = Misc.data(this);
let chatData = duplicate(itemData);
chatData["properties"] = properties
//Check if the posted item should have availability/pay buttons
@ -49,17 +51,17 @@ export class RdDItem extends Item {
{
if (this.isOwned)
{
if (this.data.data.quantite == 0)
if (itemData.data.quantite == 0)
dialogResult[0] = -1
else if (this.data.data.quantite < dialogResult[0])
else if (itemData.data.quantite < dialogResult[0])
{
dialogResult[0] = this.data.data.quantite;
dialogResult[0] = itemData.data.quantite;
ui.notifications.notify(`Impossible de poster plus que ce que vous avez. La quantité à été réduite à ${dialogResult[0]}.`)
this.update({"data.quantite" : 0})
}
else {
ui.notifications.notify(`Quantité réduite par ${dialogResult[0]}.`)
this.update({"data.quantite" : this.data.data.quantite - dialogResult[0]})
this.update({"data.quantite" : itemData.data.quantite - dialogResult[0]})
}
}
}
@ -84,7 +86,7 @@ export class RdDItem extends Item {
chatData.jsondata = JSON.stringify(
{
compendium : "postedItem",
payload: this.data,
payload: itemData,
});
renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-item.html', chatData).then(html => {
@ -95,217 +97,217 @@ export class RdDItem extends Item {
/* -------------------------------------------- */
_objetChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_armeChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Compétence</b>: ${data.competence}`,
`<b>Dommages</b>: ${data.dommages}`,
`<b>Force minimum</b>: ${data.force}`,
`<b>Resistance</b>: ${data.resistance}`,
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Compétence</b>: ${rddData.competence}`,
`<b>Dommages</b>: ${rddData.dommages}`,
`<b>Force minimum</b>: ${rddData.force}`,
`<b>Resistance</b>: ${rddData.resistance}`,
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_conteneurChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Capacité</b>: ${data.capacite} Enc.`,
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Capacité</b>: ${rddData.capacite} Enc.`,
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_munitionChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_armureChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Protection</b>: ${data.protection}`,
`<b>Détérioration</b>: ${data.deterioration}`,
`<b>Malus armure</b>: ${data.malus}`,
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Protection</b>: ${rddData.protection}`,
`<b>Détérioration</b>: ${rddData.deterioration}`,
`<b>Malus armure</b>: ${rddData.malus}`,
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_competenceChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Catégorie</b>: ${data.categorie}`,
`<b>Niveau</b>: ${data.niveau}`,
`<b>Caractéristique par défaut</b>: ${data.carac_defaut}`,
`<b>XP</b>: ${data.xp}`
`<b>Catégorie</b>: ${rddData.categorie}`,
`<b>Niveau</b>: ${rddData.niveau}`,
`<b>Caractéristique par défaut</b>: ${rddData.carac_defaut}`,
`<b>XP</b>: ${rddData.xp}`
]
return properties;
}
/* -------------------------------------------- */
_competencecreatureChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Catégorie</b>: ${data.categorie}`,
`<b>Niveau</b>: ${data.niveau}`,
`<b>Caractéristique</b>: ${data.carac_value}`,
`<b>XP</b>: ${data.xp}`
`<b>Catégorie</b>: ${rddData.categorie}`,
`<b>Niveau</b>: ${rddData.niveau}`,
`<b>Caractéristique</b>: ${rddData.carac_value}`,
`<b>XP</b>: ${rddData.xp}`
]
return properties;
}
/* -------------------------------------------- */
_sortChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Draconic</b>: ${data.draconic}`,
`<b>Difficulté</b>: ${data.difficulte}`,
`<b>Case TMR</b>: ${data.caseTMR}`,
`<b>Points de Rêve</b>: ${data.ptreve}`
`<b>Draconic</b>: ${rddData.draconic}`,
`<b>Difficulté</b>: ${rddData.difficulte}`,
`<b>Case TMR</b>: ${rddData.caseTMR}`,
`<b>Points de Rêve</b>: ${rddData.ptreve}`
]
return properties;
}
/* -------------------------------------------- */
_herbeChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Milieu</b>: ${data.milieu}`,
`<b>Rareté</b>: ${data.rarete}`,
`<b>Catégorie</b>: ${data.categorie}`,
`<b>Milieu</b>: ${rddData.milieu}`,
`<b>Rareté</b>: ${rddData.rarete}`,
`<b>Catégorie</b>: ${rddData.categorie}`,
]
return properties;
}
/* -------------------------------------------- */
_ingredientChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Milieu</b>: ${data.milieu}`,
`<b>Rareté</b>: ${data.rarete}`,
`<b>Catégorie</b>: ${data.categorie}`,
`<b>Milieu</b>: ${rddData.milieu}`,
`<b>Rareté</b>: ${rddData.rarete}`,
`<b>Catégorie</b>: ${rddData.categorie}`,
]
return properties;
}
/* -------------------------------------------- */
_tacheChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Caractéristique</b>: ${data.carac}`,
`<b>Compétence</b>: ${data.competence}`,
`<b>Périodicité</b>: ${data.periodicite}`,
`<b>Fatigue</b>: ${data.fatigue}`,
`<b>Difficulté</b>: ${data.difficulte}`,
`<b>Points de Tâche</b>: ${data.points_de_tache}`,
`<b>Points de Tâche atteints</b>: ${data.points_de_tache_courant}`
`<b>Caractéristique</b>: ${rddData.carac}`,
`<b>Compétence</b>: ${rddData.competence}`,
`<b>Périodicité</b>: ${rddData.periodicite}`,
`<b>Fatigue</b>: ${rddData.fatigue}`,
`<b>Difficulté</b>: ${rddData.difficulte}`,
`<b>Points de Tâche</b>: ${rddData.points_de_tache}`,
`<b>Points de Tâche atteints</b>: ${rddData.points_de_tache_courant}`
]
return properties;
}
/* -------------------------------------------- */
_livreChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Compétence</b>: ${data.competence}`,
`<b>Auteur</b>: ${data.auteur}`,
`<b>Difficulté</b>: ${data.difficulte}`,
`<b>Points de Tâche</b>: ${data.points_de_tache}`,
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Compétence</b>: ${rddData.competence}`,
`<b>Auteur</b>: ${rddData.auteur}`,
`<b>Difficulté</b>: ${rddData.difficulte}`,
`<b>Points de Tâche</b>: ${rddData.points_de_tache}`,
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_potionChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Rareté</b>: ${data.rarete}`,
`<b>Catégorie</b>: ${data.categorie}`,
`<b>Encombrement</b>: ${data.encombrement}`,
`<b>Rareté</b>: ${rddData.rarete}`,
`<b>Catégorie</b>: ${rddData.categorie}`,
`<b>Encombrement</b>: ${rddData.encombrement}`,
]
return properties;
}
/* -------------------------------------------- */
_queueChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Refoulement</b>: ${data.refoulement}`
`<b>Refoulement</b>: ${rddData.refoulement}`
]
return properties;
}
/* -------------------------------------------- */
_ombreChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Refoulement</b>: ${data.refoulement}`
`<b>Refoulement</b>: ${rddData.refoulement}`
]
return properties;
}
/* -------------------------------------------- */
_souffleChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [];
return properties;
}
/* -------------------------------------------- */
_teteChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [];
return properties;
}
/* -------------------------------------------- */
_tarotChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Concept</b>: ${data.concept}`,
`<b>Aspect</b>: ${data.aspect}`,
`<b>Concept</b>: ${rddData.concept}`,
`<b>Aspect</b>: ${rddData.aspect}`,
]
return properties;
}
/* -------------------------------------------- */
_nombreastralChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Valeur</b>: ${data.value}`,
`<b>Jour</b>: ${data.jourlabel}`,
`<b>Valeur</b>: ${rddData.value}`,
`<b>Jour</b>: ${rddData.jourlabel}`,
]
return properties;
}
/* -------------------------------------------- */
_monnaieChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Valeur en Deniers</b>: ${data.valeur_deniers}`,
`<b>Encombrement</b>: ${data.encombrement}`
`<b>Valeur en Deniers</b>: ${rddData.valeur_deniers}`,
`<b>Encombrement</b>: ${rddData.encombrement}`
]
return properties;
}
/* -------------------------------------------- */
_meditationChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Thème</b>: ${data.theme}`,
`<b>Compétence</b>: ${data.competence}`,
`<b>Support</b>: ${data.support}`,
`<b>Heure</b>: ${data.heure}`,
`<b>Purification</b>: ${data.purification}`,
`<b>Vêture</b>: ${data.veture}`,
`<b>Comportement</b>: ${data.comportement}`,
`<b>Case TMR</b>: ${data.tmr}`
`<b>Thème</b>: ${rddData.theme}`,
`<b>Compétence</b>: ${rddData.competence}`,
`<b>Support</b>: ${rddData.support}`,
`<b>Heure</b>: ${rddData.heure}`,
`<b>Purification</b>: ${rddData.purification}`,
`<b>Vêture</b>: ${rddData.veture}`,
`<b>Comportement</b>: ${rddData.comportement}`,
`<b>Case TMR</b>: ${rddData.tmr}`
]
return properties;
}
/* -------------------------------------------- */
_casetmrChatData() {
const data = duplicate(this.data.data);
const rddData = Misc.data(this).data;
let properties = [
`<b>Coordonnée</b>: ${data.coord}`,
`<b>Spécificité</b>: ${data.specific}`
`<b>Coordonnée</b>: ${rddData.coord}`,
`<b>Spécificité</b>: ${rddData.specific}`
]
return properties;
}