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