Compare commits

...

21 Commits

Author SHA1 Message Date
6dd63a2c54 Hawkmoon : Foundry v13 migration 2025-04-30 23:26:24 +02:00
650e4b7449 Hawkmoon : Foundry v13 migration 2025-04-30 23:24:55 +02:00
3f27482ad9 Hawkmoon : Foundry v13 migraton 2025-04-30 23:23:32 +02:00
436b282ff5 Correction sur se désengager 2025-03-28 18:09:36 +01:00
39f8cfdbcc Correction sur 2 attaques avec ambidextrie 2025-03-28 14:56:52 +01:00
24a57a906e Fix protection pour creatures 2025-02-07 20:43:03 +01:00
667f3678fb Fix protection pour creatures 2025-02-07 20:42:14 +01:00
d5dd9e5bf7 Cleanup welcome scene 2024-08-23 13:49:57 +02:00
3403b72d1f ajout item sur cellule + augmentation bonus et difficultés 2024-08-22 14:39:42 +02:00
8a4487c833 ajout item sur cellule + augmentation bonus et difficultés 2024-08-22 14:39:30 +02:00
4eece5aaf4 Correction sur carte europe 2024-06-18 17:26:55 +02:00
b574ba76ef Fix combativite 2024-06-01 09:17:57 +02:00
0b9e1a80af Fix talents + artefacts 2024-05-31 23:25:43 +02:00
6505b1c969 Fix talents + artefacts 2024-05-31 23:16:28 +02:00
280e90d7a6 Fix initiative 2024-05-31 14:03:36 +02:00
4fa9a911a0 Ameliorations creatures 2024-05-30 08:30:29 +02:00
b8c61f8f12 Fix sheets 2024-05-24 08:25:25 +02:00
b47b14a4b1 Fix sheets 2024-05-24 08:24:40 +02:00
9391acf6ee Add v12 support 2024-05-23 11:33:02 +02:00
8af9c582bf Preparation du passage en v12 2024-05-05 18:06:29 +02:00
fac158e0ad Fix v11/v12 2024-05-02 09:27:16 +02:00
133 changed files with 1071 additions and 658 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -7,12 +7,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
/* -------------------------------------------- */
export class HawkmoonActorSheet extends ActorSheet {
export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.html",
width: 640,
@@ -25,7 +25,7 @@ export class HawkmoonActorSheet extends ActorSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let formData = {
title: this.title,
@@ -39,29 +39,30 @@ export class HawkmoonActorSheet 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()),
monnaies: duplicate(this.actor.getMonnaies()),
protections: duplicate(this.actor.getArmors()),
historiques: duplicate(this.actor.getHistoriques() || []),
talents: duplicate(this.actor.getTalents() || []),
mutations: duplicate(this.actor.getMutations() || []),
armes: foundry.utils.duplicate(this.actor.getWeapons()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
protections: foundry.utils.duplicate(this.actor.getArmors()),
historiques: foundry.utils.duplicate(this.actor.getHistoriques() || []),
talents: foundry.utils.duplicate(this.actor.getTalents() || []),
mutations: foundry.utils.duplicate(this.actor.getMutations() || []),
talentsCell: this.getCelluleTalents(),
profils: duplicate(this.actor.getProfils() || []),
combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()),
artefacts: duplicate(this.actor.getArtefacts()),
profils: foundry.utils.duplicate(this.actor.getProfils() || []),
combat: this.actor.getCombatValues(),
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
richesse: this.actor.computeRichesse(),
coupDevastateur: this.actor.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used),
valeurEquipement: this.actor.computeValeurEquipement(),
nbCombativite: this.actor.system.sante.nbcombativite,
combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite),
initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
isGM: game.user.isGM
isGM: game.user.isGM,
config: game.system.hawkmoon.config
}
this.formData = formData;
@@ -90,14 +91,14 @@ export class HawkmoonActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
// Update Inventory Item
html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
const item = this.actor.items.get( itemId )
item.sheet.render(true)
})
})
// Delete Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");
@@ -119,7 +120,7 @@ export class HawkmoonActorSheet extends ActorSheet {
let value = Number($(event.currentTarget).data("adversite-value"))
this.actor.incDecAdversite(adv, value)
})
html.find('.quantity-modify').click(event => {
const li = $(event.currentTarget).parents(".item")
const value = Number($(event.currentTarget).data("quantite-value"))
@@ -129,7 +130,7 @@ export class HawkmoonActorSheet extends ActorSheet {
html.find('.roll-initiative').click((event) => {
this.actor.rollAttribut("adr", true)
})
html.find('.roll-attribut').click((event) => {
const li = $(event.currentTarget).parents(".item")
let attrKey = li.data("attr-key")
@@ -146,9 +147,9 @@ export class HawkmoonActorSheet extends ActorSheet {
let armeId = li.data("item-id")
this.actor.rollArmeOffensif(armeId)
})
html.find('.roll-assomer').click((event) => {
this.actor.rollAssomer()
html.find('.roll-assommer').click((event) => {
this.actor.rollAssommer()
})
html.find('.roll-coup-bas').click((event) => {
this.actor.rollCoupBas()
@@ -162,30 +163,30 @@ export class HawkmoonActorSheet extends ActorSheet {
html.find('.roll-desengager').click((event) => {
this.actor.rollDesengager()
})
html.find('.roll-arme-degats').click((event) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
this.actor.rollArmeDegats(armeId)
})
html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
})
html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore;
this.render(true);
});
});
html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") );
this.render(true);
this.render(true);
});
}
/* -------------------------------------------- */
/** @override */
setPosition(options = {}) {

View File

@@ -17,8 +17,8 @@ export class HawkmoonActor extends Actor {
/**
* Override the create() function to provide additional SoS functionality.
*
* This overrided create() function adds initial items
* Namely: Basic skills, money,
* This overrided create() function adds initial items
* Namely: Basic skills, money,
*
* @param {Object} data Barebones actor data which this function adds onto.
* @param {Object} options (Unused) Additional options which customize the creation workflow.
@@ -67,22 +67,26 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
prepareArme(arme) {
arme = duplicate(arme)
if (this.type == "cellule") {
return arme
}
arme = foundry.utils.duplicate(arme)
let combat = this.getCombatValues()
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
let bonusDefense = this.getBonusDefenseFromTalents()
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 + (this.system.combat.monte ? 3 : 0 )
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense + (this.system.combat.monte ? 3 : 0 )
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + (this.system.combat.monte ? 3 : 0)
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense + (this.system.combat.monte ? 3 : 0)
console.log("Arme", arme.system.totalDefensif, combat, arme.system.competence.system.niveau, arme.system.seuildefense, bonusDefense)
arme.system.isdefense = true
arme.system.isMelee = true
arme.system.isDistance = false
}
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
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.totalDegats = arme.system.degats
@@ -146,7 +150,7 @@ export class HawkmoonActor 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)
@@ -168,7 +172,7 @@ export class HawkmoonActor extends Actor {
/* ----------------------- --------------------- */
addMember(actorId) {
let members = duplicate(this.system.members)
let members = foundry.utils.duplicate(this.system.members)
members.push({ id: actorId })
this.update({ 'system.members': members })
}
@@ -202,6 +206,20 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
getCombatValues() {
if (this.type == "cellule") {
return {
initBase: 0,
initTotal: 0,
bonusDegats: 0,
bonusDegatsTotal: 0,
vitesseBase: 0,
vitesseTotal: 0,
defenseBase: 0,
protection: 0,
defenseTotal: 0
}
}
let combat = {
initBase: this.system.attributs.adr.value,
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
@@ -235,21 +253,28 @@ export class HawkmoonActor extends Actor {
this.update({ 'system.sante.vigueur': vigueur })
}
}
super.prepareDerivedData()
}
/* -------------------------------------------- */
_preUpdate(changed, options, user) {
if (changed?.system?.sante?.etat && changed?.system?.sante?.etat != this.system.sante.etat) {
setTimeout(() => {
this.processCombativite(changed.system.sante)
}, 800)
}
super._preUpdate(changed, options, user);
}
/* -------------------------------------------- */
_onUpdate(data, options, user) {
super._onUpdate(data, options, user);
}
/* -------------------------------------------- */
getItemById(id) {
let item = this.items.find(item => item.id == id);
if (item) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
}
return item;
}
@@ -282,7 +307,7 @@ export class HawkmoonActor extends Actor {
checkAttribut(attribut, minLevel) {
let attr = this.system.attributs.find(at => at.labelnorm == attribut.toLowerCase())
if (attr && attr.value >= minLevel) {
return { isValid: true, attr: duplicate(attr) }
return { isValid: true, attr: foundry.utils.duplicate(attr) }
}
return { isValid: false }
}
@@ -290,11 +315,11 @@ export class HawkmoonActor extends Actor {
checkAttributOrCompetenceLevel(compName, minLevel) {
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase() && i.system.niveau >= minLevel)
if (comp) {
return { isValid: true, item: duplicate(comp) }
return { isValid: true, item: foundry.utils.duplicate(comp) }
} else {
for (let attrKey in this.system.attributs) {
if (this.system.attributs[attrKey].label.toLowerCase() == compName.toLowerCase() && this.system.attributs[attrKey].value >= minLevel) {
return { isValid: true, item: duplicate(this.system.attributs[attrKey]) }
return { isValid: true, item: foundry.utils.duplicate(this.system.attributs[attrKey]) }
}
}
}
@@ -304,7 +329,7 @@ export class HawkmoonActor extends Actor {
addCompetenceBonus(compName, bonus, baCost) {
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
if (comp) {
comp = duplicate(comp)
comp = foundry.utils.duplicate(comp)
comp.system.bonus = bonus
comp.system.baCost = baCost
return { isValid: true, item: comp }
@@ -388,22 +413,28 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
changeEtatCombativite(value) {
if ( value === "vaincu") {
if (value === "vaincu") {
value = 200
}
let sante = duplicate(this.system.sante)
let sante = foundry.utils.duplicate(this.system.sante)
sante.etat += Number(value)
sante.etat = Math.max(sante.etat, 0)
sante.etat = Math.min(sante.etat, 5)
sante.etat = Math.min(sante.etat, this.system.sante.nbcombativite)
this.update({ 'system.sante': sante })
if (sante.etat == this.system.sante.nbcombativite) {
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
}
this.processCombativite(sante)
}
/* -------------------------------------------- */
processCombativite(sante) {
sante = sante || foundry.utils.duplicate(this.system.sante)
// Gestion des états affaibli et très affaibli
if (sante.etat == this.system.sante.nbcombativite-2 || sante.etat == this.system.sante.nbcombativite-1) {
if (sante.etat == this.system.sante.nbcombativite-2 && this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "encaissement")) {
if (sante.etat == this.system.sante.nbcombativite - 2 || sante.etat == this.system.sante.nbcombativite - 1) {
if (sante.etat == this.system.sante.nbcombativite - 2 && this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "encaissement")) {
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Encaissement. Pensez à les ajouter à la fin de la scène !</strong>` })
} else if (sante.etat == this.system.sante.nbcombativite-1 && this.items.find(item => item.type == "talent" && item.name.toLowerCase().includes("vaillant"))) {
} else if (sante.etat == this.system.sante.nbcombativite - 1 && this.items.find(item => item.type == "talent" && item.name.toLowerCase().includes("vaillant"))) {
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Vaillant. Pensez à les ajouter à la fin de la scène !</strong>` })
} else {
ChatMessage.create({ content: `<strong>${this.name} subit 2 adversités rouge !</strong>` })
@@ -425,13 +456,13 @@ export class HawkmoonActor 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 });
}
@@ -453,9 +484,10 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
async incDecAdversite(adv, incDec = 0) {
let adversite = duplicate(this.system.adversite)
let adversite = foundry.utils.duplicate(this.system.adversite)
adversite[adv] += Number(incDec)
adversite[adv] = Math.max(adversite[adv], 0)
adversite[adv] = Math.min(adversite[adv], 20)
this.update({ 'system.adversite': adversite })
}
/* -------------------------------------------- */
@@ -500,7 +532,7 @@ export class HawkmoonActor 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 }])
}
@@ -511,6 +543,23 @@ export class HawkmoonActor extends Actor {
return init || -1
}
/* -------------------------------------------- */
getBestAttackValue() {
let attackList = this.items.filter(item => (item.type == "arme" || item.type == "talent") && item.system.equipped)
let maxOff = 0
let bestArme
for (let arme of attackList) {
if (arme.type == "arme") {
arme = this.prepareArme(arme)
}
if (arme.system.totalOffensif > maxOff) {
maxOff = arme.system.totalOffensif
bestArme = foundry.utils.duplicate(arme)
}
}
return bestArme
}
/* -------------------------------------------- */
getBestDefenseValue() {
let defenseList = this.items.filter(item => (item.type == "arme") && item.system.equipped)
@@ -522,7 +571,7 @@ export class HawkmoonActor extends Actor {
}
if (arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif
bestArme = duplicate(arme)
bestArme = foundry.utils.duplicate(arme)
}
}
return bestArme
@@ -537,7 +586,7 @@ export class HawkmoonActor extends Actor {
for (let auto of talent.system.automations) {
if (auto.eventtype === "prepare-roll") {
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
talent = duplicate(talent)
talent = foundry.utils.duplicate(talent)
talent.system.bonus = auto.bonus
talent.system.baCost = auto.baCost
talents.push(talent)
@@ -569,26 +618,33 @@ export class HawkmoonActor extends Actor {
rollData.nbAdversites = this.getTotalAdversite()
rollData.talents = []
rollData.attrKey2 = "none"
rollData.coupDevastateur = this.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup dévastateur" && !it.system.used)
rollData.coupDevastateur = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "coup dévastateur" && !it.system.used)
rollData.hasAmbidextre = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "ambidextre")
rollData.hasFeinte = this.system.bonneaventure.actuelle >0 && this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "feinte")
rollData.hasFeinte = this.system.bonneaventure.actuelle > 0 && this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "feinte")
rollData.isMonte = this.system.combat.monte
rollData.config = game.system.hawkmoon.config
if (attrKey) {
rollData.attrKey = attrKey
if (attrKey != "tochoose") {
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/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.maitrises = rollData.competence.system.predilections.filter(p => p.maitrise)
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
let maitrises = [{ key: "none", label: "Aucune" }]
rollData.competence.system.predilections.forEach(function (item) {
if (item.maitrise) {
maitrises.push({ key: item.id, label: item.name });
}
})
rollData.maitrises = maitrises // rollData.competence.system.predilections.filter(p => p.maitrise)
rollData.actionImg = rollData.competence?.img
rollData.talents = this.searchRelevantTalents(rollData.competence)
}
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
@@ -626,7 +682,7 @@ export class HawkmoonActor extends Actor {
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollAssomer() {
async rollAssommer() {
let rollData = this.getCommonRollData("pui", undefined, "Filouterie")
rollData.assomer = true
rollData.conditionsCommunes = true
@@ -672,7 +728,7 @@ export class HawkmoonActor extends Actor {
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollArmeDegats(armeId, targetVigueur = undefined, rollDataInput = undefined) {
let arme = this.items.get(armeId)
@@ -687,7 +743,7 @@ export class HawkmoonActor extends Actor {
if (rollDataInput?.applyCoupDevastateur) {
bonus2 = Math.floor(this.system.attributs.pui.value / 2)
let talent = this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "coup dévastateur")
this.updateEmbeddedDocuments('Item', [{ _id: talent.id, 'system.used': true }])
this.updateEmbeddedDocuments('Item', [{ _id: talent.id, 'system.used': true }])
}
if (rollDataInput?.isHeroique) {
@@ -697,7 +753,7 @@ export class HawkmoonActor extends Actor {
if (rollDataInput?.chargeCavalerie) {
bonus = 6
}
roll = new Roll("2d10rr10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll({ async: false })
roll = await new Roll("2d10rr10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
} else {
if (rollDataInput?.attaqueCharge) {
bonus = 3
@@ -705,13 +761,13 @@ export class HawkmoonActor extends Actor {
if (rollDataInput?.chargeCavalerie) {
bonus = 4
}
roll = new Roll("1d10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll({ async: false })
roll = await new Roll("1d10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
}
await HawkmoonUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
let nbEtatPerdus = 0
if (targetVigueur) {
nbEtatPerdus = Math.floor(roll.total / targetVigueur)
}
}
//console.log(roll)
let rollData = {
arme: arme,

View File

@@ -14,10 +14,10 @@ export class HawkmoonAutomation {
this.__objectTypes = { }
Object.entries(game.data.model.Actor).forEach(kv => {
this.__objectTypes[kv[0]] = duplicate(kv[1])
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
})
Object.entries(game.data.model.Item).forEach(kv => {
this.__objectTypes[kv[0]] = duplicate(kv[1])
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
})
}

View File

@@ -7,15 +7,15 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
/* -------------------------------------------- */
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1}
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1, "equipement": 1, "protection": 1, "artefact": 1, "arme": 1, "monnaie": 1 }
/* -------------------------------------------- */
export class HawkmoonCelluleSheet extends ActorSheet {
export class HawkmoonCelluleSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.html",
width: 640,
@@ -28,7 +28,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let formData = {
title: this.title,
@@ -41,15 +41,23 @@ export class HawkmoonCelluleSheet extends ActorSheet {
system: objectData.system,
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
limited: this.object.limited,
talents: duplicate(this.actor.getTalents() || {}),
ressources: duplicate(this.actor.getRessources()),
contacts: duplicate(this.actor.getContacts()),
talents: foundry.utils.duplicate(this.actor.getTalents() || {}),
ressources: foundry.utils.duplicate(this.actor.getRessources()),
contacts: foundry.utils.duplicate(this.actor.getContacts()),
members: this.getMembers(),
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
armes: foundry.utils.duplicate(this.actor.getWeapons()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
protections: foundry.utils.duplicate(this.actor.getArmors()),
richesse: this.actor.computeRichesse(),
valeurEquipement: this.actor.computeValeurEquipement(),
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
isGM: game.user.isGM
isGM: game.user.isGM,
config: game.system.hawkmoon.config
}
this.formData = formData;
@@ -87,7 +95,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
let actorId = li.data("actor-id")
this.actor.removeMember(actorId)
})
// Update Inventory Item
html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item")
@@ -109,15 +117,15 @@ export class HawkmoonCelluleSheet extends ActorSheet {
let value = ev.currentTarget.value
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
})
html.find('.quantity-minus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity(li.data("item-id"), -1);
});
html.find('.quantity-plus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity(li.data("item-id"), +1);
});
html.find('.quantity-modify').click(event => {
const li = $(event.currentTarget).parents(".item")
const value = Number($(event.currentTarget).data("quantite-value"))
this.actor.incDecQuantity( li.data("item-id"), value );
})
html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
})
html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore;
@@ -128,7 +136,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
/* -------------------------------------------- */
async _onDropActor(event, dragData) {
const actor = fromUuidSync(dragData.uuid)
if (actor) {
if (actor) {
this.actor.addMember(actor.id)
} else {
ui.notifications.warn("Cet acteur n'a pas été trouvé.")
@@ -148,7 +156,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
super._onDropItem(event, dragData)
return
}
ui.notifications("Ce type d'item n'est pas autorisé sur une Cellule.")
ui.notification.info("Ce type d'item n'est pas autorisé sur une Cellule.")
}

View File

@@ -7,8 +7,8 @@ export class HawkmoonCombat extends Combat {
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
ids = typeof ids === "string" ? [ids] : ids;
for (let cId of ids) {
const c = this.combatants.get(ids[cId]);
//console.log("Init for combattant", c )
const c = this.combatants.get(cId);
console.log("Init for combattant", c, ids)
let id = c._id || c.id
let initValue = c.actor ? c.actor.getInitiativeScore() : 0
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initValue } ]);

143
modules/hawkmoon-config.js Normal file
View File

@@ -0,0 +1,143 @@
export const HAWKMOON_CONFIG = {
optionsDifficulte: [
{ key: "0", label: "Aucune/Inconnue" },
{ key: "5", label: "Facile (5)" },
{ key: "6", label: "(6)" },
{ key: "7", label: "(7)" },
{ key: "8", label: "(8)" },
{ key: "9", label: "(9)" },
{ key: "10", label: "Moyenne (10)" },
{ key: "11", label: "(11)" },
{ key: "12", label: "(12)" },
{ key: "13", label: "(13)" },
{ key: "14", label: "(14)" },
{ key: "15", label: "Ardue (15)" },
{ key: "16", label: "(16)" },
{ key: "17", label: "(17)" },
{ key: "18", label: "(18)" },
{ key: "19", label: "(19)" },
{ key: "20", label: "Hasardeuse (20)" },
{ key: "21", label: "(21)" },
{ key: "22", label: "(22)" },
{ key: "23", label: "(23)" },
{ key: "24", label: "(24)" },
{ key: "25", label: "Insensée (25)" },
{ key: "26", label: "(26)" },
{ key: "27", label: "(27)" },
{ key: "28", label: "(28)" },
{ key: "29", label: "(29)" },
{ key: "30", label: "Pure Folie (30)" }
],
optionsDistanceTir: [
{ key: "porteecourte", label: "Courte ({protectionDefenseur}+5)" },
{ key: "porteemoyenne", label: "Moyenne ({protectionDefenseur}+9)" },
{ key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" }
],
optionsBonusMalus: [
{ key: "-10", label: "-10" },
{ key: "-9", label: "-9" },
{ key: "-8", label: "-8" },
{ key: "-7", label: "-7" },
{ key: "-6", label: "-6" },
{ key: "-5", label: "-5" },
{ key: "-4", label: "-4" },
{ key: "-3", label: "-3" },
{ key: "-2", label: "-2" },
{ key: "-1", label: "-1" },
{ key: "0", label: "0" },
{ key: "1", label: "+1" },
{ key: "2", label: "+2" },
{ key: "3", label: "+3" },
{ key: "4", label: "+4" },
{ key: "5", label: "+5" },
{ key: "6", label: "+6" },
{ key: "7", label: "+7" },
{ key: "8", label: "+8" },
{ key: "9", label: "+9" },
{ key: "10", label: "+10" }
],
optionsTailleCible: [
{ key: "normal", label: "Normal (SD+0)" },
{ key: "main", label: "Main (SD+10)" },
{ key: "enfant", label: "Enfant (SD+3)" },
{ key: "maison", label: "Maison (SD-10)" }
],
optionsCouvert: [
{ key: "aucun", label: "Aucun" },
{ key: "leger", label: "Léger (SD+5)" },
{ key: "complet", label: "Quasi complet (SD+10)" }
],
optionsTireurDeplacement: [
{ key: "immobile", label: "Immobile (SD+0)" },
{ key: "lent", label: "Lent (SD+3)" },
{ key: "rapide", label: "Rapide (SD+5)" }
],
optionsSoutiens: [
{ key: "0", label: "Aucun" },
{ key: "1", label: "Un soutien (+3)" },
{ key: "2", label: "Deux soutiens (+4)" },
{ key: "3", label: "Trois soutiens (+5)" }
],
optionsStatutResistant: [
{ key: "commun", label: "Commun" },
{ key: "clandestin", label: "Clandestin" },
{ key: "insurge", label: "Insurgé" }
],
optionsTypeArme: [
{key: "contact", label: "Arme de contact"},
{key: "contactjet", label: "Arme de contact et de Jet"},
{key: "jet", label: "Arme de Jet"},
{key: "tir", label: "Arme de Tir"}
],
optionsArtefactBranche: [
{key: "alchimie", label: "Alchimie"},
{key: "biologie", label: "Biologie"},
{key: "electricite", label: "Electricité"},
{key: "mecanique", label: "Mécanique"},
{key: "scienceesprit", label: "Science de l'Esprit"}
],
optionsArtefactBranche2: [
{key: "none", label: "Aucune"},
{key: "alchimie", label: "Alchimie"},
{key: "biologie", label: "Biologie"},
{key: "electricite", label: "Electricité"},
{key: "mecanique", label: "Mécanique"},
{key: "scienceesprit", label: "Science de l'Esprit"}
],
optionsTypeContact: [
{key: "contact", label: "Contact"},
{key: "allie", label: "Allié"}
],
optionsTypeMutation: [
{key: "tares_communes", label: "Tares et Malformations communes"},
{key: "evolutions_communes", label: "Evolutions communes"},
{key: "tares_rares", label: "Tares et Malformations rares"},
{key: "evolutions_rares", label: "Evolutions rares"},
{key: "tares_majeures", label: "Tares et Maformations majeures"},
{key: "evolutions_majeures", label: "Evolutions majeures"},
{key: "tares_except", label: "Tares et Malformations exceptionnelles"},
{key: "evolutions_except", label: "Evolutions exceptionnelles"}
],
optionsTypeTalent: [
{key: "personnage", label: "Personnage"},
{key: "cellule", label: "Cellule"},
{key: "traitespece", label: "Trait d'espèce"}
],
optionsUseTalent: [
{key: "permanent", label: "Permanent"},
{key: "sceance", label: "Une fois par scéance"},
{key: "scenario", label: "Une fois par scénario"},
{key: "jour", label: "Une fois par jour"},
{key: "unique", label: "Unique"}
],
optionsAutomationEvent: [
{key: "on-drop", label: "Drop sur l'acteur"},
{key: "prepare-roll", label: "Préparation d'un jet"},
{key: "bonus-permanent", label: "Bonus permanent"}
],
optionsBonusPermanent: [
{key: "vigueur", label: "Vigueur"},
{key: "bonus-defensif", label: "Bonus au Seuil de Défense"}
]
}

View File

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

View File

@@ -22,7 +22,7 @@ export class HawkmoonTokenHud {
const hudData = { actor: actor }
const controlIconActions = html.find('.control-icon[data-action=combat]');
const controlIconActions = $(html).find('.control-icon[data-action=combat]');
// initiative
await HawkmoonTokenHud._configureSubMenu(controlIconActions, 'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html', hudData,
(event) => {
@@ -34,7 +34,7 @@ export class HawkmoonTokenHud {
/* -------------------------------------------- */
static async addTokenHudExtensions(app, html, tokenId) {
const controlIconCombat = html.find('.control-icon[data-action=combat]')
const controlIconCombat = $(html).find('.control-icon[data-action=combat]')
if (controlIconCombat.length>0 ) {
HawkmoonTokenHud.addExtensionHud(app, html, tokenId);
}
@@ -42,11 +42,11 @@ export class HawkmoonTokenHud {
/* -------------------------------------------- */
static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) {
const hud = $(await renderTemplate(template, hudData))
const hud = $(await foundry.applications.handlebars.renderTemplate(template, hudData))
const list = hud.find('div.hawkmoon-hud-list')
HawkmoonTokenHud._toggleHudListActive(hud, list);
hud.find('img.hawkmoon-hud-togglebutton').click(event => HawkmoonTokenHud._toggleHudListActive(hud, list));
list.find('.hawkmoon-hud-adversite').click(onMenuItem);

View File

@@ -4,12 +4,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
* Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet}
*/
export class HawkmoonItemSheet extends ItemSheet {
export class HawkmoonItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-hawkmoon-cyd", "sheet", "item"],
template: "systems/fvtt-hawkmoon-cyd/templates/item-sheet.html",
dragDrop: [{ dragSelector: null, dropSelector: null }],
@@ -48,7 +48,7 @@ export class HawkmoonItemSheet extends ItemSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let formData = {
title: this.title,
id: this.id,
@@ -64,7 +64,8 @@ export class HawkmoonItemSheet extends ItemSheet {
owner: this.document.isOwner,
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
mr: (this.object.type == 'specialisation'),
isGM: game.user.isGM
isGM: game.user.isGM,
config: game.system.hawkmoon.config
}
if ( objectData.type == "don") {
@@ -89,7 +90,7 @@ export class HawkmoonItemSheet extends ItemSheet {
/* -------------------------------------------- */
postItem() {
let chatData = duplicate(HawkmoonUtility.data(this.item));
let chatData = foundry.utils.duplicate(HawkmoonUtility.data(this.item));
if (this.actor) {
chatData.actor = { id: this.actor.id };
}
@@ -132,7 +133,7 @@ export class HawkmoonItemSheet extends ItemSheet {
html.find('.edit-predilection').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
pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred })
@@ -140,70 +141,70 @@ export class HawkmoonItemSheet extends ItemSheet {
html.find('.edit-predilection-description').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].description = ev.currentTarget.value
pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred })
})
})
html.find('.predilection-acquise').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].acquise = ev.currentTarget.checked
pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred })
})
})
html.find('.predilection-maitrise').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].maitrise = ev.currentTarget.checked
pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred })
})
})
html.find('.predilection-used').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
pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred })
})
})
html.find('#add-predilection').click(ev => {
let pred = duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
let pred = foundry.utils.duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
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('#add-automation').click(ev => {
let autom = duplicate(this.object.system.automations)
autom.push( { eventtype: "on-drop", name: "Automatisation 1", bonusname: "vigueur", bonus: 0, competence: "", minLevel: 0, baCost: 0, id: randomID(16) })
let autom = foundry.utils.duplicate(this.object.system.automations)
autom.push( { eventtype: "on-drop", name: "Automatisation 1", bonusname: "vigueur", bonus: 0, competence: "", minLevel: 0, baCost: 0, id: randomID(16) })
this.object.update( { 'system.automations': autom })
})
html.find('.delete-automation').click(ev => {
const li = $(ev.currentTarget).parents(".automation-item")
let index = li.data("automation-index")
let autom = duplicate(this.object.system.automations)
let autom = foundry.utils.duplicate(this.object.system.automations)
autom.splice(index,1)
this.object.update( { 'system.automations': autom })
})
html.find('.automation-edit-field').change(ev => {
let index = $(ev.currentTarget).data("automation-index")
let field = $(ev.currentTarget).data("automation-field")
let auto = duplicate(this.object.system.automations)
let auto = foundry.utils.duplicate(this.object.system.automations)
auto[index][field] = ev.currentTarget.value
auto[index].id = auto[index].id || randomID(16)
this.object.update( { 'system.automations': auto })
})
})
// Update Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");

View File

@@ -18,6 +18,7 @@ import { HawkmoonCombat } from "./hawkmoon-combat.js";
import { HawkmoonItem } from "./hawkmoon-item.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
import { HAWKMOON_CONFIG } from "./hawkmoon-config.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@@ -32,7 +33,7 @@ Hooks.once("init", async function () {
HawkmoonUtility.preloadHandlebarsTemplates()
/* -------------------------------------------- */
// Set an initiative formula for the system
// Set an initiative formula for the system
CONFIG.Combat.initiative = {
formula: "1d10",
decimals: 1
@@ -50,18 +51,19 @@ Hooks.once("init", async function () {
CONFIG.Item.documentClass = HawkmoonItem
game.system.hawkmoon = {
HawkmoonUtility,
HawkmoonAutomation
HawkmoonAutomation,
config : HAWKMOON_CONFIG
}
/* -------------------------------------------- */
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
// Regster sheet application classes
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
HawkmoonUtility.init()
HawkmoonAutomation.init()
@@ -82,6 +84,19 @@ function welcomeMessage() {
` });
}
/* -------------------------------------------- */
async function importDefaultScene() {
let exists = game.scenes.find(j => j.name == "Accueil");
if (!exists) {
const scenes = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.scenes")
let newDocuments = scenes.filter(i => i.name == "Accueil");
if (newDocuments) {
await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Accueil").activate();
}
}
}
/* -------------------------------------------- */
/* Foundry VTT Initialization */
/* -------------------------------------------- */
@@ -105,6 +120,7 @@ Hooks.once("ready", function () {
console.log("No stats available, giving up.")
)
importDefaultScene()
welcomeMessage()
});
@@ -122,4 +138,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
}
return true;
});

View File

@@ -6,7 +6,7 @@ export class HawkmoonRollDialog extends Dialog {
static async create(actor, rollData ) {
let options = { classes: ["HawkmoonDialog"], width: 320, height: 'fit-content', 'z-index': 99999 };
let html = await renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
return new HawkmoonRollDialog(actor, rollData, html, options );
}
@@ -16,16 +16,16 @@ export class HawkmoonRollDialog extends Dialog {
let conf = {
title: "Test de Capacité",
content: html,
buttons: {
buttons: {
rolld10: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10",
callback: () => { this.roll("d10") }
callback: () => { this.roll("d10") }
},
rolld20: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d20",
callback: () => { this.roll("d20") }
callback: () => { this.roll("d20") }
},
cancel: {
icon: '<i class="fas fa-times"></i>',
@@ -56,86 +56,87 @@ export class HawkmoonRollDialog extends Dialog {
function onLoad() {
}
$(function () { onLoad(); });
html.find('#modificateur').change(async (event) => {
this.rollData.modificateur = Number(event.currentTarget.value)
})
html.find('#difficulte').change(async (event) => {
html.find('#difficulte').change( (event) => {
console.log("Difficulte: " + event.currentTarget.value)
this.rollData.difficulte = Number(event.currentTarget.value)
})
html.find('#attrKey').change(async (event) => {
this.rollData.attrKey = String(event.currentTarget.value)
})
})
html.find('#attrKey2').change(async (event) => {
this.rollData.attrKey2 = String(event.currentTarget.value)
})
})
html.find('#select-maitrise').change(async (event) => {
this.rollData.maitriseId = String(event.currentTarget.value)
})
html.find('#competence-talents').change((event) => {
this.rollData.selectedTalents = $('#competence-talents').val()
this.rollData.selectedTalents = $('#competence-talents').val()
})
html.find('#taille-cible').change((event) => {
this.rollData.tailleCible = String(event.currentTarget.value)
this.rollData.tailleCible = String(event.currentTarget.value)
})
html.find('#tireur-deplacement').change((event) => {
this.rollData.tireurDeplacement = String(event.currentTarget.value)
this.rollData.tireurDeplacement = String(event.currentTarget.value)
})
html.find('#cible-couvert').change((event) => {
this.rollData.cibleCouvert = String(event.currentTarget.value)
this.rollData.cibleCouvert = String(event.currentTarget.value)
})
html.find('#distance-tir').change((event) => {
this.rollData.distanceTir = String(event.currentTarget.value)
this.rollData.distanceTir = String(event.currentTarget.value)
})
html.find('#bonus-malus-context').change((event) => {
this.rollData.bonusMalusContext = Number(event.currentTarget.value)
this.rollData.bonusMalusContext = Number(event.currentTarget.value)
})
html.find('#defenseur-au-sol').change((event) => {
this.rollData.defenseurAuSol = event.currentTarget.checked
this.rollData.defenseurAuSol = event.currentTarget.checked
})
html.find('#ambidextre-1').change((event) => {
this.rollData.ambidextre1 = event.currentTarget.checked
this.rollData.ambidextre1 = event.currentTarget.checked
})
html.find('#ambidextre-2').change((event) => {
this.rollData.ambidextre2 = event.currentTarget.checked
})
html.find('#attaque-monte').change((event) => {
this.rollData.attqueMonte = event.currentTarget.checked
})
})
html.find('#defenseur-aveugle').change((event) => {
this.rollData.defenseurAveugle = event.currentTarget.checked
this.rollData.defenseurAveugle = event.currentTarget.checked
})
html.find('#defenseur-de-dos').change((event) => {
this.rollData.defenseurDeDos = event.currentTarget.checked
this.rollData.defenseurDeDos = event.currentTarget.checked
})
html.find('#defenseur-restreint').change((event) => {
this.rollData.defenseurRestreint = event.currentTarget.checked
this.rollData.defenseurRestreint = event.currentTarget.checked
})
html.find('#defenseur-immobilise').change((event) => {
this.rollData.defenseurImmobilise = event.currentTarget.checked
this.rollData.defenseurImmobilise = event.currentTarget.checked
})
html.find('#attaque-charge').change((event) => {
this.rollData.attaqueCharge = event.currentTarget.checked
this.rollData.attaqueCharge = event.currentTarget.checked
})
html.find('#charge-cavalerie').change((event) => {
this.rollData.chargeCavalerie = event.currentTarget.checked
this.rollData.chargeCavalerie = event.currentTarget.checked
})
html.find('#attaquants-multiple').change((event) => {
this.rollData.attaquantsMultiples = event.currentTarget.checked
this.rollData.attaquantsMultiples = event.currentTarget.checked
})
html.find('#soutiens').change((event) => {
this.rollData.soutiens = Number(event.currentTarget.value)
this.rollData.soutiens = Number(event.currentTarget.value)
})
html.find('#feinte').change((event) => {
this.rollData.feinte = event.currentTarget.checked
this.rollData.feinte = event.currentTarget.checked
})
html.find('#contenir').change((event) => {
this.rollData.contenir = event.currentTarget.checked
this.rollData.contenir = event.currentTarget.checked
})
html.find('#attaque-desarme').change((event) => {
this.rollData.attaqueDesarme = event.currentTarget.checked
this.rollData.attaqueDesarme = event.currentTarget.checked
})
}
}

View File

@@ -15,8 +15,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static async init() {
Hooks.on('renderChatLog', (log, html, data) => HawkmoonUtility.chatListeners(html))
Hooks.on("getChatLogEntryContext", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
Hooks.on("getChatMessageContextOptions", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
HawkmoonUtility.pushInitiativeOptions(html, options);
})
@@ -114,6 +113,26 @@ export class HawkmoonUtility {
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
let logoImg = document.querySelector('#pause').children[0]
logoImg.setAttribute('style', `content: url(${logoPause})`)
game.system.hawkmoon.config.listeNiveauSkill = this.createDirectOptionList(0, 10)
game.system.hawkmoon.config.listeNiveauCreature = this.createDirectOptionList(0, 35)
game.system.hawkmoon.config.listeNiveauContact = this.createDirectOptionList(1, 3)
}
/* -------------------------------------------- */
static createDirectOptionList(min, max) {
let options = {};
for (let i = min; i <= max; i++) {
options[`${i}`] = `${i}`;
}
return options;
}
static createArrayOptionList(min, max) {
let options = [];
for (let i = min; i <= max; i++) {
options.push({key:`${i}`, label:`${i}`});
}
return options;
}
/* -------------------------------------------- */
@@ -135,25 +154,25 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.predilection-reroll', async event => {
$(html).on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.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))
HawkmoonUtility.rollHawkmoon(rollData)
})
html.on("click", '.roll-chat-degat', async event => {
$(html).on("click", '.roll-chat-degat', async event => {
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData)
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
})
html.on("click", '.roll-chat-degat-devastateur', async event => {
$(html).on("click", '.roll-chat-degat-devastateur', async event => {
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll")
@@ -161,7 +180,7 @@ export class HawkmoonUtility {
rollData.applyCoupDevastateur = true
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
})
}
/* -------------------------------------------- */
@@ -172,14 +191,11 @@ export class HawkmoonUtility {
'systems/fvtt-hawkmoon-cyd/templates/partial-item-header.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau-creature.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
]
return loadTemplates(templatePaths);
return foundry.applications.handlebars.loadTemplates(templatePaths);
}
/* -------------------------------------------- */
@@ -256,7 +272,7 @@ export class HawkmoonUtility {
let id = rollData.rollId;
let oldRollData = this.rollDataStore[id] || {};
let newRollData = mergeObject(oldRollData, rollData);
let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
this.rollDataStore[id] = newRollData;
}
@@ -298,10 +314,10 @@ export class HawkmoonUtility {
switch (rollMode) {
case "blindroll": //GM only
blind = true;
case "gmroll": //GM + rolling player
case "gmroll": // GM + rolling player
whisper = this.getUsers(user => user.isGM);
break;
case "roll": //everybody
case "roll": // everybody
whisper = this.getUsers(user => user.active);
break;
case "selfroll":
@@ -348,7 +364,7 @@ export class HawkmoonUtility {
}
/* -------------------------------------------- */
static applyCombativite(rollData, value) {
if (game.user.isGM) {
if (game.user.isGM) {
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
defender.changeEtatCombativite(value)
} else {
@@ -364,10 +380,10 @@ export class HawkmoonUtility {
}
if (!rollData.attr) {
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/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])
}
if (rollData.attrKey2 != "none") {
rollData.attr2 = duplicate(actor.system.attributs[rollData.attrKey2])
rollData.attr2 = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey2])
}
if (rollData.maitriseId != "none") {
@@ -379,10 +395,10 @@ export class HawkmoonUtility {
//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}`
if (rollData.selectedTalents && rollData.selectedTalents.length > 0) {
for (let id of rollData.selectedTalents) {
let talent = rollData.talents.find(t => t._id == id)
@@ -406,7 +422,7 @@ export class HawkmoonUtility {
} else {
rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}`
}
// Bonus arme naturelle en défense
if (rollData.bonusArmeNaturelle) {
rollData.diceFormula += `+${rollData.bonusArmeNaturelle}`
@@ -415,10 +431,10 @@ export class HawkmoonUtility {
rollData.diceFormula += `+3`
}
if (rollData.hasAmbidextre) {
if ( rollData.attaqueAmbidextre1) {
if ( rollData.ambidextre1) {
rollData.diceFormula += `-3`
} else if ( rollData.attaqueAmbidextre2) {
rollData.diceFormula += `-5`
} else if ( rollData.ambidextre2) {
rollData.diceFormula += `-6`
}
}
if (rollData.defenseurAuSol) {
@@ -452,20 +468,20 @@ export class HawkmoonUtility {
if (rollData.attaqueDesarme) {
rollData.difficulte += 10
}
// Ajout adversités
rollData.diceFormula += `-${rollData.nbAdversites}`
if (rollData.arme && rollData.arme.type == "arme") {
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
}
// Gestion de la feinte éventuelle
rollData.nbCombativitePerdu = 1
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
// Gestion de la feinte éventuelle
rollData.nbCombativitePerdu = 1
let myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll)
rollData.roll = foundry.utils.duplicate(myRoll)
console.log(">>>> ", myRoll)
rollData.finalResult = myRoll.total
@@ -483,7 +499,7 @@ export class HawkmoonUtility {
}
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
}, rollData)
if ( (rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
@@ -497,23 +513,23 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static getCombativiteList(nbActivite) {
let list = [ { value: 0, label: "Combatif"}]
let list = [ { value: String(0), label: "Combatif"}]
for (let i = 1; i < nbActivite-2; i++) {
list.push({ value: i, label:"Eprouvé " + i} )
list.push({ value: String(i), label:"Eprouvé " + i} )
}
list[nbActivite-2] = { value: nbActivite-2, label:"Affaibli"}
list[nbActivite-1] = { value: nbActivite-1, label:"Très Affaibli"}
list[nbActivite] = { value: nbActivite, label:"Vaincu"}
list[nbActivite-2] = { value: String(nbActivite-2), label:"Affaibli"}
list[nbActivite-1] = { value: String(nbActivite-1), label:"Très Affaibli"}
list[nbActivite] = { value: String(nbActivite), label:"Vaincu"}
return list
}
/* -------------------------------------------- */
static async bonusRollHawkmoon(rollData) {
rollData.bonusFormula = rollData.addedBonus
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
let bonusRoll = await new Roll(rollData.bonusFormula).roll()
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
rollData.bonusRoll = duplicate(bonusRoll)
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
rollData.finalResult += rollData.bonusRoll.total
@@ -547,7 +563,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
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);
@@ -611,7 +627,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static getBasicRollData() {
let rollData = {
rollId: randomID(16),
rollId: foundry.utils.randomID(16),
rollMode: game.settings.get("core", "rollMode"),
modificateursOptions: this.getModificateurOptions(),
pointAmeOptions: this.getPointAmeOptions(),
@@ -646,6 +662,7 @@ export class HawkmoonUtility {
rollData.defenderTokenId = target.id
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
rollData.armeDefense = defender.getBestDefenseValue()
rollData.armeAttaqueDefenseur = defender.getBestAttackValue()
rollData.targetVigueur = defender.getVigueur()
rollData.protectionDefenseur = defender.getProtection()
if (rollData.immobiliser || rollData.repousser) {
@@ -656,6 +673,8 @@ export class HawkmoonUtility {
rollData.difficulte = combatValues.defenseTotal
}else if ( rollData.assomer) {
rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2)
} else if (rollData.desengager) {
rollData.difficulte = rollData.armeAttaqueDefenseur?.system?.totalOffensif || 0;
} else if (rollData.armeDefense) {
rollData.difficulte = rollData.armeDefense.system.totalDefensif
if ( !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune ){
@@ -676,7 +695,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static applyBonneAventureRoll(li, changed, addedBonus) {
let msgId = li.data("message-id")
let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll")
@@ -695,7 +714,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */
static applyEclatRoll(li, changed, addedBonus) {
let msgId = li.data("message-id")
let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll")
@@ -716,13 +735,13 @@ export class HawkmoonUtility {
static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".hawkmoon-roll").length
let canApplyBA = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0)
}
let canApplyPE = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0)
@@ -748,7 +767,7 @@ export class HawkmoonUtility {
name: "Relancer le dé (1 point d'Eclat)",
icon: "<i class='fas fa-user-plus'></i>",
condition: canApply && canApplyPE,
callback: li => HawkmoonUtility.applyEclatRoll(li, -3, "reroll")
callback: li => HawkmoonUtility.applyEclatRoll(li, -1, "reroll")
}
)
return options

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000272

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:44.588303 7fcc654006c0 Recovering log #150
2024/04/24-19:19:45.046737 7fcc654006c0 Delete type=3 #148
2024/04/24-19:19:45.047257 7fcc654006c0 Delete type=0 #150
2024/04/24-20:38:33.674583 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.674627 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.681197 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.681325 7fcc5e4006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.681347 7fcc5e4006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.820283 7fb791ffb6c0 Recovering log #270
2025/04/30-22:46:25.831133 7fb791ffb6c0 Delete type=3 #268
2025/04/30-22:46:25.831299 7fb791ffb6c0 Delete type=0 #270
2025/04/30-23:23:04.369017 7fb7917fa6c0 Level-0 table #275: started
2025/04/30-23:23:04.372625 7fb7917fa6c0 Level-0 table #275: 41333 bytes OK
2025/04/30-23:23:04.379312 7fb7917fa6c0 Delete type=0 #273
2025/04/30-23:23:04.379479 7fb7917fa6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.379516 7fb7917fa6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 23 : 1
2025/04/30-23:23:04.379525 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.383543 7fb7917fa6c0 Generated table #276@1: 4 keys, 41333 bytes
2025/04/30-23:23:04.383570 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 41333 bytes
2025/04/30-23:23:04.389832 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.390039 7fb7917fa6c0 Delete type=2 #263
2025/04/30-23:23:04.390302 7fb7917fa6c0 Delete type=2 #275
2025/04/30-23:23:04.421521 7fb7917fa6c0 Manual compaction at level-1 from '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 23 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.940864 7f38a3e006c0 Recovering log #146
2024/04/07-18:44:43.951368 7f38a3e006c0 Delete type=3 #144
2024/04/07-18:44:43.951425 7f38a3e006c0 Delete type=0 #146
2024/04/07-18:53:15.757658 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.757696 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.765139 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.765299 7f38a10006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.765326 7f38a10006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.240513 7f9cf5ffb6c0 Recovering log #266
2025/03/28-18:06:54.252115 7f9cf5ffb6c0 Delete type=3 #264
2025/03/28-18:06:54.252178 7f9cf5ffb6c0 Delete type=0 #266
2025/03/28-18:09:08.872875 7f9cf4ff96c0 Level-0 table #271: started
2025/03/28-18:09:08.872910 7f9cf4ff96c0 Level-0 table #271: 0 bytes OK
2025/03/28-18:09:08.879279 7f9cf4ff96c0 Delete type=0 #269
2025/03/28-18:09:08.892832 7f9cf4ff96c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.903986 7f9cf4ff96c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/armes/000275.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.144098 7fcc5fe006c0 Recovering log #150
2024/04/24-19:19:43.367448 7fcc5fe006c0 Delete type=3 #148
2024/04/24-19:19:43.367549 7fcc5fe006c0 Delete type=0 #150
2024/04/24-20:38:33.619450 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.619488 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.626512 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.632878 7fcc5e4006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.639837 7fcc5e4006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.674405 7fb7927fc6c0 Recovering log #269
2025/04/30-22:46:25.686479 7fb7927fc6c0 Delete type=3 #267
2025/04/30-22:46:25.686581 7fb7927fc6c0 Delete type=0 #269
2025/04/30-23:23:04.179243 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.182638 7fb7917fa6c0 Level-0 table #274: 14167 bytes OK
2025/04/30-23:23:04.190494 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.211888 7fb7917fa6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.221874 7fb7917fa6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at '!items!wxrzP3NyiHiYnAMJ' @ 245 : 1
2025/04/30-23:23:04.221885 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.225802 7fb7917fa6c0 Generated table #275@1: 49 keys, 14167 bytes
2025/04/30-23:23:04.225834 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 14167 bytes
2025/04/30-23:23:04.231964 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.232101 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.232269 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.255042 7fb7917fa6c0 Manual compaction at level-1 from '!items!wxrzP3NyiHiYnAMJ' @ 245 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.841800 7f38a2a006c0 Recovering log #146
2024/04/07-18:44:43.851587 7f38a2a006c0 Delete type=3 #144
2024/04/07-18:44:43.851700 7f38a2a006c0 Delete type=0 #146
2024/04/07-18:53:15.687706 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.687751 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.694223 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.709272 7f38a10006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.709352 7f38a10006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.129546 7f9cf57fa6c0 Recovering log #265
2025/03/28-18:06:54.140296 7f9cf57fa6c0 Delete type=3 #263
2025/03/28-18:06:54.140354 7f9cf57fa6c0 Delete type=0 #265
2025/03/28-18:09:08.799681 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.799712 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.806126 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.806364 7f9cf4ff96c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.806424 7f9cf4ff96c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/armes/MANIFEST-000271 Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.017708 7fcc64a006c0 Recovering log #150
2024/04/24-19:19:43.076452 7fcc64a006c0 Delete type=3 #148
2024/04/24-19:19:43.076601 7fcc64a006c0 Delete type=0 #150
2024/04/24-20:38:33.605428 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.605456 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.612661 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.619414 7fcc5e4006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.626638 7fcc5e4006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.643592 7fb7937fe6c0 Recovering log #269
2025/04/30-22:46:25.654454 7fb7937fe6c0 Delete type=3 #267
2025/04/30-22:46:25.654552 7fb7937fe6c0 Delete type=0 #269
2025/04/30-23:23:04.103416 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.106737 7fb7917fa6c0 Level-0 table #274: 7054 bytes OK
2025/04/30-23:23:04.112842 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.124899 7fb7917fa6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.146124 7fb7917fa6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at '!items!tFU5yISK6spdNWco' @ 40 : 1
2025/04/30-23:23:04.146133 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.149904 7fb7917fa6c0 Generated table #275@1: 8 keys, 7054 bytes
2025/04/30-23:23:04.149920 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 7054 bytes
2025/04/30-23:23:04.156562 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.156635 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.156743 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.168556 7fb7917fa6c0 Manual compaction at level-1 from '!items!tFU5yISK6spdNWco' @ 40 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.814328 7f38a2a006c0 Recovering log #146
2024/04/07-18:44:43.824924 7f38a2a006c0 Delete type=3 #144
2024/04/07-18:44:43.825056 7f38a2a006c0 Delete type=0 #146
2024/04/07-18:53:15.694330 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.694352 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.702258 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.709293 7f38a10006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.709368 7f38a10006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.103361 7f9cf5ffb6c0 Recovering log #265
2025/03/28-18:06:54.113349 7f9cf5ffb6c0 Delete type=3 #263
2025/03/28-18:06:54.113428 7f9cf5ffb6c0 Delete type=0 #265
2025/03/28-18:09:08.786685 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.786722 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.793132 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.806327 7f9cf4ff96c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.806394 7f9cf4ff96c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:42.882823 7fcc64a006c0 Recovering log #150
2024/04/24-19:19:42.947075 7fcc64a006c0 Delete type=3 #148
2024/04/24-19:19:42.947209 7fcc64a006c0 Delete type=0 #150
2024/04/24-20:38:33.592157 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.592206 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.598509 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.605418 7fcc5e4006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.612914 7fcc5e4006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.597132 7fb792ffd6c0 Recovering log #269
2025/04/30-22:46:25.609063 7fb792ffd6c0 Delete type=3 #267
2025/04/30-22:46:25.609201 7fb792ffd6c0 Delete type=0 #269
2025/04/30-23:23:04.082867 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.086179 7fb7917fa6c0 Level-0 table #274: 16660 bytes OK
2025/04/30-23:23:04.092287 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.124841 7fb7917fa6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.124952 7fb7917fa6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at '!items!yI1zY5k8mAdx9wHK' @ 75 : 1
2025/04/30-23:23:04.124972 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.129408 7fb7917fa6c0 Generated table #275@1: 15 keys, 16660 bytes
2025/04/30-23:23:04.129442 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 16660 bytes
2025/04/30-23:23:04.135379 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.135477 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.135681 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.168528 7fb7917fa6c0 Manual compaction at level-1 from '!items!yI1zY5k8mAdx9wHK' @ 75 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.786249 7f38a2a006c0 Recovering log #146
2024/04/07-18:44:43.797379 7f38a2a006c0 Delete type=3 #144
2024/04/07-18:44:43.797432 7f38a2a006c0 Delete type=0 #146
2024/04/07-18:53:15.681177 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.681197 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.687480 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.709243 7f38a10006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.709312 7f38a10006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.075285 7f9cf57fa6c0 Recovering log #265
2025/03/28-18:06:54.086230 7f9cf57fa6c0 Delete type=3 #263
2025/03/28-18:06:54.086300 7f9cf57fa6c0 Delete type=0 #265
2025/03/28-18:09:08.813600 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.813626 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.819856 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.833880 7f9cf4ff96c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.833915 7f9cf4ff96c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/equipement/000275.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.562687 7fcc5fe006c0 Recovering log #150
2024/04/24-19:19:43.720740 7fcc5fe006c0 Delete type=3 #148
2024/04/24-19:19:43.720811 7fcc5fe006c0 Delete type=0 #150
2024/04/24-20:38:33.632917 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.632957 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.639646 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.647315 7fcc5e4006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.653621 7fcc5e4006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.707873 7fb7927fc6c0 Recovering log #269
2025/04/30-22:46:25.719103 7fb7927fc6c0 Delete type=3 #267
2025/04/30-22:46:25.719286 7fb7927fc6c0 Delete type=0 #269
2025/04/30-23:23:04.190695 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.194619 7fb7917fa6c0 Level-0 table #274: 31834 bytes OK
2025/04/30-23:23:04.200798 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.211899 7fb7917fa6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.232371 7fb7917fa6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at '!items!zYx0Ak2y1LNTcKlO' @ 755 : 1
2025/04/30-23:23:04.232382 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.236254 7fb7917fa6c0 Generated table #275@1: 151 keys, 31834 bytes
2025/04/30-23:23:04.236302 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 31834 bytes
2025/04/30-23:23:04.243742 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.243955 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.244249 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.255058 7fb7917fa6c0 Manual compaction at level-1 from '!items!zYx0Ak2y1LNTcKlO' @ 755 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.869311 7f38a2a006c0 Recovering log #146
2024/04/07-18:44:43.880871 7f38a2a006c0 Delete type=3 #144
2024/04/07-18:44:43.880923 7f38a2a006c0 Delete type=0 #146
2024/04/07-18:53:15.709571 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.709616 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.716550 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.736946 7f38a10006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.736993 7f38a10006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.156515 7f9cf5ffb6c0 Recovering log #265
2025/03/28-18:06:54.167920 7f9cf5ffb6c0 Delete type=3 #263
2025/03/28-18:06:54.168006 7f9cf5ffb6c0 Delete type=0 #265
2025/03/28-18:09:08.806529 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.806589 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.813486 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.833864 7f9cf4ff96c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.833923 7f9cf4ff96c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 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-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.080280 7fcc5fe006c0 Recovering log #150
2024/04/24-19:19:43.137577 7fcc5fe006c0 Delete type=3 #148
2024/04/24-19:19:43.137905 7fcc5fe006c0 Delete type=0 #150
2024/04/24-20:38:33.612932 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.613011 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.619236 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.626625 7fcc5e4006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.632899 7fcc5e4006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.658285 7fb792ffd6c0 Recovering log #269
2025/04/30-22:46:25.668622 7fb792ffd6c0 Delete type=3 #267
2025/04/30-22:46:25.668716 7fb792ffd6c0 Delete type=0 #269
2025/04/30-23:23:04.092436 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.095766 7fb7917fa6c0 Level-0 table #274: 19976 bytes OK
2025/04/30-23:23:04.103193 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.124873 7fb7917fa6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.135825 7fb7917fa6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at '!items!z1HtkvazCGHut7cz' @ 240 : 1
2025/04/30-23:23:04.135851 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.139629 7fb7917fa6c0 Generated table #275@1: 48 keys, 19976 bytes
2025/04/30-23:23:04.139657 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 19976 bytes
2025/04/30-23:23:04.145845 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.145948 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.146054 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.168545 7fb7917fa6c0 Manual compaction at level-1 from '!items!z1HtkvazCGHut7cz' @ 240 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.827816 7f38a3e006c0 Recovering log #146
2024/04/07-18:44:43.838730 7f38a3e006c0 Delete type=3 #144
2024/04/07-18:44:43.838786 7f38a3e006c0 Delete type=0 #146
2024/04/07-18:53:15.702497 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.702540 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.708964 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.709333 7f38a10006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.709410 7f38a10006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.116086 7f9cf67fc6c0 Recovering log #265
2025/03/28-18:06:54.126771 7f9cf67fc6c0 Delete type=3 #263
2025/03/28-18:06:54.126828 7f9cf67fc6c0 Delete type=0 #265
2025/03/28-18:09:08.793243 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.793267 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.799520 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.806348 7f9cf4ff96c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.806409 7f9cf4ff96c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/mutations/000185.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000062
MANIFEST-000181

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:42.952046 7fcc5fe006c0 Recovering log #60
2024/04/24-19:19:43.001963 7fcc5fe006c0 Delete type=3 #58
2024/04/24-19:19:43.002046 7fcc5fe006c0 Delete type=0 #60
2024/04/24-20:38:33.598679 7fcc5e4006c0 Level-0 table #65: started
2024/04/24-20:38:33.598713 7fcc5e4006c0 Level-0 table #65: 0 bytes OK
2024/04/24-20:38:33.605307 7fcc5e4006c0 Delete type=0 #63
2024/04/24-20:38:33.612894 7fcc5e4006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.619433 7fcc5e4006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.616201 7fb791ffb6c0 Recovering log #179
2025/04/30-22:46:25.627292 7fb791ffb6c0 Delete type=3 #177
2025/04/30-22:46:25.627403 7fb791ffb6c0 Delete type=0 #179
2025/04/30-23:23:04.113049 7fb7917fa6c0 Level-0 table #184: started
2025/04/30-23:23:04.117530 7fb7917fa6c0 Level-0 table #184: 58257 bytes OK
2025/04/30-23:23:04.124557 7fb7917fa6c0 Delete type=0 #182
2025/04/30-23:23:04.124923 7fb7917fa6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.156834 7fb7917fa6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at '!items!zttESycGKltfwCzJ' @ 811 : 1
2025/04/30-23:23:04.156846 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.160766 7fb7917fa6c0 Generated table #185@1: 167 keys, 58927 bytes
2025/04/30-23:23:04.160803 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 58927 bytes
2025/04/30-23:23:04.167712 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.167915 7fb7917fa6c0 Delete type=2 #172
2025/04/30-23:23:04.168270 7fb7917fa6c0 Delete type=2 #184
2025/04/30-23:23:04.168569 7fb7917fa6c0 Manual compaction at level-1 from '!items!zttESycGKltfwCzJ' @ 811 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.800976 7f38a3e006c0 Recovering log #56
2024/04/07-18:44:43.810946 7f38a3e006c0 Delete type=3 #54
2024/04/07-18:44:43.811011 7f38a3e006c0 Delete type=0 #56
2024/04/07-18:53:15.674292 7f38a10006c0 Level-0 table #61: started
2024/04/07-18:53:15.674318 7f38a10006c0 Level-0 table #61: 0 bytes OK
2024/04/07-18:53:15.680930 7f38a10006c0 Delete type=0 #59
2024/04/07-18:53:15.681066 7f38a10006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.681085 7f38a10006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.089587 7f9cf6ffd6c0 Recovering log #175
2025/03/28-18:06:54.100163 7f9cf6ffd6c0 Delete type=3 #173
2025/03/28-18:06:54.100221 7f9cf6ffd6c0 Delete type=0 #175
2025/03/28-18:09:08.826965 7f9cf4ff96c0 Level-0 table #180: started
2025/03/28-18:09:08.826991 7f9cf4ff96c0 Level-0 table #180: 0 bytes OK
2025/03/28-18:09:08.833674 7f9cf4ff96c0 Delete type=0 #178
2025/03/28-18:09:08.833905 7f9cf4ff96c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.833931 7f9cf4ff96c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/profils/000275.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.730272 7fcc654006c0 Recovering log #150
2024/04/24-19:19:43.889184 7fcc654006c0 Delete type=3 #148
2024/04/24-19:19:43.889335 7fcc654006c0 Delete type=0 #150
2024/04/24-20:38:33.639856 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.639921 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.647189 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.653608 7fcc5e4006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.660740 7fcc5e4006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.726020 7fb792ffd6c0 Recovering log #269
2025/04/30-22:46:25.737499 7fb792ffd6c0 Delete type=3 #267
2025/04/30-22:46:25.737660 7fb792ffd6c0 Delete type=0 #269
2025/04/30-23:23:04.201057 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.205481 7fb7917fa6c0 Level-0 table #274: 29941 bytes OK
2025/04/30-23:23:04.211714 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.211908 7fb7917fa6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.244455 7fb7917fa6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at '!items!tFQqcxmkS3MT6ASE' @ 75 : 1
2025/04/30-23:23:04.244476 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.248277 7fb7917fa6c0 Generated table #275@1: 15 keys, 29941 bytes
2025/04/30-23:23:04.248311 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 29941 bytes
2025/04/30-23:23:04.254398 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.254638 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.254910 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.255072 7fb7917fa6c0 Manual compaction at level-1 from '!items!tFQqcxmkS3MT6ASE' @ 75 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.885807 7f38a3e006c0 Recovering log #146
2024/04/07-18:44:43.895718 7f38a3e006c0 Delete type=3 #144
2024/04/07-18:44:43.895858 7f38a3e006c0 Delete type=0 #146
2024/04/07-18:53:15.716770 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.716808 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.723524 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.736955 7f38a10006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.737004 7f38a10006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.172273 7f9cf67fc6c0 Recovering log #265
2025/03/28-18:06:54.183178 7f9cf67fc6c0 Delete type=3 #263
2025/03/28-18:06:54.183275 7f9cf67fc6c0 Delete type=0 #265
2025/03/28-18:09:08.820046 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.820086 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.826845 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.833893 7f9cf4ff96c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.833939 7f9cf4ff96c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 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-000152
MANIFEST-000271

View File

@@ -1,8 +1,15 @@
2024/04/24-19:19:43.378670 7fcc654006c0 Recovering log #150
2024/04/24-19:19:43.554194 7fcc654006c0 Delete type=3 #148
2024/04/24-19:19:43.554281 7fcc654006c0 Delete type=0 #150
2024/04/24-20:38:33.626647 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.626669 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.632751 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.639816 7fcc5e4006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2024/04/24-20:38:33.647329 7fcc5e4006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.692517 7fb7937fe6c0 Recovering log #269
2025/04/30-22:46:25.703599 7fb7937fe6c0 Delete type=3 #267
2025/04/30-22:46:25.703745 7fb7937fe6c0 Delete type=0 #269
2025/04/30-23:23:04.168688 7fb7917fa6c0 Level-0 table #274: started
2025/04/30-23:23:04.172836 7fb7917fa6c0 Level-0 table #274: 3496 bytes OK
2025/04/30-23:23:04.179106 7fb7917fa6c0 Delete type=0 #272
2025/04/30-23:23:04.211874 7fb7917fa6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.211922 7fb7917fa6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at '!items!yszkersMTE4p9VzP' @ 70 : 1
2025/04/30-23:23:04.211931 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.215103 7fb7917fa6c0 Generated table #275@1: 14 keys, 3496 bytes
2025/04/30-23:23:04.215136 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 3496 bytes
2025/04/30-23:23:04.221500 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.221635 7fb7917fa6c0 Delete type=2 #262
2025/04/30-23:23:04.221783 7fb7917fa6c0 Delete type=2 #274
2025/04/30-23:23:04.255023 7fb7917fa6c0 Manual compaction at level-1 from '!items!yszkersMTE4p9VzP' @ 70 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/07-18:44:43.856327 7f38a3e006c0 Recovering log #146
2024/04/07-18:44:43.867226 7f38a3e006c0 Delete type=3 #144
2024/04/07-18:44:43.867361 7f38a3e006c0 Delete type=0 #146
2024/04/07-18:53:15.723744 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.723796 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.730185 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.736963 7f38a10006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2024/04/07-18:53:15.736999 7f38a10006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.142912 7f9cf6ffd6c0 Recovering log #265
2025/03/28-18:06:54.152918 7f9cf6ffd6c0 Delete type=3 #263
2025/03/28-18:06:54.153055 7f9cf6ffd6c0 Delete type=0 #265
2025/03/28-18:09:08.779338 7f9cf4ff96c0 Level-0 table #270: started
2025/03/28-18:09:08.779431 7f9cf4ff96c0 Level-0 table #270: 0 bytes OK
2025/03/28-18:09:08.786537 7f9cf4ff96c0 Delete type=0 #268
2025/03/28-18:09:08.806298 7f9cf4ff96c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.806379 7f9cf4ff96c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000114.ldb Normal file

Binary file not shown.

1
packs/scenes/CURRENT Normal file
View File

@@ -0,0 +1 @@
MANIFEST-000110

15
packs/scenes/LOG Normal file
View File

@@ -0,0 +1,15 @@
2025/04/30-22:46:25.802227 7fb7937fe6c0 Recovering log #108
2025/04/30-22:46:25.814731 7fb7937fe6c0 Delete type=3 #106
2025/04/30-22:46:25.814933 7fb7937fe6c0 Delete type=0 #108
2025/04/30-23:23:04.285184 7fb7917fa6c0 Level-0 table #113: started
2025/04/30-23:23:04.288382 7fb7917fa6c0 Level-0 table #113: 1653 bytes OK
2025/04/30-23:23:04.295867 7fb7917fa6c0 Delete type=0 #111
2025/04/30-23:23:04.296061 7fb7917fa6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/04/30-23:23:04.319755 7fb7917fa6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at '!scenes!mfosNsLsHN5Pf4TO' @ 97 : 1
2025/04/30-23:23:04.319768 7fb7917fa6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:23:04.323061 7fb7917fa6c0 Generated table #114@1: 2 keys, 1653 bytes
2025/04/30-23:23:04.323100 7fb7917fa6c0 Compacted 1@1 + 1@2 files => 1653 bytes
2025/04/30-23:23:04.329661 7fb7917fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:23:04.329775 7fb7917fa6c0 Delete type=2 #101
2025/04/30-23:23:04.329934 7fb7917fa6c0 Delete type=2 #113
2025/04/30-23:23:04.341258 7fb7917fa6c0 Manual compaction at level-1 from '!scenes!mfosNsLsHN5Pf4TO' @ 97 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

8
packs/scenes/LOG.old Normal file
View File

@@ -0,0 +1,8 @@
2025/03/28-18:06:54.226942 7f9cf67fc6c0 Recovering log #104
2025/03/28-18:06:54.236785 7f9cf67fc6c0 Delete type=3 #102
2025/03/28-18:06:54.236844 7f9cf67fc6c0 Delete type=0 #104
2025/03/28-18:09:08.854204 7f9cf4ff96c0 Level-0 table #109: started
2025/03/28-18:09:08.854246 7f9cf4ff96c0 Level-0 table #109: 0 bytes OK
2025/03/28-18:09:08.861935 7f9cf4ff96c0 Delete type=0 #107
2025/03/28-18:09:08.862106 7f9cf4ff96c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/03/28-18:09:08.862134 7f9cf4ff96c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000152
MANIFEST-000268

View File

@@ -1,7 +1,7 @@
2024/04/24-19:19:44.361715 7fcc5fe006c0 Recovering log #150
2024/04/24-19:19:44.586287 7fcc5fe006c0 Delete type=3 #148
2024/04/24-19:19:44.586391 7fcc5fe006c0 Delete type=0 #150
2024/04/24-20:38:33.660752 7fcc5e4006c0 Level-0 table #155: started
2024/04/24-20:38:33.660779 7fcc5e4006c0 Level-0 table #155: 0 bytes OK
2024/04/24-20:38:33.667170 7fcc5e4006c0 Delete type=0 #153
2024/04/24-20:38:33.674538 7fcc5e4006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2025/04/30-22:46:25.773588 7fb792ffd6c0 Recovering log #266
2025/04/30-22:46:25.784012 7fb792ffd6c0 Delete type=3 #264
2025/04/30-22:46:25.784106 7fb792ffd6c0 Delete type=0 #266
2025/04/30-23:23:04.278863 7fb7917fa6c0 Level-0 table #271: started
2025/04/30-23:23:04.278898 7fb7917fa6c0 Level-0 table #271: 0 bytes OK
2025/04/30-23:23:04.285012 7fb7917fa6c0 Delete type=0 #269
2025/04/30-23:23:04.296050 7fb7917fa6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/04/07-18:44:43.927559 7f38a2a006c0 Recovering log #146
2024/04/07-18:44:43.937525 7f38a2a006c0 Delete type=3 #144
2024/04/07-18:44:43.937610 7f38a2a006c0 Delete type=0 #146
2024/04/07-18:53:15.737130 7f38a10006c0 Level-0 table #151: started
2024/04/07-18:53:15.737157 7f38a10006c0 Level-0 table #151: 0 bytes OK
2024/04/07-18:53:15.743304 7f38a10006c0 Delete type=0 #149
2024/04/07-18:53:15.765257 7f38a10006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2025/03/28-18:06:54.214203 7f9cf5ffb6c0 Recovering log #262
2025/03/28-18:06:54.224626 7f9cf5ffb6c0 Delete type=3 #260
2025/03/28-18:06:54.224678 7f9cf5ffb6c0 Delete type=0 #262
2025/03/28-18:09:08.847807 7f9cf4ff96c0 Level-0 table #267: started
2025/03/28-18:09:08.847847 7f9cf4ff96c0 Level-0 table #267: 0 bytes OK
2025/03/28-18:09:08.854019 7f9cf4ff96c0 Delete type=0 #265
2025/03/28-18:09:08.862095 7f9cf4ff96c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

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