Compare commits
	
		
			2 Commits
		
	
	
		
			fvtt-mourn
			...
			fvtt-mourn
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2a8617d781 | |||
| 91ad26730a | 
@@ -20,7 +20,8 @@
 | 
			
		||||
      "heritage": "Héritage",
 | 
			
		||||
      "metier": "Métier",
 | 
			
		||||
      "runeeffect": "Effet de Rune",
 | 
			
		||||
      "bouclier": "Bouclier"
 | 
			
		||||
      "bouclier": "Bouclier",
 | 
			
		||||
      "modifier": "Modificateur"
 | 
			
		||||
    } 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -54,8 +54,12 @@ export class MournbladeActorSheet extends ActorSheet {
 | 
			
		||||
      metier: duplicate(this.actor.getMetier()  || {}),
 | 
			
		||||
      combat: this.actor.getCombatValues(),      
 | 
			
		||||
      equipements: duplicate(this.actor.getEquipments()),
 | 
			
		||||
      modifiers: duplicate(this.actor.getModifiers()),
 | 
			
		||||
      monnaies: duplicate(this.actor.getMonnaies()),
 | 
			
		||||
      runeEffects: duplicate(this.actor.getRuneEffects()),
 | 
			
		||||
      config: game.system.mournblade.config,
 | 
			
		||||
      protectionTotal: this.actor.getProtectionTotal(),
 | 
			
		||||
      santeMalus: this.actor.getStatusMalus(),
 | 
			
		||||
      description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
 | 
			
		||||
      options: this.options,
 | 
			
		||||
      owner: this.document.isOwner,
 | 
			
		||||
 
 | 
			
		||||
@@ -47,11 +47,18 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    return super.create(data, options);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  setModifier(name, type, value) {
 | 
			
		||||
    this.createEmbeddedDocuments("Item", [{ type: "modifier", name: name, system: { modifiertype: type, value: value } }])
 | 
			
		||||
    ui.notifications.info("Le modificateur " + name + " a été ajouté à " + this.name + ".")
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  prepareArme(arme) {
 | 
			
		||||
    arme = duplicate(arme)
 | 
			
		||||
    let combat = this.getCombatValues()
 | 
			
		||||
    if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
 | 
			
		||||
      arme.system.isMelee = true
 | 
			
		||||
      arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
 | 
			
		||||
      arme.system.attrKey = "pui"
 | 
			
		||||
      arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
 | 
			
		||||
@@ -61,6 +68,7 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
 | 
			
		||||
      arme.system.isDistance = true
 | 
			
		||||
      arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
 | 
			
		||||
      arme.system.attrKey = "adr"
 | 
			
		||||
      arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
 | 
			
		||||
@@ -100,6 +108,20 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    return armes
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getModifiersForRoll() {
 | 
			
		||||
    let modifiers = []
 | 
			
		||||
    for (let mod of this.items) {
 | 
			
		||||
      if (mod.type == "modifier" && mod.system.modifiertype == "roll") {
 | 
			
		||||
        let modObj = mod.toObject()
 | 
			
		||||
        modObj .system.apply = true
 | 
			
		||||
        modifiers.push( modObj  )
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    MournbladeUtility.sortArrayObjectsByName(modifiers)
 | 
			
		||||
    return modifiers
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getItemSorted( types) {
 | 
			
		||||
    let items = this.items.filter(item => types.includes(item.type )) || []
 | 
			
		||||
@@ -118,6 +140,9 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
  getEquipments() {
 | 
			
		||||
    return this.getItemSorted(["equipement"])
 | 
			
		||||
  }
 | 
			
		||||
  getModifiers() {
 | 
			
		||||
    return this.getItemSorted(["modifier"])
 | 
			
		||||
  }
 | 
			
		||||
  getTraitsChaotiques() {
 | 
			
		||||
    return this.getItemSorted(["traitchaotique"])
 | 
			
		||||
  }
 | 
			
		||||
@@ -163,6 +188,17 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    return comp
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getProtectionTotal() {
 | 
			
		||||
    let protection = 0
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      if (item.type == "protection" && item.system.equipped) {
 | 
			
		||||
        protection += item.system.protection
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    return protection
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getAspect() {
 | 
			
		||||
    return (this.system.balance.loi > this.system.balance.chaos) ? this.system.balance.loi : this.system.balance.chaos    
 | 
			
		||||
@@ -243,12 +279,31 @@ export class MournbladeActor 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
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getStatusMalus() {
 | 
			
		||||
    let malusL = 0
 | 
			
		||||
    let malusNL = 0
 | 
			
		||||
    if (this.system.sante.base-this.system.sante.letaux < 10) {
 | 
			
		||||
      malusL = -2
 | 
			
		||||
    }
 | 
			
		||||
    if (this.system.sante.base-this.system.sante.letaux < 5) {
 | 
			
		||||
      malusL = -5
 | 
			
		||||
    }
 | 
			
		||||
    if (this.system.sante.base-this.system.sante.nonletaux < 10) {
 | 
			
		||||
      malusNL = -2
 | 
			
		||||
    }
 | 
			
		||||
    if (this.system.sante.base-this.system.sante.nonletaux < 5) {
 | 
			
		||||
      malusNL = -5
 | 
			
		||||
    }
 | 
			
		||||
    return Math.min(malusL, malusNL)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  editItemField(itemId, itemType, itemField, dataType, value) {
 | 
			
		||||
    let item = this.items.find(item => item.id == itemId)
 | 
			
		||||
@@ -264,6 +319,28 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  incDecSante(type, value, applyArmure=true) {
 | 
			
		||||
    if (applyArmure)  {
 | 
			
		||||
      let protection = this.getProtectionTotal()
 | 
			
		||||
      value -= protection
 | 
			
		||||
      value = Math.max(0, value)  
 | 
			
		||||
    }
 | 
			
		||||
    if (value) {
 | 
			
		||||
      let newSante = duplicate(this.system.sante)
 | 
			
		||||
      newSante[type] += value
 | 
			
		||||
      if (newSante[type] > this.system.sante.base) {
 | 
			
		||||
        value -= this.system.sante.base - newSante[type]
 | 
			
		||||
        newSante[type] = this.system.sante.base
 | 
			
		||||
      }
 | 
			
		||||
      if (value && type == "nonletaux") {
 | 
			
		||||
        newSante["letaux"] += value
 | 
			
		||||
      }
 | 
			
		||||
      this.update({ 'system.sante': newSante })
 | 
			
		||||
      ui.notifications.info(this.name + "a subi " + value + " points de santé " + type + ".")  
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  getBonneAventure() {
 | 
			
		||||
    return this.system.bonneaventure.actuelle
 | 
			
		||||
@@ -414,6 +491,9 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    rollData.canEclatDoubleD20 = this.canEclatDoubleD20()
 | 
			
		||||
    rollData.doubleD20 = false
 | 
			
		||||
    rollData.attributs = MournbladeUtility.getAttributs()
 | 
			
		||||
    rollData.selectDifficulte = true
 | 
			
		||||
    rollData.malusSante = this.getStatusMalus() + this.system.sante.malusmanuel
 | 
			
		||||
    rollData.modifiers = this.getModifiersForRoll()
 | 
			
		||||
 | 
			
		||||
    if (attrKey) {
 | 
			
		||||
      rollData.attrKey = attrKey
 | 
			
		||||
@@ -476,6 +556,15 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    }
 | 
			
		||||
    let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id)
 | 
			
		||||
    rollData.arme = arme
 | 
			
		||||
    rollData.typeAttaque = "assaut"
 | 
			
		||||
    rollData.typeCouvert = "aucun"
 | 
			
		||||
    rollData.visee = false
 | 
			
		||||
    rollData.ciblecourt = false
 | 
			
		||||
    rollData.cibleconsciente = false
 | 
			
		||||
    // Do not display difficulte if defense weapon or distance
 | 
			
		||||
    if (rollData.armeDefense || rollData.arme.system.isDistance) {
 | 
			
		||||
      rollData.selectDifficulte = false
 | 
			
		||||
    }
 | 
			
		||||
    console.log("ARME!", rollData)
 | 
			
		||||
    let rollDialog = await MournbladeRollDialog.create(this, rollData)
 | 
			
		||||
    rollDialog.render(true)
 | 
			
		||||
@@ -490,6 +579,7 @@ export class MournbladeActor extends Actor {
 | 
			
		||||
    if (arme.type == "bouclier") {
 | 
			
		||||
      arme = this.prepareBouclier(arme)
 | 
			
		||||
    }
 | 
			
		||||
    rollData.degatsFormula = arme.system.totalDegats
 | 
			
		||||
    let roll = new Roll(arme.system.totalDegats).roll({ async: false })
 | 
			
		||||
    await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
 | 
			
		||||
    let rollData = {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								modules/mournblade-config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								modules/mournblade-config.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
export const MOURNBLADE_CONFIG = {
 | 
			
		||||
  
 | 
			
		||||
  attaques:{
 | 
			
		||||
    assaut: "Assaut",
 | 
			
		||||
    precise: "Attaque Précise",
 | 
			
		||||
    feinte: "Feinte",
 | 
			
		||||
    coupbas: "Coup Bas",
 | 
			
		||||
    charger: "Charger",
 | 
			
		||||
    contenir: "Contenir l'adversaire",
 | 
			
		||||
    desarmer: "Désarmer",
 | 
			
		||||
  },
 | 
			
		||||
  couverts:{
 | 
			
		||||
    aucun: {name: "Aucun", value: 0},
 | 
			
		||||
    rondache: {name: "Rondache ou léger (-2)", value: -2},
 | 
			
		||||
    pavois: { name: "Pavois ou à moitié (-5)", value: -5},
 | 
			
		||||
    complet: {name:"Quasi complet (-10)", value: -10},
 | 
			
		||||
  }, 
 | 
			
		||||
  modifierTypes: {
 | 
			
		||||
    aucun: {name: "Aucun", value: 0},
 | 
			
		||||
    roll: {name: "Jet", value: 0},
 | 
			
		||||
    degats: {name: "Dégats", value: 0},
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
@@ -64,6 +64,7 @@ export class MournbladeItemSheet extends ItemSheet {
 | 
			
		||||
      options: this.options,
 | 
			
		||||
      owner: this.document.isOwner,
 | 
			
		||||
      description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
 | 
			
		||||
      config: game.system.mournblade.config,
 | 
			
		||||
      mr: (this.object.type == 'specialisation'),
 | 
			
		||||
      isGM: game.user.isGM
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ import { MournbladeActorSheet } from "./mournblade-actor-sheet.js";
 | 
			
		||||
import { MournbladeUtility } from "./mournblade-utility.js";
 | 
			
		||||
import { MournbladeCombat } from "./mournblade-combat.js";
 | 
			
		||||
import { MournbladeItem } from "./mournblade-item.js";
 | 
			
		||||
import { MOURNBLADE_CONFIG } from "./mournblade-config.js";
 | 
			
		||||
 | 
			
		||||
/* -------------------------------------------- */
 | 
			
		||||
/*  Foundry VTT Initialization                  */
 | 
			
		||||
@@ -45,7 +46,9 @@ Hooks.once("init", async function () {
 | 
			
		||||
  CONFIG.Combat.documentClass = MournbladeCombat
 | 
			
		||||
  CONFIG.Actor.documentClass = MournbladeActor
 | 
			
		||||
  CONFIG.Item.documentClass = MournbladeItem
 | 
			
		||||
  game.system.mournblade = { }
 | 
			
		||||
  game.system.mournblade = { 
 | 
			
		||||
    config : MOURNBLADE_CONFIG,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  // Register sheet application classes
 | 
			
		||||
 
 | 
			
		||||
@@ -52,14 +52,22 @@ export class MournbladeRollDialog extends Dialog {
 | 
			
		||||
  activateListeners(html) {
 | 
			
		||||
    super.activateListeners(html);
 | 
			
		||||
 | 
			
		||||
    var dialog = this;
 | 
			
		||||
    function onLoad() {
 | 
			
		||||
    }
 | 
			
		||||
    $(function () { onLoad(); });
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    html.find('.apply-modifier').change(async (event) =>  {
 | 
			
		||||
      let modifierIdx = $(event.currentTarget).data("modifier-idx")
 | 
			
		||||
      let modifier = this.rollData.modifiers[modifierIdx]
 | 
			
		||||
      modifier.system.apply = event.currentTarget.checked
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.find('#modificateur').change(async (event) =>  {
 | 
			
		||||
      this.rollData.modificateur = Number(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#typeAttaque').change(async (event) =>  {
 | 
			
		||||
      this.rollData.typeAttaque = String(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('#difficulte').change(async (event) =>  {
 | 
			
		||||
      this.rollData.difficulte = Number(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
@@ -75,5 +83,18 @@ export class MournbladeRollDialog extends Dialog {
 | 
			
		||||
    html.find('#doubleD20').change(async (event) =>  {
 | 
			
		||||
      this.rollData.doubleD20 = event.currentTarget.checked
 | 
			
		||||
    })         
 | 
			
		||||
    html.find('#visee').change(async (event) =>  {
 | 
			
		||||
      this.rollData.visee = event.currentTarget.checked
 | 
			
		||||
    })         
 | 
			
		||||
    html.find('#cibleconsciente').change(async (event) =>  {
 | 
			
		||||
      this.rollData.cibleconsciente = event.currentTarget.checked
 | 
			
		||||
    })         
 | 
			
		||||
    html.find('#ciblecourt').change(async (event) =>  {
 | 
			
		||||
      this.rollData.ciblecourt = event.currentTarget.checked
 | 
			
		||||
    })         
 | 
			
		||||
    html.find('#typeCouvert').change(async (event) =>  {
 | 
			
		||||
      this.rollData.typeCouvert = String(event.currentTarget.value)
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -10,6 +10,7 @@ export class MournbladeUtility {
 | 
			
		||||
  static async init() {
 | 
			
		||||
    Hooks.on('renderChatLog', (log, html, data) => MournbladeUtility.chatListeners(html))
 | 
			
		||||
    Hooks.on("getChatLogEntryContext", (html, options) => MournbladeUtility.chatRollMenu(html, options))
 | 
			
		||||
    Hooks.on('renderChatMessage', (message, html, data) => MournbladeUtility.chatMessageHandler(message, html, data))
 | 
			
		||||
 | 
			
		||||
    Hooks.on("getCombatTrackerEntryContext", (html, options) => {
 | 
			
		||||
      MournbladeUtility.pushInitiativeOptions(html, options);
 | 
			
		||||
@@ -119,12 +120,26 @@ export class MournbladeUtility {
 | 
			
		||||
    return this.optionsStatusList;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    /* -------------------------------------------- */
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getPredilection(comp, predIdx) {
 | 
			
		||||
    let pred = duplicate(comp.system.predilections)
 | 
			
		||||
    return duplicate(pred[predIdx] || {name: "Error!"} )
 | 
			
		||||
    return duplicate(pred[predIdx] || { name: "Error!" })
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async chatMessageHandler(message, html, data) {
 | 
			
		||||
    const chatCard = html.find('.action-section')
 | 
			
		||||
    if (chatCard.length > 0) {
 | 
			
		||||
      // If the user is the message author or the actor owner, proceed
 | 
			
		||||
      const actor = game.actors.get(data.message.speaker.actor)
 | 
			
		||||
      // DEBUG : console.log("FOUND 1!!! ", actor, data.message)
 | 
			
		||||
      if (actor?.isOwner || game.user.isGM) {
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
      chatCard.hide()
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async chatListeners(html) {
 | 
			
		||||
 | 
			
		||||
@@ -139,6 +154,25 @@ export class MournbladeUtility {
 | 
			
		||||
      rollData.predilectionUsed = MournbladeUtility.getPredilection(rollData.competence, predIdx)
 | 
			
		||||
      await MournbladeUtility.rollMournblade(rollData)
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.on("click", '.arme-roll-degats', async event => {
 | 
			
		||||
      let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
 | 
			
		||||
      let message = game.messages.get(messageId)
 | 
			
		||||
      let rollData = message.getFlag("world", "mournblade-roll")
 | 
			
		||||
      MournbladeUtility.rollDegatsFromAttaque(rollData)
 | 
			
		||||
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    html.on("click", '.arme-apply-degats', async event => {
 | 
			
		||||
      let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
 | 
			
		||||
      let message = game.messages.get(messageId)
 | 
			
		||||
      let rollData = message.getFlag("world", "mournblade-roll")
 | 
			
		||||
      if (game.user.isGM) {
 | 
			
		||||
        MournbladeUtility.applyDegatsFromAttaque(rollData)
 | 
			
		||||
      } else {
 | 
			
		||||
        game.socket.emit("system.fvtt-mournblade", { name: "msg_apply_damage", data: { rolLData: rollData } })
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
@@ -209,22 +243,6 @@ export class MournbladeUtility {
 | 
			
		||||
    return undefined;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static updateRollData(rollData) {
 | 
			
		||||
 | 
			
		||||
    let id = rollData.rollId;
 | 
			
		||||
    let oldRollData = this.rollDataStore[id] || {};
 | 
			
		||||
    let newRollData = mergeObject(oldRollData, rollData);
 | 
			
		||||
    this.rollDataStore[id] = newRollData;
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static saveRollData(rollData) {
 | 
			
		||||
    game.socket.emit("system.fvtt-mournblade", {
 | 
			
		||||
      name: "msg_update_roll", data: rollData
 | 
			
		||||
    }); // Notify all other clients of the roll    
 | 
			
		||||
    this.updateRollData(rollData);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static getRollData(id) {
 | 
			
		||||
    return this.rollDataStore[id];
 | 
			
		||||
@@ -232,11 +250,10 @@ export class MournbladeUtility {
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static onSocketMesssage(msg) {
 | 
			
		||||
    if (msg.name == "msg_update_defense_state") {
 | 
			
		||||
      this.updateDefenseState(msg.data.defenderId, msg.data.rollId);
 | 
			
		||||
    }
 | 
			
		||||
    if (msg.name == "msg_update_roll") {
 | 
			
		||||
      this.updateRollData(msg.data);
 | 
			
		||||
    if (msg.name == "msg_apply_damage") {
 | 
			
		||||
      if (game.user.isGM) {
 | 
			
		||||
        this.applyDegatsFromAttaque(msg.data.rollData);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -336,11 +353,39 @@ export class MournbladeUtility {
 | 
			
		||||
    } else {
 | 
			
		||||
      rollData.diceFormula += `+${rollData.attr.value}*2+${rollData.modificateur}`
 | 
			
		||||
    }
 | 
			
		||||
    rollData.diceFormula += `+${rollData.malusSante}`
 | 
			
		||||
 | 
			
		||||
    if (rollData.arme && rollData.arme.type == "arme") {
 | 
			
		||||
    if (rollData.arme?.type == "arme") {
 | 
			
		||||
      rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Apply modifiers
 | 
			
		||||
    for (let modifier of rollData.modifiers) {
 | 
			
		||||
      if (modifier.system.modifiertype == "roll" && modifier.system.apply) {
 | 
			
		||||
        rollData.diceFormula += `+${modifier.system.value}`
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Specific modifier for distance
 | 
			
		||||
    if (rollData.arme?.system?.isDistance) {
 | 
			
		||||
      if (rollData.visee) {
 | 
			
		||||
        rollData.diceFormula += "+5"
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.cibleconsciente) {
 | 
			
		||||
        rollData.diceFormula += `-${rollData.defender.system.attributs.adr.value}`
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.ciblecourt) {
 | 
			
		||||
        if (rollData.difficulte <= 15) { // Portée courte ou moins
 | 
			
		||||
          rollData.diceFormula += `-5`
 | 
			
		||||
        } else {
 | 
			
		||||
          rollData.diceFormula += `-10`
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeCouvert != "aucun") {
 | 
			
		||||
        rollData.diceFormula += `-${rollData.config.couverts[rollData.typeCouvert].value}`
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (rollData.rune) {
 | 
			
		||||
      rollData.runeduree = Math.ceil((rollData.runeame + 3) / 3)
 | 
			
		||||
      if (rollData.runemode == "inscrire") {
 | 
			
		||||
@@ -374,6 +419,121 @@ export class MournbladeUtility {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async rollDegatsFromAttaque(rollData) {
 | 
			
		||||
    let maximize = false
 | 
			
		||||
    let degatsMessage = "Degats normaux"
 | 
			
		||||
 | 
			
		||||
    if (rollData.arme?.system?.isMelee) {
 | 
			
		||||
      if (rollData.typeAttaque == "assaut") {
 | 
			
		||||
        rollData.degatsFormula = rollData.arme.system.totalDegats
 | 
			
		||||
        if (rollData.isHeroique) { // Deux fois les dés de dégats
 | 
			
		||||
          rollData.degatsFormula += " + " + rollData.arme.system.totalDegats
 | 
			
		||||
          degatsMessage = "Dégats doublés"
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "charger") {
 | 
			
		||||
        rollData.degatsFormula += "+2"
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (rollData.typeAttaque == "precise") {
 | 
			
		||||
        degatsMessage = "Degats normaux"
 | 
			
		||||
        if (rollData.isHeroique) { // Degats max
 | 
			
		||||
          maximize = true
 | 
			
		||||
          degatsMessage = "Dégats maximaux, ignore l'armure du défenseur";
 | 
			
		||||
          rollData.ignoreDefenseArmor = true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "feinte") {
 | 
			
		||||
        degatsMessage = "Pas de dégats, mais bonus pour prochaine attaque"
 | 
			
		||||
        rollData.degatsFormula = false
 | 
			
		||||
        rollData.nextBonus = 5
 | 
			
		||||
        if (rollData.isHeroique) { // Bonus pour prochaine action
 | 
			
		||||
          rollData.nextBonus = 10
 | 
			
		||||
          rollData.nextBonusDegats = 10
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "coupbas") {
 | 
			
		||||
        degatsMessage = "Pas de dégats, mais malus pour prochaine action complexe du défenseur"
 | 
			
		||||
        rollData.degatsFormula = false
 | 
			
		||||
        rollData.nextMalus = -5
 | 
			
		||||
        if (rollData.isHeroique) { // Malus pour prochaine action
 | 
			
		||||
          rollData.nextMalus = -15
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "contenir") {
 | 
			
		||||
        degatsMessage = "Pas de dégats, mais l'adversaire ne peut pas vous attaquer pour le reste du tour"
 | 
			
		||||
        rollData.degatsFormula = false
 | 
			
		||||
        if (rollData.isHeroique) { // Malus pour prochaine action
 | 
			
		||||
          degatsMessage = "Pas de dégats, mais tout les adversaires avec une défense inférieure ou égale à " + rollData.finalResult-10 + 
 | 
			
		||||
              " ne peuvent pas vous attaquer pour le reste du tour"
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "desarmer") {
 | 
			
		||||
        degatsMessage = "Pas de dégats, mais l'adversaire reçoit un malus de -5 pour sa prochaine action"
 | 
			
		||||
        rollData.degatsFormula = false
 | 
			
		||||
        if (rollData.isHeroique) { // Malus pour prochaine action
 | 
			
		||||
          rollData.defenderDesarme = true
 | 
			
		||||
          degatsMessage = "Pas de dégats, mais l'arme de votre adversaire est arrachée de ses mains"
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    } else { // Armes à distance
 | 
			
		||||
      rollData.degatsFormula = rollData.arme.system.totalDegats
 | 
			
		||||
      if (rollData.isHeroique) { // Deux fois les dés de dégats
 | 
			
		||||
        rollData.degatsFormula += " + " + rollData.arme.system.totalDegats
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for(let mod of rollData.modifiers) {
 | 
			
		||||
      if (mod.system.modifiertype == "degats") {
 | 
			
		||||
        rollData.degatsFormula += `+${mod.system.value}`
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Perform the roll, show the dice
 | 
			
		||||
    rollData.finalResult = 0
 | 
			
		||||
    rollData.degatsMessage = degatsMessage
 | 
			
		||||
    if (rollData.degatsFormula) {
 | 
			
		||||
      let degatsRoll = new Roll(rollData.degatsFormula).roll({ async: false, maximize: maximize })
 | 
			
		||||
      await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
 | 
			
		||||
      rollData.degatsRoll = duplicate(degatsRoll)
 | 
			
		||||
      rollData.finalResult = degatsRoll.total
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this.createChatWithRollMode(rollData.alias, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
 | 
			
		||||
    }, rollData)
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static applyDegatsFromAttaque(rollData) {
 | 
			
		||||
    let defender = game.canvas.tokens.get(rollData?.defenderTokenId)?.actor
 | 
			
		||||
    if (defender && rollData.arme) {
 | 
			
		||||
      let actor = MournbladeUtility.getActorFromRollData(rollData)
 | 
			
		||||
      if (rollData.typeAttaque == "desarmer" && !rollData.isHeroique) {
 | 
			
		||||
        defender.setModifier("Malus suite à désarmement", "roll", -5)
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.typeAttaque == "charger") {
 | 
			
		||||
        actor.setModifier("Défense suite à charge", "roll", -5)
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.nextBonus) {
 | 
			
		||||
        actor.setModifier("Prochaine attaque", "roll", rollData.nextBonus)
 | 
			
		||||
        if (rollData.nextDegatsBonus) {
 | 
			
		||||
          actor.setModifier("Prochaine attaque", "degats", rollData.nextDegatsBonus)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.nextMalus) {
 | 
			
		||||
        defender.setModifier("Prochaine action complexe", "roll", -rollData.nextMalus)
 | 
			
		||||
      }
 | 
			
		||||
      if (rollData.defenderDesarme) {
 | 
			
		||||
        ui.notifications.info("L'arme de " + defender.name + " est arrachée de ses mains (à gérer manuellement)" )
 | 
			
		||||
      }
 | 
			
		||||
      let degats = rollData.finalResult
 | 
			
		||||
      defender.incDecSante((rollData.arme.system.nonletaux) ? "nonletaux" : "letaux", +degats, rollData.ignoreDefenseArmor)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async bonusRollMournblade(rollData) {
 | 
			
		||||
    rollData.bonusFormula = rollData.addedBonus
 | 
			
		||||
@@ -467,7 +627,8 @@ export class MournbladeUtility {
 | 
			
		||||
        chatOptions.whisper = this.getWhisperRecipients(rollMode, name);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    chatOptions.alias = chatOptions.alias || name
 | 
			
		||||
    chatOptions.alias = chatOptions.alias || name;
 | 
			
		||||
    chatOptions.speaker = ChatMessage.getSpeaker();
 | 
			
		||||
    let msg = await ChatMessage.create(chatOptions)
 | 
			
		||||
    console.log("=======>", rollData)
 | 
			
		||||
    msg.setFlag("world", "mournblade-roll", rollData)
 | 
			
		||||
@@ -482,6 +643,7 @@ export class MournbladeUtility {
 | 
			
		||||
      pointAmeOptions: this.getPointAmeOptions(),
 | 
			
		||||
      difficulte: 0,
 | 
			
		||||
      modificateur: 0,
 | 
			
		||||
      config: game.system.mournblade.config,
 | 
			
		||||
    }
 | 
			
		||||
    MournbladeUtility.updateWithTarget(rollData)
 | 
			
		||||
    return rollData
 | 
			
		||||
@@ -493,6 +655,7 @@ export class MournbladeUtility {
 | 
			
		||||
    if (target) {
 | 
			
		||||
      rollData.defenderTokenId = target.id
 | 
			
		||||
      let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
 | 
			
		||||
      rollData.defender = defender.toObject() // Simpler
 | 
			
		||||
      rollData.armeDefense = defender.getBestDefenseValue()
 | 
			
		||||
      if (rollData.armeDefense) {
 | 
			
		||||
        rollData.difficulte = rollData.armeDefense.system.totalDefensif
 | 
			
		||||
@@ -655,11 +818,11 @@ export class MournbladeUtility {
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  static async confirmDelete(actorSheet, li) {
 | 
			
		||||
    let itemId = li.data("item-id");
 | 
			
		||||
    let msgTxt = "<p>Are you sure to remove this Item ?";
 | 
			
		||||
    let msgTxt = "<p>Voulez vous 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));
 | 
			
		||||
@@ -667,12 +830,12 @@ export class MournbladeUtility {
 | 
			
		||||
      },
 | 
			
		||||
      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"
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.593727 7f3322ffd6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.639350 7f3322ffd6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.639464 7f3322ffd6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.881496 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.881541 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.888812 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.900167 7f33223ff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.900223 7f33223ff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.246595 7f83a17fa6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.257620 7f83a17fa6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.257707 7f83a17fa6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.706460 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.706493 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.712455 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.726437 7f83937fe6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.726469 7f83937fe6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.681898 7f35b8bfa6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.691893 7f35b8bfa6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.692031 7f35b8bfa6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.799860 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.799891 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.806560 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.820290 7f33223ff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.828125 7f33223ff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.267441 7f83a17fa6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.277442 7f83a17fa6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.277525 7f83a17fa6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.746298 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.746346 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.754266 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.761595 7f83937fe6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.768615 7f83937fe6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/armes/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/armes/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.734981 7f3323fff6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.773456 7f3323fff6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.773550 7f3323fff6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.922857 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.922912 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.929747 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.930040 7f33223ff6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.930127 7f33223ff6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.290195 7f83a0ff96c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.300801 7f83a0ff96c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.300889 7f83a0ff96c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.720129 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.720181 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.726326 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.726457 7f83937fe6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.726475 7f83937fe6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.721918 7f3323fff6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.732673 7f3323fff6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.732730 7f3323fff6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.820322 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.820379 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.827848 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.828148 7f33223ff6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.828211 7f33223ff6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.308457 7f83a0ff96c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.320693 7f83a0ff96c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.320808 7f83a0ff96c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.768640 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.768688 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.776307 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.783712 7f83937fe6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.791457 7f83937fe6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/dons/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/dons/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.696684 7f33237fe6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.731835 7f33237fe6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.731930 7f33237fe6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.900432 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.900494 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.907220 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.929964 7f33223ff6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.930062 7f33223ff6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.275379 7f8393fff6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.286070 7f8393fff6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.286179 7f8393fff6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.712724 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.712753 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.719948 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.726447 7f83937fe6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.726492 7f83937fe6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.708703 7f33237fe6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.718410 7f33237fe6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.718471 7f33237fe6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.806833 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.806886 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.813500 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.828075 7f33223ff6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.828188 7f33223ff6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.294166 7f83a1ffb6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.304260 7f83a1ffb6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.304374 7f83a1ffb6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.761629 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.761667 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.768357 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.776812 7f83937fe6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.783744 7f83937fe6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/equipement/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/equipement/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.834030 7f35b8bfa6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.890233 7f35b8bfa6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.890765 7f35b8bfa6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.938047 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.938083 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.944658 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.959089 7f33223ff6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.959161 7f33223ff6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.318719 7f83a1ffb6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.328670 7f83a1ffb6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.328802 7f83a1ffb6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.733261 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.733307 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.739952 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.753835 7f83937fe6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.753900 7f83937fe6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.748077 7f3322ffd6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.758754 7f3322ffd6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.758819 7f3322ffd6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.828342 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.828403 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.834842 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.855589 7f33223ff6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.855668 7f33223ff6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.337236 7f8393fff6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.348102 7f8393fff6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.348205 7f8393fff6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.783758 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.783798 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.791210 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.798452 7f83937fe6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.805941 7f83937fe6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.894585 7f33237fe6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.931836 7f33237fe6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.931972 7f33237fe6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.930300 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.930393 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.937916 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.959070 7f33223ff6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.959134 7f33223ff6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.331651 7f8393fff6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.342356 7f8393fff6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.342523 7f8393fff6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.746294 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.746356 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.753448 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.753873 7f83937fe6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.753932 7f83937fe6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.762194 7f33237fe6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.772223 7f33237fe6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.772283 7f33237fe6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.848998 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.849024 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.855462 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.855625 7f33223ff6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.855650 7f33223ff6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.352520 7f83a1ffb6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.363460 7f83a1ffb6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.363586 7f83a1ffb6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.791492 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.791588 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.798213 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.805913 7f83937fe6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.813013 7f83937fe6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/metiers/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/metiers/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.780177 7f3322ffd6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.829775 7f3322ffd6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.829923 7f3322ffd6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.915993 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.916063 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.922657 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.930016 7f33223ff6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.930106 7f33223ff6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.304162 7f83a17fa6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.315560 7f83a17fa6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.315745 7f83a17fa6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.726546 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.726570 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.733055 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.753606 7f83937fe6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.753886 7f83937fe6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.735509 7f35b8bfa6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.744908 7f35b8bfa6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.744979 7f35b8bfa6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.835017 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.835057 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.842344 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.855603 7f33223ff6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.855659 7f33223ff6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.323806 7f83a17fa6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.333877 7f83a17fa6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.333966 7f83a17fa6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.776871 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.776925 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.783560 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.791429 7f83937fe6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.798479 7f83937fe6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/origines/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/origines/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.643159 7f35b8bfa6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.693846 7f35b8bfa6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.693987 7f35b8bfa6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.907492 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.907557 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.915742 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.929991 7f33223ff6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.930084 7f33223ff6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.260773 7f83a1ffb6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.272894 7f83a1ffb6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.273030 7f83a1ffb6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.699002 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.699041 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.706302 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.726427 7f83937fe6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.726463 7f83937fe6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.695816 7f3322ffd6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.705849 7f3322ffd6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.705914 7f3322ffd6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.813588 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.813615 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.820057 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.828104 7f33223ff6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.828169 7f33223ff6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.280418 7f8393fff6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.291443 7f8393fff6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.291522 7f8393fff6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.754630 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.754699 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.761432 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.768575 7f83937fe6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.776849 7f83937fe6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/protection/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/protection/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:34.037650 7f35b8bfa6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:34.082011 7f35b8bfa6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:34.082183 7f35b8bfa6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.967137 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.967184 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.974006 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.974230 7f33223ff6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.974271 7f33223ff6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.373049 7f83a1ffb6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.383735 7f83a1ffb6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.383841 7f83a1ffb6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.760456 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.760489 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.766845 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.773984 7f83937fe6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.774012 7f83937fe6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.809473 7f3322ffd6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.819369 7f3322ffd6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.819436 7f3322ffd6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.866633 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.866687 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.873873 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.887535 7f33223ff6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.887594 7f33223ff6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.395156 7f8393fff6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.406418 7f8393fff6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.406910 7f8393fff6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.813028 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.813071 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.819811 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.827987 7f83937fe6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.828164 7f83937fe6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/runes/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/runes/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.539158 7f3323fff6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.588928 7f3323fff6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.589020 7f3323fff6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.874404 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.874448 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.881347 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.900142 7f33223ff6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.900210 7f33223ff6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.233009 7f83a0ff96c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.243210 7f83a0ff96c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.243313 7f83a0ff96c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.681649 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.681715 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.688622 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.698852 7f83937fe6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.698896 7f83937fe6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.668335 7f3323fff6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.678141 7f3323fff6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.678186 7f3323fff6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.782931 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.783224 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.789981 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.790146 7f33223ff6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.799834 7f33223ff6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.253365 7f83a0ff96c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.264287 7f83a0ff96c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.264453 7f83a0ff96c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.739525 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.739573 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.746086 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.754603 7f83937fe6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.761616 7f83937fe6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/skills/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/skills/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:34.091820 7f33237fe6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:34.138376 7f33237fe6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:34.138520 7f33237fe6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.959349 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.959415 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.966819 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.974178 7f33223ff6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.974251 7f33223ff6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.387165 7f8393fff6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.397632 7f8393fff6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.397757 7f8393fff6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.766971 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.766999 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.773828 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.773996 7f83937fe6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.774034 7f83937fe6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.822806 7f33237fe6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.833583 7f33237fe6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.833639 7f33237fe6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.874007 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.874038 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.880506 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.887556 7f33223ff6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.887632 7f33223ff6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.410709 7f83a1ffb6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.421159 7f83a1ffb6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.421267 7f83a1ffb6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.820018 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.820065 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.827818 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.828022 7f83937fe6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.828066 7f83937fe6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.934810 7f3323fff6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:33.976700 7f3323fff6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:33.977187 7f3323fff6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.944802 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.944841 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.951960 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.959106 7f33223ff6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.959148 7f33223ff6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.345728 7f83a0ff96c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.357028 7f83a0ff96c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.357111 7f83a0ff96c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.740063 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.740090 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.746108 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.753857 7f83937fe6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.753915 7f83937fe6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.775141 7f3323fff6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.786017 7f3323fff6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.786087 7f3323fff6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.842675 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.842717 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.848873 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.855615 7f33223ff6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.855677 7f33223ff6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.366368 7f83a0ff96c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.376791 7f83a0ff96c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.376899 7f83a0ff96c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.798500 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.798585 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.805680 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.812980 7f83937fe6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.819992 7f83937fe6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/tendances/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/tendances/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
MANIFEST-000038
 | 
			
		||||
MANIFEST-000070
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-19:17:33.986130 7f3322ffd6c0 Recovering log #36
 | 
			
		||||
2023/12/21-19:17:34.030179 7f3322ffd6c0 Delete type=3 #34
 | 
			
		||||
2023/12/21-19:17:34.030355 7f3322ffd6c0 Delete type=0 #36
 | 
			
		||||
2023/12/21-19:20:44.952141 7f33223ff6c0 Level-0 table #41: started
 | 
			
		||||
2023/12/21-19:20:44.952182 7f33223ff6c0 Level-0 table #41: 0 bytes OK
 | 
			
		||||
2023/12/21-19:20:44.958894 7f33223ff6c0 Delete type=0 #39
 | 
			
		||||
2023/12/21-19:20:44.959120 7f33223ff6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-19:20:44.959174 7f33223ff6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:34:00.360101 7f83a17fa6c0 Recovering log #68
 | 
			
		||||
2023/12/24-12:34:00.370467 7f83a17fa6c0 Delete type=3 #66
 | 
			
		||||
2023/12/24-12:34:00.370588 7f83a17fa6c0 Delete type=0 #68
 | 
			
		||||
2023/12/24-12:37:21.754080 7f83937fe6c0 Level-0 table #73: started
 | 
			
		||||
2023/12/24-12:37:21.754134 7f83937fe6c0 Level-0 table #73: 0 bytes OK
 | 
			
		||||
2023/12/24-12:37:21.760321 7f83937fe6c0 Delete type=0 #71
 | 
			
		||||
2023/12/24-12:37:21.773967 7f83937fe6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:37:21.774005 7f83937fe6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
2023/12/21-15:38:38.789880 7f35b8bfa6c0 Recovering log #32
 | 
			
		||||
2023/12/21-15:38:38.806442 7f35b8bfa6c0 Delete type=3 #30
 | 
			
		||||
2023/12/21-15:38:38.806511 7f35b8bfa6c0 Delete type=0 #32
 | 
			
		||||
2023/12/21-15:39:48.880716 7f33223ff6c0 Level-0 table #37: started
 | 
			
		||||
2023/12/21-15:39:48.880801 7f33223ff6c0 Level-0 table #37: 0 bytes OK
 | 
			
		||||
2023/12/21-15:39:48.887313 7f33223ff6c0 Delete type=0 #35
 | 
			
		||||
2023/12/21-15:39:48.887577 7f33223ff6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/21-15:39:48.887612 7f33223ff6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-10:16:21.380463 7f83a17fa6c0 Recovering log #64
 | 
			
		||||
2023/12/24-10:16:21.391794 7f83a17fa6c0 Delete type=3 #62
 | 
			
		||||
2023/12/24-10:16:21.391904 7f83a17fa6c0 Delete type=0 #64
 | 
			
		||||
2023/12/24-12:20:18.805961 7f83937fe6c0 Level-0 table #69: started
 | 
			
		||||
2023/12/24-12:20:18.806018 7f83937fe6c0 Level-0 table #69: 0 bytes OK
 | 
			
		||||
2023/12/24-12:20:18.812794 7f83937fe6c0 Delete type=0 #67
 | 
			
		||||
2023/12/24-12:20:18.819974 7f83937fe6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
2023/12/24-12:20:18.828005 7f83937fe6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								packs/traits-chaotiques/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packs/traits-chaotiques/MANIFEST-000070
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1130,6 +1130,11 @@ ul, li {
 | 
			
		||||
  margin:2px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.chat-card-button-degats {
 | 
			
		||||
  background: linear-gradient(to bottom, #e2c256fc 5%, #b85b04ab 100%);
 | 
			
		||||
  background-color: #7d5d3b00;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.chat-card-button:hover {
 | 
			
		||||
  background: linear-gradient(to bottom, #800000 5%, #3e0101 100%);
 | 
			
		||||
  background-color: red;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "id": "fvtt-mournblade",
 | 
			
		||||
  "description": "Mournblade RPG for FoundryVTT",
 | 
			
		||||
  "version": "11.0.4",
 | 
			
		||||
  "version": "11.1.0",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Uberwald/LeRatierBretonnien",
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
  "gridUnits": "m",
 | 
			
		||||
  "license": "LICENSE.txt",
 | 
			
		||||
  "manifest": "https://www.uberwald.me/gitea/public/fvtt-mournblade/raw/branch/v10/system.json",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-mournblade/archive/fvtt-mournblade-11.0.4.zip",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-mournblade/archive/fvtt-mournblade-11.1.0.zip",
 | 
			
		||||
  "packs": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "Item",
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,7 @@
 | 
			
		||||
          "bonus": 0,
 | 
			
		||||
          "nonletaux": 0,
 | 
			
		||||
          "letaux": 0,
 | 
			
		||||
          "malusmanuel": 0,
 | 
			
		||||
          "sequelles": ""
 | 
			
		||||
        },
 | 
			
		||||
        "ame": {
 | 
			
		||||
@@ -130,9 +131,22 @@
 | 
			
		||||
      "origine",
 | 
			
		||||
      "heritage",
 | 
			
		||||
      "metier",
 | 
			
		||||
      "modifier",
 | 
			
		||||
      "runeeffect",
 | 
			
		||||
      "bouclier"
 | 
			
		||||
    ],
 | 
			
		||||
    "modifier": {
 | 
			
		||||
      "modifiertype": "roll",
 | 
			
		||||
      "value": 0,
 | 
			
		||||
      "attribut": "aucun",
 | 
			
		||||
      "competence": "aucun",
 | 
			
		||||
      "permanent": true,
 | 
			
		||||
      "once": false,
 | 
			
		||||
      "duree": "",
 | 
			
		||||
      "templates": [
 | 
			
		||||
        "base"
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "runeeffect": {
 | 
			
		||||
      "rune": "",
 | 
			
		||||
      "mode": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -103,9 +103,7 @@
 | 
			
		||||
            </li>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="sheet-box color-bg-archetype">
 | 
			
		||||
          <h4 class="item-name-label competence-name">Santé</h4>
 | 
			
		||||
          <ul class="item-list alternate-list">
 | 
			
		||||
            <li class="item flexrow">
 | 
			
		||||
@@ -123,8 +121,19 @@
 | 
			
		||||
              <input type="text" class="input-numeric-short" name="system.sante.letaux" value="{{data.sante.letaux}}"
 | 
			
		||||
                data-dtype="Number" />
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="item flexrow">
 | 
			
		||||
              <label class="label-name">Malus</label>
 | 
			
		||||
              <input type="text" class="input-numeric-short" name="system.sante.malusmanuel" value="{{data.sante.malusmanuel}}"
 | 
			
		||||
                data-dtype="Number" />
 | 
			
		||||
                <label class="label-name">Malus auto</label>
 | 
			
		||||
                <label class="label-name">{{santeMalus}}</label>
 | 
			
		||||
              </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="sheet-box color-bg-archetype">
 | 
			
		||||
 | 
			
		||||
          <h4 class="item-name-label competence-name">Ame</h4>
 | 
			
		||||
          <ul class="item-list alternate-list">
 | 
			
		||||
            <li class="item flexrow">
 | 
			
		||||
@@ -170,11 +179,47 @@
 | 
			
		||||
                value="{{data.combat.defensebonus}}" data-dtype="Number" />
 | 
			
		||||
              <label class="competence-name">{{combat.defenseTotal}}</label>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="item  flexrow">
 | 
			
		||||
              <label class="competence-name">Total protection</label>
 | 
			
		||||
              <label class="competence-name">{{protectionTotal}}</label>
 | 
			
		||||
            </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <div>
 | 
			
		||||
        <ul class="item-list alternate-list">
 | 
			
		||||
          <li class="item flexrow list-item items-title-bg">
 | 
			
		||||
            <span class="item-name-label-header">
 | 
			
		||||
              <h3><label class="items-title-text">Modificateurs</label></h3>
 | 
			
		||||
            </span>
 | 
			
		||||
            <span class="item-field-label-short">
 | 
			
		||||
              <label class="short-label">Type</label>
 | 
			
		||||
            </span>
 | 
			
		||||
            <span class="item-field-label-short">
 | 
			
		||||
              <label class="short-label">Valeur</label>
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{#each modifiers as |modifier key|}}
 | 
			
		||||
          <li class="item flexrow " data-item-id="{{modifier._id}}" data-item-type="modifier">
 | 
			
		||||
            <img class="item-name-img" src="{{modifier.img}}" />
 | 
			
		||||
            <span class="item-name-label competence-name">{{modifier.name}}</span>
 | 
			
		||||
            <span class="item-field-label-short">{{upperFirst modifier.system.modifiertype}}</span>
 | 
			
		||||
            <span class="item-field-label-short">{{modifier.system.value}}</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>
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
      
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    {{!-- Competence Tab --}}
 | 
			
		||||
@@ -536,6 +581,8 @@
 | 
			
		||||
              </span>
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
              <div class="item-controls item-controls-fixed">
 | 
			
		||||
                <a class="item-control item-equip" title="Worn">{{#if protection.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>
 | 
			
		||||
              </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -13,13 +13,27 @@
 | 
			
		||||
</div>
 | 
			
		||||
{{/if}}
 | 
			
		||||
 | 
			
		||||
<div class="flexcol">
 | 
			
		||||
<div class="flexcol">ntfabr
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div>
 | 
			
		||||
  <ul>
 | 
			
		||||
    <li>Arme : {{arme.name}} (+{{arme.system.totalDegats}})</li>
 | 
			
		||||
    <li>Dégats : {{finalResult}} {{#if arme.system.nonletaux}}(Non létaux){{else}}(Létaux){{/if}}</li>    
 | 
			
		||||
    <li>Arme : {{arme.name}} {{#if degatsFormula}} (+{{degatsFormula}}) {{/if}}</li>
 | 
			
		||||
    <li>Information : {{degatsMessage}}</li>
 | 
			
		||||
    <li>Dégats : {{finalResult}} {{#if arme.system.nonletaux}}(Non létaux){{else}}(Létaux){{/if}}</li>
 | 
			
		||||
    {{#if nextBonus}}
 | 
			
		||||
      <li>Bonus pour prochaine attaque : {{nextBonus}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
    {{#if nextMalus}}
 | 
			
		||||
      <li>Malus au défenseur pour prochaine action : {{nextMalus}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
      <button class="chat-card-button chat-card-button-degats arme-apply-degats">
 | 
			
		||||
        Appliquer les dégats/bonus/malus
 | 
			
		||||
      </button>
 | 
			
		||||
 | 
			
		||||
    </div> 
 | 
			
		||||
 | 
			
		||||
  </ul>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,16 @@
 | 
			
		||||
  <ul>
 | 
			
		||||
    <li class="mournblade-roll">Attribut : {{attr.label}}</li>
 | 
			
		||||
 | 
			
		||||
    {{#if arme}}
 | 
			
		||||
    <li>Arme : {{arme.name}} (+{{arme.system.bonusmaniementoff}})</li>
 | 
			
		||||
      {{#if defender}}
 | 
			
		||||
        <li>Cible : {{defender.name}}</li>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
      {{#if typeAttaque}}
 | 
			
		||||
        <li>Attaque : {{lookup config.attaques typeAttaque}}</li>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#if competence}}
 | 
			
		||||
    <li>Compétence : {{competence.name}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
@@ -39,15 +49,15 @@
 | 
			
		||||
    <li>{{textBonus}} : {{bonusRoll.total}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#if arme}}
 | 
			
		||||
    <li>Arme : {{arme.name}} (+{{arme.system.bonusmaniementoff}})</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <li>Formule : {{diceFormula}}</li>
 | 
			
		||||
    <li>Dé : {{diceResult}}</li>
 | 
			
		||||
    
 | 
			
		||||
    {{#if difficulte}}
 | 
			
		||||
      <li>Difficulté : {{difficulte}}</li>
 | 
			
		||||
      <li>Difficulté : {{difficulte}} 
 | 
			
		||||
      {{#if (and arm.system.isMelee armeDefense)}}
 | 
			
		||||
       ({{armeDefense.name}})
 | 
			
		||||
      {{/if}}
 | 
			
		||||
      </li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
    
 | 
			
		||||
    <li></li>
 | 
			
		||||
@@ -68,14 +78,25 @@
 | 
			
		||||
    <li>Echec Dramatique!!!</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#each predilections as |pred key|}}
 | 
			
		||||
      {{#if (not pred.used)}}
 | 
			
		||||
    <div class="action-section">
 | 
			
		||||
 | 
			
		||||
      {{#each predilections as |pred key|}}
 | 
			
		||||
        {{#if (not pred.used)}}
 | 
			
		||||
        <li>
 | 
			
		||||
        <button class="chat-card-button predilection-reroll" data-predilection-index="{{key}}">
 | 
			
		||||
          Predilection : {{pred.name}}</button>
 | 
			
		||||
        </li>
 | 
			
		||||
        {{/if}}
 | 
			
		||||
      {{/each}}
 | 
			
		||||
 | 
			
		||||
      {{#if (and arme isSuccess)}}
 | 
			
		||||
      <li>
 | 
			
		||||
      <button class="chat-card-button predilection-reroll" data-predilection-index="{{key}}">
 | 
			
		||||
        Predilection : {{pred.name}}</button>
 | 
			
		||||
        <button class="chat-card-button chat-card-button-degats arme-roll-degats"> Lancer les dégats ! </button>
 | 
			
		||||
      </li>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/each}}
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
  </ul>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								templates/item-modifier-sheet.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								templates/item-modifier-sheet.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<form class="{{cssClass}}" autocomplete="off">
 | 
			
		||||
    <header class="sheet-header">
 | 
			
		||||
        <img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
 | 
			
		||||
        <div class="header-fields">
 | 
			
		||||
            <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
 | 
			
		||||
        </div>
 | 
			
		||||
    </header>
 | 
			
		||||
 | 
			
		||||
    {{!-- Sheet Body --}}
 | 
			
		||||
    <section class="sheet-body">
 | 
			
		||||
 | 
			
		||||
      <span class="flexrow">
 | 
			
		||||
        <label class="generic-label">Type de modificateur </label>
 | 
			
		||||
        <select class="status-small-label color-class-common" type="text" name="system.modifiertype"
 | 
			
		||||
            value="{{data.modifiertype}}" data-dtype="string">
 | 
			
		||||
          {{#select data.modifiertype}}
 | 
			
		||||
            {{#each config.modifierTypes as |mod key|}}
 | 
			
		||||
              <option value="{{key}}">{{mod.name}}</option>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
          {{/select}}
 | 
			
		||||
        </select>
 | 
			
		||||
      </span>
 | 
			
		||||
 | 
			
		||||
      <span class="flexrow">
 | 
			
		||||
        <label class="generic-label">Valeur </label>
 | 
			
		||||
        <input type="text" class="padd-right status-small-label color-class-common" name="system.value" value="{{data.value}}" data-dtype="Number" />
 | 
			
		||||
      </span>
 | 
			
		||||
 | 
			
		||||
      <div class="flexcol">
 | 
			
		||||
      {{> systems/fvtt-mournblade/templates/partial-item-description.html}}
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
      
 | 
			
		||||
    </section>
 | 
			
		||||
</form>
 | 
			
		||||
@@ -10,17 +10,18 @@
 | 
			
		||||
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      {{#if (eq attrKey "tochoose")}}
 | 
			
		||||
        <span class="roll-dialog-label">Attribut</span>
 | 
			
		||||
        <select class="status-small-label color-class-common" id ="attrKey" type="text" name="attrKey" value="attrKey" data-dtype="string" >
 | 
			
		||||
          {{#select attrKey}}
 | 
			
		||||
          {{#each attributs as |attrLabel attrKey|}}
 | 
			
		||||
            <option value="{{attrKey}}">{{attrLabel}}</option>
 | 
			
		||||
          {{/each}}
 | 
			
		||||
          {{/select}}
 | 
			
		||||
        </select>      
 | 
			
		||||
      <span class="roll-dialog-label">Attribut</span>
 | 
			
		||||
      <select class="status-small-label color-class-common" id="attrKey" type="text" name="attrKey" value="attrKey"
 | 
			
		||||
        data-dtype="string">
 | 
			
		||||
        {{#select attrKey}}
 | 
			
		||||
        {{#each attributs as |attrLabel attrKey|}}
 | 
			
		||||
        <option value="{{attrKey}}">{{attrLabel}}</option>
 | 
			
		||||
        {{/each}}
 | 
			
		||||
        {{/select}}
 | 
			
		||||
      </select>
 | 
			
		||||
      {{else}}
 | 
			
		||||
        <span class="roll-dialog-label">{{attr.label}}</span>
 | 
			
		||||
        <span class="small-label">{{attr.value}}</span>
 | 
			
		||||
      <span class="roll-dialog-label">{{attr.label}}</span>
 | 
			
		||||
      <span class="small-label">{{attr.value}}</span>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@@ -48,14 +49,105 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Points d'Ame</span>
 | 
			
		||||
      <select class="roll-dialog-label" id="runeame" type="text" name="runeame" value="{{runeame}}"
 | 
			
		||||
        data-dtype="Number">
 | 
			
		||||
      <select class="roll-dialog-label" id="runeame" type="text" name="runeame" value="{{runeame}}" data-dtype="Number">
 | 
			
		||||
        {{#select runeame}}
 | 
			
		||||
        {{{pointAmeOptions}}}
 | 
			
		||||
        {{/select}}
 | 
			
		||||
      </select>
 | 
			
		||||
    </div>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#if arme}}
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Arme : </span>
 | 
			
		||||
      <span class="roll-dialog-label">{{arme.name}} (+{{arme.system.bonusmaniementoff}})</span>
 | 
			
		||||
    </div>
 | 
			
		||||
    {{#if arme.system.isMelee}}
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Attaque : </span>
 | 
			
		||||
      <select class="roll-dialog-label" id="typeAttaque" type="text" name="typeAttaque" value="{{typeAttaque}}"
 | 
			
		||||
        data-dtype="String">
 | 
			
		||||
        {{#select typeAttaque}}
 | 
			
		||||
        {{#each config.attaques as |attaque key|}}
 | 
			
		||||
        <option value="{{key}}">{{attaque}}</option>
 | 
			
		||||
        {{/each}}
 | 
			
		||||
        {{/select}}
 | 
			
		||||
      </select>
 | 
			
		||||
    </div>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    {{#if arme}}
 | 
			
		||||
      {{#if arme.system.isMelee}}
 | 
			
		||||
        {{#if armeDefense}}
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <span class="roll-dialog-label">Défense adversaire : </span>
 | 
			
		||||
          <span class="roll-dialog-label"><strong>{{difficulte}}</strong> </span>
 | 
			
		||||
        </div>
 | 
			
		||||
        {{/if}}
 | 
			
		||||
      {{/if}}      
 | 
			
		||||
      {{#if arme.system.isDistance}}
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <span class="roll-dialog-label">Bonus de visée (+5) ? : </span>
 | 
			
		||||
          <input class="" type="checkbox" id="visee" name="visee" {{checked visee}} />
 | 
			
		||||
        </div>
 | 
			
		||||
        {{#if defender}}
 | 
			
		||||
          <div class="flexrow">
 | 
			
		||||
            <span class="roll-dialog-label">La cible est consciente du tir (-{{defender.system.attributs.adr.value}})? : </span>
 | 
			
		||||
            <input class="" type="checkbox" id="cibleconsciente" name="cibleconsciente" {{checked cibleconsciente}} />
 | 
			
		||||
          </div>
 | 
			
		||||
        {{else}}
 | 
			
		||||
          <div class="flexrow">
 | 
			
		||||
            <span class="roll-dialog-label">Pas de cible désignée ! </span>
 | 
			
		||||
          </div>
 | 
			
		||||
        {{/if}}
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <span class="roll-dialog-label">La cible court (-5/-10)? : </span>
 | 
			
		||||
          <input class="" type="checkbox" id="ciblecourt" name="ciblecourt" {{checked ciblecourt}} />
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <span class="roll-dialog-label">Couvert ? : </span>
 | 
			
		||||
          <select class="roll-dialog-label" id="typeCouvert" type="text" name="typeCouvert" value="{{typeCouvert}}"
 | 
			
		||||
            data-dtype="String">
 | 
			
		||||
            {{#select typeCouvert}}
 | 
			
		||||
            {{#each config.couverts as |couvert key|}}
 | 
			
		||||
              <option value="{{key}}">{{couvert.name}}</option>
 | 
			
		||||
            {{/each}}
 | 
			
		||||
            {{/select}}
 | 
			
		||||
          </select>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="flexrow">
 | 
			
		||||
          <span class="roll-dialog-label">Portée : </span>
 | 
			
		||||
          <select class="roll-dialog-label" id="difficulte" type="text" name="difficulte" value="{{difficulte}}"
 | 
			
		||||
            data-dtype="Number">
 | 
			
		||||
            {{#select difficulte}}
 | 
			
		||||
            <option value="10">Moins que courte (10)</option>
 | 
			
		||||
            <option value="15">Courte et + (15)</option>
 | 
			
		||||
            <option value="20">Moyenne et + (20)</option>
 | 
			
		||||
            <option value="25">Longue et + (25)</option>
 | 
			
		||||
            {{/select}}
 | 
			
		||||
          </select>
 | 
			
		||||
        </div>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Malus de santé : </span>
 | 
			
		||||
      <span class="roll-dialog-label">{{malusSante}}</span>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    {{#if (count modifiers)}}
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <span class="roll-dialog-label">Modificateurs enregistrés : </span>
 | 
			
		||||
      </div>
 | 
			
		||||
      {{#each modifiers as |modifier idx|}}
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <span class="roll-dialog-label">{{modifier.name}} : </span>
 | 
			
		||||
        <span class="roll-dialog-label">{{modifier.system.value}}</span>
 | 
			
		||||
        <input class="apply-modifier" data-modifier-idx="{{idx}}" id="apply-modifier" type="checkbox" name="apply-modifier" value="{{modifier.system.apply}}" {{checked modifier.system.apply}} />
 | 
			
		||||
      </div>
 | 
			
		||||
      {{/each}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
@@ -68,12 +160,7 @@
 | 
			
		||||
      </select>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    {{#if armeDefense}}
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Défense adversaire : </span>
 | 
			
		||||
      <span class="roll-dialog-label"><strong>{{difficulte}}</strong> </span>
 | 
			
		||||
    </div>
 | 
			
		||||
    {{else}}
 | 
			
		||||
    {{#if selectDifficulte}}
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <span class="roll-dialog-label">Difficulté : </span>
 | 
			
		||||
        <select class="roll-dialog-label" id="difficulte" type="text" name="difficulte" value="{{difficulte}}"
 | 
			
		||||
@@ -94,7 +181,7 @@
 | 
			
		||||
    {{#if canEclatDoubleD20}}
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Doubler le d20 (1 Point d'Eclat)</span>
 | 
			
		||||
      <input class="" id="doubleD20" type="checkbox" name="doubleD20" value="{{doubleD20}}" {{checked doubleD20}}/>
 | 
			
		||||
      <input class="" id="doubleD20" type="checkbox" name="doubleD20" value="{{doubleD20}}" {{checked doubleD20}} />
 | 
			
		||||
    </div>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user