Compare commits

..

22 Commits

Author SHA1 Message Date
871a18a0ee Correction sur talent Dragon 2025-11-21 21:21:45 +01:00
264c49eb06 Fix release mess 2025-11-07 00:30:31 +01:00
9349c54966 Enhance CSS+fonts 2025-10-26 21:39:25 +01:00
274efac2b5 Enhance CSS+fonts 2025-10-26 15:39:08 +01:00
7a7398f8ca Correction sur styles CSS 2025-10-20 22:30:15 +02:00
93600f7e13 Correction sur styles CSS 2025-10-20 22:29:22 +02:00
a6fa3afbee Double adversités 2025-08-24 17:00:06 +02:00
1051349dd0 Correction sur usage BA sur un jet impair au D20 2025-06-24 21:04:58 +02:00
a245b0e87c Corrections sur couleur des pages dans les journaux 2025-06-03 13:32:11 +02:00
c9ce3367ed Corrections sur couleur des pages dans les journaux 2025-06-03 13:31:17 +02:00
e95e068112 Fix perte de combatitivité sur action d'un joueur 2025-06-03 09:37:50 +02:00
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
130 changed files with 1351 additions and 848 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

View File

@@ -7,7 +7,7 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js"; import { HawkmoonAutomation } from "./hawkmoon-automation.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class HawkmoonActorSheet extends ActorSheet { export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -25,7 +25,7 @@ export class HawkmoonActorSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = foundry.utils.duplicate(this.object) const objectData = foundry.utils.duplicate(this.object)
let formData = { let formData = {
title: this.title, title: this.title,
@@ -47,7 +47,7 @@ export class HawkmoonActorSheet extends ActorSheet {
mutations: foundry.utils.duplicate(this.actor.getMutations() || []), mutations: foundry.utils.duplicate(this.actor.getMutations() || []),
talentsCell: this.getCelluleTalents(), talentsCell: this.getCelluleTalents(),
profils: foundry.utils.duplicate(this.actor.getProfils() || []), profils: foundry.utils.duplicate(this.actor.getProfils() || []),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),
equipements: foundry.utils.duplicate(this.actor.getEquipments()), equipements: foundry.utils.duplicate(this.actor.getEquipments()),
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()), artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
richesse: this.actor.computeRichesse(), richesse: this.actor.computeRichesse(),
@@ -56,8 +56,8 @@ export class HawkmoonActorSheet extends ActorSheet {
nbCombativite: this.actor.system.sante.nbcombativite, nbCombativite: this.actor.system.sante.nbcombativite,
combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite), combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite),
initiative: this.actor.getFlag("world", "last-initiative") || -1, initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}), habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,
@@ -91,14 +91,14 @@ export class HawkmoonActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable // Everything below here is only needed if the sheet is editable
if (!this.options.editable) return; if (!this.options.editable) return;
// Update Inventory Item // Update Inventory Item
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item") const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id") let itemId = li.data("item-id")
const item = this.actor.items.get( itemId ) const item = this.actor.items.get( itemId )
item.sheet.render(true) item.sheet.render(true)
}) })
// Delete Inventory Item // Delete Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
@@ -120,7 +120,7 @@ export class HawkmoonActorSheet extends ActorSheet {
let value = Number($(event.currentTarget).data("adversite-value")) let value = Number($(event.currentTarget).data("adversite-value"))
this.actor.incDecAdversite(adv, value) this.actor.incDecAdversite(adv, value)
}) })
html.find('.quantity-modify').click(event => { html.find('.quantity-modify').click(event => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
const value = Number($(event.currentTarget).data("quantite-value")) const value = Number($(event.currentTarget).data("quantite-value"))
@@ -130,7 +130,7 @@ export class HawkmoonActorSheet extends ActorSheet {
html.find('.roll-initiative').click((event) => { html.find('.roll-initiative').click((event) => {
this.actor.rollAttribut("adr", true) this.actor.rollAttribut("adr", true)
}) })
html.find('.roll-attribut').click((event) => { html.find('.roll-attribut').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let attrKey = li.data("attr-key") let attrKey = li.data("attr-key")
@@ -147,7 +147,7 @@ export class HawkmoonActorSheet extends ActorSheet {
let armeId = li.data("item-id") let armeId = li.data("item-id")
this.actor.rollArmeOffensif(armeId) this.actor.rollArmeOffensif(armeId)
}) })
html.find('.roll-assommer').click((event) => { html.find('.roll-assommer').click((event) => {
this.actor.rollAssommer() this.actor.rollAssommer()
}) })
@@ -163,30 +163,30 @@ export class HawkmoonActorSheet extends ActorSheet {
html.find('.roll-desengager').click((event) => { html.find('.roll-desengager').click((event) => {
this.actor.rollDesengager() this.actor.rollDesengager()
}) })
html.find('.roll-arme-degats').click((event) => { html.find('.roll-arme-degats').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id") let armeId = li.data("item-id")
this.actor.rollArmeDegats(armeId) this.actor.rollArmeDegats(armeId)
}) })
html.find('.item-add').click((event) => { html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type") const itemType = $(event.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true }) this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
}) })
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore; this.options.editScore = !this.options.editScore;
this.render(true); this.render(true);
}); });
html.find('.item-equip').click(ev => { html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") ); this.actor.equipItem( li.data("item-id") );
this.render(true); this.render(true);
}); });
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
setPosition(options = {}) { setPosition(options = {}) {

View File

@@ -17,8 +17,8 @@ export class HawkmoonActor extends Actor {
/** /**
* Override the create() function to provide additional SoS functionality. * Override the create() function to provide additional SoS functionality.
* *
* This overrided create() function adds initial items * This overrided create() function adds initial items
* Namely: Basic skills, money, * Namely: Basic skills, money,
* *
* @param {Object} data Barebones actor data which this function adds onto. * @param {Object} data Barebones actor data which this function adds onto.
* @param {Object} options (Unused) Additional options which customize the creation workflow. * @param {Object} options (Unused) Additional options which customize the creation workflow.
@@ -67,6 +67,10 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareArme(arme) { prepareArme(arme) {
if (this.type == "cellule") {
return arme
}
arme = foundry.utils.duplicate(arme) arme = foundry.utils.duplicate(arme)
let combat = this.getCombatValues() let combat = this.getCombatValues()
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") { if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
@@ -202,6 +206,20 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
getCombatValues() { 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 = { let combat = {
initBase: this.system.attributs.adr.value, initBase: this.system.attributs.adr.value,
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus, initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
@@ -406,7 +424,7 @@ export class HawkmoonActor extends Actor {
if (sante.etat == this.system.sante.nbcombativite) { if (sante.etat == this.system.sante.nbcombativite) {
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` }) ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
} }
this.processCombativite(sante) // Duplicated ! this.processCombativite(sante)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -525,6 +543,23 @@ export class HawkmoonActor extends Actor {
return init || -1 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() { getBestDefenseValue() {
let defenseList = this.items.filter(item => (item.type == "arme") && item.system.equipped) let defenseList = this.items.filter(item => (item.type == "arme") && item.system.equipped)

View File

@@ -7,10 +7,10 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.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 */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -45,6 +45,13 @@ export class HawkmoonCelluleSheet extends ActorSheet {
ressources: foundry.utils.duplicate(this.actor.getRessources()), ressources: foundry.utils.duplicate(this.actor.getRessources()),
contacts: foundry.utils.duplicate(this.actor.getContacts()), contacts: foundry.utils.duplicate(this.actor.getContacts()),
members: this.getMembers(), 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 }), description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
@@ -88,7 +95,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
let actorId = li.data("actor-id") let actorId = li.data("actor-id")
this.actor.removeMember(actorId) this.actor.removeMember(actorId)
}) })
// Update Inventory Item // Update Inventory Item
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item") const li = $(ev.currentTarget).parents(".item")
@@ -110,15 +117,15 @@ export class HawkmoonCelluleSheet extends ActorSheet {
let value = ev.currentTarget.value let value = ev.currentTarget.value
this.actor.editItemField(itemId, itemType, itemField, dataType, value) this.actor.editItemField(itemId, itemType, itemField, dataType, value)
}) })
html.find('.quantity-modify').click(event => {
html.find('.quantity-minus').click(event => { const li = $(event.currentTarget).parents(".item")
const li = $(event.currentTarget).parents(".item"); const value = Number($(event.currentTarget).data("quantite-value"))
this.actor.incDecQuantity(li.data("item-id"), -1); this.actor.incDecQuantity( li.data("item-id"), value );
}); })
html.find('.quantity-plus').click(event => { html.find('.item-add').click((event) => {
const li = $(event.currentTarget).parents(".item"); const itemType = $(event.currentTarget).data("type")
this.actor.incDecQuantity(li.data("item-id"), +1); this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
}); })
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore; this.options.editScore = !this.options.editScore;
@@ -129,7 +136,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async _onDropActor(event, dragData) { async _onDropActor(event, dragData) {
const actor = fromUuidSync(dragData.uuid) const actor = fromUuidSync(dragData.uuid)
if (actor) { if (actor) {
this.actor.addMember(actor.id) this.actor.addMember(actor.id)
} else { } else {
ui.notifications.warn("Cet acteur n'a pas été trouvé.") ui.notifications.warn("Cet acteur n'a pas été trouvé.")
@@ -149,7 +156,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
super._onDropItem(event, dragData) super._onDropItem(event, dragData)
return 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

@@ -3,10 +3,30 @@ export const HAWKMOON_CONFIG = {
optionsDifficulte: [ optionsDifficulte: [
{ key: "0", label: "Aucune/Inconnue" }, { key: "0", label: "Aucune/Inconnue" },
{ key: "5", label: "Facile (5)" }, { 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: "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: "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: "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: "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)" } { key: "30", label: "Pure Folie (30)" }
], ],
optionsDistanceTir: [ optionsDistanceTir: [
@@ -15,6 +35,12 @@ export const HAWKMOON_CONFIG = {
{ key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" } { key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" }
], ],
optionsBonusMalus: [ 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: "-4", label: "-4" },
{ key: "-3", label: "-3" }, { key: "-3", label: "-3" },
{ key: "-2", label: "-2" }, { key: "-2", label: "-2" },
@@ -23,7 +49,13 @@ export const HAWKMOON_CONFIG = {
{ key: "1", label: "+1" }, { key: "1", label: "+1" },
{ key: "2", label: "+2" }, { key: "2", label: "+2" },
{ key: "3", label: "+3" }, { key: "3", label: "+3" },
{ key: "4", label: "+4" } { 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: [ optionsTailleCible: [
{ key: "normal", label: "Normal (SD+0)" }, { key: "normal", label: "Normal (SD+0)" },

View File

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

View File

@@ -4,7 +4,7 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class HawkmoonItemSheet extends ItemSheet { export class HawkmoonItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -145,7 +145,7 @@ export class HawkmoonItemSheet extends ItemSheet {
pred[index].description = ev.currentTarget.value pred[index].description = ev.currentTarget.value
pred[index].id = pred[index].id || randomID(16) pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('.predilection-acquise').change(ev => { html.find('.predilection-acquise').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
@@ -153,7 +153,7 @@ export class HawkmoonItemSheet extends ItemSheet {
pred[index].acquise = ev.currentTarget.checked pred[index].acquise = ev.currentTarget.checked
pred[index].id = pred[index].id || randomID(16) pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('.predilection-maitrise').change(ev => { html.find('.predilection-maitrise').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
@@ -161,7 +161,7 @@ export class HawkmoonItemSheet extends ItemSheet {
pred[index].maitrise = ev.currentTarget.checked pred[index].maitrise = ev.currentTarget.checked
pred[index].id = pred[index].id || randomID(16) pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('.predilection-used').change(ev => { html.find('.predilection-used').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
@@ -169,11 +169,11 @@ export class HawkmoonItemSheet extends ItemSheet {
pred[index].used = ev.currentTarget.checked pred[index].used = ev.currentTarget.checked
pred[index].id = pred[index].id || randomID(16) pred[index].id = pred[index].id || randomID(16)
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('#add-predilection').click(ev => { html.find('#add-predilection').click(ev => {
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = foundry.utils.duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false }) pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
this.object.update( { 'system.predilections': pred }) this.object.update( { 'system.predilections': pred })
}) })
html.find('.delete-prediction').click(ev => { html.find('.delete-prediction').click(ev => {
@@ -186,7 +186,7 @@ export class HawkmoonItemSheet extends ItemSheet {
html.find('#add-automation').click(ev => { html.find('#add-automation').click(ev => {
let autom = foundry.utils.duplicate(this.object.system.automations) 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) }) 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 }) this.object.update( { 'system.automations': autom })
}) })
html.find('.delete-automation').click(ev => { html.find('.delete-automation').click(ev => {
@@ -203,8 +203,8 @@ export class HawkmoonItemSheet extends ItemSheet {
auto[index][field] = ev.currentTarget.value auto[index][field] = ev.currentTarget.value
auto[index].id = auto[index].id || randomID(16) auto[index].id = auto[index].id || randomID(16)
this.object.update( { 'system.automations': auto }) this.object.update( { 'system.automations': auto })
}) })
// Update Inventory Item // Update Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");

View File

@@ -33,7 +33,7 @@ Hooks.once("init", async function () {
HawkmoonUtility.preloadHandlebarsTemplates() HawkmoonUtility.preloadHandlebarsTemplates()
/* -------------------------------------------- */ /* -------------------------------------------- */
// Set an initiative formula for the system // Set an initiative formula for the system
CONFIG.Combat.initiative = { CONFIG.Combat.initiative = {
formula: "1d10", formula: "1d10",
decimals: 1 decimals: 1
@@ -56,14 +56,14 @@ Hooks.once("init", async function () {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Regster sheet application classes
Actors.unregisterSheet("core", ActorSheet); foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true }); foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet); foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true }) foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
HawkmoonUtility.init() HawkmoonUtility.init()
HawkmoonAutomation.init() HawkmoonAutomation.init()
@@ -92,7 +92,7 @@ async function importDefaultScene() {
let newDocuments = scenes.filter(i => i.name == "Accueil"); let newDocuments = scenes.filter(i => i.name == "Accueil");
if (newDocuments) { if (newDocuments) {
await game.scenes.documentClass.create(newDocuments); await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Accueil").activate(); game.scenes.find(i => i.name == "Accueil").activate();
} }
} }
} }
@@ -119,7 +119,7 @@ Hooks.once("ready", function () {
}).catch(err=> }).catch(err=>
console.log("No stats available, giving up.") console.log("No stats available, giving up.")
) )
importDefaultScene() importDefaultScene()
welcomeMessage() welcomeMessage()
@@ -138,4 +138,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
} }
return true; return true;
}); });

View File

@@ -3,12 +3,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
export class HawkmoonRollDialog extends Dialog { export class HawkmoonRollDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async create(actor, rollData ) { static async create(actor, rollData) {
let options = { classes: ["HawkmoonDialog"], width: 320, height: 'fit-content', 'z-index': 99999 }; let options = { classes: ["HawkmoonDialog"], width: 420, 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 ); return new HawkmoonRollDialog(actor, rollData, html, options);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -16,22 +16,23 @@ export class HawkmoonRollDialog extends Dialog {
let conf = { let conf = {
title: "Test de Capacité", title: "Test de Capacité",
content: html, content: html,
buttons: { buttons: {
rolld10: { rolld10: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10", label: "Lancer 1d10",
callback: () => { this.roll("d10") } callback: () => { this.roll("d10") }
}, },
rolld20: { rolld20: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d20", label: "Lancer 1d20",
callback: () => { this.roll("d20") } callback: () => { this.roll("d20") }
}, },
cancel: { cancel: {
icon: '<i class="fas fa-times"></i>', icon: '<i class="fas fa-times"></i>',
label: "Annuler", label: "Annuler",
callback: () => { this.close() } callback: () => { this.close() }
} }, }
},
close: close close: close
} }
@@ -42,9 +43,9 @@ export class HawkmoonRollDialog extends Dialog {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
roll ( dice) { roll(dice) {
this.rollData.mainDice = dice this.rollData.mainDice = dice
HawkmoonUtility.rollHawkmoon( this.rollData ) HawkmoonUtility.rollHawkmoon(this.rollData)
} }
@@ -56,87 +57,87 @@ export class HawkmoonRollDialog extends Dialog {
function onLoad() { function onLoad() {
} }
$(function () { onLoad(); }); $(function () { onLoad(); });
html.find('#modificateur').change(async (event) => { html.find('#modificateur').change(async (event) => {
this.rollData.modificateur = Number(event.currentTarget.value) this.rollData.modificateur = Number(event.currentTarget.value)
}) })
html.find('#difficulte').change( (event) => { html.find('#difficulte').change((event) => {
console.log("Difficulte: " + event.currentTarget.value) console.log("Difficulte: " + event.currentTarget.value)
this.rollData.difficulte = Number(event.currentTarget.value) this.rollData.difficulte = Number(event.currentTarget.value)
}) })
html.find('#attrKey').change(async (event) => { html.find('#attrKey').change(async (event) => {
this.rollData.attrKey = String(event.currentTarget.value) this.rollData.attrKey = String(event.currentTarget.value)
}) })
html.find('#attrKey2').change(async (event) => { html.find('#attrKey2').change(async (event) => {
this.rollData.attrKey2 = String(event.currentTarget.value) this.rollData.attrKey2 = String(event.currentTarget.value)
}) })
html.find('#select-maitrise').change(async (event) => { html.find('#select-maitrise').change(async (event) => {
this.rollData.maitriseId = String(event.currentTarget.value) this.rollData.maitriseId = String(event.currentTarget.value)
}) })
html.find('#competence-talents').change((event) => { html.find('#competence-talents').change((event) => {
this.rollData.selectedTalents = $('#competence-talents').val() this.rollData.selectedTalents = $('#competence-talents').val()
}) })
html.find('#taille-cible').change((event) => { 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) => { 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) => { 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) => { 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) => { 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) => { 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) => { html.find('#ambidextre-1').change((event) => {
this.rollData.ambidextre1 = event.currentTarget.checked this.rollData.ambidextre1 = event.currentTarget.checked
}) })
html.find('#ambidextre-2').change((event) => { html.find('#ambidextre-2').change((event) => {
this.rollData.ambidextre2 = event.currentTarget.checked this.rollData.ambidextre2 = event.currentTarget.checked
}) })
html.find('#attaque-monte').change((event) => { html.find('#attaque-monte').change((event) => {
this.rollData.attqueMonte = event.currentTarget.checked this.rollData.attqueMonte = event.currentTarget.checked
}) })
html.find('#defenseur-aveugle').change((event) => { 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) => { 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) => { html.find('#defenseur-restreint').change((event) => {
this.rollData.defenseurRestreint = event.currentTarget.checked this.rollData.defenseurRestreint = event.currentTarget.checked
}) })
html.find('#defenseur-immobilise').change((event) => { html.find('#defenseur-immobilise').change((event) => {
this.rollData.defenseurImmobilise = event.currentTarget.checked this.rollData.defenseurImmobilise = event.currentTarget.checked
}) })
html.find('#attaque-charge').change((event) => { html.find('#attaque-charge').change((event) => {
this.rollData.attaqueCharge = event.currentTarget.checked this.rollData.attaqueCharge = event.currentTarget.checked
}) })
html.find('#charge-cavalerie').change((event) => { html.find('#charge-cavalerie').change((event) => {
this.rollData.chargeCavalerie = event.currentTarget.checked this.rollData.chargeCavalerie = event.currentTarget.checked
}) })
html.find('#attaquants-multiple').change((event) => { html.find('#attaquants-multiple').change((event) => {
this.rollData.attaquantsMultiples = event.currentTarget.checked this.rollData.attaquantsMultiples = event.currentTarget.checked
}) })
html.find('#soutiens').change((event) => { html.find('#soutiens').change((event) => {
this.rollData.soutiens = Number(event.currentTarget.value) this.rollData.soutiens = Number(event.currentTarget.value)
}) })
html.find('#feinte').change((event) => { html.find('#feinte').change((event) => {
this.rollData.feinte = event.currentTarget.checked this.rollData.feinte = event.currentTarget.checked
}) })
html.find('#contenir').change((event) => { html.find('#contenir').change((event) => {
this.rollData.contenir = event.currentTarget.checked this.rollData.contenir = event.currentTarget.checked
}) })
html.find('#attaque-desarme').change((event) => { html.find('#attaque-desarme').change((event) => {
this.rollData.attaqueDesarme = event.currentTarget.checked this.rollData.attaqueDesarme = event.currentTarget.checked
}) })
} }
} }

View File

@@ -3,10 +3,10 @@ import { HawkmoonCombat } from "./hawkmoon-combat.js";
import { HawkmoonCommands } from "./hawkmoon-commands.js"; import { HawkmoonCommands } from "./hawkmoon-commands.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const __distanceDifficulte = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14} const __distanceDifficulte = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14 }
const __tireurDeplacement = { immobile: 0, lent: 3, rapide: 5} const __tireurDeplacement = { immobile: 0, lent: 3, rapide: 5 }
const __cibleCouvert = { aucun: 0, leger: 5, complet: 10} const __cibleCouvert = { aucun: 0, leger: 5, complet: 10 }
const __tailleCible = { normal: 0, main: 10, enfant: 3, maison: -10} const __tailleCible = { normal: 0, main: 10, enfant: 3, maison: -10 }
/* -------------------------------------------- */ /* -------------------------------------------- */
export class HawkmoonUtility { export class HawkmoonUtility {
@@ -15,8 +15,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => HawkmoonUtility.chatListeners(html)) 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) => { Hooks.on("getCombatTrackerEntryContext", (html, options) => {
HawkmoonUtility.pushInitiativeOptions(html, options); HawkmoonUtility.pushInitiativeOptions(html, options);
}) })
@@ -131,7 +130,7 @@ export class HawkmoonUtility {
static createArrayOptionList(min, max) { static createArrayOptionList(min, max) {
let options = []; let options = [];
for (let i = min; i <= max; i++) { for (let i = min; i <= max; i++) {
options.push({key:`${i}`, label:`${i}`}); options.push({ key: `${i}`, label: `${i}` });
} }
return options; return options;
} }
@@ -155,7 +154,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
html.on("click", '.predilection-reroll', async event => { $(html).on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index") let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget) let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
@@ -166,14 +165,14 @@ export class HawkmoonUtility {
HawkmoonUtility.rollHawkmoon(rollData) 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 messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll") let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData) let actor = HawkmoonUtility.getActorFromRollData(rollData)
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, 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 messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll") let rollData = message.getFlag("world", "hawkmoon-roll")
@@ -181,7 +180,7 @@ export class HawkmoonUtility {
rollData.applyCoupDevastateur = true rollData.applyCoupDevastateur = true
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData) actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
}) })
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -196,7 +195,7 @@ export class HawkmoonUtility {
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html', 'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html', 'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
] ]
return loadTemplates(templatePaths); return foundry.applications.handlebars.loadTemplates(templatePaths);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -279,9 +278,13 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static onSocketMesssage(msg) { static onSocketMesssage(msg) {
if (msg.name == "msg_apply_combativite") { if (msg.msg == "msg_apply_combativite") {
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor let defender = game.canvas.tokens.get(msg.data.defenderTokenId)?.actor
defender.changeEtatCombativite(msg.data.value) if (defender) {
defender.changeEtatCombativite(msg.data.value)
} else {
console.warn("HawkmoonUtility.onSocketMesssage : Impossible de trouver le token pour appliquer la combativité", msg.defenderTokenId)
}
} }
} }
@@ -355,17 +358,22 @@ export class HawkmoonUtility {
} }
} }
//console.log("Result : ", rollData) //console.log("Result : ", rollData
this.computeResultQuality(rollData)
}
/* -------------------------------------------- */
static computeResultQuality(rollData) {
if (rollData.difficulte > 0 && !rollData.isDramatique) { if (rollData.difficulte > 0 && !rollData.isDramatique) {
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte) rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10) rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10) rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyCombativite(rollData, value) { static applyCombativite(rollData, value) {
if (game.user.isGM) { if (game.user.isGM) {
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
defender.changeEtatCombativite(value) defender.changeEtatCombativite(value)
} else { } else {
@@ -399,7 +407,7 @@ export class HawkmoonUtility {
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections || []) rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections || [])
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0 let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}` rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
if (rollData.selectedTalents && rollData.selectedTalents.length > 0) { if (rollData.selectedTalents && rollData.selectedTalents.length > 0) {
for (let id of rollData.selectedTalents) { for (let id of rollData.selectedTalents) {
let talent = rollData.talents.find(t => t._id == id) let talent = rollData.talents.find(t => t._id == id)
@@ -423,7 +431,7 @@ export class HawkmoonUtility {
} else { } else {
rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}` rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}`
} }
// Bonus arme naturelle en défense // Bonus arme naturelle en défense
if (rollData.bonusArmeNaturelle) { if (rollData.bonusArmeNaturelle) {
rollData.diceFormula += `+${rollData.bonusArmeNaturelle}` rollData.diceFormula += `+${rollData.bonusArmeNaturelle}`
@@ -432,10 +440,10 @@ export class HawkmoonUtility {
rollData.diceFormula += `+3` rollData.diceFormula += `+3`
} }
if (rollData.hasAmbidextre) { if (rollData.hasAmbidextre) {
if ( rollData.attaqueAmbidextre1) { if (rollData.ambidextre1) {
rollData.diceFormula += `-3` rollData.diceFormula += `-3`
} else if ( rollData.attaqueAmbidextre2) { } else if (rollData.ambidextre2) {
rollData.diceFormula += `-5` rollData.diceFormula += `-6`
} }
} }
if (rollData.defenseurAuSol) { if (rollData.defenseurAuSol) {
@@ -454,7 +462,7 @@ export class HawkmoonUtility {
rollData.diceFormula += `+5` rollData.diceFormula += `+5`
} }
if (rollData.soutiens > 0) { // 1 soutien = +3, 2 soutiens = +4, 3 soutiens = +5 if (rollData.soutiens > 0) { // 1 soutien = +3, 2 soutiens = +4, 3 soutiens = +5
rollData.diceFormula += `+${rollData.soutiens+2}` rollData.diceFormula += `+${rollData.soutiens + 2}`
} }
if (rollData.arme?.system.isDistance) { if (rollData.arme?.system.isDistance) {
@@ -469,16 +477,16 @@ export class HawkmoonUtility {
if (rollData.attaqueDesarme) { if (rollData.attaqueDesarme) {
rollData.difficulte += 10 rollData.difficulte += 10
} }
// Ajout adversités // Ajout adversités
rollData.diceFormula += `-${rollData.nbAdversites}` rollData.diceFormula += `-${rollData.nbAdversites}`
if (rollData.arme && rollData.arme.type == "arme") { if (rollData.arme && rollData.arme.type == "arme") {
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}` rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
} }
// Gestion de la feinte éventuelle // Gestion de la feinte éventuelle
rollData.nbCombativitePerdu = 1 rollData.nbCombativitePerdu = 1
let myRoll = await new Roll(rollData.diceFormula).roll() let myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
@@ -492,18 +500,18 @@ export class HawkmoonUtility {
} }
if (rollData.feinte) { if (rollData.feinte) {
actor.changeBonneAventure(-1) actor.changeBonneAventure(-1)
if ( rollData.isHeroique) { if (rollData.isHeroique) {
rollData.nbCombativitePerdu = "vaincu" rollData.nbCombativitePerdu = "vaincu"
} else if ( rollData.isSuccess) { } else if (rollData.isSuccess) {
rollData.nbCombativitePerdu = 2 rollData.nbCombativitePerdu = 2
} }
} }
this.createChatWithRollMode(rollData.alias, { 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) }, rollData)
if ( (rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) { if ((rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
this.applyCombativite(rollData, rollData.nbCombativitePerdu) this.applyCombativite(rollData, rollData.nbCombativitePerdu)
} }
if (rollData.coupBas && rollData.isSuccess && rollData.defenderTokenId) { if (rollData.coupBas && rollData.isSuccess && rollData.defenderTokenId) {
@@ -514,30 +522,35 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static getCombativiteList(nbActivite) { static getCombativiteList(nbActivite) {
let list = [ { value: String(0), label: "Combatif"}] let list = [{ value: String(0), label: "Combatif" }]
for (let i = 1; i < nbActivite-2; i++) { for (let i = 1; i < nbActivite - 2; i++) {
list.push({ value: String(i), label:"Eprouvé " + i} ) list.push({ value: String(i), label: "Eprouvé " + i })
} }
list[nbActivite-2] = { value: String(nbActivite-2), label:"Affaibli"} list[nbActivite - 2] = { value: String(nbActivite - 2), label: "Affaibli" }
list[nbActivite-1] = { value: String(nbActivite-1), label:"Très Affaibli"} list[nbActivite - 1] = { value: String(nbActivite - 1), label: "Très Affaibli" }
list[nbActivite] = { value: String(nbActivite), label:"Vaincu"} list[nbActivite] = { value: String(nbActivite), label: "Vaincu" }
return list return list
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static async bonusRollHawkmoon(rollData) { static async bonusRollHawkmoon(rollData) {
rollData.bonusFormula = rollData.addedBonus rollData.bonusFormula = rollData.addedBonus
console.log("Bonus Roll Hawkmoon", rollData.bonusFormula)
let bonusRoll = await new Roll(rollData.bonusFormula).roll() if (!Number(rollData.bonusFormula)) {
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode")); let bonusRoll = await new Roll(rollData.bonusFormula).roll()
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll) await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
rollData.finalResult += Number(rollData.bonusRoll.total)
} else {
rollData.finalResult += Number(rollData.bonusFormula)
console.log("Bonus Roll Hawkmoon 2", rollData.finalResult)
}
rollData.finalResult += rollData.bonusRoll.total this.computeResultQuality(rollData)
this.computeResult(rollData)
this.createChatWithRollMode(rollData.alias, { 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) }, rollData)
} }
@@ -647,11 +660,11 @@ export class HawkmoonUtility {
distanceTir: "porteemoyenne", distanceTir: "porteemoyenne",
attaqueCharge: false, attaqueCharge: false,
attaqueDesarme: false, attaqueDesarme: false,
attaqueAmbidextre1 : false, attaqueAmbidextre1: false,
attaqueAmbidextre2 : false, attaqueAmbidextre2: false,
chargeCavalerie : false, chargeCavalerie: false,
contenir : false, contenir: false,
soutiens : 0 soutiens: 0
} }
return rollData return rollData
} }
@@ -663,6 +676,7 @@ export class HawkmoonUtility {
rollData.defenderTokenId = target.id rollData.defenderTokenId = target.id
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
rollData.armeDefense = defender.getBestDefenseValue() rollData.armeDefense = defender.getBestDefenseValue()
rollData.armeAttaqueDefenseur = defender.getBestAttackValue()
rollData.targetVigueur = defender.getVigueur() rollData.targetVigueur = defender.getVigueur()
rollData.protectionDefenseur = defender.getProtection() rollData.protectionDefenseur = defender.getProtection()
if (rollData.immobiliser || rollData.repousser) { if (rollData.immobiliser || rollData.repousser) {
@@ -671,11 +685,13 @@ export class HawkmoonUtility {
} else if (rollData.coupBas) { } else if (rollData.coupBas) {
let combatValues = defender.getCombatValues() let combatValues = defender.getCombatValues()
rollData.difficulte = combatValues.defenseTotal rollData.difficulte = combatValues.defenseTotal
}else if ( rollData.assomer) { } else if (rollData.assomer) {
rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2) rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2)
} else if (rollData.desengager) {
rollData.difficulte = rollData.armeAttaqueDefenseur?.system?.totalOffensif || 0;
} else if (rollData.armeDefense) { } else if (rollData.armeDefense) {
rollData.difficulte = rollData.armeDefense.system.totalDefensif rollData.difficulte = rollData.armeDefense.system.totalDefensif
if ( !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune ){ if (!rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune) {
if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) { if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) {
rollData.bonusArmeNaturelle = 3 rollData.bonusArmeNaturelle = 3
} }
@@ -693,7 +709,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyBonneAventureRoll(li, changed, addedBonus) { static applyBonneAventureRoll(li, changed, addedBonus) {
let msgId = li.data("message-id") let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll") let rollData = msg.getFlag("world", "hawkmoon-roll")
@@ -712,7 +728,7 @@ export class HawkmoonUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyEclatRoll(li, changed, addedBonus) { static applyEclatRoll(li, changed, addedBonus) {
let msgId = li.data("message-id") let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll") let rollData = msg.getFlag("world", "hawkmoon-roll")
@@ -733,13 +749,13 @@ export class HawkmoonUtility {
static chatRollMenu(html, options) { static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".hawkmoon-roll").length let canApply = li => canvas.tokens.controlled.length && li.find(".hawkmoon-roll").length
let canApplyBA = function (li) { 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 rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData) let actor = HawkmoonUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0) return (!rollData.isReroll && actor.getBonneAventure() > 0)
} }
let canApplyPE = function (li) { 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 rollData = message.getFlag("world", "hawkmoon-roll")
let actor = HawkmoonUtility.getActorFromRollData(rollData) let actor = HawkmoonUtility.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0) return (!rollData.isReroll && actor.getEclat() > 0)
@@ -765,7 +781,7 @@ export class HawkmoonUtility {
name: "Relancer le dé (1 point d'Eclat)", name: "Relancer le dé (1 point d'Eclat)",
icon: "<i class='fas fa-user-plus'></i>", icon: "<i class='fas fa-user-plus'></i>",
condition: canApply && canApplyPE, condition: canApply && canApplyPE,
callback: li => HawkmoonUtility.applyEclatRoll(li, -3, "reroll") callback: li => HawkmoonUtility.applyEclatRoll(li, -1, "reroll")
} }
) )
return options return options

View File

@@ -1 +1 @@
MANIFEST-000213 MANIFEST-000329

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.194842 7f28a4c006c0 Recovering log #211 2025/11/21-21:17:11.288531 7f34ccff96c0 Recovering log #327
2024/06/01-08:52:45.205284 7f28a4c006c0 Delete type=3 #209 2025/11/21-21:17:11.303357 7f34ccff96c0 Delete type=3 #325
2024/06/01-08:52:45.205352 7f28a4c006c0 Delete type=0 #211 2025/11/21-21:17:11.303441 7f34ccff96c0 Delete type=0 #327
2024/06/01-09:10:33.808591 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.182000 7f322ffff6c0 Level-0 table #332: started
2024/06/01-09:10:33.808615 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.182040 7f322ffff6c0 Level-0 table #332: 0 bytes OK
2024/06/01-09:10:33.814886 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.189103 7f322ffff6c0 Delete type=0 #330
2024/06/01-09:10:33.815181 7f289f8006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.199156 7f322ffff6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.815226 7f289f8006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.220809 7f322ffff6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.991898 7f18090006c0 Recovering log #207 2025/10/26-15:18:50.824844 7f058d1fa6c0 Recovering log #323
2024/05/31-23:16:46.046753 7f18090006c0 Delete type=3 #205 2025/10/26-15:18:50.834381 7f058d1fa6c0 Delete type=3 #321
2024/05/31-23:16:46.046809 7f18090006c0 Delete type=0 #207 2025/10/26-15:18:50.834446 7f058d1fa6c0 Delete type=0 #323
2024/05/31-23:25:37.384266 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.999570 7f0586bff6c0 Level-0 table #328: started
2024/05/31-23:25:37.384313 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.999597 7f0586bff6c0 Level-0 table #328: 0 bytes OK
2024/05/31-23:25:37.390630 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:38.035738 7f0586bff6c0 Delete type=0 #326
2024/05/31-23:25:37.403867 7f18020006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) 2025/10/26-15:36:38.190124 7f0586bff6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.403898 7f18020006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) 2025/10/26-15:36:38.190183 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.038253 7f28a56006c0 Recovering log #211 2025/11/21-21:17:11.119952 7f34cd7fa6c0 Recovering log #326
2024/06/01-08:52:45.049363 7f28a56006c0 Delete type=3 #209 2025/11/21-21:17:11.135840 7f34cd7fa6c0 Delete type=3 #324
2024/06/01-08:52:45.049432 7f28a56006c0 Delete type=0 #211 2025/11/21-21:17:11.135940 7f34cd7fa6c0 Delete type=0 #326
2024/06/01-09:10:33.725130 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.115063 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.725172 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.115090 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.731955 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.121038 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.753233 7f289f8006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121241 7f322ffff6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.753281 7f289f8006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121271 7f322ffff6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.511332 7f1803e006c0 Recovering log #207 2025/10/26-15:18:50.724903 7f05877fe6c0 Recovering log #322
2024/05/31-23:16:45.571770 7f1803e006c0 Delete type=3 #205 2025/10/26-15:18:50.734667 7f05877fe6c0 Delete type=3 #320
2024/05/31-23:16:45.571914 7f1803e006c0 Delete type=0 #207 2025/10/26-15:18:50.734726 7f05877fe6c0 Delete type=0 #322
2024/05/31-23:25:37.338949 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.786399 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.338972 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.786438 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.345723 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.828201 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.358156 7f18020006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860961 7f0586bff6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.358188 7f18020006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860990 7f0586bff6c0 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-000328 Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.010642 7f28a56006c0 Recovering log #211 2025/11/21-21:17:11.082663 7f34ccff96c0 Recovering log #326
2024/06/01-08:52:45.021246 7f28a56006c0 Delete type=3 #209 2025/11/21-21:17:11.097415 7f34ccff96c0 Delete type=3 #324
2024/06/01-08:52:45.021304 7f28a56006c0 Delete type=0 #211 2025/11/21-21:17:11.097522 7f34ccff96c0 Delete type=0 #326
2024/06/01-09:10:33.739501 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.082672 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.739525 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.082698 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.745719 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.088631 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.753252 7f289f8006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094927 7f322ffff6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.753274 7f289f8006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094971 7f322ffff6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.399504 7f1803e006c0 Recovering log #207 2025/10/26-15:18:50.698736 7f058c9f96c0 Recovering log #322
2024/05/31-23:16:45.453251 7f1803e006c0 Delete type=3 #205 2025/10/26-15:18:50.709788 7f058c9f96c0 Delete type=3 #320
2024/05/31-23:16:45.453307 7f1803e006c0 Delete type=0 #207 2025/10/26-15:18:50.709858 7f058c9f96c0 Delete type=0 #322
2024/05/31-23:25:37.324970 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.564245 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.324998 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.564294 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.332256 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.604220 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.332486 7f18020006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.709945 7f0586bff6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.332520 7f18020006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.709995 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:44.981269 7f28a56006c0 Recovering log #211 2025/11/21-21:17:11.044217 7f34ce7fc6c0 Recovering log #326
2024/06/01-08:52:44.991052 7f28a56006c0 Delete type=3 #209 2025/11/21-21:17:11.059351 7f34ce7fc6c0 Delete type=3 #324
2024/06/01-08:52:44.991117 7f28a56006c0 Delete type=0 #211 2025/11/21-21:17:11.059409 7f34ce7fc6c0 Delete type=0 #326
2024/06/01-09:10:33.708570 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.076024 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.708600 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.076057 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.714914 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.082546 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.724977 7f289f8006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094915 7f322ffff6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.725013 7f289f8006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094962 7f322ffff6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.284662 7f1803e006c0 Recovering log #207 2025/10/26-15:18:50.672996 7f058d1fa6c0 Recovering log #322
2024/05/31-23:16:45.346436 7f1803e006c0 Delete type=3 #205 2025/10/26-15:18:50.683402 7f058d1fa6c0 Delete type=3 #320
2024/05/31-23:16:45.346487 7f1803e006c0 Delete type=0 #207 2025/10/26-15:18:50.683496 7f058d1fa6c0 Delete type=0 #322
2024/05/31-23:25:37.311914 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.604372 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.311964 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.604409 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.318352 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.638938 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.324962 7f18020006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.709963 7f0586bff6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.332453 7f18020006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.710002 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.066668 7f28a56006c0 Recovering log #211 2025/11/21-21:17:11.157103 7f34ce7fc6c0 Recovering log #326
2024/06/01-08:52:45.076940 7f28a56006c0 Delete type=3 #209 2025/11/21-21:17:11.172875 7f34ce7fc6c0 Delete type=3 #324
2024/06/01-08:52:45.077005 7f28a56006c0 Delete type=0 #211 2025/11/21-21:17:11.172939 7f34ce7fc6c0 Delete type=0 #326
2024/06/01-09:10:33.759841 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.095092 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.759880 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.095126 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.766395 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.102295 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.780130 7f289f8006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121183 7f322ffff6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.780228 7f289f8006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121249 7f322ffff6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.631063 7f1803e006c0 Recovering log #207 2025/10/26-15:18:50.749067 7f058d1fa6c0 Recovering log #322
2024/05/31-23:16:45.684522 7f1803e006c0 Delete type=3 #205 2025/10/26-15:18:50.759273 7f058d1fa6c0 Delete type=3 #320
2024/05/31-23:16:45.684659 7f1803e006c0 Delete type=0 #207 2025/10/26-15:18:50.759337 7f058d1fa6c0 Delete type=0 #322
2024/05/31-23:25:37.351886 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.743796 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.351907 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.743858 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.358042 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.786277 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.358174 7f18020006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860948 7f0586bff6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.358195 7f18020006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860984 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.024483 7f28a4c006c0 Recovering log #211 2025/11/21-21:17:11.100312 7f34ce7fc6c0 Recovering log #326
2024/06/01-08:52:45.034690 7f28a4c006c0 Delete type=3 #209 2025/11/21-21:17:11.117500 7f34ce7fc6c0 Delete type=3 #324
2024/06/01-08:52:45.034811 7f28a4c006c0 Delete type=0 #211 2025/11/21-21:17:11.117567 7f34ce7fc6c0 Delete type=0 #326
2024/06/01-09:10:33.745840 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.069446 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.745862 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.069505 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.753113 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.075899 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.753288 7f289f8006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094892 7f322ffff6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.753311 7f289f8006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094951 7f322ffff6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.455012 7f18090006c0 Recovering log #207 2025/10/26-15:18:50.712053 7f058d1fa6c0 Recovering log #322
2024/05/31-23:16:45.509581 7f18090006c0 Delete type=3 #205 2025/10/26-15:18:50.722592 7f058d1fa6c0 Delete type=3 #320
2024/05/31-23:16:45.509640 7f18090006c0 Delete type=0 #207 2025/10/26-15:18:50.722674 7f058d1fa6c0 Delete type=0 #322
2024/05/31-23:25:37.332626 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.639047 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.332674 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.639075 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.338836 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.675760 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.358145 7f18020006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.709975 7f0586bff6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.358181 7f18020006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.710009 7f0586bff6c0 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-000123 MANIFEST-000238

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:44.995929 7f28a4c006c0 Recovering log #121 2025/11/21-21:17:11.062660 7f34cdffb6c0 Recovering log #236
2024/06/01-08:52:45.006711 7f28a4c006c0 Delete type=3 #119 2025/11/21-21:17:11.079663 7f34cdffb6c0 Delete type=3 #234
2024/06/01-08:52:45.006811 7f28a4c006c0 Delete type=0 #121 2025/11/21-21:17:11.079731 7f34cdffb6c0 Delete type=0 #236
2024/06/01-09:10:33.732066 7f289f8006c0 Level-0 table #126: started 2025/11/21-21:20:34.088817 7f322ffff6c0 Level-0 table #241: started
2024/06/01-09:10:33.732091 7f289f8006c0 Level-0 table #126: 0 bytes OK 2025/11/21-21:20:34.088856 7f322ffff6c0 Level-0 table #241: 0 bytes OK
2024/06/01-09:10:33.739395 7f289f8006c0 Delete type=0 #124 2025/11/21-21:20:34.094750 7f322ffff6c0 Delete type=0 #239
2024/06/01-09:10:33.753244 7f289f8006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094940 7f322ffff6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.753267 7f289f8006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.094980 7f322ffff6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.348077 7f18090006c0 Recovering log #117 2025/10/26-15:18:50.686224 7f0587fff6c0 Recovering log #232
2024/05/31-23:16:45.396965 7f18090006c0 Delete type=3 #115 2025/10/26-15:18:50.696079 7f0587fff6c0 Delete type=3 #230
2024/05/31-23:16:45.397017 7f18090006c0 Delete type=0 #117 2025/10/26-15:18:50.696162 7f0587fff6c0 Delete type=0 #232
2024/05/31-23:25:37.318478 7f18020006c0 Level-0 table #122: started 2025/10/26-15:36:37.675951 7f0586bff6c0 Level-0 table #237: started
2024/05/31-23:25:37.318502 7f18020006c0 Level-0 table #122: 0 bytes OK 2025/10/26-15:36:37.676003 7f0586bff6c0 Level-0 table #237: 0 bytes OK
2024/05/31-23:25:37.324829 7f18020006c0 Delete type=0 #120 2025/10/26-15:36:37.709795 7f0586bff6c0 Delete type=0 #235
2024/05/31-23:25:37.332435 7f18020006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.709986 7f0586bff6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.332503 7f18020006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.710016 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.081166 7f28a4c006c0 Recovering log #211 2025/11/21-21:17:11.175622 7f34cd7fa6c0 Recovering log #326
2024/06/01-08:52:45.092578 7f28a4c006c0 Delete type=3 #209 2025/11/21-21:17:11.190667 7f34cd7fa6c0 Delete type=3 #324
2024/06/01-08:52:45.092718 7f28a4c006c0 Delete type=0 #211 2025/11/21-21:17:11.190757 7f34cd7fa6c0 Delete type=0 #326
2024/06/01-09:10:33.753373 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.109081 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.753450 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.109106 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.759664 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.114933 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.780095 7f289f8006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121229 7f322ffff6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.780182 7f289f8006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121264 7f322ffff6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.686951 7f18090006c0 Recovering log #207 2025/10/26-15:18:50.761639 7f05877fe6c0 Recovering log #322
2024/05/31-23:16:45.748560 7f18090006c0 Delete type=3 #205 2025/10/26-15:18:50.771506 7f05877fe6c0 Delete type=3 #320
2024/05/31-23:16:45.748697 7f18090006c0 Delete type=0 #207 2025/10/26-15:18:50.771562 7f05877fe6c0 Delete type=0 #322
2024/05/31-23:25:37.358272 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.710125 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.358380 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.710175 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.364928 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.743520 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.384137 7f18020006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860930 7f0586bff6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.384177 7f18020006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860978 7f0586bff6c0 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-000213 MANIFEST-000328

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.052999 7f28a4c006c0 Recovering log #211 2025/11/21-21:17:11.139151 7f34cdffb6c0 Recovering log #326
2024/06/01-08:52:45.063160 7f28a4c006c0 Delete type=3 #209 2025/11/21-21:17:11.154714 7f34cdffb6c0 Delete type=3 #324
2024/06/01-08:52:45.063223 7f28a4c006c0 Delete type=0 #211 2025/11/21-21:17:11.154795 7f34cdffb6c0 Delete type=0 #326
2024/06/01-09:10:33.766646 7f289f8006c0 Level-0 table #216: started 2025/11/21-21:20:34.102428 7f322ffff6c0 Level-0 table #331: started
2024/06/01-09:10:33.766703 7f289f8006c0 Level-0 table #216: 0 bytes OK 2025/11/21-21:20:34.102452 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2024/06/01-09:10:33.773730 7f289f8006c0 Delete type=0 #214 2025/11/21-21:20:34.108966 7f322ffff6c0 Delete type=0 #329
2024/06/01-09:10:33.780150 7f289f8006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121216 7f322ffff6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.780197 7f289f8006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.121256 7f322ffff6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.574393 7f18090006c0 Recovering log #207 2025/10/26-15:18:50.736841 7f058c9f96c0 Recovering log #322
2024/05/31-23:16:45.628695 7f18090006c0 Delete type=3 #205 2025/10/26-15:18:50.746818 7f058c9f96c0 Delete type=3 #320
2024/05/31-23:16:45.628831 7f18090006c0 Delete type=0 #207 2025/10/26-15:18:50.746894 7f058c9f96c0 Delete type=0 #322
2024/05/31-23:25:37.345824 7f18020006c0 Level-0 table #212: started 2025/10/26-15:36:37.828362 7f0586bff6c0 Level-0 table #327: started
2024/05/31-23:25:37.345846 7f18020006c0 Level-0 table #212: 0 bytes OK 2025/10/26-15:36:37.828487 7f0586bff6c0 Level-0 table #327: 0 bytes OK
2024/05/31-23:25:37.351766 7f18020006c0 Delete type=0 #210 2025/10/26-15:36:37.860797 7f0586bff6c0 Delete type=0 #325
2024/05/31-23:25:37.358165 7f18020006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860970 7f0586bff6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.358202 7f18020006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.860996 7f0586bff6c0 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.

Binary file not shown.

BIN
packs/scenes/000114.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000049 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/06/01-08:52:45.179473 7f28a4c006c0 Recovering log #47 2025/11/21-21:17:11.269484 7f34cdffb6c0 Recovering log #165
2024/06/01-08:52:45.189293 7f28a4c006c0 Delete type=3 #45 2025/11/21-21:17:11.284464 7f34cdffb6c0 Delete type=3 #163
2024/06/01-08:52:45.189391 7f28a4c006c0 Delete type=0 #47 2025/11/21-21:17:11.284524 7f34cdffb6c0 Delete type=0 #165
2024/06/01-09:10:33.793989 7f289f8006c0 Level-0 table #52: started 2025/11/21-21:20:34.145250 7f322ffff6c0 Level-0 table #170: started
2024/06/01-09:10:33.794013 7f289f8006c0 Level-0 table #52: 0 bytes OK 2025/11/21-21:20:34.145279 7f322ffff6c0 Level-0 table #170: 0 bytes OK
2024/06/01-09:10:33.800365 7f289f8006c0 Delete type=0 #50 2025/11/21-21:20:34.151544 7f322ffff6c0 Delete type=0 #168
2024/06/01-09:10:33.808253 7f289f8006c0 Manual compaction at level-0 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.151702 7f322ffff6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2024/06/01-09:10:33.808287 7f289f8006c0 Manual compaction at level-1 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.164154 7f322ffff6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/05/31-23:16:45.930564 7f18090006c0 Recovering log #43 2025/10/26-15:18:50.811691 7f0587fff6c0 Recovering log #161
2024/05/31-23:16:45.989362 7f18090006c0 Delete type=3 #41 2025/10/26-15:18:50.821681 7f0587fff6c0 Delete type=3 #159
2024/05/31-23:16:45.989419 7f18090006c0 Delete type=0 #43 2025/10/26-15:18:50.821761 7f0587fff6c0 Delete type=0 #161
2024/05/31-23:25:37.390761 7f18020006c0 Level-0 table #48: started 2025/10/26-15:36:37.961254 7f0586bff6c0 Level-0 table #166: started
2024/05/31-23:25:37.390789 7f18020006c0 Level-0 table #48: 0 bytes OK 2025/10/26-15:36:37.961290 7f0586bff6c0 Level-0 table #166: 0 bytes OK
2024/05/31-23:25:37.397622 7f18020006c0 Delete type=0 #46 2025/10/26-15:36:37.999333 7f0586bff6c0 Delete type=0 #164
2024/05/31-23:25:37.403881 7f18020006c0 Manual compaction at level-0 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.999500 7f0586bff6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2024/05/31-23:25:37.403914 7f18020006c0 Manual compaction at level-1 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end) 2025/10/26-15:36:37.999534 7f0586bff6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000212 MANIFEST-000324

View File

@@ -1,7 +1,7 @@
2024/06/01-08:52:45.165393 7f28a56006c0 Recovering log #210 2025/11/21-21:17:11.238038 7f34ccff96c0 Recovering log #322
2024/06/01-08:52:45.176172 7f28a56006c0 Delete type=3 #208 2025/11/21-21:17:11.266542 7f34ccff96c0 Delete type=3 #320
2024/06/01-08:52:45.176343 7f28a56006c0 Delete type=0 #210 2025/11/21-21:17:11.266608 7f34ccff96c0 Delete type=0 #322
2024/06/01-09:10:33.780315 7f289f8006c0 Level-0 table #215: started 2025/11/21-21:20:34.138228 7f322ffff6c0 Level-0 table #327: started
2024/06/01-09:10:33.780380 7f289f8006c0 Level-0 table #215: 0 bytes OK 2025/11/21-21:20:34.138262 7f322ffff6c0 Level-0 table #327: 0 bytes OK
2024/06/01-09:10:33.787374 7f289f8006c0 Delete type=0 #213 2025/11/21-21:20:34.145084 7f322ffff6c0 Delete type=0 #325
2024/06/01-09:10:33.808232 7f289f8006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2025/11/21-21:20:34.151692 7f322ffff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

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