Compare commits

...

5 Commits

153 changed files with 1383 additions and 798 deletions

201
lang/en.json Normal file
View File

@ -0,0 +1,201 @@
{
"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",
"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

@ -24,5 +24,190 @@
"modifier": "Modificateur",
"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.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"
}

View File

@ -12,7 +12,7 @@ export class MournbladeActorSheet extends ActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-mournblade", "sheet", "actor"],
template: "systems/fvtt-mournblade/templates/actor-sheet.html",
width: 640,
@ -25,7 +25,7 @@ export class MournbladeActorSheet extends ActorSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let actorData = objectData
let formData = {
@ -40,24 +40,25 @@ export class MournbladeActorSheet extends ActorSheet {
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
limited: this.object.limited,
skills: this.actor.getSkills(),
armes: duplicate(this.actor.getWeapons()),
protections: duplicate(this.actor.getArmors()),
dons: duplicate(this.actor.getDons()),
armes: foundry.utils.duplicate(this.actor.getWeapons()),
protections: foundry.utils.duplicate(this.actor.getArmors()),
dons: foundry.utils.duplicate(this.actor.getDons()),
pactes: foundry.utils.duplicate(this.actor.getPactes()),
alignement: this.actor.getAlignement(),
aspect: this.actor.getAspect(),
marge: this.actor.getMarge(),
tendances:duplicate(this.actor.getTendances()),
runes:duplicate(this.actor.getRunes()),
traitsChaotiques:duplicate(this.actor.getTraitsChaotiques()),
traitsEspeces: duplicate(this.actor.getTraitsEspeces()),
origine: duplicate(this.actor.getOrigine() || {}),
heritage: duplicate(this.actor.getHeritage() || {}),
metier: duplicate(this.actor.getMetier() || {}),
tendances:foundry.utils.duplicate(this.actor.getTendances()),
runes:foundry.utils.duplicate(this.actor.getRunes()),
traitsChaotiques:foundry.utils.duplicate(this.actor.getTraitsChaotiques()),
traitsEspeces: foundry.utils.duplicate(this.actor.getTraitsEspeces()),
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}),
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}),
metier: foundry.utils.duplicate(this.actor.getMetier() || {}),
combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()),
modifiers: duplicate(this.actor.getModifiers()),
monnaies: duplicate(this.actor.getMonnaies()),
runeEffects: duplicate(this.actor.getRuneEffects()),
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
modifiers: foundry.utils.duplicate(this.actor.getModifiers()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
runeEffects: foundry.utils.duplicate(this.actor.getRuneEffects()),
config: game.system.mournblade.config,
protectionTotal: this.actor.getProtectionTotal(),
santeMalus: this.actor.getStatusMalus(),
@ -135,6 +136,15 @@ export class MournbladeActorSheet extends ActorSheet {
let armeId = li.data("item-id")
this.actor.rollArmeOffensif(armeId)
})
html.find('.roll-assomer').click((event) => {
this.actor.rollAssomer()
})
html.find('.roll-fuir').click((event) => {
this.actor.rollFuir()
})
html.find('.roll-immobiliser').click((event) => {
this.actor.rollImmobiliser()
})
html.find('.roll-arme-special').click((event) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")

View File

@ -31,7 +31,7 @@ export class MournbladeActor extends Actor {
if (data instanceof Array) {
return super.create(data, options);
}
// If the created actor has items (only applicable to duplicated actors) bypass the new actor creation logic
// If the created actor has items (only applicable to foundry.utils.duplicated actors) bypass the new actor creation logic
if (data.items) {
let actor = super.create(data, options);
return actor;
@ -60,23 +60,23 @@ export class MournbladeActor extends Actor {
/* -------------------------------------------- */
prepareArme(arme) {
arme = duplicate(arme)
arme = foundry.utils.duplicate(arme)
let combat = this.getCombatValues()
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
arme.system.isMelee = true
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
arme.system.attrKey = "pui"
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + combat.attaqueModifier
if (arme.system.isdefense) {
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.bonusmaniementdef
}
}
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
arme.system.isDistance = true
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
arme.system.attrKey = "adr"
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + combat.attaqueModifier
arme.system.totalDegats = arme.system.degats
if (arme.system.isdefense) {
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.bonusmaniementdef
@ -86,9 +86,9 @@ export class MournbladeActor extends Actor {
}
/* -------------------------------------------- */
prepareBouclier(bouclier) {
bouclier = duplicate(bouclier)
bouclier = foundry.utils.duplicate(bouclier)
let combat = this.getCombatValues()
bouclier.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
bouclier.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
bouclier.system.attrKey = "pui"
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
@ -136,6 +136,9 @@ export class MournbladeActor extends Actor {
getDons() {
return this.getItemSorted(["don"])
}
getPactes() {
return this.getItemSorted(["pacte"])
}
getTendances() {
return this.getItemSorted(["tendance"])
}
@ -176,7 +179,7 @@ export class MournbladeActor extends Actor {
getSkills() {
let comp = []
for (let item of this.items) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
if (item.type == "competence") {
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
@ -230,7 +233,14 @@ export class MournbladeActor extends Actor {
/* -------------------------------------------- */
getCombatValues() {
let defenserModifier = 0
this.items.filter(item => item.type == "modifier" && item.system.modifiertype == "defense").map(e => defenserModifier += e.system.value)
let attaqueModifier = 0
this.items.filter(item => item.type == "modifier" && item.system.modifiertype == "attaque").map(e => attaqueModifier += e.system.value)
let combat = {
defenserModifier,
attaqueModifier,
initBase: this.system.attributs.adr.value,
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
bonusDegats: this.getBonusDegats(),
@ -238,7 +248,7 @@ export class MournbladeActor extends Actor {
vitesseBase: this.getVitesseBase(),
vitesseTotal: this.getVitesseBase() + this.system.combat.vitessebonus,
defenseBase: this.getDefenseBase(),
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + defenserModifier
}
return combat
}
@ -279,7 +289,7 @@ export class MournbladeActor extends Actor {
getItemById(id) {
let item = this.items.find(item => item.id == id);
if (item) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
}
return item;
}
@ -354,7 +364,7 @@ export class MournbladeActor extends Actor {
value = Math.max(0, Number(value))
}
if (value) {
let newSante = duplicate(this.system.sante)
let newSante = foundry.utils.duplicate(this.system.sante)
newSante[type] += Number(value)
newSante[type] = Math.max(0, newSante[type])
if (newSante[type] > this.system.sante.base) {
@ -375,7 +385,7 @@ export class MournbladeActor extends Actor {
incDecAme(value) {
value = Number(value)
if (value) {
let newAme = duplicate(this.system.ame)
let newAme = foundry.utils.duplicate(this.system.ame)
newAme.value += Number(value)
newAme.value = Math.max(0, newAme.value)
newAme.value = Math.min(newAme.value, newAme.currentmax)
@ -413,7 +423,7 @@ export class MournbladeActor extends Actor {
}
/* -------------------------------------------- */
subPointsAme(runeMode, value) {
let ame = duplicate(this.system.ame)
let ame = foundry.utils.duplicate(this.system.ame)
if (runeMode == "prononcer") {
ame.value += value
} else {
@ -459,13 +469,13 @@ export class MournbladeActor extends Actor {
getSubActors() {
let subActors = [];
for (let id of this.system.subactors) {
subActors.push(duplicate(game.actors.get(id)));
subActors.push(foundry.utils.duplicate(game.actors.get(id)));
}
return subActors;
}
/* -------------------------------------------- */
async addSubActor(subActorId) {
let subActors = duplicate(this.system.subactors);
let subActors = foundry.utils.duplicate(this.system.subactors);
subActors.push(subActorId);
await this.update({ 'system.subactors': subActors });
}
@ -496,7 +506,7 @@ export class MournbladeActor extends Actor {
/* -------------------------------------------- */
async setPredilectionUsed(compId, predIdx) {
let comp = this.items.get(compId)
let pred = duplicate(comp.system.predilections)
let pred = foundry.utils.duplicate(comp.system.predilections)
pred[predIdx].used = true
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
}
@ -519,7 +529,7 @@ export class MournbladeActor extends Actor {
}
if (arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif
bestArme = duplicate(arme)
bestArme = foundry.utils.duplicate(arme)
}
}
return bestArme
@ -528,8 +538,8 @@ export class MournbladeActor extends Actor {
depenseRessources(arme) {
if (arme.system.nbressources && Number(arme.system.nbressources) > 0) {
if (this.type == "creature") {
let ressources = duplicate(this.system.ressources)
if ( Number(ressources.value) >= Number(arme.system.nbressources)) {
let ressources = foundry.utils.duplicate(this.system.ressources)
if (Number(ressources.value) >= Number(arme.system.nbressources)) {
ressources.value -= arme.system.nbressources
this.update({ 'system.ressources': ressources })
ChatMessage.create({
@ -541,7 +551,7 @@ export class MournbladeActor extends Actor {
ui.notifications.warn("Points de ressources insuffisants.")
}
} else {
ui.notifications.warn("Les ressources ne sont pas disponibles pour les personnages.")
ui.notifications.warn("Les ressources ne sont pas disponibles pour les personnages.")
}
}
}
@ -561,20 +571,25 @@ export class MournbladeActor extends Actor {
rollData.malusSante = this.getStatusMalus() + this.system.sante.malusmanuel
rollData.malusAme = this.getAmeMalus()
rollData.modifiers = this.getModifiersForRoll()
rollData.desavantages = {}
rollData.isMonte = this.system.combat.monte
if (rollData.isMonte) {
rollData.config.attaques["chargecavalerie"] = "Charge de cavalerie"
}
if (attrKey) {
rollData.attrKey = attrKey
if (attrKey != "tochoose") {
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
rollData.attr = duplicate(this.system.attributs[attrKey])
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
}
}
if (compId) {
rollData.competence = duplicate(this.items.get(compId) || {})
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
rollData.actionImg = rollData.competence?.img
}
if (compName) {
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
rollData.actionImg = rollData.competence?.img
}
return rollData
@ -603,7 +618,7 @@ export class MournbladeActor extends Actor {
return
}
let rollData = this.getCommonRollData("cla", undefined, "Savoir : Runes")
rollData.rune = duplicate(this.items.get(runeId) || {})
rollData.rune = foundry.utils.duplicate(this.items.get(runeId) || {})
rollData.difficulte = rollData.rune?.system?.seuil || 0
rollData.runemode = "prononcer"
rollData.runeame = 1
@ -625,12 +640,14 @@ export class MournbladeActor extends Actor {
rollData.arme = arme
rollData.typeAttaque = "assaut"
rollData.typeCouvert = "aucun"
rollData.hasDesavantageBonus = true
rollData.visee = false
rollData.ciblecourt = false
rollData.cibleconsciente = false
// Do not display difficulte if defense weapon or distance
if (rollData.armeDefense || rollData.arme.system.isDistance) {
rollData.selectDifficulte = false
rollData.difficulte = (rollData.arme.system.isDistance) ? 0 : rollData.difficulte
}
console.log("ARME!", rollData)
this.depenseRessources(arme)
@ -638,6 +655,49 @@ export class MournbladeActor extends Actor {
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollAssomer() {
let rollData = this.getCommonRollData("adr", undefined, "Filouterie")
rollData.typeAttaque = "assomer"
rollData.typeCouvert = "aucun"
rollData.hasDesavantageBonus = true
if (rollData.defender) {
rollData.selectDifficulte = false
rollData.difficulte = rollData.defender.system.attributs.tre.value * 2
}
console.log("Assomer!", rollData)
let rollDialog = await MournbladeRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollFuir() {
let rollData = this.getCommonRollData("adr", undefined, "Mouvements")
rollData.typeAttaque = "fuir"
rollData.typeCouvert = "aucun"
rollData.hasDesavantageBonus = true
if (rollData.defender) {
rollData.selectDifficulte = false
let comp = rollData.defender.items.find(it => it.type == "competence" && it.name.toLowerCase() == "mouvements")
rollData.difficulte = rollData.defender.system.attributs.adr.value + ((comp) ? comp.system.niveau : rollData.defender.system.attributs.adr.value)
}
console.log("Fuir!", rollData)
let rollDialog = await MournbladeRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollImmobiliser() {
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
rollData.typeAttaque = "immobiliser"
rollData.typeCouvert = "aucun"
rollData.hasDesavantageBonus = true
if (rollData.defender) {
rollData.selectDifficulte = false
rollData.difficulte = rollData.defenderCombatValues.defenseTotal
}
console.log("Immobiliser!", rollData)
let rollDialog = await MournbladeRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollArmeSpecial(armeId) {
let arme = this.items.get(armeId)

View File

@ -1,23 +1,81 @@
export const MOURNBLADE_CONFIG = {
attaques:{
assaut: "Assaut",
precise: "Attaque Précise",
feinte: "Feinte",
coupbas: "Coup Bas",
charger: "Charger",
contenir: "Contenir l'adversaire",
desarmer: "Désarmer",
},
couverts:{
aucun: {name: "Aucun", value: 0},
rondache: {name: "Rondache ou léger (-2)", value: -2},
pavois: { name: "Pavois ou à moitié (-5)", value: -5},
complet: {name:"Quasi complet (-10)", value: -10},
},
modifierTypes: {
aucun: {name: "Aucun", value: 0},
roll: {name: "Jet", value: 0},
degats: {name: "Dégats", value: 0},
export class MournbladeConfig {
static getConfig() {
let MOURNBLADE_CONFIG = {
attaques: {
assaut: game.i18n.localize("MNBL.assaut"),
precise: game.i18n.localize("MNBL.preciseattack"),
feinte: game.i18n.localize("MNBL.feint"),
coupbas: game.i18n.localize("MNBL.dirtyattack"),
charger: game.i18n.localize("MNBL.charge"),
contenir: game.i18n.localize("MNBL.contain"),
desarmer: game.i18n.localize("MNBL.disarm")
},
couverts: {
aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
rondache: { name: game.i18n.localize("MNBL.lightcover"), value: -2 },
pavois: { name: game.i18n.localize("MNBL.mediumcover"), value: -5 },
complet: { name: game.i18n.localize("MNBL.heavycover"), value: -10 },
},
modifierTypes: {
aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
roll: { name: game.i18n.localize("MNBL.roll"), value: 0 },
degats: { name: game.i18n.localize("MNBL.damage"), value: 0 },
defense: { name: game.i18n.localize("MNBL.defensecapacity"), value: 0 },
attaque: { name: game.i18n.localize("MNBL.attackcapacity"), value: 0 },
},
listeNiveau: {
},
listeNiveauCreature: {
},
listePortees: {
"10": game.i18n.localize("MNBL.lessthanshort"),
"15": game.i18n.localize("MNBL.shortmore"),
"20": game.i18n.localize("MNBL.mediummore"),
"25": game.i18n.localize("MNBL.longmore")
},
modificateurOptions: {},
pointsAmeOptions: {},
difficulteOptions: {
"0": game.i18n.localize("MNBL.noneunknwon"),
"5": game.i18n.localize("MNBL.easy"),
"10": game.i18n.localize("MNBL.medium"),
"15": game.i18n.localize("MNBL.hard"),
"20": game.i18n.localize("MNBL.hazardous"),
"25": game.i18n.localize("MNBL.insane"),
"30": game.i18n.localize("MNBL.puremadness")
},
attributs: {
adr: game.i18n.localize("Adresse"), pui: game.i18n.localize("Puissance"),
cla: game.i18n.localize("Clairvoyance"), pre: game.i18n.localize("Présence"), tre: game.i18n.localize("Trempe")
},
lancementRuneOptions: {
prononcer: game.i18n.localize("MNBL.pronouncerune"),
inscrire: game.i18n.localize("MNBL.tracerune")
},
effetRuneOptions: {
prononcee: game.i18n.localize("MNBL.pronounced"),
inscrite: game.i18n.localize("MNBL.traced")
},
typeArmeOptions: {
contact: game.i18n.localize("MNBL.meleeweapon"),
contactjet: game.i18n.localize("MNBL.meleethrowweapon"),
jet: game.i18n.localize("MNBL.throwweapon"),
tir: game.i18n.localize("MNBL.shootweapon"),
special: game.i18n.localize("MNBL.specialweapon")
},
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

@ -12,7 +12,7 @@ export class MournbladeCreatureSheet extends MournbladeActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-mournblade", "sheet", "actor"],
template: "systems/fvtt-mournblade/templates/creature-sheet.html",
width: 640,

View File

@ -9,7 +9,7 @@ export class MournbladeItemSheet extends ItemSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-mournblade", "sheet", "item"],
template: "systems/fvtt-mournblade/templates/item-sheet.html",
dragDrop: [{ dragSelector: null, dropSelector: null }],
@ -48,7 +48,7 @@ export class MournbladeItemSheet extends ItemSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let itemData = objectData
let formData = {
title: this.title,
@ -91,7 +91,7 @@ export class MournbladeItemSheet extends ItemSheet {
/* -------------------------------------------- */
postItem() {
let chatData = duplicate(MournbladeUtility.data(this.item));
let chatData = foundry.utils.duplicate(MournbladeUtility.data(this.item));
if (this.actor) {
chatData.actor = { id: this.actor.id };
}
@ -134,26 +134,26 @@ export class MournbladeItemSheet extends ItemSheet {
html.find('.edit-prediction').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index")
let pred = duplicate(this.object.system.predilections)
let pred = foundry.utils.duplicate(this.object.system.predilections)
pred[index].name = ev.currentTarget.value
this.object.update( { 'system.predilections': pred })
})
html.find('.delete-prediction').click(ev => {
const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index")
let pred = duplicate(this.object.system.predilections)
let pred = foundry.utils.duplicate(this.object.system.predilections)
pred.splice(index,1)
this.object.update( { 'system.predilections': pred })
})
html.find('.use-prediction').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index")
let pred = duplicate(this.object.system.predilections)
let pred = foundry.utils.duplicate(this.object.system.predilections)
pred[index].used = ev.currentTarget.checked
this.object.update( { 'system.predilections': pred })
})
html.find('#add-predilection').click(ev => {
let pred = duplicate(this.object.system.predilections)
let pred = foundry.utils.duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", id: randomID(), used: false })
this.object.update( { 'system.predilections': pred })
})

View File

@ -15,7 +15,7 @@ import { MournbladeCreatureSheet } from "./mournblade-creature-sheet.js";
import { MournbladeUtility } from "./mournblade-utility.js";
import { MournbladeCombat } from "./mournblade-combat.js";
import { MournbladeItem } from "./mournblade-item.js";
import { MOURNBLADE_CONFIG } from "./mournblade-config.js";
import { MournbladeConfig } from "./mournblade-config.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@ -47,7 +47,7 @@ Hooks.once("init", async function () {
CONFIG.Actor.documentClass = MournbladeActor
CONFIG.Item.documentClass = MournbladeItem
game.system.mournblade = {
config : MOURNBLADE_CONFIG,
config : MournbladeConfig.getConfig(),
}
/* -------------------------------------------- */
@ -92,6 +92,10 @@ async function importDefaultScene() {
/* -------------------------------------------- */
Hooks.once("ready", function () {
game.system.mournblade = {
config : MournbladeConfig.getConfig(),
}
MournbladeUtility.ready();
// User warning
if (!game.user.isGM && game.user.character == undefined) {
@ -115,7 +119,7 @@ Hooks.once("ready", function () {
}).catch(err=>
console.log("No stats available, giving up.")
)
importDefaultScene();
welcomeMessage();
});

View File

@ -80,6 +80,26 @@ export class MournbladeRollDialog extends Dialog {
html.find('#runeame').change(async (event) => {
this.rollData.runeame = Number(event.currentTarget.value)
})
html.find('#isMonte').change(async (event) => {
this.rollData.desavantages.isMonte = event.currentTarget.checked
})
html.find('#cibleausol').change(async (event) => {
this.rollData.desavantages.cibleausol = event.currentTarget.checked
})
html.find('#cibledesarmee').change(async (event) => {
this.rollData.desavantages.cibledesarmee = event.currentTarget.checked
})
html.find('#ciblerestreint').change(async (event) => {
this.rollData.desavantages.ciblerestreint = event.currentTarget.checked
})
html.find('#cibleimmobilisée').change(async (event) => {
this.rollData.desavantages.cibleimmobilisée = event.currentTarget.checked
})
html.find('#ciblesurplomb').change(async (event) => {
this.rollData.desavantages.ciblesurplomb = event.currentTarget.checked
})
html.find('#doubleD20').change(async (event) => {
this.rollData.doubleD20 = event.currentTarget.checked
})

View File

@ -15,9 +15,6 @@ export class MournbladeUtility {
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
MournbladeUtility.pushInitiativeOptions(html, options);
})
Hooks.on("dropCanvasData", (canvas, data) => {
MournbladeUtility.dropItemOnToken(canvas, data)
});
this.rollDataStore = {}
this.defenderStore = {}
@ -59,15 +56,6 @@ export class MournbladeUtility {
return actor
}
/* -------------------------------------------- */
static getModificateurOptions() {
let opt = []
for (let i = -15; i <= 15; i++) {
opt.push(`<option value="${i}">${i}</option>`)
}
return opt.concat("\n")
}
/* -------------------------------------------- */
static sortArrayObjectsByName(myArray) {
myArray.sort((a, b) => {
@ -75,18 +63,9 @@ export class MournbladeUtility {
})
}
/* -------------------------------------------- */
static getPointAmeOptions() {
let opt = []
for (let i = 1; i <= 20; i++) {
opt.push(`<option value="${i}">${i}</option>`)
}
return opt.concat("\n")
}
/* -------------------------------------------- */
static getAttributs() {
return { adr: "Adresse", pui: "Puissance", cla: "Clairvoyance", pre: "Présence", tre: "Trempe" }
return game.system.mournblade.config.attributs
}
/* -------------------------------------------- */
static pushInitiativeOptions(html, options) {
@ -101,6 +80,11 @@ export class MournbladeUtility {
static async ready() {
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
this.skills = skills.map(i => i.toObject())
game.system.mournblade.config.listeNiveauSkill = MournbladeUtility.createDirectOptionList(0, 10)
game.system.mournblade.config.listeNiveauCreature = MournbladeUtility.createDirectOptionList(0, 35)
game.system.mournblade.config.modificateurOptions = MournbladeUtility.createArrayOptionList(-15, 15)
game.system.mournblade.config.pointsAmeOptions = MournbladeUtility.createDirectOptionList(0, 20)
}
/* -------------------------------------------- */
@ -122,8 +106,8 @@ export class MournbladeUtility {
/* -------------------------------------------- */
static getPredilection(comp, predIdx) {
let pred = duplicate(comp.system.predilections)
return duplicate(pred[predIdx] || { name: "Error!" })
let pred = foundry.utils.duplicate(comp.system.predilections)
return foundry.utils.duplicate(pred[predIdx] || { name: "Error!" })
}
/* -------------------------------------------- */
@ -150,7 +134,7 @@ export class MournbladeUtility {
let rollData = message.getFlag("world", "mournblade-roll")
let actor = MournbladeUtility.getActorFromRollData(rollData)
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
rollData.predilectionUsed = MournbladeUtility.getPredilection(rollData.competence, predIdx)
await MournbladeUtility.rollMournblade(rollData)
})
@ -180,9 +164,7 @@ export class MournbladeUtility {
const templatePaths = [
'systems/fvtt-mournblade/templates/editor-notes-gm.html',
'systems/fvtt-mournblade/templates/partial-item-description.html',
'systems/fvtt-mournblade/templates/partial-list-niveau.html',
'systems/fvtt-mournblade/templates/partial-list-niveau-creature.html'
'systems/fvtt-mournblade/templates/partial-item-description.html'
]
return loadTemplates(templatePaths);
}
@ -224,12 +206,10 @@ export class MournbladeUtility {
}
return options;
}
/* -------------------------------------------- */
static buildListOptions(min, max) {
let options = ""
static createArrayOptionList(min, max) {
let options = [];
for (let i = min; i <= max; i++) {
options += `<option value="${i}">${i}</option>`
options.push({key:`${i}`, label:`${i}`});
}
return options;
}
@ -324,6 +304,7 @@ export class MournbladeUtility {
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
rollData.isPureSuccess = (rollData.isSuccess && !rollData.isHeroique)
}
}
@ -336,7 +317,7 @@ export class MournbladeUtility {
}
if (!rollData.attr) {
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
}
rollData.diceFormula = rollData.mainDice
@ -348,7 +329,7 @@ export class MournbladeUtility {
}
//console.log("BEFORE COMP", rollData)
if (rollData.competence) {
rollData.predilections = duplicate(rollData.competence.system.predilections)
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections)
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
} else {
@ -366,6 +347,20 @@ export class MournbladeUtility {
rollData.diceFormula += `+${modifier.system.value}`
}
}
// Apply desavantages
let desavantagesBonus = 0
for (let desavantage in rollData.desavantages) {
if (rollData.desavantages[desavantage]) {
desavantagesBonus += 5
}
}
desavantagesBonus = Math.min(15, desavantagesBonus)
rollData.diceFormula += `+${desavantagesBonus}`
// Monté ?
if (rollData.isMonte) {
rollData.diceFormula += "+5"
}
// Specific modifier for distance
if (rollData.arme?.system?.isDistance) {
@ -383,7 +378,7 @@ export class MournbladeUtility {
}
}
if (rollData.typeCouvert != "aucun") {
rollData.diceFormula += `-${rollData.config.couverts[rollData.typeCouvert].value}`
rollData.diceFormula += `+${rollData.config.couverts[rollData.typeCouvert].value}`
}
}
@ -396,16 +391,17 @@ export class MournbladeUtility {
rollData.runeduree = 1
}
}
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
let myRoll = await new Roll(rollData.diceFormula).evaluate();
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll)
rollData.roll = foundry.utils.duplicate(myRoll)
rollData.diceResult = myRoll.terms[0].results[0].result
console.log(">>>> ", myRoll)
rollData.finalResult = myRoll.total
this.computeResult(rollData)
// Application immédiate selon type de jet
if (rollData.rune) {
let subAme = rollData.runeame
if (rollData.isEchec && !rollData.isDramatique) {
@ -413,7 +409,19 @@ export class MournbladeUtility {
}
actor.subPointsAme(rollData.runemode, subAme)
}
if (rollData.typeAttaque == "assomer" && rollData.defenderTokenId && rollData.isPureSuccess) {
let defender = game.canvas.tokens.get(rollData?.defenderTokenId)?.actor
defender.setModifier("Assomer : Prochaine action", "roll", -5)
}
if (rollData.typeAttaque == "fuir" && rollData.difficulte > 0 && !rollData.isSuccess) {
actor.setModifier("Fuite échouée : -5 en défense ce round et suivant", "defense", -5)
}
if (rollData.typeAttaque == "immobiliser" && rollData.difficulte > 0 && rollData.isPureSuccess) {
actor.setModifier("Immobilisation en cours : -5 pour prochaine action", "roll", -5)
}
if (rollData.typeAttaque == "chargecavalerie") {
actor.setModifier("Charge de Cavalerie : -5 défense pour le tour", "defense", -5)
}
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData)
}, rollData)
@ -426,16 +434,21 @@ export class MournbladeUtility {
let degatsMessage = "Degats normaux"
if (rollData.arme?.system?.isMelee) {
if (rollData.typeAttaque == "assaut") {
rollData.degatsFormula = rollData.arme.system.totalDegats
if (rollData.isHeroique) { // Deux fois les dés de dégats
rollData.degatsFormula += " + " + rollData.arme.system.totalDegats
degatsMessage = "Dégats doublés"
}
rollData.degatsFormula = rollData.arme.system.totalDegats
if (rollData.isHeroique) { // Deux fois les dés de dégats
degatsMessage = "Dégats doublés"
}
if (rollData.typeAttaque == "assomer") {
rollData.degatsFormula = false
}
if (rollData.typeAttaque == "charger") {
rollData.degatsFormula += "+2"
}
if (rollData.typeAttaque == "chargecavalerie") {
rollData.degatsFormula += "+5"
}
if (rollData.typeAttaque == "precise") {
degatsMessage = "Degats normaux"
@ -457,17 +470,17 @@ export class MournbladeUtility {
if (rollData.typeAttaque == "coupbas") {
degatsMessage = "Pas de dégats, mais malus pour prochaine action complexe du défenseur"
rollData.degatsFormula = false
rollData.nextMalus = -5
rollData.nextMalus = 5
if (rollData.isHeroique) { // Malus pour prochaine action
rollData.nextMalus = -15
rollData.nextMalus = 15
}
}
if (rollData.typeAttaque == "contenir") {
degatsMessage = "Pas de dégats, mais l'adversaire ne peut pas vous attaquer pour le reste du tour"
rollData.degatsFormula = false
if (rollData.isHeroique) { // Malus pour prochaine action
degatsMessage = "Pas de dégats, mais tout les adversaires avec une défense inférieure ou égale à " + rollData.finalResult-10 +
" ne peuvent pas vous attaquer pour le reste du tour"
degatsMessage = "Pas de dégats, mais tout les adversaires avec une défense inférieure ou égale à " + rollData.finalResult - 10 +
" ne peuvent pas vous attaquer pour le reste du tour"
}
}
if (rollData.typeAttaque == "desarmer") {
@ -480,24 +493,26 @@ export class MournbladeUtility {
}
} else { // Armes à distance
rollData.degatsFormula = rollData.arme.system.totalDegats
if (rollData.isHeroique) { // Deux fois les dés de dégats
rollData.degatsFormula += " + " + rollData.arme.system.totalDegats
}
}
for(let mod of rollData.modifiers) {
if (mod.system.modifiertype == "degats") {
rollData.degatsFormula += `+${mod.system.value}`
}
}
// Perform the roll, show the dice
rollData.finalResult = 0
rollData.degatsMessage = degatsMessage
if (rollData.degatsFormula) {
let degatsRoll = new Roll(rollData.degatsFormula).roll({ async: false, maximize: maximize })
console.log("Degats formula", rollData.degatsFormula)
// Twice!maximize
if (rollData.isHeroique && !maximize) {
rollData.degatsFormula += "+" + rollData.degatsFormula
}
// Latest modifiers
for (let mod of rollData.modifiers) {
if (mod.system.modifiertype == "degats") {
rollData.degatsFormula += `+${mod.system.value}`
}
}
let degatsRoll = await new Roll(rollData.degatsFormula).evaluate({ maximize: maximize })
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
rollData.degatsRoll = duplicate(degatsRoll)
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
rollData.finalResult = degatsRoll.total
}
@ -528,7 +543,7 @@ export class MournbladeUtility {
defender.setModifier("Prochaine action complexe", "roll", -rollData.nextMalus)
}
if (rollData.defenderDesarme) {
ui.notifications.info("L'arme de " + defender.name + " est arrachée de ses mains (à gérer manuellement)" )
ui.notifications.info("L'arme de " + defender.name + " est arrachée de ses mains (à gérer manuellement)")
}
let degats = rollData.finalResult
@ -545,9 +560,9 @@ export class MournbladeUtility {
static async bonusRollMournblade(rollData) {
rollData.bonusFormula = rollData.addedBonus
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
let bonusRoll = await new Roll(rollData.bonusFormula).evaluate()
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
rollData.bonusRoll = duplicate(bonusRoll)
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
rollData.finalResult += rollData.bonusRoll.total
@ -581,7 +596,7 @@ export class MournbladeUtility {
/* -------------------------------------------- */
static blindMessageToGM(chatOptions) {
let chatGM = duplicate(chatOptions);
let chatGM = foundry.utils.duplicate(chatOptions);
chatGM.whisper = this.getUsers(user => user.isGM);
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
console.log("blindMessageToGM", chatGM);
@ -644,13 +659,11 @@ export class MournbladeUtility {
/* -------------------------------------------- */
static getBasicRollData() {
let rollData = {
rollId: randomID(16),
rollId: foundry.utils.randomID(16),
rollMode: game.settings.get("core", "rollMode"),
modificateursOptions: this.getModificateurOptions(),
pointAmeOptions: this.getPointAmeOptions(),
difficulte: 0,
modificateur: 0,
config: game.system.mournblade.config,
config: foundry.utils.duplicate(game.system.mournblade.config),
}
MournbladeUtility.updateWithTarget(rollData)
return rollData
@ -662,7 +675,9 @@ export class MournbladeUtility {
if (target) {
rollData.defenderTokenId = target.id
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
rollData.defenderCombatValues = defender.getCombatValues()
rollData.defender = defender.toObject() // Simpler
rollData.defenderDefense = defender.getBestDefenseValue()
rollData.armeDefense = defender.getBestDefenseValue()
if (rollData.armeDefense) {
rollData.difficulte = rollData.armeDefense.system.totalDefensif

Binary file not shown.

BIN
packs/armes/000212.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000149
MANIFEST-000217

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.526498 7f74df4006c0 Recovering log #147
2024/03/02-23:57:42.536661 7f74df4006c0 Delete type=3 #145
2024/03/02-23:57:42.536714 7f74df4006c0 Delete type=0 #147
2024/03/02-23:57:56.281201 7f74dda006c0 Level-0 table #152: started
2024/03/02-23:57:56.281223 7f74dda006c0 Level-0 table #152: 0 bytes OK
2024/03/02-23:57:56.287599 7f74dda006c0 Delete type=0 #150
2024/03/02-23:57:56.287862 7f74dda006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.287903 7f74dda006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/09/10-07:14:44.885743 7f7ed4e006c0 Recovering log #215
2024/09/10-07:14:44.956966 7f7ed4e006c0 Delete type=3 #213
2024/09/10-07:14:44.957144 7f7ed4e006c0 Delete type=0 #215
2024/09/10-07:20:33.463210 7f7ecd6006c0 Level-0 table #220: started
2024/09/10-07:20:33.463253 7f7ecd6006c0 Level-0 table #220: 0 bytes OK
2024/09/10-07:20:33.501220 7f7ecd6006c0 Delete type=0 #218
2024/09/10-07:20:33.538862 7f7ecd6006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.538937 7f7ecd6006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.186271 7f74dfe006c0 Recovering log #143
2024/03/02-23:56:59.241028 7f74dfe006c0 Delete type=3 #141
2024/03/02-23:56:59.241158 7f74dfe006c0 Delete type=0 #143
2024/03/02-23:57:31.484234 7f74dda006c0 Level-0 table #148: started
2024/03/02-23:57:31.484262 7f74dda006c0 Level-0 table #148: 0 bytes OK
2024/03/02-23:57:31.491281 7f74dda006c0 Delete type=0 #146
2024/03/02-23:57:31.497473 7f74dda006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.497513 7f74dda006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.138004 7f7ecf4006c0 Recovering log #210
2024/09/09-21:51:17.149501 7f7ecf4006c0 Delete type=3 #208
2024/09/09-21:51:17.149609 7f7ecf4006c0 Delete type=0 #210
2024/09/09-21:52:48.597265 7f7ecd6006c0 Level-0 table #216: started
2024/09/09-21:52:48.597313 7f7ecd6006c0 Level-0 table #216: 0 bytes OK
2024/09/09-21:52:48.604438 7f7ecd6006c0 Delete type=0 #214
2024/09/09-21:52:48.611351 7f7ecd6006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.611418 7f7ecd6006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/armes/MANIFEST-000217 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/dons/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.563649 7f74e4c006c0 Recovering log #146
2024/03/02-23:57:42.574178 7f74e4c006c0 Delete type=3 #144
2024/03/02-23:57:42.574278 7f74e4c006c0 Delete type=0 #146
2024/03/02-23:57:56.288017 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.288073 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.294465 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.314039 7f74dda006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.314072 7f74dda006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.086238 7f7ecf4006c0 Recovering log #214
2024/09/10-07:14:45.144857 7f7ecf4006c0 Delete type=3 #212
2024/09/10-07:14:45.145056 7f7ecf4006c0 Delete type=0 #214
2024/09/10-07:20:33.607105 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.607143 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.638955 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.678483 7f7ecd6006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.678561 7f7ecd6006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.375192 7f74dea006c0 Recovering log #142
2024/03/02-23:56:59.429489 7f74dea006c0 Delete type=3 #140
2024/03/02-23:56:59.429674 7f74dea006c0 Delete type=0 #142
2024/03/02-23:57:31.510659 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.510687 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.516967 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.531943 7f74dda006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.532000 7f74dda006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.180244 7f7ecea006c0 Recovering log #209
2024/09/09-21:51:17.191008 7f7ecea006c0 Delete type=3 #207
2024/09/09-21:51:17.191115 7f7ecea006c0 Delete type=0 #209
2024/09/09-21:52:48.625325 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.625386 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.631864 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.638978 7f7ecd6006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.639033 7f7ecd6006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/dons/MANIFEST-000216 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/equipement/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.550684 7f74df4006c0 Recovering log #146
2024/03/02-23:57:42.561298 7f74df4006c0 Delete type=3 #144
2024/03/02-23:57:42.561347 7f74df4006c0 Delete type=0 #146
2024/03/02-23:57:56.307780 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.307800 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.313952 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.314079 7f74dda006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.314098 7f74dda006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.020069 7f7ecfe006c0 Recovering log #214
2024/09/10-07:14:45.082360 7f7ecfe006c0 Delete type=3 #212
2024/09/10-07:14:45.082521 7f7ecfe006c0 Delete type=0 #214
2024/09/10-07:20:33.576805 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.576855 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.606927 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.678460 7f7ecd6006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.678542 7f7ecd6006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.299928 7f74dfe006c0 Recovering log #142
2024/03/02-23:56:59.370332 7f74dfe006c0 Delete type=3 #140
2024/03/02-23:56:59.370514 7f74dfe006c0 Delete type=0 #142
2024/03/02-23:57:31.503940 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.503969 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.510531 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.531927 7f74dda006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.531985 7f74dda006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.166142 7f7ecfe006c0 Recovering log #209
2024/09/09-21:51:17.176865 7f7ecfe006c0 Delete type=3 #207
2024/09/09-21:51:17.176960 7f7ecfe006c0 Delete type=0 #209
2024/09/09-21:52:48.618041 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.618105 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.625105 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.638957 7f7ecd6006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.639048 7f7ecd6006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/heritages/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.588257 7f74e4c006c0 Recovering log #146
2024/03/02-23:57:42.598189 7f74e4c006c0 Delete type=3 #144
2024/03/02-23:57:42.598290 7f74e4c006c0 Delete type=0 #146
2024/03/02-23:57:56.300746 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.300764 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.307700 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.314059 7f74dda006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.314086 7f74dda006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.210943 7f7ecea006c0 Recovering log #214
2024/09/10-07:14:45.265940 7f7ecea006c0 Delete type=3 #212
2024/09/10-07:14:45.266060 7f7ecea006c0 Delete type=0 #214
2024/09/10-07:20:33.678752 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.678827 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.713480 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.816847 7f7ecd6006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.816952 7f7ecd6006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.493389 7f74dea006c0 Recovering log #142
2024/03/02-23:56:59.549265 7f74dea006c0 Delete type=3 #140
2024/03/02-23:56:59.549449 7f74dea006c0 Delete type=0 #142
2024/03/02-23:57:31.497605 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.497627 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.503858 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.531901 7f74dda006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.531971 7f74dda006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.208104 7f7ed4e006c0 Recovering log #209
2024/09/09-21:51:17.219088 7f7ed4e006c0 Delete type=3 #207
2024/09/09-21:51:17.219197 7f7ed4e006c0 Delete type=0 #209
2024/09/09-21:52:48.639145 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.639185 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.646533 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.668071 7f7ecd6006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.668151 7f7ecd6006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/metiers/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.600925 7f74df4006c0 Recovering log #146
2024/03/02-23:57:42.611147 7f74df4006c0 Delete type=3 #144
2024/03/02-23:57:42.611214 7f74df4006c0 Delete type=0 #146
2024/03/02-23:57:56.321002 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.321024 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.326916 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.340032 7f74dda006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.340080 7f74dda006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.269926 7f7ecfe006c0 Recovering log #214
2024/09/10-07:14:45.328808 7f7ecfe006c0 Delete type=3 #212
2024/09/10-07:14:45.328977 7f7ecfe006c0 Delete type=0 #214
2024/09/10-07:20:33.783195 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.783241 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.816523 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.816931 7f7ecd6006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.817030 7f7ecd6006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.552436 7f74dfe006c0 Recovering log #142
2024/03/02-23:56:59.607721 7f74dfe006c0 Delete type=3 #140
2024/03/02-23:56:59.607793 7f74dfe006c0 Delete type=0 #142
2024/03/02-23:57:31.532068 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.532126 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.538874 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.559737 7f74dda006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.559788 7f74dda006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.222186 7f7ecfe006c0 Recovering log #209
2024/09/09-21:51:17.233209 7f7ecfe006c0 Delete type=3 #207
2024/09/09-21:51:17.233359 7f7ecfe006c0 Delete type=0 #209
2024/09/09-21:52:48.646768 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.646827 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.653236 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.668098 7f7ecd6006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.668166 7f7ecd6006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/origines/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.576393 7f74df4006c0 Recovering log #146
2024/03/02-23:57:42.586202 7f74df4006c0 Delete type=3 #144
2024/03/02-23:57:42.586336 7f74df4006c0 Delete type=0 #146
2024/03/02-23:57:56.294585 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.294608 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.300668 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.314050 7f74dda006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.314092 7f74dda006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.148885 7f7ed4e006c0 Recovering log #214
2024/09/10-07:14:45.204991 7f7ed4e006c0 Delete type=3 #212
2024/09/10-07:14:45.205146 7f7ed4e006c0 Delete type=0 #214
2024/09/10-07:20:33.639140 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.639178 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.677964 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.678505 7f7ecd6006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.678580 7f7ecd6006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.433039 7f74dfe006c0 Recovering log #142
2024/03/02-23:56:59.490727 7f74dfe006c0 Delete type=3 #140
2024/03/02-23:56:59.490884 7f74dfe006c0 Delete type=0 #142
2024/03/02-23:57:31.517118 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.517148 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.531688 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.531958 7f74dda006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.532013 7f74dda006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.194403 7f7ecf4006c0 Recovering log #209
2024/09/09-21:51:17.204990 7f7ecf4006c0 Delete type=3 #207
2024/09/09-21:51:17.205104 7f7ecf4006c0 Delete type=0 #209
2024/09/09-21:52:48.632133 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.632191 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.638748 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.638992 7f7ecd6006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.639018 7f7ecd6006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 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-000044
MANIFEST-000112

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.486280 7f74df4006c0 Recovering log #42
2024/03/02-23:57:42.497211 7f74df4006c0 Delete type=3 #40
2024/03/02-23:57:42.497261 7f74df4006c0 Delete type=0 #42
2024/03/02-23:57:56.231538 7f74dda006c0 Level-0 table #47: started
2024/03/02-23:57:56.231579 7f74dda006c0 Level-0 table #47: 0 bytes OK
2024/03/02-23:57:56.238619 7f74dda006c0 Delete type=0 #45
2024/03/02-23:57:56.238988 7f74dda006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.249569 7f74dda006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/09/10-07:14:44.657561 7f7ecf4006c0 Recovering log #110
2024/09/10-07:14:44.756808 7f7ecf4006c0 Delete type=3 #108
2024/09/10-07:14:44.756963 7f7ecf4006c0 Delete type=0 #110
2024/09/10-07:20:33.399722 7f7ecd6006c0 Level-0 table #115: started
2024/09/10-07:20:33.399823 7f7ecd6006c0 Level-0 table #115: 0 bytes OK
2024/09/10-07:20:33.426020 7f7ecd6006c0 Delete type=0 #113
2024/09/10-07:20:33.538803 7f7ecd6006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.538898 7f7ecd6006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.011753 7f74dfe006c0 Recovering log #38
2024/03/02-23:56:59.065822 7f74dfe006c0 Delete type=3 #36
2024/03/02-23:56:59.066003 7f74dfe006c0 Delete type=0 #38
2024/03/02-23:57:31.454052 7f74dda006c0 Level-0 table #43: started
2024/03/02-23:57:31.454085 7f74dda006c0 Level-0 table #43: 0 bytes OK
2024/03/02-23:57:31.460874 7f74dda006c0 Delete type=0 #41
2024/03/02-23:57:31.461130 7f74dda006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.470795 7f74dda006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.088284 7f7ecea006c0 Recovering log #105
2024/09/09-21:51:17.099095 7f7ecea006c0 Delete type=3 #103
2024/09/09-21:51:17.099204 7f7ecea006c0 Delete type=0 #105
2024/09/09-21:52:48.582588 7f7ecd6006c0 Level-0 table #111: started
2024/09/09-21:52:48.582673 7f7ecd6006c0 Level-0 table #111: 0 bytes OK
2024/09/09-21:52:48.589717 7f7ecd6006c0 Delete type=0 #109
2024/09/09-21:52:48.611309 7f7ecd6006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.611384 7f7ecd6006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/protection/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.538644 7f74e4c006c0 Recovering log #146
2024/03/02-23:57:42.548194 7f74e4c006c0 Delete type=3 #144
2024/03/02-23:57:42.548242 7f74e4c006c0 Delete type=0 #146
2024/03/02-23:57:56.274321 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.274358 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.280896 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.287798 7f74dda006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.287848 7f74dda006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/09/10-07:14:44.961549 7f7ecea006c0 Recovering log #214
2024/09/10-07:14:45.016222 7f7ecea006c0 Delete type=3 #212
2024/09/10-07:14:45.016606 7f7ecea006c0 Delete type=0 #214
2024/09/10-07:20:33.539100 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.539159 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.576585 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.678420 7f7ecd6006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.678524 7f7ecd6006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.243458 7f74dea006c0 Recovering log #142
2024/03/02-23:56:59.296280 7f74dea006c0 Delete type=3 #140
2024/03/02-23:56:59.296363 7f74dea006c0 Delete type=0 #142
2024/03/02-23:57:31.470886 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.470906 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.477853 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.497453 7f74dda006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.497519 7f74dda006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.152829 7f7ed4e006c0 Recovering log #209
2024/09/09-21:51:17.163037 7f7ed4e006c0 Delete type=3 #207
2024/09/09-21:51:17.163143 7f7ed4e006c0 Delete type=0 #209
2024/09/09-21:52:48.611545 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.611586 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.617883 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.638938 7f7ecd6006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.639004 7f7ecd6006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/runes/000211.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000216

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.638884 7f74e4c006c0 Recovering log #146
2024/03/02-23:57:42.649262 7f74e4c006c0 Delete type=3 #144
2024/03/02-23:57:42.649331 7f74e4c006c0 Delete type=0 #146
2024/03/02-23:57:56.327001 7f74dda006c0 Level-0 table #151: started
2024/03/02-23:57:56.327021 7f74dda006c0 Level-0 table #151: 0 bytes OK
2024/03/02-23:57:56.333677 7f74dda006c0 Delete type=0 #149
2024/03/02-23:57:56.340040 7f74dda006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.340074 7f74dda006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.464393 7f7ecea006c0 Recovering log #214
2024/09/10-07:14:45.568041 7f7ecea006c0 Delete type=3 #212
2024/09/10-07:14:45.568192 7f7ecea006c0 Delete type=0 #214
2024/09/10-07:20:33.817119 7f7ecd6006c0 Level-0 table #219: started
2024/09/10-07:20:33.817259 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
2024/09/10-07:20:33.853842 7f7ecd6006c0 Delete type=0 #217
2024/09/10-07:20:33.990487 7f7ecd6006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.990597 7f7ecd6006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.749769 7f74dea006c0 Recovering log #142
2024/03/02-23:56:59.807963 7f74dea006c0 Delete type=3 #140
2024/03/02-23:56:59.808061 7f74dea006c0 Delete type=0 #142
2024/03/02-23:57:31.553065 7f74dda006c0 Level-0 table #147: started
2024/03/02-23:57:31.553088 7f74dda006c0 Level-0 table #147: 0 bytes OK
2024/03/02-23:57:31.559631 7f74dda006c0 Delete type=0 #145
2024/03/02-23:57:31.559771 7f74dda006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.559808 7f74dda006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.266111 7f7ed4e006c0 Recovering log #209
2024/09/09-21:51:17.276764 7f7ed4e006c0 Delete type=3 #207
2024/09/09-21:51:17.276860 7f7ed4e006c0 Delete type=0 #209
2024/09/09-21:52:48.668305 7f7ecd6006c0 Level-0 table #215: started
2024/09/09-21:52:48.668347 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
2024/09/09-21:52:48.674748 7f7ecd6006c0 Delete type=0 #213
2024/09/09-21:52:48.696639 7f7ecd6006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.696713 7f7ecd6006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/runes/MANIFEST-000216 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000127.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000064
MANIFEST-000132

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.664169 7f74e4c006c0 Recovering log #62
2024/03/02-23:57:42.675153 7f74e4c006c0 Delete type=3 #60
2024/03/02-23:57:42.675214 7f74e4c006c0 Delete type=0 #62
2024/03/02-23:57:56.346704 7f74dda006c0 Level-0 table #67: started
2024/03/02-23:57:56.346728 7f74dda006c0 Level-0 table #67: 0 bytes OK
2024/03/02-23:57:56.353179 7f74dda006c0 Delete type=0 #65
2024/03/02-23:57:56.353339 7f74dda006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.353404 7f74dda006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/09/10-07:14:45.696006 7f7ecf4006c0 Recovering log #130
2024/09/10-07:14:45.752701 7f7ecf4006c0 Delete type=3 #128
2024/09/10-07:14:45.752833 7f7ecf4006c0 Delete type=0 #130
2024/09/10-07:20:33.897005 7f7ecd6006c0 Level-0 table #135: started
2024/09/10-07:20:33.897068 7f7ecd6006c0 Level-0 table #135: 0 bytes OK
2024/09/10-07:20:33.928636 7f7ecd6006c0 Delete type=0 #133
2024/09/10-07:20:33.990553 7f7ecd6006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.990640 7f7ecd6006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.869123 7f74dea006c0 Recovering log #58
2024/03/02-23:56:59.920442 7f74dea006c0 Delete type=3 #56
2024/03/02-23:56:59.920535 7f74dea006c0 Delete type=0 #58
2024/03/02-23:57:31.566774 7f74dda006c0 Level-0 table #63: started
2024/03/02-23:57:31.566798 7f74dda006c0 Level-0 table #63: 0 bytes OK
2024/03/02-23:57:31.572841 7f74dda006c0 Delete type=0 #61
2024/03/02-23:57:31.572972 7f74dda006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.572995 7f74dda006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.296296 7f7ecea006c0 Recovering log #125
2024/09/09-21:51:17.307966 7f7ecea006c0 Delete type=3 #123
2024/09/09-21:51:17.308176 7f7ecea006c0 Delete type=0 #125
2024/09/09-21:52:48.682640 7f7ecd6006c0 Level-0 table #131: started
2024/09/09-21:52:48.682688 7f7ecd6006c0 Level-0 table #131: 0 bytes OK
2024/09/09-21:52:48.689372 7f7ecd6006c0 Delete type=0 #129
2024/09/09-21:52:48.696686 7f7ecd6006c0 Manual compaction at level-0 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 1 .. '!scenes!ZDV2IwduhOXTxy72' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.696741 7f7ecd6006c0 Manual compaction at level-1 from '!scenes!ZDV2IwduhOXTxy72' @ 72057594037927935 : 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-000056
MANIFEST-000124

View File

@ -1,8 +1,8 @@
2024/03/02-23:57:42.514100 7f74e4c006c0 Recovering log #54
2024/03/02-23:57:42.524422 7f74e4c006c0 Delete type=3 #52
2024/03/02-23:57:42.524478 7f74e4c006c0 Delete type=0 #54
2024/03/02-23:57:56.266204 7f74dda006c0 Level-0 table #59: started
2024/03/02-23:57:56.266260 7f74dda006c0 Level-0 table #59: 0 bytes OK
2024/03/02-23:57:56.274130 7f74dda006c0 Delete type=0 #57
2024/03/02-23:57:56.281153 7f74dda006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/03/02-23:57:56.287833 7f74dda006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/09/10-07:14:44.824622 7f7ecf4006c0 Recovering log #122
2024/09/10-07:14:44.881625 7f7ecf4006c0 Delete type=3 #120
2024/09/10-07:14:44.881742 7f7ecf4006c0 Delete type=0 #122
2024/09/10-07:20:33.426241 7f7ecd6006c0 Level-0 table #127: started
2024/09/10-07:20:33.426287 7f7ecd6006c0 Level-0 table #127: 0 bytes OK
2024/09/10-07:20:33.462927 7f7ecd6006c0 Delete type=0 #125
2024/09/10-07:20:33.538838 7f7ecd6006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/09/10-07:20:33.538919 7f7ecd6006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/02-23:56:59.123787 7f74dea006c0 Recovering log #50
2024/03/02-23:56:59.183838 7f74dea006c0 Delete type=3 #48
2024/03/02-23:56:59.183904 7f74dea006c0 Delete type=0 #50
2024/03/02-23:57:31.491411 7f74dda006c0 Level-0 table #55: started
2024/03/02-23:57:31.491439 7f74dda006c0 Level-0 table #55: 0 bytes OK
2024/03/02-23:57:31.497367 7f74dda006c0 Delete type=0 #53
2024/03/02-23:57:31.497482 7f74dda006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/03/02-23:57:31.497506 7f74dda006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/09/09-21:51:17.124273 7f7ecea006c0 Recovering log #117
2024/09/09-21:51:17.134938 7f7ecea006c0 Delete type=3 #115
2024/09/09-21:51:17.135076 7f7ecea006c0 Delete type=0 #117
2024/09/09-21:52:48.604710 7f7ecd6006c0 Level-0 table #123: started
2024/09/09-21:52:48.604782 7f7ecd6006c0 Level-0 table #123: 0 bytes OK
2024/09/09-21:52:48.611122 7f7ecd6006c0 Delete type=0 #121
2024/09/09-21:52:48.611368 7f7ecd6006c0 Manual compaction at level-0 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)
2024/09/09-21:52:48.611434 7f7ecd6006c0 Manual compaction at level-1 from '!items!6bmjc4MUduGs9s6n' @ 72057594037927935 : 1 .. '!items!t692JcsGHG4YJIlM' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/skills/000211.ldb Normal file

Binary file not shown.

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