Compare commits
	
		
			16 Commits
		
	
	
		
			fvtt-les-h
			...
			fvtt-les-h
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 51a457ebf6 | |||
| 2e9c558027 | |||
| bcd0758328 | |||
| 2b680a203f | |||
| e3d7874dce | |||
| ab6a5832c0 | |||
| d83a999974 | |||
| b83890a764 | |||
| 5ad3c165e5 | |||
| 2b3e774cbb | |||
| 96f8d2bceb | |||
| e288c90ee4 | |||
| 8916de8613 | |||
| 8598df5a57 | |||
| 8781462c8d | |||
| 8c38aead3e | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/sort.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/icons/sort.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 88 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								assets/scenes/8DjkNeeujp2qff1N-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/scenes/8DjkNeeujp2qff1N-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 7.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								assets/scenes/ZjIQTg8S4hLZ4kXN-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/scenes/ZjIQTg8S4hLZ4kXN-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								assets/scenes/aanMTXv8znDyE6qb-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/scenes/aanMTXv8znDyE6qb-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								assets/scenes/ypDutqjqZcr7lx6I-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/scenes/ypDutqjqZcr7lx6I-thumb.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								assets/ui/heritiers_background_01.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/ui/heritiers_background_01.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 192 KiB  | 
							
								
								
									
										33
									
								
								lang/fr.json
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								lang/fr.json
									
									
									
									
									
								
							@@ -2,22 +2,23 @@
 | 
			
		||||
  "TYPES": {
 | 
			
		||||
    "Actor": {
 | 
			
		||||
      "personnage": "Personnage",
 | 
			
		||||
      "PNJ": "PNJ"
 | 
			
		||||
      "pnj": "PNJ"
 | 
			
		||||
    },
 | 
			
		||||
    "Item": {
 | 
			
		||||
      "accessoire": "Accessoire",
 | 
			
		||||
      "arme": "Arme",
 | 
			
		||||
      "atoutfeerique": "Atout féerique",
 | 
			
		||||
      "avantage": "Avantage",
 | 
			
		||||
      "capacitenaturelle": "Capacité naturelle",
 | 
			
		||||
      "competence": "Compétence",
 | 
			
		||||
      "contact": "Contact",
 | 
			
		||||
      "desavantage": "Désavantage",
 | 
			
		||||
      "equipement": "Equipement",
 | 
			
		||||
      "fee": "Fée",
 | 
			
		||||
      "pouvoir": "Pouvoir",
 | 
			
		||||
      "profil": "Profil",
 | 
			
		||||
      "protection": "Protection",
 | 
			
		||||
      "sort": "Sort"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "Item": {
 | 
			
		||||
    "accessoire": "Accessoire",
 | 
			
		||||
    "arme": "Arme",
 | 
			
		||||
    "atoutfeerique": "Atout féerique",
 | 
			
		||||
    "avantage": "Avantage",
 | 
			
		||||
    "capacitenaturelle": "Capacité naturelle",
 | 
			
		||||
    "competence": "Compétence",
 | 
			
		||||
    "contact": "Contact",
 | 
			
		||||
    "desavantage": "Désavantage",
 | 
			
		||||
    "equipement": "Equipement",
 | 
			
		||||
    "fee": "Fée",
 | 
			
		||||
    "pouvoir": "Pouvoir",
 | 
			
		||||
    "profil": "Profil",
 | 
			
		||||
    "protection": "Protection"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -12,7 +12,7 @@ export class HeritiersActorPNJSheet extends HeritiersActorSheet {
 | 
			
		||||
  /** @override */
 | 
			
		||||
  static get defaultOptions() {
 | 
			
		||||
 | 
			
		||||
    return mergeObject(super.defaultOptions, {
 | 
			
		||||
    return foundry.utils.mergeObject(super.defaultOptions, {
 | 
			
		||||
      classes: ["fvtt-les-heritiers", "sheet", "actor"],
 | 
			
		||||
      template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.html",
 | 
			
		||||
      width: 780,
 | 
			
		||||
 
 | 
			
		||||
@@ -6,12 +6,12 @@
 | 
			
		||||
import { HeritiersUtility } from "./heritiers-utility.js";
 | 
			
		||||
 | 
			
		||||
/* -------------------------------------------- */
 | 
			
		||||
export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
export class HeritiersActorSheet extends foundry.appv1.sheets.ActorSheet {
 | 
			
		||||
 | 
			
		||||
  /** @override */
 | 
			
		||||
  static get defaultOptions() {
 | 
			
		||||
 | 
			
		||||
    return mergeObject(super.defaultOptions, {
 | 
			
		||||
    return foundry.utils.mergeObject(super.defaultOptions, {
 | 
			
		||||
      classes: ["fvtt-les-heritiers", "sheet", "actor"],
 | 
			
		||||
      template: "systems/fvtt-les-heritiers/templates/actor-sheet.html",
 | 
			
		||||
      width: 780,
 | 
			
		||||
@@ -24,7 +24,7 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async getData() {
 | 
			
		||||
    const objectData = duplicate(this.object)    
 | 
			
		||||
    const objectData = foundry.utils.duplicate(this.object)
 | 
			
		||||
 | 
			
		||||
    let formData = {
 | 
			
		||||
      title: this.title,
 | 
			
		||||
@@ -42,27 +42,28 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
      utileSkillsPhysical :this.actor.organizeUtileSkills("physical"),
 | 
			
		||||
      futileSkills :this.actor.organizeFutileSkills(),
 | 
			
		||||
      contacts: this.actor.organizeContacts(),
 | 
			
		||||
      armes: duplicate(this.actor.getWeapons()),
 | 
			
		||||
      monnaies: duplicate(this.actor.getMonnaies()),
 | 
			
		||||
      pouvoirs: duplicate(this.actor.getPouvoirs()),
 | 
			
		||||
      fee: duplicate(this.actor.getFee() || {} ),
 | 
			
		||||
      protections: duplicate(this.actor.getArmors()),
 | 
			
		||||
      armes: foundry.utils.duplicate(this.actor.getWeapons()),
 | 
			
		||||
      monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
 | 
			
		||||
      pouvoirs: foundry.utils.duplicate(this.actor.getPouvoirs()),
 | 
			
		||||
      fee: foundry.utils.duplicate(this.actor.getFee() || {} ),
 | 
			
		||||
      protections: foundry.utils.duplicate(this.actor.getArmors()),
 | 
			
		||||
      combat: this.actor.getCombatValues(),
 | 
			
		||||
      equipements: duplicate(this.actor.getEquipments()),
 | 
			
		||||
      avantages: duplicate(this.actor.getAvantages()),
 | 
			
		||||
      atouts: duplicate(this.actor.getAtouts()),
 | 
			
		||||
      capacites: duplicate(this.actor.getCapacites()),
 | 
			
		||||
      desavantages: duplicate(this.actor.getDesavantages()),
 | 
			
		||||
      profils: duplicate(this.actor.getProfils()),
 | 
			
		||||
      equipements: foundry.utils.duplicate(this.actor.getEquipments()),
 | 
			
		||||
      avantages: foundry.utils.duplicate(this.actor.getAvantages()),
 | 
			
		||||
      atouts: foundry.utils.duplicate(this.actor.getAtouts()),
 | 
			
		||||
      capacites: foundry.utils.duplicate(this.actor.getCapacites()),
 | 
			
		||||
      desavantages: foundry.utils.duplicate(this.actor.getDesavantages()),
 | 
			
		||||
      profils: foundry.utils.duplicate(this.actor.getProfils()),
 | 
			
		||||
      pvMalus: this.actor.getPvMalus(),
 | 
			
		||||
      heritage: game.settings.get("fvtt-les-heritiers", "heritiers-heritage"),
 | 
			
		||||
      initiative: this.actor.getFlag("world", "last-initiative") || -1,
 | 
			
		||||
      description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
 | 
			
		||||
      revesetranges: await TextEditor.enrichHTML(this.object.system.biodata.revesetranges, {async: true}),
 | 
			
		||||
      secretsdecouverts: await TextEditor.enrichHTML(this.object.system.biodata.secretsdecouverts, {async: true}),
 | 
			
		||||
      questions: await TextEditor.enrichHTML(this.object.system.biodata.questions, {async: true}),
 | 
			
		||||
      habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
 | 
			
		||||
      playernotes: await TextEditor.enrichHTML(this.object.system.biodata.playernotes, {async: true}),
 | 
			
		||||
      description: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
 | 
			
		||||
      revesetranges: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.revesetranges, {async: true}),
 | 
			
		||||
      secretsdecouverts: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.secretsdecouverts, {async: true}),
 | 
			
		||||
      questions: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.questions, {async: true}),
 | 
			
		||||
      habitat: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
 | 
			
		||||
      playernotes: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.playernotes, {async: true}),
 | 
			
		||||
      magieList: this.actor.prepareMagie(),
 | 
			
		||||
      options: this.options,
 | 
			
		||||
      owner: this.document.isOwner,
 | 
			
		||||
      editScore: this.options.editScore,
 | 
			
		||||
@@ -77,19 +78,42 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getCelluleTalents( )  {
 | 
			
		||||
    let talents = []
 | 
			
		||||
    for(let cellule of game.actors) {
 | 
			
		||||
      if (cellule.type == "cellule") {
 | 
			
		||||
        let found = cellule.system.members.find( it => it.id == this.actor.id)
 | 
			
		||||
        if (found) {
 | 
			
		||||
          talents = talents.concat( cellule.getTalents() )
 | 
			
		||||
  dialogRecupUsage() {
 | 
			
		||||
    new Dialog({
 | 
			
		||||
      title: "Récupération des Points d'Usage",
 | 
			
		||||
      content: "<p>Combien de Points d'Usage souhaitez-vous récupérer ?</p>",
 | 
			
		||||
      buttons: {
 | 
			
		||||
        one: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "1 Point",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            this.actor.recupUsage(1)
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        two: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "2 Points",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            this.actor.recupUsage(2)
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        four: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "4 Points",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            this.actor.recupUsage(4)
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        all: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "Tous les Points",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            this.actor.recupUsage(100)
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    return talents
 | 
			
		||||
    }).render(true)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  /** @override */
 | 
			
		||||
  activateListeners(html) {
 | 
			
		||||
@@ -154,6 +178,11 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
      let compId  = li.data("item-id")
 | 
			
		||||
      this.actor.rollCompetence(compId)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.roll-sort').click((event) => {
 | 
			
		||||
      const li = $(event.currentTarget).parents(".item")
 | 
			
		||||
      let sortId  = li.data("item-id")
 | 
			
		||||
      this.actor.rollSort(sortId)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.roll-attaque-arme').click((event) => {
 | 
			
		||||
      const li = $(event.currentTarget).parents(".item")
 | 
			
		||||
      let armeId  = li.data("item-id")
 | 
			
		||||
@@ -180,6 +209,9 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
      let pouvoirId = li.data("item-id")
 | 
			
		||||
      this.actor.rollPouvoir(pouvoirId)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.dialog-recup-usage').click((event) => {
 | 
			
		||||
      this.dialogRecupUsage()
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.find('.item-add').click((event) => {
 | 
			
		||||
      const itemType = $(event.currentTarget).data("type")
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
 | 
			
		||||
      data.items = []
 | 
			
		||||
      for (let skill of skills) {
 | 
			
		||||
        if (skill.system.categorie == "utile") {
 | 
			
		||||
        if (skill.system.categorie == "utile" && skill.system.profil != "magie") {
 | 
			
		||||
          data.items.push(skill.toObject())
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
@@ -54,7 +54,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  prepareArme(arme) {
 | 
			
		||||
    arme = duplicate(arme)
 | 
			
		||||
    arme = foundry.utils.duplicate(arme)
 | 
			
		||||
    arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
 | 
			
		||||
    return arme
 | 
			
		||||
  }
 | 
			
		||||
@@ -73,7 +73,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  getOtherMeleeWeapons(excludeArme) {
 | 
			
		||||
    let armes = []
 | 
			
		||||
    for (let arme of this.items) {
 | 
			
		||||
      if ( HeritiersUtility.isArmeMelee(arme) && arme.id != excludeArme._id) {
 | 
			
		||||
      if (HeritiersUtility.isArmeMelee(arme) && arme.id != excludeArme._id) {
 | 
			
		||||
        armes.push(this.prepareArme(arme))
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
@@ -86,7 +86,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
 | 
			
		||||
  /* -----------------------  --------------------- */
 | 
			
		||||
  addMember(actorId) {
 | 
			
		||||
    let members = duplicate(this.system.members)
 | 
			
		||||
    let members = foundry.utils.duplicate(this.system.members)
 | 
			
		||||
    members.push({ id: actorId })
 | 
			
		||||
    this.update({ 'system.members': members })
 | 
			
		||||
  }
 | 
			
		||||
@@ -135,13 +135,55 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    return this.getItemSorted(["profil"])
 | 
			
		||||
  }
 | 
			
		||||
  getPouvoirs() {
 | 
			
		||||
    return this.getItemSorted(["pouvoir"])
 | 
			
		||||
    let pouvoirs = []
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      if (item.type == "pouvoir") {
 | 
			
		||||
        let itemObj = foundry.utils.duplicate(item)
 | 
			
		||||
        itemObj.maxUsage = this.getPouvoirUsageMax(item)
 | 
			
		||||
        pouvoirs.push(itemObj)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    HeritiersUtility.sortArrayObjectsByName(pouvoirs)
 | 
			
		||||
    return pouvoirs
 | 
			
		||||
  }
 | 
			
		||||
  getSorts() {
 | 
			
		||||
    return this.getItemSorted(["sort"])
 | 
			
		||||
  }
 | 
			
		||||
  getCompetencesMagie() {
 | 
			
		||||
    let comp = []
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      if (item.type == "competence" && item.system.profil == "magie") {
 | 
			
		||||
        let itemObj = foundry.utils.duplicate(item)
 | 
			
		||||
        comp.push(itemObj)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    HeritiersUtility.sortArrayObjectsByName(comp)
 | 
			
		||||
    return comp
 | 
			
		||||
  }
 | 
			
		||||
  prepareMagie() {
 | 
			
		||||
    let magieList = []
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      if (item.type == "competence" && item.system.profil == "magie") {
 | 
			
		||||
        let magie = {}
 | 
			
		||||
        magie.name = item.name
 | 
			
		||||
        magie.competence = foundry.utils.duplicate(item)
 | 
			
		||||
        magie.sorts = []
 | 
			
		||||
        for (let sort of this.items) {
 | 
			
		||||
          if (sort.type == "sort" && sort.system.competence == item.name) {
 | 
			
		||||
            magie.sorts.push(sort)
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        magieList.push(magie)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    return magieList
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getSkills() {
 | 
			
		||||
    let comp = []
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      item = duplicate(item)
 | 
			
		||||
      item = foundry.utils.duplicate(item)
 | 
			
		||||
      if (item.type == "competence") {
 | 
			
		||||
        comp.push(item)
 | 
			
		||||
      }
 | 
			
		||||
@@ -152,7 +194,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  prepareUtileSkill(item) {
 | 
			
		||||
    let specList = []
 | 
			
		||||
    if (item && item.system.categorie && item.system.categorie == "utile") {
 | 
			
		||||
    if (item?.system?.categorie == "utile") {
 | 
			
		||||
      for (let spec of item.system.specialites) {
 | 
			
		||||
        specList.push(spec.name)
 | 
			
		||||
      }
 | 
			
		||||
@@ -248,9 +290,39 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async prepareData() {
 | 
			
		||||
 | 
			
		||||
    let pvMax = (this.system.caracteristiques.con.rang * 3) + 9 + this.system.pv.mod
 | 
			
		||||
    if (this.system.pv.max != pvMax) {
 | 
			
		||||
      this.update({ 'system.pv.max': pvMax })
 | 
			
		||||
    }
 | 
			
		||||
    if (this.system.biodata.magie || this.type == "pnj") {
 | 
			
		||||
      let pointsAmes = this.system.caracteristiques.esp.rang + this.system.caracteristiques.san.rang + this.getMaxRangMagie()
 | 
			
		||||
      if (this.system.magie.pointsame.max != pointsAmes) {
 | 
			
		||||
        this.update({ 'system.magie.pointsame.max': pointsAmes })
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    super.prepareData();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getMaxRangMagie() {
 | 
			
		||||
    let niv = 0
 | 
			
		||||
    let bestMagie
 | 
			
		||||
    for (let comp of this.items) {
 | 
			
		||||
      if (comp.type == "competence" && comp.system.profil == "magie") {
 | 
			
		||||
        if (comp.system.niveau > niv) {
 | 
			
		||||
          bestMagie = comp
 | 
			
		||||
          niv = comp.system.niveau
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (bestMagie) {
 | 
			
		||||
      return Math.round(bestMagie.system.niveau / 2)
 | 
			
		||||
    }
 | 
			
		||||
    return 0
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  prepareDerivedData() {
 | 
			
		||||
 | 
			
		||||
@@ -270,7 +342,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  getItemById(id) {
 | 
			
		||||
    let item = this.items.find(item => item.id == id);
 | 
			
		||||
    if (item) {
 | 
			
		||||
      item = duplicate(item)
 | 
			
		||||
      item = foundry.utils.duplicate(item)
 | 
			
		||||
    }
 | 
			
		||||
    return item;
 | 
			
		||||
  }
 | 
			
		||||
@@ -278,7 +350,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async equipItem(itemId) {
 | 
			
		||||
    let item = this.items.find(item => item.id == itemId)
 | 
			
		||||
    if (item && item.system) {
 | 
			
		||||
    if (item?.system) {
 | 
			
		||||
      let update = { _id: item.id, "system.equipped": !item.system.equipped }
 | 
			
		||||
      await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
 | 
			
		||||
    }
 | 
			
		||||
@@ -328,7 +400,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getCarac(attrKey) {
 | 
			
		||||
    return duplicate(this.system.caracteristiques)
 | 
			
		||||
    return foundry.utils.duplicate(this.system.caracteristiques)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -339,7 +411,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async equipGear(equipmentId) {
 | 
			
		||||
    let item = this.items.find(item => item.id == equipmentId);
 | 
			
		||||
    if (item && item.system.data) {
 | 
			
		||||
    if (item?.system) {
 | 
			
		||||
      let update = { _id: item.id, "system.equipped": !item.system.equipped };
 | 
			
		||||
      await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
 | 
			
		||||
    }
 | 
			
		||||
@@ -349,13 +421,13 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  getSubActors() {
 | 
			
		||||
    let subActors = [];
 | 
			
		||||
    for (let id of this.system.subactors) {
 | 
			
		||||
      subActors.push(duplicate(game.actors.get(id)));
 | 
			
		||||
      subActors.push(foundry.utils.duplicate(game.actors.get(id)));
 | 
			
		||||
    }
 | 
			
		||||
    return subActors;
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async addSubActor(subActorId) {
 | 
			
		||||
    let subActors = duplicate(this.system.subactors);
 | 
			
		||||
    let subActors = foundry.utils.duplicate(this.system.subactors);
 | 
			
		||||
    subActors.push(subActorId);
 | 
			
		||||
    await this.update({ 'system.subactors': subActors });
 | 
			
		||||
  }
 | 
			
		||||
@@ -377,7 +449,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async incDecAdversite(adv, incDec = 0) {
 | 
			
		||||
    let adversite = duplicate(this.system.adversite)
 | 
			
		||||
    let adversite = foundry.utils.duplicate(this.system.adversite)
 | 
			
		||||
    adversite[adv] += Number(incDec)
 | 
			
		||||
    adversite[adv] = Math.max(adversite[adv], 0)
 | 
			
		||||
    this.update({ 'system.adversite': adversite })
 | 
			
		||||
@@ -424,7 +496,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async setPredilectionUsed(compId, predIdx) {
 | 
			
		||||
    let comp = this.items.get(compId)
 | 
			
		||||
    let pred = duplicate(comp.system.predilections)
 | 
			
		||||
    let pred = foundry.utils.duplicate(comp.system.predilections)
 | 
			
		||||
    pred[predIdx].used = true
 | 
			
		||||
    await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
 | 
			
		||||
  }
 | 
			
		||||
@@ -446,7 +518,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      }
 | 
			
		||||
      if (arme.system.totalDefensif > maxDef) {
 | 
			
		||||
        maxDef = arme.system.totalDefensif
 | 
			
		||||
        bestArme = duplicate(arme)
 | 
			
		||||
        bestArme = foundry.utils.duplicate(arme)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    return bestArme
 | 
			
		||||
@@ -461,7 +533,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
        for (let auto of talent.system.automations) {
 | 
			
		||||
          if (auto.eventtype === "prepare-roll") {
 | 
			
		||||
            if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
 | 
			
		||||
              talent = duplicate(talent)
 | 
			
		||||
              talent = foundry.utils.duplicate(talent)
 | 
			
		||||
              talent.system.bonus = auto.bonus
 | 
			
		||||
              talent.system.baCost = auto.baCost
 | 
			
		||||
              talents.push(talent)
 | 
			
		||||
@@ -501,7 +573,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  incDecTricherie(value) {
 | 
			
		||||
    let tricherie = this.system.rang.tricherie
 | 
			
		||||
    tricherie.value += value
 | 
			
		||||
    if ( tricherie.value < 0 || tricherie.value > tricherie.max) {
 | 
			
		||||
    if (tricherie.value < 0 || tricherie.value > tricherie.max) {
 | 
			
		||||
      ui.notifications.warn("Pas assez de points de Tricherie !")
 | 
			
		||||
      return false
 | 
			
		||||
    }
 | 
			
		||||
@@ -512,9 +584,9 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getPireCompetence(compName1, compName2) {
 | 
			
		||||
    let comp1 = this.items.find( it => it.name == compName1)
 | 
			
		||||
    let comp2 = this.items.find( it => it.name == compName2)
 | 
			
		||||
    if ( comp1 && comp2 ) {
 | 
			
		||||
    let comp1 = this.items.find(it => it.name == compName1)
 | 
			
		||||
    let comp2 = this.items.find(it => it.name == compName2)
 | 
			
		||||
    if (comp1 && comp2) {
 | 
			
		||||
      if (comp1.system.niveau > comp2.system.niveau) {
 | 
			
		||||
        return comp1
 | 
			
		||||
      } else {
 | 
			
		||||
@@ -523,6 +595,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    }
 | 
			
		||||
    return undefined
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getCommonRollData(compId = undefined, compName = undefined) {
 | 
			
		||||
    let rollData = HeritiersUtility.getBasicRollData()
 | 
			
		||||
@@ -538,16 +611,17 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    rollData.useTricherie = false
 | 
			
		||||
    rollData.useSpecialite = false
 | 
			
		||||
    rollData.useHeritage = false
 | 
			
		||||
    rollData.pouvoirPointsUsage = 1
 | 
			
		||||
    rollData.rulesMalus.push(this.getPvMalus())
 | 
			
		||||
 | 
			
		||||
    if (compId) {
 | 
			
		||||
      rollData.competence = duplicate(this.items.get(compId) || {})
 | 
			
		||||
      rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
 | 
			
		||||
      this.prepareUtileSkill(rollData.competence)
 | 
			
		||||
      rollData.actionImg = rollData.competence?.img
 | 
			
		||||
    }
 | 
			
		||||
    if (compName) {
 | 
			
		||||
      rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
 | 
			
		||||
      if (rollData.competence && rollData.competence.name) {
 | 
			
		||||
      rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
 | 
			
		||||
      if (rollData.competence?.name) {
 | 
			
		||||
        this.prepareUtileSkill(rollData.competence)
 | 
			
		||||
        rollData.actionImg = rollData.competence?.img
 | 
			
		||||
      } else {
 | 
			
		||||
@@ -595,7 +669,6 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  async rollRootCompetence(compKey) {
 | 
			
		||||
    let rollData = this.getCommonRollData()
 | 
			
		||||
    rollData.mode = "competence"
 | 
			
		||||
    console.log("Compkey", compKey)
 | 
			
		||||
    rollData.competence = { name: this.system.competences[compKey].label, system: { niveau: this.system.competences[compKey].niveau } }
 | 
			
		||||
    console.log("RollDatra", rollData)
 | 
			
		||||
    let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
@@ -611,15 +684,35 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    rollDialog.render(true)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollSort(sortId) {
 | 
			
		||||
    let sort = this.items.get(sortId)
 | 
			
		||||
    let comp = this.items.find(it => it.type =="competence" && it.name.toLowerCase() == sort.system.competence.toLowerCase())
 | 
			
		||||
    if (!comp) {
 | 
			
		||||
      ui.notifications.warn("Compétence de magie associée non trouvée !")
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let rollData = this.getCommonRollData(comp.id)
 | 
			
		||||
    rollData.mode = "sort"
 | 
			
		||||
    rollData.sort = foundry.utils.duplicate(sort)
 | 
			
		||||
    rollData.sdValue = HeritiersUtility.getSDSortValue(sort.system.niveau)
 | 
			
		||||
    rollData.sortPointsAme = sort.system.niveau
 | 
			
		||||
    rollData.caracKey = sort.system.carac 
 | 
			
		||||
    console.log("RollData", rollData)
 | 
			
		||||
    let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
    rollDialog.render(true)
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollAttaqueArme(armeId) {
 | 
			
		||||
    let arme = this.items.get(armeId)
 | 
			
		||||
    if (arme) {
 | 
			
		||||
      arme = duplicate(arme)
 | 
			
		||||
      arme = foundry.utils.duplicate(arme)
 | 
			
		||||
      arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
 | 
			
		||||
      let competenceName = "Tir"
 | 
			
		||||
      let key = "prec"
 | 
			
		||||
      if (  arme.system.isMelee) {
 | 
			
		||||
      if (arme.system.isMelee) {
 | 
			
		||||
        competenceName = "Mêlée"
 | 
			
		||||
        key = "agi"
 | 
			
		||||
      }
 | 
			
		||||
@@ -629,7 +722,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      rollData.arme = arme
 | 
			
		||||
      rollData.mode = "arme"
 | 
			
		||||
      rollData.armes = this.getOtherMeleeWeapons(arme)
 | 
			
		||||
      if (rollData.defenderTokenId && arme.system.isMelee ) {
 | 
			
		||||
      if (rollData.defenderTokenId && arme.system.isMelee) {
 | 
			
		||||
        rollData.cacheDifficulte = true
 | 
			
		||||
      }
 | 
			
		||||
      console.log(">>>> ARME", rollData)
 | 
			
		||||
@@ -648,10 +741,10 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, competenceName)
 | 
			
		||||
      rollData.carac = this.system.caracteristiques[key]
 | 
			
		||||
      rollData.caracKey = key
 | 
			
		||||
      rollData.arme = duplicate(arme)
 | 
			
		||||
      rollData.arme = foundry.utils.duplicate(arme)
 | 
			
		||||
      rollData.mode = "attaquebrutale"
 | 
			
		||||
      rollData.armes = this.getOtherMeleeWeapons(arme)
 | 
			
		||||
      rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 } )
 | 
			
		||||
      rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 })
 | 
			
		||||
      let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
      rollDialog.render(true)
 | 
			
		||||
    }
 | 
			
		||||
@@ -666,7 +759,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, pireCompetence.name)
 | 
			
		||||
      rollData.carac = this.system.caracteristiques[key]
 | 
			
		||||
      rollData.caracKey = key
 | 
			
		||||
      rollData.arme = duplicate(arme)
 | 
			
		||||
      rollData.arme = foundry.utils.duplicate(arme)
 | 
			
		||||
      rollData.armes = this.getOtherMeleeWeapons(arme)
 | 
			
		||||
      rollData.mode = "attaquecharge"
 | 
			
		||||
      let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
@@ -683,7 +776,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, competenceName)
 | 
			
		||||
      rollData.carac = this.system.caracteristiques["agi"]
 | 
			
		||||
      rollData.caracKey = "agi"
 | 
			
		||||
      rollData.arme = duplicate(arme)
 | 
			
		||||
      rollData.arme = foundry.utils.duplicate(arme)
 | 
			
		||||
      rollData.mode = "assommer"
 | 
			
		||||
      if (rollData.defenderTokenId) {
 | 
			
		||||
        rollData.cacheDifficulte = true
 | 
			
		||||
@@ -693,22 +786,136 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  pouvoirPassifDialog(pouvoir) {
 | 
			
		||||
    let rollData = this.getCommonRollData()
 | 
			
		||||
    rollData.pouvoir = pouvoir
 | 
			
		||||
    rollData.mode = "pouvoirpassif"
 | 
			
		||||
    rollData.pouvoirPointsUsage = 0
 | 
			
		||||
    rollData.noRoll = true
 | 
			
		||||
 | 
			
		||||
    let d = new Dialog({
 | 
			
		||||
      title: "Activer le pouvoir passif " + pouvoir.name,
 | 
			
		||||
      content: "<p>Choisissez le nombre de Points d'Usage</p>",
 | 
			
		||||
      buttons: {
 | 
			
		||||
        one: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "1 Point d'Usage",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            rollData.pouvoirPointsUsage = 1;
 | 
			
		||||
            HeritiersUtility.rollHeritiers(rollData);
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        two: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "2 Points d'Usage",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            rollData.pouvoirPointsUsage = 2;
 | 
			
		||||
            HeritiersUtility.rollHeritiers(rollData);
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        three: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "3 Points d'Usage",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            rollData.pouvoirPointsUsage = 3;
 | 
			
		||||
            HeritiersUtility.rollHeritiers(rollData);
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        four: {
 | 
			
		||||
          icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
          label: "4 Points d'Usage",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
            rollData.pouvoirPointsUsage = 4;
 | 
			
		||||
            HeritiersUtility.rollHeritiers(rollData);
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        close: {
 | 
			
		||||
          icon: '<i class="fas fa-times"></i>',
 | 
			
		||||
          label: "Annuler",
 | 
			
		||||
          callback: () => {
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      default: "one",
 | 
			
		||||
      render: html => console.log("Pouvoir passif"),
 | 
			
		||||
      close: html => console.log("No option")
 | 
			
		||||
    });
 | 
			
		||||
    d.render(true);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollPouvoir(pouvoirId) {
 | 
			
		||||
    let pouvoir = this.items.get(pouvoirId)
 | 
			
		||||
    if (pouvoir) {
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, undefined)
 | 
			
		||||
      if (pouvoir.system.feeriemasque != "autre") {
 | 
			
		||||
        rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
 | 
			
		||||
        rollData.pouvoirBase.label = "Féerie"
 | 
			
		||||
        rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
 | 
			
		||||
        rollData.caracKey = pouvoir.system.carac
 | 
			
		||||
      if (pouvoir.system.pouvoirtype == "passif") {
 | 
			
		||||
        this.pouvoirPassifDialog(pouvoir)
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
      rollData.pouvoir = duplicate(pouvoir)
 | 
			
		||||
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, undefined)
 | 
			
		||||
 | 
			
		||||
      rollData.pouvoirMaxUsage = this.getPouvoirUsageMax(pouvoir)
 | 
			
		||||
      rollData.pouvoir = foundry.utils.duplicate(pouvoir)
 | 
			
		||||
      rollData.mode = "pouvoir"
 | 
			
		||||
 | 
			
		||||
      if (pouvoir.system.feeriemasque != "autre") {
 | 
			
		||||
        rollData.pouvoirBase = foundry.utils.duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
 | 
			
		||||
        rollData.pouvoirBase.label = "Féerie"
 | 
			
		||||
        if (pouvoir.system.istest && !pouvoir.system.carac) {
 | 
			
		||||
          ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " n'a pas de caractéristique associée")
 | 
			
		||||
        }
 | 
			
		||||
        if (pouvoir.system.istest) {
 | 
			
		||||
          rollData.carac = foundry.utils.duplicate(this.system.caracteristiques[pouvoir.system.carac])
 | 
			
		||||
          rollData.caracKey = pouvoir.system.carac
 | 
			
		||||
        } else {
 | 
			
		||||
          rollData.noRoll = true
 | 
			
		||||
          HeritiersUtility.rollHeritiers(rollData);
 | 
			
		||||
          return;
 | 
			
		||||
          //this.incDecPointsUsage(pouvoir.id, -rollData.pouvoirPointsUsage)
 | 
			
		||||
          //ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " a été utilisé, dépense de " + pouvoirPointsUsage + " points d'usage")
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
      rollDialog.render(true)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  incDecPointsUsage(pouvoirId, value) {
 | 
			
		||||
    let pouvoir = this.items.get(pouvoirId)
 | 
			
		||||
    let newValue = pouvoir.system.pointsusagecourant + value
 | 
			
		||||
    newValue = Math.max(newValue, 0)
 | 
			
		||||
    newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
 | 
			
		||||
    this.updateEmbeddedDocuments('Item', [{ _id: pouvoirId, 'system.pointsusagecourant': newValue }])
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getPouvoirUsage(pouvoirId) {
 | 
			
		||||
    let pouvoir = this.items.get(pouvoirId)
 | 
			
		||||
    return pouvoir.system.pointsusagecourant
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getPouvoirUsageMax(pouvoir) {
 | 
			
		||||
    if (pouvoir.system.masquetype == "masque") {
 | 
			
		||||
      return this.system.rang.masque.value
 | 
			
		||||
    }
 | 
			
		||||
    return this.system.rang.feerie.value
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  recupUsage(value) {
 | 
			
		||||
    let updates = []
 | 
			
		||||
    for (let pouvoir of this.items) {
 | 
			
		||||
      if (pouvoir.type == "pouvoir") {
 | 
			
		||||
        let newValue = pouvoir.system.pointsusagecourant + value
 | 
			
		||||
        newValue = Math.max(newValue, 0)
 | 
			
		||||
        newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
 | 
			
		||||
        updates.push({ _id: pouvoir.id, 'system.pointsusagecourant': newValue })
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (updates.length > 0) {
 | 
			
		||||
      this.updateEmbeddedDocuments('Item', updates)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,8 @@ export const HERITIERS_CONFIG = {
 | 
			
		||||
    "combattant": {kind: "physical",name:"Combattant"},
 | 
			
		||||
    "erudit": {kind: "mental",name:"Erudit"},
 | 
			
		||||
    "savant": {kind: "mental",name:"Savant"},
 | 
			
		||||
    "gentleman": {kind: "mental",name:"Gentleman"}
 | 
			
		||||
    "gentleman": {kind: "mental",name:"Gentleman"},
 | 
			
		||||
    "magie": {kind: "magical", name: "Magie"},
 | 
			
		||||
  },
 | 
			
		||||
  baseTestPouvoir: {
 | 
			
		||||
    "feerie": "Féerie",
 | 
			
		||||
@@ -65,32 +66,32 @@ export const HERITIERS_CONFIG = {
 | 
			
		||||
  },
 | 
			
		||||
  seuilsDifficulte: {
 | 
			
		||||
    "-1": "Aucun/Non applicable",
 | 
			
		||||
    "5": "Enfantine",
 | 
			
		||||
    "6": "Triviale",
 | 
			
		||||
    "7": "Moins Triviale",
 | 
			
		||||
    "8": "Aisée",
 | 
			
		||||
    "7": "Moins Aisée",
 | 
			
		||||
    "10": "Normale",
 | 
			
		||||
    "11": "Moins Normale",
 | 
			
		||||
    "12": "Compliquée",
 | 
			
		||||
    "13": "Plus Compliquée",
 | 
			
		||||
    "14": "Difficile",
 | 
			
		||||
    "15": "Plus Difficile",
 | 
			
		||||
    "16": "Très Difficile",
 | 
			
		||||
    "17": "Très Très Difficile",
 | 
			
		||||
    "18": "Critique",
 | 
			
		||||
    "19": "Plus Critique",
 | 
			
		||||
    "20": "Insurmontable",
 | 
			
		||||
    "20": "Très Insurmontable",
 | 
			
		||||
    "22": "Surhumaine",
 | 
			
		||||
    "23": "Très Surhumaine",
 | 
			
		||||
    "24": "Epique",
 | 
			
		||||
    "25": "Plus Epique",
 | 
			
		||||
    "26": "Légendaire",
 | 
			
		||||
    "26": "Très Légendaire",
 | 
			
		||||
    "28": "Mythique",
 | 
			
		||||
    "29": "Plus Mythique",
 | 
			
		||||
    "30": "Divine"
 | 
			
		||||
    "5": "Enfantine (5)",
 | 
			
		||||
    "6": "Triviale (6)",
 | 
			
		||||
    "7": "Moins Triviale (7)",
 | 
			
		||||
    "8": "Aisée (8)",
 | 
			
		||||
    "9": "Moins Aisée (9)",
 | 
			
		||||
    "10": "Normale (10)",
 | 
			
		||||
    "11": "Moins Normale (11)",
 | 
			
		||||
    "12": "Compliquée (12)",
 | 
			
		||||
    "13": "Plus Compliquée (13)",
 | 
			
		||||
    "14": "Difficile (14)",
 | 
			
		||||
    "15": "Plus Difficile (15)",
 | 
			
		||||
    "16": "Très Difficile (16)",
 | 
			
		||||
    "17": "Très Très Difficile (17)",
 | 
			
		||||
    "18": "Critique (18)",
 | 
			
		||||
    "19": "Plus Critique (19)",
 | 
			
		||||
    "20": "Insurmontable (20)",
 | 
			
		||||
    "21": "Très Insurmontable (21)",
 | 
			
		||||
    "22": "Surhumaine (22)",
 | 
			
		||||
    "23": "Très Surhumaine (23)",
 | 
			
		||||
    "24": "Epique (24)",
 | 
			
		||||
    "25": "Plus Epique (25)",
 | 
			
		||||
    "26": "Légendaire (26)",
 | 
			
		||||
    "27": "Très Légendaire (27)",
 | 
			
		||||
    "28": "Mythique (28)",
 | 
			
		||||
    "29": "Plus Mythique (29)",
 | 
			
		||||
    "30": "Divine (30)"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  attaqueCible: {
 | 
			
		||||
@@ -145,7 +146,72 @@ export const HERITIERS_CONFIG = {
 | 
			
		||||
    "traditionnelle": "Traditionnelle",
 | 
			
		||||
    "moderne": "Moderne",
 | 
			
		||||
    "orientale": "Orientale"
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  }, 
 | 
			
		||||
  typeContact: {
 | 
			
		||||
    "contact": "Contact",
 | 
			
		||||
    "allie": "Allié",
 | 
			
		||||
    "ennemi": "Ennemi",
 | 
			
		||||
    "interet": "Personne d'interêt"
 | 
			
		||||
  },
 | 
			
		||||
  niveauContact: {
 | 
			
		||||
    "1": "1",
 | 
			
		||||
    "2": "2",
 | 
			
		||||
    "3": "3",
 | 
			
		||||
  },
 | 
			
		||||
  pointsUsageList: {
 | 
			
		||||
    "1": "1",
 | 
			
		||||
    "2": "2",
 | 
			
		||||
    "3": "3",
 | 
			
		||||
    "4": "4",
 | 
			
		||||
  },
 | 
			
		||||
  attaquePlusieursList : {
 | 
			
		||||
    "0": "0",
 | 
			
		||||
    "1": "+1",
 | 
			
		||||
    "2": "+2",
 | 
			
		||||
  },
 | 
			
		||||
  attaque2ArmesListe: [
 | 
			
		||||
    {value: "0", label:  "Aucun"}, 
 | 
			
		||||
    {value: "-4", label: "Deux armes à 1 main"},
 | 
			
		||||
    {value: "-2", label: "Deux armes naturelles"},
 | 
			
		||||
    {value: "-2", label: "Avec spécialisation \"Mauvaise Main\""}
 | 
			
		||||
  ],
 | 
			
		||||
  typeProfil: {
 | 
			
		||||
    "mineur": "Mineur",
 | 
			
		||||
    "majeur": "Majeur",
 | 
			
		||||
  },
 | 
			
		||||
  bonusMalusContext: [ 
 | 
			
		||||
    {value: "-6", label: "-6"},
 | 
			
		||||
    {value: "-5", label: "-5"},
 | 
			
		||||
    {value: "-4", label: "-4"},
 | 
			
		||||
    {value: "-3", label: "-3"},
 | 
			
		||||
    {value: "-2", label: "-2"},
 | 
			
		||||
    {value: "-1", label: "-1"},
 | 
			
		||||
    {value: "0", label: "0"},
 | 
			
		||||
    {value: "1", label: "+1"},
 | 
			
		||||
    {value: "2", label: "+2"},
 | 
			
		||||
    {value: "3", label: "+3"},
 | 
			
		||||
    {value: "4", label: "+4"},
 | 
			
		||||
    {value: "5", label: "+5"},
 | 
			
		||||
    {value: "6", label: "+6"}
 | 
			
		||||
  ],
 | 
			
		||||
  listNiveauSort: {
 | 
			
		||||
    "1" : "1",
 | 
			
		||||
    "2" : "2",
 | 
			
		||||
    "3" : "3",
 | 
			
		||||
    "4" : "4"
 | 
			
		||||
  },
 | 
			
		||||
  listNiveau: {
 | 
			
		||||
    "0": "0",
 | 
			
		||||
    "1": "1",
 | 
			
		||||
    "2": "2",
 | 
			
		||||
    "3": "3",
 | 
			
		||||
    "4": "4",
 | 
			
		||||
    "5": "5",
 | 
			
		||||
    "6": "6",
 | 
			
		||||
    "7": "7",
 | 
			
		||||
    "8": "8",
 | 
			
		||||
    "9": "9",
 | 
			
		||||
    "10": "10"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Extend the basic ActorSheet with some very simple modifications
 | 
			
		||||
 * @extends {ActorSheet}
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 import { HeritiersActorSheet } from "./heritiers-actor-sheet.js";
 | 
			
		||||
import { HeritiersUtility } from "./heritiers-utility.js";
 | 
			
		||||
 | 
			
		||||
/* -------------------------------------------- */
 | 
			
		||||
export class HeritiersCreatureSheet extends HeritiersActorSheet {
 | 
			
		||||
 | 
			
		||||
  /** @override */
 | 
			
		||||
  static get defaultOptions() {
 | 
			
		||||
 | 
			
		||||
    return mergeObject(super.defaultOptions, {
 | 
			
		||||
      classes: ["fvtt-les-heritiers", "sheet", "actor"],
 | 
			
		||||
      template: "systems/fvtt-les-heritiers/templates/creature-sheet.html",
 | 
			
		||||
      width: 640,
 | 
			
		||||
      height: 720,
 | 
			
		||||
      tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
 | 
			
		||||
      dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
 | 
			
		||||
      editScore: false
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -4,12 +4,12 @@ import { HeritiersUtility } from "./heritiers-utility.js";
 | 
			
		||||
 * Extend the basic ItemSheet with some very simple modifications
 | 
			
		||||
 * @extends {ItemSheet}
 | 
			
		||||
 */
 | 
			
		||||
export class HeritiersItemSheet extends ItemSheet {
 | 
			
		||||
export class HeritiersItemSheet extends foundry.appv1.sheets.ItemSheet {
 | 
			
		||||
 | 
			
		||||
  /** @override */
 | 
			
		||||
  static get defaultOptions() {
 | 
			
		||||
 | 
			
		||||
    return mergeObject(super.defaultOptions, {
 | 
			
		||||
    return foundry.utils.mergeObject(super.defaultOptions, {
 | 
			
		||||
      classes: ["fvtt-les-heritiers", "sheet", "item"],
 | 
			
		||||
      template: "systems/fvtt-les-heritiers/templates/item-sheet.html",
 | 
			
		||||
      dragDrop: [{ dragSelector: null, dropSelector: null }],
 | 
			
		||||
@@ -48,7 +48,7 @@ export class HeritiersItemSheet extends ItemSheet {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async getData() {
 | 
			
		||||
    const objectData = duplicate(this.object)
 | 
			
		||||
    const objectData = foundry.utils.duplicate(this.object)
 | 
			
		||||
    let formData = {
 | 
			
		||||
      title: this.title,
 | 
			
		||||
      id: this.id,
 | 
			
		||||
@@ -63,11 +63,24 @@ export class HeritiersItemSheet extends ItemSheet {
 | 
			
		||||
      owner: this.document.isOwner,
 | 
			
		||||
      config: game.system.lesheritiers.config,
 | 
			
		||||
      isArmeMelee: HeritiersUtility.isArmeMelee(this.object),
 | 
			
		||||
      description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
 | 
			
		||||
      description: await  foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, {async: true}),
 | 
			
		||||
      mr: (this.object.type == 'specialisation'),
 | 
			
		||||
      isGM: game.user.isGM
 | 
			
		||||
      isGM: game.user.isGM,
 | 
			
		||||
      usageMax: -1
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Items specific data
 | 
			
		||||
    if (this.object.type == 'pouvoir' && this.document.isOwner && this.actor) {
 | 
			
		||||
      formData.usageMax = this.actor.getPouvoirUsageMax(this.object)
 | 
			
		||||
      if (this.object.system.pointsusagecourant == -1) {
 | 
			
		||||
        this.object.system.pointsusagecourant = formData.usageMax
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (this.object.type == 'sort' ) {
 | 
			
		||||
      formData.competencesMagie = HeritiersUtility.getCompetencesMagie()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //this.options.editable = !(this.object.origin == "embeddedItem");
 | 
			
		||||
    console.log("ITEM DATA", formData, this);
 | 
			
		||||
    return formData;
 | 
			
		||||
@@ -87,7 +100,7 @@ export class HeritiersItemSheet extends ItemSheet {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  postItem() {
 | 
			
		||||
    let chatData = duplicate(HeritiersUtility.data(this.item));
 | 
			
		||||
    let chatData = foundry.utils.duplicate(HeritiersUtility.data(this.item));
 | 
			
		||||
    if (this.actor) {
 | 
			
		||||
      chatData.actor = { id: this.actor.id };
 | 
			
		||||
    }
 | 
			
		||||
@@ -129,52 +142,52 @@ export class HeritiersItemSheet extends ItemSheet {
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.find('#add-specialite').click(ev => {
 | 
			
		||||
      let spec = duplicate(this.object.system.specialites)
 | 
			
		||||
      spec.push( { name: "Nouvelle Spécialité", id: randomID(16), used: false }) 
 | 
			
		||||
      let spec = foundry.utils.duplicate(this.object.system.specialites)
 | 
			
		||||
      spec.push( { name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false })
 | 
			
		||||
      this.object.update( { 'system.specialites': spec })
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.delete-specialite').click(ev => {
 | 
			
		||||
      const li = $(ev.currentTarget).parents(".specialite-item")
 | 
			
		||||
      let index = li.data("specialite-index")
 | 
			
		||||
      let spec = duplicate(this.object.system.specialites)
 | 
			
		||||
      let spec = foundry.utils.duplicate(this.object.system.specialites)
 | 
			
		||||
      spec.splice(index,1)
 | 
			
		||||
      this.object.update( { 'system.specialites': spec })
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.edit-specialite').change(ev => {
 | 
			
		||||
      const li = $(ev.currentTarget).parents(".specialite-item")
 | 
			
		||||
      let index = li.data("specialite-index")
 | 
			
		||||
      let spec = duplicate(this.object.system.specialites)
 | 
			
		||||
      let spec = foundry.utils.duplicate(this.object.system.specialites)
 | 
			
		||||
      spec[index].name = ev.currentTarget.value
 | 
			
		||||
      spec[index].id = spec[index].id || randomID(16)
 | 
			
		||||
      spec[index].id = spec[index].id || foundry.utils.randomID(16)
 | 
			
		||||
      this.object.update( { 'system.specialites': spec })
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.edit-specialite-description').change(ev => {
 | 
			
		||||
      const li = $(ev.currentTarget).parents(".specialite-item")
 | 
			
		||||
      let index = li.data("specialite-index")
 | 
			
		||||
      let spec = duplicate(this.object.system.specialites)
 | 
			
		||||
      let spec = foundry.utils.duplicate(this.object.system.specialites)
 | 
			
		||||
      spec[index].description = ev.currentTarget.value
 | 
			
		||||
      spec[index].id = spec[index].id || randomID(16)
 | 
			
		||||
      spec[index].id = spec[index].id || foundry.utils.randomID(16)
 | 
			
		||||
      this.object.update( { 'system.specialites': spec })
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.find('#add-automation').click(ev => {
 | 
			
		||||
      let autom = duplicate(this.object.system.automations)
 | 
			
		||||
      autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: randomID(16) }) 
 | 
			
		||||
      let autom = foundry.utils.duplicate(this.object.system.automations)
 | 
			
		||||
      autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: foundry.utils.randomID(16) })
 | 
			
		||||
      this.object.update( { 'system.automations': autom })
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.delete-automation').click(ev => {
 | 
			
		||||
      const li = $(ev.currentTarget).parents(".automation-item")
 | 
			
		||||
      let index = li.data("automation-index")
 | 
			
		||||
      let autom = duplicate(this.object.system.automations)
 | 
			
		||||
      let autom = foundry.utils.duplicate(this.object.system.automations)
 | 
			
		||||
      autom.splice(index,1)
 | 
			
		||||
      this.object.update( { 'system.automations': autom })
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.automation-edit-field').change(ev => {
 | 
			
		||||
      let index = $(ev.currentTarget).data("automation-index")
 | 
			
		||||
      let field = $(ev.currentTarget).data("automation-field")
 | 
			
		||||
      let auto = duplicate(this.object.system.automations)
 | 
			
		||||
      let auto = foundry.utils.duplicate(this.object.system.automations)
 | 
			
		||||
      auto[index][field] = ev.currentTarget.value
 | 
			
		||||
      auto[index].id = auto[index].id || randomID(16)
 | 
			
		||||
      auto[index].id = auto[index].id || foundry.utils.randomID(16)
 | 
			
		||||
      this.object.update( { 'system.automations': auto })
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,7 @@ export const defaultItemImg = {
 | 
			
		||||
    fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
 | 
			
		||||
    profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp",
 | 
			
		||||
    equipement: "systems/fvtt-les-heritiers/assets/icons/equipement.webp",  
 | 
			
		||||
    sort: "systems/fvtt-les-heritiers/assets/icons/sort.webp",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ import { HeritiersActor } from "./heritiers-actor.js";
 | 
			
		||||
import { HeritiersItemSheet } from "./heritiers-item-sheet.js";
 | 
			
		||||
import { HeritiersActorSheet } from "./heritiers-actor-sheet.js";
 | 
			
		||||
import { HeritiersActorPNJSheet } from "./heritiers-actor-pnj-sheet.js";
 | 
			
		||||
import { HeritiersCreatureSheet } from "./heritiers-creature-sheet.js";
 | 
			
		||||
import { HeritiersUtility } from "./heritiers-utility.js";
 | 
			
		||||
import { HeritiersCombat } from "./heritiers-combat.js";
 | 
			
		||||
import { HeritiersItem } from "./heritiers-item.js";
 | 
			
		||||
@@ -47,6 +46,8 @@ Hooks.once("init", async function () {
 | 
			
		||||
  CONFIG.Combat.documentClass = HeritiersCombat
 | 
			
		||||
  CONFIG.Actor.documentClass = HeritiersActor
 | 
			
		||||
  CONFIG.Item.documentClass = HeritiersItem
 | 
			
		||||
  // Create an object of bonus/malus from -6 to +6 signed
 | 
			
		||||
  HERITIERS_CONFIG.bonusMalus = Array.from({ length: 7 }, (v, k) => toString(k - 6))
 | 
			
		||||
  game.system.lesheritiers = {
 | 
			
		||||
    HeritiersUtility,
 | 
			
		||||
    config: HERITIERS_CONFIG
 | 
			
		||||
@@ -54,12 +55,12 @@ Hooks.once("init", async function () {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  // Register sheet application classes
 | 
			
		||||
  Actors.unregisterSheet("core", ActorSheet);
 | 
			
		||||
  Actors.registerSheet("fvtt-les-heritiers", HeritiersActorSheet, { types: ["personnage"], makeDefault: true })
 | 
			
		||||
  Actors.registerSheet("fvtt-les-heritiers", HeritiersActorPNJSheet, { types: ["pnj"], makeDefault: true })
 | 
			
		||||
  foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
 | 
			
		||||
  foundry.documents.collections.Actors.registerSheet("fvtt-les-heritiers", HeritiersActorSheet, { types: ["personnage"], makeDefault: true })
 | 
			
		||||
  foundry.documents.collections.Actors.registerSheet("fvtt-les-heritiers", HeritiersActorPNJSheet, { types: ["pnj"], makeDefault: true })
 | 
			
		||||
 | 
			
		||||
  Items.unregisterSheet("core", ItemSheet);
 | 
			
		||||
  Items.registerSheet("fvtt-les-heritiers", HeritiersItemSheet, { makeDefault: true })
 | 
			
		||||
  foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
 | 
			
		||||
  foundry.documents.collections.Items.registerSheet("fvtt-les-heritiers", HeritiersItemSheet, { makeDefault: true })
 | 
			
		||||
 | 
			
		||||
  HeritiersUtility.init()
 | 
			
		||||
 | 
			
		||||
@@ -78,6 +79,17 @@ function welcomeMessage() {
 | 
			
		||||
    ` });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* -------------------------------------------- */
 | 
			
		||||
async function importDefaultScene() {
 | 
			
		||||
  let exists = game.scenes.find(j => j.name == "Accueil");
 | 
			
		||||
  if (!exists) {
 | 
			
		||||
    const scenes = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.scenes")
 | 
			
		||||
    let newDocuments = scenes.filter(i => i.name == "Accueil");
 | 
			
		||||
    await game.scenes.documentClass.create(newDocuments);
 | 
			
		||||
    game.scenes.find(i => i.name == "Accueil").activate();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* -------------------------------------------- */
 | 
			
		||||
/*  Foundry VTT Initialization                  */
 | 
			
		||||
@@ -101,7 +113,8 @@ Hooks.once("ready", function () {
 | 
			
		||||
  }).catch(err=>
 | 
			
		||||
    console.log("No stats available, giving up.")
 | 
			
		||||
  )
 | 
			
		||||
  welcomeMessage()
 | 
			
		||||
  welcomeMessage();
 | 
			
		||||
  importDefaultScene();
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@@ -112,10 +125,9 @@ Hooks.on("chatMessage", (html, content, msg) => {
 | 
			
		||||
  if (content[0] == '/') {
 | 
			
		||||
    let regExp = /(\S+)/g;
 | 
			
		||||
    let commands = content.match(regExp);
 | 
			
		||||
    if (game.system.mournblade.commands.processChatCommand(commands, content, msg)) {
 | 
			
		||||
    if (game.system.lesheritiers.commands.processChatCommand(commands, content, msg)) {
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
  static async create(actor, rollData) {
 | 
			
		||||
 | 
			
		||||
    let options = { classes: ["HeritiersDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
 | 
			
		||||
    let html = await renderTemplate('systems/fvtt-les-heritiers/templates/roll-dialog-generic.html', rollData);
 | 
			
		||||
    let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-les-heritiers/templates/roll-dialog-generic.html', rollData);
 | 
			
		||||
 | 
			
		||||
    return new HeritiersRollDialog(actor, rollData, html, options);
 | 
			
		||||
  }
 | 
			
		||||
@@ -18,18 +18,31 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
        icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
        label: "Lancer 1d8",
 | 
			
		||||
        callback: () => { this.roll("d8") }
 | 
			
		||||
      },
 | 
			
		||||
      rolld10: {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    let enableD10 = false
 | 
			
		||||
    let enableD12 = false
 | 
			
		||||
    if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 0) {
 | 
			
		||||
      enableD10 = true
 | 
			
		||||
    }
 | 
			
		||||
    if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 1) {
 | 
			
		||||
      enableD12 = true
 | 
			
		||||
    }
 | 
			
		||||
    if (enableD10) {
 | 
			
		||||
      buttons.rolld10 = {
 | 
			
		||||
        icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
        label: "Lancer 1d10",
 | 
			
		||||
        callback: () => { this.roll("d10") }
 | 
			
		||||
      },
 | 
			
		||||
      rolld12: {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (enableD12) {
 | 
			
		||||
        buttons.rolld12 =  {
 | 
			
		||||
        icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
        label: "Lancer 1d12",
 | 
			
		||||
        callback: () => { this.roll("d12") }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (rollData.tricherie) {
 | 
			
		||||
      buttons["rollTricherie"] = {
 | 
			
		||||
        icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
@@ -55,7 +68,7 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
      buttons: buttons,
 | 
			
		||||
      close: close
 | 
			
		||||
    }
 | 
			
		||||
    // Overwrite in case of carac only -> 1d10
 | 
			
		||||
    // Overwrite in case of carac only -> 1d8
 | 
			
		||||
    if (rollData.mode == "carac") {
 | 
			
		||||
      conf.buttons = {
 | 
			
		||||
        rolld8: {
 | 
			
		||||
@@ -96,7 +109,6 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
  activateListeners(html) {
 | 
			
		||||
    super.activateListeners(html);
 | 
			
		||||
 | 
			
		||||
    var dialog = this;
 | 
			
		||||
    function onLoad() {
 | 
			
		||||
    }
 | 
			
		||||
    $(function () { onLoad(); });
 | 
			
		||||
@@ -105,6 +117,7 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
      this.rollData.sdValue = Number(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#caracKey').change(async (event) => {
 | 
			
		||||
      //console.log("caracKey", event.currentTarget.value)
 | 
			
		||||
      this.rollData.caracKey = String(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#bonus-malus-context').change((event) => {
 | 
			
		||||
@@ -116,6 +129,9 @@ export class HeritiersRollDialog extends Dialog {
 | 
			
		||||
    html.find('#useSpecialite').change((event) => {
 | 
			
		||||
      this.rollData.useSpecialite = event.currentTarget.checked
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#pouvoirPointsUsage').change((event) => {
 | 
			
		||||
      this.rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#attaqueDos').change((event) => {
 | 
			
		||||
      this.rollData.attaqueDos = event.currentTarget.checked
 | 
			
		||||
    })
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ export class HeritiersUtility {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async init() {
 | 
			
		||||
    Hooks.on('renderChatLog', (log, html, data) => HeritiersUtility.chatListeners(html))
 | 
			
		||||
    Hooks.on("getChatLogEntryContext", (html, options) => HeritiersUtility.chatRollMenu(html, options))
 | 
			
		||||
    /* Unused for Heitiers : Hooks.on("getChatMessageContextOptions", (html, options) => HeritiersUtility.chatRollMenu(html, options))*/
 | 
			
		||||
 | 
			
		||||
    this.rollDataStore = {}
 | 
			
		||||
    this.defenderStore = {}
 | 
			
		||||
@@ -104,6 +104,8 @@ export class HeritiersUtility {
 | 
			
		||||
    const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
 | 
			
		||||
    this.skills = skills.map(i => i.toObject())
 | 
			
		||||
 | 
			
		||||
    this.competencesMagie = this.skills.filter(s => s.system.profil == "magie")
 | 
			
		||||
 | 
			
		||||
    game.settings.register("fvtt-les-heritiers", "heritiers-heritage", {
 | 
			
		||||
      name: "Points d'héritage",
 | 
			
		||||
      hint: "Points d'héritage du groupe",
 | 
			
		||||
@@ -114,6 +116,19 @@ export class HeritiersUtility {
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getSDSortValue(niveau) {
 | 
			
		||||
    if (niveau <= 2) return 12;
 | 
			
		||||
    if (niveau <= 4) return 14;
 | 
			
		||||
    if (niveau <= 6) return 16;
 | 
			
		||||
    return 18;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getCompetencesMagie() {
 | 
			
		||||
    return this.competencesMagie
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async loadCompendiumData(compendium) {
 | 
			
		||||
    const pack = game.packs.get(compendium);
 | 
			
		||||
@@ -133,18 +148,18 @@ export class HeritiersUtility {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async chatListeners(html) {
 | 
			
		||||
 | 
			
		||||
    html.on("click", '.predilection-reroll', async event => {
 | 
			
		||||
    $(html).on("click", '.predilection-reroll', async event => {
 | 
			
		||||
      let predIdx = $(event.currentTarget).data("predilection-index")
 | 
			
		||||
      let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
 | 
			
		||||
      let message = game.messages.get(messageId)
 | 
			
		||||
      let rollData = message.getFlag("world", "heritiers-roll")
 | 
			
		||||
      let actor = this.getActorFromRollData(rollData)
 | 
			
		||||
      await actor.setPredilectionUsed(rollData.competence._id, predIdx)
 | 
			
		||||
      rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
 | 
			
		||||
      rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
 | 
			
		||||
      HeritiersUtility.rollHeritiers(rollData)
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.on("click", '.roll-tricherie-2', async event => {
 | 
			
		||||
    $(html).on("click", '.roll-tricherie-2', async event => {
 | 
			
		||||
      let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
 | 
			
		||||
      let message = game.messages.get(messageId)
 | 
			
		||||
      let rollData = message.getFlag("world", "heritiers-roll")
 | 
			
		||||
@@ -155,7 +170,7 @@ export class HeritiersUtility {
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.on("click", '.roll-chat-degat', async event => {
 | 
			
		||||
    $(html).on("click", '.roll-chat-degat', async event => {
 | 
			
		||||
      let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
 | 
			
		||||
      let message = game.messages.get(messageId)
 | 
			
		||||
      let rollData = message.getFlag("world", "heritiers-roll")
 | 
			
		||||
@@ -172,10 +187,9 @@ export class HeritiersUtility {
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-item-header.html',
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-item-description.html',
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-item-nav.html',
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-utile-skills.html',
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-list-niveau.html'
 | 
			
		||||
      'systems/fvtt-les-heritiers/templates/partial-utile-skills.html'
 | 
			
		||||
    ]
 | 
			
		||||
    return loadTemplates(templatePaths);
 | 
			
		||||
    return foundry.applications.handlebars.loadTemplates(templatePaths);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -252,7 +266,7 @@ export class HeritiersUtility {
 | 
			
		||||
 | 
			
		||||
    let id = rollData.rollId;
 | 
			
		||||
    let oldRollData = this.rollDataStore[id] || {};
 | 
			
		||||
    let newRollData = mergeObject(oldRollData, rollData);
 | 
			
		||||
    let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
 | 
			
		||||
    this.rollDataStore[id] = newRollData;
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -391,7 +405,7 @@ export class HeritiersUtility {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if ( !rollData.forcedValue) {
 | 
			
		||||
        rollData.adjacentFaces = duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue])
 | 
			
		||||
        rollData.adjacentFaces = foundry.utils.duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue])
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@@ -434,6 +448,10 @@ export class HeritiersUtility {
 | 
			
		||||
      rollData.isSuccess = (rollData.finalResult >= seuil)
 | 
			
		||||
      rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7)
 | 
			
		||||
      rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7)
 | 
			
		||||
      // Si compétence > 0 et d8 -> echec critique impossible
 | 
			
		||||
      if (rollData?.competence?.system.niveau > 0 && rollData?.mainDice == "d8") {
 | 
			
		||||
        rollData.isCriticalFailure = false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -447,7 +465,7 @@ export class HeritiersUtility {
 | 
			
		||||
      this.computeArmeDegats(rollData, actor)
 | 
			
		||||
    }
 | 
			
		||||
    this.createChatWithRollMode(rollData.alias, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
 | 
			
		||||
      content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
 | 
			
		||||
    }, rollData, "selfroll")
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -459,7 +477,7 @@ export class HeritiersUtility {
 | 
			
		||||
    this.computeMarge(rollData, valeurDefense)
 | 
			
		||||
    rollData.dureeAssommer = (rollData.marge) ? rollData.marge * 2 : 1
 | 
			
		||||
    this.createChatWithRollMode(rollData.alias, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.html`, rollData)
 | 
			
		||||
      content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.html`, rollData)
 | 
			
		||||
    }, rollData, "selfroll")
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -467,8 +485,14 @@ export class HeritiersUtility {
 | 
			
		||||
 | 
			
		||||
    let actor = this.getActorFromRollData(rollData)
 | 
			
		||||
 | 
			
		||||
    if ( rollData.mode == "pouvoir" && actor.getPouvoirUsage(rollData.pouvoir._id) < rollData.pouvoirPointsUsage) {
 | 
			
		||||
      ui.notifications.warn("Pas assez de points d'usage pour ce pouvoir.")
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //rollData.actionImg = "systems/fvtt-les-heritiers/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
 | 
			
		||||
    rollData.carac = duplicate(actor.system.caracteristiques[rollData.caracKey])
 | 
			
		||||
    if (rollData.caracKey == "pre") rollData.caracKey = "pres"; // Patch tomanage wrong carac key
 | 
			
		||||
    rollData.carac = foundry.utils.duplicate(actor.system.caracteristiques[rollData.caracKey])
 | 
			
		||||
 | 
			
		||||
    if (rollData.forcedValue) {
 | 
			
		||||
      rollData.diceFormula = rollData.forcedValue
 | 
			
		||||
@@ -485,7 +509,7 @@ export class HeritiersUtility {
 | 
			
		||||
      rangValue = rollData.rang.value
 | 
			
		||||
    }
 | 
			
		||||
    if (rollData.competence) {
 | 
			
		||||
      let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
 | 
			
		||||
      let compmod = 0 // Bonus de compétence à 0 dans Les Heritiers
 | 
			
		||||
      let specBonus = (rollData.useSpecialite) ? 1 : 0
 | 
			
		||||
      rollData.diceFormula += `+${rollData.carac.value}+${rangValue}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
 | 
			
		||||
    } else if (rollData.pouvoirBase) {
 | 
			
		||||
@@ -526,20 +550,26 @@ export class HeritiersUtility {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
 | 
			
		||||
    await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
 | 
			
		||||
    rollData.roll = duplicate(myRoll)
 | 
			
		||||
    console.log(">>>> ", myRoll)
 | 
			
		||||
    this.computeResult(actor, rollData)
 | 
			
		||||
    this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
 | 
			
		||||
    if ( !rollData.noRoll) {
 | 
			
		||||
      let myRoll = await new Roll(rollData.diceFormula).roll()
 | 
			
		||||
      await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
 | 
			
		||||
      rollData.roll = foundry.utils.duplicate(myRoll)
 | 
			
		||||
      console.log(">>>> ", myRoll)
 | 
			
		||||
      this.computeResult(actor, rollData)
 | 
			
		||||
      this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (rollData.mode == "init") {
 | 
			
		||||
      actor.setFlag("world", "last-initiative", rollData.finalResult)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Gestion pouvoir et points d'usage
 | 
			
		||||
    if (rollData.mode == "pouvoir" || rollData.mode == "pouvoirpassif") {
 | 
			
		||||
      actor.incDecPointsUsage(rollData.pouvoir._id, -rollData.pouvoirPointsUsage)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this.createChatWithRollMode(rollData.alias, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
			
		||||
      content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
			
		||||
    }, rollData)
 | 
			
		||||
 | 
			
		||||
    // Gestion attaque standard
 | 
			
		||||
@@ -568,16 +598,16 @@ export class HeritiersUtility {
 | 
			
		||||
  static async bonusRollHeritiers(rollData) {
 | 
			
		||||
    rollData.bonusFormula = rollData.addedBonus
 | 
			
		||||
 | 
			
		||||
    let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
 | 
			
		||||
    let bonusRoll = await new Roll(rollData.bonusFormula).roll()
 | 
			
		||||
    await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
 | 
			
		||||
    rollData.bonusRoll = duplicate(bonusRoll)
 | 
			
		||||
    rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
 | 
			
		||||
 | 
			
		||||
    rollData.finalResult += rollData.bonusRoll.total
 | 
			
		||||
 | 
			
		||||
    this.computeResult(rollData)
 | 
			
		||||
 | 
			
		||||
    this.createChatWithRollMode(rollData.alias, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
			
		||||
      content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
			
		||||
    }, rollData)
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
@@ -589,7 +619,7 @@ export class HeritiersUtility {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static isArmeMelee(arme) {
 | 
			
		||||
    return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise")) ? true : false
 | 
			
		||||
    return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise"))
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getWhisperRecipients(rollMode, name) {
 | 
			
		||||
@@ -608,7 +638,7 @@ export class HeritiersUtility {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static blindMessageToGM(chatOptions) {
 | 
			
		||||
    let chatGM = duplicate(chatOptions);
 | 
			
		||||
    let chatGM = foundry.utils.duplicate(chatOptions);
 | 
			
		||||
    chatGM.whisper = this.getUsers(user => user.isGM);
 | 
			
		||||
    chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
 | 
			
		||||
    console.log("blindMessageToGM", chatGM);
 | 
			
		||||
@@ -672,7 +702,7 @@ export class HeritiersUtility {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getBasicRollData() {
 | 
			
		||||
    let rollData = {
 | 
			
		||||
      rollId: randomID(16),
 | 
			
		||||
      rollId: foundry.utils.randomID(16),
 | 
			
		||||
      rollMode: game.settings.get("core", "rollMode"),
 | 
			
		||||
      sdList: game.system.lesheritiers.config.seuilsDifficulte,
 | 
			
		||||
      sdValue: -1,
 | 
			
		||||
@@ -750,13 +780,13 @@ export class HeritiersUtility {
 | 
			
		||||
  static chatRollMenu(html, options) {
 | 
			
		||||
    let canApply = li => canvas.tokens.controlled.length && li.find(".heritiers-roll").length
 | 
			
		||||
    let canApplyBA = function (li) {
 | 
			
		||||
      let message = game.messages.get(li.attr("data-message-id"))
 | 
			
		||||
      let message = game.messages.get($(li).attr("data-message-id"))
 | 
			
		||||
      let rollData = message.getFlag("world", "heritiers-roll")
 | 
			
		||||
      let actor = this.getActorFromRollData(rollData)
 | 
			
		||||
      return (!rollData.isReroll && actor.getBonneAventure() > 0)
 | 
			
		||||
    }
 | 
			
		||||
    let canApplyPE = function (li) {
 | 
			
		||||
      let message = game.messages.get(li.attr("data-message-id"))
 | 
			
		||||
      let message = game.messages.get($(li).attr("data-message-id"))
 | 
			
		||||
      let rollData = message.getFlag("world", "heritiers-roll")
 | 
			
		||||
      let actor = this.getActorFromRollData(rollData)
 | 
			
		||||
      return (!rollData.isReroll && actor.getEclat() > 0)
 | 
			
		||||
@@ -791,11 +821,11 @@ export class HeritiersUtility {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async confirmDelete(actorSheet, li) {
 | 
			
		||||
    let itemId = li.data("item-id");
 | 
			
		||||
    let msgTxt = "<p>Are you sure to remove this Item ?";
 | 
			
		||||
    let msgTxt = "<p>Certain de supprimer cet item ?";
 | 
			
		||||
    let buttons = {
 | 
			
		||||
      delete: {
 | 
			
		||||
        icon: '<i class="fas fa-check"></i>',
 | 
			
		||||
        label: "Yes, remove it",
 | 
			
		||||
        label: "Oui !",
 | 
			
		||||
        callback: () => {
 | 
			
		||||
          actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
 | 
			
		||||
          li.slideUp(200, () => actorSheet.render(false));
 | 
			
		||||
@@ -803,12 +833,12 @@ export class HeritiersUtility {
 | 
			
		||||
      },
 | 
			
		||||
      cancel: {
 | 
			
		||||
        icon: '<i class="fas fa-times"></i>',
 | 
			
		||||
        label: "Cancel"
 | 
			
		||||
        label: "Non !"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    msgTxt += "</p>";
 | 
			
		||||
    let d = new Dialog({
 | 
			
		||||
      title: "Confirm removal",
 | 
			
		||||
      title: "Confirmer la suppression",
 | 
			
		||||
      content: msgTxt,
 | 
			
		||||
      buttons: buttons,
 | 
			
		||||
      default: "cancel"
 | 
			
		||||
@@ -816,21 +846,4 @@ export class HeritiersUtility {
 | 
			
		||||
    d.render(true);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /************************************************************************************/
 | 
			
		||||
  static async __create_talents_table() {
 | 
			
		||||
    let compName = "fvtt-les-heritiers.talents-cellule"
 | 
			
		||||
    const compData = await HeritiersUtility.loadCompendium(compName)
 | 
			
		||||
    let talents = compData.map(i => i.toObject())
 | 
			
		||||
 | 
			
		||||
    let htmlTab = "<table border='1'><tbody>";
 | 
			
		||||
    for (let entryData of talents) {
 | 
			
		||||
      console.log(entryData)
 | 
			
		||||
      htmlTab += `<tr><td>@UUID[Compendium.${compName}.${entryData._id}]{${entryData.name}}</td>`
 | 
			
		||||
      htmlTab += `<td>${entryData.system.description}</td>`;
 | 
			
		||||
      //htmlTab += `<td>${entryData.system.resumebonus}</td>`;
 | 
			
		||||
      htmlTab += "</tr>\n";
 | 
			
		||||
    }
 | 
			
		||||
    htmlTab += "</table>";
 | 
			
		||||
    await JournalEntry.create({ name: 'Liste des Talents de Cellule', content: htmlTab });
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/archetypes-fees/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/archetypes-fees/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.770355 7f3e98c006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.820661 7f3e98c006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.820788 7f3e98c006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.446191 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.446215 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.452205 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.452327 7f3e938006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.452360 7f3e938006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.578482 7f4168bf96c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.589780 7f4168bf96c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.589884 7f4168bf96c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.547850 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.552846 7f4162bff6c0 Level-0 table #178: 76976 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.560090 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.575866 7f4162bff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.601802 7f4162bff6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at '!items!y1yOenfAJTsb3r6e' @ 93 : 1
 | 
			
		||||
2025/05/02-08:32:33.601825 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.607383 7f4162bff6c0 Generated table #179@1: 31 keys, 76976 bytes
 | 
			
		||||
2025/05/02-08:32:33.607418 7f4162bff6c0 Compacted 1@1 + 1@2 files => 76976 bytes
 | 
			
		||||
2025/05/02-08:32:33.613654 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.613823 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.614198 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.630595 7f4162bff6c0 Manual compaction at level-1 from '!items!y1yOenfAJTsb3r6e' @ 93 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.193927 7f3e98c006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.261110 7f3e98c006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.261235 7f3e98c006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.036646 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.036686 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.069486 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.171699 7f3e938006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.171745 7f3e938006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.433551 7f1d08bf96c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.443811 7f1d08bf96c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.443896 7f1d08bf96c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.249266 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.249291 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.255594 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.274735 7f1d027ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.274768 7f1d027ff6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/archetypes-fees/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/archetypes-fees/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/armes-et-protection/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/armes-et-protection/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.877624 7f3e98c006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.947094 7f3e98c006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.947235 7f3e98c006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.465743 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.465774 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.471945 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.479764 7f3e938006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.479792 7f3e938006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.625683 7f41693fa6c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.636729 7f41693fa6c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.636867 7f41693fa6c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.536656 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.540777 7f4162bff6c0 Level-0 table #178: 18161 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.547563 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.575848 7f4162bff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.589023 7f4162bff6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at '!items!zbsVCsWxRzkzzG1N' @ 216 : 1
 | 
			
		||||
2025/05/02-08:32:33.589042 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.593271 7f4162bff6c0 Generated table #179@1: 72 keys, 18161 bytes
 | 
			
		||||
2025/05/02-08:32:33.593306 7f4162bff6c0 Compacted 1@1 + 1@2 files => 18161 bytes
 | 
			
		||||
2025/05/02-08:32:33.600921 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.601153 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.601536 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.630581 7f4162bff6c0 Manual compaction at level-1 from '!items!zbsVCsWxRzkzzG1N' @ 216 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.323675 7f3e98c006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.383254 7f3e98c006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.383381 7f3e98c006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.131102 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.131128 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.171492 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.171737 7f3e938006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.171766 7f3e938006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.459868 7f1d093fa6c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.470425 7f1d093fa6c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.470517 7f1d093fa6c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.262661 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.262685 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.268581 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.274758 7f1d027ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.274792 7f1d027ff6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/armes-et-protection/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/armes-et-protection/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/atouts-feeriques/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/atouts-feeriques/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.709701 7f3e9aa006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.766760 7f3e9aa006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.767209 7f3e9aa006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.439256 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.439284 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.446107 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.452317 7f3e938006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.452388 7f3e938006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.561663 7f41637fe6c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.572350 7f41637fe6c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.572464 7f41637fe6c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.524401 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.529756 7f4162bff6c0 Level-0 table #178: 61883 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.536322 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.575825 7f4162bff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.575912 7f4162bff6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at '!items!zvtBlG6KCIn0oCVk' @ 459 : 1
 | 
			
		||||
2025/05/02-08:32:33.575922 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.581216 7f4162bff6c0 Generated table #179@1: 153 keys, 61883 bytes
 | 
			
		||||
2025/05/02-08:32:33.581273 7f4162bff6c0 Compacted 1@1 + 1@2 files => 61883 bytes
 | 
			
		||||
2025/05/02-08:32:33.588098 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.588368 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.588802 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.630551 7f4162bff6c0 Manual compaction at level-1 from '!items!zvtBlG6KCIn0oCVk' @ 459 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.130341 7f3e9a0006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.191001 7f3e9a0006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.191128 7f3e9a0006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.096186 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.096214 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.130956 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.171727 7f3e938006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.171759 7f3e938006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.420896 7f1d03fff6c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.431112 7f1d03fff6c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.431187 7f1d03fff6c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.236628 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.236663 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.242846 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.249127 7f1d027ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.249160 7f1d027ff6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/atouts-feeriques/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/atouts-feeriques/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/avantages/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/avantages/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.547114 7f3e98c006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.595803 7f3e98c006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.595860 7f3e98c006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.411885 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.411957 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.418341 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.425822 7f3e938006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.425882 7f3e938006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.502811 7f41637fe6c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.513277 7f41637fe6c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.513388 7f41637fe6c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.465976 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.470234 7f4162bff6c0 Level-0 table #178: 27421 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.477187 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.477436 7f4162bff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.512028 7f4162bff6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at '!items!zfpjROW9LDAlXUkN' @ 189 : 1
 | 
			
		||||
2025/05/02-08:32:33.512048 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.516387 7f4162bff6c0 Generated table #179@1: 63 keys, 27421 bytes
 | 
			
		||||
2025/05/02-08:32:33.516430 7f4162bff6c0 Compacted 1@1 + 1@2 files => 27421 bytes
 | 
			
		||||
2025/05/02-08:32:33.523531 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.523711 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.523938 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.524156 7f4162bff6c0 Manual compaction at level-1 from '!items!zfpjROW9LDAlXUkN' @ 189 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:56.954248 7f3e98c006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.011080 7f3e98c006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.011144 7f3e98c006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:12.939659 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:12.939738 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:12.974003 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.035982 7f3e938006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.036482 7f3e938006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.382022 7f1d08bf96c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.392929 7f1d08bf96c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.392989 7f1d08bf96c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.229453 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.229478 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.236445 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.249116 7f1d027ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.249151 7f1d027ff6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/avantages/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/avantages/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/capacites/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/capacites/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.658872 7f3e98c006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.707855 7f3e98c006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.707911 7f3e98c006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.432984 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.433037 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.439150 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.452306 7f3e938006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.452370 7f3e938006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.545135 7f4163fff6c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.556273 7f4163fff6c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.556450 7f4163fff6c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.455447 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.459276 7f4162bff6c0 Level-0 table #178: 24174 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.465795 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.477419 7f4162bff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.500781 7f4162bff6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at '!items!yWDg2KlXEz33TSmZ' @ 108 : 1
 | 
			
		||||
2025/05/02-08:32:33.500794 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.504939 7f4162bff6c0 Generated table #179@1: 36 keys, 24174 bytes
 | 
			
		||||
2025/05/02-08:32:33.504980 7f4162bff6c0 Compacted 1@1 + 1@2 files => 24174 bytes
 | 
			
		||||
2025/05/02-08:32:33.511393 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.511579 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.511848 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.524138 7f4162bff6c0 Manual compaction at level-1 from '!items!yWDg2KlXEz33TSmZ' @ 108 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.069127 7f3e98c006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.128156 7f3e98c006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.128288 7f3e98c006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.001485 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.001516 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.035725 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.036461 7f3e938006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.036517 7f3e938006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.408818 7f1d093fa6c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.418583 7f1d093fa6c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.418635 7f1d093fa6c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.268699 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.268724 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.274639 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.274776 7f1d027ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.274799 7f1d027ff6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/capacites/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/capacites/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/competences/000180.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/competences/000180.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000176
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.479811 7f3e9aa006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.544828 7f3e9aa006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.544928 7f3e9aa006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.418433 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.418602 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.425565 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.425844 7f3e938006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.425914 7f3e938006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.486843 7f4163fff6c0 Recovering log #174
 | 
			
		||||
2025/05/02-08:12:38.497823 7f4163fff6c0 Delete type=3 #172
 | 
			
		||||
2025/05/02-08:12:38.497971 7f4163fff6c0 Delete type=0 #174
 | 
			
		||||
2025/05/02-08:32:33.432014 7f4162bff6c0 Level-0 table #179: started
 | 
			
		||||
2025/05/02-08:32:33.436580 7f4162bff6c0 Level-0 table #179: 30205 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.443380 7f4162bff6c0 Delete type=0 #177
 | 
			
		||||
2025/05/02-08:32:33.477388 7f4162bff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.477460 7f4162bff6c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at '!items!zEl2NQsnCpELVWzh' @ 285 : 1
 | 
			
		||||
2025/05/02-08:32:33.477471 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.481585 7f4162bff6c0 Generated table #180@1: 74 keys, 30205 bytes
 | 
			
		||||
2025/05/02-08:32:33.481642 7f4162bff6c0 Compacted 1@1 + 1@2 files => 30205 bytes
 | 
			
		||||
2025/05/02-08:32:33.488072 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.488265 7f4162bff6c0 Delete type=2 #159
 | 
			
		||||
2025/05/02-08:32:33.488483 7f4162bff6c0 Delete type=2 #179
 | 
			
		||||
2025/05/02-08:32:33.524098 7f4162bff6c0 Manual compaction at level-1 from '!items!zEl2NQsnCpELVWzh' @ 285 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:56.891960 7f3e9a0006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:56.952223 7f3e9a0006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:56.952276 7f3e9a0006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:12.891762 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:12.891808 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:12.939325 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.001466 7f3e938006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.036435 7f3e938006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.369953 7f1d03fff6c0 Recovering log #170
 | 
			
		||||
2024/11/17-22:48:43.379524 7f1d03fff6c0 Delete type=3 #168
 | 
			
		||||
2024/11/17-22:48:43.379589 7f1d03fff6c0 Delete type=0 #170
 | 
			
		||||
2024/11/17-22:50:28.223060 7f1d027ff6c0 Level-0 table #175: started
 | 
			
		||||
2024/11/17-22:50:28.223138 7f1d027ff6c0 Level-0 table #175: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.229321 7f1d027ff6c0 Delete type=0 #173
 | 
			
		||||
2024/11/17-22:50:28.249101 7f1d027ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.249144 7f1d027ff6c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/competences/MANIFEST-000176
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/competences/MANIFEST-000176
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/desavantages/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/desavantages/000179.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000175
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.597718 7f3e9aa006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.656819 7f3e9aa006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.656888 7f3e9aa006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.426091 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.426150 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.432817 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.452293 7f3e938006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.452380 7f3e938006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.518058 7f41693fa6c0 Recovering log #173
 | 
			
		||||
2025/05/02-08:12:38.529950 7f41693fa6c0 Delete type=3 #171
 | 
			
		||||
2025/05/02-08:12:38.530055 7f41693fa6c0 Delete type=0 #173
 | 
			
		||||
2025/05/02-08:32:33.443582 7f4162bff6c0 Level-0 table #178: started
 | 
			
		||||
2025/05/02-08:32:33.448404 7f4162bff6c0 Level-0 table #178: 31582 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.455254 7f4162bff6c0 Delete type=0 #176
 | 
			
		||||
2025/05/02-08:32:33.477406 7f4162bff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.488601 7f4162bff6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at '!items!xzRJ6JP1HqoqxLdj' @ 195 : 1
 | 
			
		||||
2025/05/02-08:32:33.488624 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.493136 7f4162bff6c0 Generated table #179@1: 65 keys, 31582 bytes
 | 
			
		||||
2025/05/02-08:32:33.493174 7f4162bff6c0 Compacted 1@1 + 1@2 files => 31582 bytes
 | 
			
		||||
2025/05/02-08:32:33.500214 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.500377 7f4162bff6c0 Delete type=2 #106
 | 
			
		||||
2025/05/02-08:32:33.500642 7f4162bff6c0 Delete type=2 #178
 | 
			
		||||
2025/05/02-08:32:33.524120 7f4162bff6c0 Manual compaction at level-1 from '!items!xzRJ6JP1HqoqxLdj' @ 195 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.013189 7f3e9a0006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.067039 7f3e9a0006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.067094 7f3e9a0006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:12.974222 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:12.974263 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.001195 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.036410 7f3e938006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.036499 7f3e938006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.395898 7f1d037fe6c0 Recovering log #169
 | 
			
		||||
2024/11/17-22:48:43.406363 7f1d037fe6c0 Delete type=3 #167
 | 
			
		||||
2024/11/17-22:48:43.406473 7f1d037fe6c0 Delete type=0 #169
 | 
			
		||||
2024/11/17-22:50:28.242967 7f1d027ff6c0 Level-0 table #174: started
 | 
			
		||||
2024/11/17-22:50:28.242990 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.248975 7f1d027ff6c0 Delete type=0 #172
 | 
			
		||||
2024/11/17-22:50:28.249136 7f1d027ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.249166 7f1d027ff6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/desavantages/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/desavantages/MANIFEST-000175
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/pouvoirs/000180.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/pouvoirs/000180.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000176
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
2024/03/01-13:35:49.823296 7f3e9aa006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:49.873901 7f3e9aa006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:49.874024 7f3e9aa006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.459004 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.459035 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.465640 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.479753 7f3e938006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:36:10.479783 7f3e938006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.599663 7f4163fff6c0 Recovering log #174
 | 
			
		||||
2025/05/02-08:12:38.610256 7f4163fff6c0 Delete type=3 #172
 | 
			
		||||
2025/05/02-08:12:38.610386 7f4163fff6c0 Delete type=0 #174
 | 
			
		||||
2025/05/02-08:32:33.560393 7f4162bff6c0 Level-0 table #179: started
 | 
			
		||||
2025/05/02-08:32:33.568946 7f4162bff6c0 Level-0 table #179: 279479 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.575435 7f4162bff6c0 Delete type=0 #177
 | 
			
		||||
2025/05/02-08:32:33.575893 7f4162bff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.614470 7f4162bff6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at '!items!zON0h5SjFyANjPnA' @ 540 : 1
 | 
			
		||||
2025/05/02-08:32:33.614491 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.623438 7f4162bff6c0 Generated table #180@1: 135 keys, 279479 bytes
 | 
			
		||||
2025/05/02-08:32:33.623477 7f4162bff6c0 Compacted 1@1 + 1@2 files => 279479 bytes
 | 
			
		||||
2025/05/02-08:32:33.629748 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.629951 7f4162bff6c0 Delete type=2 #139
 | 
			
		||||
2025/05/02-08:32:33.630303 7f4162bff6c0 Delete type=2 #179
 | 
			
		||||
2025/05/02-08:32:33.630622 7f4162bff6c0 Manual compaction at level-1 from '!items!zON0h5SjFyANjPnA' @ 540 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2024/03/01-13:34:57.263866 7f3e9a0006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.319729 7f3e9a0006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.319881 7f3e9a0006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.069665 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.069694 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.096051 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.171715 7f3e938006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/03/01-13:35:13.171752 7f3e938006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.446368 7f1d037fe6c0 Recovering log #170
 | 
			
		||||
2024/11/17-22:48:43.456501 7f1d037fe6c0 Delete type=3 #168
 | 
			
		||||
2024/11/17-22:48:43.456578 7f1d037fe6c0 Delete type=0 #170
 | 
			
		||||
2024/11/17-22:50:28.255715 7f1d027ff6c0 Level-0 table #175: started
 | 
			
		||||
2024/11/17-22:50:28.255743 7f1d027ff6c0 Level-0 table #175: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.262546 7f1d027ff6c0 Delete type=0 #173
 | 
			
		||||
2024/11/17-22:50:28.274749 7f1d027ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.274785 7f1d027ff6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/pouvoirs/MANIFEST-000176
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/pouvoirs/MANIFEST-000176
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000018
 | 
			
		||||
MANIFEST-000174
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
2024/03/01-13:35:49.949648 7f3e9aa006c0 Recovering log #16
 | 
			
		||||
2024/03/01-13:35:50.076340 7f3e9aa006c0 Delete type=3 #14
 | 
			
		||||
2024/03/01-13:35:50.076419 7f3e9aa006c0 Delete type=0 #16
 | 
			
		||||
2024/03/01-13:36:10.472046 7f3e938006c0 Level-0 table #21: started
 | 
			
		||||
2024/03/01-13:36:10.472076 7f3e938006c0 Level-0 table #21: 0 bytes OK
 | 
			
		||||
2024/03/01-13:36:10.479597 7f3e938006c0 Delete type=0 #19
 | 
			
		||||
2024/03/01-13:36:10.479775 7f3e938006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:12:38.642095 7f4168bf96c0 Recovering log #172
 | 
			
		||||
2025/05/02-08:12:38.652987 7f4168bf96c0 Delete type=3 #170
 | 
			
		||||
2025/05/02-08:12:38.653107 7f4168bf96c0 Delete type=0 #172
 | 
			
		||||
2025/05/02-08:32:33.630766 7f4162bff6c0 Level-0 table #177: started
 | 
			
		||||
2025/05/02-08:32:33.630831 7f4162bff6c0 Level-0 table #177: 0 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.637591 7f4162bff6c0 Delete type=0 #175
 | 
			
		||||
2025/05/02-08:32:33.669383 7f4162bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
2024/03/01-13:34:57.385730 7f3e9a0006c0 Recovering log #12
 | 
			
		||||
2024/03/01-13:34:57.443076 7f3e9a0006c0 Delete type=3 #10
 | 
			
		||||
2024/03/01-13:34:57.443339 7f3e9a0006c0 Delete type=0 #12
 | 
			
		||||
2024/03/01-13:35:13.171839 7f3e938006c0 Level-0 table #17: started
 | 
			
		||||
2024/03/01-13:35:13.171865 7f3e938006c0 Level-0 table #17: 0 bytes OK
 | 
			
		||||
2024/03/01-13:35:13.201190 7f3e938006c0 Delete type=0 #15
 | 
			
		||||
2024/03/01-13:35:13.233618 7f3e938006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:48:43.473498 7f1d093fa6c0 Recovering log #168
 | 
			
		||||
2024/11/17-22:48:43.483301 7f1d093fa6c0 Delete type=3 #166
 | 
			
		||||
2024/11/17-22:48:43.483362 7f1d093fa6c0 Delete type=0 #168
 | 
			
		||||
2024/11/17-22:50:28.281429 7f1d027ff6c0 Level-0 table #173: started
 | 
			
		||||
2024/11/17-22:50:28.281470 7f1d027ff6c0 Level-0 table #173: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.288046 7f1d027ff6c0 Delete type=0 #171
 | 
			
		||||
2024/11/17-22:50:28.300645 7f1d027ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/profils/MANIFEST-000174
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/profils/MANIFEST-000174
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										0
									
								
								packs/scenes/000146.log
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								packs/scenes/000146.log
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/scenes/000148.ldb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/scenes/000148.ldb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1
									
								
								packs/scenes/CURRENT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								packs/scenes/CURRENT
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
MANIFEST-000144
 | 
			
		||||
							
								
								
									
										0
									
								
								packs/scenes/LOCK
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								packs/scenes/LOCK
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										15
									
								
								packs/scenes/LOG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								packs/scenes/LOG
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
2025/05/02-08:12:38.657367 7f41637fe6c0 Recovering log #142
 | 
			
		||||
2025/05/02-08:12:38.668877 7f41637fe6c0 Delete type=3 #140
 | 
			
		||||
2025/05/02-08:12:38.668996 7f41637fe6c0 Delete type=0 #142
 | 
			
		||||
2025/05/02-08:32:33.658042 7f4162bff6c0 Level-0 table #147: started
 | 
			
		||||
2025/05/02-08:32:33.662480 7f4162bff6c0 Level-0 table #147: 4682 bytes OK
 | 
			
		||||
2025/05/02-08:32:33.669142 7f4162bff6c0 Delete type=0 #145
 | 
			
		||||
2025/05/02-08:32:33.669454 7f4162bff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
 | 
			
		||||
2025/05/02-08:32:33.669512 7f4162bff6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at '!scenes!ypDutqjqZcr7lx6I' @ 16 : 1
 | 
			
		||||
2025/05/02-08:32:33.669532 7f4162bff6c0 Compacting 1@1 + 1@2 files
 | 
			
		||||
2025/05/02-08:32:33.673201 7f4162bff6c0 Generated table #148@1: 4 keys, 2992 bytes
 | 
			
		||||
2025/05/02-08:32:33.673241 7f4162bff6c0 Compacted 1@1 + 1@2 files => 2992 bytes
 | 
			
		||||
2025/05/02-08:32:33.681539 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
 | 
			
		||||
2025/05/02-08:32:33.681688 7f4162bff6c0 Delete type=2 #87
 | 
			
		||||
2025/05/02-08:32:33.681917 7f4162bff6c0 Delete type=2 #147
 | 
			
		||||
2025/05/02-08:32:33.707107 7f4162bff6c0 Manual compaction at level-1 from '!scenes!ypDutqjqZcr7lx6I' @ 16 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
 | 
			
		||||
							
								
								
									
										8
									
								
								packs/scenes/LOG.old
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								packs/scenes/LOG.old
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
2024/11/17-22:48:43.485905 7f1d08bf96c0 Recovering log #138
 | 
			
		||||
2024/11/17-22:48:43.496531 7f1d08bf96c0 Delete type=3 #136
 | 
			
		||||
2024/11/17-22:48:43.496608 7f1d08bf96c0 Delete type=0 #138
 | 
			
		||||
2024/11/17-22:50:28.294362 7f1d027ff6c0 Level-0 table #143: started
 | 
			
		||||
2024/11/17-22:50:28.294392 7f1d027ff6c0 Level-0 table #143: 0 bytes OK
 | 
			
		||||
2024/11/17-22:50:28.300492 7f1d027ff6c0 Delete type=0 #141
 | 
			
		||||
2024/11/17-22:50:28.300663 7f1d027ff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
 | 
			
		||||
2024/11/17-22:50:28.300690 7f1d027ff6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								packs/scenes/MANIFEST-000144
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/scenes/MANIFEST-000144
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -482,15 +482,15 @@ table {border: 1px solid #7a7971;}
 | 
			
		||||
  line-height: 1.5rem;
 | 
			
		||||
  border-top: 0 none;
 | 
			
		||||
  border-bottom: 0 none;
 | 
			
		||||
  /*background-color:#2e5561;*/
 | 
			
		||||
  color: #cbdaa3;
 | 
			
		||||
  background-image: url("../assets/ui/bandeau_01.webp");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*  background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/
 | 
			
		||||
nav.sheet-tabs a,
 | 
			
		||||
nav.sheet-tabs .item {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  padding: 0 0.25rem;
 | 
			
		||||
  color: beige;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav.sheet-tabs .item:after {
 | 
			
		||||
@@ -500,7 +500,6 @@ nav.sheet-tabs .item:after {
 | 
			
		||||
  right: 0;
 | 
			
		||||
  height: 2rem;
 | 
			
		||||
  width: 1px;
 | 
			
		||||
  /*border-right: 1px dashed rgba(52, 52, 52, 0.25);*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sheet .tab[data-tab] {
 | 
			
		||||
@@ -1243,6 +1242,7 @@ h4.entry-name.document-name {
 | 
			
		||||
  padding: 1px 1px 0px 1px;
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  text-shadow: 0px 1px 0px #4d3534;
 | 
			
		||||
  color: beige;
 | 
			
		||||
}
 | 
			
		||||
.button-sheet-roll:active {
 | 
			
		||||
  position:relative;
 | 
			
		||||
@@ -1427,6 +1427,12 @@ h4.entry-name.document-name {
 | 
			
		||||
  max-width: 4rem;
 | 
			
		||||
  min-width: 4rem;
 | 
			
		||||
}
 | 
			
		||||
.item-field-label-short-num {
 | 
			
		||||
  padding-top: 6px;
 | 
			
		||||
  flex-grow:1;
 | 
			
		||||
  max-width: 2rem;
 | 
			
		||||
  min-width: 2rem;
 | 
			
		||||
}
 | 
			
		||||
.item-field-label-medium {
 | 
			
		||||
  padding-top: 6px;
 | 
			
		||||
  flex-grow:1;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								system.json
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								system.json
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "id": "fvtt-les-heritiers",
 | 
			
		||||
  "description": "Les Héritiers pour FoundryVTT",
 | 
			
		||||
  "version": "11.0.6",
 | 
			
		||||
  "version": "13.0.0",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Uberwald/LeRatierBretonnien",
 | 
			
		||||
@@ -15,11 +15,13 @@
 | 
			
		||||
  "esmodules": [
 | 
			
		||||
    "modules/heritiers-main.js"
 | 
			
		||||
  ],
 | 
			
		||||
  "gridDistance": 5,
 | 
			
		||||
  "gridUnits": "m",
 | 
			
		||||
  "grid": {
 | 
			
		||||
    "distance": 5,
 | 
			
		||||
    "units": "m"
 | 
			
		||||
  },
 | 
			
		||||
  "license": "LICENSE.txt",
 | 
			
		||||
  "manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-11.0.6.zip",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-13.0.0.zip",
 | 
			
		||||
  "languages": [
 | 
			
		||||
    {
 | 
			
		||||
      "lang": "fr",
 | 
			
		||||
@@ -60,7 +62,9 @@
 | 
			
		||||
          ],
 | 
			
		||||
          "folders": []
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
      ],
 | 
			
		||||
      "packs":
 | 
			
		||||
        ["scenes"]
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "packs": [
 | 
			
		||||
@@ -68,82 +72,121 @@
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Compétences",
 | 
			
		||||
      "name": "competences",
 | 
			
		||||
      "path": "packs/competences.db",
 | 
			
		||||
      "path": "packs/competences",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Avantages",
 | 
			
		||||
      "name": "avantages",
 | 
			
		||||
      "path": "packs/avantages.db",
 | 
			
		||||
      "path": "packs/avantages",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Désavantages",
 | 
			
		||||
      "name": "desavantages",
 | 
			
		||||
      "path": "packs/desavantages.db",
 | 
			
		||||
      "path": "packs/desavantages",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Capacités Naturelles",
 | 
			
		||||
      "name": "capacites",
 | 
			
		||||
      "path": "packs/capacites.db",
 | 
			
		||||
      "path": "packs/capacites",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Atouts Féériques",
 | 
			
		||||
      "name": "atouts-feeriques",
 | 
			
		||||
      "path": "packs/atouts-feeriques.db",
 | 
			
		||||
      "path": "packs/atouts-feeriques",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Fées",
 | 
			
		||||
      "name": "archetypes-fees",
 | 
			
		||||
      "path": "packs/archetypes-fees.db",
 | 
			
		||||
      "path": "packs/archetypes-fees",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Pouvoirs",
 | 
			
		||||
      "name": "pouvoirs",
 | 
			
		||||
      "path": "packs/pouvoirs.db",
 | 
			
		||||
      "path": "packs/pouvoirs",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Armes et Protections",
 | 
			
		||||
      "name": "armes-et-protection",
 | 
			
		||||
      "path": "packs/armes-et-protection.db",
 | 
			
		||||
      "path": "packs/armes-et-protection",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
      "label": "Profils",
 | 
			
		||||
      "name": "profils",
 | 
			
		||||
      "path": "packs/profils.db",
 | 
			
		||||
      "path": "packs/profils",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "flags": {}
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Scene",
 | 
			
		||||
      "label": "Scènes",
 | 
			
		||||
      "name": "scenes",
 | 
			
		||||
      "path": "packs/scenes",
 | 
			
		||||
      "system": "fvtt-les-heritiers",
 | 
			
		||||
      "flags": {},
 | 
			
		||||
      "ownership": {
 | 
			
		||||
        "PLAYER": "OBSERVER",
 | 
			
		||||
        "ASSISTANT": "OWNER"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "primaryTokenAttribute": "sante.vigueur",
 | 
			
		||||
@@ -156,7 +199,7 @@
 | 
			
		||||
  "url": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers",
 | 
			
		||||
  "background": "systems/fvtt-les-heritiers/assets/ui/wallpaper_foundry2.webp",
 | 
			
		||||
  "compatibility": {
 | 
			
		||||
    "minimum": "11",
 | 
			
		||||
    "verified": "11"
 | 
			
		||||
    "minimum": "13",
 | 
			
		||||
    "verified": "13"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -37,7 +37,8 @@
 | 
			
		||||
          "notes": "",
 | 
			
		||||
          "statut": "",
 | 
			
		||||
          "playernotes":"",
 | 
			
		||||
          "gmnotes": ""
 | 
			
		||||
          "gmnotes": "",
 | 
			
		||||
          "magie": false
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "core": {
 | 
			
		||||
@@ -100,7 +101,7 @@
 | 
			
		||||
          "pres": {
 | 
			
		||||
            "label": "Prestance",
 | 
			
		||||
            "labelnorm": "prestance",
 | 
			
		||||
            "abbrev": "pre",
 | 
			
		||||
            "abbrev": "pres",
 | 
			
		||||
            "kind": "mental",
 | 
			
		||||
            "value": 1,
 | 
			
		||||
            "rang": 0,
 | 
			
		||||
@@ -142,7 +143,8 @@
 | 
			
		||||
        },
 | 
			
		||||
        "pv": {
 | 
			
		||||
          "value": 0,
 | 
			
		||||
          "max": 0
 | 
			
		||||
          "max": 0,
 | 
			
		||||
          "mod": 0
 | 
			
		||||
        },
 | 
			
		||||
        "competences": {
 | 
			
		||||
          "aventurier": {
 | 
			
		||||
@@ -182,6 +184,12 @@
 | 
			
		||||
            "pp": 0
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "magie": {
 | 
			
		||||
          "pointsame": {
 | 
			
		||||
            "value": 0,
 | 
			
		||||
            "max": 0
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "experience": {
 | 
			
		||||
          "value": 0,
 | 
			
		||||
          "pourtricher": 0
 | 
			
		||||
@@ -266,7 +274,8 @@
 | 
			
		||||
      "fee",
 | 
			
		||||
      "pouvoir",
 | 
			
		||||
      "profil",
 | 
			
		||||
      "protection"
 | 
			
		||||
      "protection",
 | 
			
		||||
      "sort"
 | 
			
		||||
    ],
 | 
			
		||||
    "profil": {
 | 
			
		||||
      "profiltype": "majeur",
 | 
			
		||||
@@ -322,6 +331,7 @@
 | 
			
		||||
      "portee": "",
 | 
			
		||||
      "resistance": "",      
 | 
			
		||||
      "resistanceautre":"",
 | 
			
		||||
      "pointsusagecourant": -1,
 | 
			
		||||
      "isvirulence": false,
 | 
			
		||||
      "virulence":"",
 | 
			
		||||
      "description": ""
 | 
			
		||||
@@ -335,6 +345,7 @@
 | 
			
		||||
      "niveau": 0,
 | 
			
		||||
      "predilection": false,
 | 
			
		||||
      "specialites": [],
 | 
			
		||||
      "ismagie": false,
 | 
			
		||||
      "description": ""
 | 
			
		||||
    },
 | 
			
		||||
    "equipement": {
 | 
			
		||||
@@ -343,6 +354,19 @@
 | 
			
		||||
        "basequip"
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "sort": {
 | 
			
		||||
      "niveau": "novice",
 | 
			
		||||
      "competence": "Druidisme",
 | 
			
		||||
      "carac": "esp",
 | 
			
		||||
      "duree": "",
 | 
			
		||||
      "portee": "",
 | 
			
		||||
      "concentration": "",
 | 
			
		||||
      "critique": "",
 | 
			
		||||
      "ingredients": "",
 | 
			
		||||
      "resistance": "",
 | 
			
		||||
      "coutactivation": "",
 | 
			
		||||
      "description": ""
 | 
			
		||||
    },
 | 
			
		||||
    "arme": {
 | 
			
		||||
      "categorie": "",
 | 
			
		||||
      "armetype": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -52,11 +52,7 @@
 | 
			
		||||
              <span>  </span>
 | 
			
		||||
 | 
			
		||||
              <select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
 | 
			
		||||
                {{#select system.statutmasque}}
 | 
			
		||||
                  {{#each config.statutMasque as |categ cKey|}}
 | 
			
		||||
                    <option value="{{cKey}}">{{categ}}</option>
 | 
			
		||||
                  {{/each}}
 | 
			
		||||
                {{/select}}
 | 
			
		||||
                {{selectOptions config.statutMasque selected=system.statutmasque}}
 | 
			
		||||
                </select>
 | 
			
		||||
  
 | 
			
		||||
              <span>  </span>
 | 
			
		||||
@@ -117,22 +113,82 @@
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
 | 
			
		||||
                  data-attr-key="tochoose">{{skill.name}}</a></span>
 | 
			
		||||
 | 
			
		||||
                  <select class="item-field-label-short edit-item-data" type="text"
 | 
			
		||||
                data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
 | 
			
		||||
                {{#select skill.system.niveau}}
 | 
			
		||||
                {{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
 | 
			
		||||
                {{/select}}
 | 
			
		||||
                <select class="item-field-label-short edit-item-data" type="text"
 | 
			
		||||
                  data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
 | 
			
		||||
                {{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
 | 
			
		||||
              </select>
 | 
			
		||||
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        <li class="item flexrow " >
 | 
			
		||||
          <h2>Magie</h3>
 | 
			
		||||
        </li>
 | 
			
		||||
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <ul>
 | 
			
		||||
            <li class="flexrow item">
 | 
			
		||||
              <label class="item-field-label-medium roll-style"><a class="item-field-label-short"
 | 
			
		||||
                  data-rang-key="feerie">Point d'Ame</a></label>
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.magie.pointsame.value"
 | 
			
		||||
                value="{{system.magie.pointsame.value}}" data-dtype="Number" />
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.magie.pointsame.max"
 | 
			
		||||
                value="{{system.magie.pointsame.max}}" data-dtype="Number" {{#if issGM}} {{else}} disabled {{/if}} />
 | 
			
		||||
            </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        {{#each magieList as |magie idx|}}
 | 
			
		||||
        <li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
 | 
			
		||||
          <h2 class="flexrow"><label class="items-title-text "><a class="roll-competence item-field-label-short"
 | 
			
		||||
            data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
 | 
			
		||||
          <div class="item-controls item-controls-fixed">
 | 
			
		||||
            <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
            <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
          </div>
 | 
			
		||||
        </h2>      
 | 
			
		||||
        </li>
 | 
			
		||||
  
 | 
			
		||||
        <div class="sheet-box color-bg-archetype">
 | 
			
		||||
          <ul class="item-list alternate-list">
 | 
			
		||||
            <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
              <span class="item-name-label-header item-field-label-long2-img">
 | 
			
		||||
                <h3><label class="items-title-text">Nom du sort</label></h3>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-medium">
 | 
			
		||||
                <label class="short-label">Niveau</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="sort" title="Ajouter un sort"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each sorts as |sort key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{sort._id}}" data-item-type="sort">
 | 
			
		||||
              <img class="item-name-img" src="{{sort.img}}" />
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-sort">{{sort.name}}</a></span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst sort.system.niveau}}</span>
 | 
			
		||||
  
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
        {{/each}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
@@ -221,10 +277,10 @@
 | 
			
		||||
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-equip" title="Worn">{{#if arme.system.equipped}}<i
 | 
			
		||||
                <a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
 | 
			
		||||
                    class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -242,7 +298,7 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
 | 
			
		||||
                <a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
@@ -255,8 +311,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -275,8 +331,8 @@
 | 
			
		||||
          <span class="item-field-label-long2">{{fee.name}}</span>
 | 
			
		||||
          <div class="item-filler"> </div>
 | 
			
		||||
          <div class="item-controls item-controls-fixed">
 | 
			
		||||
            <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
            <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
            <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
          </div>
 | 
			
		||||
        </li>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -287,10 +343,12 @@
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label> 
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" />
 | 
			
		||||
            <span class="item-field-label-long"></span>
 | 
			
		||||
            <span class="item-field-label-medium"></span>
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label> 
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" />
 | 
			
		||||
            <span class="item-field-label-medium"></span>
 | 
			
		||||
            <label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup. P. d'Usage</a></label> 
 | 
			
		||||
          </li>
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -305,6 +363,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each avantages as |avantage key|}}
 | 
			
		||||
@@ -313,8 +373,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{avantage.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -329,6 +389,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="desavantage" title="Ajouter un Désavantage"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each desavantages as |desavantage key|}}
 | 
			
		||||
@@ -337,8 +399,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{desavantage.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -353,6 +415,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un Atout féerique"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each atouts as |atout key|}}
 | 
			
		||||
@@ -361,8 +425,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{atout.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -384,33 +448,34 @@
 | 
			
		||||
              <span class="item-field-label-medium">
 | 
			
		||||
                <label class="short-label">Niveau</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-medium">
 | 
			
		||||
                <label class="short-label">Usage</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each pouvoirs as |pouvoir key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
 | 
			
		||||
              <img class="item-name-img" src="{{pouvoir.img}}" />
 | 
			
		||||
              {{#if pouvoir.system.istest}}
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
 | 
			
		||||
              {{else}}              
 | 
			
		||||
              <span class="item-field-label-long2">{{pouvoir.name}}</span>
 | 
			
		||||
              {{/if}}
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
 | 
			
		||||
              
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        <div class="sheet-box color-bg-archetype">
 | 
			
		||||
          <ul class="item-list alternate-list">
 | 
			
		||||
            <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
@@ -419,6 +484,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une Capacité naturelle"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each capacites as |capa key|}}
 | 
			
		||||
@@ -427,8 +494,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{capa.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -452,8 +519,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{equip.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,8 @@
 | 
			
		||||
                {{#each system.caracteristiques as |carac key|}}
 | 
			
		||||
                {{#if (eq kind "physical")}}
 | 
			
		||||
                <li class="item flexrow ">
 | 
			
		||||
                  <h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4>
 | 
			
		||||
                  <h4 class="item-name-label competence-name roll-style"><a class="roll-carac"
 | 
			
		||||
                      data-key="{{key}}">{{carac.label}}</a></h4>
 | 
			
		||||
                  <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
 | 
			
		||||
                    name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
 | 
			
		||||
                  <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
 | 
			
		||||
@@ -30,7 +31,8 @@
 | 
			
		||||
                {{#each system.caracteristiques as |carac key|}}
 | 
			
		||||
                {{#if (eq kind "mental")}}
 | 
			
		||||
                <li class="item flexrow ">
 | 
			
		||||
                  <h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4>
 | 
			
		||||
                  <h4 class="item-name-label competence-name roll-style"><a class="roll-carac"
 | 
			
		||||
                      data-key="{{key}}">{{carac.label}}</a></h4>
 | 
			
		||||
                  <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
 | 
			
		||||
                    name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
 | 
			
		||||
                  <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
 | 
			
		||||
@@ -42,27 +44,30 @@
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
          </div>
 | 
			
		||||
            <div class="flexrow">
 | 
			
		||||
              <label class="item-field-label-short">PV</label>
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}" data-dtype="Number" />
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" data-dtype="Number" />
 | 
			
		||||
              <label class="item-field-label-short">Malus</label>
 | 
			
		||||
              <input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
 | 
			
		||||
              <span>  </span>
 | 
			
		||||
          <div class="flexrow">
 | 
			
		||||
            <label class="item-field-label-short">PV</label>
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}"
 | 
			
		||||
              data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" disabled
 | 
			
		||||
              data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.pv.mod" value="{{system.pv.mod}}"
 | 
			
		||||
              data-dtype="Number" />
 | 
			
		||||
            <label class="item-field-label-short">Malus</label>
 | 
			
		||||
            <input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
 | 
			
		||||
            <span>  </span>
 | 
			
		||||
 | 
			
		||||
              <select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
 | 
			
		||||
              {{#select system.statutmasque}}
 | 
			
		||||
                {{#each config.statutMasque as |categ cKey|}}
 | 
			
		||||
                  <option value="{{cKey}}">{{categ}}</option>
 | 
			
		||||
                {{/each}}
 | 
			
		||||
              {{/select}}
 | 
			
		||||
              </select>
 | 
			
		||||
            <select class="item-field-label-medium" type="text" name="system.statutmasque"
 | 
			
		||||
              value="{{system.statutmasque}}" data-dtype="string">
 | 
			
		||||
              {{selectOptions config.statutMasque selected=system.statutmasque}}
 | 
			
		||||
            </select>
 | 
			
		||||
 | 
			
		||||
              <span>  </span>
 | 
			
		||||
              <label class="item-field-label-short">Tricherie</label>
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" />
 | 
			
		||||
              <input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
 | 
			
		||||
            </div>
 | 
			
		||||
            <span>  </span>
 | 
			
		||||
            <label class="item-field-label-short">Tricherie</label>
 | 
			
		||||
            <input type="text" class="item-field-label-short-num" name="system.rang.tricherie.value"
 | 
			
		||||
              value="{{system.rang.tricherie.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short-num" name="system.rang.tricherie.max"
 | 
			
		||||
              value="{{system.rang.tricherie.max}}" data-dtype="Number" />
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -72,6 +77,9 @@
 | 
			
		||||
  <nav class="sheet-tabs tabs" data-group="primary">
 | 
			
		||||
    <a class="item" data-tab="competences">Compétences</a>
 | 
			
		||||
    <a class="item" data-tab="fee">Fée</a>
 | 
			
		||||
    {{#if system.biodata.magie}}
 | 
			
		||||
    <a class="item" data-tab="magie">Magie</a>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
    <a class="item" data-tab="combat">Combat</a>
 | 
			
		||||
    <a class="item" data-tab="equipement">Equipement</a>
 | 
			
		||||
    <a class="item" data-tab="contact">Contacts</a>
 | 
			
		||||
@@ -91,13 +99,15 @@
 | 
			
		||||
 | 
			
		||||
          <div>
 | 
			
		||||
            {{#each utileSkillsPhysical as |skillDef keyProfil|}}
 | 
			
		||||
              {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil}}
 | 
			
		||||
            {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil
 | 
			
		||||
            config=config}}
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div>
 | 
			
		||||
            {{#each utileSkillsMental as |skillDef keyProfil|}}
 | 
			
		||||
              {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil}}
 | 
			
		||||
            {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil
 | 
			
		||||
            config=config}}
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
@@ -113,22 +123,24 @@
 | 
			
		||||
                <label class="short-label">Niveau</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="competence" title="Ajouter une compétence futile"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each futileSkills as |skill key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
 | 
			
		||||
                  data-attr-key="tochoose">{{skill.name}}</a></span>
 | 
			
		||||
 | 
			
		||||
                  <select class="item-field-label-short edit-item-data" type="text"
 | 
			
		||||
                data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
 | 
			
		||||
                {{#select skill.system.niveau}}
 | 
			
		||||
                  {{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
 | 
			
		||||
                {{/select}}
 | 
			
		||||
              <select class="item-field-label-short edit-item-data" type="text" data-item-field="niveau"
 | 
			
		||||
                value="{{skill.system.niveau}}" data-dtype="Number">
 | 
			
		||||
                {{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
 | 
			
		||||
              </select>
 | 
			
		||||
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -149,32 +161,41 @@
 | 
			
		||||
        <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
          <label class="item-field-label-medium"><strong>Esquive</strong></label>
 | 
			
		||||
          <label class="item-field-label-medium">Masquée</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.esquive.masquee" value="{{system.combat.esquive.masquee}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.esquive.masquee"
 | 
			
		||||
            value="{{system.combat.esquive.masquee}}" data-dtype="Number" />
 | 
			
		||||
          <label class="item-field-label-medium">Démasquée</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee" value="{{system.combat.esquive.demasquee}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee"
 | 
			
		||||
            value="{{system.combat.esquive.demasquee}}" data-dtype="Number" />
 | 
			
		||||
          <label class="item-field-label-short">  </label>
 | 
			
		||||
          <label class="item-field-label-medium"><strong>Parade</strong></label>
 | 
			
		||||
          <label class="item-field-label-medium">Masquée</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.parade.masquee" value="{{system.combat.parade.masquee}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.parade.masquee"
 | 
			
		||||
            value="{{system.combat.parade.masquee}}" data-dtype="Number" />
 | 
			
		||||
          <label class="item-field-label-medium">Démasquée</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.parade.demasquee" value="{{system.combat.parade.demasquee}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.parade.demasquee"
 | 
			
		||||
            value="{{system.combat.parade.demasquee}}" data-dtype="Number" />
 | 
			
		||||
        </li>
 | 
			
		||||
        <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
          <label class="item-field-label-long">Rés. physique</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value" value="{{system.combat.resistancephysique.value}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value"
 | 
			
		||||
            value="{{system.combat.resistancephysique.value}}" data-dtype="Number" />
 | 
			
		||||
          <label class="item-field-label-short">  </label>
 | 
			
		||||
          <label class="item-field-label-long">Rés. psychique</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value" value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value"
 | 
			
		||||
            value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" />
 | 
			
		||||
          <label class="item-field-label-short">  </label>
 | 
			
		||||
          <label class="item-field-label-medium">Protection : </label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.protection.value" value="{{system.combat.protection.value}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.protection.value"
 | 
			
		||||
            value="{{system.combat.protection.value}}" data-dtype="Number" />
 | 
			
		||||
        </li>
 | 
			
		||||
        <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
          <label class="item-field-label-long">Effets secondaires</label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.effetssecondaires" value="{{system.combat.effetssecondaires}}" data-dtype="String" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.effetssecondaires"
 | 
			
		||||
            value="{{system.combat.effetssecondaires}}" data-dtype="String" />
 | 
			
		||||
          <label class="item-field-label-short">  </label>
 | 
			
		||||
          <label class="item-field-label-long">Dissimulation : </label>
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.dissimulation.value" value="{{system.combat.dissimulation.value}}" data-dtype="Number" />
 | 
			
		||||
          <input type="text" class="item-field-label-short" name="system.combat.dissimulation.value"
 | 
			
		||||
            value="{{system.combat.dissimulation.value}}" data-dtype="Number" />
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
 | 
			
		||||
@@ -220,16 +241,17 @@
 | 
			
		||||
                <button class="roll-attaque-charge-arme button-sheet-roll">Charger</button>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <button class="roll-attaque-brutale-arme button-sheet-roll button-sheet-roll-long1">Attaque brutale</button>
 | 
			
		||||
                <button class="roll-attaque-brutale-arme button-sheet-roll button-sheet-roll-long1">Attaque
 | 
			
		||||
                  brutale</button>
 | 
			
		||||
              </span>
 | 
			
		||||
              {{/if}}
 | 
			
		||||
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-equip" title="Worn">{{#if arme.system.equipped}}<i
 | 
			
		||||
                <a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
 | 
			
		||||
                    class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -247,7 +269,7 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
 | 
			
		||||
                <a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
@@ -260,8 +282,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -280,8 +302,8 @@
 | 
			
		||||
          <span class="item-field-label-long2">{{fee.name}}</span>
 | 
			
		||||
          <div class="item-filler"> </div>
 | 
			
		||||
          <div class="item-controls item-controls-fixed">
 | 
			
		||||
            <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
            <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
            <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
          </div>
 | 
			
		||||
        </li>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -289,13 +311,22 @@
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <ul>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label> 
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" />
 | 
			
		||||
            <span class="item-field-label-long"></span>
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label> 
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" />
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short"
 | 
			
		||||
                data-rang-key="feerie">Féerie</a></label>
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.value"
 | 
			
		||||
              value="{{system.rang.feerie.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.feerie.max"
 | 
			
		||||
              value="{{system.rang.feerie.max}}" data-dtype="Number" />
 | 
			
		||||
            <span class="item-field-label-medium"></span>
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short"
 | 
			
		||||
                data-rang-key="masque">Masque</a></label>
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.value"
 | 
			
		||||
              value="{{system.rang.masque.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.rang.masque.max"
 | 
			
		||||
              value="{{system.rang.masque.max}}" data-dtype="Number" />
 | 
			
		||||
            <span class="item-field-label-medium"></span>
 | 
			
		||||
            <label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup.
 | 
			
		||||
                P. d'Usage</a></label>
 | 
			
		||||
          </li>
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -310,6 +341,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each avantages as |avantage key|}}
 | 
			
		||||
@@ -318,8 +351,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{avantage.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -334,6 +367,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="desavantage" title="Ajouter un désavantage"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each desavantages as |desavantage key|}}
 | 
			
		||||
@@ -342,8 +377,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{desavantage.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -358,6 +393,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un atout féerique"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each atouts as |atout key|}}
 | 
			
		||||
@@ -366,8 +403,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{atout.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -389,26 +426,28 @@
 | 
			
		||||
              <span class="item-field-label-medium">
 | 
			
		||||
                <label class="short-label">Niveau</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-medium">
 | 
			
		||||
                <label class="short-label">Usage</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each pouvoirs as |pouvoir key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
 | 
			
		||||
              <img class="item-name-img" src="{{pouvoir.img}}" />
 | 
			
		||||
              {{#if pouvoir.system.istest}}
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
 | 
			
		||||
              {{else}}              
 | 
			
		||||
              <span class="item-field-label-long2">{{pouvoir.name}}</span>
 | 
			
		||||
              {{/if}}
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
 | 
			
		||||
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -424,6 +463,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une capacité naturelle"><i
 | 
			
		||||
                    class="fas fa-plus"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each capacites as |capa key|}}
 | 
			
		||||
@@ -432,8 +473,8 @@
 | 
			
		||||
              <span class="item-field-label-long2">{{capa.name}}</span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
                <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
                <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
@@ -445,6 +486,68 @@
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    {{!-- Magie Tab --}}
 | 
			
		||||
    <div class="tab magie" data-group="primary" data-tab="magie">
 | 
			
		||||
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <ul>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-medium roll-style"><a class="item-field-label-short"
 | 
			
		||||
                data-rang-key="feerie">Point d'Ame</a></label>
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.magie.pointsame.value"
 | 
			
		||||
              value="{{system.magie.pointsame.value}}" data-dtype="Number" />
 | 
			
		||||
            <input type="text" class="item-field-label-short" name="system.magie.pointsame.max"
 | 
			
		||||
              value="{{system.magie.pointsame.max}}" data-dtype="Number" {{#if issGM}} {{else}} disabled {{/if}} />
 | 
			
		||||
          </li>
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      {{#each magieList as |magie idx|}}
 | 
			
		||||
      <li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
 | 
			
		||||
        <h2 class="flexrow"><label class="items-title-text "><a class="roll-competence item-field-label-short"
 | 
			
		||||
          data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
 | 
			
		||||
        <div class="item-controls item-controls-fixed">
 | 
			
		||||
          <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
          <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
        </div>
 | 
			
		||||
      </h2>
 | 
			
		||||
      </li>
 | 
			
		||||
 | 
			
		||||
      <div class="sheet-box color-bg-archetype">
 | 
			
		||||
        <ul class="item-list alternate-list">
 | 
			
		||||
          <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
            <span class="item-name-label-header item-field-label-long2-img">
 | 
			
		||||
              <h3><label class="items-title-text">Nom du sort</label></h3>
 | 
			
		||||
            </span>
 | 
			
		||||
            <span class="item-field-label-medium">
 | 
			
		||||
              <label class="short-label">Niveau</label>
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-add" data-type="sort" title="Ajouter un sort"><i
 | 
			
		||||
                  class="fas fa-plus"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{#each sorts as |sort key|}}
 | 
			
		||||
          <li class="item flexrow " data-item-id="{{sort._id}}" data-item-type="sort">
 | 
			
		||||
            <img class="item-name-img" src="{{sort.img}}" />
 | 
			
		||||
            <span class="item-field-label-long2 roll-style"><a class="roll-sort">{{sort.name}}</a></span>
 | 
			
		||||
            <span class="item-field-label-medium">{{upperFirst sort.system.niveau}}</span>
 | 
			
		||||
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
      {{/each}}
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    {{!-- Equipement Tab --}}
 | 
			
		||||
    <div class="tab equipement" data-group="primary" data-tab="equipement">
 | 
			
		||||
 | 
			
		||||
@@ -455,8 +558,9 @@
 | 
			
		||||
              <h3><label class="items-title-text">Equipements</label></h3>
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="equipement" title="Créer un équipement"><i class="fas fa-plus"></i></a>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-add" data-type="equipement" title="Créer un équipement"><i
 | 
			
		||||
                  class="fas fa-plus"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{#each equipements as |equip key|}}
 | 
			
		||||
@@ -465,8 +569,8 @@
 | 
			
		||||
            <span class="item-field-label-long2">{{equip.name}}</span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
@@ -484,8 +588,9 @@
 | 
			
		||||
              <h3><label class="items-title-text">Contacts, Allies et Ennemis</label></h3>
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="contact" title="Créer un contact"><i class="fas fa-plus"></i></a>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-add" data-type="contact" title="Créer un contact"><i
 | 
			
		||||
                  class="fas fa-plus"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -498,8 +603,9 @@
 | 
			
		||||
              <h3><label class="items-title-text">{{contactList.label}}</label></h3>
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-add" data-type="contact" title="Créer un contact"><i class="fas fa-plus"></i></a>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-add" data-type="contact" title="Créer un contact"><i
 | 
			
		||||
                  class="fas fa-plus"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{#each contactList.list as |contact key|}}
 | 
			
		||||
@@ -508,8 +614,8 @@
 | 
			
		||||
            <span class="item-field-label-long2">{{contact.name}}</span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
@@ -542,8 +648,8 @@
 | 
			
		||||
            <span class="item-field-label-medium">{{upperFirst profil.system.profiltype}}</span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
              <a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
 | 
			
		||||
              <a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
@@ -553,28 +659,37 @@
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <ul>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Nom humain</label> <input type="text" class="" name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Nom humain</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Activités</label> <input type="text" class="" name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Activités</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Apparence masquée</label> <input type="text" class="" name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Apparence masquée</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Apparence démasquée</label> <input type="text" class="" name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Apparence démasquée</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}"
 | 
			
		||||
              data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Titre et Famille</label> <input type="text" class="" name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Titre et Famille</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Factions féériques</label> <input type="text" class="" name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Factions féériques</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Traits de caractères dominants</label> <input type="text" class="" name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Traits de caractères dominants</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
          <li class="flexrow item">
 | 
			
		||||
            <label class="item-field-label-long2">Langues</label> <input type="text" class="" name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" />
 | 
			
		||||
            <label class="item-field-label-long2">Langues</label> <input type="text" class=""
 | 
			
		||||
              name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" />
 | 
			
		||||
          </li>
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -597,6 +712,13 @@
 | 
			
		||||
              <input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}"
 | 
			
		||||
                data-dtype="String" />
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#if isGM}}
 | 
			
		||||
            <li class="item flexrow">
 | 
			
		||||
              <label class="generic-label">Fiche de Magie ?</label>
 | 
			
		||||
              <input type="checkbox" class="item-field-label-short edit-item-data" name="system.biodata.magie" {{checked
 | 
			
		||||
                system.biodata.magie}} />
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/if}}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
@@ -608,8 +730,8 @@
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="item flexrow">
 | 
			
		||||
              <label class="generic-label">Taille Démasquée</label>
 | 
			
		||||
              <input type="text" class="" name="system.biodata.tailledemasquee" value="{{system.biodata.tailledemasquee}}"
 | 
			
		||||
                data-dtype="String" />
 | 
			
		||||
              <input type="text" class="" name="system.biodata.tailledemasquee"
 | 
			
		||||
                value="{{system.biodata.tailledemasquee}}" data-dtype="String" />
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="flexrow item">
 | 
			
		||||
              <label class="generic-label">Type de taille</label>
 | 
			
		||||
@@ -618,7 +740,8 @@
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="flexrow item">
 | 
			
		||||
              <label class="generic-label">Points d'héritage</label>
 | 
			
		||||
              <input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}"  data-dtype="String" />
 | 
			
		||||
              <input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}"
 | 
			
		||||
                data-dtype="String" />
 | 
			
		||||
            </li>
 | 
			
		||||
 | 
			
		||||
          </ul>
 | 
			
		||||
@@ -647,7 +770,7 @@
 | 
			
		||||
                data-dtype="String" />
 | 
			
		||||
            </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
       </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,10 +21,10 @@
 | 
			
		||||
    <li>Assomer {{defenderName}} en état de : {{etatAssommer}}</li>
 | 
			
		||||
 | 
			
		||||
    {{#if isSuccess}}
 | 
			
		||||
      <li>Marge : {{marge}}</li>
 | 
			
		||||
      <li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li>
 | 
			
		||||
    <li>Marge : {{marge}}</li>
 | 
			
		||||
    <li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li>
 | 
			
		||||
    {{else}}
 | 
			
		||||
      <li>{{defenderName}} n'a pas été assomé et est conscient la tentative !</li>
 | 
			
		||||
    <li>{{defenderName}} n'a pas été assomé et est conscient la tentative !</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
  </ul>
 | 
			
		||||
</div>
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user