Merge pull request 'Amélioration esthétique' (#574) from VincentVk/foundryvtt-reve-de-dragon:v10 into v10
Reviewed-on: #574
This commit is contained in:
commit
3ce3898326
@ -43,7 +43,8 @@
|
|||||||
"TypeSouffle": "Souffle de Dragon",
|
"TypeSouffle": "Souffle de Dragon",
|
||||||
"TypeTete": "Tête de Dragon",
|
"TypeTete": "Tête de Dragon",
|
||||||
"TypePossession": "Possession",
|
"TypePossession": "Possession",
|
||||||
"TypeSortreserve": "Sort en réserve"
|
"TypeSortreserve": "Sort en réserve",
|
||||||
|
"TypeExtraitpoetique": "Extrait poetique"
|
||||||
},
|
},
|
||||||
"EFFECT": {
|
"EFFECT": {
|
||||||
"StatusStunned": "Sonné",
|
"StatusStunned": "Sonné",
|
||||||
|
@ -2349,7 +2349,7 @@ export class RdDActor extends Actor {
|
|||||||
const dialog = await RdDRoll.create(this, rollData,
|
const dialog = await RdDRoll.create(this, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html',
|
||||||
options: { height: 600 },
|
options: { height: 'fit-content' },
|
||||||
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2674,7 +2674,7 @@ export class RdDActor extends Actor {
|
|||||||
const dialog = await RdDRoll.create(this, artData,
|
const dialog = await RdDRoll.create(this, artData,
|
||||||
{
|
{
|
||||||
html: `systems/foundryvtt-reve-de-dragon/templates/dialog-roll-${oeuvre.type}.html`,
|
html: `systems/foundryvtt-reve-de-dragon/templates/dialog-roll-${oeuvre.type}.html`,
|
||||||
options: { height: 500, }
|
options: { height: 'fit-content', }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: `jet-${artData.art}`,
|
name: `jet-${artData.art}`,
|
||||||
@ -2814,7 +2814,7 @@ export class RdDActor extends Actor {
|
|||||||
const dialog = await RdDRoll.create(this, meditationData,
|
const dialog = await RdDRoll.create(this, meditationData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-meditation.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-meditation.html',
|
||||||
options: { height: 575, }
|
options: { height: 'fit-content', }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'jet-meditation',
|
name: 'jet-meditation',
|
||||||
@ -2891,7 +2891,7 @@ export class RdDActor extends Actor {
|
|||||||
const dialog = await RdDRoll.create(this, rollData,
|
const dialog = await RdDRoll.create(this, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-signedraconique.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-signedraconique.html',
|
||||||
options: { height: 600 },
|
options: { height: 'fit-content' },
|
||||||
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,7 @@ export class DialogItemAchat extends Dialog {
|
|||||||
|
|
||||||
constructor(html, venteData) {
|
constructor(html, venteData) {
|
||||||
const isConsommable = venteData.item.type == 'nourritureboisson' && venteData.acheteur?.isPersonnage();
|
const isConsommable = venteData.item.type == 'nourritureboisson' && venteData.acheteur?.isPersonnage();
|
||||||
let options = { classes: ["dialogachat"], width: 400, height: isConsommable ? 450 : 350, 'z-index': 99999 };
|
let options = { classes: ["dialogachat"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||||
|
|
||||||
const actionAchat = venteData.prixLot > 0 ? "Acheter" : "Prendre";
|
const actionAchat = venteData.prixLot > 0 ? "Acheter" : "Prendre";
|
||||||
const buttons = {};
|
const buttons = {};
|
||||||
|
@ -9,7 +9,7 @@ export class DialogConsommer extends Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
constructor(actor, item, consommerData, html, onActionItem = async ()=>{}) {
|
constructor(actor, item, consommerData, html, onActionItem = async ()=>{}) {
|
||||||
const options = { classes: ["dialogconsommer"], width: 350, height: 450, 'z-index': 99999 };
|
const options = { classes: ["dialogconsommer"], width: 350, height: 'fit-content', 'z-index': 99999 };
|
||||||
let conf = {
|
let conf = {
|
||||||
title: consommerData.title,
|
title: consommerData.title,
|
||||||
content: html,
|
content: html,
|
||||||
|
@ -24,7 +24,7 @@ export class DialogItemVente extends Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
constructor(venteData, html, callback) {
|
constructor(venteData, html, callback) {
|
||||||
let options = { classes: ["dialogvente"], width: 400, height: 300, 'z-index': 99999 };
|
let options = { classes: ["dialogvente"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||||
|
|
||||||
let conf = {
|
let conf = {
|
||||||
title: "Proposer",
|
title: "Proposer",
|
||||||
|
@ -23,7 +23,7 @@ export class DialogStress extends Dialog {
|
|||||||
constructor(dialogData, html) {
|
constructor(dialogData, html) {
|
||||||
const options = { classes: ["DialogStress"],
|
const options = { classes: ["DialogStress"],
|
||||||
width: 400,
|
width: 400,
|
||||||
height: 205+dialogData.actors.length*25,
|
height: 'fit-content',
|
||||||
'z-index': 99999
|
'z-index': 99999
|
||||||
};
|
};
|
||||||
const conf = {
|
const conf = {
|
||||||
|
@ -72,19 +72,19 @@ export class Monnaie {
|
|||||||
let parValeur = Misc.classifyFirst(monnaies, it => it.system.valeur_deniers);
|
let parValeur = Misc.classifyFirst(monnaies, it => it.system.valeur_deniers);
|
||||||
for (let valeur of [1000, 100, 10, 1]) {
|
for (let valeur of [1000, 100, 10, 1]) {
|
||||||
const itemPiece = parValeur[valeur];
|
const itemPiece = parValeur[valeur];
|
||||||
const piecesDeCetteValeur = Math.floor(reste / valeur);
|
|
||||||
if (itemPiece) {
|
if (itemPiece) {
|
||||||
if (piecesDeCetteValeur != itemPiece.system.quantite) {
|
const quantite = Math.floor(reste / valeur);
|
||||||
updates.push({ _id: parValeur[valeur].id, 'system.quantite': piecesDeCetteValeur });
|
if (quantite != itemPiece.system.quantite) {
|
||||||
|
updates.push({ _id: parValeur[valeur].id, 'system.quantite': quantite });
|
||||||
}
|
}
|
||||||
reste -= piecesDeCetteValeur*valeur;
|
reste -= quantite*valeur;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log('Monnaie.optimiser', actor.name, 'total', fortune, 'parValeur', parValeur, 'updates', updates, 'reste', reste);
|
console.log('Monnaie.optimiser', actor.name, 'total', fortune, 'parValeur', parValeur, 'updates', updates, 'reste', reste);
|
||||||
if (updates.length > 0) {
|
if (updates.length > 0) {
|
||||||
await actor.updateEmbeddedDocuments('Item', updates);
|
await actor.updateEmbeddedDocuments('Item', updates);
|
||||||
}
|
}
|
||||||
if (reste>0){
|
if (reste > 0){
|
||||||
// créer le reste en deniers fortune en deniers
|
// créer le reste en deniers fortune en deniers
|
||||||
await Monnaie.creerMonnaiesDeniers(actor, reste);
|
await Monnaie.creerMonnaiesDeniers(actor, reste);
|
||||||
}
|
}
|
||||||
|
@ -96,14 +96,18 @@ export class RdDItemSheet extends ItemSheet {
|
|||||||
formData.competences = await RdDUtility.loadItems(it => RdDItemCompetence.isDraconic(it), RdDItemCompetence.actorCompendium(this.actor?.type))
|
formData.competences = await RdDUtility.loadItems(it => RdDItemCompetence.isDraconic(it), RdDItemCompetence.actorCompendium(this.actor?.type))
|
||||||
}
|
}
|
||||||
if (this.item.type == 'recettecuisine') {
|
if (this.item.type == 'recettecuisine') {
|
||||||
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, {async: true})
|
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, {async: true})
|
||||||
|
}
|
||||||
|
if (this.item.type == 'extraitpoetique') {
|
||||||
|
formData.extrait = await TextEditor.enrichHTML(this.object.system.extrait, {async: true})
|
||||||
|
formData.texte = await TextEditor.enrichHTML(this.object.system.texte, {async: true})
|
||||||
}
|
}
|
||||||
if (this.item.type == 'recettealchimique') {
|
if (this.item.type == 'recettealchimique') {
|
||||||
RdDAlchimie.processManipulation(this.item, this.actor && this.actor.id);
|
RdDAlchimie.processManipulation(this.item, this.actor && this.actor.id);
|
||||||
formData.manipulation_update = await TextEditor.enrichHTML(this.object.system.manipulation_update, {async: true})
|
formData.manipulation_update = await TextEditor.enrichHTML(this.object.system.manipulation_update, {async: true})
|
||||||
formData.utilisation = await TextEditor.enrichHTML(this.object.system.utilisation, {async: true})
|
formData.utilisation = await TextEditor.enrichHTML(this.object.system.utilisation, {async: true})
|
||||||
formData.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, {async: true})
|
formData.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, {async: true})
|
||||||
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, {async: true})
|
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, {async: true})
|
||||||
}
|
}
|
||||||
if (this.item.type == 'gemme') {
|
if (this.item.type == 'gemme') {
|
||||||
formData.gemmeTypeList = RdDGemme.getGemmeTypeOptionList();
|
formData.gemmeTypeList = RdDGemme.getGemmeTypeOptionList();
|
||||||
|
@ -58,6 +58,7 @@ export const defaultItemImg = {
|
|||||||
gemme: "systems/foundryvtt-reve-de-dragon/icons/gemmes/almaze.webp",
|
gemme: "systems/foundryvtt-reve-de-dragon/icons/gemmes/almaze.webp",
|
||||||
possession: "systems/foundryvtt-reve-de-dragon/icons/entites/possession2.webp",
|
possession: "systems/foundryvtt-reve-de-dragon/icons/entites/possession2.webp",
|
||||||
sortreserve: "systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp",
|
sortreserve: "systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp",
|
||||||
|
extraitpoetique: "systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp",
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
@ -1,72 +1,13 @@
|
|||||||
import { Misc } from "./misc.js"
|
|
||||||
import { RdDDice } from "./rdd-dice.js";
|
import { RdDDice } from "./rdd-dice.js";
|
||||||
|
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||||
const poesieHautReve = [
|
|
||||||
{
|
|
||||||
reference: 'Le Ratier Bretonien',
|
|
||||||
extrait: `Le courant du Fleuve
|
|
||||||
<br>Te domine et te Porte
|
|
||||||
<br>Avant que tu te moeuves
|
|
||||||
<br>Combat le, ou il t'emporte`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Incompatibilité, Charles Beaudelaire',
|
|
||||||
extrait: `Et lorsque par hasard une nuée errante
|
|
||||||
<br>Assombrit dans son vol le lac silencieux,
|
|
||||||
<br>On croirait voir la robe ou l'ombre transparente
|
|
||||||
<br>D'un esprit qui voyage et passe dans les cieux.`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Au fleuve de Loire, Joachim du Bellay',
|
|
||||||
extrait: `Ô de qui la vive course
|
|
||||||
<br>Prend sa bienheureuse source,
|
|
||||||
<br>D’une argentine fontaine,
|
|
||||||
<br>Qui d’une fuite lointaine,
|
|
||||||
<br>Te rends au sein fluctueux
|
|
||||||
<br>De l’Océan monstrueux`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli.
|
|
||||||
Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos.
|
|
||||||
Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli,
|
|
||||||
sinon peut-être lui-même, ou peut-être Thanatos` },
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure
|
|
||||||
Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir.
|
|
||||||
Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Narcos engendre le fils dont il est la mère à l'heure du Vaisseau,
|
|
||||||
car Oniros s'embarque pour redescendre le Fleuve
|
|
||||||
vers son père Hypnos sur la Voie de l'Oubli`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car
|
|
||||||
tel les serpents, Oniros commence à remonter le Fleuve
|
|
||||||
sur le Voie du Souvenir vers son père Narcos`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Ainsi se succèdent les Jours et les Ages.
|
|
||||||
<br>Les jours des Dragons sont les Ages des Hommes.`
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reference: 'Denis Gerfaud',
|
|
||||||
extrait: `Ainsi parlent les sages:
|
|
||||||
«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros
|
|
||||||
Les Dragons ne sont pas les maîtres de leurs rêvezs, car ils ne sont pas maîtres d'Oniros.
|
|
||||||
Nul ne sait qui est le créateur des Dragons, ni qui est leur maître.
|
|
||||||
Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»`
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export class Poetique {
|
export class Poetique {
|
||||||
static async getExtrait(){
|
static async getExtrait() {
|
||||||
return await RdDDice.rollOneOf(poesieHautReve);
|
const items = await SystemCompendiums.getItems('extrait-poetique', 'extraitpoetique')
|
||||||
|
const selected = await RdDDice.rollOneOf(items);
|
||||||
|
return {
|
||||||
|
reference: selected?.name,
|
||||||
|
extrait: selected?.system.extrait
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -218,7 +218,7 @@ export class RdDCommands {
|
|||||||
buttons: {},
|
buttons: {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
width: 600, height: 500,
|
width: 600, height: 600,
|
||||||
});
|
});
|
||||||
|
|
||||||
d.render(true);
|
d.render(true);
|
||||||
|
@ -144,6 +144,9 @@ export class RdDDice {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static async rollOneOf(array) {
|
static async rollOneOf(array) {
|
||||||
|
if (array == undefined || array.length == 0) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
const roll = await RdDDice.rollTotal(`1d${array.length}`);
|
const roll = await RdDDice.rollTotal(`1d${array.length}`);
|
||||||
return array[roll - 1];
|
return array[roll - 1];
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,7 @@ Hooks.once("init", async function () {
|
|||||||
"monnaie", "nourritureboisson", "gemme",
|
"monnaie", "nourritureboisson", "gemme",
|
||||||
"meditation", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
"meditation", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||||
"tarot"
|
"tarot", "extraitpoetique"
|
||||||
], makeDefault: true
|
], makeDefault: true
|
||||||
});
|
});
|
||||||
CONFIG.Combat.documentClass = RdDCombatManager;
|
CONFIG.Combat.documentClass = RdDCombatManager;
|
||||||
|
@ -92,8 +92,7 @@ export class RdDPossession {
|
|||||||
|
|
||||||
const dialog = await RdDRoll.create(defender, rollData,
|
const dialog = await RdDRoll.create(defender, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-defense-possession.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-defense-possession.html'
|
||||||
options: { height: 450 }
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'conjurer',
|
name: 'conjurer',
|
||||||
@ -134,8 +133,7 @@ export class RdDPossession {
|
|||||||
|
|
||||||
const dialog = await RdDRoll.create(attacker, rollData,
|
const dialog = await RdDRoll.create(attacker, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html'
|
||||||
options: { height: 540 }
|
|
||||||
}, {
|
}, {
|
||||||
name: 'jet-possession',
|
name: 'jet-possession',
|
||||||
label: rollData.isECNIDefender ? 'Conjurer la possession' : 'Possession',
|
label: rollData.isECNIDefender ? 'Conjurer la possession' : 'Possession',
|
||||||
|
@ -33,7 +33,7 @@ export class RdDEncaisser extends Dialog {
|
|||||||
let dialogOptions = {
|
let dialogOptions = {
|
||||||
classes: ["rdddialog"],
|
classes: ["rdddialog"],
|
||||||
width: 320,
|
width: 320,
|
||||||
height: 260
|
height: 'fit-content'
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select proper roll dialog template and stuff
|
// Select proper roll dialog template and stuff
|
||||||
|
@ -15,7 +15,7 @@ export class RdDRollDialogEthylisme extends Dialog {
|
|||||||
default: "rollButton",
|
default: "rollButton",
|
||||||
buttons: { "rollButton": { label: "Test d'éthylisme", callback: html => this.onButton(html) } }
|
buttons: { "rollButton": { label: "Test d'éthylisme", callback: html => this.onButton(html) } }
|
||||||
};
|
};
|
||||||
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 270, 'z-index': 99999 }
|
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 'fit-content', 'z-index': 99999 }
|
||||||
super(dialogConf, dialogOptions)
|
super(dialogConf, dialogOptions)
|
||||||
|
|
||||||
//console.log("ETH", rollData);
|
//console.log("ETH", rollData);
|
||||||
|
@ -53,7 +53,7 @@ export class RdDRollResolutionTable extends Dialog {
|
|||||||
'lancer-fermer': { label: 'Lancer les dés et fermer', callback: html => this.onLancerFermer() }
|
'lancer-fermer': { label: 'Lancer les dés et fermer', callback: html => this.onLancerFermer() }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
super(conf, { classes: ["rdddialog"], width: 800, height: 800, 'z-index': 99999 });
|
super(conf, { classes: ["rdddialog"], width: 800, height: 'fit-content', 'z-index': 99999 });
|
||||||
|
|
||||||
this.rollData = rollData;
|
this.rollData = rollData;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ export class RdDRoll extends Dialog {
|
|||||||
|
|
||||||
const html = await renderTemplate(dialogConfig.html, rollData);
|
const html = await renderTemplate(dialogConfig.html, rollData);
|
||||||
|
|
||||||
let options = { classes: ["rdddialog"], width: 600, height: 500, 'z-index': 99999 };
|
let options = { classes: ["rdddialog"], width: 600, height: 'fit-content', 'z-index': 99999 };
|
||||||
if (dialogConfig.options) {
|
if (dialogConfig.options) {
|
||||||
mergeObject(options, dialogConfig.options, { overwrite: true })
|
mergeObject(options, dialogConfig.options, { overwrite: true })
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
|||||||
import { RdDDice } from "./rdd-dice.js";
|
import { RdDDice } from "./rdd-dice.js";
|
||||||
import { STATUSES } from "./settings/status-effects.js";
|
import { STATUSES } from "./settings/status-effects.js";
|
||||||
import { RdDRencontre } from "./item-rencontre.js";
|
import { RdDRencontre } from "./item-rencontre.js";
|
||||||
|
import { RdDCalendrier } from "./rdd-calendrier.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
||||||
@ -773,7 +774,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
const dialog = await RdDRoll.create(this.actor, rollData,
|
const dialog = await RdDRoll.create(this.actor, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-maitrise-tmr.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-maitrise-tmr.html',
|
||||||
options: { height: 420 },
|
options: { height: 'fit-content' },
|
||||||
close: html => { this.maximize(); } // Re-display TMR
|
close: html => { this.maximize(); } // Re-display TMR
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -838,12 +839,13 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
async processSortReserve(sortReserve) {
|
async processSortReserve(sortReserve) {
|
||||||
await this.actor.deleteEmbeddedDocuments('Item', [sortReserve.id]);
|
await this.actor.deleteEmbeddedDocuments('Item', [sortReserve.id]);
|
||||||
console.log("declencheSortEnReserve", sortReserve);
|
console.log("declencheSortEnReserve", sortReserve);
|
||||||
|
const heureCible = RdDCalendrier.getSigneAs('label', sortReserve.system.heurecible);
|
||||||
this._tellToUserAndGM(`Vous avez déclenché
|
this._tellToUserAndGM(`Vous avez déclenché
|
||||||
${sortReserve.system.echectotal ? "<strong>l'échec total!</strong>" : "le sort"}
|
${sortReserve.system.echectotal ? "<strong>l'échec total!</strong>" : "le sort"}
|
||||||
en réserve <strong>${sortReserve.name}</strong>
|
en réserve <strong>${sortReserve.name}</strong>
|
||||||
avec ${sortReserve.system.ptreve} points de Rêve
|
avec ${sortReserve.system.ptreve} points de Rêve
|
||||||
en ${sortReserve.system.coord} (${TMRUtility.getTMRLabel(sortReserve.system.coord)}).
|
en ${sortReserve.system.coord} (${TMRUtility.getTMRLabel(sortReserve.system.coord)}).
|
||||||
L'heure ciblée est ${sortReserve.system.heurecible}`);
|
L'heure ciblée est ${heureCible}`);
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ export class RdDTMRRencontreDialog extends Dialog {
|
|||||||
|
|
||||||
const dialogOptions = {
|
const dialogOptions = {
|
||||||
classes: ["tmrrencdialog"],
|
classes: ["tmrrencdialog"],
|
||||||
width: 320, height: 240,
|
width: 320, height: 'fit-content',
|
||||||
'z-index': 50
|
'z-index': 50
|
||||||
}
|
}
|
||||||
super(dialogConf, dialogOptions);
|
super(dialogConf, dialogOptions);
|
||||||
|
@ -193,6 +193,7 @@ export class RdDUtility {
|
|||||||
'systems/foundryvtt-reve-de-dragon/templates/item-nourritureboisson-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/item-nourritureboisson-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/item-signedraconique-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/item-signedraconique-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/item-possession-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/item-possession-sheet.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/item-extraitpoetique-sheet.html',
|
||||||
// partial enums
|
// partial enums
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
||||||
|
@ -100,7 +100,7 @@ export class StatusEffects extends FormApplication {
|
|||||||
mergeObject(options, {
|
mergeObject(options, {
|
||||||
id: "status-effects",
|
id: "status-effects",
|
||||||
template: "systems/foundryvtt-reve-de-dragon/templates/settings/status-effects.html",
|
template: "systems/foundryvtt-reve-de-dragon/templates/settings/status-effects.html",
|
||||||
height: "800",
|
height: 800,
|
||||||
width: 350,
|
width: 350,
|
||||||
minimizable: false,
|
minimizable: false,
|
||||||
closeOnSubmit: true,
|
closeOnSubmit: true,
|
||||||
|
@ -5,6 +5,7 @@ const COMPENDIUM_SETTING_PREFIX = 'compendium-';
|
|||||||
const CONFIGURABLE_COMPENDIUMS = {
|
const CONFIGURABLE_COMPENDIUMS = {
|
||||||
'tables-diverses': { label: "Tables aléatoires", type: "RollTable" },
|
'tables-diverses': { label: "Tables aléatoires", type: "RollTable" },
|
||||||
'competences': { label: "Compétences", type: "Item" },
|
'competences': { label: "Compétences", type: "Item" },
|
||||||
|
'extrait-poetique': { label: "Extraits poetiques", type: "Item" },
|
||||||
'queues-de-dragon': { label: "Queues de dragon", type: "Item" },
|
'queues-de-dragon': { label: "Queues de dragon", type: "Item" },
|
||||||
'ombres-de-thanatos': { label: "Ombres de Thanatos", type: "Item" },
|
'ombres-de-thanatos': { label: "Ombres de Thanatos", type: "Item" },
|
||||||
'souffles-de-dragon': { label: "Souffles de Dragon", type: "Item" },
|
'souffles-de-dragon': { label: "Souffles de Dragon", type: "Item" },
|
||||||
@ -54,8 +55,9 @@ export class SystemCompendiums extends FormApplication {
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getItems(compendium) {
|
static async getItems(compendium, itemType = undefined) {
|
||||||
return await SystemCompendiums.getContent(compendium, 'Item')
|
const items = await SystemCompendiums.getContent(compendium, 'Item');
|
||||||
|
return itemType ? items.filter(it => it.type == itemType) : items;
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getDefaultItems(compendium) {
|
static async getDefaultItems(compendium) {
|
||||||
|
9
packs/extrait-poetique.db
Normal file
9
packs/extrait-poetique.db
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{"name":"Au fleuve de Loire, Joachim du Bellay","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Ô de qui la vive course <br>Prend sa bienheureuse source, <br>D’une argentine fontaine, <br>Qui d’une fuite lointaine, <br>Te rends au sein fluctueux <br>De l’Océan monstrueux</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"1xzVPsfnO3uukbc4","ownership":{"default":0}}
|
||||||
|
{"name":"Le Fleuve, Le Ratier Bretonien","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Le courant du Fleuve<br>Te domine et te Porte<br>Avant que tu te moeuves<br>Combats le, ou il t'emporte</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"4dPfQh9ovWa90M9o","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (4), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"7DNOC40NKHog49rb","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (5), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"Ym0pweWHr8CIZFIR","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (1), Denis Gerfaud (Copy)","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"fXBZ0YjF12LRtSOp","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (6), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"k55zGYj5cTis14Cw","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (2), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"rjlGncoP26PljA2G","ownership":{"default":0}}
|
||||||
|
{"name":"Des voies du Rêve (3), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"xMigGwI39BORZ82r","ownership":{"default":0}}
|
||||||
|
{"name":"Incompatibilité, Charles Beaudelaire","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Et lorsque par hasard une nuée errante <br>Assombrit dans son vol le lac silencieux, <br>On croirait voir la robe ou l'ombre transparente <br>D'un esprit qui voyage et passe dans les cieux.</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"yJ3m3fheGJluiGDx","ownership":{"default":0}}
|
@ -198,6 +198,15 @@
|
|||||||
"private": false,
|
"private": false,
|
||||||
"flags": {}
|
"flags": {}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "extrait-poetique",
|
||||||
|
"label": "Extraits poétiques",
|
||||||
|
"system": "foundryvtt-reve-de-dragon",
|
||||||
|
"path": "packs/extrait-poetique.db",
|
||||||
|
"type": "Item",
|
||||||
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tetes-de-dragon-pour-haut-revants",
|
"name": "tetes-de-dragon-pour-haut-revants",
|
||||||
"label": "Têtes de Dragon (Hauts-Rêvants)",
|
"label": "Têtes de Dragon (Hauts-Rêvants)",
|
||||||
|
@ -588,7 +588,7 @@
|
|||||||
"monnaie", "nourritureboisson", "gemme",
|
"monnaie", "nourritureboisson", "gemme",
|
||||||
"meditation", "rencontre", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "signedraconique", "sort", "sortreserve",
|
"meditation", "rencontre", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "signedraconique", "sort", "sortreserve",
|
||||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||||
"tarot"
|
"tarot", "extraitpoetique"
|
||||||
],
|
],
|
||||||
"possession": {
|
"possession": {
|
||||||
"typepossession": "",
|
"typepossession": "",
|
||||||
@ -1007,6 +1007,10 @@
|
|||||||
"ptreve": 0,
|
"ptreve": 0,
|
||||||
"heurecible": "",
|
"heurecible": "",
|
||||||
"echectotal": false
|
"echectotal": false
|
||||||
|
},
|
||||||
|
"extraitpoetique": {
|
||||||
|
"extrait": "",
|
||||||
|
"texte": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
templates/item-extraitpoetique-sheet.html
Normal file
25
templates/item-extraitpoetique-sheet.html
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="chat-icon" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname">
|
||||||
|
<input name="name" type="text" value="{{name}}" placeholder="Name"/>
|
||||||
|
</h1>
|
||||||
|
<p class="poesie-reference">Référence</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<section class="sheet-body">
|
||||||
|
<div class="flexcol">
|
||||||
|
<label>Extrait</label>
|
||||||
|
<div class="form-group editor">
|
||||||
|
{{editor extrait target="system.extrait" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flexcol">
|
||||||
|
<label>Texte complet</label>
|
||||||
|
<div class="form-group editor">
|
||||||
|
{{editor texte target="system.texte" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</form>
|
Loading…
Reference in New Issue
Block a user