forked from public/foundryvtt-reve-de-dragon
Compare commits
27 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| 0cc6b1de98 | |||
| c41b59b703 | |||
|
|
b4ca941065 | ||
|
|
322506250b | ||
|
|
5d36ea9e0c | ||
|
|
dc0fab2957 | ||
|
|
2e158f9d39 | ||
|
|
7e1bbcada0 | ||
|
|
02ccb1f287 | ||
| 4afa313ffc | |||
| 1b8ad316b9 | |||
| b35eaad757 | |||
| e325ab9278 | |||
|
|
ebe19959fa | ||
|
|
5a2bc69fbb | ||
| 57dfdf0b65 | |||
| 028e8b883f | |||
|
|
4bab69b88f | ||
|
|
be0c0fbf3a | ||
|
|
cd4bf203e6 | ||
|
|
fc5674a7d8 | ||
|
|
fe80881405 | ||
|
|
3a29c25b09 | ||
|
|
e2ff813226 | ||
|
|
b67f230212 | ||
|
|
47f9e1adaa | ||
|
|
33808b8cf0 |
@@ -36,7 +36,7 @@ export class RdDActorCreatureSheet extends RdDActorSheet {
|
||||
surEncombrementMessage: this.actor.getMessageSurEncombrement()
|
||||
}
|
||||
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData);
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
||||
|
||||
|
||||
@@ -39,11 +39,12 @@ export class RdDActorEntiteSheet extends ActorSheet {
|
||||
limited: this.actor.limited,
|
||||
options: this.options,
|
||||
owner: this.actor.isOwner,
|
||||
itemsByType: Misc.classify(this.actor.items.map(i => foundry.utils.deepClone(i))),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
||||
};
|
||||
|
||||
formData.options.isGM = game.user.isGM;
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData);
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
|
||||
|
||||
return formData;
|
||||
|
||||
@@ -29,7 +29,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
width: 640,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "carac" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editCaracComp: false,
|
||||
showCompNiveauBase: false,
|
||||
vueDetaillee: false
|
||||
});
|
||||
@@ -52,15 +51,17 @@ export class RdDActorSheet extends ActorSheet {
|
||||
limited: this.actor.limited,
|
||||
options: this.options,
|
||||
owner: this.actor.isOwner,
|
||||
itemsByType: Misc.classify(this.actor.items.map(i => foundry.utils.deepClone(i))),
|
||||
biographie: await TextEditor.enrichHTML(this.object.system.biographie, {async: true}),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}),
|
||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
||||
}
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData)
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
|
||||
formData.options.isGM = game.user.isGM;
|
||||
|
||||
if (formData.type == 'creature') return formData; // Shortcut
|
||||
|
||||
formData.competenceByCategory = Misc.classify(formData.competences, it => it.system.categorie)
|
||||
formData.byCateg = Misc.classify(formData.competences, it => it.system.categorie)
|
||||
|
||||
formData.calc = {
|
||||
comptageArchetype: RdDItemCompetence.computeResumeArchetype(formData.competences),
|
||||
@@ -102,7 +103,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
formData.hautreve = {
|
||||
isDemiReve: this.actor.getEffect(STATUSES.StatusDemiReve),
|
||||
rencontres: duplicate(formData.system.reve.rencontre.list),
|
||||
casesTmr: formData.itemsByType.casetmr,
|
||||
cacheTMR: this.actor.isTMRCache()
|
||||
}
|
||||
|
||||
@@ -191,7 +191,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
||||
item?.postItem();
|
||||
});
|
||||
|
||||
html.find('.item-action').click(async event => {
|
||||
const item = RdDSheetUtility.getItem(event, this.actor)
|
||||
this.actor.actionItem(item);
|
||||
@@ -204,7 +203,16 @@ export class RdDActorSheet extends ActorSheet {
|
||||
RdDUtility.confirmerSuppressionSubacteur(this, subActor, li);
|
||||
}
|
||||
});
|
||||
|
||||
html.find('.experiencelog-delete').click(async event => {
|
||||
const li = $(event.currentTarget)?.parents(".experiencelog");
|
||||
const key = Number(li.data("key") ?? -1);
|
||||
await this.actor.deleteExperienceLog(key, 1);
|
||||
});
|
||||
html.find('.experiencelog-delete-previous').click(async event => {
|
||||
const li = $(event.currentTarget)?.parents(".experiencelog");
|
||||
const key = Number(li.data("key") ?? -1);
|
||||
await this.actor.deleteExperienceLog(0, key + 1);
|
||||
});
|
||||
html.find('.encaisser-direct').click(async event => {
|
||||
this.actor.encaisser();
|
||||
})
|
||||
@@ -241,7 +249,7 @@ export class RdDActorSheet extends ActorSheet {
|
||||
});
|
||||
|
||||
// Blessure data
|
||||
html.find('.blessures-soins').change(async event => {
|
||||
html.find('.blessure-soins').change(async event => {
|
||||
const tr = $(event.currentTarget).parents(".item");
|
||||
let btype = tr.data('blessure-type');
|
||||
let index = tr.data('blessure-index');
|
||||
@@ -386,7 +394,7 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.actor.updateCompetenceStress(RdDSheetUtility.getItemId(event));
|
||||
});
|
||||
|
||||
if (this.options.editCaracComp) {
|
||||
if (this.options.vueDetaillee) {
|
||||
// On carac change
|
||||
html.find('.carac-value').change(async event => {
|
||||
let caracName = event.currentTarget.name.replace(".value", "").replace("system.carac.", "");
|
||||
@@ -423,10 +431,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.options.showCompNiveauBase = !this.options.showCompNiveauBase;
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.lock-unlock-sheet').click(async event => {
|
||||
this.options.editCaracComp = !this.options.editCaracComp;
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
html.find('.recherche')
|
||||
.each((index, field) => {
|
||||
|
||||
@@ -40,10 +40,11 @@ export class RdDActorVehiculeSheet extends ActorSheet {
|
||||
limited: this.actor.limited,
|
||||
options: this.options,
|
||||
owner: this.actor.isOwner,
|
||||
itemsByType: Misc.classify(this.actor.items.map(i => foundry.utils.deepClone(i))),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biographie, {async: true}),
|
||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
||||
};
|
||||
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData);
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
||||
|
||||
|
||||
@@ -1020,10 +1020,20 @@ export class RdDActor extends Actor {
|
||||
let expLog = duplicate(this.system.experiencelog);
|
||||
expLog.push({
|
||||
mode: Misc.upperFirst(modeXP), valeur: valeurXP, raison: Misc.upperFirst(raisonXP),
|
||||
daterdd: game.system.rdd.calendrier.getDateFromIndex(), datereel: `${d.getDate()}/${d.getMonth() + 1}/${d.getFullYear()}`
|
||||
daterdd: game.system.rdd.calendrier.getDateFromIndex(),
|
||||
datereel: `${d.getDate()}/${d.getMonth() + 1}/${d.getFullYear()}`
|
||||
});
|
||||
await this.update({ [`system.experiencelog`]: expLog });
|
||||
}
|
||||
|
||||
async deleteExperienceLog(from, count) {
|
||||
if (from >= 0 && count > 0) {
|
||||
let expLog = duplicate(this.system.experiencelog);
|
||||
expLog.splice(from, count);
|
||||
await this.update({ [`system.experiencelog`]: expLog });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCompteurValue(fieldName, fieldValue, raison = 'Inconnue') {
|
||||
@@ -1067,7 +1077,7 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
_isConteneurContenu(item, conteneur) {
|
||||
if (item?.isConteneur()) { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant
|
||||
for (let id of this.system.contenu) {
|
||||
for (let id of item.system.contenu) {
|
||||
let subObjet = this.getObjet(id);
|
||||
if (subObjet?.id == conteneur.id) {
|
||||
return true; // Loop detected !
|
||||
@@ -1098,7 +1108,7 @@ export class RdDActor extends Actor {
|
||||
buildSubConteneurObjetList(conteneurId, deleteList) {
|
||||
let conteneur = this.getObjet(conteneurId);
|
||||
if (conteneur?.type == 'conteneur') { // Si c'est un conteneur
|
||||
for (let subId of this.system.contenu) {
|
||||
for (let subId of conteneur.system.contenu) {
|
||||
let subObj = this.getObjet(subId);
|
||||
if (subObj) {
|
||||
if (subObj.type == 'conteneur') {
|
||||
@@ -1123,28 +1133,29 @@ export class RdDActor extends Actor {
|
||||
* de leurs ID */
|
||||
async enleverDeConteneur(item, conteneur, onEnleverDeConteneur) {
|
||||
if (conteneur?.isConteneur()) {
|
||||
let data2use = duplicate(conteneur);
|
||||
let contenu = data2use.system.contenu;
|
||||
let index = contenu.indexOf(item.id);
|
||||
while (index >= 0) { // Force cleanup, itemId is unique
|
||||
contenu.splice(index, 1);
|
||||
index = contenu.indexOf(item.id);
|
||||
}
|
||||
item.system.estContenu = false;
|
||||
await this.updateEmbeddedDocuments('Item', [data2use]);
|
||||
item.estContenu = false;
|
||||
await this.updateEmbeddedDocuments('Item', [{
|
||||
_id: conteneur.id,
|
||||
'system.contenu': conteneur.system.contenu.filter(id => id != item.id)
|
||||
}]);
|
||||
onEnleverDeConteneur();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Ajoute un item dans un conteneur, sur la base
|
||||
* de leurs ID */
|
||||
async ajouterDansConteneur(item, conteneur, onAjouterDansConteneur) {
|
||||
if (conteneur?.isConteneur()) {
|
||||
let data2use = duplicate(conteneur);
|
||||
data2use.system.contenu.push(item.id);
|
||||
item.system.estContenu = true;
|
||||
await this.updateEmbeddedDocuments('Item', [data2use]);
|
||||
if (!conteneur) {
|
||||
// TODO: afficher
|
||||
item.estContenu = false;
|
||||
}
|
||||
else if (conteneur.isConteneur()) {
|
||||
item.estContenu = true;
|
||||
await this.updateEmbeddedDocuments('Item', [{
|
||||
_id: conteneur.id,
|
||||
'system.contenu': [...conteneur.system.contenu, item.id]
|
||||
}]);
|
||||
onAjouterDansConteneur(item.id, conteneur.id);
|
||||
}
|
||||
}
|
||||
@@ -1182,23 +1193,39 @@ export class RdDActor extends Actor {
|
||||
if (item?.isEquipement() && sourceActorId == targetActorId) {
|
||||
// rangement
|
||||
if (srcId != destId && itemId != destId) { // déplacement de l'objet
|
||||
const dest = this.getObjet(destId);
|
||||
const src = this.getObjet(srcId);
|
||||
// changer de conteneur
|
||||
if (this.conteneurPeutContenir(dest, item)) {
|
||||
await this.enleverDeConteneur(item, src, params.onEnleverConteneur);
|
||||
await this.ajouterDansConteneur(item, dest, params.onAjouterDansConteneur);
|
||||
}
|
||||
else if (dest?.isEquipementSimilaire(item)) {
|
||||
const dest = this.getObjet(destId);
|
||||
const cible = this.getContenantOrParent(dest);
|
||||
const messageEquipementDifferent = item.messageEquipementDifferent(dest);
|
||||
if (dest && !messageEquipementDifferent) {
|
||||
await this.regrouperEquipementsSimilaires(item, dest);
|
||||
result = false;
|
||||
}
|
||||
// changer de conteneur
|
||||
else if (!cible || this.conteneurPeutContenir(cible, item)) {
|
||||
await this.enleverDeConteneur(item, src, params.onEnleverConteneur);
|
||||
await this.ajouterDansConteneur(item, cible, params.onAjouterDansConteneur);
|
||||
}
|
||||
else {
|
||||
ui.notifications.info(messageEquipementDifferent);
|
||||
}
|
||||
}
|
||||
}
|
||||
await this.computeEncombrementTotalEtMalusArmure();
|
||||
return result;
|
||||
}
|
||||
|
||||
getContenantOrParent(dest) {
|
||||
if (!dest || dest.isConteneur()) {
|
||||
return dest;
|
||||
}
|
||||
return this.getContenant(dest);
|
||||
}
|
||||
|
||||
getContenant(item) {
|
||||
return this.itemTypes['conteneur'].find(it => it.system.contenu.includes(item.id));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
conteneurPeutContenir(dest, item) {
|
||||
if (!dest) {
|
||||
@@ -1251,7 +1278,7 @@ export class RdDActor extends Actor {
|
||||
let newItemId = itemMap[item.id]; // Get newItem
|
||||
|
||||
console.log('New conteneur filling!', newConteneur, newItemId, item);
|
||||
let contenu = duplicate(this.system.contenu);
|
||||
let contenu = duplicate(newConteneur.system.contenu);
|
||||
contenu.push(newItemId);
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: newConteneurId, 'system.contenu': contenu }]);
|
||||
}
|
||||
@@ -3859,8 +3886,10 @@ export class RdDActor extends Actor {
|
||||
id: vehicle.id,
|
||||
name: vehicle.name,
|
||||
img: vehicle.img,
|
||||
categorie: vehicle.system.categorie,
|
||||
structure: vehicle.system.structure,
|
||||
system: {
|
||||
categorie: vehicle.system.categorie,
|
||||
etat: vehicle.system.etat
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4019,11 +4048,12 @@ export class RdDActor extends Actor {
|
||||
name: `Potion de ${herbeData.system.categorie} (${herbeData.name})`, type: 'potion',
|
||||
img: "systems/foundryvtt-reve-de-dragon/icons/objets/fiole_verre.webp",
|
||||
system: {
|
||||
quantite: 1, valeur_deniers: 1, encombrement: 0.01,
|
||||
quantite: 1, cout: 0, encombrement: 0.1,
|
||||
categorie: herbeData.system.categorie,
|
||||
herbe: herbeData.name,
|
||||
rarete: herbeData.system.rarete,
|
||||
herbebrins: herbeData.nbBrins,
|
||||
herbebonus: herbeData.herbebonus,
|
||||
description: ""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { HtmlUtility } from "./html-utility.js";
|
||||
import { RdDItemSigneDraconique } from "./item-signedraconique.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
|
||||
export class DialogCreateSigneDraconique extends Dialog {
|
||||
@@ -10,12 +9,13 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
const signe = await RdDItemSigneDraconique.randomSigneDraconique({ephemere: true});
|
||||
let dialogData = {
|
||||
signe: signe,
|
||||
tmrs: TMRUtility.listSelectedTMR(signe.system.typesTMR ?? []),
|
||||
actors: game.actors.filter(actor => actor.isHautRevant()).map(actor => {
|
||||
let actorData = duplicate(actor);
|
||||
actorData.selected = actor.hasPlayerOwner;
|
||||
return actorData;
|
||||
})
|
||||
tmrs: TMRUtility.buildSelectionTypesTMR(signe.system.typesTMR),
|
||||
actors: game.actors.filter(actor => actor.isPersonnage() && actor.isHautRevant())
|
||||
.map(actor => ({
|
||||
id: actor.id,
|
||||
name: actor.name,
|
||||
selected: true
|
||||
}))
|
||||
};
|
||||
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/dialog-create-signedraconique.html", dialogData);
|
||||
@@ -23,12 +23,11 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
.render(true);
|
||||
}
|
||||
|
||||
constructor(dialogData, html, callback) {
|
||||
constructor(dialogData, html) {
|
||||
let options = { classes: ["DialogCreateSigneDraconiqueActorsActors"], width: 500, height: 650, 'z-index': 99999 };
|
||||
let conf = {
|
||||
title: "Créer un signe",
|
||||
content: html,
|
||||
default: "Ajouter aux haut-rêvants",
|
||||
buttons: {
|
||||
"Ajouter aux haut-rêvants": { label: "Ajouter aux haut-rêvants", callback: it => { this._onCreerSigneActeurs(); } }
|
||||
}
|
||||
@@ -41,7 +40,8 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
await $("[name='signe.system.ephemere']").change();
|
||||
await $(".signe-xp-sort").change();
|
||||
this.validerSigne();
|
||||
this.dialogData.actors.filter(it => it.selected).map(it => game.actors.get(it._id))
|
||||
this.dialogData.actors.filter(it => it.selected)
|
||||
.map(it => game.actors.get(it.id))
|
||||
.forEach(actor => this._createSigneForActor(actor, this.dialogData.signe));
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
this.dialogData.signe.system.difficulte = $("[name='signe.system.difficulte']").val();
|
||||
this.dialogData.signe.system.ephemere = $("[name='signe.system.ephemere']").prop("checked");
|
||||
this.dialogData.signe.system.duree = $("[name='signe.system.duree']").val();
|
||||
this.dialogData.signe.system.typesTMR = $(".select-tmr").val();
|
||||
this.dialogData.signe.system.typesTMR = TMRUtility.buildListTypesTMRSelection(this.dialogData.tmrs);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -73,8 +73,9 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
this.setEphemere(this.dialogData.signe.system.ephemere);
|
||||
html.find(".signe-aleatoire").click(event => this.setSigneAleatoire());
|
||||
html.find("[name='signe.system.ephemere']").change((event) => this.setEphemere(event.currentTarget.checked));
|
||||
html.find(".select-actor").change((event) => this.onSelectActor(event));
|
||||
html.find(".signe-xp-sort").change((event) => this.onValeurXpSort(event));
|
||||
html.find("input.select-actor").change((event) => this.onSelectActor(event));
|
||||
html.find("input.select-tmr").change((event) => this.onSelectTmr(event));
|
||||
}
|
||||
|
||||
async setSigneAleatoire() {
|
||||
@@ -87,7 +88,10 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
$("[name='signe.system.difficulte']").val(newSigne.system.difficulte);
|
||||
$("[name='signe.system.duree']").val(newSigne.system.duree);
|
||||
$("[name='signe.system.ephemere']").prop("checked", newSigne.system.ephemere);
|
||||
$(".select-tmr").val(newSigne.system.typesTMR);
|
||||
this.dialogData.tmrs = TMRUtility.buildSelectionTypesTMR(newSigne.system.typesTMR);
|
||||
this.dialogData.tmrs.forEach(t => {
|
||||
$(`[data-tmr-name='${t.name}']`).prop( "checked", t.selected);
|
||||
})
|
||||
this.setEphemere(newSigne.system.ephemere);
|
||||
}
|
||||
|
||||
@@ -97,17 +101,22 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
}
|
||||
|
||||
async onSelectActor(event) {
|
||||
event.preventDefault();
|
||||
const options = event.currentTarget.options;
|
||||
for (var i = 0; i < options.length; i++) { // looping over the options
|
||||
const actorId = options[i].attributes["data-actor-id"].value;
|
||||
const actor = this.dialogData.actors.find(it => it._id == actorId);
|
||||
if (actor) {
|
||||
actor.selected = options[i].selected;
|
||||
}
|
||||
};
|
||||
const actorId = $(event.currentTarget)?.data("actor-id");
|
||||
const actor = this.dialogData.actors.find(it => it.id == actorId);
|
||||
if (actor) {
|
||||
actor.selected = event.currentTarget.checked;
|
||||
}
|
||||
}
|
||||
|
||||
onSelectTmr(event) {
|
||||
const tmrName = $(event.currentTarget)?.data("tmr-name");
|
||||
const onTmr = this.tmrs.find(it => it.name == tmrName);
|
||||
if (onTmr){
|
||||
onTmr.selected = event.currentTarget.checked;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
onValeurXpSort(event) {
|
||||
const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0;
|
||||
const xp = Number(event.currentTarget.value);
|
||||
|
||||
@@ -6,6 +6,11 @@ export class DialogFabriquerPotion extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, item, dialogConfig) {
|
||||
const min = DialogFabriquerPotion.nombreBrinsMinimum(item);
|
||||
if (item.system.quantite < min) {
|
||||
ui.notifications.warn(`Vous avez ${item.system.quantite} brins de ${item.name}, il en faut au moins ${min} pour faire une potion!`);
|
||||
return;
|
||||
}
|
||||
let potionData = DialogFabriquerPotion.prepareData(actor, item);
|
||||
|
||||
let conf = {
|
||||
@@ -25,8 +30,11 @@ export class DialogFabriquerPotion extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
static prepareData(actor, item) {
|
||||
let potionData = duplicate(item)
|
||||
potionData.nbBrinsSelect = RdDUtility.buildListOptions(1, potionData.system.quantite);
|
||||
potionData.nbBrins = Math.min(potionData.system.quantite, DialogFabriquerPotion.getNombreBrinOptimal(potionData));
|
||||
potionData.nbBrinsSelect = RdDUtility.buildListOptions(
|
||||
DialogFabriquerPotion.nombreBrinsMinimum(item),
|
||||
DialogFabriquerPotion.nombreBrinsOptimal(item));
|
||||
potionData.nbBrins = Math.min(potionData.system.quantite, DialogFabriquerPotion.nombreBrinsOptimal(potionData));
|
||||
potionData.herbebonus = item.system.niveau;
|
||||
potionData.buttonName = "Fabriquer";
|
||||
return potionData;
|
||||
}
|
||||
@@ -45,7 +53,15 @@ export class DialogFabriquerPotion extends Dialog {
|
||||
this.potionData = potionData;
|
||||
}
|
||||
|
||||
static getNombreBrinOptimal(herbeData) {
|
||||
static nombreBrinsMinimum(herbeData) {
|
||||
switch (herbeData.system.categorie ?? '') {
|
||||
case "Soin": return 1 + Math.max(0, 12 - 2 * herbeData.system.niveau);
|
||||
case "Repos": return 1 + Math.max(0, 7 - 2 * herbeData.system.niveau);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static nombreBrinsOptimal(herbeData) {
|
||||
switch (herbeData.system.categorie ?? '') {
|
||||
case "Soin": return 12 - herbeData.system.niveau;
|
||||
case "Repos": return 7 - herbeData.system.niveau;
|
||||
@@ -59,6 +75,8 @@ export class DialogFabriquerPotion extends Dialog {
|
||||
|
||||
html.find("#nbBrins").change(event => {
|
||||
this.potionData.nbBrins = Misc.toInt(event.currentTarget.value);
|
||||
const brinsManquants = Math.max(0, DialogFabriquerPotion.nombreBrinsOptimal(this.potionData) - this.potionData.nbBrins);
|
||||
this.potionData.herbebonus = Math.max(0, this.potionData.system.niveau - brinsManquants)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ export class DialogItemAchat extends Dialog {
|
||||
buttons[actionAchat] = { label: actionAchat, callback: it => { this.onAchat(); } };
|
||||
buttons["decliner"] = { label: "Décliner", callback: it => { } };
|
||||
let conf = {
|
||||
title: venteData.acheteur? venteData.acheteur.name + " - " + actionAchat : actionAchat,
|
||||
title: venteData.acheteur ? venteData.acheteur.name + " - " + actionAchat : actionAchat,
|
||||
content: html,
|
||||
default: actionAchat,
|
||||
buttons: buttons
|
||||
@@ -56,11 +56,11 @@ export class DialogItemAchat extends Dialog {
|
||||
static prepareVenteData(buttonAcheter, vendeurId, vendeur, acheteur) {
|
||||
const jsondata = buttonAcheter.attributes['data-jsondata']?.value;
|
||||
const prixLot = parseInt(buttonAcheter.attributes['data-prixLot']?.value ?? 0);
|
||||
let venteData = {
|
||||
return {
|
||||
item: JSON.parse(jsondata),
|
||||
vendeurId: vendeurId,
|
||||
vendeur: vendeur,
|
||||
acheteur:acheteur,
|
||||
acheteur: acheteur,
|
||||
tailleLot: parseInt(buttonAcheter.attributes['data-tailleLot']?.value ?? 1),
|
||||
quantiteIllimite: buttonAcheter.attributes['data-quantiteIllimite']?.value == 'true',
|
||||
quantiteNbLots: parseInt(buttonAcheter.attributes['data-quantiteNbLots']?.value),
|
||||
@@ -73,7 +73,6 @@ export class DialogItemAchat extends Dialog {
|
||||
prixTotal: prixLot,
|
||||
isVente: prixLot > 0
|
||||
};
|
||||
return venteData;
|
||||
}
|
||||
|
||||
async onAchat() {
|
||||
@@ -87,7 +86,7 @@ export class DialogItemAchat extends Dialog {
|
||||
choix: this.venteData.choix
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
async onAchatConsommer() {
|
||||
this.venteData.choix.consommer = true;
|
||||
await this.onAchat();
|
||||
@@ -106,8 +105,12 @@ export class DialogItemAchat extends Dialog {
|
||||
}
|
||||
|
||||
setNombreLots(nombreLots) {
|
||||
this.venteData.choix.nombreLots = nombreLots;
|
||||
if (nombreLots > this.venteData.quantiteNbLots) {
|
||||
ui.notifications.warn(`Seulement ${this.venteData.quantiteNbLots} lots disponibles, vous ne pouvez pas en prendre ${nombreLots}`)
|
||||
}
|
||||
this.venteData.choix.nombreLots = Math.min(nombreLots, this.venteData.quantiteNbLots);
|
||||
this.venteData.prixTotal = (nombreLots * this.venteData.prixLot).toFixed(2);
|
||||
$(".nombreLots").val(this.venteData.choix.nombreLots);
|
||||
$(".prixTotal").text(this.venteData.prixTotal);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||
|
||||
export class DialogStress extends Dialog {
|
||||
|
||||
static async distribuerStress() {
|
||||
let dialogData = {
|
||||
const dialogData = {
|
||||
motif: "Motif",
|
||||
stress: 10,
|
||||
immediat: false,
|
||||
actors: game.actors.filter(actor => actor.hasPlayerOwner && actor.isPersonnage())
|
||||
.map(actor => {
|
||||
let actorData = duplicate(actor);
|
||||
actorData.selected = actor.hasPlayerOwner;
|
||||
return actorData;
|
||||
})
|
||||
.map(actor => ({
|
||||
id: actor.id,
|
||||
name: actor.name,
|
||||
selected: true
|
||||
})
|
||||
)
|
||||
};
|
||||
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/dialog-stress.html", dialogData);
|
||||
@@ -21,52 +22,44 @@ export class DialogStress extends Dialog {
|
||||
}
|
||||
|
||||
constructor(dialogData, html) {
|
||||
let options = { classes: ["DialogStress"], width: 400, height: 320, 'z-index': 99999 };
|
||||
let conf = {
|
||||
const options = { classes: ["DialogStress"],
|
||||
width: 400,
|
||||
height: 205+dialogData.actors.length*25,
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
title: "Donner du stress",
|
||||
content: html,
|
||||
buttons: {
|
||||
"Stress": { label: "Stress !", callback: it => { this._onStress(); } }
|
||||
}
|
||||
stress: { label: "Stress !", callback: it => { this.onStress(); } }
|
||||
},
|
||||
default: "stress"
|
||||
};
|
||||
super(conf, options);
|
||||
this.dialogData = dialogData;
|
||||
}
|
||||
|
||||
async _onStress() {
|
||||
this.validerStress();
|
||||
const compteur = this.dialogData.immediat ? 'experience' : 'stress';
|
||||
const stress = this.dialogData.stress;
|
||||
const motif = this.dialogData.motif;
|
||||
async onStress() {
|
||||
const motif = $("form.rdddialogstress input[name='motif']").val();
|
||||
const stress = Number($("form.rdddialogstress input[name='stress']").val());
|
||||
const compteur = ($("form.rdddialogstress input[name='immediat']").prop("checked")) ? 'experience' : 'stress';
|
||||
|
||||
this.dialogData.actors.filter(it => it.selected)
|
||||
.map(it => game.actors.get(it._id))
|
||||
.map(it => game.actors.get(it.id))
|
||||
.forEach(actor => actor.distribuerStress(compteur, stress, motif));
|
||||
}
|
||||
|
||||
|
||||
validerStress() {
|
||||
this.dialogData.motif = $("form.rdddialogstress input[name='motif']").val();
|
||||
this.dialogData.stress = $("form.rdddialogstress input[name='stress']").val();
|
||||
this.dialogData.immediat = $("form.rdddialogstress input[name='immediat']").prop("checked");;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
html.find(".select-actor").change((event) => this.onSelectActor(event));
|
||||
html.find("input.select-actor").change((event) => this.onSelectActor(event));
|
||||
}
|
||||
|
||||
async onSelectActor(event) {
|
||||
event.preventDefault();
|
||||
const options = event.currentTarget.options;
|
||||
for (var i = 0; i < options.length; i++) { // looping over the options
|
||||
const actorId = options[i].attributes["data-actor-id"].value;
|
||||
const actor = this.dialogData.actors.find(it => it._id == actorId);
|
||||
if (actor) {
|
||||
actor.selected = options[i].selected;
|
||||
}
|
||||
};
|
||||
const actorId = $(event.currentTarget)?.data("actor-id");
|
||||
const actor = this.dialogData.actors.find(it => it.id == actorId);
|
||||
if (actor) {
|
||||
actor.selected = event.currentTarget.checked;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -74,7 +74,10 @@ export class RdDItemSheet extends ItemSheet {
|
||||
owner: this.item.isOwner,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
isSoins: false
|
||||
isSoins: false,
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||
descriptionmj: await TextEditor.enrichHTML(this.object.system.descriptionmj, {async: true})
|
||||
|
||||
}
|
||||
if (this.actor) {
|
||||
formData.isOwned = true;
|
||||
@@ -93,8 +96,15 @@ export class RdDItemSheet extends ItemSheet {
|
||||
formData.competences = await RdDUtility.loadCompendium('foundryvtt-reve-de-dragon.competences', it => RdDItemCompetence.isCompetenceArme(it));
|
||||
console.log(formData.competences)
|
||||
}
|
||||
if (this.item.type == 'recettecuisine') {
|
||||
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, {async: true})
|
||||
}
|
||||
if (this.item.type == 'recettealchimique') {
|
||||
RdDAlchimie.processManipulation(this.item, this.actor && this.actor.id);
|
||||
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.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, {async: true})
|
||||
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, {async: true})
|
||||
}
|
||||
if (this.item.type == 'gemme') {
|
||||
formData.gemmeTypeList = RdDGemme.getGemmeTypeOptionList();
|
||||
@@ -121,8 +131,7 @@ export class RdDItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareConteneurData(formData) {
|
||||
formData.itemsByType = Misc.classify(this.actor.items.map(i => foundry.utils.deepClone(i)))
|
||||
RdDUtility.filterEquipementParType(formData)
|
||||
RdDUtility.filterEquipementParType(formData, this.actor.itemTypes);
|
||||
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
formData.subItems = formData.conteneurs.find(it => it._id == this.item.id)?.subItems;
|
||||
|
||||
@@ -32,8 +32,7 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
const position = super.setPosition(options);
|
||||
const sheetHeader = this.element.find(".sheet-header");
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
const bodyHeight = position.height - sheetHeader[0].clientHeight;
|
||||
sheetBody.css("height", bodyHeight);
|
||||
sheetBody.css("height", position.height - sheetHeader[0].clientHeight)
|
||||
return position;
|
||||
}
|
||||
|
||||
@@ -41,16 +40,17 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const formData = duplicate(this.item);
|
||||
this.tmrs = TMRUtility.buildSelectionTypesTMR(this.item.system.typesTMR);
|
||||
mergeObject(formData, {
|
||||
tmrs: this.tmrs,
|
||||
title: formData.name,
|
||||
isGM: game.user.isGM,
|
||||
owner: this.actor.isOwner,
|
||||
owner: this.actor?.isOwner,
|
||||
isOwned: this.actor ? true : false,
|
||||
actorId: this.actor?.id,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
});
|
||||
formData.tmrs = TMRUtility.listSelectedTMR(formData.system.typesTMR ?? []);
|
||||
return formData;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.find(".signe-aleatoire").click(event => this.setSigneAleatoire());
|
||||
html.find(".select-tmr").change((event) => this.onSelectTmr(event));
|
||||
html.find("input.select-tmr").change((event) => this.onSelectTmr(event));
|
||||
html.find(".signe-xp-sort").change((event) => this.onValeurXpSort(event.currentTarget.attributes['data-typereussite']?.value, Number(event.currentTarget.value)));
|
||||
}
|
||||
|
||||
@@ -72,9 +72,13 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
}
|
||||
|
||||
async onSelectTmr(event) {
|
||||
event.preventDefault();
|
||||
const selectedTMR = $(".select-tmr").val();
|
||||
this.item.update({ 'system.typesTMR': selectedTMR });
|
||||
const tmrName = $(event.currentTarget)?.data("tmr-name");
|
||||
const onTmr = this.tmrs.find(it => it.name == tmrName);
|
||||
if (onTmr){
|
||||
onTmr.selected = event.currentTarget.checked;
|
||||
}
|
||||
|
||||
this.item.update({ 'system.typesTMR': TMRUtility.buildListTypesTMRSelection(this.tmrs) });
|
||||
}
|
||||
|
||||
async onValeurXpSort(event) {
|
||||
|
||||
@@ -148,10 +148,10 @@ export class RdDItem extends Item {
|
||||
getActionPrincipale(options = { warnIfNot: true }) {
|
||||
const warn = options.warnIfNot;
|
||||
switch (this.type) {
|
||||
case 'nourritureboisson': return this._actionOrWarnQuantiteZero(this.boisson ? 'Boire' : 'Manger', warn);
|
||||
case 'nourritureboisson': return this._actionOrWarnQuantiteZero(this.system.boisson ? 'Boire' : 'Manger', warn);
|
||||
case 'potion': return this._actionOrWarnQuantiteZero('Boire', warn);
|
||||
case 'livre': return this._actionOrWarnQuantiteZero('Lire', warn);
|
||||
case 'conteneur': return this._actionOrWarnQuantiteZero('Ouvrir', warn);
|
||||
case 'conteneur': return 'Ouvrir';
|
||||
case 'herbe': return this.isHerbeAPotion() ? this._actionOrWarnQuantiteZero('Décoction', warn) : undefined;
|
||||
case 'queue': case 'ombre': return this.system.refoulement>0 ? 'Refouler' : undefined;
|
||||
}
|
||||
@@ -198,8 +198,9 @@ export class RdDItem extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// détermine si deux équipements sont similaires: de même type, et avec les même champs hormis la quantité
|
||||
isEquipementSimilaire(other) {
|
||||
if (!this.isEquipement()) return false;
|
||||
messageEquipementDifferent(other) {
|
||||
if (!other || !this.isEquipement()) return undefined;
|
||||
|
||||
let message = undefined;
|
||||
if (this.type != other.type) {
|
||||
message = `Impossible de regrouper ${this.type} avec ${other.type}`;
|
||||
@@ -220,11 +221,7 @@ export class RdDItem extends Item {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (message){
|
||||
ui.notifications.info(message)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return message;
|
||||
}
|
||||
|
||||
async proposerVente() {
|
||||
|
||||
@@ -80,11 +80,30 @@ class _10_0_17_MigrationCompetenceCreature extends Migration {
|
||||
}
|
||||
}
|
||||
|
||||
class _10_0_21_VehiculeStructureResistanceMax extends Migration {
|
||||
get code() { return "vehicule-structure-resistance-max"; }
|
||||
get version() { return "10.0.21"; }
|
||||
|
||||
async migrate() {
|
||||
await game.actors
|
||||
.filter((actor) => actor.type == "vehicule")
|
||||
.forEach(async (actor) => {
|
||||
await actor.update({
|
||||
'system.etat.resistance.value': actor.system.resistance,
|
||||
'system.etat.resistance.max': actor.system.resistance,
|
||||
'system.etat.structure.value': actor.system.structure,
|
||||
'system.etat.structure.max': actor.system.structure
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class Migrations {
|
||||
static getMigrations() {
|
||||
return [
|
||||
new _10_0_16_MigrationSortsReserve(),
|
||||
new _10_0_17_MigrationCompetenceCreature()
|
||||
new _10_0_17_MigrationCompetenceCreature(),
|
||||
new _10_0_21_VehiculeStructureResistanceMax(),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -223,9 +223,9 @@ export class RdDCalendrier extends Application {
|
||||
checkMaladie( periode) {
|
||||
for (let actor of game.actors) {
|
||||
if (actor.type == 'personnage') {
|
||||
let maladies = actor.items.find( item => (item.type == 'maladie' || (item.type == 'poison' && item.system.active) ) && item.system.periodicite.toLowerCase().includes(periode) );
|
||||
let maladies = actor.items.filter( item => (item.type == 'maladie' || (item.type == 'poison' && item.system.active) ) && item.system.periodicite.toLowerCase().includes(periode) );
|
||||
for (let maladie of maladies) {
|
||||
if ( maladie.system.identifie) {
|
||||
if ( maladie.system.identifie) {
|
||||
ChatMessage.create({ content: `${actor.name} souffre de ${maladie.name} (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
|
||||
} else {
|
||||
ChatMessage.create({ content: `${actor.name} souffre d'un mal inconnu (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
|
||||
|
||||
@@ -358,10 +358,9 @@ export class RdDCommands {
|
||||
|
||||
async supprimerSignesDraconiquesEphemeres() {
|
||||
game.actors.forEach(actor => {
|
||||
const ephemeres = actor.items.find(item => item.type = 'signedraconique' && item.system.ephemere)
|
||||
.map(item => item.id);
|
||||
const ephemeres = actor.items.filter(item => item.type = 'signedraconique' && item.system.ephemere);
|
||||
if (ephemeres.length > 0) {
|
||||
actor.deleteEmbeddedDocuments("Item", ephemeres);
|
||||
actor.deleteEmbeddedDocuments("Item", ephemeres.map(item => item.id));
|
||||
}
|
||||
});
|
||||
return true;
|
||||
|
||||
@@ -2,14 +2,18 @@ import { Misc } from "./misc.js";
|
||||
|
||||
export class RdDHotbar {
|
||||
|
||||
static async createMacro(item, command) {
|
||||
let macro = await Macro.create({
|
||||
name: item.name,
|
||||
type: "script",
|
||||
img: item.img,
|
||||
command: command
|
||||
}, { displaySheet: false })
|
||||
return macro
|
||||
static async addToHotbar(item, slot) {
|
||||
let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.type}");`;
|
||||
let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command));
|
||||
if (!macro) {
|
||||
macro = await Macro.create({
|
||||
name: item.name,
|
||||
type: "script",
|
||||
img: item.img,
|
||||
command: command
|
||||
}, { displaySheet: false })
|
||||
}
|
||||
await game.user.assignHotbarMacro(macro, slot);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -32,69 +36,33 @@ export class RdDHotbar {
|
||||
if (!item || (item.type != "arme" && item.type != "competence")) {
|
||||
return true
|
||||
}
|
||||
let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.type}");`;
|
||||
let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command));
|
||||
if (!macro) {
|
||||
macro = this.createMacro(item, command)
|
||||
}
|
||||
game.user.assignHotbarMacro(macro, slot);
|
||||
this.addToHotbar(item, slot)
|
||||
return false
|
||||
}
|
||||
|
||||
// Create a macro to open the actor sheet of the actor dropped on the hotbar
|
||||
/*else if (documentData.type == "Actor") {
|
||||
let actor = game.actors.get(documentData.id);
|
||||
let command = `game.actors.get("${documentData.id}").sheet.render(true)`
|
||||
let macro = game.macros.contents.find(m => (m.name === actor.name) && (m.command === command));
|
||||
if (!macro) {
|
||||
macro = await Macro.create({
|
||||
name: actor.name,
|
||||
type: "script",
|
||||
img: actor.img,
|
||||
command: command
|
||||
}, { displaySheet: false })
|
||||
game.user.assignHotbarMacro(macro, slot);
|
||||
}
|
||||
}
|
||||
|
||||
// Create a macro to open the journal sheet of the journal dropped on the hotbar
|
||||
else if (documentData.type == "JournalEntry") {
|
||||
let journal = fromUuidSync(documentData.uuid)
|
||||
let command = `game.journal.get("${documentData.id}").sheet.render(true)`
|
||||
let macro = game.macros.contents.find(m => (m.name === journal.name) && (m.command === command));
|
||||
if (!macro) {
|
||||
macro = await Macro.create({
|
||||
name: journal.name,
|
||||
type: "script",
|
||||
img: "systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp",
|
||||
command: command
|
||||
}, { displaySheet: false })
|
||||
game.user.assignHotbarMacro(macro, slot);
|
||||
}
|
||||
}*/
|
||||
return true;
|
||||
});
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
/** Roll macro */
|
||||
static rollMacro(itemName, itemType, bypassData) {
|
||||
const speaker = ChatMessage.getSpeaker();
|
||||
let actor;
|
||||
if (speaker.token) actor = game.actors.tokens[speaker.token];
|
||||
if (!actor) actor = game.actors.get(speaker.actor);
|
||||
const speaker = ChatMessage.getSpeaker();
|
||||
let actor;
|
||||
if (speaker.token) actor = game.actors.tokens[speaker.token];
|
||||
if (!actor) actor = game.actors.get(speaker.actor);
|
||||
|
||||
let item = actor?.items.find(it => it.name === itemName && it.type == itemType) ?? undefined;
|
||||
if (!item) {
|
||||
return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`);
|
||||
let item = actor?.items.find(it => it.name === itemName && it.type == itemType) ?? undefined;
|
||||
if (!item) {
|
||||
return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`);
|
||||
}
|
||||
|
||||
// Trigger the item roll
|
||||
switch (item.type) {
|
||||
case "arme":
|
||||
return actor.rollArme(item);
|
||||
case "competence":
|
||||
return actor.rollCompetence(itemName);
|
||||
}
|
||||
}
|
||||
|
||||
// Trigger the item roll
|
||||
switch (item.type) {
|
||||
case "arme":
|
||||
return actor.rollArme(item);
|
||||
case "competence":
|
||||
return actor.rollCompetence(itemName);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ export class RdDRollTables {
|
||||
/* -------------------------------------------- */
|
||||
static async drawTextFromRollTable(tableName, toChat) {
|
||||
const drawResult = await RdDRollTables.genericGetTableResult(tableName, toChat);
|
||||
return drawResult.data.text;
|
||||
return drawResult.text;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -115,22 +115,43 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-entite-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-vehicule-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-competence-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-effects-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-liste-blessures-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-blessure-partial.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-queues.html',
|
||||
// Conteneur/item in Actor sheet
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-item-queue.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-item.html',
|
||||
"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-monnaie.html",
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-animaux.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-suivants.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-vehicules.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet-editor-notes-mj.html',
|
||||
// sous-parties de feuilles de personnages
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/competence.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/effects.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/combat.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessure.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/maladies-poisons.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/possessions.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/taches.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/taches.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/oeuvres.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/jeux.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/alchimie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/astrologie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/haut-revant.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queues.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queue.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-souffles.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-tetes.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-signes-draconiques.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-rencontres.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-sorts.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-sorts-reserve.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-meditations.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/hr-casestmr.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/xp-journal.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/inventaire.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-item.html',
|
||||
"systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-monnaie.html",
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-animaux.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-suivants.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-vehicules.html',
|
||||
//Items
|
||||
'systems/foundryvtt-reve-de-dragon/templates/header-item.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-competence-sheet.html',
|
||||
@@ -368,49 +389,50 @@ export class RdDUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static filterItemsPerTypeForSheet(formData) {
|
||||
static filterItemsPerTypeForSheet(formData, itemTypes) {
|
||||
|
||||
RdDUtility.filterEquipementParType(formData);
|
||||
RdDUtility.filterEquipementParType(formData, itemTypes);
|
||||
|
||||
formData.sorts = this.arrayOrEmpty(formData.itemsByType['sort']);
|
||||
formData.signesdraconiques = this.arrayOrEmpty(formData.itemsByType['signedraconique']);
|
||||
formData.queues = this.arrayOrEmpty(formData.itemsByType['queue']);
|
||||
formData.souffles = this.arrayOrEmpty(formData.itemsByType['souffle']);
|
||||
formData.ombres = this.arrayOrEmpty(formData.itemsByType['ombre']);
|
||||
formData.tetes = this.arrayOrEmpty(formData.itemsByType['tete']);
|
||||
formData.taches = this.arrayOrEmpty(formData.itemsByType['tache']);
|
||||
formData.meditations = this.arrayOrEmpty(formData.itemsByType['meditation']);
|
||||
formData.chants = this.arrayOrEmpty(formData.itemsByType['chant']);
|
||||
formData.danses = this.arrayOrEmpty(formData.itemsByType['danse']);
|
||||
formData.musiques = this.arrayOrEmpty(formData.itemsByType['musique']);
|
||||
formData.oeuvres = this.arrayOrEmpty(formData.itemsByType['oeuvre']);
|
||||
formData.jeux = this.arrayOrEmpty(formData.itemsByType['jeu']);
|
||||
formData.sorts = this.arrayOrEmpty(itemTypes['sort']);
|
||||
formData.casestmr = this.arrayOrEmpty(itemTypes['casetmr']);
|
||||
formData.signesdraconiques = this.arrayOrEmpty(itemTypes['signedraconique']);
|
||||
formData.queues = this.arrayOrEmpty(itemTypes['queue']);
|
||||
formData.souffles = this.arrayOrEmpty(itemTypes['souffle']);
|
||||
formData.ombres = this.arrayOrEmpty(itemTypes['ombre']);
|
||||
formData.tetes = this.arrayOrEmpty(itemTypes['tete']);
|
||||
formData.taches = this.arrayOrEmpty(itemTypes['tache']);
|
||||
formData.meditations = this.arrayOrEmpty(itemTypes['meditation']);
|
||||
formData.chants = this.arrayOrEmpty(itemTypes['chant']);
|
||||
formData.danses = this.arrayOrEmpty(itemTypes['danse']);
|
||||
formData.musiques = this.arrayOrEmpty(itemTypes['musique']);
|
||||
formData.oeuvres = this.arrayOrEmpty(itemTypes['oeuvre']);
|
||||
formData.jeux = this.arrayOrEmpty(itemTypes['jeu']);
|
||||
|
||||
formData.recettescuisine = this.arrayOrEmpty(formData.itemsByType['recettecuisine']);
|
||||
formData.recettesAlchimiques = this.arrayOrEmpty(formData.itemsByType['recettealchimique']);
|
||||
formData.maladies = this.arrayOrEmpty(formData.itemsByType['maladie']);
|
||||
formData.poisons = this.arrayOrEmpty(formData.itemsByType['poison']);
|
||||
formData.possessions = this.arrayOrEmpty(formData.itemsByType['possession']);
|
||||
formData.recettescuisine = this.arrayOrEmpty(itemTypes['recettecuisine']);
|
||||
formData.recettesAlchimiques = this.arrayOrEmpty(itemTypes['recettealchimique']);
|
||||
formData.maladies = this.arrayOrEmpty(itemTypes['maladie']);
|
||||
formData.poisons = this.arrayOrEmpty(itemTypes['poison']);
|
||||
formData.possessions = this.arrayOrEmpty(itemTypes['possession']);
|
||||
formData.maladiesPoisons = formData.maladies.concat(formData.poisons);
|
||||
formData.competences = (formData.itemsByType.competence ?? []).concat(formData.itemsByType.competencecreature ?? []);
|
||||
formData.sortsReserve = this.arrayOrEmpty(formData.itemsByType['sortreserve']);
|
||||
formData.competences = (itemTypes['competence'] ?? []).concat(itemTypes['competencecreature'] ?? []);
|
||||
formData.sortsReserve = this.arrayOrEmpty(itemTypes['sortreserve']);
|
||||
}
|
||||
|
||||
static filterEquipementParType(formData) {
|
||||
formData.conteneurs = this.arrayOrEmpty(formData.itemsByType['conteneur']);
|
||||
static filterEquipementParType(formData, itemTypes) {
|
||||
formData.conteneurs = this.arrayOrEmpty(itemTypes['conteneur']);
|
||||
|
||||
formData.materiel = this.arrayOrEmpty(formData.itemsByType['objet']);
|
||||
formData.armes = this.arrayOrEmpty(formData.itemsByType['arme']);
|
||||
formData.armures = this.arrayOrEmpty(formData.itemsByType['armure']);
|
||||
formData.munitions = this.arrayOrEmpty(formData.itemsByType['munition']);
|
||||
formData.livres = this.arrayOrEmpty(formData.itemsByType['livre']);
|
||||
formData.potions = this.arrayOrEmpty(formData.itemsByType['potion']);
|
||||
formData.ingredients = this.arrayOrEmpty(formData.itemsByType['ingredient']);
|
||||
formData.herbes = this.arrayOrEmpty(formData.itemsByType['herbe']);
|
||||
formData.monnaie = this.arrayOrEmpty(formData.itemsByType['monnaie']);
|
||||
formData.materiel = this.arrayOrEmpty(itemTypes['objet']);
|
||||
formData.armes = this.arrayOrEmpty(itemTypes['arme']);
|
||||
formData.armures = this.arrayOrEmpty(itemTypes['armure']);
|
||||
formData.munitions = this.arrayOrEmpty(itemTypes['munition']);
|
||||
formData.livres = this.arrayOrEmpty(itemTypes['livre']);
|
||||
formData.potions = this.arrayOrEmpty(itemTypes['potion']);
|
||||
formData.ingredients = this.arrayOrEmpty(itemTypes['ingredient']);
|
||||
formData.herbes = this.arrayOrEmpty(itemTypes['herbe']);
|
||||
formData.monnaie = this.arrayOrEmpty(itemTypes['monnaie']);
|
||||
formData.monnaie.sort(Monnaie.triValeurDenier());
|
||||
formData.nourritureboissons = this.arrayOrEmpty(formData.itemsByType['nourritureboisson']);
|
||||
formData.gemmes = this.arrayOrEmpty(formData.itemsByType['gemme']);
|
||||
formData.nourritureboissons = this.arrayOrEmpty(itemTypes['nourritureboisson']);
|
||||
formData.gemmes = this.arrayOrEmpty(itemTypes['gemme']);
|
||||
|
||||
formData.objets = formData.conteneurs
|
||||
.concat(formData.materiel)
|
||||
@@ -480,7 +502,7 @@ export class RdDUtility {
|
||||
const isConteneur = objet.type == 'conteneur';
|
||||
const isOuvert = isConteneur && this.getAfficheContenu(objet._id);
|
||||
const isVide = isConteneur && objet.system.contenu.length == 0;
|
||||
const conteneur = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-item.html']({
|
||||
const conteneur = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-item.html']({
|
||||
item: objet,
|
||||
vide: isVide,
|
||||
ouvert: isOuvert
|
||||
|
||||
@@ -291,12 +291,18 @@ export class TMRUtility {
|
||||
static typeTmrName(type) {
|
||||
return Misc.upperFirst(TMRType[Grammar.toLowerCaseNoAccent(type)].name);
|
||||
}
|
||||
static listSelectedTMR(typesTMR) {
|
||||
|
||||
static buildSelectionTypesTMR(typesTMR) {
|
||||
typesTMR= typesTMR?? [];
|
||||
return Object.values(TMRType).map(value => Misc.upperFirst(value.name))
|
||||
.sort()
|
||||
.map(name => { return { name: name, selected: typesTMR.includes(name) } });
|
||||
}
|
||||
|
||||
static buildListTypesTMRSelection(selectionTMRs) {
|
||||
return selectionTMRs.filter(it => it.selected).map(it => it.name).join(" ");
|
||||
}
|
||||
|
||||
static isCaseHumide(tmr) {
|
||||
return tmr.type == 'fleuve' || tmr.type == 'lac' || tmr.type == 'marais';
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,40 +1,40 @@
|
||||
{"name":"Idée fixe : Anorexie. Ne rien avaler, ni solide, ni liquide, pas même une potion","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"anorexie.webp","effects":[],"_id":"0uc2pMIGL03Hq2Hn"}
|
||||
{"name":"Désir lancinant : Briser un objet de verre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"briser_verre.webp","effects":[],"_id":"1l59lWbtvYp74OTb"}
|
||||
{"name":"Idée fixe : Cracher dans toute nourriture ou boisson aperçue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"cracher_nourriture.webp","effects":[],"_id":"22EQLBJfHVYs96iC"}
|
||||
{"name":"Idée fixe : Éteindre tout feu rencontré (feu de camp, torche, lanterne, etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"eteindre_feu.webp","effects":[],"_id":"2Rtm78bMKPy8eG4q"}
|
||||
{"name":"Désir lancinant : Danser avec un(e) partenaire inconnu(e) (Beauté 13 minimum)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"danser_inconnu.webp","effects":[],"_id":"2i3PndTKG1n3hEUU"}
|
||||
{"name":"Idée fixe : Traîner son épée en laisse (ou sa meilleure arme)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"trainer_laisse.webp","effects":[],"_id":"2j1q9e07ZLlIQDYl"}
|
||||
{"name":"Désir lancinant : Gagner de l’argent (minimum 10 deniers)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"gagner_argent.webp","effects":[],"_id":"3BcC8lSsP5WIyva7"}
|
||||
{"name":"Désir lancinant : Mégalomanie. Être acclamé par un minimum de 10 personnes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"megalomanie.webp","effects":[],"_id":"3ZjwYyQRatCMnBCi"}
|
||||
{"name":"Idée fixe : Avoir le visage noirci à la cendre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"avoir_visage.webp","effects":[],"_id":"6G0lF06jSryTduAt"}
|
||||
{"name":"Idée fixe : Ne marcher qu’à quatre pattes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"marcher_quatre_pattes.webp","effects":[],"_id":"7TKsit2Mv9mWGq3C"}
|
||||
{"name":"Désir lancinant : Acquérir une chèvre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"acqu%C3%A9rir_chevre.webp","effects":[],"_id":"8sLXQBqo8XwjAFG0"}
|
||||
{"name":"Idée fixe : Garder les yeux bandés","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"garder_yeux.webp","effects":[],"_id":"E902EEYZHg3zFKq6"}
|
||||
{"name":"Désir lancinant : Danser nu sous la pluie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"danser_pluie.webp","effects":[],"_id":"F6qL4d4g3qjh045R"}
|
||||
{"name":"Idée fixe : Garder sur soi 3d6 kilos de cailloux","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"garder_cailloux.webp","effects":[],"_id":"F8G3rdU1nfJzYwYR"}
|
||||
{"name":"Désir lancinant : Se faire raser la tête","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"raser_tete.webp","effects":[],"_id":"HSNOvBR890dsEDw2"}
|
||||
{"name":"Idée fixe : Aller tout nu, sans porter le moindre paquet ni objet","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"aller_nu.webp","effects":[],"_id":"I0CtQ05xFW6ghcdP"}
|
||||
{"name":"Idée fixe : Boulimie. Manger au moins un point de sust. par heure","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"boulimie.webp","effects":[],"_id":"JcTX8qMS0z8bmdVt"}
|
||||
{"name":"Désir lancinant : Passer une nuit sur une échelle","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"nuit_echelle.webp","effects":[],"_id":"LlELEB0FhymLx6VM"}
|
||||
{"name":"Idée fixe : Refuser de monter dans les TMR","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"refuser_tmr.webp","effects":[],"_id":"NpTDqICR7ZuToQrg"}
|
||||
{"name":"Désir lancinant : Masochisme. Perdre 3 points d’endurance minimum en 1 round","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"masochisme.webp","effects":[],"_id":"NzJJNK0YMAbobu0p"}
|
||||
{"name":"Désir lancinant : Casser 3d6 oeufs en les jetant à terre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"casser_oeufs.webp","effects":[],"_id":"OjG8XRbeYtq2jcgB"}
|
||||
{"name":"Désir lancinant : Traire une vache","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"traire_vache.webp","effects":[],"_id":"QHUOwjMR6AvepGPm"}
|
||||
{"name":"Désir lancinant : Pisser dans un violon (luth, mandoline, etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"pisser_violon.webp","effects":[],"_id":"S8PVNgxb7TcFXq9g"}
|
||||
{"name":"Désir lancinant : Manger du poisson","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"manger_poisson.webp","effects":[],"_id":"SY0SsWtZdxSodMcl"}
|
||||
{"name":"Idée fixe : Ne pas franchir de porte. (On peut franchir une fenêtre)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"pas-franchir.webp","effects":[],"_id":"UUTbsktTcxsIe5L5"}
|
||||
{"name":"Idée fixe : Refuser de se délester du moindre objet, ni donner ni prêter","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"refuser_delester.webp","effects":[],"_id":"VChJbtGFtWoiFNky"}
|
||||
{"name":"Idée fixe : Ne s’exprimer que par des cris d’animaux (meuh ! coin-coin ! etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"exprimer_cris.webp","effects":[],"_id":"YCHBbRLiMzTH7IBj"}
|
||||
{"name":"Idée fixe : Vider sur sa tête toute fiole ou flacon aperçu","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"verser_flacon.webp","effects":[],"_id":"afGp9CewfyJKecEE"}
|
||||
{"name":"Désir lancinant : Faire des bulles de savon","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"bulles_savon.webp","effects":[],"_id":"df5oN8Ub3dWTVxNj"}
|
||||
{"name":"Désir lancinant : Entendre braire un âne","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"entendre_ane.webp","effects":[],"_id":"diCCimukdNM6bPub"}
|
||||
{"name":"Désir lancinant : Se rouler dans la boue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"se_rouler_boue.webp","effects":[],"_id":"el4lofhhSucMv5xv"}
|
||||
{"name":"Idée fixe : Ne dire que «non» ou négation analogue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"dire_non.webp","effects":[],"_id":"gMmqdJ9I7Mt8Tg3f"}
|
||||
{"name":"Désir lancinant : Manger des champignons","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"manger_champignons.webp","effects":[],"_id":"gadh6aI5iCM82qpP"}
|
||||
{"name":"Idée fixe : Refuser de se déplacer autrement que porté","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"refuser_deplacer.webp","effects":[],"_id":"hghw6Cldrad1CIiJ"}
|
||||
{"name":"Idée fixe : Garder une main sur la tête","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"garder_main.webp","effects":[],"_id":"iPYPgxL2uUnphStc"}
|
||||
{"name":"Idée fixe : Appeler les hommes «madame» et les femmes «messire»","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"appeler_hommes_femmes.webp","effects":[],"_id":"j2xIrFWYqhDM4TcN"}
|
||||
{"name":"Désir lancinant : Se soûler (minimum pas frais)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"se_souler.webp","effects":[],"_id":"jShpKV8mVcqWmYvp"}
|
||||
{"name":"Désir lancinant : Construire une cabane","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"construire_cabane.webp","effects":[],"_id":"mN0yghXkFfj2YctJ"}
|
||||
{"name":"Désir lancinant : Embrasser un cochon sur le groin","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"embrasser_cochon.webp","effects":[],"_id":"sjXBBr85OBk4Yg4t"}
|
||||
{"name":"Idée fixe : Faire le mort","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"faire_mort.webp","effects":[],"_id":"xa4t9Lbt6uLEjap6"}
|
||||
{"name":"Idée fixe : Anorexie. Ne rien avaler, ni solide, ni liquide, pas même une potion","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"0uc2pMIGL03Hq2Hn"}
|
||||
{"name":"Désir lancinant : Briser un objet de verre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"1l59lWbtvYp74OTb"}
|
||||
{"name":"Idée fixe : Cracher dans toute nourriture ou boisson aperçue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"22EQLBJfHVYs96iC"}
|
||||
{"name":"Idée fixe : Éteindre tout feu rencontré (feu de camp, torche, lanterne, etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"2Rtm78bMKPy8eG4q"}
|
||||
{"name":"Désir lancinant : Danser avec un(e) partenaire inconnu(e) (Beauté 13 minimum)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"2i3PndTKG1n3hEUU"}
|
||||
{"name":"Idée fixe : Traîner son épée en laisse (ou sa meilleure arme)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"2j1q9e07ZLlIQDYl"}
|
||||
{"name":"Désir lancinant : Gagner de l’argent (minimum 10 deniers)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"3BcC8lSsP5WIyva7"}
|
||||
{"name":"Désir lancinant : Mégalomanie. Être acclamé par un minimum de 10 personnes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"3ZjwYyQRatCMnBCi"}
|
||||
{"name":"Idée fixe : Avoir le visage noirci à la cendre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"6G0lF06jSryTduAt"}
|
||||
{"name":"Idée fixe : Ne marcher qu’à quatre pattes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"7TKsit2Mv9mWGq3C"}
|
||||
{"name":"Désir lancinant : Acquérir une chèvre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"8sLXQBqo8XwjAFG0"}
|
||||
{"name":"Idée fixe : Garder les yeux bandés","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"E902EEYZHg3zFKq6"}
|
||||
{"name":"Désir lancinant : Danser nu sous la pluie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"F6qL4d4g3qjh045R"}
|
||||
{"name":"Idée fixe : Garder sur soi 3d6 kilos de cailloux","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"F8G3rdU1nfJzYwYR"}
|
||||
{"name":"Désir lancinant : Se faire raser la tête","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"HSNOvBR890dsEDw2"}
|
||||
{"name":"Idée fixe : Aller tout nu, sans porter le moindre paquet ni objet","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"I0CtQ05xFW6ghcdP"}
|
||||
{"name":"Idée fixe : Boulimie. Manger au moins un point de sust. par heure","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"JcTX8qMS0z8bmdVt"}
|
||||
{"name":"Désir lancinant : Passer une nuit sur une échelle","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"LlELEB0FhymLx6VM"}
|
||||
{"name":"Idée fixe : Refuser de monter dans les TMR","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"NpTDqICR7ZuToQrg"}
|
||||
{"name":"Désir lancinant : Masochisme. Perdre 3 points d’endurance minimum en 1 round","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"NzJJNK0YMAbobu0p"}
|
||||
{"name":"Désir lancinant : Casser 3d6 oeufs en les jetant à terre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"OjG8XRbeYtq2jcgB"}
|
||||
{"name":"Désir lancinant : Traire une vache","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"QHUOwjMR6AvepGPm"}
|
||||
{"name":"Désir lancinant : Pisser dans un violon (luth, mandoline, etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"S8PVNgxb7TcFXq9g"}
|
||||
{"name":"Désir lancinant : Manger du poisson","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"SY0SsWtZdxSodMcl"}
|
||||
{"name":"Idée fixe : Ne pas franchir de porte. (On peut franchir une fenêtre)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"UUTbsktTcxsIe5L5"}
|
||||
{"name":"Idée fixe : Refuser de se délester du moindre objet, ni donner ni prêter","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"VChJbtGFtWoiFNky"}
|
||||
{"name":"Idée fixe : Ne s’exprimer que par des cris d’animaux (meuh ! coin-coin ! etc.)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"YCHBbRLiMzTH7IBj"}
|
||||
{"name":"Idée fixe : Vider sur sa tête toute fiole ou flacon aperçu","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"afGp9CewfyJKecEE"}
|
||||
{"name":"Désir lancinant : Faire des bulles de savon","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"df5oN8Ub3dWTVxNj"}
|
||||
{"name":"Désir lancinant : Entendre braire un âne","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"diCCimukdNM6bPub"}
|
||||
{"name":"Désir lancinant : Se rouler dans la boue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"el4lofhhSucMv5xv"}
|
||||
{"name":"Idée fixe : Ne dire que «non» ou négation analogue","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"gMmqdJ9I7Mt8Tg3f"}
|
||||
{"name":"Désir lancinant : Manger des champignons","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"gadh6aI5iCM82qpP"}
|
||||
{"name":"Idée fixe : Refuser de se déplacer autrement que porté","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"hghw6Cldrad1CIiJ"}
|
||||
{"name":"Idée fixe : Garder une main sur la tête","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"iPYPgxL2uUnphStc"}
|
||||
{"name":"Idée fixe : Appeler les hommes «madame» et les femmes «messire»","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"j2xIrFWYqhDM4TcN"}
|
||||
{"name":"Désir lancinant : Se soûler (minimum pas frais)","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},""img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"jShpKV8mVcqWmYvp"}
|
||||
{"name":"Désir lancinant : Construire une cabane","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"mN0yghXkFfj2YctJ"}
|
||||
{"name":"Désir lancinant : Embrasser un cochon sur le groin","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Tant que satisfaction n'est pas obtenue, aucun point d'expérience ne peut plus être gagné par l'exercice en cas de particulière et d'ajustement final négatif.<br />Les points d'expérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/desir_lancinant.webp","effects":[],"_id":"sjXBBr85OBk4Yg4t"}
|
||||
{"name":"Idée fixe : Faire le mort","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"queue","data":{"description":"<p>Prend effet immédiatement et dure jusqu'à la <strong>fin de l'heure du Château Dormant </strong>du <strong>lendemain.<br /></strong>Si passé ce délai, l'occasion de la manifester ne s'est pas présentée, la queue prend fin.</p>\n<p>Si elle entre en contradiction avec une autre queue, retirer.</p>","refoulement":1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/queues/idee_fixe.webp","effects":[],"_id":"xa4t9Lbt6uLEjap6"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,9 +1,9 @@
|
||||
{"_id":"0ZW71u9G8fqnyNfy","name":"Drakkar","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Bateau","resistance":28,"structure":12,"vitesse":"3/2/1","bonus":"(10)/+10/+14","manoeuvrabilite":"0/-2/-4","equipage":8,"capacite_encombrement":150,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/drakkar.webp","token":{"flags":{},"name":"Drakkar","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/drakkar_token.webp","tint":"","width":10,"height":10,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"0ZW71u9G8fqnyNfy","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"5FWY38a5emYmqisa","name":"Cariole","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Cariole à Bras","resistance":10,"structure":6,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":50,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/cariole.webp","token":{"flags":{},"name":"Cariole","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/cariole_token.webp","tint":"","width":2,"height":2,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"5FWY38a5emYmqisa","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"C0JpbzQSELoml971","name":"Canot","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Barque","resistance":14,"structure":6,"vitesse":"","bonus":"(2)/+3/+5","manoeuvrabilite":"","equipage":1,"capacite_encombrement":50,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/canot.webp","token":{"flags":{},"name":"Canot","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/canot_token.webp","tint":"","width":3,"height":3,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"C0JpbzQSELoml971","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"PoQUTsNThYDp6XAW","name":"Nef","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Bateau","resistance":30,"structure":14,"vitesse":"5/4/2","bonus":"","manoeuvrabilite":"0/-3/-4","equipage":12,"capacite_encombrement":200,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/nef.webp","token":{"flags":{},"name":"Nef","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/nef_token.webp","tint":"","width":13,"height":13,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"PoQUTsNThYDp6XAW","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"RFOYL8HBUxd32DXS","name":"Galère","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Bateau","resistance":36,"structure":14,"vitesse":"2/2/1","bonus":"(12)/+12/+16","manoeuvrabilite":"0/-4/-6","equipage":10,"capacite_encombrement":300,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/galere.webp","token":{"flags":{},"name":"Galère","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/galere_token.webp","tint":"","width":14,"height":14,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"RFOYL8HBUxd32DXS","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"TDpSn7GawJ1LCHp7","name":"Charette","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Chariot","resistance":16,"structure":8,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":100,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/charette.webp","token":{"flags":{},"name":"Charette","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/charette_token.webp","tint":"","width":3,"height":3,"scale":1.1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"TDpSn7GawJ1LCHp7","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"ZiyRDzz3gGzlpLIc","name":"Barque","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Barque","resistance":20,"structure":10,"vitesse":"3/2/1","bonus":"(4)/+4/+6","manoeuvrabilite":"0/0/-4","equipage":4,"capacite_encombrement":100,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/barque.webp","token":{"flags":{},"name":"Barque","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/barque_token.webp","tint":"","width":6,"height":6,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"ZiyRDzz3gGzlpLIc","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"gM77co80kmpVsYg6","name":"Posé par terre","permission":{"default":0,"Q2G6GTdrotKzYGUC":3},"type":"vehicule","data":{"categorie":"Autre","resistance":0,"structure":0,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":0,"capacite_encombrement":100,"description":"<p>Déposer ici les objets que vous voulez échanger avec d'autres joueurs</p>","notesmj":""},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp","token":{"flags":{},"name":"Posé par terre","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp","tint":"","width":1,"height":1,"scale":1,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"gM77co80kmpVsYg6","actorLink":true,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"idyDmDWYpQ4Eppen","name":"Chariot","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"vehicule","data":{"categorie":"Chariot","resistance":20,"structure":10,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":150,"description":"Description ...","notesmj":"Notes du MJ"},"sort":100001,"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/chariot.webp","token":{"flags":{},"name":"Chariot","displayName":0,"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/chariot_token.webp","tint":"","width":4,"height":4,"scale":1.4,"mirrorX":false,"mirrorY":false,"lockRotation":false,"rotation":0,"vision":false,"dimSight":0,"brightSight":0,"dimLight":0,"brightLight":0,"sightAngle":360,"lightAngle":360,"lightColor":"","lightAlpha":1,"lightAnimation":{"type":"","speed":5,"intensity":5},"actorId":"idyDmDWYpQ4Eppen","actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":""},"bar2":{"attribute":""},"randomImg":false},"items":[],"effects":[]}
|
||||
{"_id":"0ZW71u9G8fqnyNfy","name":"Drakkar","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.0ZW71u9G8fqnyNfy"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/drakkar.webp","items":[],"effects":[],"system":{"categorie":"Bateau","resistance":28,"structure":12,"vitesse":"3/2/1","bonus":"(10)/+10/+14","manoeuvrabilite":"0/-2/-4","equipage":8,"capacite_encombrement":150,"etat":{"resistance":{"type":"number","max":28,"value":28,"label":"Résistance","derivee":false},"structure":{"type":"number","max":12,"value":12,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Drakkar","displayName":0,"width":10,"height":10,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/drakkar_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097623,"modifiedTime":1664231486338,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"5FWY38a5emYmqisa","name":"Cariole","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.5FWY38a5emYmqisa"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/cariole.webp","items":[],"effects":[],"system":{"categorie":"Cariole à Bras","resistance":10,"structure":6,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":50,"etat":{"resistance":{"type":"number","max":10,"value":10,"label":"Résistance","derivee":false},"structure":{"type":"number","max":6,"value":6,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Cariole","displayName":0,"width":2,"height":2,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/cariole_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097624,"modifiedTime":1664231486337,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"C0JpbzQSELoml971","name":"Canot","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.C0JpbzQSELoml971"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/canot.webp","items":[],"effects":[],"system":{"categorie":"Barque","resistance":14,"structure":6,"vitesse":"","bonus":"(2)/+3/+5","manoeuvrabilite":"","equipage":1,"capacite_encombrement":50,"etat":{"resistance":{"type":"number","max":14,"value":14,"label":"Résistance","derivee":false},"structure":{"type":"number","max":6,"value":6,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Canot","displayName":0,"width":3,"height":3,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/canot_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097625,"modifiedTime":1664231486336,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PoQUTsNThYDp6XAW","name":"Nef","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.PoQUTsNThYDp6XAW"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/nef.webp","items":[],"effects":[],"system":{"categorie":"Bateau","resistance":30,"structure":14,"vitesse":"5/4/2","bonus":"","manoeuvrabilite":"0/-3/-4","equipage":12,"capacite_encombrement":200,"etat":{"resistance":{"type":"number","max":30,"value":30,"label":"Résistance","derivee":false},"structure":{"type":"number","max":14,"value":14,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Nef","displayName":0,"width":13,"height":13,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/nef_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097626,"modifiedTime":1664231486339,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RFOYL8HBUxd32DXS","name":"Galère","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.RFOYL8HBUxd32DXS"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/galere.webp","items":[],"effects":[],"system":{"categorie":"Bateau","resistance":36,"structure":14,"vitesse":"2/2/1","bonus":"(12)/+12/+16","manoeuvrabilite":"0/-4/-6","equipage":10,"capacite_encombrement":300,"etat":{"resistance":{"type":"number","max":36,"value":36,"label":"Résistance","derivee":false},"structure":{"type":"number","max":14,"value":14,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Galère","displayName":0,"width":14,"height":14,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/galere_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097627,"modifiedTime":1664231486339,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"TDpSn7GawJ1LCHp7","name":"Charette","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.TDpSn7GawJ1LCHp7"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/charette.webp","items":[],"effects":[],"system":{"categorie":"Chariot","resistance":16,"structure":8,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":100,"etat":{"resistance":{"type":"number","max":16,"value":16,"label":"Résistance","derivee":false},"structure":{"type":"number","max":8,"value":8,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Charette","displayName":0,"width":3,"height":3,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/charette_token.webp","tint":null,"scaleX":1.1,"scaleY":1.1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097629,"modifiedTime":1664231486337,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ZiyRDzz3gGzlpLIc","name":"Barque","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.ZiyRDzz3gGzlpLIc"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/barque.webp","items":[],"effects":[],"system":{"categorie":"Barque","resistance":20,"structure":10,"vitesse":"3/2/1","bonus":"(4)/+4/+6","manoeuvrabilite":"0/0/-4","equipage":4,"capacite_encombrement":100,"etat":{"resistance":{"type":"number","max":20,"value":20,"label":"Résistance","derivee":false},"structure":{"type":"number","max":10,"value":10,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Barque","displayName":0,"width":6,"height":6,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/barque_token.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097629,"modifiedTime":1664231486336,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"gM77co80kmpVsYg6","name":"Posé par terre","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.gM77co80kmpVsYg6"}},"img":"systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp","items":[],"effects":[],"system":{"categorie":"Autre","resistance":0,"structure":0,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":0,"capacite_encombrement":100,"etat":{"resistance":{"type":"number","max":0,"value":0,"label":"Résistance","derivee":false},"structure":{"type":"number","max":0,"value":0,"label":"Structure","derivee":false}},"description":"<p>Déposer ici les objets que vous voulez échanger avec d'autres joueurs</p>","race":"","notesmj":"","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"Q2G6GTdrotKzYGUC":3},"prototypeToken":{"flags":{},"name":"Posé par terre","displayName":0,"width":1,"height":1,"lockRotation":false,"rotation":0,"actorLink":true,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp","tint":null,"scaleX":1,"scaleY":1,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097630,"modifiedTime":1664231486340,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"idyDmDWYpQ4Eppen","name":"Chariot","type":"vehicule","sort":100001,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.vehicules.idyDmDWYpQ4Eppen"}},"img":"systems/foundryvtt-reve-de-dragon/icons/vehicules/chariot.webp","items":[],"effects":[],"system":{"categorie":"Chariot","resistance":20,"structure":10,"vitesse":"","bonus":"","manoeuvrabilite":"","equipage":1,"capacite_encombrement":150,"etat":{"resistance":{"type":"number","max":20,"value":20,"label":"Résistance","derivee":false},"structure":{"type":"number","max":10,"value":10,"label":"Structure","derivee":false}},"description":"Description ...","race":"","notesmj":"Notes du MJ","attributs":{"malusarmure":{"value":0}}},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"prototypeToken":{"flags":{},"name":"Chariot","displayName":0,"width":4,"height":4,"lockRotation":false,"rotation":0,"actorLink":false,"disposition":0,"displayBars":0,"bar1":{"attribute":"sante.vie"},"bar2":{"attribute":"sante.endurance"},"randomImg":false,"light":{"dim":0,"bright":0,"angle":360,"color":null,"alpha":1,"animation":{"type":null,"speed":5,"intensity":5,"reverse":false},"coloration":1,"attenuation":0.5,"luminosity":0.5,"saturation":0,"contrast":0,"shadows":0,"darkness":{"min":0,"max":1}},"texture":{"src":"systems/foundryvtt-reve-de-dragon/icons/vehicules/chariot_token.webp","tint":null,"scaleX":1.4,"scaleY":1.4,"offsetX":0,"offsetY":0,"rotation":0},"sight":{"angle":360,"enabled":false,"range":0,"brightness":1,"visionMode":"basic","color":null,"attenuation":0.1,"saturation":0,"contrast":0},"alpha":1,"detectionModes":[]},"folder":null,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.0.21","coreVersion":"10.286","createdTime":1664231097632,"modifiedTime":1664231486338,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -252,6 +252,49 @@ table {border: 1px solid #7a7971;}
|
||||
justify-content: center;
|
||||
text-align: left;
|
||||
}
|
||||
.blessure-control {
|
||||
flex-grow: 1;
|
||||
flex-direction: row;
|
||||
}
|
||||
.blessure-soins {
|
||||
flex-direction: row;
|
||||
align-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
padding: 2px;
|
||||
}
|
||||
input:is(.blessure-psdone, .blessure-scdone) {
|
||||
width: 20px;
|
||||
}
|
||||
input:is(.blessure-premiers_soins, .blessure-soins_complets) {
|
||||
width: calc(100% - 25px);
|
||||
}
|
||||
.blessure-jours {
|
||||
flex-direction: row;
|
||||
align-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.blessure-localisation {
|
||||
flex-direction: row;
|
||||
align-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.blessure-inactive {
|
||||
color:rgba(150, 150, 150, 0.4);
|
||||
}
|
||||
.blessure-active-legere {
|
||||
color:rgba(60, 60, 60, 0.9);
|
||||
text-shadow: 1px 1px 4px rgba(60, 60, 60, 1);
|
||||
}
|
||||
.blessure-active-grave {
|
||||
color: rgba(218, 126, 21, 0.9);
|
||||
text-shadow: 1px 1px 4px rgba(60, 60, 60, 1);
|
||||
}
|
||||
.blessure-active-critique {
|
||||
color: rgba(173, 36, 26, 0.9);
|
||||
text-shadow: 1px 1px 4px rgba(60, 60, 60, 1);
|
||||
}
|
||||
|
||||
.foundryvtt-reve-de-dragon .sheet-header {
|
||||
-webkit-box-flex: 0;
|
||||
@@ -366,6 +409,12 @@ table {border: 1px solid #7a7971;}
|
||||
flex-wrap: nowrap;
|
||||
justify-content: stretch;
|
||||
}
|
||||
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique.vehicle {
|
||||
flex-wrap: nowrap;
|
||||
justify-content: stretch;
|
||||
flex-basis: 7.5em;
|
||||
}
|
||||
|
||||
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique > .carac-label {
|
||||
flex-basis: 50%;
|
||||
}
|
||||
@@ -450,20 +499,6 @@ table {border: 1px solid #7a7971;}
|
||||
border-bottom: 1px solid #BBB;
|
||||
}
|
||||
|
||||
.blessure-inactive {
|
||||
color:rgba(150, 150, 150, 0.4)
|
||||
}
|
||||
.blessure-active-legere {
|
||||
color:rgba(60, 60, 60, 0.9);
|
||||
text-shadow: rgba(60, 60, 60, 0.7);
|
||||
}
|
||||
.blessure-active-grave {
|
||||
color:rgba(218, 126, 21, 0.9);
|
||||
}
|
||||
.blessure-active-critique {
|
||||
color:rgba(173, 36, 26, 0.9);
|
||||
|
||||
}
|
||||
.foundryvtt-reve-de-dragon .items-list .item .item-image {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 24px;
|
||||
@@ -840,6 +875,23 @@ ul, li {
|
||||
margin-left: 3rem;
|
||||
}
|
||||
|
||||
.grid-select-type-tmr {
|
||||
display: grid;
|
||||
grid-column: span 4 / span 4;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
gap: 0.1rem;
|
||||
margin: 0.1rem;
|
||||
padding: 0;
|
||||
}
|
||||
.grid-select-actor {
|
||||
display: grid;
|
||||
grid-column: span 2 / span 2;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.1rem;
|
||||
margin: 0.1rem;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sheet-competence-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
@@ -891,6 +943,12 @@ ul, li {
|
||||
margin-right: 0.2rem;
|
||||
margin-left: 0.2rem;
|
||||
}
|
||||
.initiative-value {
|
||||
flex-grow: 0;
|
||||
flex-basis: 3rem;
|
||||
margin-right: 0.2rem;
|
||||
margin-left: 0.2rem;
|
||||
}
|
||||
.description-value {
|
||||
flex-grow: 0;
|
||||
flex-basis: 4rem;
|
||||
@@ -909,23 +967,6 @@ ul, li {
|
||||
.alchimie-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.blessure-data {
|
||||
flex-direction: row;
|
||||
align-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.blessures-soins {
|
||||
flex-grow: 0;
|
||||
flex-basis: 32px;
|
||||
margin-right: 4px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.blessures-loc {
|
||||
flex-grow: 0;
|
||||
flex-basis: 96px;
|
||||
margin-right: 4px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.pointsreve-value {
|
||||
flex-grow: 0;
|
||||
flex-basis: 64px;
|
||||
@@ -1076,7 +1117,7 @@ ul, li {
|
||||
.table-fatigue .fatigue-malus {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
.flex-actions-bar {
|
||||
.flex-actions-bar {
|
||||
flex-grow: 2;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
],
|
||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/",
|
||||
"license": "LICENSE.txt",
|
||||
"version": "10.0.18",
|
||||
"version": "10.0.22",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10.286"
|
||||
@@ -333,7 +333,7 @@
|
||||
],
|
||||
"socket": true,
|
||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.18.zip",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.22.zip",
|
||||
"gridDistance": 1,
|
||||
"gridUnits": "m",
|
||||
"primaryTokenAttribute": "sante.vie",
|
||||
|
||||
@@ -31,13 +31,27 @@
|
||||
},
|
||||
"vehicule": {
|
||||
"categorie": "",
|
||||
"resistance": 0,
|
||||
"structure": 0,
|
||||
"vitesse": "",
|
||||
"bonus": "",
|
||||
"manoeuvrabilite": "",
|
||||
"equipage": 0,
|
||||
"capacite_encombrement": 0
|
||||
"capacite_encombrement": 0,
|
||||
"etat": {
|
||||
"resistance" : {
|
||||
"type": "number",
|
||||
"max": 20,
|
||||
"value": 20,
|
||||
"label": "Résistance",
|
||||
"derivee": false
|
||||
},
|
||||
"structure":{
|
||||
"type": "number",
|
||||
"max": 10,
|
||||
"value": 10,
|
||||
"label": "Structure",
|
||||
"derivee": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"entite": {
|
||||
"definition": {
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
<tr class="table-row alterne-row item" data-blessure-type="{{gravite}}" data-attribute={{key}} data-blessure-index="{{key}}" >
|
||||
<td class="blessure-control" title="Blessure {{title}}" data-blessure-active="{{bless.active}}">
|
||||
{{#if bless.active}}
|
||||
<i class="fas fa-skull-crossbones blessure-active-{{gravite}}" name="blessure-{{gravite}}-{{key}}-active"></i>
|
||||
{{else}}
|
||||
<i class="fas fa-skull-crossbones blessure-inactive" name="blessure-{{gravite}}-{{key}}-active"></i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-localisation" type="text" name="blessure-{{gravite}}-{{key}}-localisation" data-dtype="String" value="{{bless.loc}}"/>
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-premiers_soins" type="text" name="blessure-{{gravite}}-{{key}}-premiers_soins" data-dtype="number" value="{{bless.premiers_soins}}"/>
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-psdone" name="blessure-{{gravite}}-{{key}}-psdone" type="checkbox" name="bless.psdone" {{#if bless.psdone}}checked{{/if}}/>
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-soins_complets" type="text" name="blessure-{{gravite}}-{{key}}-soins_complets" data-dtype="number" value="{{bless.soins_complets}}"/>
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-scdone" name="blessure-{{gravite}}-{{key}}-scdone" type="checkbox" name="bless.scdone" {{#if bless.scdone}}checked{{/if}}/>
|
||||
</td>
|
||||
<td>
|
||||
<input class="blessures-soins blessure-jours" type="text" name="blessure-{{gravite}}-{{key}}-jours" name="jours" data-dtype="number" value="{{bless.jours}}"/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -18,7 +18,7 @@
|
||||
<span>{{calc.resumeBlessures}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-effects-partial.html"}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/effects.html"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -121,12 +121,12 @@
|
||||
{{!-- blessures Tab --}}
|
||||
<div class="tab blessures" data-group="primary" data-tab="blessures" style="height:200px">
|
||||
{{!-- Liste de blessures --}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-liste-blessures-partial.html" this}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}}
|
||||
</div>
|
||||
|
||||
{{!-- Equipment Tab --}}
|
||||
<div class="tab items" data-group="primary" data-tab="items">
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire.html"}}
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
@@ -139,10 +139,10 @@
|
||||
|
||||
<div class="form-group editor">
|
||||
<span class="item-name"><h4>Description</h4>
|
||||
{{editor system.description target="system.description" button=true owner=owner editable=true}}
|
||||
{{editor description target="system.description" button=true owner=owner editable=true}}
|
||||
</div>
|
||||
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-editor-notes-mj.html"}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -131,9 +131,9 @@
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div class="form-group editor">
|
||||
{{editor system.description target="system.description" button=true owner=owner editable=true}}
|
||||
{{editor description target="system.description" button=true owner=owner editable=true}}
|
||||
</div>
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-editor-notes-mj.html"}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<h3>Blessures:</h3>
|
||||
<table class="table-container" role="table">
|
||||
<thead>
|
||||
<tr class="competence-header competence-title competence-label" >
|
||||
<th></th>
|
||||
<th>Loc.</th>
|
||||
<th>Premiers soins</th>
|
||||
<th>P.S. OK?</th>
|
||||
<th>Soins complets</th>
|
||||
<th>S.C. OK?</th>
|
||||
<th>Age (jours)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="table-row alterne-row" ><td/><td colspan="4">Légères</td></tr>
|
||||
{{#each system.blessures.legeres.liste as |bless key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-blessure-partial.html" bless=bless key=key gravite="legere" title="Légère"}}
|
||||
{{/each}}
|
||||
<tr class="table-row alterne-row"><td/><td colspan="4">Graves</td></tr>
|
||||
{{#each system.blessures.graves.liste as |bless key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-blessure-partial.html" bless=bless key=key gravite="grave" title="Grave"}}
|
||||
{{/each}}
|
||||
<tr class="table-row alterne-row"><td/><td colspan="4">Critiques</td></tr>
|
||||
{{#each system.blessures.critiques.liste as |bless key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-blessure-partial.html" bless=bless key=key gravite="critique" title="Critique"}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1,6 +0,0 @@
|
||||
{{#if options.isGM}}
|
||||
<h3>Notes du MJ : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor system.notesmj target="system.notesmj" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -1,52 +0,0 @@
|
||||
<li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true">
|
||||
{{#if (eq item.type 'conteneur')}}
|
||||
<span class="sheet-competence-img conteneur-name">
|
||||
{{#if vide}}
|
||||
<i class="far fa-square"></i>
|
||||
{{else}}
|
||||
<a data-item-id="{{item._id}}">
|
||||
{{#if ouvert}}
|
||||
<i class="far fa-minus-square"></i>
|
||||
<!-- <i class="far fa-caret-square-down"></i> -->
|
||||
{{else}}
|
||||
<i class="far fa-plus-square"></i>
|
||||
<!-- <i class="fas fa-caret-square-right"></i> -->
|
||||
{{/if}}
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
<span class="item-name conteneur-name flex-grow">
|
||||
<a data-item-id="{{item._id}}">
|
||||
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
|
||||
{{item.name}}
|
||||
</a>
|
||||
</span>
|
||||
{{else}}
|
||||
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
|
||||
<span class="item-name flex-grow">{{item.name}}</span>
|
||||
{{/if}}
|
||||
<span class="item-quantite">{{item.system.quantite}}
|
||||
{{#if (gt item.system.quantite 1)}}
|
||||
<a class="item-control item-split" title="Séparer"><i class="fas fa-unlink"></i></a>
|
||||
{{/if}}
|
||||
</span>
|
||||
<span class="item-quantite">{{numberFormat item.system.encTotal decimals=2}}</span>
|
||||
<div class="item-controls flex-grow">
|
||||
{{#unless item.estContenu}}
|
||||
{{#if (ne item.type 'conteneur')}}
|
||||
<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}}
|
||||
{{/unless}}
|
||||
<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>
|
||||
{{#if (or (eq item.type 'arme') (eq item.type 'conteneur') item.system.quantite)}}
|
||||
|
||||
<a class="item-control item-vendre" title="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a>
|
||||
{{/if}}
|
||||
<a class="item-control item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
|
||||
{{#if item.system.actionPrincipale}}
|
||||
<a class="item-name item-action">{{item.system.actionPrincipale}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<span class="item-name"><h4>Véhicules</h4></span>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each subacteurs.vehicules as |vehicule id|}}
|
||||
<li class="item flexrow list-item" data-actor-id="{{vehicule.id}}">
|
||||
<img class="sheet-competence-img" src="{{vehicule.img}}" title="{{vehicule.name}}"/>
|
||||
<span class="flex-grow subacteur-label"><a>{{vehicule.name}}</a></span>
|
||||
<span>{{vehicule.categorie}}</span>
|
||||
<span>{{vehicule.structure}}</span>
|
||||
<div class="flex-shrink">
|
||||
<a class="subacteur-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<span>{{system.compteurs.surenc.label}}: {{system.compteurs.surenc.value}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-effects-partial.html"}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/effects.html"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -93,9 +93,10 @@
|
||||
{{!-- Carac Tab --}}
|
||||
<div class="tab items" data-group="primary" data-tab="carac">
|
||||
<div class="flexrow">
|
||||
<span><a class="lock-unlock-sheet"><img class="small-button-container"
|
||||
src="systems/foundryvtt-reve-de-dragon/icons/{{#if options.editCaracComp}}unlocked.svg{{else}}locked.svg{{/if}}" alt="blocker/débloquer"
|
||||
>{{#if options.editCaracComp}}Verrouiller{{else}}Déverrouiller{{/if}}</a></span>
|
||||
<span><a class="vue-detaillee">
|
||||
<i class="fas {{#if options.vueDetaillee}}fa-eye-slash{{else}}fa-eye{{/if}}"></i>
|
||||
{{#if options.vueDetaillee}}Vue simplifiée{{else}}Vue détaillée{{/if}}</a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid grid-2col">
|
||||
<div class="flex-group-left flexcol">
|
||||
@@ -108,7 +109,7 @@
|
||||
{{/if}}
|
||||
{{#if (eq key 'taille')}}
|
||||
<span class="carac-label" name="system.carac.{{key}}.label">{{carac.label}}</span>
|
||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||
<label class="carac-xp"/>
|
||||
{{else}}
|
||||
{{#if carac.derivee}}
|
||||
@@ -125,9 +126,9 @@
|
||||
{{else}}
|
||||
<span class="carac-label tooltip" name="system.carac.{{key}}.label"><a name={{key}}>{{carac.label}}</a></span>
|
||||
{{/if}}
|
||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||
<span class="carac-xp tooltip">
|
||||
<input class="carac-xp" type="text" name="system.carac.{{key}}.xp" value="{{carac.xp}}" data-dtype="number" {{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
<input class="carac-xp" type="text" name="system.carac.{{key}}.xp" value="{{carac.xp}}" data-dtype="number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||
<span class="tooltiptext ttt-xp">Vous devez acquérir {{carac.xpNext}} points d'Experience pour augmenter de 1 votre {{carac.label}}</span>
|
||||
</span>
|
||||
{{#if carac.isLevelUp}}
|
||||
@@ -149,7 +150,7 @@
|
||||
<ul class="carac-list">
|
||||
<li class="caracteristique flexrow list-item">
|
||||
<span class="carac-label" name="beaute">Beauté :</span>
|
||||
<input class="description-value" type="text" name="system.beaute" value="{{system.beaute}}" data-dtype="String" {{#unless @root.options.editCaracComp}}disabled{{/unless}}/>
|
||||
<input class="description-value" type="text" name="system.beaute" value="{{system.beaute}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||
<label class="carac-xp"/>
|
||||
</li>
|
||||
{{#each system.attributs as |attr key|}}
|
||||
@@ -211,449 +212,80 @@
|
||||
|
||||
{{!-- Compétences Tab --}}
|
||||
<div class="tab competences" data-group="primary" data-tab="competences">
|
||||
<div class="grid grid-4col">
|
||||
<span><a class="lock-unlock-sheet"><img class="small-button-container"
|
||||
src="systems/foundryvtt-reve-de-dragon/icons/{{#if options.editCaracComp}}unlocked.svg{{else}}locked.svg{{/if}}" alt="blocker/débloquer">
|
||||
{{#if options.editCaracComp}}Verrouiller{{else}}Déverrouiller{{/if}}</a></span>
|
||||
<span>
|
||||
<input class="recherche flex-grow" type="text" value="{{options.recherche.text}}" name="recherche"
|
||||
size="8" data-dtype="String" placeholder="chercher"/>
|
||||
<div class="flexrow">
|
||||
<span><a class="vue-detaillee">
|
||||
<i class="fas {{#if options.vueDetaillee}}fa-eye-slash{{else}}fa-eye{{/if}}"></i>
|
||||
{{#if options.vueDetaillee}}Vue simplifiée{{else}}Vue détaillée{{/if}}</a>
|
||||
</span>
|
||||
<span><a class="show-hide-competences"><img class="small-button-container"
|
||||
src="systems/foundryvtt-reve-de-dragon/icons/{{#if options.showCompNiveauBase}}no-filter.svg{{else}}filter.svg{{/if}}" alt="filter/montrer tout">
|
||||
{{#if options.showCompNiveauBase}}Montrer tout{{else}}Filtrer{{/if}}</a>
|
||||
</span>
|
||||
<span><a class="vue-detaillee">
|
||||
<i class="fas {{#if options.vueDetaillee}}fa-eye-slash{{else}}fa-eye{{/if}}"></i>
|
||||
{{#if options.vueDetaillee}}Vue simplifiée{{else}}Vue détaillée{{/if}}</a>
|
||||
<span class="flexrow">
|
||||
<i class="fas fa-search flex-shrink"></i>
|
||||
<input class="recherche flex-grow" type="text" value="{{options.recherche.text}}" name="recherche"
|
||||
size="8" data-dtype="String" placeholder="chercher"/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid grid-2col">
|
||||
<div class="flex-group-left flexcol competence-column">
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.generale) categorie="Compétences générales"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.particuliere) categorie="Compétences Particulières"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.specialisee) categorie="Compétences Spécialisées"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.generale) categorie="Compétences générales"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.particuliere) categorie="Compétences Particulières"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.specialisee) categorie="Compétences Spécialisées"}}
|
||||
</div>
|
||||
|
||||
<div class="flex-group-left flexcol competence-column">
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.melee) categorie="Compétences de Mêlée"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.tir) categorie="Compétences de Tir"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.lancer) categorie="Compétences de Lancer"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.connaissance) categorie="Connaissances"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.melee) categorie="Compétences de Mêlée"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.tir) categorie="Compétences de Tir"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.lancer) categorie="Compétences de Lancer"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.connaissance) categorie="Connaissances"}}
|
||||
{{#if (or system.attributs.hautrevant.value options.vueDetaillee)}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-categorie-competences-partial.html" competences=(filtreTriCompetences competenceByCategory.draconic) categorie="Draconic"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.draconic) categorie="Draconic"}}
|
||||
{{/if}}
|
||||
|
||||
<div>
|
||||
<ul class="item-list">
|
||||
<li class="item flexrow">
|
||||
<span class="generic-label">Stress transformé</span>
|
||||
<input class="compteur-edit" type="text" name="experience" value="{{system.compteurs.experience.value}}" data-dtype="number" size="3"/>
|
||||
</li>
|
||||
|
||||
<li class="item flexrow">
|
||||
<span class="generic-label">Total XP compétences</span>
|
||||
<span class="competence-value">{{calc.competenceXPTotal}}</span>
|
||||
</li>
|
||||
{{#if options.vueDetaillee}}
|
||||
<li>Niveaux d'archétype à répartir</li>
|
||||
{{#each calc.comptageArchetype as |archetype key|}}
|
||||
{{#if (lt archetype.nombre archetype.nombreMax)}}
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Archetype {{archetype.niveau}} : {{archetype.nombre}} / {{archetype.nombreMax}}</label>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
<h3 class="blessures-title">Armes et Défenses:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title competence-label">Armes</span>
|
||||
<span class="competence-title competence-label">Initiative</span>
|
||||
<span class="competence-title competence-label">Comp.</span>
|
||||
<span class="competence-title competence-value">Niveau</span>
|
||||
<span class="competence-title competence-value">+dom</span>
|
||||
</li>
|
||||
{{#each combat as |arme key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{arme._id}}"
|
||||
data-arme-name="{{arme.name}}" data-competence-name="{{arme.system.competence}}" >
|
||||
<span class="arme-label">
|
||||
<a>
|
||||
{{#if arme.img}}
|
||||
<img class="sheet-competence-img" src="{{arme.img}}"/>
|
||||
{{/if}}
|
||||
<span>{{arme.name}}</span>
|
||||
</a>
|
||||
</span>
|
||||
<span class="arme-initiative"><a>{{arme.system.initiative}}</a></span>
|
||||
<span class="competence-label">{{arme.system.competence}}</span>
|
||||
<span class="competence-value">{{numberFormat arme.system.niveau decimals=0 sign=true}}</span>
|
||||
<span class="competence-value">{{numberFormat arme.system.dommagesReels decimals=0 sign=true}}</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#each esquives as |esq key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{esq._id}}">
|
||||
<span class="competence-label">
|
||||
<a class="competence-label" name="{{esq.name}}">
|
||||
<img class="sheet-competence-img" src="{{esq.img}}"/>
|
||||
<span>{{esq.name}}</span>
|
||||
</a>
|
||||
</span>
|
||||
<span class="arme-initiative"></span>
|
||||
<span class="competence-label"></span>
|
||||
<span class="competence-value">{{numberFormat esq.system.niveau decimals=0 sign=true}}</span>
|
||||
<span class="competence-value"></span>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
<hr>
|
||||
{{!-- Liste de blessures --}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-liste-blessures-partial.html" this}}
|
||||
|
||||
{{#if maladiesPoisons.length}}
|
||||
{{!-- Maladies & Poison --}}
|
||||
<h3 class="blessures-title">Maladies & Poisons:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title flex-grow competence-label">Nom</span>
|
||||
<span class="competence-title competence-label">Type</span>
|
||||
<span class="competence-title competence-value">Remèdes</span>
|
||||
<span class="competence-title flex-grow competence-value">Edition</span>
|
||||
</li>
|
||||
{{#each maladiesPoisons as |maladie key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{maladie._id}}">
|
||||
<span class="competence-label">
|
||||
{{#if (or @root.options.isGM maladie.system.identifie)}}
|
||||
{{maladie.name}}
|
||||
{{else}}
|
||||
Inconnue
|
||||
{{/if}}
|
||||
</span>
|
||||
<span class="competence-label">{{maladie.type}}</span>
|
||||
<span class="competence-label">
|
||||
{{#if (or @root.options.isGM maladie.system.remedesconnus)}}
|
||||
{{maladie.system.remedes}}
|
||||
{{else}}
|
||||
Remèdes Inconnus
|
||||
{{/if}}
|
||||
</span>
|
||||
<div class="item-controls">
|
||||
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
{{#if possessions.length}}
|
||||
{{!-- Possession --}}
|
||||
<h3 class="blessures-title">Possession:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title flex-grow competence-label">Nom</span>
|
||||
<span class="competence-title competence-label">Type</span>
|
||||
</li>
|
||||
{{#each possessions as |possession key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{possession._id}}">
|
||||
<span class="competence-label">
|
||||
<a class="sheet-possession-attack">{{possession.name}} (Conjurer)</a>
|
||||
</span>
|
||||
<span class="competence-label">{{possession.system.type}}</span>
|
||||
<div class="item-controls">
|
||||
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/combat.html"}}<hr>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/maladies-poisons.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/possessions.html"}}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Connaissances Tab --}}
|
||||
<div class="tab connaissances" data-group="primary" data-tab="connaissances">
|
||||
<h3>Tâches</h3><a class='creer-tache'>Créer une nouvelle Tâche</a>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each taches as |tache id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{tache._id}}">
|
||||
<img class="sheet-competence-img" src="{{tache.img}}" />
|
||||
<span class="competence-title tache-label"><a>{{tache.name}}
|
||||
({{tache.system.points_de_tache_courant}}{{#if
|
||||
(or @root.options.isGM (not tache.system.cacher_points_de_tache))
|
||||
}}/{{tache.system.points_de_tache}}{{/if}})</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<hr>
|
||||
<h3>Oeuvres diverses :</h3><a class="creer-une-oeuvre">Créer une oeuvre</a>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each chants as |chant id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html" oeuvre=chant typeOeuvre="Chant" classOeuvre="chant-label"}}
|
||||
{{/each}}
|
||||
{{#each musiques as |musique id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html" oeuvre=musique typeOeuvre="Musique" classOeuvre="musique-label"}}
|
||||
{{/each}}
|
||||
{{#each danses as |danse id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html" oeuvre=danse typeOeuvre="Danse" classOeuvre="danse-label"}}
|
||||
{{/each}}
|
||||
{{#each oeuvres as |oeuvre id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html" oeuvre=oeuvre typeOeuvre=oeuvre.system.competence classOeuvre="oeuvre-label"}}
|
||||
{{/each}}
|
||||
{{#each recettescuisine as |recette id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-oeuvre-partial.html" oeuvre=recette typeOeuvre="Recette de cuisine" classOeuvre="recettecuisine-label"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
<h3>Jeux :</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each jeux as |jeu id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{jeu._id}}"><span class="competence-title jeu-label"><a>{{jeu.name}} (base {{jeu.system.base}})</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<h3>Recettes Alchimiques</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each recettesAlchimiques as |recette id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{recette._id}}"><span class="competence-title recette-label item-edit"><a>{{recette.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<hr>
|
||||
<h3>Astrologie</h3>
|
||||
<span class="astrologie-label"><a id="jet-astrologie">Astrologie : Nombres Astraux</a></span>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/taches.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvres.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/jeux.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/alchimie.html"}}
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- hautreve Tab --}}
|
||||
<div class="tab hautreve " data-group="primary" data-tab="hautreve" style="height:200px">
|
||||
<div>
|
||||
{{#if system.attributs.hautrevant.value}}
|
||||
<h3>Haut rêvant</h3>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/haut-revant.html"}}
|
||||
{{else}}
|
||||
<h3>Vous n'avez pas le don de haut-rêve! Il faut attribuer la Tête de Dragon 'Don de Haut Rêve' si votre personnage est ou devient Haut-Rêvant.</h3>
|
||||
<h3>Vous n'avez pas le don de haut-rêve</h3>
|
||||
<p>Attribuer la Tête de Dragon 'Don de Haut Rêve' pour rendre le personnage Haut-Rêvant.</p>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html"}}
|
||||
{{/if}}
|
||||
<ul class="item-list">
|
||||
{{#if system.attributs.hautrevant.value}}
|
||||
{{#if options.isGM}}
|
||||
<li class="item flexrow">
|
||||
<span>
|
||||
<a class="chat-card-button forcer-tmr-aleatoire">Ré-insertion aléatoire (ie TMR cachée)</a>
|
||||
</span>
|
||||
<span>
|
||||
<a class="chat-card-button afficher-tmr">Montrer les TMR</a>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow">
|
||||
<span class="competence-label flex-shrink">Demi rêve :
|
||||
{{#if options.isGM}}
|
||||
{{caseTmr-label system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
<input class="competence-value" type="text" name="system.reve.tmrpos.coord" value="{{system.reve.tmrpos.coord}}" data-dtype="String"/>
|
||||
{{else if hautreve.cacheTMR}}
|
||||
{{caseTmr-type system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
??
|
||||
{{else}}
|
||||
{{caseTmr-label system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
{{system.reve.tmrpos.coord}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow">
|
||||
<span class="competence-label">Seuil de Rêve :</span>
|
||||
<span>
|
||||
{{#if options.isGM}}
|
||||
<input class="seuil-reve-value" type="text" name="system.reve.seuil.value" value="{{system.reve.seuil.value}}" data-dtype="Number"/>
|
||||
{{else}}
|
||||
{{system.reve.seuil.value}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
<li class="item flexrow" >
|
||||
<span class="competence-label">Refoulement : </span>
|
||||
<span>
|
||||
{{#if options.isGM}}
|
||||
<input class="competence-value" type="text" name="system.reve.refoulement.value" value="{{system.reve.refoulement.value}}" data-dtype="Number"/>
|
||||
{{else}}
|
||||
{{system.reve.refoulement.value}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<br><br>
|
||||
</div>
|
||||
<hr>
|
||||
{{!-- Queues, Souffles, Tetes, Ombre --}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-queues.html"}}
|
||||
{{#if souffles.length}}
|
||||
<h3>Souffles:</h3>
|
||||
<ul class="item-list">
|
||||
{{#each souffles as |souffle key|}}
|
||||
<li class="item flexrow" data-attribute={{key}} data-item-id="{{souffle._id}}">
|
||||
<img class="sheet-competence-img" src="{{souffle.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{souffle.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{#if tetes.length}}
|
||||
<h3>Tetes:</h3>
|
||||
<ul class="item-list">
|
||||
{{#each tetes as |tete key|}}
|
||||
<li class="item flexrow" data-attribute={{key}} data-item-id="{{tete._id}}">
|
||||
<img class="sheet-competence-img" src="{{tete.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{tete.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{#if system.attributs.hautrevant.value}}
|
||||
{{#if (and options.isGM signesdraconiques.length)}}
|
||||
<h3>Signes draconiques</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each signesdraconiques as |signe key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{signe._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{signe.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{signe.name}}</a></span>
|
||||
<span class="flex-shrink">{{signe.system.difficulte}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
{{#if hautreve.rencontres.length}}
|
||||
<h3>Rencontres présentes:</h3>
|
||||
<ul class="item-list">
|
||||
{{#each hautreve.rencontres as |rencontre key|}}
|
||||
<li class="item flexrow" data-item-id="{{key}}" data-attribute="{{key}}">
|
||||
<span class="display-label"><a data-item-id="{{key}}">{{rencontre.name}} r{{rencontre.force}}</a></span>
|
||||
<span class="flex-shrink">{{rencontre.coord}} - {{caseTmr-label rencontre.coord}}</span>
|
||||
{{#if rencontre.date}}
|
||||
<span>{{upperFirst rencontre.heure}}, le {{rencontre.date}}</span>
|
||||
{{/if}}
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="rencontre-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{#if sortsReserve.length}}
|
||||
<h3>Sorts en Réserve:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each sortsReserve as |sort key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{sort.img}}" />
|
||||
<span class="display-label"><a>{{#if sort.system.echectotal}}Echec total: {{/if}}{{sort.name}} r{{sort.system.ptreve}}</a></span>
|
||||
<span>{{sort.system.coord}} - {{caseTmr-label sort.system.coord}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete flex-shrink" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#each hautreve.sortsReserve as |reserve key|}}
|
||||
<li class="item list-item flexrow" data-index="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{reserve.img}}" />
|
||||
<span class="display-label">{{reserve.sort.name}} r{{reserve.sort.system.ptreve_reel}}</span>
|
||||
<span>{{reserve.coord}} - {{caseTmr-label reserve.coord}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="delete-sort-reserve flex-shrink" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Sorts:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each sorts as |sort key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{sort.img}}" />
|
||||
<span class="display-label flex-grow">
|
||||
<a data-item-id="{{sort._id}}">{{sort.name}}
|
||||
- {{#if sort.system.caseTMRspeciale}}{{sort.system.caseTMRspeciale}}{{else}}{{upperFirst sort.system.caseTMR}}{{/if}}
|
||||
</a>
|
||||
</span>
|
||||
<span>{{sort.system.draconic}} / {{sort.system.difficulte}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<h3>Méditations:</h3>
|
||||
<ul class="item-list">
|
||||
{{#each meditations as |meditation key|}}
|
||||
<li class="item flexrow" data-item-id="{{meditation._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{meditation.img}}" />
|
||||
<span class="meditation-label flex-grow"><a data-item-id="{{meditation._id}}">{{meditation.name}} - {{meditation.system.competence}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<hr>
|
||||
{{#if hautreve.casesTmr}}
|
||||
<h3>Cases Spéciales:</h3>
|
||||
<ul class="item-list">
|
||||
{{#each hautreve.casesTmr as |casetmr key|}}
|
||||
<li class="item flexrow" data-item-id="{{casetmr._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{casetmr.img}}" />
|
||||
<span class="display-label"><a data-item-id="{{casetmr._id}}">{{casetmr.name}}</a></span>
|
||||
<span>{{casetmr.system.coord}} - {{caseTmr-label casetmr.system.coord}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
<br><br>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Equipment Tab --}}
|
||||
<div class="tab items" data-group="primary" data-tab="items">
|
||||
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-animaux.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-suivants.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-liens-vehicules.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/liens-animaux.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/liens-suivants.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/liens-vehicules.html"}}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -713,27 +345,14 @@
|
||||
<article class="flexcol">
|
||||
<h3>Biographie : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor system.biographie target="system.biographie" button=true owner=owner editable=editable}}
|
||||
{{editor biographie target="system.biographie" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<h3>Notes : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor system.notes target="system.notes" button=true owner=owner editable=editable}}
|
||||
{{editor notes target="system.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<h3>Journal d'Experience</h3>
|
||||
<div class="form-group editor">
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each system.experiencelog as |xp key|}}
|
||||
<li class="item flexrow list-item">
|
||||
<label class="flex-shrink">{{xp.mode}} </label>
|
||||
<label class="flex-grow">{{xp.valeur}} {{xp.raison}} </label>
|
||||
<label class="flex-shrink">{{xp.daterdd}} </label>
|
||||
<label class="flex-shrink">{{xp.datereel}} </label>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-editor-notes-mj.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/xp-journal.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="flex-group-left flexcol">
|
||||
<ol class="carac-list alterne-list">
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Catégorie</span>
|
||||
<span class="carac-label">Catégorie</span>
|
||||
<select name="system.categorie" class="categorie" data-dtype="String">
|
||||
{{#select system.categorie}}
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html"}}
|
||||
@@ -34,52 +34,53 @@
|
||||
</select>
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Résistance</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.resistance" value="{{system.resistance}}" data-dtype="Number" />
|
||||
<span class="carac-label">Résistance</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.etat.resistance.value" value="{{system.etat.resistance.value}}" data-dtype="Number" />
|
||||
/
|
||||
<input class="competence-value flexrow" type="text" name="system.etat.resistance.max" value="{{system.etat.resistance.max}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Structure</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.structure" value="{{system.structure}}" data-dtype="Number" />
|
||||
<span class="carac-label">Structure</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.etat.structure.value" value="{{system.etat.structure.value}}" data-dtype="Number" />
|
||||
/
|
||||
<input class="competence-value flexrow" type="text" name="system.etat.structure.max" value="{{system.etat.structure.max}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Vitesse</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.vitesse" value="{{system.vitesse}}" data-dtype="String" />
|
||||
<span class="carac-label">Vitesse</span>
|
||||
<input class="caracteristique vehicle" type="text" name="system.vitesse" value="{{system.vitesse}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Bonus</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="String" />
|
||||
<span class="carac-label">Bonus</span>
|
||||
<input class="caracteristique vehicle" type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Manoeuvrabilité</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.manoeuvrabilite" value="{{system.manoeuvrabilite}}" data-dtype="String" />
|
||||
<span class="carac-label">Manoeuvrabilité</span>
|
||||
<input class="caracteristique vehicle" type="text" name="system.manoeuvrabilite" value="{{system.manoeuvrabilite}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Equipage</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.equipage" value="{{system.equipage}}" data-dtype="Number" />
|
||||
<span class="carac-label">Equipage</span>
|
||||
<input class="caracteristique vehicle" type="text" name="system.equipage" value="{{system.equipage}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||
<span class="carac-label flexrow" name="categorie">Capacité d'Encombrement</span>
|
||||
<input class="competence-value flexrow" type="text" name="system.capacite_encombrement" value="{{system.capacite_encombrement}}" data-dtype="Number" />
|
||||
<span class="carac-label">Capacité d'Encombrement</span>
|
||||
<input class="caracteristique vehicle" type="text" name="system.capacite_encombrement" value="{{system.capacite_encombrement}}" data-dtype="Number" />
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Equipment Tab --}}
|
||||
<div class="tab items" data-group="primary" data-tab="items">
|
||||
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire.html"}}
|
||||
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire.html"}}
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div class="form-group editor">
|
||||
{{editor content=system.description target="system.description" button=true owner=owner editable=editable}}
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor-sheet-editor-notes-mj.html"}}
|
||||
</div>
|
||||
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
13
templates/actor/alchimie.html
Normal file
13
templates/actor/alchimie.html
Normal file
@@ -0,0 +1,13 @@
|
||||
{{#if recettesAlchimiques.length}}
|
||||
<h3>Recettes Alchimiques</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each recettesAlchimiques as |recette id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{recette._id}}"><span class="competence-title recette-label item-edit"><a>{{recette.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
2
templates/actor/astrologie.html
Normal file
2
templates/actor/astrologie.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<h3>Astrologie</h3>
|
||||
<span class="astrologie-label"><a id="jet-astrologie">Astrologie : Nombres Astraux</a></span>
|
||||
27
templates/actor/blessure.html
Normal file
27
templates/actor/blessure.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<li class="item flexrow list-item {{#if blessure.active}}blessure-active-{{gravite}}{{else}}blessure-inactive{{/if}}"
|
||||
data-blessure-type="{{gravite}}"
|
||||
data-attribute={{key}}
|
||||
data-blessure-index="{{key}}"
|
||||
data-blessure-active="{{blessure.active}}">
|
||||
<span class="blessure-control" title="Blessure {{title}}">
|
||||
<i class="fas fa-skull-crossbones" name="blessure-{{gravite}}-{{key}}-active"></i>
|
||||
{{title}}
|
||||
</span>
|
||||
{{#if blessure.active}}
|
||||
<span class="blessure-soins flexrow">
|
||||
<input class="blessure-psdone" name="blessure-{{gravite}}-{{key}}-psdone" type="checkbox" name="blessure.psdone" {{#if blessure.psdone}}checked{{/if}}/>
|
||||
<input class="blessure-premiers_soins" type="text" name="blessure-{{gravite}}-{{key}}-premiers_soins" data-dtype="number" value="{{blessure.premiers_soins}}"/>
|
||||
</span>
|
||||
<span class="blessure-soins flexrow">
|
||||
<input class="blessure-scdone" name="blessure-{{gravite}}-{{key}}-scdone" type="checkbox" name="blessure.scdone" {{#if blessure.scdone}}checked{{/if}}/>
|
||||
<input class="blessure-soins_complets" type="text" name="blessure-{{gravite}}-{{key}}-soins_complets" data-dtype="number" value="{{blessure.soins_complets}}"/>
|
||||
</span>
|
||||
<input class="blessure-jours" type="text" name="blessure-{{gravite}}-{{key}}-jours" name="jours" data-dtype="number" value="{{blessure.jours}}"/>
|
||||
<input class="blessure-localisation" type="text" name="blessure-{{gravite}}-{{key}}-localisation" data-dtype="String" value="{{blessure.loc}}"/>
|
||||
{{else}}
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
{{/if}}
|
||||
</li>
|
||||
18
templates/actor/blessures.html
Normal file
18
templates/actor/blessures.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow" >
|
||||
<span>Blessures</span>
|
||||
<span>Premiers soins</span>
|
||||
<span>Soins complets</span>
|
||||
<span>Age (jours)</span>
|
||||
<span>Localisation</span>
|
||||
</li>
|
||||
{{#each system.blessures.legeres.liste as |blessure key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessure.html" blessure=blessure key=key gravite="legere" title="Légère"}}
|
||||
{{/each}}
|
||||
{{#each system.blessures.graves.liste as |blessure key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessure.html" blessure=blessure key=key gravite="grave" title="Grave"}}
|
||||
{{/each}}
|
||||
{{#each system.blessures.critiques.liste as |blessure key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessure.html" blessure=blessure key=key gravite="critique" title="Critique"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
@@ -6,7 +6,6 @@
|
||||
<ul class="item-list alterne-list competence-list">
|
||||
{{#if @root.options.vueDetaillee}}
|
||||
<li class="item flexrow list-item ">
|
||||
|
||||
<span class="competence-label"></span>
|
||||
<span class="competence-value" >Niv.</span>
|
||||
<span class="competence-xp">xp</span>
|
||||
@@ -15,7 +14,7 @@
|
||||
{{/if}}
|
||||
<div class="item-controls">
|
||||
<i class="far fa-arrow-alt-circle-up"></i>
|
||||
<span class="competence-archetype">Arch</span>
|
||||
<span class="competence-archetype">Arch.</span>
|
||||
<i class="far fa-edit"></i>
|
||||
{{#if @root.options.isGM}}
|
||||
<i class="far fa-trash"></i>
|
||||
@@ -24,7 +23,7 @@
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#each competences as |comp key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-competence-partial.html" comp}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence.html" comp}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
43
templates/actor/combat.html
Normal file
43
templates/actor/combat.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title competence-label">Armes et Défenses</span>
|
||||
<span class="competence-title competence-value">Niveau</span>
|
||||
<span class="competence-title competence-value">+dom</span>
|
||||
<span class="competence-title competence-value"></span>
|
||||
<span class="competence-title initiative-value">Initiative</span>
|
||||
</li>
|
||||
{{#each combat as |arme key|}}
|
||||
<li class="item flexrow list-item"
|
||||
data-item-id="{{arme._id}}"
|
||||
data-arme-name="{{arme.name}}"
|
||||
data-competence-name="{{arme.system.competence}}" >
|
||||
<span class="arme-label">
|
||||
<a>
|
||||
{{#if arme.img}}
|
||||
<img class="sheet-competence-img" src="{{arme.img}}"/>
|
||||
{{/if}}
|
||||
<span>{{arme.name}}</span>
|
||||
</a>
|
||||
({{arme.system.competence}})
|
||||
</span>
|
||||
<span class="competence-value">{{numberFormat arme.system.niveau decimals=0 sign=true}}</span>
|
||||
<span class="competence-value">{{numberFormat arme.system.dommagesReels decimals=0 sign=true}}</span>
|
||||
<span class="competence-value"></span>
|
||||
<span class="initiative-value arme-initiative"><a>{{arme.system.initiative}}</a></span>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#each esquives as |esq key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{esq._id}}">
|
||||
<span class="competence-label">
|
||||
<a class="competence-label" name="{{esq.name}}">
|
||||
<img class="sheet-competence-img" src="{{esq.img}}"/>
|
||||
<span>{{esq.name}}</span>
|
||||
</a>
|
||||
</span>
|
||||
<span class="competence-value">{{numberFormat esq.system.niveau decimals=0 sign=true}}</span>
|
||||
<span class="competence-value"></span>
|
||||
<span class="competence-value"></span>
|
||||
<span class="initiative-value"></span>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
@@ -14,19 +14,19 @@
|
||||
|
||||
<input class="competence-value" type="text" compname="{{name}}" name="comp-value-{{name}}"
|
||||
value="{{numberFormat system.niveau decimals=0 sign=true}}" data-dtype="number"
|
||||
{{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
|
||||
{{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||
|
||||
{{#if @root.options.vueDetaillee}}
|
||||
<span class="competence-xp tooltip">
|
||||
<input class="competence-xp " type="text" compname="{{name}}" name="comp-xp-{{name}}"
|
||||
value="{{numberFormat system.xp decimals=0 sign=false}}" data-dtype="number"
|
||||
{{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
value="{{numberFormat system.xp decimals=0 sign=false}}" data-dtype="number"/>
|
||||
<span class="tooltiptext left-competence ttt-xp">Vous devez acquérir {{system.xpNext}} points d'Experience pour augmenter de 1 votre compétence {{name}}</span>
|
||||
</span>
|
||||
|
||||
{{/if}}
|
||||
{{#if (eq system.categorie 'draconic')}}
|
||||
<input class="competence-xp-sort" type="text" compname="{{name}}" name="comp-xp-sort-{{name}}"
|
||||
value="{{numberFormat system.xp_sort decimals=0 sign=false}}" data-dtype="number"
|
||||
{{#unless @root.options.editCaracComp}}disabled{{/unless}}/>
|
||||
{{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||
{{/if}}
|
||||
{{#if @root.options.vueDetaillee}}
|
||||
<div class="item-controls">
|
||||
@@ -39,8 +39,7 @@
|
||||
<i class="far fa-circle"></i>
|
||||
{{/if}}
|
||||
<input class="competence-archetype niveau-archetype" type="text" compname="{{name}}" name="comp-archetype-{{name}}"
|
||||
value="{{numberFormat system.niveau_archetype decimals=0 sign=true}}" data-dtype="number"
|
||||
{{#unless @root.options.editCaracComp}}disabled{{/unless}} />
|
||||
value="{{numberFormat system.niveau_archetype decimals=0 sign=true}}" data-dtype="number"/>
|
||||
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
|
||||
{{#if @root.options.isGM}}
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
@@ -3,13 +3,13 @@
|
||||
{{#if queues.length}}Queues de Dragon{{/if}}
|
||||
{{#if (and queues.length ombres.length)}} et {{/if}}
|
||||
{{#if ombres.length}}Ombres de Thanatos{{/if}}
|
||||
:</h3>
|
||||
</h3>
|
||||
<ul class="flex-group-left">
|
||||
{{#each queues as |queue key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-item-queue.html" queue=queue key=key}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queue.html" queue=queue key=key}}
|
||||
{{/each}}
|
||||
{{#each ombres as |ombre key|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-item-queue.html" queue=ombre key=key}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queue.html" queue=ombre key=key}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
14
templates/actor/dragon-souffles.html
Normal file
14
templates/actor/dragon-souffles.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{{#if souffles.length}}
|
||||
<h3>Souffles</h3>
|
||||
<ul class="item-list">
|
||||
{{#each souffles as |souffle key|}}
|
||||
<li class="item flexrow" data-attribute={{key}} data-item-id="{{souffle._id}}">
|
||||
<img class="sheet-competence-img" src="{{souffle.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{souffle.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
14
templates/actor/dragon-tetes.html
Normal file
14
templates/actor/dragon-tetes.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{{#if tetes.length}}
|
||||
<h3>Tetes</h3>
|
||||
<ul class="item-list">
|
||||
{{#each tetes as |tete key|}}
|
||||
<li class="item flexrow" data-attribute={{key}} data-item-id="{{tete._id}}">
|
||||
<img class="sheet-competence-img" src="{{tete.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{tete.name}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
6
templates/actor/editor-notes-mj.html
Normal file
6
templates/actor/editor-notes-mj.html
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if options.isGM}}
|
||||
<h3>Notes du MJ : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notesmj target="system.notesmj" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
{{/if}}
|
||||
35
templates/actor/haut-revant.html
Normal file
35
templates/actor/haut-revant.html
Normal file
@@ -0,0 +1,35 @@
|
||||
{{#if options.isGM}}
|
||||
<li class="item flexrow">
|
||||
<span>
|
||||
<a class="chat-card-button forcer-tmr-aleatoire">Ré-insertion aléatoire (ie TMR cachée)</a>
|
||||
</span>
|
||||
<span>
|
||||
<a class="chat-card-button afficher-tmr">Montrer les TMR</a>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow">
|
||||
<span class="competence-label flex-shrink">Demi rêve :
|
||||
{{#if options.isGM}}
|
||||
{{caseTmr-label system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
<input class="competence-value" type="text" name="system.reve.tmrpos.coord" value="{{system.reve.tmrpos.coord}}" data-dtype="String"/>
|
||||
{{else if hautreve.cacheTMR}}
|
||||
{{caseTmr-type system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
??
|
||||
{{else}}
|
||||
{{caseTmr-label system.reve.tmrpos.coord}}
|
||||
</span><span>
|
||||
{{system.reve.tmrpos.coord}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html"}}
|
||||
<hr>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-signes-draconiques.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-rencontres.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-sorts.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-sorts-reserve.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-meditations.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/hr-casestmr.html"}}
|
||||
15
templates/actor/hr-casestmr.html
Normal file
15
templates/actor/hr-casestmr.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#if casestmr.length}}
|
||||
<h3>Effets sur les cases des TMR</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each casestmr as |casetmr key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{casetmr.id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{casetmr.img}}" />
|
||||
<span class="display-label"><a>{{casetmr.name}}</a></span>
|
||||
<span>{{casetmr.system.coord}} - {{caseTmr-label casetmr.system.coord}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
15
templates/actor/hr-meditations.html
Normal file
15
templates/actor/hr-meditations.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#if meditations.length}}
|
||||
<h3>Méditations</h3>
|
||||
<ul class="item-list">
|
||||
{{#each meditations as |meditation key|}}
|
||||
<li class="item flexrow" data-item-id="{{meditation._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{meditation.img}}" />
|
||||
<span class="meditation-label flex-grow"><a data-item-id="{{meditation._id}}">{{meditation.name}} - {{meditation.system.competence}}</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
17
templates/actor/hr-rencontres.html
Normal file
17
templates/actor/hr-rencontres.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{{#if hautreve.rencontres.length}}
|
||||
<h3>Rencontres en attente dans les TMR</h3>
|
||||
<ul class="item-list">
|
||||
{{#each hautreve.rencontres as |rencontre key|}}
|
||||
<li class="item flexrow" data-item-id="{{key}}" data-attribute="{{key}}">
|
||||
<span class="display-label"><a data-item-id="{{key}}">{{rencontre.name}} r{{rencontre.force}}</a></span>
|
||||
<span class="flex-shrink">{{rencontre.coord}} - {{caseTmr-label rencontre.coord}}</span>
|
||||
{{#if rencontre.date}}
|
||||
<span>{{upperFirst rencontre.heure}}, le {{rencontre.date}}</span>
|
||||
{{/if}}
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="rencontre-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
15
templates/actor/hr-signes-draconiques.html
Normal file
15
templates/actor/hr-signes-draconiques.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#if (and options.isGM signesdraconiques.length)}}
|
||||
<h3>Signes draconiques</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each signesdraconiques as |signe key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{signe._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{signe.img}}" />
|
||||
<span class="display-label flex-grow"><a>{{signe.name}}</a></span>
|
||||
<span class="flex-shrink">{{signe.system.difficulte}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
15
templates/actor/hr-sorts-reserve.html
Normal file
15
templates/actor/hr-sorts-reserve.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#if sortsReserve.length}}
|
||||
<h3>Sorts en Réserve</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each sortsReserve as |sort key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{sort.img}}" />
|
||||
<span class="display-label"><a>{{#if sort.system.echectotal}}Echec total: {{/if}}{{sort.name}} r{{sort.system.ptreve}}</a></span>
|
||||
<span>{{sort.system.coord}} - {{caseTmr-label sort.system.coord}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete flex-shrink" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
19
templates/actor/hr-sorts.html
Normal file
19
templates/actor/hr-sorts.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{{#if sorts.length}}
|
||||
<h3>Sorts</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each sorts as |sort key|}}
|
||||
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
|
||||
<img class="sheet-competence-img" src="{{sort.img}}" />
|
||||
<span class="display-label flex-grow">
|
||||
<a data-item-id="{{sort._id}}">{{sort.name}}
|
||||
- {{#if sort.system.caseTMRspeciale}}{{sort.system.caseTMRspeciale}}{{else}}{{upperFirst sort.system.caseTMR}}{{/if}}
|
||||
</a>
|
||||
</span>
|
||||
<span>{{sort.system.draconic}} / {{sort.system.difficulte}}</span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
@@ -1,24 +1,16 @@
|
||||
<li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true">
|
||||
<span class="equipement-nom {{#if (eq item.type 'conteneur')}}conteneur-name{{/if}} ">
|
||||
{{#if (eq item.type 'conteneur')}}
|
||||
{{#if vide}}
|
||||
<i class="far fa-square"></i>
|
||||
{{else}}
|
||||
<a data-item-id="{{item._id}}">
|
||||
{{#if ouvert}}
|
||||
<i class="far fa-minus-square"></i>
|
||||
{{else}}
|
||||
<i class="far fa-plus-square"></i>
|
||||
{{/if}}
|
||||
</a>
|
||||
{{/if}}
|
||||
<a data-item-id="{{item._id}}">
|
||||
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
|
||||
<span>{{item.name}}</span>
|
||||
</a>
|
||||
{{else}}
|
||||
<a>
|
||||
<i class="{{~#if vide}}far fa-square
|
||||
{{else if ouvert}}far fa-minus-square
|
||||
{{else}}far fa-plus-square
|
||||
{{/if~}}"></i>
|
||||
{{/if}}
|
||||
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
|
||||
<span>{{item.name}}</span>
|
||||
{{#if (eq item.type 'conteneur')}}
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
<span class="equipement-detail">{{item.system.quantite}}
|
||||
@@ -40,8 +32,8 @@
|
||||
<a class="item-vendre" title="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a>
|
||||
{{/if}}
|
||||
<a class="item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
|
||||
{{#if item.actionPrincipale}}
|
||||
<a class="item-action">{{item.actionPrincipale}}</a>
|
||||
{{#if item.system.actionPrincipale}}
|
||||
<a class="item-action">{{item.system.actionPrincipale}}</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
@@ -13,12 +13,6 @@
|
||||
<span class="equipement-detail item-controls">
|
||||
<a class="monnaie-plus"><i class="fas fa-plus-square"></i></a>
|
||||
</span>
|
||||
|
||||
<!-- <span class="equipement-detail">
|
||||
<span class="flex-shrink"><a class="monnaie-moins"><i class="fas fa-minus-square"></i></a></span>
|
||||
<span>{{piece.system.quantite}}</span>
|
||||
<span class="flex-shrink"><a class="monnaie-plus"><i class="fas fa-plus-square"></i></a></span>
|
||||
</span> -->
|
||||
<span class="equipement-actions item-controls">
|
||||
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
@@ -1,4 +1,4 @@
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-monnaie.html" monnaie=monnaie}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-monnaie.html" monnaie=monnaie}}
|
||||
|
||||
<span class="item-name"><h4>Equipement</h4></span>
|
||||
<span class="item-name">Encombrement total/max : {{numberFormat calc.encTotal decimals=2}} / {{system.attributs.encombrement.value}} <b>{{calc.surEncombrementMessage}}</b></span> -
|
||||
@@ -16,7 +16,7 @@
|
||||
{{#each objets as |item id|}}
|
||||
{{#unless item.estContenu}}
|
||||
{{#if (ne item.type 'conteneur')}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-item.html" item=item vide=true ouvert=true }}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-item.html" item=item vide=true ouvert=true }}
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
13
templates/actor/jeux.html
Normal file
13
templates/actor/jeux.html
Normal file
@@ -0,0 +1,13 @@
|
||||
{{#if jeux.length}}
|
||||
<h3>Jeux :</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each jeux as |jeu id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{jeu._id}}"><span class="competence-title jeu-label"><a>{{jeu.name}} (base {{jeu.system.base}})</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
33
templates/actor/liens-vehicules.html
Normal file
33
templates/actor/liens-vehicules.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{{#if subacteurs.vehicules.length}}
|
||||
<ul class="item-list alterne-list">
|
||||
|
||||
<li class="competence-header flexrow">
|
||||
<span class="item-name"><h4>Véhicules</h4></span>
|
||||
<span></span>
|
||||
<span>Catégorie</span>
|
||||
<span>Résistance</span>
|
||||
<span>Structure</span>
|
||||
<span></span>
|
||||
</li>
|
||||
|
||||
{{#each subacteurs.vehicules as |vehicule id|}}
|
||||
<li class="item flexrow list-item" data-actor-id="{{vehicule.id}}">
|
||||
<span class="subacteur-label">
|
||||
<a>
|
||||
<img class="sheet-competence-img" src="{{vehicule.img}}" title="{{vehicule.name}}"/>
|
||||
{{vehicule.name}}
|
||||
</a>
|
||||
</span>
|
||||
<span>{{vehicule.system.categorie}}</span>
|
||||
<span>{{vehicule.system.etat.resistance.max}}</span>
|
||||
<span>{{vehicule.system.etat.structure.max}}</span>
|
||||
<span>
|
||||
<a class="subacteur-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<span class="item-name"><h4>Véhicules</h4></span>
|
||||
{{/if}}
|
||||
|
||||
34
templates/actor/maladies-poisons.html
Normal file
34
templates/actor/maladies-poisons.html
Normal file
@@ -0,0 +1,34 @@
|
||||
{{#if maladiesPoisons.length}}
|
||||
<h3 class="blessures-title">Maladies & Poisons:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title flex-grow competence-label">Nom</span>
|
||||
<span class="competence-title competence-label">Type</span>
|
||||
<span class="competence-title competence-value">Remèdes</span>
|
||||
<span class="competence-title flex-grow competence-value">Edition</span>
|
||||
</li>
|
||||
{{#each maladiesPoisons as |maladie key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{maladie._id}}">
|
||||
<span class="competence-label">
|
||||
{{#if (or @root.options.isGM maladie.system.identifie)}}
|
||||
{{maladie.name}}
|
||||
{{else}}
|
||||
Inconnue
|
||||
{{/if}}
|
||||
</span>
|
||||
<span class="competence-label">{{maladie.type}}</span>
|
||||
<span class="competence-label">
|
||||
{{#if (or @root.options.isGM maladie.system.remedesconnus)}}
|
||||
{{maladie.system.remedes}}
|
||||
{{else}}
|
||||
Remèdes Inconnus
|
||||
{{/if}}
|
||||
</span>
|
||||
<div class="item-controls">
|
||||
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
26
templates/actor/non-haut-revant.html
Normal file
26
templates/actor/non-haut-revant.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<ul class="item-list">
|
||||
<li class="item flexrow">
|
||||
<span class="competence-label">Seuil de Rêve :</span>
|
||||
<span>
|
||||
{{#if options.isGM}}
|
||||
<input class="seuil-reve-value" type="text" name="system.reve.seuil.value" value="{{system.reve.seuil.value}}" data-dtype="Number"/>
|
||||
{{else}}
|
||||
{{system.reve.seuil.value}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
<li class="item flexrow" >
|
||||
<span class="competence-label">Refoulement : </span>
|
||||
<span>
|
||||
{{#if options.isGM}}
|
||||
<input class="competence-value" type="text" name="system.reve.refoulement.value" value="{{system.reve.refoulement.value}}" data-dtype="Number"/>
|
||||
{{else}}
|
||||
{{system.reve.refoulement.value}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queues.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/dragon-souffles.html"}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/dragon-tetes.html"}}
|
||||
18
templates/actor/oeuvres.html
Normal file
18
templates/actor/oeuvres.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<h3>Oeuvres diverses</h3><a class="creer-une-oeuvre">Créer une oeuvre</a>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each chants as |chant id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html" oeuvre=chant typeOeuvre="Chant" classOeuvre="chant-label"}}
|
||||
{{/each}}
|
||||
{{#each musiques as |musique id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html" oeuvre=musique typeOeuvre="Musique" classOeuvre="musique-label"}}
|
||||
{{/each}}
|
||||
{{#each danses as |danse id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html" oeuvre=danse typeOeuvre="Danse" classOeuvre="danse-label"}}
|
||||
{{/each}}
|
||||
{{#each oeuvres as |oeuvre id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html" oeuvre=oeuvre typeOeuvre=oeuvre.system.competence classOeuvre="oeuvre-label"}}
|
||||
{{/each}}
|
||||
{{#each recettescuisine as |recette id|}}
|
||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/oeuvre.html" oeuvre=recette typeOeuvre="Recette de cuisine" classOeuvre="recettecuisine-label"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
22
templates/actor/possessions.html
Normal file
22
templates/actor/possessions.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{{#if possessions.length}}
|
||||
{{!-- Possession --}}
|
||||
<h3 class="blessures-title">Possession:</h3>
|
||||
<ul class="item-list alterne-list">
|
||||
<li class="competence-header flexrow">
|
||||
<span class="competence-title flex-grow competence-label">Nom</span>
|
||||
<span class="competence-title competence-label">Type</span>
|
||||
</li>
|
||||
{{#each possessions as |possession key|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{possession._id}}">
|
||||
<span class="competence-label">
|
||||
<a class="sheet-possession-attack">{{possession.name}} (Conjurer)</a>
|
||||
</span>
|
||||
<span class="competence-label">{{possession.system.type}}</span>
|
||||
<div class="item-controls">
|
||||
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
16
templates/actor/taches.html
Normal file
16
templates/actor/taches.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<h3>Tâches</h3><a class='creer-tache'>Créer une nouvelle Tâche</a>
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each taches as |tache id|}}
|
||||
<li class="item flexrow list-item" data-item-id="{{tache._id}}">
|
||||
<img class="sheet-competence-img" src="{{tache.img}}" />
|
||||
<span class="competence-title tache-label"><a>{{tache.name}}
|
||||
({{tache.system.points_de_tache_courant}}{{#if
|
||||
(or @root.options.isGM (not tache.system.cacher_points_de_tache))
|
||||
}}/{{tache.system.points_de_tache}}{{/if}})</a></span>
|
||||
<div class="item-controls flex-shrink">
|
||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
23
templates/actor/xp-competences.html
Normal file
23
templates/actor/xp-competences.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<div>
|
||||
<ul class="item-list">
|
||||
<li class="item flexrow">
|
||||
<span class="generic-label">Stress transformé</span>
|
||||
<input class="compteur-edit" type="text" name="experience" value="{{system.compteurs.experience.value}}" data-dtype="number" size="3"/>
|
||||
</li>
|
||||
|
||||
<li class="item flexrow">
|
||||
<span class="generic-label">Total XP compétences</span>
|
||||
<span class="competence-value">{{calc.competenceXPTotal}}</span>
|
||||
</li>
|
||||
{{#if options.vueDetaillee}}
|
||||
<li>Niveaux d'archétype à répartir</li>
|
||||
{{#each calc.comptageArchetype as |archetype key|}}
|
||||
{{#if (lt archetype.nombre archetype.nombreMax)}}
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Archetype {{archetype.niveau}} : {{archetype.nombre}} / {{archetype.nombreMax}}</label>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
23
templates/actor/xp-journal.html
Normal file
23
templates/actor/xp-journal.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<h3>Journal d'Experience</h3>
|
||||
<div class="form-group editor">
|
||||
<ul class="item-list alterne-list">
|
||||
{{#each system.experiencelog as |xp key|}}
|
||||
<li class="experiencelog flexrow list-item" data-key="{{key}}">
|
||||
<label class="flex-grow">{{xp.valeur}} {{xp.raison}}</label>
|
||||
<label class="flex-shrink">{{xp.mode}}</label>
|
||||
<label class="flex-shrink">{{xp.daterdd}}</label>
|
||||
<label class="flex-shrink">{{xp.datereel}}</label>
|
||||
{{#if @root.options.isGM}}
|
||||
<span>
|
||||
<a class="experiencelog-delete" title="Supprimer">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
<a class="experiencelog-delete-previous" title="Supprimer jusqu'ici">
|
||||
<i class="fas fa-eraser"></i>
|
||||
</a>
|
||||
</span>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1,6 +1,6 @@
|
||||
<img class="chat-icon" src="{{img}}" alt="potion de repos" />
|
||||
<h4>
|
||||
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée{{/if}}</strong>
|
||||
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de puissance {{system.puissance}}{{/if}}</strong>.
|
||||
</h4>
|
||||
<hr>
|
||||
<div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<img class="chat-icon" src="{{img}}" alt="potion de soin" />
|
||||
<h4>
|
||||
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée{{/if}}</strong>
|
||||
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de {{system.puissance}} points de guérison{{/if}}</strong>
|
||||
</h4>
|
||||
<hr>
|
||||
<div>
|
||||
|
||||
@@ -31,22 +31,31 @@
|
||||
<input type="text" name="signe.system.duree" value="{{signe.system.duree}}" data-dtype="String" />
|
||||
</span>
|
||||
</div>
|
||||
<hr>
|
||||
<label>Terres médianes</label>
|
||||
<div class="form-group">
|
||||
<label for="tmrs">Terres médianes</label>
|
||||
<select class="select-tmr" name="tmrs" id="tmrs" size="{{tmrs.length}}" multiple>
|
||||
<div class="grid-select-type-tmr">
|
||||
{{#each tmrs as |tmr key|}}
|
||||
<option value="{{tmr.name}}" {{#if tmr.selected}}selected{{/if}}>{{tmr.name}}</option>
|
||||
<label class="flexrow">
|
||||
<input type="checkbox" data-dtype="Boolean" class="select-tmr"
|
||||
data-tmr-name="{{tmr.name}}" {{#if tmr.selected}}checked{{/if}} />
|
||||
{{tmr.name}}
|
||||
</label>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<label for="actors">Haut-rêvants concernés</label>
|
||||
<div class="form-group">
|
||||
<label for="actors">Haut-rêvants concernés</label>
|
||||
<select class="select-actor" id="actors" size="7" multiple>
|
||||
<div class="grid-select-actor">
|
||||
{{#each actors as |actor key|}}
|
||||
<option value="{{actor.name}}" data-actor-id="{{actor._id}}" {{#if actor.selected}}selected{{/if}}>{{actor.name}}</option>
|
||||
<label class="flexrow">
|
||||
<input type="checkbox" data-dtype="Boolean" class="select-actor"
|
||||
data-actor-id="{{actor.id}}" {{#if actor.selected}}checked{{/if}} />
|
||||
{{actor.name}}
|
||||
</label>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
</form>
|
||||
@@ -12,13 +12,17 @@
|
||||
<label for="immediat">Expérience immédiate</label>
|
||||
<input class="flex-shrink" type="checkbox" name="immediat" {{#if immediat}}checked{{/if}} />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="actors">Personnages concernés</label>
|
||||
<select class="select-actor" id="actors" size="7" multiple>
|
||||
<div class="flexcol">
|
||||
<label>Personnages concernés</label>
|
||||
<div class="grid-select-actor">
|
||||
{{#each actors as |actor key|}}
|
||||
<option value="{{actor.name}}" data-actor-id="{{actor._id}}" {{#if actor.selected}}selected{{/if}}>{{actor.name}}</option>
|
||||
<label class="flexrow">
|
||||
<input type="checkbox" data-dtype="Boolean" class="select-actor"
|
||||
data-actor-id="{{actor.id}}" {{#if actor.selected}}checked{{/if}} />
|
||||
{{actor.name}}
|
||||
</label>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -9,25 +9,25 @@
|
||||
<div class="flexcol">
|
||||
<span><label class="alchimie-title">Manipulation : </label></span>
|
||||
<div class="form-group medium-editor">
|
||||
{{editor system.manipulation_update target="system.manipulation" button=true owner=owner editable=editable}}
|
||||
{{editor manipulation_update target="system.manipulation" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
<span><label class="alchimie-title">Utilisation : </label></span>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.utilisation target="system.utilisation" button=true owner=owner editable=editable}}
|
||||
{{editor utilisation target="system.utilisation" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
<span><label class="alchimie-title">Enchantement : </label></span>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.enchantement target="system.enchantement" button=true owner=owner editable=editable}}
|
||||
{{editor enchantement target="system.enchantement" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
<span><label class="alchimie-title">Sur-effet : </label></span>
|
||||
<div class="form-group small-editor">
|
||||
{{editor system.sureffet target="system.sureffet" button=true owner=owner editable=editable}}
|
||||
{{editor sureffet target="system.sureffet" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<div class="flexcol">
|
||||
<span><label>Ingrédients : </label></span>
|
||||
<div class="form-group editor">
|
||||
{{editor system.ingredients target="system.ingredients" button=true owner=owner editable=editable}}
|
||||
{{editor ingredients target="system.ingredients" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
{{!-- Description Tab --}}
|
||||
<div class="tab" data-group="primary" data-tab="description">
|
||||
{{editor system.description target="system.description" button=true owner=owner editable=editable}}
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
{{!-- Attributes Tab --}}
|
||||
|
||||
@@ -37,17 +37,21 @@
|
||||
<input class="attribute-value" type="text" name="system.duree" value="{{system.duree}}" data-dtype="String" />
|
||||
</div>
|
||||
{{/if}}
|
||||
<label>Terres médianes</label>
|
||||
<div class="form-group">
|
||||
<label for="tmrs">Terres médianes</label>
|
||||
<select class="select-tmr attribute-value" name="tmrs" id="tmrs" size={{tmrs.length}} multiple />
|
||||
{{#each tmrs as |tmr key|}}
|
||||
<option class="option-tmr" value="{{tmr.name}}" {{#if tmr.selected}}selected{{/if}}>{{tmr.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
<div class="grid-select-type-tmr">
|
||||
{{#each tmrs as |tmr key|}}
|
||||
<label class="flexrow">
|
||||
<input type="checkbox" data-dtype="Boolean" class="select-tmr"
|
||||
data-tmr-name="{{tmr.name}}" {{#if tmr.selected}}checked{{/if}} />
|
||||
{{tmr.name}}
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-description.html"}}
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
</form>
|
||||
@@ -1,14 +1,14 @@
|
||||
<div class="flexcol">
|
||||
<span><label>Description : </label></span>
|
||||
<div class="form-group editor">
|
||||
{{editor system.description target="system.description" button=true owner=owner editable=editable}}
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if isGM}}
|
||||
<div class="flexcol">
|
||||
<span><label>Description (MJ seulement): </label></span>
|
||||
<div class="form-group editor">
|
||||
{{editor system.descriptionmj target="system.descriptionmj" button=true owner=owner editable=editable}}
|
||||
{{editor descriptionmj target="system.descriptionmj" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
Reference in New Issue
Block a user