forked from public/foundryvtt-reve-de-dragon
Compare commits
11 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| dffaa29fd1 | |||
| c49e2a850b | |||
| a5a9cc334e | |||
| 43e49a0eb8 | |||
| 5ab551da9e | |||
| 2a9e98f8c7 | |||
| 669982ec4a | |||
| 34183cd1a7 | |||
| f7eae3ac1e | |||
| 623044c936 | |||
| 94caf4040b |
13
changelog.md
13
changelog.md
@@ -1,4 +1,17 @@
|
|||||||
# 11.2
|
# 11.2
|
||||||
|
|
||||||
|
## 11.2.16 - La Tri d'Akarlikarlikar
|
||||||
|
- Tri alphabétique des items dans la fenêtre de création
|
||||||
|
- Mise à jour comptage de monde
|
||||||
|
|
||||||
|
## 11.2.15 - La Table d'Akarlikarlikar
|
||||||
|
- Tirage automatique de la foce d'une rencontre (via la commande /tmrr)
|
||||||
|
- Ajout de boutons pour ajouter des blessures "complètes" (ie avec perte d'endurance/vie)
|
||||||
|
|
||||||
|
## 11.2.14 - Les petits pas d'Akarlikarlikar
|
||||||
|
- Correction sur la gestion de la surprise
|
||||||
|
- Ordre des messages sur les cases humides
|
||||||
|
|
||||||
## 11.2.13 - Les cent pas d'Akarlikarlikar
|
## 11.2.13 - Les cent pas d'Akarlikarlikar
|
||||||
- Ajout de la commande /voyage pour gérer la fatigue de marche des voyageurs
|
- Ajout de la commande /voyage pour gérer la fatigue de marche des voyageurs
|
||||||
|
|
||||||
|
|||||||
95
lang/fr.json
95
lang/fr.json
@@ -1,55 +1,56 @@
|
|||||||
{
|
{
|
||||||
"TYPES": {
|
"TYPES": {
|
||||||
"Actor": {
|
"Actor": {
|
||||||
"Personnage": "Personnage",
|
"personnage": "Personnage",
|
||||||
"Creature": "Créature",
|
"creature": "Créature",
|
||||||
"Entite": "Entité de cauchemar",
|
"entite": "Entité de cauchemar",
|
||||||
"Commerce": "Commerce",
|
"commerce": "Commerce",
|
||||||
"Vehicule": "Véhicule"
|
"vehicule": "Véhicule"
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"Arme": "Arme",
|
"arme": "Arme",
|
||||||
"Armure": "Armure",
|
"armure": "Armure",
|
||||||
"Blessure": "Blessure",
|
"blessure": "Blessure",
|
||||||
"Casetmr": "TMR spéciale",
|
"casetmr": "Case TMR spéciale",
|
||||||
"Chant": "Chant",
|
"chant": "Chant",
|
||||||
"Competence": "Compétence",
|
"competence": "Compétence",
|
||||||
"Competencecreature": "Compétence de créature",
|
"competencecreature": "Compétence de créature",
|
||||||
"Conteneur": "Conteneur",
|
"conteneur": "Conteneur",
|
||||||
"Danse": "Danse",
|
"danse": "Danse",
|
||||||
"Extraitpoetique": "Extrait poetique",
|
"empoignade": "Empoignade",
|
||||||
"Faune": "Faune",
|
"extraitpoetique": "Extrait poetique",
|
||||||
"Gemme": "Gemme",
|
"faune": "Faune",
|
||||||
"Herbe": "Herbe",
|
"gemme": "Gemme",
|
||||||
"Ingredient": "Ingrédient",
|
"herbe": "Herbe",
|
||||||
"Jeu": "Jeu",
|
"ingredient": "Ingrédient",
|
||||||
"Livre": "Livre",
|
"jeu": "Jeu",
|
||||||
"Maladie": "Maladie",
|
"livre": "Livre",
|
||||||
"Meditation": "Méditation",
|
"maladie": "Maladie",
|
||||||
"Monnaie": "Monnaie",
|
"meditation": "Méditation",
|
||||||
"Munition": "Munition",
|
"monnaie": "Monnaie",
|
||||||
"Musique": "Musique",
|
"munition": "Munition",
|
||||||
"Nombreastral": "Nombre astral",
|
"musique": "Musique",
|
||||||
"Nourritureboisson": "Nourriture & boisson",
|
"nombreastral": "Nombre astral",
|
||||||
"Objet": "Objet",
|
"nourritureboisson": "Nourriture & boisson",
|
||||||
"Oeuvre": "Oeuvre",
|
"objet": "Objet",
|
||||||
"Ombre": "Ombre de Thanatos",
|
"oeuvre": "Oeuvre",
|
||||||
"Plante": "Plante",
|
"ombre": "Ombre de Thanatos",
|
||||||
"Poison": "Poison",
|
"plante": "Plante",
|
||||||
"Possession": "Possession",
|
"poison": "Poison",
|
||||||
"Potion": "Potion",
|
"possession": "Possession",
|
||||||
"Queue": "Queue de Dragon",
|
"potion": "Potion",
|
||||||
"Recettealchimique": "Recette alchimique",
|
"queue": "Queue de Dragon",
|
||||||
"Recettecuisine": "Recette de cuisine",
|
"recettealchimique": "Recette alchimique",
|
||||||
"Rencontre": "Rencontre TMR",
|
"recettecuisine": "Recette de cuisine",
|
||||||
"Service": "Service",
|
"rencontre": "Rencontre TMR",
|
||||||
"Signedraconique": "Signe draconique",
|
"service": "Service",
|
||||||
"Sort": "Sort",
|
"signedraconique": "Signe draconique",
|
||||||
"Sortreserve": "Sort en réserve",
|
"sort": "Sort",
|
||||||
"Souffle": "Souffle de Dragon",
|
"sortreserve": "Sort en réserve",
|
||||||
"Tache": "Tâche",
|
"souffle": "Souffle de Dragon",
|
||||||
"Tarot": "Carte de tarot",
|
"tache": "Tâche",
|
||||||
"Tete": "Tête de Dragon"
|
"tarot": "Carte de tarot",
|
||||||
|
"tete": "Tête de Dragon"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"EFFECT": {
|
"EFFECT": {
|
||||||
|
|||||||
@@ -21,6 +21,11 @@ export class RdDBaseActorSangSheet extends RdDBaseActorReveSheet {
|
|||||||
this.html.find('.creer-blessure-grave').click(async event => RdDItemBlessure.createBlessure(this.actor, 4));
|
this.html.find('.creer-blessure-grave').click(async event => RdDItemBlessure.createBlessure(this.actor, 4));
|
||||||
this.html.find('.creer-blessure-critique').click(async event => RdDItemBlessure.createBlessure(this.actor, 6));
|
this.html.find('.creer-blessure-critique').click(async event => RdDItemBlessure.createBlessure(this.actor, 6));
|
||||||
|
|
||||||
|
this.html.find('.subir-blessure-contusion').click(async event => RdDItemBlessure.applyFullBlessure(this.actor, 2));
|
||||||
|
this.html.find('.subir-blessure-legere').click(async event => RdDItemBlessure.applyFullBlessure(this.actor, 2));
|
||||||
|
this.html.find('.subir-blessure-grave').click(async event => RdDItemBlessure.applyFullBlessure(this.actor, 4));
|
||||||
|
this.html.find('.subir-blessure-critique').click(async event => RdDItemBlessure.applyFullBlessure(this.actor, 6));
|
||||||
|
|
||||||
this.html.find('.jet-vie').click(async event => this.actor.jetDeVie())
|
this.html.find('.jet-vie').click(async event => this.actor.jetDeVie())
|
||||||
this.html.find('.jet-endurance').click(async event => await this.jetEndurance())
|
this.html.find('.jet-endurance').click(async event => await this.jetEndurance())
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { RdDItem } from "../item.js";
|
import { RdDItem } from "../item.js";
|
||||||
import { Misc } from "../misc.js";
|
import { Misc } from "../misc.js";
|
||||||
import { RdDTimestamp } from "../time/rdd-timestamp.js";
|
import { RdDTimestamp } from "../time/rdd-timestamp.js";
|
||||||
|
import { ChatUtility } from "../chat-utility.js";
|
||||||
|
|
||||||
const BASE_TACHE_SOIN_BLESSURE = {
|
const BASE_TACHE_SOIN_BLESSURE = {
|
||||||
type: "tache",
|
type: "tache",
|
||||||
@@ -14,10 +15,10 @@ const TACHES_SOIN_BLESSURE = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const definitionsBlessures = [
|
const definitionsBlessures = [
|
||||||
{ type: "contusion", gravite: 0, label: 'Contusion/éraflure', max: 100, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/eraflure.webp" },
|
{ type: "contusion", gravite: 0, endurance: "1d4", vie: 0, label: 'Contusion/éraflure', max: 100, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/eraflure.webp" },
|
||||||
{ type: "legere", gravite: 2, label: 'Légère', max: 5, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
{ type: "legere", gravite: 2, endurance: "1d6", vie: 0, label: 'Légère', max: 5, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||||
{ type: "grave", gravite: 4, label: 'Grave', max: 2, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
{ type: "grave", gravite: 4, endurance: "2d6", vie: -2, label: 'Grave', max: 2, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||||
{ type: "critique", gravite: 6, label: 'Critique', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
{ type: "critique", gravite: 6, endurance: "-100", vie: -4, label: 'Critique', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||||
{ type: "mort", gravite: 8, label: 'Mort', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/mort.webp" }
|
{ type: "mort", gravite: 8, label: 'Mort', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/mort.webp" }
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -40,6 +41,32 @@ export class RdDItemBlessure extends RdDItem {
|
|||||||
}
|
}
|
||||||
return mergeObject(duplicate(BASE_TACHE_SOIN_BLESSURE), tache)
|
return mergeObject(duplicate(BASE_TACHE_SOIN_BLESSURE), tache)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async applyFullBlessure(actor, gravite) {
|
||||||
|
const definition = RdDItemBlessure.getDefinition(gravite)
|
||||||
|
|
||||||
|
let lostEndurance = 0
|
||||||
|
let lostVie = 0
|
||||||
|
if (definition.endurance) {
|
||||||
|
lostEndurance = new Roll(definition.endurance).roll({async: false}).total;
|
||||||
|
actor.santeIncDec("endurance", -Number(lostEndurance));
|
||||||
|
}
|
||||||
|
if (definition.vie) {
|
||||||
|
lostVie = definition.vie
|
||||||
|
actor.santeIncDec("vie", definition.vie)
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.createBlessure(actor, gravite)
|
||||||
|
|
||||||
|
ChatMessage.create({
|
||||||
|
content: `Blessure ${definition.label} appliquée à ${actor.name}`+
|
||||||
|
`<br>Perte d'endurance : ${lostEndurance}`+
|
||||||
|
`<br>Perte de Vie : ${lostVie}`,
|
||||||
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(actor.name)
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static async createBlessure(actor, gravite, localisation = '', attacker) {
|
static async createBlessure(actor, gravite, localisation = '', attacker) {
|
||||||
const definition = RdDItemBlessure.getDefinition(gravite)
|
const definition = RdDItemBlessure.getDefinition(gravite)
|
||||||
const blessure = {
|
const blessure = {
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ export class RdDCommands {
|
|||||||
async getRencontreTMR(params) {
|
async getRencontreTMR(params) {
|
||||||
if (params.length == 1 || params.length == 2) {
|
if (params.length == 1 || params.length == 2) {
|
||||||
return game.system.rdd.rencontresTMR.rollRencontre(params[0], params[1])
|
return game.system.rdd.rencontresTMR.rollRencontre(params[0], params[1])
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -266,16 +266,16 @@ export class SystemReveDeDragon {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// CSS patch for v9
|
|
||||||
if (game.version) {
|
|
||||||
let sidebar = document.getElementById("sidebar");
|
|
||||||
sidebar.style.width = "min-content";
|
|
||||||
}
|
|
||||||
game.system.rdd.calendrier = new RdDCalendrier();
|
game.system.rdd.calendrier = new RdDCalendrier();
|
||||||
if (Misc.isUniqueConnectedGM()) {
|
if (Misc.isUniqueConnectedGM()) {
|
||||||
new Migrations().migrate();
|
new Migrations().migrate();
|
||||||
this.messageDeBienvenue();
|
this.messageDeBienvenue();
|
||||||
this.registerUsageCount(SYSTEM_RDD);
|
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
||||||
|
console.log("ClassCounter loaded", moduleCounter)
|
||||||
|
moduleCounter.ClassCounter.registerUsageCount()
|
||||||
|
}).catch(err=>
|
||||||
|
console.log("No stats available, giving up.")
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusEffects.onReady();
|
StatusEffects.onReady();
|
||||||
@@ -306,30 +306,6 @@ export class SystemReveDeDragon {
|
|||||||
` });
|
` });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
// Register world usage statistics
|
|
||||||
async registerUsageCount(registerKey) {
|
|
||||||
if (game.user.isGM) {
|
|
||||||
game.settings.register("world", "world-key", {
|
|
||||||
name: "Unique world key",
|
|
||||||
scope: "world",
|
|
||||||
config: false,
|
|
||||||
default: "NONE",
|
|
||||||
type: String
|
|
||||||
});
|
|
||||||
|
|
||||||
let worldKey = game.settings.get("world", "world-key")
|
|
||||||
if (worldKey == undefined || worldKey == "") {
|
|
||||||
worldKey = randomID(32)
|
|
||||||
game.settings.set("world", "world-key", worldKey)
|
|
||||||
}
|
|
||||||
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
|
||||||
$.ajax(regURL)
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemReveDeDragon.start();
|
SystemReveDeDragon.start();
|
||||||
|
|||||||
@@ -700,7 +700,6 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async _resultatMaitriseCaseHumide(rollData) {
|
async _resultatMaitriseCaseHumide(rollData) {
|
||||||
await this.souffleSiEchecTotal(rollData);
|
|
||||||
if (rollData.rolled.isSuccess && rollData.double) {
|
if (rollData.rolled.isSuccess && rollData.double) {
|
||||||
rollData.previous = { rolled: rollData.rolled, ajustements: rollData.ajustements };
|
rollData.previous = { rolled: rollData.rolled, ajustements: rollData.ajustements };
|
||||||
rollData.double = undefined;
|
rollData.double = undefined;
|
||||||
@@ -715,6 +714,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
if (rollData.rolled.isEchec) {
|
if (rollData.rolled.isEchec) {
|
||||||
await this.close();
|
await this.close();
|
||||||
}
|
}
|
||||||
|
await this.souffleSiEchecTotal(rollData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export class StatusEffects extends FormApplication {
|
|||||||
if (statusDemiSurprise.intersects(effect.statuses)) {
|
if (statusDemiSurprise.intersects(effect.statuses)) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if (isCombat && effect.statuses.includes(STATUSES.StatusDemiReve)) {
|
if (isCombat && effect.statuses.find(e => e == STATUSES.StatusDemiReve)) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ export class TMRRencontres {
|
|||||||
const frequence = it => it.system.frequence[codeTerrain];
|
const frequence = it => it.system.frequence[codeTerrain];
|
||||||
const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll);
|
const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll);
|
||||||
if (row) {
|
if (row) {
|
||||||
|
console.log("DORM", row);
|
||||||
|
//row.document.system.computedForce = new Roll(row.document.system.formula).roll({async: false}).total;
|
||||||
await CompendiumTableHelpers.tableRowToChatMessage(row);
|
await CompendiumTableHelpers.tableRowToChatMessage(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"id": "foundryvtt-reve-de-dragon",
|
"id": "foundryvtt-reve-de-dragon",
|
||||||
"title": "Rêve de Dragon",
|
"title": "Rêve de Dragon",
|
||||||
"version": "11.2.13",
|
"version": "11.2.16",
|
||||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-11.2.13.zip",
|
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-11.2.16.zip",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v11/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v11/system.json",
|
||||||
"changelog": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v11/changelog.md",
|
"changelog": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v11/changelog.md",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
|
|||||||
@@ -525,15 +525,11 @@
|
|||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"types": [
|
"types": [
|
||||||
"competence", "competencecreature",
|
"arme", "armure", "blessure", "casetmr", "chant", "competence", "competencecreature", "conteneur", "danse",
|
||||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
"empoignade", "extraitpoetique", "faune", "gemme", "herbe", "ingredient", "jeu", "livre", "maladie", "meditation",
|
||||||
"objet", "arme", "armure", "conteneur", "herbe", "plante", "ingredient", "faune", "livre", "potion", "munition",
|
"monnaie", "munition", "musique", "nombreastral", "nourritureboisson", "objet", "oeuvre", "ombre", "plante", "possession",
|
||||||
"monnaie", "nourritureboisson", "gemme",
|
"poison", "potion", "queue", "recettealchimique", "recettecuisine", "rencontre",
|
||||||
"service",
|
"service" ,"signedraconique", "sort", "sortreserve", "souffle", "tarot", "tache", "tete" ],
|
||||||
"meditation", "rencontre", "queue", "ombre", "souffle", "tete", "casetmr", "signedraconique", "sort", "sortreserve",
|
|
||||||
"nombreastral", "tache", "blessure", "maladie", "poison", "possession",
|
|
||||||
"tarot", "extraitpoetique", "empoignade"
|
|
||||||
],
|
|
||||||
"templates": {
|
"templates": {
|
||||||
"description": {
|
"description": {
|
||||||
"description": "",
|
"description": "",
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
<h4>blessures</h4>
|
<h4>Blessures</h4>
|
||||||
<div>
|
<div>
|
||||||
<a class="chat-card-button creer-blessure-legere" data-tooltip="Ajouter une blessure légère"><i class="fas fa-plus-circle"></i> légère</a>
|
<a class="chat-card-button creer-blessure-legere" data-tooltip="Ajouter une légère"><i class="fas fa-plus-circle"></i> légère</a>
|
||||||
<a class="chat-card-button creer-blessure-grave" data-tooltip="Ajouter une blessure grave"><i class="fas fa-plus-circle"></i> grave</a>
|
<a class="chat-card-button creer-blessure-grave" data-tooltip="Ajouter une grave"><i class="fas fa-plus-circle"></i> grave</a>
|
||||||
<a class="chat-card-button creer-blessure-critique" data-tooltip="Ajouter une blessure critque"><i class="fas fa-plus-circle"></i> critique</a>
|
<a class="chat-card-button creer-blessure-critique" data-tooltip="Ajouter une critique"><i class="fas fa-plus-circle"></i> critique</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="chat-card-button subir-blessure-contusion" data-tooltip="Subir une contusion (avec perte d'Endurance)"><i class="fas fa-swords"></i> contusion</a>
|
||||||
|
<a class="chat-card-button subir-blessure-legere" data-tooltip="Subir une légère (avec perte d'Endurance)"><i class="fas fa-swords"></i> légère</a>
|
||||||
|
<a class="chat-card-button subir-blessure-grave" data-tooltip="Subir une grave (avec perte d'Endurance/Vie)"><i class="fas fa-swords"></i> grave</a>
|
||||||
|
<a class="chat-card-button subir-blessure-critique" data-tooltip="Subir une critique (avec perte d'Endurance/Vie)"><i class="fas fa-swords"></i> critique</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="item-list alterne-list">
|
<ul class="item-list alterne-list">
|
||||||
|
|||||||
@@ -5,6 +5,11 @@
|
|||||||
<div>
|
<div>
|
||||||
<img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" />
|
<img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" />
|
||||||
<p>{{linkCompendium document.pack document.id document.name}}</p>
|
<p>{{linkCompendium document.pack document.id document.name}}</p>
|
||||||
|
{{#if document.system.formule}}
|
||||||
|
<div class="poesie-extrait">
|
||||||
|
[[/r {{document.system.formule}}]]
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
{{#if document.system.description}}
|
{{#if document.system.description}}
|
||||||
<div class="poesie-extrait">
|
<div class="poesie-extrait">
|
||||||
{{{document.system.description}}}
|
{{{document.system.description}}}
|
||||||
|
|||||||
Reference in New Issue
Block a user