v10 migration, ongoing WIP

This commit is contained in:
sladecraven 2022-05-01 23:37:52 +02:00
parent d83fd27193
commit 4538439c02
24 changed files with 129 additions and 128 deletions

View File

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

View File

@ -10,7 +10,7 @@ export class DialogCreateSigneDraconique extends Dialog {
const signe = await RdDItemSigneDraconique.randomSigneDraconique({ephemere: true}); const signe = await RdDItemSigneDraconique.randomSigneDraconique({ephemere: true});
let dialogData = { let dialogData = {
signe: signe, signe: signe,
tmrs: TMRUtility.listSelectedTMR(signe.data.typesTMR ?? []), tmrs: TMRUtility.listSelectedTMR(signe.system.typesTMR ?? []),
actors: game.actors.filter(actor => actor.isHautRevant()).map(actor => { actors: game.actors.filter(actor => actor.isHautRevant()).map(actor => {
let actorData = duplicate(Misc.data(actor)); let actorData = duplicate(Misc.data(actor));
actorData.selected = actor.hasPlayerOwner; actorData.selected = actor.hasPlayerOwner;
@ -51,26 +51,26 @@ export class DialogCreateSigneDraconique extends Dialog {
whisper: ChatUtility.getWhisperRecipientsAndGMs(Misc.data(actor).name), whisper: ChatUtility.getWhisperRecipientsAndGMs(Misc.data(actor).name),
content: await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chat-signe-draconique-actor.html", { content: await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chat-signe-draconique-actor.html", {
signe: signe, signe: signe,
alias: Misc.data(actor).name alias: actor.name
}) })
}); });
} }
validerSigne() { validerSigne() {
this.dialogData.signe.name = $("[name='signe.name']").val(); this.dialogData.signe.name = $("[name='signe.name']").val();
this.dialogData.signe.data.valeur.norm = $("[name='signe.data.valeur.norm']").val(); this.dialogData.signe.system.valeur.norm = $("[name='signe.data.valeur.norm']").val();
this.dialogData.signe.data.valeur.sign = $("[name='signe.data.valeur.sign']").val(); this.dialogData.signe.system.valeur.sign = $("[name='signe.data.valeur.sign']").val();
this.dialogData.signe.data.valeur.part = $("[name='signe.data.valeur.part']").val(); this.dialogData.signe.system.valeur.part = $("[name='signe.data.valeur.part']").val();
this.dialogData.signe.data.difficulte = $("[name='signe.data.difficulte']").val(); this.dialogData.signe.system.difficulte = $("[name='signe.data.difficulte']").val();
this.dialogData.signe.data.ephemere = $("[name='signe.data.ephemere']").prop("checked"); this.dialogData.signe.system.ephemere = $("[name='signe.data.ephemere']").prop("checked");
this.dialogData.signe.data.duree = $("[name='signe.data.duree']").val(); this.dialogData.signe.system.duree = $("[name='signe.data.duree']").val();
this.dialogData.signe.data.typesTMR = $(".select-tmr").val(); this.dialogData.signe.system.typesTMR = $(".select-tmr").val();
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
this.setEphemere(this.dialogData.signe.data.ephemere); this.setEphemere(this.dialogData.signe.system.ephemere);
html.find(".signe-aleatoire").click(event => this.setSigneAleatoire()); html.find(".signe-aleatoire").click(event => this.setSigneAleatoire());
html.find("[name='signe.data.ephemere']").change((event) => this.setEphemere(event.currentTarget.checked)); html.find("[name='signe.data.ephemere']").change((event) => this.setEphemere(event.currentTarget.checked));
html.find(".select-actor").change((event) => this.onSelectActor(event)); html.find(".select-actor").change((event) => this.onSelectActor(event));
@ -81,14 +81,14 @@ export class DialogCreateSigneDraconique extends Dialog {
const newSigne = await RdDItemSigneDraconique.randomSigneDraconique({ephemere: true}); const newSigne = await RdDItemSigneDraconique.randomSigneDraconique({ephemere: true});
$("[name='signe.name']").val(newSigne.name); $("[name='signe.name']").val(newSigne.name);
$("[name='signe.data.valeur.norm']").val(newSigne.data.valeur.norm); $("[name='signe.data.valeur.norm']").val(newSigne.system.valeur.norm);
$("[name='signe.data.valeur.sign']").val(newSigne.data.valeur.sign); $("[name='signe.data.valeur.sign']").val(newSigne.system.valeur.sign);
$("[name='signe.data.valeur.part']").val(newSigne.data.valeur.part); $("[name='signe.data.valeur.part']").val(newSigne.system.valeur.part);
$("[name='signe.data.difficulte']").val(newSigne.data.difficulte); $("[name='signe.data.difficulte']").val(newSigne.system.difficulte);
$("[name='signe.data.duree']").val(newSigne.data.duree); $("[name='signe.data.duree']").val(newSigne.system.duree);
$("[name='signe.data.ephemere']").prop("checked", newSigne.data.ephemere); $("[name='signe.data.ephemere']").prop("checked", newSigne.system.ephemere);
$(".select-tmr").val(newSigne.data.typesTMR); $(".select-tmr").val(newSigne.system.typesTMR);
this.setEphemere(newSigne.data.ephemere); this.setEphemere(newSigne.system.ephemere);
} }
async setEphemere(ephemere) { async setEphemere(ephemere) {
@ -111,8 +111,8 @@ export class DialogCreateSigneDraconique extends Dialog {
onValeurXpSort(event) { onValeurXpSort(event) {
const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0; const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0;
const xp = Number(event.currentTarget.value); const xp = Number(event.currentTarget.value);
const oldValeur = this.dialogData.signe.data.valeur; const oldValeur = this.dialogData.signe.system.valeur;
this.dialogData.signe.data.valeur = RdDItemSigneDraconique.calculValeursXpSort(codeReussite, xp, oldValeur); this.dialogData.signe.system.valeur = RdDItemSigneDraconique.calculValeursXpSort(codeReussite, xp, oldValeur);
} }
} }

View File

@ -40,18 +40,21 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const formData = duplicate(Misc.data(this.object)); let formData = {
mergeObject(formData, { name: this.object.name,
title: formData.name, img: this.object.img,
title: this.object.name,
isGM: game.user.isGM, isGM: game.user.isGM,
owner: this.document.isOwner, owner: this.document.isOwner,
data: this.object.system,
isOwned: this.actor ? true : false, isOwned: this.actor ? true : false,
actorId: this.actor?.id, actorId: this.actor?.id,
editable: this.isEditable, editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked", cssClass: this.isEditable ? "editable" : "locked",
}); }
formData.tmrs = TMRUtility.listSelectedTMR(formData.data.typesTMR ?? []); formData.tmrs = TMRUtility.listSelectedTMR(this.object.system.typesTMR ?? [])
return formData; console.log("SIG", formData)
return formData
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -72,17 +75,17 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
} }
async onSelectTmr(event) { async onSelectTmr(event) {
event.preventDefault(); event.preventDefault()
const selectedTMR = $(".select-tmr").val(); const selectedTMR = $(".select-tmr").val()
this.object.update({ 'data.typesTMR': selectedTMR }); this.object.update({ 'data.typesTMR': selectedTMR })
} }
async onValeurXpSort(event) { async onValeurXpSort(event) {
const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0; const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0;
const xp = Number(event.currentTarget.value); const xp = Number(event.currentTarget.value);
const oldValeur = Misc.templateData(this.object).valeur; const oldValeur = this.object.system.valeur
const newValeur = RdDItemSigneDraconique.calculValeursXpSort(codeReussite, xp, oldValeur); const newValeur = RdDItemSigneDraconique.calculValeursXpSort(codeReussite, xp, oldValeur);
await this.object.update({ 'data.valeur': newValeur }); await this.object.update({ 'data.valeur': newValeur })
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -246,7 +246,7 @@ export class RdDItem extends Item {
/* -------------------------------------------- */ /* -------------------------------------------- */
getProprietes() { getProprietes() {
return this[`_${Misc.data(this).type}ChatData`](); return this[`_${this.type}ChatData`]();
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -6,27 +6,27 @@
{{else}} {{else}}
<span class="item-name flex-grow">{{item.name}}</span> <span class="item-name flex-grow">{{item.name}}</span>
{{/if}} {{/if}}
<span class="item-quantite">{{item.data.quantite}} <span class="item-quantite">{{item.system.quantite}}
{{#if (gt item.data.quantite 1)}} {{#if (gt item.system.quantite 1)}}
<a class="item-control item-split" title="Séparer"><i class="fas fa-unlink"></i></a> <a class="item-control item-split" title="Séparer"><i class="fas fa-unlink"></i></a>
{{/if}} {{/if}}
</span> </span>
<span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> <span class="item-quantite">{{numberFormat item.system.encTotal decimals=2}}</span>
<div class="item-controls flex-grow"> <div class="item-controls flex-grow">
{{#unless item.estContenu}} {{#unless item.estContenu}}
{{#if (ne item.type 'conteneur')}} {{#if (ne item.type 'conteneur')}}
<a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-hand-rock"></i>{{else}}<i class="far fa-hand-paper"></i>{{/if}}</a> <a class="item-control item-equip" title="Equiper">{{#if item.system.equipe}}<i class="fas fa-hand-rock"></i>{{else}}<i class="far fa-hand-paper"></i>{{/if}}</a>
{{/if}} {{/if}}
{{/unless}} {{/unless}}
<a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
{{#if (or (eq item.type 'arme') (eq item.type 'conteneur') item.data.quantite)}} {{#if (or (eq item.type 'arme') (eq item.type 'conteneur') item.system.quantite)}}
&nbsp; &nbsp;
<a class="item-control item-vendre" title="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a> <a class="item-control item-vendre" title="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a>
{{/if}} {{/if}}
<a class="item-control item-montrer" title="Montrer"><i class="fas fa-comment"></i></a> <a class="item-control item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
{{#if item.data.actionPrincipale}} {{#if item.system.actionPrincipale}}
<a class="item-name item-action">{{item.data.actionPrincipale}}</a> <a class="item-name item-action">{{item.system.actionPrincipale}}</a>
{{/if}} {{/if}}
</div> </div>
</li> </li>

View File

@ -4,7 +4,7 @@
<li class="item flexrow list-item" data-item-id="{{piece._id}}"> <li class="item flexrow list-item" data-item-id="{{piece._id}}">
<img class="sheet-competence-img" src="{{piece.img}}" title="{{piece.name}}"/> <img class="sheet-competence-img" src="{{piece.img}}" title="{{piece.name}}"/>
<span class="competence-title competence-label">{{piece.name}}</span> <span class="competence-title competence-label">{{piece.name}}</span>
<span class="competence-title competence-label">{{piece.data.quantite}}</span> <span class="competence-title competence-label">{{piece.system.quantite}}</span>
<span class="competence-title"> <span class="competence-title">
<a class="monnaie-plus plus-moins">+</a> <a class="monnaie-plus plus-moins">+</a>
<a class="monnaie-moins plus-moins">-</a> <a class="monnaie-moins plus-moins">-</a>

View File

@ -1,7 +1,7 @@
<li class="item flexrow list-item" data-item-id="{{oeuvre._id}}"> <li class="item flexrow list-item" data-item-id="{{oeuvre._id}}">
<span>{{upperFirst typeOeuvre}}</span> <span>{{upperFirst typeOeuvre}}</span>
<span class="competence-title {{classOeuvre}}"> <span class="competence-title {{classOeuvre}}">
<a>{{oeuvre.name}} (niveau {{oeuvre.data.niveau}})</a> <a>{{oeuvre.name}} (niveau {{oeuvre.system.niveau}})</a>
</span> </span>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>

View File

@ -92,10 +92,10 @@
<li class="item flexrow list-item" data-item-id="{{item._id}}"> <li class="item flexrow list-item" data-item-id="{{item._id}}">
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
<span class="item-name flex-grow">{{item.name}}</span> <span class="item-name flex-grow">{{item.name}}</span>
<span class="item-quantite">{{item.data.quantite}}</span> <span class="item-quantite">{{item.system.quantite}}</span>
<span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> <span class="item-quantite">{{numberFormat item.system.encTotal decimals=2}}</span>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> <a class="item-control item-equip" title="Equiper">{{#if item.system.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
</div> </div>

View File

@ -8,33 +8,33 @@
</h4> </h4>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="signe.data.difficulte">Difficulte</label> <label for="signe.system.difficulte">Difficulte</label>
<input type="number" name="signe.data.difficulte" value="{{signe.data.difficulte}}" data-dtype="Number" /> <input type="number" name="data.difficulte" value="{{system.difficulte}}" data-dtype="Number" />
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="signe.data.valeur.norm">Expérience en sorts</label> <label for="signe.data.valeur.norm">Expérience en sorts</label>
<div class="flexrow"> <div class="flexrow">
<input class="signe-xp-sort" type="number" name="signe.data.valeur.norm" data-typereussite="norm" <input class="signe-xp-sort" type="number" name="data.valeur.norm" data-typereussite="norm"
value="{{signe.data.valeur.norm}}" min="1" max="100" data-dtype="Number" /> value="{{system.valeur.norm}}" min="1" max="100" data-dtype="Number" />
<span>Sign.</span> <span>Sign.</span>
<input class="signe-xp-sort" type="number" name="signe.data.valeur.sign" data-typereussite="sign" <input class="signe-xp-sort" type="number" name="data.valeur.sign" data-typereussite="sign"
value="{{signe.data.valeur.sign}}" min="1" max="100" data-dtype="Number" /> value="{{system.valeur.sign}}" min="1" max="100" data-dtype="Number" />
<span>Part.</span> <span>Part.</span>
<input class="signe-xp-sort" type="number" name="signe.data.valeur.part" data-typereussite="part" <input class="signe-xp-sort" type="number" name="data.valeur.part" data-typereussite="part"
value="{{signe.data.valeur.part}}" min="1" max="100" data-dtype="Number" /> value="{{system.valeur.part}}" min="1" max="100" data-dtype="Number" />
</div> </div>
</div> </div>
<div class="form-group flexrow"> <div class="form-group flexrow">
<label for="signe.data.ephemere">Ephémère</label> <label for="signe.data.ephemere">Ephémère</label>
<input class="flex-shrink" type="checkbox" name="signe.data.ephemere" {{#if signe.data.ephemere}}checked{{/if}} /> <input class="flex-shrink" type="checkbox" name="data.ephemere" {{#if system.ephemere}}checked{{/if}} />
<span> <span>
<input type="text" name="signe.data.duree" value="{{signe.data.duree}}" data-dtype="String" /> <input type="text" name="data.duree" value="{{system.duree}}" data-dtype="String" />
</span> </span>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="tmrs">Terres médianes</label> <label for="tmrs">Terres médianes</label>
<select class="select-tmr" name="tmrs" id="tmrs" size="{{tmrs.length}}" multiple> <select class="select-tmr" name="tmrs" id="tmrs" size="{{tmrs.length}}" multiple>
{{#each tmrs as |tmr key|}} {{#each @root.tmrs as |tmr key|}}
<option value="{{tmr.name}}" {{#if tmr.selected}}selected{{/if}}>{{tmr.name}}</option> <option value="{{tmr.name}}" {{#if tmr.selected}}selected{{/if}}>{{tmr.name}}</option>
{{/each}} {{/each}}
</select> </select>

View File

@ -6,7 +6,7 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<div class="grid grid-2col"> <div class="grid grid-2col">
<label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}</label> <label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}</label>
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label> <label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label></label>
</div> </div>
{{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}} {{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}}
</div> </div>

View File

@ -6,7 +6,7 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<div class="grid grid-2col"> <div class="grid grid-2col">
<label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}} <label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}}
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label> <label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label></label>
</div> </div>
{{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}} {{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}}
</div> </div>

View File

@ -7,8 +7,8 @@
<div class="grid grid-2col"> <div class="grid grid-2col">
<label>Type:</label><label class="flex-grow">{{oeuvre.data.type}}</label> <label>Type:</label><label class="flex-grow">{{oeuvre.data.type}}</label>
<label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}} <label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}}
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveauReel decimals=0 sign=true}}</label></label> <label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.system.niveauReel decimals=0 sign=true}}</label></label>
<label>Niveau de base:</label><label class="flex-grow">{{oeuvre.data.base}}</label> <label>Niveau de base:</label><label class="flex-grow">{{oeuvre.system.base}}</label>
</div> </div>
</div> </div>
<div class="flex-group-left"> <div class="flex-group-left">

View File

@ -5,7 +5,7 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
<div class="grid grid-2col"> <div class="grid grid-2col">
<label for="carac">Rêve actuel:</label><label class="flex-grow" name="carac">{{selectedCarac.value}}</label> <label for="carac">Rêve actuel:</label><label class="flex-grow" name="carac">{{selectedCarac.value}}</label>
<label for="draconic">{{competence.name}}:</label><label class="flex-grow" name="draconic">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label> <label for="draconic">{{competence.name}}:</label><label class="flex-grow" name="draconic">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label>
</div> </div>
</div> </div>
<div class="flex-group-left"> <div class="flex-group-left">

View File

@ -4,14 +4,14 @@
<div class="flex-group-left"> <div class="flex-group-left">
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<div class="flexcol"> <div class="flexcol">
<label><strong>{{meditation.data.theme}}</strong></label> <label><strong>{{meditation.system.theme}}</strong></label>
<hr> <hr>
<label>Support: <strong>{{upperFirst meditation.data.support}}</strong></label> <label>Support: <strong>{{upperFirst meditation.system.support}}</strong></label>
<label>Case TMR: <strong>{{typeTmr-name meditation.data.tmr}}</strong></label> <label>Case TMR: <strong>{{typeTmr-name meditation.system.tmr}}</strong></label>
<label>Durée: 60 minutes</label> <label>Durée: 60 minutes</label>
<hr> <hr>
<label>Intellect / {{competence.name}}: <label>Intellect / {{competence.name}}:
{{numberFormat carac.intellect.value decimals=0 sign=false}} / {{numberFormat competence.data.niveau decimals=0 sign=true}}</label> {{numberFormat carac.intellect.value decimals=0 sign=false}} / {{numberFormat competence.system.niveau decimals=0 sign=true}}</label>
</div> </div>
</div> </div>
<div class="flex-group-left"> <div class="flex-group-left">
@ -19,19 +19,19 @@
<label><strong>Conditions Optionnelles : </strong></label> <label><strong>Conditions Optionnelles : </strong></label>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>Comportement antérieur : {{upperFirst meditation.data.comportement}}</label> <label>Comportement antérieur : {{upperFirst meditation.system.comportement}}</label>
<input class="attribute-value conditionMeditation" type="checkbox" id="isComportement" {{#if conditionMeditation.isComportement}}checked{{/if}} /> <input class="attribute-value conditionMeditation" type="checkbox" id="isComportement" {{#if conditionMeditation.isComportement}}checked{{/if}} />
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>Heure : {{upperFirst meditation.data.heure}}</label> <label>Heure : {{upperFirst meditation.system.heure}}</label>
<input class="attribute-value conditionMeditation" type="checkbox" id="isHeure" {{#if conditionMeditation.isHeure}}checked{{/if}} /> <input class="attribute-value conditionMeditation" type="checkbox" id="isHeure" {{#if conditionMeditation.isHeure}}checked{{/if}} />
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>Purification : {{upperFirst meditation.data.purification}}</label> <label>Purification : {{upperFirst meditation.system.purification}}</label>
<input class="attribute-value conditionMeditation" type="checkbox" id="isPurification" {{#if conditionMeditation.isPurification}}checked{{/if}} /> <input class="attribute-value conditionMeditation" type="checkbox" id="isPurification" {{#if conditionMeditation.isPurification}}checked{{/if}} />
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>Vêture : {{upperFirst meditation.data.veture}}</label> <label>Vêture : {{upperFirst meditation.system.veture}}</label>
<input class="attribute-value conditionMeditation" type="checkbox" id="isVeture" {{#if conditionMeditation.isVeture}}checked{{/if}} /> <input class="attribute-value conditionMeditation" type="checkbox" id="isVeture" {{#if conditionMeditation.isVeture}}checked{{/if}} />
</div> </div>
<hr> <hr>

View File

@ -6,9 +6,9 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<div class="grid grid-2col"> <div class="grid grid-2col">
<label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}</label> <label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}</label>
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label> <label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label></label>
</div> </div>
{{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}} {{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.system}}
</div> </div>
<div class="flex-group-left"> <div class="flex-group-left">
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffFixe.html"}} {{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffFixe.html"}}

View File

@ -7,7 +7,7 @@
<div class="grid grid-2col"> <div class="grid grid-2col">
<label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}} <label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}
</label> </label>
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label> <label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label></label>
</div> </div>
{{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}} {{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" oeuvre.data}}
</div> </div>

View File

@ -9,10 +9,10 @@
<label>Caractéristique: </label><label>{{selectedCarac.label}}</label> <label>Caractéristique: </label><label>{{selectedCarac.label}}</label>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>{{competence.name}}: </label><label>{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label> <label>{{competence.name}}: </label><label>{{numberFormat competence.system.niveau decimals=0 sign=true}}</label></label>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label>Exotisme: </label><label>{{oeuvre.data.exotisme}}</label> <label>Exotisme: </label><label>{{oeuvre.system.exotisme}}</label>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label for="proportions">Proportions: </label> <label for="proportions">Proportions: </label>

View File

@ -5,7 +5,7 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
<div class="grid grid-2col"> <div class="grid grid-2col">
<label for="carac">Rêve actuel:</label><label class="flex-grow" name="carac">{{selectedCarac.value}}</label> <label for="carac">Rêve actuel:</label><label class="flex-grow" name="carac">{{selectedCarac.value}}</label>
<label for="competence">{{competence.name}}:</label><label class="flex-grow" name="competence">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label> <label for="competence">{{competence.name}}:</label><label class="flex-grow" name="competence">{{numberFormat competence.system.niveau decimals=0 sign=true}}</label>
</div> </div>
</div> </div>
<div class="flex-group-left"> <div class="flex-group-left">

View File

@ -25,7 +25,7 @@
<select name="competence" class="roll-draconic" data-dtype="String"> <select name="competence" class="roll-draconic" data-dtype="String">
{{#select draconic}} {{#select draconic}}
{{#each draconicList as |draconic key|}} {{#each draconicList as |draconic key|}}
<option value={{key}}>{{draconic.name}} : {{numberFormat draconic.data.niveau decimals=0 sign=true}} <option value={{key}}>{{draconic.name}} : {{numberFormat draconic.system.niveau decimals=0 sign=true}}
</option> </option>
{{/each}} {{/each}}
{{/select}} {{/select}}

View File

@ -2,9 +2,9 @@
<img class="rdd-hud-togglebutton" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" width="36" height="36" title="Attaque"/> <img class="rdd-hud-togglebutton" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" width="36" height="36" title="Attaque"/>
<div class="rdd-hud-list tokenhudext left"> <div class="rdd-hud-list tokenhudext left">
{{#each armes as |arme key|}} {{#each armes as |arme key|}}
{{#unless arme.data.initOnly}} {{#unless arme.system.initOnly}}
<div class="control-icon tokenhudicon rdd-hud-menu rdd-attaque" data-combatant-id="{{../combatant.id}}" data-arme-id="{{arme.index}}" title="{{arme.name}}"> <div class="control-icon tokenhudicon rdd-hud-menu rdd-attaque" data-combatant-id="{{../combatant.id}}" data-arme-id="{{arme.index}}" title="{{arme.name}}">
<label>C:{{arme.name}} {{arme.data.mainInfo}}</label> <label>C:{{arme.name}} {{arme.system.mainInfo}}</label>
</div> </div>
{{/unless}} {{/unless}}
{{/each}} {{/each}}

View File

@ -3,7 +3,7 @@
<div class="rdd-hud-list tokenhudext right"> <div class="rdd-hud-list tokenhudext right">
{{#each armes as |arme key|}} {{#each armes as |arme key|}}
<div class="control-icon tokenhudicon rdd-hud-menu" data-command="{{arme.command}}" data-combatant-id="{{../combatant.id}}" data-arme-id="{{arme.index}}" title="{{arme.name}}"> <div class="control-icon tokenhudicon rdd-hud-menu" data-command="{{arme.command}}" data-combatant-id="{{../combatant.id}}" data-arme-id="{{arme.index}}" title="{{arme.name}}">
<label>I:{{arme.name}} {{arme.data.mainInfo}}</label> <label>I:{{arme.name}} {{arme.system.mainInfo}}</label>
</div> </div>
{{/each}} {{/each}}
{{#each commandes as |commande key|}} {{#each commandes as |commande key|}}

View File

@ -1,10 +1,10 @@
<div class="flex-group-left details-sort"> <div class="flex-group-left details-sort">
{{#if sort.data.cible}}<label><strong>Cible</strong>: {{sort.data.cible}}&nbsp;&nbsp;</label>{{/if}} {{#if sort.system.cible}}<label><strong>Cible</strong>: {{sort.system.cible}}&nbsp;&nbsp;</label>{{/if}}
{{#if sort.data.JR}}<label><strong>JR</strong>: {{sort.data.JR}}&nbsp;&nbsp;</label>{{/if}} {{#if sort.system.JR}}<label><strong>JR</strong>: {{sort.system.JR}}&nbsp;&nbsp;</label>{{/if}}
{{#if sort.data.portee}}<label><strong>Portée</strong>: {{sort.data.portée}}&nbsp;&nbsp;</label>{{/if}} {{#if sort.system.portee}}<label><strong>Portée</strong>: {{sort.system.portée}}&nbsp;&nbsp;</label>{{/if}}
{{#if sort.data.duree}}<label><strong>Durée</strong>: {{sort.data.duree}}&nbsp;&nbsp;</label>{{/if}} {{#if sort.system.duree}}<label><strong>Durée</strong>: {{sort.system.duree}}&nbsp;&nbsp;</label>{{/if}}
{{#if sort.data.coutseuil}}<label><strong>Coût de seuil</strong>: {{sort.data.coutseuil}}</label>{{/if}} {{#if sort.system.coutseuil}}<label><strong>Coût de seuil</strong>: {{sort.system.coutseuil}}</label>{{/if}}
</div> </div>
<div class="details-sort"> <div class="details-sort">
{{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" sort.data}} {{> "systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html" sort.system}}
</div> </div>

View File

@ -1,14 +1,14 @@
<div class="flexcol"> <div class="flexcol">
<span><label>Description : </label></span> <span><label>Description : </label></span>
<div class="form-group editor"> <div class="form-group editor">
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}} {{editor content=system.description target="system.description" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
{{#if isGM}} {{#if isGM}}
<div class="flexcol"> <div class="flexcol">
<span><label>Description (MJ seulement): </label></span> <span><label>Description (MJ seulement): </label></span>
<div class="form-group editor"> <div class="form-group editor">
{{editor content=data.descriptionmj target="data.descriptionmj" button=true owner=owner editable=editable}} {{editor content=system.descriptionmj target="system.descriptionmj" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
{{/if}} {{/if}}

View File

@ -4,7 +4,7 @@
<img class="chat-icon" src="{{img}}" title="{{name}}" /> <img class="chat-icon" src="{{img}}" title="{{name}}" />
{{/if}} {{/if}}
<p class="card-content">{{{data.description}}}</p> <p class="card-content">{{{system.description}}}</p>
<p> <p>
{{#each properties as |property p|}} {{#each properties as |property p|}}
<span>{{{property}}}</span><br> <span>{{{property}}}</span><br>