Compare commits

...

9 Commits

149 changed files with 2745 additions and 2100 deletions

203
lang/en.json Normal file
View File

@@ -0,0 +1,203 @@
{
"Adresse": "Agility",
"Clairvoyance": "Clarity",
"MNBL.abilities": "Gifts/Pacts",
"MNBL.activatedrunes": "Activated Runes",
"MNBL.addpredilection": "Add a specialization",
"MNBL.aimingbonus": "Aiming Bonus",
"MNBL.alignement": "Alignment",
"MNBL.all": "All",
"MNBL.allegiance": "Allegiance",
"MNBL.applydamage": "Apply damage/bonus/penalty",
"MNBL.aspect": "Aspect",
"MNBL.Assaut": "Smite",
"MNBL.attack": "Attack",
"MNBL.attackcapacity": "Offensive Ability",
"MNBL.attackmountbonus": "Mounted attacker vs ground defender (+5)",
"MNBL.attacks": "Attacks",
"MNBL.attribut": "Attribute",
"MNBL.attributes": "Attributes",
"MNBL.automalus": "Auto Penalty",
"MNBL.base": "Base",
"MNBL.beastslords": "Beast Lords",
"MNBL.bio": "Bio & Notes",
"MNBL.bonus": "Bonus",
"MNBL.candoublebonusskill": "Bonuses can be doubled (cf. Profession)",
"MNBL.chaos": "Chaos",
"MNBL.chaotictraits": "Chaotic Traits",
"MNBL.charge": "Charge",
"MNBL.consumed": "Consumed",
"MNBL.contain": "Contain the opponent",
"MNBL.creatureresourcecost": "Resource Cost (creatures)",
"MNBL.current": "Current",
"MNBL.currentmax": "Current Max",
"MNBL.damage": "Damage",
"MNBL.damagebonus": "Damage Bonus",
"MNBL.defense": "Defense",
"MNBL.defensebonus": "Defense Bonus",
"MNBL.defensecapacity": "Defensive Ability",
"MNBL.dice": "Dice",
"MNBL.difficulty": "Difficulty",
"MNBL.dirtyattack": "Cheap Shot",
"MNBL.disadvantagepositions": "Disadvantageous positions (Max bonus +15)",
"MNBL.disarm": "Disarm",
"MNBL.doubleD20": "Double d20 (1 Shard Point)",
"MNBL.dramaticfailure": "Dramatic Failure",
"MNBL.duration": "Duration",
"MNBL.easy": "Easy (5)",
"MNBL.eclat": "Shard",
"MNBL.elementslords": "Elemental Lords",
"MNBL.equipmentactions": "Equipment/Actions",
"MNBL.equipments": "Equipments",
"MNBL.equipped": "Equipped",
"MNBL.exp": "Experience",
"MNBL.eyes": "Eyes",
"MNBL.failure": "Failure",
"MNBL.feint": "Feint",
"MNBL.flee": "Flee",
"MNBL.formula": "Formula",
"MNBL.genre": "Gender",
"MNBL.gifts": "Gifts",
"MNBL.goodadventure": "Good Adventure",
"MNBL.hair": "Hair",
"MNBL.hard": "Hard (15)",
"MNBL.hascover": "Cover",
"MNBL.hazardous": "Tricky (20)",
"MNBL.health": "Health",
"MNBL.healthmalus": "Health Penalty",
"MNBL.heavycover": "Almost complete (-10)",
"MNBL.heroicsuccess": "Heroic Success",
"MNBL.highlanguage": "High Melnibonéan",
"MNBL.ignorearmor": "Ignore Armor",
"MNBL.ignorehealthmalus": "Ignore Health Penalty",
"MNBL.ignoresoulmalus": "Ignore Soul Penalty",
"MNBL.immobilize": "Immobilize",
"MNBL.insane": "Ridiculous (25)",
"MNBL.isdefense": "Defensive",
"MNBL.knockout": "Knock Out",
"MNBL.law": "Law",
"MNBL.legacy": "Legacy",
"MNBL.lessthanshort": "Less than short (10)",
"MNBL.lethal": "Lethal",
"MNBL.level": "Level",
"MNBL.lightcover": "Buckler or light (-2)",
"MNBL.longmore": "Long and more (25)",
"MNBL.longrange": "Long Range",
"MNBL.malus": "Penalty",
"MNBL.margin": "Margin",
"MNBL.medium": "Average (10)",
"MNBL.mediumcover": "Pavise or half (-5)",
"MNBL.mediummore": "Medium and more (20)",
"MNBL.mediumrange": "Medium Range",
"MNBL.meleethrowweapon": "Melee and Throwing Weapon",
"MNBL.meleeweapon": "Melee Weapon",
"MNBL.mode": "Mode",
"MNBL.modifier": "Modifiers",
"MNBL.modifiertype": "Modifier Type",
"MNBL.mounted": "Mounted",
"MNBL.nextactionmalus": "Penalty for next action",
"MNBL.nextattackbonus": "Bonus for next attack",
"MNBL.none": "None",
"MNBL.noneunknwon": "None/Unknown",
"MNBL.nonlethal": "Non-Lethal",
"MNBL.nonlethaldamage": "Non-Lethal Damage",
"MNBL.notarget": "No designated target",
"MNBL.origin": "Origin",
"MNBL.pacts": "Pacts",
"MNBL.points": "Points",
"MNBL.preciseattack": "Precision Attack",
"MNBL.predilections": "Specializations",
"MNBL.preferredhand": "Preferred Hand",
"MNBL.prerequisites": "Prerequisites",
"MNBL.price": "Price",
"MNBL.profession": "Profession",
"MNBL.pronounced": "Spoken",
"MNBL.pronouncedrune": "Spoken Rune",
"MNBL.pronouncerune": "Speak the rune",
"MNBL.protections": "Protections",
"MNBL.puremadness": "Insane (30)",
"MNBL.quantity": "Quantity",
"MNBL.range": "Range",
"MNBL.rarity": "Rarity",
"MNBL.registeredmodifiers": "Registered Modifiers",
"MNBL.reloadduration": "Reload Time",
"MNBL.ressources": "Resources",
"MNBL.roll": "Roll",
"MNBL.runes": "Runes",
"MNBL.runningtarget": "Running target (-5/-10 depending on range)",
"MNBL.shootmodifier": "Shooting Modifiers",
"MNBL.shootweapon": "Shoot Weapon",
"MNBL.shortmore": "Short and more (10)",
"MNBL.shortrange": "Short Range",
"MNBL.size": "Size",
"MNBL.skill": "Skill",
"MNBL.skills": "Skills",
"MNBL.smallroomtarget": "Target in confined space (+5)",
"MNBL.soul": "Soul",
"MNBL.soulmalus": "Soul Penalty",
"MNBL.soulmultiplier": "Soul Multiplier",
"MNBL.soulpoints": "Soul Points",
"MNBL.specialactions": "Special Actions",
"MNBL.specialweapon": "Special (ability/gift)",
"MNBL.speciestrait": "Species Trait",
"MNBL.speed": "Speed",
"MNBL.success": "Success",
"MNBL.target": "Target",
"MNBL.targetbelow": "Target below (+5)",
"MNBL.targetcantmove": "Target immobilized (+5)",
"MNBL.targetdefense": "Opponent's Defense",
"MNBL.targetground": "Target on the ground (+5)",
"MNBL.targetseeshoot": "Target is aware of the shot",
"MNBL.tendancies": "Tendencies",
"MNBL.throwweapon": "Throwing Weapon",
"MNBL.totalprotection": "Total Protection",
"MNBL.traced": "Written",
"MNBL.tracedrune": "Written Rune",
"MNBL.tracerune": "Write the rune",
"MNBL.treasuremoney": "Treasures and Money",
"MNBL.twohands": "Two-handed",
"MNBL.type": "Type",
"MNBL.unarmedtarget": "Unarmed target (+5)",
"MNBL.unit": "Unit",
"MNBL.use": "Use",
"MNBL.usedpredilection": "Used Predilection",
"MNBL.value": "Value",
"MNBL.weapon": "Weapon",
"MNBL.weaponbonusattack": "Handling Bonus (offensive)",
"MNBL.weaponbonusdefense": "Handling Bonus (defensive)",
"MNBL.weapons": "Weapons",
"MNBL.weaponscapacities": "Weapons/Abilities",
"MNBL.weapontype": "Weapon Type",
"MNBL.weight": "Weight",
"MNBL.total": "Total",
"Présence": "Presence",
"Puissance": "Might",
"Trempe": "Mettle",
"TYPES": {
"Actor": {
"creature": "Creature",
"personnage": "Character"
},
"Item": {
"arme": "Weapon",
"bouclier": "Shield",
"capacite": "Ability",
"competence": "Skill",
"don": "Gifts",
"equipement": "Equipment",
"heritage": "Background",
"metier": "Profession",
"modifier": "Modifier",
"monnaie": "Currency",
"origine": "Origin",
"pacte": "Pacts",
"protection": "Protections",
"rune": "Rune",
"runeeffect": "Rune Effect",
"tendance": "Signs of Chaos",
"traitchaotique": "Background",
"traitespece": "Species Trait"
}
}
}

View File

@@ -23,6 +23,197 @@
"bouclier": "Bouclier", "bouclier": "Bouclier",
"modifier": "Modificateur", "modifier": "Modificateur",
"traitespece": "Trait d'Espèce" "traitespece": "Trait d'Espèce"
} }
} },
"Adresse": "Adresse",
"Puissance": "Puissance",
"Clairvoyance": "Clairvoyance",
"Présence": "Présence",
"Trempe": "Trempe",
"MNBL.assaut": "Assaut",
"MNBL.preciseattack": "Attaque Précise",
"MNBL.feint": "Feinte",
"MNBL.dirtyattack": "Coup Bas",
"MNBL.charge": "Charger",
"MNBL.contain": "Contenir l'adversaire",
"MNBL.disarm": "Désarmer",
"MNBL.none": "Aucun",
"MNBL.lightcover": "Rondache ou léger (-2)",
"MNBL.mediumcover": "Pavois ou à moitié (-5)",
"MNBL.heavycover": "Quasi complet (-10)",
"MNBL.roll": "Jet",
"MNBL.defensecapacity": "Capacité défensive",
"MNBL.attackcapacity": "Capacité offensive",
"MNBL.lessthanshort": "Moins que courte (10)",
"MNBL.shortmore": "Courte et + (10)",
"MNBL.mediummore": "Moyenne et + (20)",
"MNBL.longmore": "Longue et + (25)",
"MNBL.noneunknwon": "Aucune/Inconnue",
"MNBL.easy": "Facile (5)",
"MNBL.medium": "Moyenne (10)",
"MNBL.hard": "Ardue (15)",
"MNBL.hazardous": "Hasardeuse (20)",
"MNBL.insane": "Insensée (25)",
"MNBL.puremadness": "Pure Folie (30)",
"MNBL.pronouncerune": "Prononcer la rune",
"MNBL.tracerune": "Tracer la rune",
"MNBL.pronounced": "Prononcée",
"MNBL.traced": "Tracée",
"MNBL.meleeweapon": "Arme de contact",
"MNBL.meleethrowweapon": "Arme de contact et de Jet",
"MNBL.throwweapon": "Arme de Lancer",
"MNBL.shootweapon": "Arme de Tir",
"MNBL.specialweapon": "Spécial (capacité/don)",
"MNBL.all": "Tous",
"MNBL.beastslords": "Seigneurs des Bêtes",
"MNBL.elementslords": "Seigneurs Elementaires",
"MNBL.law": "Loi",
"MNBL.chaos": "Chaos",
"MNBL.level": "Niveau",
"MNBL.points": "Points",
"MNBL.aspect": "Aspect",
"MNBL.margin": "Marge",
"MNBL.goodadventure" : "Bonne Aventure",
"MNBL.base": "Base",
"MNBL.current": "Actuelle",
"MNBL.alignement" : "Alignement",
"MNBL.eclat": "Eclat",
"MNBL.exp": "Expérience",
"MNBL.attributes": "Attributs",
"MNBL.skills": "Compétences",
"MNBL.abilities": "Dons/Pactes",
"MNBL.equipmentactions": "Equipements/Actions",
"MNBL.bio": "Bio&Notes",
"MNBL.health": "Santé",
"MNBL.bonus": "Bonus",
"MNBL.malus": "Malus",
"MNBL.nonlethal": "Non Létaux",
"MNBL.lethal": "Létaux",
"MNBL.automalus" : "Malus Auto",
"MNBL.soul": "Ame",
"MNBL.currentmax": "Max Actuel",
"MNBL.consumed": "Consommé",
"MNBL.damagebonus": "B. Dégats",
"MNBL.speed": "Vitesse",
"MNBL.defense": "Défense",
"MNBL.totalprotection": "Protection Totale",
"MNBL.modifier": "Modificateurs",
"MNBL.type": "Type",
"MNBL.value": "Valeur",
"MNBL.gifts": "Dons",
"MNBL.allegiance": "Allégeance",
"MNBL.pacts": "Pactes",
"MNBL.runes": "Runes",
"MNBL.highlanguage": "Haut Parler",
"MNBL.difficulty": "Difficulté",
"MNBL.tendancies": "Tendances",
"MNBL.chaotictraits": "Traits Chaotique",
"MNBL.activatedrunes": "Runes actives",
"MNBL.mode": "Mode",
"MNBL.duration": "Durée",
"MNBL.treasuremoney": "Richesses et Argent",
"MNBL.quantity": "Quantité",
"MNBL.unit": "Unité",
"MNBL.specialactions": "Actions spéciales",
"MNBL.knockout": "Assomer",
"MNBL.flee": "Fuir",
"MNBL.immobilize": "Immobiliser",
"MNBL.mounted": "Monté",
"MNBL.weapons": "Armes",
"MNBL.attack": "Attaque",
"MNBL.damage": "Dégats",
"MNBL.protections": "Protections",
"MNBL.equipments": "Equipements",
"MNBL.equipment": "Equipement",
"MNBL.origin": "Origine",
"MNBL.legacy": "Héritage",
"MNBL.profession": "Métier",
"MNBL.genre": "Genre",
"MNBL.size": "Taille",
"MNBL.hair": "Cheveux",
"MNBL.eyes": "Yeux",
"MNBL.preferredhand": "Main Préférée",
"MNBL.weight": "Weight",
"MNBL.soulmultiplier": "Multiplicateur d'âme",
"MNBL.ignorehealthmalus": "Ignore le malus de santé",
"MNBL.ignoresoulmalus": "Ignore le malus d'âme",
"MNBL.weapon": "Arme",
"MNBL.nextattackbonus": "Bonus pour prochaine attaque",
"MNBL.nextactionmalus": "Malus au défenseur pour prochaine action",
"MNBL.applydamage": "Appliquer les dégats/bonus/malus",
"MNBL.attribut": "Attribut",
"MNBL.skill": "Compétence",
"MNBL.target": "Cible",
"MNBL.usedpredilection": "Prédilection utilisée",
"MNBL.soulpoints": "Points d'âme",
"MNBL.formula": "Formule",
"MNBL.dice":"Dé",
"MNBL.success": "Succés",
"MNBL.failure": "Echec",
"MNBL.heroicsuccess": "Succés Héroïque",
"MNBL.dramaticfailure": "Echec Dramatique",
"MNBL.attackmountbonus": "Attaquant monté vs def. au sol (+5)",
"MNBL.targetdefense": "Défense adversaire",
"MNBL.shootmodifier": "Modificateurs de Tir",
"MNBL.aimingbonus": "Bonus de visée",
"MNBL.targetseeshoot": "La cible est consciente du tir",
"MNBL.notarget": "Pas de cible désignée",
"MNBL.runningtarget": "La cible court (-5/-10 selon portée)",
"MNBL.hascover": "Couvert",
"MNBL.range": "Portée",
"MNBL.disadvantagepositions": "Positions désavantageuses (Bonus max +15)",
"MNBL.targetground": "Cible au sol (+5)",
"MNBL.unarmedtarget": "Cible désarmée (+5)",
"MNBL.smallroomtarget": "Cible en espace restreint (+5)",
"MNBL.targetcantmove": "Cible immobilisée (+5)",
"MNBL.targetbelow": "Cible surplombée (+5)",
"MNBL.healthmalus": "Malus de santé",
"MNBL.soulmalus": "Malus d'âme",
"MNBL.registeredmodifiers": "Modificateurs enregistrés",
"MNBL.doubleD20": "Doubler le d20 (1 Point d'Eclat)",
"MNBL.pronouncedrune": "Rune prononcée",
"MNBL.tracedrune": "Rune tracée",
"MNBL.equipped": "Equipé",
"MNBL.rarity": "Rareté",
"MNBL.price": "Prix",
"MNBL.modifiertype": "Type de modificateur",
"MNBL.prerequisites": "Prérequis",
"MNBL.predilections": "Prédilections",
"MNBL.candoublebonusskill": "Les bonus de Bonne Aventure et d'Eclat peuvent être doublés (cf. Métier)",
"MNBL.addpredilection": "Ajouter une prédilection",
"MNBL.defensebonus": "Bonus de défense",
"MNBL.nonlethaldamage": "Dégâts non létaux",
"MNBL.weapontype": "Type d'arme",
"MNBL.weaponbonusattack": "Bonus de maniement (offensif)",
"MNBL.weaponbonusdefense": "Bonus de maniement (défensif)",
"MNBL.isdefense": "Défensive",
"MNBL.twohands": "A deux mains",
"MNBL.ignorearmor": "Ignore l'armure",
"MNBL.creatureresourcecost": "Cout en Ressources (créatures)",
"MNBL.shortrange": "Portée courte",
"MNBL.mediumrange":"Portée moyenne",
"MNBL.longrange":"Portée longue",
"MNBL.reloadduration": "Temps de rechargement",
"MNBL.attacks": "Attaques",
"MNBL.ressources": "Ressources",
"MNBL.weaponscapacities": "Armes/Capacités",
"MNBL.use": "Utiliser",
"MNBL.speciestrait": "Trait d'espèce",
"MNBL.attribute": "Attribut",
"MNBL.Protections": "Protections",
"MNBL.rune": "Rune",
"MNBL.total": "Total"
} }

View File

@@ -7,7 +7,7 @@ import { MournbladeUtility } from "./mournblade-utility.js";
import { MournbladeRollDialog } from "./mournblade-roll-dialog.js"; import { MournbladeRollDialog } from "./mournblade-roll-dialog.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class MournbladeActorSheet extends ActorSheet { export class MournbladeActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -25,8 +25,8 @@ export class MournbladeActorSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = foundry.utils.duplicate(this.object) const objectData = foundry.utils.duplicate(this.object)
let actorData = objectData let actorData = objectData
let formData = { let formData = {
title: this.title, title: this.title,
@@ -43,6 +43,7 @@ export class MournbladeActorSheet extends ActorSheet {
armes: foundry.utils.duplicate(this.actor.getWeapons()), armes: foundry.utils.duplicate(this.actor.getWeapons()),
protections: foundry.utils.duplicate(this.actor.getArmors()), protections: foundry.utils.duplicate(this.actor.getArmors()),
dons: foundry.utils.duplicate(this.actor.getDons()), dons: foundry.utils.duplicate(this.actor.getDons()),
pactes: foundry.utils.duplicate(this.actor.getPactes()),
alignement: this.actor.getAlignement(), alignement: this.actor.getAlignement(),
aspect: this.actor.getAspect(), aspect: this.actor.getAspect(),
marge: this.actor.getMarge(), marge: this.actor.getMarge(),
@@ -53,7 +54,7 @@ export class MournbladeActorSheet extends ActorSheet {
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}), origine: foundry.utils.duplicate(this.actor.getOrigine() || {}),
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}), heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}),
metier: foundry.utils.duplicate(this.actor.getMetier() || {}), metier: foundry.utils.duplicate(this.actor.getMetier() || {}),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),
equipements: foundry.utils.duplicate(this.actor.getEquipments()), equipements: foundry.utils.duplicate(this.actor.getEquipments()),
modifiers: foundry.utils.duplicate(this.actor.getModifiers()), modifiers: foundry.utils.duplicate(this.actor.getModifiers()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()), monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
@@ -62,7 +63,7 @@ export class MournbladeActorSheet extends ActorSheet {
protectionTotal: this.actor.getProtectionTotal(), protectionTotal: this.actor.getProtectionTotal(),
santeMalus: this.actor.getStatusMalus(), santeMalus: this.actor.getStatusMalus(),
ameMalus: this.actor.getAmeMalus(), ameMalus: this.actor.getAmeMalus(),
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,
@@ -74,7 +75,7 @@ export class MournbladeActorSheet extends ActorSheet {
return formData; return formData;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
activateListeners(html) { activateListeners(html) {
@@ -82,14 +83,14 @@ export class MournbladeActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable // Everything below here is only needed if the sheet is editable
if (!this.options.editable) return; if (!this.options.editable) return;
// Update Inventory Item // Update Inventory Item
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item") const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id") let itemId = li.data("item-id")
const item = this.actor.items.get( itemId ) const item = this.actor.items.get( itemId )
item.sheet.render(true) item.sheet.render(true)
}) })
// Delete Inventory Item // Delete Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
@@ -104,7 +105,7 @@ export class MournbladeActorSheet extends ActorSheet {
let value = ev.currentTarget.value let value = ev.currentTarget.value
this.actor.editItemField(itemId, itemType, itemField, dataType, value) this.actor.editItemField(itemId, itemType, itemField, dataType, value)
}) })
html.find('.quantity-minus').click(event => { html.find('.quantity-minus').click(event => {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity( li.data("item-id"), -1 ); this.actor.incDecQuantity( li.data("item-id"), -1 );
@@ -149,7 +150,7 @@ export class MournbladeActorSheet extends ActorSheet {
let armeId = li.data("item-id") let armeId = li.data("item-id")
this.actor.rollArmeSpecial(armeId) this.actor.rollArmeSpecial(armeId)
}) })
html.find('.roll-arme-degats').click((event) => { html.find('.roll-arme-degats').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id") let armeId = li.data("item-id")
@@ -174,19 +175,19 @@ export class MournbladeActorSheet extends ActorSheet {
this.actor.incDecAme(value) this.actor.incDecAme(value)
}) })
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore; this.options.editScore = !this.options.editScore;
this.render(true); this.render(true);
}); });
html.find('.item-equip').click(ev => { html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") ); this.actor.equipItem( li.data("item-id") );
this.render(true); this.render(true);
}); });
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
setPosition(options = {}) { setPosition(options = {}) {

View File

@@ -17,8 +17,8 @@ export class MournbladeActor extends Actor {
/** /**
* Override the create() function to provide additional SoS functionality. * Override the create() function to provide additional SoS functionality.
* *
* This overrided create() function adds initial items * This overrided create() function adds initial items
* Namely: Basic skills, money, * Namely: Basic skills, money,
* *
* @param {Object} data Barebones actor data which this function adds onto. * @param {Object} data Barebones actor data which this function adds onto.
* @param {Object} options (Unused) Additional options which customize the creation workflow. * @param {Object} options (Unused) Additional options which customize the creation workflow.
@@ -136,6 +136,9 @@ export class MournbladeActor extends Actor {
getDons() { getDons() {
return this.getItemSorted(["don"]) return this.getItemSorted(["don"])
} }
getPactes() {
return this.getItemSorted(["pacte"])
}
getTendances() { getTendances() {
return this.getItemSorted(["tendance"]) return this.getItemSorted(["tendance"])
} }
@@ -250,15 +253,6 @@ export class MournbladeActor extends Actor {
return combat return combat
} }
/* -------------------------------------------- */
prepareBaseData() {
}
/* -------------------------------------------- */
async prepareData() {
super.prepareData();
}
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareDerivedData() { prepareDerivedData() {
@@ -715,10 +709,11 @@ export class MournbladeActor extends Actor {
if (arme.type == "bouclier") { if (arme.type == "bouclier") {
arme = this.prepareBouclier(arme) arme = this.prepareBouclier(arme)
} }
rollData.degatsFormula = arme.system.totalDegats //Unused rollData.degatsFormula = arme.system.totalDegats
let roll = new Roll(arme.system.totalDegats).roll({ async: false }) let roll = await new Roll(arme.system.totalDegats).roll()
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode")); await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
let rollData = { let rollData = {
degatsFormula:arme.system.totalDegats,
arme: arme, arme: arme,
finalResult: roll.total, finalResult: roll.total,
alias: this.name, alias: this.name,
@@ -727,7 +722,7 @@ export class MournbladeActor extends Actor {
actionImg: arme.img, actionImg: arme.img,
} }
MournbladeUtility.createChatWithRollMode(rollData.alias, { MournbladeUtility.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
}) })
} }

View File

@@ -1,71 +1,81 @@
export const MOURNBLADE_CONFIG = {
attaques: { export class MournbladeConfig {
assaut: "Assaut",
precise: "Attaque Précise", static getConfig() {
feinte: "Feinte", let MOURNBLADE_CONFIG = {
coupbas: "Coup Bas",
charger: "Charger", attaques: {
contenir: "Contenir l'adversaire", assaut: game.i18n.localize("MNBL.assaut"),
desarmer: "Désarmer" precise: game.i18n.localize("MNBL.preciseattack"),
}, feinte: game.i18n.localize("MNBL.feint"),
couverts: { coupbas: game.i18n.localize("MNBL.dirtyattack"),
aucun: { name: "Aucun", value: 0 }, charger: game.i18n.localize("MNBL.charge"),
rondache: { name: "Rondache ou léger (-2)", value: -2 }, contenir: game.i18n.localize("MNBL.contain"),
pavois: { name: "Pavois ou à moitié (-5)", value: -5 }, desarmer: game.i18n.localize("MNBL.disarm")
complet: { name: "Quasi complet (-10)", value: -10 }, },
}, couverts: {
modifierTypes: { aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
aucun: { name: "Aucun", value: 0 }, rondache: { name: game.i18n.localize("MNBL.lightcover"), value: -2 },
roll: { name: "Jet", value: 0 }, pavois: { name: game.i18n.localize("MNBL.mediumcover"), value: -5 },
degats: { name: "Dégats", value: 0 }, complet: { name: game.i18n.localize("MNBL.heavycover"), value: -10 },
defense: { name: "Capacité défensive", value: 0 }, },
attaque: { name: "Capacité offensive", value: 0 }, modifierTypes: {
}, aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
listeNiveau: { roll: { name: game.i18n.localize("MNBL.roll"), value: 0 },
}, degats: { name: game.i18n.localize("MNBL.damage"), value: 0 },
listeNiveauCreature: { defense: { name: game.i18n.localize("MNBL.defensecapacity"), value: 0 },
}, attaque: { name: game.i18n.localize("MNBL.attackcapacity"), value: 0 },
listePortees: { },
"10": "Moins que courte (10)", listeNiveau: {
"15": "Courte et + (15)", },
"20": "Moyenne et + (20)", listeNiveauCreature: {
"25": "Longue et + (25)" },
}, listePortees: {
modificateurOptions: {}, "10": game.i18n.localize("MNBL.lessthanshort"),
pointsAmeOptions: {}, "15": game.i18n.localize("MNBL.shortmore"),
difficulteOptions: { "20": game.i18n.localize("MNBL.mediummore"),
"0": "Aucune/Inconnue", "25": game.i18n.localize("MNBL.longmore")
"5": "Facile (5)", },
"10": "Moyenne (10)", modificateurOptions: {},
"15": "Ardue (15)", pointsAmeOptions: {},
"20": "Hasardeuse (20)", difficulteOptions: {
"25": "Insensée (25)", "0": game.i18n.localize("MNBL.noneunknwon"),
"30": "Pure Folie (30)" "5": game.i18n.localize("MNBL.easy"),
}, "10": game.i18n.localize("MNBL.medium"),
attributs: { "15": game.i18n.localize("MNBL.hard"),
adr: "Adresse", pui: "Puissance", cla: "Clairvoyance", pre: "Présence", tre: "Trempe" "20": game.i18n.localize("MNBL.hazardous"),
}, "25": game.i18n.localize("MNBL.insane"),
lancementRuneOptions: { "30": game.i18n.localize("MNBL.puremadness")
prononcer: "Prononcer la rune", },
inscrire: "Inscrire la rune" attributs: {
}, adr: game.i18n.localize("Adresse"), pui: game.i18n.localize("Puissance"),
effetRuneOptions: { cla: game.i18n.localize("Clairvoyance"), pre: game.i18n.localize("Présence"), tre: game.i18n.localize("Trempe")
prononcee: "Prononcée", },
inscrite: "Inscrite" lancementRuneOptions: {
}, prononcer: game.i18n.localize("MNBL.pronouncerune"),
typeArmeOptions: { inscrire: game.i18n.localize("MNBL.tracerune")
contact: "Arme de contact", },
contactjet: "Arme de contact et de Jet", effetRuneOptions: {
jet: "Arme de Jet", prononcee: game.i18n.localize("MNBL.pronounced"),
tir: "Arme de Tir", inscrite: game.i18n.localize("MNBL.traced")
special: "Spécial (capacité/don)" },
}, typeArmeOptions: {
allegeanceOptions: { contact: game.i18n.localize("MNBL.meleeweapon"),
tous: "Tous", contactjet: game.i18n.localize("MNBL.meleethrowweapon"),
chaos: "Chaos", jet: game.i18n.localize("MNBL.throwweapon"),
loi: "Loi", tir: game.i18n.localize("MNBL.shootweapon"),
betes: "Seigneurs des Bêtes", special: game.i18n.localize("MNBL.specialweapon")
elementaires: "Seigneurs Elementaires" },
}, allegeanceOptions: {
tous: game.i18n.localize("MNBL.all"),
chaos: game.i18n.localize("MNBL.chaos"),
loi: game.i18n.localize("MNBL.law"),
betes: game.i18n.localize("MNBL.beastslords"),
elementaires: game.i18n.localize("MNBL.elementslords")
}
}
return MOURNBLADE_CONFIG;
}
}; };

View File

@@ -4,7 +4,7 @@ import { MournbladeUtility } from "./mournblade-utility.js";
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class MournbladeItemSheet extends ItemSheet { export class MournbladeItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -49,7 +49,7 @@ export class MournbladeItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = foundry.utils.duplicate(this.object) const objectData = foundry.utils.duplicate(this.object)
let itemData = objectData let itemData = objectData
let formData = { let formData = {
title: this.title, title: this.title,
id: this.id, id: this.id,
@@ -63,14 +63,14 @@ export class MournbladeItemSheet extends ItemSheet {
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, {async: true}),
config: game.system.mournblade.config, config: game.system.mournblade.config,
mr: (this.object.type == 'specialisation'), mr: (this.object.type == 'specialisation'),
isGM: game.user.isGM isGM: game.user.isGM
} }
if ( objectData.type == "don") { if ( objectData.type == "don") {
formData.sacrifice = await TextEditor.enrichHTML(this.object.system.sacrifice, {async: true}) formData.sacrifice = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.sacrifice, {async: true})
} }
//this.options.editable = !(this.object.origin == "embeddedItem"); //this.options.editable = !(this.object.origin == "embeddedItem");
console.log("ITEM DATA", formData, this); console.log("ITEM DATA", formData, this);
@@ -151,7 +151,7 @@ export class MournbladeItemSheet extends ItemSheet {
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = foundry.utils.duplicate(this.object.system.predilections)
pred[index].used = ev.currentTarget.checked pred[index].used = ev.currentTarget.checked
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('#add-predilection').click(ev => { html.find('#add-predilection').click(ev => {
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = foundry.utils.duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", id: randomID(), used: false }) pred.push( { name: "Nouvelle prédilection", id: randomID(), used: false })

View File

@@ -15,7 +15,7 @@ import { MournbladeCreatureSheet } from "./mournblade-creature-sheet.js";
import { MournbladeUtility } from "./mournblade-utility.js"; import { MournbladeUtility } from "./mournblade-utility.js";
import { MournbladeCombat } from "./mournblade-combat.js"; import { MournbladeCombat } from "./mournblade-combat.js";
import { MournbladeItem } from "./mournblade-item.js"; import { MournbladeItem } from "./mournblade-item.js";
import { MOURNBLADE_CONFIG } from "./mournblade-config.js"; import { MournbladeConfig } from "./mournblade-config.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
@@ -30,7 +30,7 @@ Hooks.once("init", async function () {
MournbladeUtility.preloadHandlebarsTemplates(); MournbladeUtility.preloadHandlebarsTemplates();
/* -------------------------------------------- */ /* -------------------------------------------- */
// Set an initiative formula for the system // Set an initiative formula for the system
CONFIG.Combat.initiative = { CONFIG.Combat.initiative = {
formula: "1d6", formula: "1d6",
decimals: 1 decimals: 1
@@ -46,21 +46,21 @@ Hooks.once("init", async function () {
CONFIG.Combat.documentClass = MournbladeCombat CONFIG.Combat.documentClass = MournbladeCombat
CONFIG.Actor.documentClass = MournbladeActor CONFIG.Actor.documentClass = MournbladeActor
CONFIG.Item.documentClass = MournbladeItem CONFIG.Item.documentClass = MournbladeItem
game.system.mournblade = { game.system.mournblade = {
config : MOURNBLADE_CONFIG, config : MournbladeConfig.getConfig(),
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
Actors.registerSheet("fvtt-mournblade", MournbladeActorSheet, { types: ["personnage"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("fvtt-mournblade", MournbladeActorSheet, { types: ["personnage"], makeDefault: true })
Actors.registerSheet("fvtt-mournblade", MournbladeCreatureSheet, { types: ["creature"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("fvtt-mournblade", MournbladeCreatureSheet, { types: ["creature"], makeDefault: true })
Items.unregisterSheet("core", ItemSheet); foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
Items.registerSheet("fvtt-mournblade", MournbladeItemSheet, { makeDefault: true }) foundry.documents.collections.Items.registerSheet("fvtt-mournblade", MournbladeItemSheet, { makeDefault: true })
MournbladeUtility.init(); MournbladeUtility.init();
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -92,6 +92,10 @@ async function importDefaultScene() {
/* -------------------------------------------- */ /* -------------------------------------------- */
Hooks.once("ready", function () { Hooks.once("ready", function () {
game.system.mournblade = {
config : MournbladeConfig.getConfig(),
}
MournbladeUtility.ready(); MournbladeUtility.ready();
// User warning // User warning
if (!game.user.isGM && game.user.character == undefined) { if (!game.user.isGM && game.user.character == undefined) {
@@ -115,7 +119,7 @@ Hooks.once("ready", function () {
}).catch(err=> }).catch(err=>
console.log("No stats available, giving up.") console.log("No stats available, giving up.")
) )
importDefaultScene(); importDefaultScene();
welcomeMessage(); welcomeMessage();
}); });
@@ -133,4 +137,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
} }
return true; return true;
}); });

View File

@@ -6,7 +6,7 @@ export class MournbladeRollDialog extends Dialog {
static async create(actor, rollData ) { static async create(actor, rollData ) {
let options = { classes: ["MournbladeDialog"], width: 340, height: 'fit-content', 'z-index': 99999 }; let options = { classes: ["MournbladeDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
let html = await renderTemplate('systems/fvtt-mournblade/templates/roll-dialog-generic.html', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-mournblade/templates/roll-dialog-generic.html', rollData);
return new MournbladeRollDialog(actor, rollData, html, options ); return new MournbladeRollDialog(actor, rollData, html, options );
} }
@@ -16,16 +16,16 @@ export class MournbladeRollDialog extends Dialog {
let conf = { let conf = {
title: "Test de Capacité", title: "Test de Capacité",
content: html, content: html,
buttons: { buttons: {
rolld10: { rolld10: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10", label: "Lancer 1d10",
callback: () => { this.roll("1d10") } callback: () => { this.roll("1d10") }
}, },
rolld20: { rolld20: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d20", label: "Lancer 1d20",
callback: () => { this.roll("1d20") } callback: () => { this.roll("1d20") }
}, },
cancel: { cancel: {
icon: '<i class="fas fa-times"></i>', icon: '<i class="fas fa-times"></i>',
@@ -73,45 +73,45 @@ export class MournbladeRollDialog extends Dialog {
}) })
html.find('#attrKey').change(async (event) => { html.find('#attrKey').change(async (event) => {
this.rollData.attrKey = String(event.currentTarget.value) this.rollData.attrKey = String(event.currentTarget.value)
}) })
html.find('#runemode').change(async (event) => { html.find('#runemode').change(async (event) => {
this.rollData.runemode = String(event.currentTarget.value) this.rollData.runemode = String(event.currentTarget.value)
}) })
html.find('#runeame').change(async (event) => { html.find('#runeame').change(async (event) => {
this.rollData.runeame = Number(event.currentTarget.value) this.rollData.runeame = Number(event.currentTarget.value)
}) })
html.find('#isMonte').change(async (event) => { html.find('#isMonte').change(async (event) => {
this.rollData.desavantages.isMonte = event.currentTarget.checked this.rollData.desavantages.isMonte = event.currentTarget.checked
}) })
html.find('#cibleausol').change(async (event) => { html.find('#cibleausol').change(async (event) => {
this.rollData.desavantages.cibleausol = event.currentTarget.checked this.rollData.desavantages.cibleausol = event.currentTarget.checked
}) })
html.find('#cibledesarmee').change(async (event) => { html.find('#cibledesarmee').change(async (event) => {
this.rollData.desavantages.cibledesarmee = event.currentTarget.checked this.rollData.desavantages.cibledesarmee = event.currentTarget.checked
}) })
html.find('#ciblerestreint').change(async (event) => { html.find('#ciblerestreint').change(async (event) => {
this.rollData.desavantages.ciblerestreint = event.currentTarget.checked this.rollData.desavantages.ciblerestreint = event.currentTarget.checked
}) })
html.find('#cibleimmobilisée').change(async (event) => { html.find('#cibleimmobilisée').change(async (event) => {
this.rollData.desavantages.cibleimmobilisée = event.currentTarget.checked this.rollData.desavantages.cibleimmobilisée = event.currentTarget.checked
}) })
html.find('#ciblesurplomb').change(async (event) => { html.find('#ciblesurplomb').change(async (event) => {
this.rollData.desavantages.ciblesurplomb = event.currentTarget.checked this.rollData.desavantages.ciblesurplomb = event.currentTarget.checked
}) })
html.find('#doubleD20').change(async (event) => { html.find('#doubleD20').change(async (event) => {
this.rollData.doubleD20 = event.currentTarget.checked this.rollData.doubleD20 = event.currentTarget.checked
}) })
html.find('#visee').change(async (event) => { html.find('#visee').change(async (event) => {
this.rollData.visee = event.currentTarget.checked this.rollData.visee = event.currentTarget.checked
}) })
html.find('#cibleconsciente').change(async (event) => { html.find('#cibleconsciente').change(async (event) => {
this.rollData.cibleconsciente = event.currentTarget.checked this.rollData.cibleconsciente = event.currentTarget.checked
}) })
html.find('#ciblecourt').change(async (event) => { html.find('#ciblecourt').change(async (event) => {
this.rollData.ciblecourt = event.currentTarget.checked this.rollData.ciblecourt = event.currentTarget.checked
}) })
html.find('#typeCouvert').change(async (event) => { html.find('#typeCouvert').change(async (event) => {
this.rollData.typeCouvert = String(event.currentTarget.value) this.rollData.typeCouvert = String(event.currentTarget.value)
}) })

View File

@@ -8,16 +8,13 @@ export class MournbladeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => MournbladeUtility.chatListeners(html)) Hooks.on('renderChatMessageHTML', (log, html, data) => MournbladeUtility.chatListeners(html))
Hooks.on("getChatLogEntryContext", (html, options) => MournbladeUtility.chatRollMenu(html, options)) Hooks.on("getChatMessageContextOptions", (html, options) => MournbladeUtility.chatRollMenu(html, options))
Hooks.on('renderChatMessage', (message, html, data) => MournbladeUtility.chatMessageHandler(message, html, data)) Hooks.on('renderChatMessageHTML', (message, html, data) => MournbladeUtility.chatMessageHandler(message, html, data))
Hooks.on("getCombatTrackerEntryContext", (html, options) => { Hooks.on("getCombatTrackerEntryContext", (html, options) => {
MournbladeUtility.pushInitiativeOptions(html, options); MournbladeUtility.pushInitiativeOptions(html, options);
}) })
Hooks.on("dropCanvasData", (canvas, data) => {
MournbladeUtility.dropItemOnToken(canvas, data)
});
this.rollDataStore = {} this.rollDataStore = {}
this.defenderStore = {} this.defenderStore = {}
@@ -115,7 +112,7 @@ export class MournbladeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatMessageHandler(message, html, data) { static async chatMessageHandler(message, html, data) {
const chatCard = html.find('.action-section') const chatCard = $(html).find('.action-section')
if (chatCard.length > 0) { if (chatCard.length > 0) {
// If the user is the message author or the actor owner, proceed // If the user is the message author or the actor owner, proceed
const actor = game.actors.get(data.message.speaker.actor) const actor = game.actors.get(data.message.speaker.actor)
@@ -130,7 +127,7 @@ export class MournbladeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
html.on("click", '.predilection-reroll', async event => { $(html).on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index") let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget) let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
@@ -142,7 +139,7 @@ export class MournbladeUtility {
await MournbladeUtility.rollMournblade(rollData) await MournbladeUtility.rollMournblade(rollData)
}) })
html.on("click", '.arme-roll-degats', async event => { $(html).on("click", '.arme-roll-degats', async event => {
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget) let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
@@ -150,7 +147,7 @@ export class MournbladeUtility {
}) })
html.on("click", '.arme-apply-degats', async event => { $(html).on("click", '.arme-apply-degats', async event => {
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget) let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
@@ -169,7 +166,7 @@ export class MournbladeUtility {
'systems/fvtt-mournblade/templates/editor-notes-gm.html', 'systems/fvtt-mournblade/templates/editor-notes-gm.html',
'systems/fvtt-mournblade/templates/partial-item-description.html' 'systems/fvtt-mournblade/templates/partial-item-description.html'
] ]
return loadTemplates(templatePaths); return foundry.applications.handlebars.loadTemplates(templatePaths);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -212,7 +209,7 @@ export class MournbladeUtility {
static createArrayOptionList(min, max) { static createArrayOptionList(min, max) {
let options = []; let options = [];
for (let i = min; i <= max; i++) { for (let i = min; i <= max; i++) {
options.push({key:`${i}`, label:`${i}`}); options.push({ key: `${i}`, label: `${i}` });
} }
return options; return options;
} }
@@ -301,7 +298,11 @@ export class MournbladeUtility {
} }
} }
} }
this.computeQualityResult(rollData)
}
/* -------------------------------------------- */
static computeQualityResult(rollData) {
//console.log("Result : ", rollData) //console.log("Result : ", rollData)
if (rollData.difficulte > 0 && !rollData.isDramatique) { if (rollData.difficulte > 0 && !rollData.isDramatique) {
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte) rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
@@ -394,7 +395,7 @@ export class MournbladeUtility {
rollData.runeduree = 1 rollData.runeduree = 1
} }
} }
let myRoll = await new Roll(rollData.diceFormula).evaluate(); let myRoll = await new Roll(rollData.diceFormula).evaluate();
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = foundry.utils.duplicate(myRoll) rollData.roll = foundry.utils.duplicate(myRoll)
@@ -426,7 +427,7 @@ export class MournbladeUtility {
actor.setModifier("Charge de Cavalerie : -5 défense pour le tour", "defense", -5) actor.setModifier("Charge de Cavalerie : -5 défense pour le tour", "defense", -5)
} }
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData)
}, rollData) }, rollData)
} }
@@ -520,7 +521,7 @@ export class MournbladeUtility {
} }
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
}, rollData) }, rollData)
} }
@@ -556,6 +557,8 @@ export class MournbladeUtility {
} }
defender.incDecSante(type, +degats, rollData.ignoreDefenseArmor) defender.incDecSante(type, +degats, rollData.ignoreDefenseArmor)
ui.notifications.info(defender.name + "a subi " + degats + " points de santé " + type + ".") ui.notifications.info(defender.name + "a subi " + degats + " points de santé " + type + ".")
} else {
ui.notifications.warn("Pas de cible sélectionnée ou pas d'arme de défense équipée.")
} }
} }
@@ -569,17 +572,17 @@ export class MournbladeUtility {
rollData.finalResult += rollData.bonusRoll.total rollData.finalResult += rollData.bonusRoll.total
this.computeResult(rollData) this.computeQualityResult(rollData)
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData)
}, rollData) }, rollData)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getUsers(filter) { static getUsers(filter) {
return game.users.filter(filter).map(user => user.data._id); return game.users.filter(filter).map(user => user._id);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -697,7 +700,7 @@ export class MournbladeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyBonneAventureRoll(li, changed, addedBonus) { static applyBonneAventureRoll(li, changed, addedBonus) {
let msgId = li.data("message-id") let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "mournblade-roll") let rollData = msg.getFlag("world", "mournblade-roll")
@@ -716,7 +719,7 @@ export class MournbladeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyEclatRoll(li, changed, addedBonus) { static applyEclatRoll(li, changed, addedBonus) {
let msgId = li.data("message-id") let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "mournblade-roll") let rollData = msg.getFlag("world", "mournblade-roll")
@@ -733,51 +736,51 @@ export class MournbladeUtility {
static chatRollMenu(html, options) { static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".mournblade-roll").length let canApply = li => canvas.tokens.controlled.length && li.find(".mournblade-roll").length
let canApplyBALoyal = function (li) { let canApplyBALoyal = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "loyal") return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "loyal")
} }
let canApplyPELoyal = function (li) { let canApplyPELoyal = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "loyal") return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "loyal")
} }
let canApplyBAChaotique = function (li) { let canApplyBAChaotique = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "chaotique") return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "chaotique")
} }
let canApplyBAChaotique3 = function (li) { let canApplyBAChaotique3 = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 2 && actor.getAlignement() == "chaotique") return (!rollData.isReroll && actor.getBonneAventure() > 2 && actor.getAlignement() == "chaotique")
} }
let canApplyPEChaotique = function (li) { let canApplyPEChaotique = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "chaotique") return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "chaotique")
} }
let hasPredilection = function (li) { let hasPredilection = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
if (rollData.competence) { if (rollData.competence) {
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length let nbPred = rollData.competence.system.predilections.filter(pred => !pred.used).length
return (!rollData.isReroll && rollData.competence && nbPred > 0) return (!rollData.isReroll && rollData.competence && nbPred > 0)
} }
return false return false
} }
let canCompetenceDouble = function (li) { let canCompetenceDouble = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "mournblade-roll") let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData) let actor = MournbladeUtility.getActorFromRollData(rollData)
if (rollData.competence) { if (rollData.competence) {
return rollData.competence.data.doublebonus return rollData.competence.system.doublebonus
} }
return false return false
} }

Binary file not shown.

BIN
packs/armes/000235.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000196 MANIFEST-000252

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.595518 7f0832a006c0 Recovering log #193 2025/10/26-14:50:15.120901 7f05877fe6c0 Recovering log #250
2024/04/25-23:18:20.606674 7f0832a006c0 Delete type=3 #191 2025/10/26-14:50:15.130180 7f05877fe6c0 Delete type=3 #248
2024/04/25-23:18:20.606816 7f0832a006c0 Delete type=0 #193 2025/10/26-14:50:15.130233 7f05877fe6c0 Delete type=0 #250
2024/04/25-23:31:59.770416 7f08310006c0 Level-0 table #199: started 2025/10/26-15:08:10.384792 7f0586bff6c0 Level-0 table #255: started
2024/04/25-23:31:59.770479 7f08310006c0 Level-0 table #199: 0 bytes OK 2025/10/26-15:08:10.384839 7f0586bff6c0 Level-0 table #255: 0 bytes OK
2024/04/25-23:31:59.807298 7f08310006c0 Delete type=0 #197 2025/10/26-15:08:10.416242 7f0586bff6c0 Delete type=0 #253
2024/04/25-23:31:59.807694 7f08310006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454714 7f0586bff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.846668 7f08310006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454760 7f0586bff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.778464 7f78fb4006c0 Recovering log #189 2025/10/26-11:41:45.111518 7fe806ffd6c0 Recovering log #246
2024/04/25-22:03:44.789142 7f78fb4006c0 Delete type=3 #187 2025/10/26-11:41:45.121406 7fe806ffd6c0 Delete type=3 #244
2024/04/25-22:03:44.789200 7f78fb4006c0 Delete type=0 #189 2025/10/26-11:41:45.121474 7fe806ffd6c0 Delete type=0 #246
2024/04/25-23:17:56.583102 7f78f90006c0 Level-0 table #194: started 2025/10/26-11:42:27.673791 7fe804ff96c0 Level-0 table #251: started
2024/04/25-23:17:56.587218 7f78f90006c0 Level-0 table #194: 14619 bytes OK 2025/10/26-11:42:27.673818 7fe804ff96c0 Level-0 table #251: 0 bytes OK
2024/04/25-23:17:56.593478 7f78f90006c0 Delete type=0 #192 2025/10/26-11:42:27.702748 7fe804ff96c0 Delete type=0 #249
2024/04/25-23:17:56.593750 7f78f90006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.787796 7fe804ff96c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.635561 7f78f90006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at '!items!wv5EiePmPTpqFutt' @ 143 : 1 2025/10/26-11:42:27.787822 7fe804ff96c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.635586 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.639493 7f78f90006c0 Generated table #195@1: 48 keys, 14619 bytes
2024/04/25-23:17:56.639537 7f78f90006c0 Compacted 1@1 + 1@2 files => 14619 bytes
2024/04/25-23:17:56.645856 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.646010 7f78f90006c0 Delete type=2 #90
2024/04/25-23:17:56.646200 7f78f90006c0 Delete type=2 #194
2024/04/25-23:17:56.646356 7f78f90006c0 Manual compaction at level-1 from '!items!wv5EiePmPTpqFutt' @ 143 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/armes/MANIFEST-000252 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/dons/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.639847 7f0833e006c0 Recovering log #192 2025/10/26-14:50:15.155929 7f058d1fa6c0 Recovering log #249
2024/04/25-23:18:20.650619 7f0833e006c0 Delete type=3 #190 2025/10/26-14:50:15.166060 7f058d1fa6c0 Delete type=3 #247
2024/04/25-23:18:20.650726 7f0833e006c0 Delete type=0 #192 2025/10/26-14:50:15.166155 7f058d1fa6c0 Delete type=0 #249
2024/04/25-23:31:59.846695 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.487803 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.846738 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.487829 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:31:59.878047 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.522320 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:31:59.950365 7f08310006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602716 7f0586bff6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.950424 7f08310006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602741 7f0586bff6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.820803 7f78fa0006c0 Recovering log #188 2025/10/26-11:41:45.148682 7fe8057fa6c0 Recovering log #245
2024/04/25-22:03:44.831810 7f78fa0006c0 Delete type=3 #186 2025/10/26-11:41:45.159005 7fe8057fa6c0 Delete type=3 #243
2024/04/25-22:03:44.831882 7f78fa0006c0 Delete type=0 #188 2025/10/26-11:41:45.159071 7fe8057fa6c0 Delete type=0 #245
2024/04/25-23:17:56.646583 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:27.892214 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.650291 7f78f90006c0 Level-0 table #193: 15907 bytes OK 2025/10/26-11:42:27.892241 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.657623 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:27.929964 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.689962 7f78f90006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.930136 7fe804ff96c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.690062 7f78f90006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at '!items!zzz9JrtWjELdoAfK' @ 60 : 1 2025/10/26-11:42:27.930151 7fe804ff96c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.690077 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.694261 7f78f90006c0 Generated table #194@1: 30 keys, 15907 bytes
2024/04/25-23:17:56.694309 7f78f90006c0 Compacted 1@1 + 1@2 files => 15907 bytes
2024/04/25-23:17:56.701741 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.701915 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.702149 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.736235 7f78f90006c0 Manual compaction at level-1 from '!items!zzz9JrtWjELdoAfK' @ 60 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/dons/MANIFEST-000251 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/equipement/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.625174 7f0832a006c0 Recovering log #192 2025/10/26-14:50:15.144436 7f058c9f96c0 Recovering log #249
2024/04/25-23:18:20.636417 7f0832a006c0 Delete type=3 #190 2025/10/26-14:50:15.153602 7f058c9f96c0 Delete type=3 #247
2024/04/25-23:18:20.636541 7f0832a006c0 Delete type=0 #192 2025/10/26-14:50:15.153649 7f058c9f96c0 Delete type=0 #249
2024/04/25-23:31:59.807936 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.454949 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.807990 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.454987 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:31:59.846313 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.487668 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:31:59.913834 7f08310006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602705 7f0586bff6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.950407 7f08310006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602747 7f0586bff6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.807163 7f78faa006c0 Recovering log #188 2025/10/26-11:41:45.136283 7fe805ffb6c0 Recovering log #245
2024/04/25-22:03:44.817025 7f78faa006c0 Delete type=3 #186 2025/10/26-11:41:45.146508 7fe805ffb6c0 Delete type=3 #243
2024/04/25-22:03:44.817133 7f78faa006c0 Delete type=0 #188 2025/10/26-11:41:45.146568 7fe805ffb6c0 Delete type=0 #245
2024/04/25-23:17:56.668294 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:27.825311 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.671931 7f78f90006c0 Level-0 table #193: 9643 bytes OK 2025/10/26-11:42:27.825331 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.679337 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:27.861104 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.690017 7f78f90006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.930116 7fe804ff96c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.713583 7f78f90006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at '!items!y47dBO3Mf5Pn7tOd' @ 110 : 1 2025/10/26-11:42:27.930158 7fe804ff96c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.713606 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.717333 7f78f90006c0 Generated table #194@1: 55 keys, 9643 bytes
2024/04/25-23:17:56.717385 7f78f90006c0 Compacted 1@1 + 1@2 files => 9643 bytes
2024/04/25-23:17:56.724376 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.724681 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.724931 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.736282 7f78f90006c0 Manual compaction at level-1 from '!items!y47dBO3Mf5Pn7tOd' @ 110 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/heritages/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.668825 7f0833e006c0 Recovering log #192 2025/10/26-14:50:15.181568 7f058c9f96c0 Recovering log #249
2024/04/25-23:18:20.680265 7f0833e006c0 Delete type=3 #190 2025/10/26-14:50:15.191007 7f058c9f96c0 Delete type=3 #247
2024/04/25-23:18:20.680363 7f0833e006c0 Delete type=0 #192 2025/10/26-14:50:15.191066 7f058c9f96c0 Delete type=0 #249
2024/04/25-23:31:59.913864 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.602832 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.913918 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.602852 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:31:59.950159 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.640036 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:31:59.950438 7f08310006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.745288 7f0586bff6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.950490 7f08310006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.745338 7f0586bff6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.848567 7f78fbe006c0 Recovering log #188 2025/10/26-11:41:45.176137 7fe8067fc6c0 Recovering log #245
2024/04/25-22:03:44.859167 7f78fbe006c0 Delete type=3 #186 2025/10/26-11:41:45.185849 7fe8067fc6c0 Delete type=3 #243
2024/04/25-22:03:44.859237 7f78fbe006c0 Delete type=0 #188 2025/10/26-11:41:45.185903 7fe8067fc6c0 Delete type=0 #245
2024/04/25-23:17:56.736429 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:27.930250 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.740111 7f78f90006c0 Level-0 table #193: 6857 bytes OK 2025/10/26-11:42:27.930290 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.747766 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:27.973763 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.781813 7f78f90006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end) 2025/10/26-11:42:28.072059 7fe804ff96c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.781945 7f78f90006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at '!items!ui4JGsGwHNlSXVK3' @ 20 : 1 2025/10/26-11:42:28.072094 7fe804ff96c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.781966 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.786785 7f78f90006c0 Generated table #194@1: 10 keys, 6857 bytes
2024/04/25-23:17:56.786842 7f78f90006c0 Compacted 1@1 + 1@2 files => 6857 bytes
2024/04/25-23:17:56.793253 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.793403 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.793624 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.829747 7f78f90006c0 Manual compaction at level-1 from '!items!ui4JGsGwHNlSXVK3' @ 20 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/metiers/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.683579 7f0832a006c0 Recovering log #192 2025/10/26-14:50:15.193236 7f05877fe6c0 Recovering log #249
2024/04/25-23:18:20.739808 7f0832a006c0 Delete type=3 #190 2025/10/26-14:50:15.203399 7f05877fe6c0 Delete type=3 #247
2024/04/25-23:18:20.740012 7f0832a006c0 Delete type=0 #192 2025/10/26-14:50:15.203478 7f05877fe6c0 Delete type=0 #249
2024/04/25-23:31:59.987531 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.673540 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.987597 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.673570 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:32:00.025092 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.707526 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:32:00.098181 7f08310006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.745317 7f0586bff6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/04/25-23:32:00.098246 7f08310006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.745369 7f0586bff6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.862107 7f78faa006c0 Recovering log #188 2025/10/26-11:41:45.187994 7fe805ffb6c0 Recovering log #245
2024/04/25-22:03:44.872187 7f78faa006c0 Delete type=3 #186 2025/10/26-11:41:45.197424 7fe805ffb6c0 Delete type=3 #243
2024/04/25-22:03:44.872261 7f78faa006c0 Delete type=0 #188 2025/10/26-11:41:45.197491 7fe805ffb6c0 Delete type=0 #245
2024/04/25-23:17:56.748013 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:28.037364 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.751838 7f78f90006c0 Level-0 table #193: 14928 bytes OK 2025/10/26-11:42:28.037390 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.758505 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:28.071870 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.781852 7f78f90006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end) 2025/10/26-11:42:28.072089 7fe804ff96c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.793815 7f78f90006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at '!items!xlyFCQClBZ1N3O1B' @ 34 : 1 2025/10/26-11:42:28.072109 7fe804ff96c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.793837 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.798220 7f78f90006c0 Generated table #194@1: 17 keys, 14928 bytes
2024/04/25-23:17:56.798264 7f78f90006c0 Compacted 1@1 + 1@2 files => 14928 bytes
2024/04/25-23:17:56.805819 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.806009 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.806246 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.829790 7f78f90006c0 Manual compaction at level-1 from '!items!xlyFCQClBZ1N3O1B' @ 34 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/origines/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.653541 7f0832a006c0 Recovering log #192 2025/10/26-14:50:15.168305 7f0587fff6c0 Recovering log #249
2024/04/25-23:18:20.665587 7f0832a006c0 Delete type=3 #190 2025/10/26-14:50:15.179364 7f0587fff6c0 Delete type=3 #247
2024/04/25-23:18:20.665693 7f0832a006c0 Delete type=0 #192 2025/10/26-14:50:15.179461 7f0587fff6c0 Delete type=0 #249
2024/04/25-23:31:59.878272 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.568627 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.878321 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.568654 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:31:59.913563 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.602585 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:31:59.950389 7f08310006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602734 7f0586bff6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.950473 7f08310006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602758 7f0586bff6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.835252 7f78fb4006c0 Recovering log #188 2025/10/26-11:41:45.161644 7fe806ffd6c0 Recovering log #245
2024/04/25-22:03:44.844890 7f78fb4006c0 Delete type=3 #186 2025/10/26-11:41:45.173890 7fe806ffd6c0 Delete type=3 #243
2024/04/25-22:03:44.844947 7f78fb4006c0 Delete type=0 #188 2025/10/26-11:41:45.173958 7fe806ffd6c0 Delete type=0 #245
2024/04/25-23:17:56.657844 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:27.861203 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.661522 7f78f90006c0 Level-0 table #193: 9292 bytes OK 2025/10/26-11:42:27.861224 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.668102 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:27.892080 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.689993 7f78f90006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.930127 7fe804ff96c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.702314 7f78f90006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at '!items!yBvkQb9S64s908sR' @ 40 : 1 2025/10/26-11:42:27.930166 7fe804ff96c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.702334 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.706532 7f78f90006c0 Generated table #194@1: 20 keys, 9292 bytes
2024/04/25-23:17:56.706587 7f78f90006c0 Compacted 1@1 + 1@2 files => 9292 bytes
2024/04/25-23:17:56.712971 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.713170 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.713410 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.736260 7f78f90006c0 Manual compaction at level-1 from '!items!yBvkQb9S64s908sR' @ 40 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000091 MANIFEST-000147

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.542505 7f0832a006c0 Recovering log #88 2025/10/26-14:50:15.081856 7f058d1fa6c0 Recovering log #145
2024/04/25-23:18:20.553330 7f0832a006c0 Delete type=3 #86 2025/10/26-14:50:15.091189 7f058d1fa6c0 Delete type=3 #143
2024/04/25-23:18:20.553446 7f0832a006c0 Delete type=0 #88 2025/10/26-14:50:15.091260 7f058d1fa6c0 Delete type=0 #145
2024/04/25-23:31:59.654488 7f08310006c0 Level-0 table #94: started 2025/10/26-15:08:10.330087 7f0586bff6c0 Level-0 table #150: started
2024/04/25-23:31:59.654563 7f08310006c0 Level-0 table #94: 0 bytes OK 2025/10/26-15:08:10.330119 7f0586bff6c0 Level-0 table #150: 0 bytes OK
2024/04/25-23:31:59.691350 7f08310006c0 Delete type=0 #92 2025/10/26-15:08:10.384550 7f0586bff6c0 Delete type=0 #148
2024/04/25-23:31:59.691614 7f08310006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454697 7f0586bff6c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.807584 7f08310006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454752 7f0586bff6c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.727571 7f78fa0006c0 Recovering log #84 2025/10/26-11:41:45.070943 7fe805ffb6c0 Recovering log #141
2024/04/25-22:03:44.737860 7f78fa0006c0 Delete type=3 #82 2025/10/26-11:41:45.080807 7fe805ffb6c0 Delete type=3 #139
2024/04/25-22:03:44.737921 7f78fa0006c0 Delete type=0 #84 2025/10/26-11:41:45.080890 7fe805ffb6c0 Delete type=0 #141
2024/04/25-23:17:56.553677 7f78f90006c0 Level-0 table #89: started 2025/10/26-11:42:27.702876 7fe804ff96c0 Level-0 table #146: started
2024/04/25-23:17:56.565474 7f78f90006c0 Level-0 table #89: 424873 bytes OK 2025/10/26-11:42:27.702902 7fe804ff96c0 Level-0 table #146: 0 bytes OK
2024/04/25-23:17:56.571664 7f78f90006c0 Delete type=0 #87 2025/10/26-11:42:27.753550 7fe804ff96c0 Delete type=0 #144
2024/04/25-23:17:56.593711 7f78f90006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.787805 7fe804ff96c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.604145 7f78f90006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at '!actors.items!vwUVYPpU0V6bEDLa.t692JcsGHG4YJIlM' @ 1383 : 1 2025/10/26-11:42:27.787855 7fe804ff96c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.604159 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.616841 7f78f90006c0 Generated table #90@1: 694 keys, 425338 bytes
2024/04/25-23:17:56.616878 7f78f90006c0 Compacted 1@1 + 1@2 files => 425338 bytes
2024/04/25-23:17:56.623058 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.623248 7f78f90006c0 Delete type=2 #15
2024/04/25-23:17:56.623623 7f78f90006c0 Delete type=2 #89
2024/04/25-23:17:56.646323 7f78f90006c0 Manual compaction at level-1 from '!actors.items!vwUVYPpU0V6bEDLa.t692JcsGHG4YJIlM' @ 1383 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/protection/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.610323 7f0833e006c0 Recovering log #192 2025/10/26-14:50:15.132108 7f0587fff6c0 Recovering log #249
2024/04/25-23:18:20.622545 7f0833e006c0 Delete type=3 #190 2025/10/26-14:50:15.142449 7f0587fff6c0 Delete type=3 #247
2024/04/25-23:18:20.622654 7f0833e006c0 Delete type=0 #192 2025/10/26-14:50:15.142515 7f0587fff6c0 Delete type=0 #249
2024/04/25-23:31:59.733906 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.522538 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:31:59.734001 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.522578 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:31:59.770187 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.568481 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:31:59.807670 7f08310006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602726 7f0586bff6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.807915 7f08310006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.602753 7f0586bff6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.793150 7f78fbe006c0 Recovering log #188 2025/10/26-11:41:45.124122 7fe8067fc6c0 Recovering log #245
2024/04/25-22:03:44.803271 7f78fbe006c0 Delete type=3 #186 2025/10/26-11:41:45.133716 7fe8067fc6c0 Delete type=3 #243
2024/04/25-22:03:44.803377 7f78fbe006c0 Delete type=0 #188 2025/10/26-11:41:45.133787 7fe8067fc6c0 Delete type=0 #245
2024/04/25-23:17:56.679571 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:27.787934 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.683127 7f78f90006c0 Level-0 table #193: 2847 bytes OK 2025/10/26-11:42:27.787973 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.689699 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:27.825203 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.690037 7f78f90006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.930104 7fe804ff96c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.725109 7f78f90006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at '!items!veoS6Gtzj6Dq087V' @ 14 : 1 2025/10/26-11:42:27.930143 7fe804ff96c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.725132 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.729034 7f78f90006c0 Generated table #194@1: 7 keys, 2847 bytes
2024/04/25-23:17:56.729087 7f78f90006c0 Compacted 1@1 + 1@2 files => 2847 bytes
2024/04/25-23:17:56.735693 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.735874 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.736084 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.736304 7f78f90006c0 Manual compaction at level-1 from '!items!veoS6Gtzj6Dq087V' @ 14 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/runes/000234.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000195 MANIFEST-000251

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.771521 7f0833e006c0 Recovering log #192 2025/10/26-14:50:15.230526 7f05877fe6c0 Recovering log #249
2024/04/25-23:18:20.782849 7f0833e006c0 Delete type=3 #190 2025/10/26-14:50:15.241041 7f05877fe6c0 Delete type=3 #247
2024/04/25-23:18:20.782970 7f0833e006c0 Delete type=0 #192 2025/10/26-14:50:15.241111 7f05877fe6c0 Delete type=0 #249
2024/04/25-23:32:00.061611 7f08310006c0 Level-0 table #198: started 2025/10/26-15:08:10.745454 7f0586bff6c0 Level-0 table #254: started
2024/04/25-23:32:00.061677 7f08310006c0 Level-0 table #198: 0 bytes OK 2025/10/26-15:08:10.745494 7f0586bff6c0 Level-0 table #254: 0 bytes OK
2024/04/25-23:32:00.097976 7f08310006c0 Delete type=0 #196 2025/10/26-15:08:10.782322 7f0586bff6c0 Delete type=0 #252
2024/04/25-23:32:00.098231 7f08310006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end) 2025/10/26-15:08:11.083498 7f0586bff6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/04/25-23:32:00.098275 7f08310006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end) 2025/10/26-15:08:11.083560 7f0586bff6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.942647 7f78fbe006c0 Recovering log #188 2025/10/26-11:41:45.225695 7fe8067fc6c0 Recovering log #245
2024/04/25-22:03:44.952273 7f78fbe006c0 Delete type=3 #186 2025/10/26-11:41:45.235658 7fe8067fc6c0 Delete type=3 #243
2024/04/25-22:03:44.952331 7f78fbe006c0 Delete type=0 #188 2025/10/26-11:41:45.235707 7fe8067fc6c0 Delete type=0 #245
2024/04/25-23:17:56.829965 7f78f90006c0 Level-0 table #193: started 2025/10/26-11:42:28.072182 7fe804ff96c0 Level-0 table #250: started
2024/04/25-23:17:56.834429 7f78f90006c0 Level-0 table #193: 33589 bytes OK 2025/10/26-11:42:28.072214 7fe804ff96c0 Level-0 table #250: 0 bytes OK
2024/04/25-23:17:56.841621 7f78f90006c0 Delete type=0 #191 2025/10/26-11:42:28.104478 7fe804ff96c0 Delete type=0 #248
2024/04/25-23:17:56.877068 7f78f90006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end) 2025/10/26-11:42:28.247156 7fe804ff96c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.877166 7f78f90006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at '!items!xnCf2xIPzdsUoBTy' @ 90 : 1 2025/10/26-11:42:28.247188 7fe804ff96c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.877183 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.882808 7f78f90006c0 Generated table #194@1: 45 keys, 33589 bytes
2024/04/25-23:17:56.882860 7f78f90006c0 Compacted 1@1 + 1@2 files => 33589 bytes
2024/04/25-23:17:56.889362 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.889490 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.889707 7f78f90006c0 Delete type=2 #193
2024/04/25-23:17:56.919312 7f78f90006c0 Manual compaction at level-1 from '!items!xnCf2xIPzdsUoBTy' @ 90 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/runes/MANIFEST-000251 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000150.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000111 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.802683 7f0833e006c0 Recovering log #108 2025/10/26-14:50:15.255749 7f058c9f96c0 Recovering log #165
2024/04/25-23:18:20.813089 7f0833e006c0 Delete type=3 #106 2025/10/26-14:50:15.265660 7f058c9f96c0 Delete type=3 #163
2024/04/25-23:18:20.813231 7f0833e006c0 Delete type=0 #108 2025/10/26-14:50:15.265724 7f058c9f96c0 Delete type=0 #165
2024/04/25-23:32:00.135709 7f08310006c0 Level-0 table #114: started 2025/10/26-15:08:10.825282 7f0586bff6c0 Level-0 table #170: started
2024/04/25-23:32:00.135776 7f08310006c0 Level-0 table #114: 0 bytes OK 2025/10/26-15:08:10.825313 7f0586bff6c0 Level-0 table #170: 0 bytes OK
2024/04/25-23:32:00.192118 7f08310006c0 Delete type=0 #112 2025/10/26-15:08:10.865174 7f0586bff6c0 Delete type=0 #168
2024/04/25-23:32:00.192474 7f08310006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end) 2025/10/26-15:08:11.083541 7f0586bff6c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/04/25-23:32:00.192524 7f08310006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end) 2025/10/26-15:08:11.083576 7f0586bff6c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.972308 7f78fa0006c0 Recovering log #104 2025/10/26-11:41:45.249582 7fe806ffd6c0 Recovering log #161
2024/04/25-22:03:44.983385 7f78fa0006c0 Delete type=3 #102 2025/10/26-11:41:45.260045 7fe806ffd6c0 Delete type=3 #159
2024/04/25-22:03:44.983533 7f78fa0006c0 Delete type=0 #104 2025/10/26-11:41:45.260109 7fe806ffd6c0 Delete type=0 #161
2024/04/25-23:17:56.866744 7f78f90006c0 Level-0 table #109: started 2025/10/26-11:42:28.149249 7fe804ff96c0 Level-0 table #166: started
2024/04/25-23:17:56.870242 7f78f90006c0 Level-0 table #109: 1378 bytes OK 2025/10/26-11:42:28.149276 7fe804ff96c0 Level-0 table #166: 0 bytes OK
2024/04/25-23:17:56.876818 7f78f90006c0 Delete type=0 #107 2025/10/26-11:42:28.191573 7fe804ff96c0 Delete type=0 #164
2024/04/25-23:17:56.877139 7f78f90006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end) 2025/10/26-11:42:28.247179 7fe804ff96c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.901681 7f78f90006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at '!scenes!ZDV2IwduhOXTxy72' @ 2 : 1 2025/10/26-11:42:28.247203 7fe804ff96c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.901697 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.905023 7f78f90006c0 Generated table #110@1: 1 keys, 1378 bytes
2024/04/25-23:17:56.905059 7f78f90006c0 Compacted 1@1 + 1@2 files => 1378 bytes
2024/04/25-23:17:56.911287 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.911440 7f78f90006c0 Delete type=2 #51
2024/04/25-23:17:56.911672 7f78f90006c0 Delete type=2 #109
2024/04/25-23:17:56.919364 7f78f90006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 2 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000103 MANIFEST-000159

View File

@@ -1,8 +1,8 @@
2024/04/25-23:18:20.580223 7f0833e006c0 Recovering log #100 2025/10/26-14:50:15.108376 7f058d1fa6c0 Recovering log #157
2024/04/25-23:18:20.591502 7f0833e006c0 Delete type=3 #98 2025/10/26-14:50:15.119062 7f058d1fa6c0 Delete type=3 #155
2024/04/25-23:18:20.591624 7f0833e006c0 Delete type=0 #100 2025/10/26-14:50:15.119113 7f058d1fa6c0 Delete type=0 #157
2024/04/25-23:31:59.691806 7f08310006c0 Level-0 table #106: started 2025/10/26-15:08:10.416400 7f0586bff6c0 Level-0 table #162: started
2024/04/25-23:31:59.691866 7f08310006c0 Level-0 table #106: 0 bytes OK 2025/10/26-15:08:10.416472 7f0586bff6c0 Level-0 table #162: 0 bytes OK
2024/04/25-23:31:59.733591 7f08310006c0 Delete type=0 #104 2025/10/26-15:08:10.454511 7f0586bff6c0 Delete type=0 #160
2024/04/25-23:31:59.807634 7f08310006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454733 7f0586bff6c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/04/25-23:31:59.807869 7f08310006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end) 2025/10/26-15:08:10.454768 7f0586bff6c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/25-22:03:44.764878 7f78fa0006c0 Recovering log #96 2025/10/26-11:41:45.099332 7fe805ffb6c0 Recovering log #153
2024/04/25-22:03:44.774545 7f78fa0006c0 Delete type=3 #94 2025/10/26-11:41:45.109444 7fe805ffb6c0 Delete type=3 #151
2024/04/25-22:03:44.774662 7f78fa0006c0 Delete type=0 #96 2025/10/26-11:41:45.109506 7fe805ffb6c0 Delete type=0 #153
2024/04/25-23:17:56.543258 7f78f90006c0 Level-0 table #101: started 2025/10/26-11:42:27.753656 7fe804ff96c0 Level-0 table #158: started
2024/04/25-23:17:56.546957 7f78f90006c0 Level-0 table #101: 3822 bytes OK 2025/10/26-11:42:27.753677 7fe804ff96c0 Level-0 table #158: 0 bytes OK
2024/04/25-23:17:56.553493 7f78f90006c0 Delete type=0 #99 2025/10/26-11:42:27.787654 7fe804ff96c0 Delete type=0 #156
2024/04/25-23:17:56.593687 7f78f90006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end) 2025/10/26-11:42:27.787815 7fe804ff96c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.593774 7f78f90006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at '!items!t692JcsGHG4YJIlM' @ 25 : 1 2025/10/26-11:42:27.787846 7fe804ff96c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/04/25-23:17:56.593788 7f78f90006c0 Compacting 1@1 + 1@2 files
2024/04/25-23:17:56.597203 7f78f90006c0 Generated table #102@1: 8 keys, 3822 bytes
2024/04/25-23:17:56.597262 7f78f90006c0 Compacted 1@1 + 1@2 files => 3822 bytes
2024/04/25-23:17:56.603681 7f78f90006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/25-23:17:56.603829 7f78f90006c0 Delete type=2 #5
2024/04/25-23:17:56.604034 7f78f90006c0 Delete type=2 #101
2024/04/25-23:17:56.646304 7f78f90006c0 Manual compaction at level-1 from '!items!t692JcsGHG4YJIlM' @ 25 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/skills/000234.ldb Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More