Compare commits

...

8 Commits

68 changed files with 247 additions and 267 deletions

View File

@@ -1,3 +1,8 @@
v12.0.0
- Support Foundry v11/v12
- Correction sur le niveau de jeu par défaut
v11.0.39 v11.0.39
- Modification sur la prise en compte des traits en bonus/malus - Modification sur la prise en compte des traits en bonus/malus

View File

@@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeActorSheet extends ActorSheet { export class EcrymeActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -53,9 +53,9 @@ export class EcrymeActorSheet extends ActorSheet {
cephalySkills: this.actor.getCephalySkills(), cephalySkills: this.actor.getCephalySkills(),
subActors: foundry.utils.duplicate(this.actor.getSubActors()), subActors: foundry.utils.duplicate(this.actor.getSubActors()),
annency: this.actor.getAnnency(), annency: this.actor.getAnnency(),
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 }),
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, { async: true }), notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.notes, { async: true }),
equipementlibre: await TextEditor.enrichHTML(this.object.system.equipmentfree, { async: true }), equipementlibre: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.equipmentfree, { async: true }),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,

View File

@@ -449,6 +449,7 @@ export class EcrymeActor extends Actor {
rollData.applyTranscendence = "execution" rollData.applyTranscendence = "execution"
rollData.traitsBonus = foundry.utils.duplicate(rollData.traits) rollData.traitsBonus = foundry.utils.duplicate(rollData.traits)
rollData.traitsMalus = foundry.utils.duplicate(rollData.traits) rollData.traitsMalus = foundry.utils.duplicate(rollData.traits)
console.log("ROLLDATA", rollData)
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData) let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
confrontStartDialog.render(true) confrontStartDialog.render(true)
} }

View File

@@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeAnnencySheet extends ActorSheet { export class EcrymeAnnencySheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {

View File

@@ -10,14 +10,14 @@ export const ECRYME_CONFIG = {
"melee": "ECRY.ui.melee", "melee": "ECRY.ui.melee",
"ranged": "ECRY.ui.ranged" "ranged": "ECRY.ui.ranged"
}, },
traitLevel: [ traitLevel: {
{value: -3, text: "-3"}, "-3":{value: "-3", text: "-3"},
{value: -2, text: "-2"}, "-2":{value: "-2", text: "-2"},
{value: -1, text: "-1"}, "-1":{value: "-1", text: "-1"},
{value: +1, text: "+1"}, "+1":{value: "+1", text: "+1"},
{value: +2, text: "+2"}, "+2":{value: "+2", text: "+2"},
{value: +3, text: "+3"} "+3":{value: "+3", text: "+3"}
], },
impactTypes: { impactTypes: {
physical: "ECRY.ui.physical", physical: "ECRY.ui.physical",
mental: "ECRY.ui.mental", mental: "ECRY.ui.mental",
@@ -30,7 +30,7 @@ export const ECRYME_CONFIG = {
major: "ECRY.ui.major" major: "ECRY.ui.major"
}, },
difficulty: { difficulty: {
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-"}, "-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-1"},
"8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 }, "8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 },
"10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 }, "10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 },
"12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 }, "12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 },
@@ -60,17 +60,16 @@ export const ECRYME_CONFIG = {
}, },
transcendanceOptions: { transcendanceOptions: {
"execution": "ECRY.ui.execution", "execution": "ECRY.ui.execution",
"preservation": "EC,RY.ui.preservation" "preservation": "ECRY.ui.preservation"
}, },
bonusMalusPersoOptions: [ bonusMalusPersoOptions: {
{value: "-3", label: "-3"}, "-3": {value: "-3", label: "-3"},
{value: "-2", label: "-2"}, "-2": {value: "-2", label: "-2"},
{value: "-1", label: "-1"}, "-1": {value: "-1", label: "-1"},
{value: "0", label: "0"}, "0": {value: "0", label: "0"},
{value: "+1", label: "+1"}, "+1": {value: "1", label: "+1"},
{value: "+2", label: "+2"}, "+2": {value: "2", label: "+2"},
{value: "+3", label: "+3"} "+3": {value: "3", label: "+3"}
] }
} }

View File

@@ -36,7 +36,7 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html)); Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html));
Hooks.on("getChatLogEntryContext", (html, options) => EcrymeUtility.chatMenuManager(html, options)); Hooks.on("getChatMessageContextOptions", (html, options) => EcrymeUtility.chatMenuManager(html, options));
this.rollDataStore = {} this.rollDataStore = {}
this.defenderStore = {} this.defenderStore = {}
@@ -216,7 +216,7 @@ export class EcrymeUtility {
confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation)) confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation))
} }
if (confront.marginPreservation > 0) { if (confront.marginPreservation > 0) {
confront.bonus1 = -confront.marginPreservation confront.bonus1 = confront.marginPreservation
} }
let msg = await this.createChatWithRollMode(this.confrontData1.alias, { let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
@@ -273,20 +273,17 @@ export class EcrymeUtility {
let canTranscendRoll = [] let canTranscendRoll = []
for (let i = 1; i <= 10; i++) { for (let i = 1; i <= 10; i++) {
canTranscendRoll[i] = function (li) { canTranscendRoll[i] = 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", "rolldata") let rollData = message.getFlag("world", "rolldata")
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData) //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData)
if (rollData.skill && rollData.skill.value >= i && !rollData.transcendUsed && rollData.spec) { return (rollData?.skill?.value >= i && !rollData.transcendUsed && rollData.spec)
return true
}
return false
} }
options.push({ options.push({
name: game.i18n.localize("ECRY.chat.spectranscend") + i, name: game.i18n.localize("ECRY.chat.spectranscend") + i,
icon: '<i class="fas fa-plus-square"></i>', icon: '<i class="fas fa-plus-square"></i>',
condition: canTranscendRoll[i], condition: canTranscendRoll[i],
callback: li => { callback: 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", "rolldata") let rollData = message.getFlag("world", "rolldata")
EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend") EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend")
} }
@@ -297,27 +294,27 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
html.on("click", '.button-select-confront', event => { $(html).on("click", '.button-select-confront', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "ecryme-rolldata") let rollData = message.getFlag("world", "ecryme-rolldata")
ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect")) ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect"))
EcrymeUtility.manageConfrontation(rollData) EcrymeUtility.manageConfrontation(rollData)
}) })
html.on("click", '.button-apply-cephaly-difficulty', event => { $(html).on("click", '.button-apply-cephaly-difficulty', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "ecryme-rolldata") let rollData = message.getFlag("world", "ecryme-rolldata")
let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val() let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val()
EcrymeUtility.manageCephalyDifficulty(rollData, difficulty) EcrymeUtility.manageCephalyDifficulty(rollData, difficulty)
}) })
html.on("click", '.button-apply-impact', event => { $(html).on("click", '.button-apply-impact', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let actor = game.actors.get($(event.currentTarget).data("actor-id")) let actor = game.actors.get($(event.currentTarget).data("actor-id"))
actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1) actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1)
}) })
html.on("click", '.button-apply-bonus', event => { $(html).on("click", '.button-apply-bonus', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let actor = game.actors.get($(event.currentTarget).data("actor-id")) let actor = game.actors.get($(event.currentTarget).data("actor-id"))
@@ -339,7 +336,7 @@ export class EcrymeUtility {
'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs', 'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs',
'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs', 'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs',
] ]
return loadTemplates(templatePaths); return foundry.applications.handlebars.loadTemplates(templatePaths);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -558,7 +555,7 @@ export class EcrymeUtility {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
// Fix difficulty // Fix difficulty
if (!rollData.difficulty || rollData.difficulty == "-") { if (!rollData.difficulty || rollData.difficulty == "-1") {
rollData.difficulty = 0 rollData.difficulty = 0
} }
rollData.difficulty = Number(rollData.difficulty) rollData.difficulty = Number(rollData.difficulty)
@@ -575,7 +572,7 @@ export class EcrymeUtility {
this.computeResults(rollData) this.computeResults(rollData)
let msg = await this.createChatWithRollMode(rollData.alias, { let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
}) })
await msg.setFlag("world", "ecryme-rolldata", rollData) await msg.setFlag("world", "ecryme-rolldata", rollData)
console.log("Rolldata result", rollData) console.log("Rolldata result", rollData)
@@ -685,14 +682,14 @@ export class EcrymeUtility {
let rollData = { let rollData = {
rollId: foundry.utils.randomID(16), rollId: foundry.utils.randomID(16),
type: "roll-data", type: "roll-data",
bonusMalusPerso: 0, bonusMalusPerso: "0",
bonusMalusSituation: 0, bonusMalusSituation: 0,
bonusMalusDef: 0, bonusMalusDef: 0,
annencyBonus: 0, annencyBonus: 0,
bonusMalusPortee: 0, bonusMalusPortee: 0,
skillTranscendence: 0, skillTranscendence: 0,
rollMode: game.settings.get("core", "rollMode"), rollMode: game.settings.get("core", "rollMode"),
difficulty: "-", difficulty: "-1",
useSpleen: false, useSpleen: false,
useIdeal: false, useIdeal: false,
impactMalus: 0, impactMalus: 0,

View File

@@ -12,7 +12,7 @@ export class EcrymeConfrontDialog extends Dialog {
width: 620, height: 'fit-content', 'z-index': 99999 width: 620, height: 'fit-content', 'z-index': 99999
}); });
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData);
return new EcrymeConfrontDialog(actor, rollData, html, options); return new EcrymeConfrontDialog(actor, rollData, html, options);
} }
@@ -163,9 +163,9 @@ export class EcrymeConfrontDialog extends Dialog {
// Apply Transcend if needed // Apply Transcend if needed
if (this.rollData.skillTranscendence > 0) { if (this.rollData.skillTranscendence > 0) {
if (this.rollData.applyTranscendence == "execution") { if (this.rollData.applyTranscendence == "execution") {
this.rollData.executionTotal += this.rollData.skillTranscendence this.rollData.executionTotal += Number(this.rollData.skillTranscendence)
} else { } else {
this.rollData.preservationTotal += this.rollData.skillTranscendence this.rollData.preservationTotal += Number(this.rollData.skillTranscendence)
} }
} }
} }
@@ -212,19 +212,19 @@ export class EcrymeConfrontDialog extends Dialog {
for (let id of rollData.traitsBonusSelected) { for (let id of rollData.traitsBonusSelected) {
let trait = rollData.traitsBonus.find(t => t._id == id) let trait = rollData.traitsBonus.find(t => t._id == id)
trait.activated = true trait.activated = true
rollData.bonusMalusTraits += trait.system.level rollData.bonusMalusTraits += Number(trait.system.level)
} }
} }
if (rollData.traitsMalusSelected && rollData.traitsMalusSelected.length > 0) { if (rollData.traitsMalusSelected && rollData.traitsMalusSelected.length > 0) {
for (let id of rollData.traitsMalusSelected) { for (let id of rollData.traitsMalusSelected) {
let trait = rollData.traitsMalus.find(t => t._id == id) let trait = rollData.traitsMalus.find(t => t._id == id)
trait.activated = true trait.activated = true
rollData.bonusMalusTraits -= trait.system.level rollData.bonusMalusTraits -= Number(trait.system.level)
} }
} }
rollData.executionTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso rollData.executionTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
rollData.preservationTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso rollData.preservationTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
this.refreshDialog() this.refreshDialog()
} }
@@ -234,7 +234,7 @@ export class EcrymeConfrontDialog extends Dialog {
super.activateListeners(html); super.activateListeners(html);
html.find('#bonusMalusPerso').change((event) => { html.find('#bonusMalusPerso').change((event) => {
this.rollData.bonusMalusPerso = Number(event.currentTarget.value) this.rollData.bonusMalusPerso = event.currentTarget.value
this.computeTotals() this.computeTotals()
}) })
html.find('#roll-specialization').change((event) => { html.find('#roll-specialization').change((event) => {

View File

@@ -7,7 +7,7 @@ export class EcrymeConfrontStartDialog extends Dialog {
static async create(actor, rollData) { static async create(actor, rollData) {
let options = { classes: ["fvtt-ecryme ecryme-confront-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } let options = { classes: ["fvtt-ecryme ecryme-confront-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData);
return new EcrymeConfrontStartDialog(actor, rollData, html, options); return new EcrymeConfrontStartDialog(actor, rollData, html, options);
} }
@@ -43,7 +43,7 @@ export class EcrymeConfrontStartDialog extends Dialog {
super(conf, options); super(conf, options);
this.actor = actor; this.actor = actor?.token?.actor || actor;
this.rollData = rollData; this.rollData = rollData;
} }

View File

@@ -6,7 +6,7 @@ export class EcrymeRollDialog extends Dialog {
static async create(actor, rollData) { static async create(actor, rollData) {
let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData);
return new EcrymeRollDialog(actor, rollData, html, options); return new EcrymeRollDialog(actor, rollData, html, options);
} }
@@ -52,12 +52,12 @@ export class EcrymeRollDialog extends Dialog {
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
var dialog = this;
function onLoad() { function onLoad() {
} }
$(function () { onLoad(); }); $(function () { onLoad(); });
html.find('#bonusMalusPerso').change((event) => { html.find('#bonusMalusPerso').change((event) => {
console.log("DIFF", event.currentTarget.value)
this.rollData.bonusMalusPerso = Number(event.currentTarget.value) this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
}) })
html.find('#roll-difficulty').change((event) => { html.find('#roll-difficulty').change((event) => {

View File

@@ -57,18 +57,16 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet); foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true }); foundry.documents.collections.Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });
EcrymeUtility.init() EcrymeUtility.init()
Babele.get().setSystemTranslationsDir("translated")
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -91,6 +89,7 @@ async function importDefaultScene() {
await game.scenes.documentClass.create(newDocuments); await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Landing page 1").activate(); game.scenes.find(i => i.name == "Landing page 1").activate();
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -119,6 +118,9 @@ Hooks.once("ready", function () {
EcrymeCharacterSummary.ready(); EcrymeCharacterSummary.ready();
importDefaultScene(); importDefaultScene();
// Load translations
Babele.get().setSystemTranslationsDir("translated")
}) })
@@ -135,4 +137,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
} }
return true; return true;
}); });

View File

@@ -4,7 +4,7 @@ import { EcrymeUtility } from "../common/ecryme-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 EcrymeItemSheet extends ItemSheet { export class EcrymeItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -61,8 +61,8 @@ export class EcrymeItemSheet extends ItemSheet {
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }), notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
isGM: game.user.isGM isGM: game.user.isGM
} }

Binary file not shown.

BIN
packs/equipment/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000159 MANIFEST-000221

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.707793 7f89060006c0 Recovering log #156 2025/10/02-22:42:43.315581 7ff26f7fe6c0 Recovering log #219
2024/04/26-19:22:08.718085 7f89060006c0 Delete type=3 #154 2025/10/02-22:42:43.325193 7ff26f7fe6c0 Delete type=3 #217
2024/04/26-19:22:08.718160 7f89060006c0 Delete type=0 #156 2025/10/02-22:42:43.325254 7ff26f7fe6c0 Delete type=0 #219
2024/04/26-19:25:18.674002 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.718055 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.674046 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.718108 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.715930 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.724165 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747436 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737951 7ff26ebff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@@ -1,14 +1,7 @@
2024/04/26-18:42:26.253704 7f89060006c0 Recovering log #152 2025/06/16-23:09:47.292043 7fd8d27fc6c0 Recovering log #215
2024/04/26-18:42:26.264507 7f89060006c0 Delete type=3 #150 2025/06/16-23:09:47.302177 7fd8d27fc6c0 Delete type=3 #213
2024/04/26-18:42:26.264666 7f89060006c0 Delete type=0 #152 2025/06/16-23:09:47.302224 7fd8d27fc6c0 Delete type=0 #215
2024/04/26-19:22:04.326808 7f88ffe006c0 Level-0 table #157: started 2025/06/16-23:10:06.097208 7fd633fff6c0 Level-0 table #220: started
2024/04/26-19:22:04.330698 7f88ffe006c0 Level-0 table #157: 26343 bytes OK 2025/06/16-23:10:06.097226 7fd633fff6c0 Level-0 table #220: 0 bytes OK
2024/04/26-19:22:04.337326 7f88ffe006c0 Delete type=0 #155 2025/06/16-23:10:06.103274 7fd633fff6c0 Delete type=0 #218
2024/04/26-19:22:04.358386 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at '!items!zs7krgXhDRndtqbl' @ 338 : 1 2025/06/16-23:10:06.109982 7fd633fff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.358402 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.362396 7f88ffe006c0 Generated table #158@0: 174 keys, 27263 bytes
2024/04/26-19:22:04.362426 7f88ffe006c0 Compacted 1@0 + 1@1 files => 27263 bytes
2024/04/26-19:22:04.368459 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.368664 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.368919 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400712 7f88ffe006c0 Manual compaction at level-0 from '!items!zs7krgXhDRndtqbl' @ 338 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/help/000129.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000096 MANIFEST-000158

View File

@@ -1,8 +1,8 @@
2024/04/26-19:22:08.762783 7f89074006c0 Recovering log #93 2025/10/02-22:42:43.369243 7ff26ffff6c0 Recovering log #156
2024/04/26-19:22:08.773921 7f89074006c0 Delete type=3 #91 2025/10/02-22:42:43.379551 7ff26ffff6c0 Delete type=3 #154
2024/04/26-19:22:08.774007 7f89074006c0 Delete type=0 #93 2025/10/02-22:42:43.379614 7ff26ffff6c0 Delete type=0 #156
2024/04/26-19:25:18.785678 7f88ffe006c0 Level-0 table #99: started 2025/10/02-22:46:10.762665 7ff26ebff6c0 Level-0 table #161: started
2024/04/26-19:25:18.785720 7f88ffe006c0 Level-0 table #99: 0 bytes OK 2025/10/02-22:46:10.762700 7ff26ebff6c0 Level-0 table #161: 0 bytes OK
2024/04/26-19:25:18.821605 7f88ffe006c0 Delete type=0 #97 2025/10/02-22:46:10.769189 7ff26ebff6c0 Delete type=0 #159
2024/04/26-19:25:18.901806 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.769383 7ff26ebff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.901870 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.779762 7ff26ebff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/26-18:42:26.318647 7f8906a006c0 Recovering log #89 2025/06/16-23:09:47.347699 7fd8d17fa6c0 Recovering log #152
2024/04/26-18:42:26.329907 7f8906a006c0 Delete type=3 #87 2025/06/16-23:09:47.357498 7fd8d17fa6c0 Delete type=3 #150
2024/04/26-18:42:26.329974 7f8906a006c0 Delete type=0 #89 2025/06/16-23:09:47.357565 7fd8d17fa6c0 Delete type=0 #152
2024/04/26-19:22:04.427916 7f88ffe006c0 Level-0 table #94: started 2025/06/16-23:10:06.110087 7fd633fff6c0 Level-0 table #157: started
2024/04/26-19:22:04.431410 7f88ffe006c0 Level-0 table #94: 2184 bytes OK 2025/06/16-23:10:06.110111 7fd633fff6c0 Level-0 table #157: 0 bytes OK
2024/04/26-19:22:04.438566 7f88ffe006c0 Delete type=0 #92 2025/06/16-23:10:06.116396 7fd633fff6c0 Delete type=0 #155
2024/04/26-19:22:04.449035 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/06/16-23:10:06.136268 7fd633fff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.449082 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 14 : 1 2025/06/16-23:10:06.136315 7fd633fff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.449091 7f88ffe006c0 Compacting 1@1 + 1@2 files
2024/04/26-19:22:04.452506 7f88ffe006c0 Generated table #95@1: 4 keys, 2184 bytes
2024/04/26-19:22:04.452542 7f88ffe006c0 Compacted 1@1 + 1@2 files => 2184 bytes
2024/04/26-19:22:04.458702 7f88ffe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/26-19:22:04.458800 7f88ffe006c0 Delete type=2 #74
2024/04/26-19:22:04.458954 7f88ffe006c0 Delete type=2 #94
2024/04/26-19:22:04.482775 7f88ffe006c0 Manual compaction at level-1 from '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 14 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/help/MANIFEST-000158 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/maneuvers/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000159 MANIFEST-000221

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.749669 7f8906a006c0 Recovering log #156 2025/10/02-22:42:43.357117 7ff2749f96c0 Recovering log #219
2024/04/26-19:22:08.759716 7f8906a006c0 Delete type=3 #154 2025/10/02-22:42:43.366815 7ff2749f96c0 Delete type=3 #217
2024/04/26-19:22:08.759885 7f8906a006c0 Delete type=0 #156 2025/10/02-22:42:43.366872 7ff2749f96c0 Delete type=0 #219
2024/04/26-19:25:18.747562 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.756135 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.747596 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.756193 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.785476 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.762494 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.901779 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.769374 7ff26ebff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@@ -1,14 +1,7 @@
2024/04/26-18:42:26.305585 7f89056006c0 Recovering log #152 2025/06/16-23:09:47.333897 7fd8d1ffb6c0 Recovering log #215
2024/04/26-18:42:26.316048 7f89056006c0 Delete type=3 #150 2025/06/16-23:09:47.344025 7fd8d1ffb6c0 Delete type=3 #213
2024/04/26-18:42:26.316142 7f89056006c0 Delete type=0 #152 2025/06/16-23:09:47.344095 7fd8d1ffb6c0 Delete type=0 #215
2024/04/26-19:22:04.400858 7f88ffe006c0 Level-0 table #157: started 2025/06/16-23:10:06.129980 7fd633fff6c0 Level-0 table #220: started
2024/04/26-19:22:04.404082 7f88ffe006c0 Level-0 table #157: 6648 bytes OK 2025/06/16-23:10:06.130009 7fd633fff6c0 Level-0 table #220: 0 bytes OK
2024/04/26-19:22:04.410232 7f88ffe006c0 Delete type=0 #155 2025/06/16-23:10:06.136124 7fd633fff6c0 Delete type=0 #218
2024/04/26-19:22:04.438765 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at '!items!oSutlbe9wyBZccmf' @ 45 : 1 2025/06/16-23:10:06.136302 7fd633fff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.438781 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.442180 7f88ffe006c0 Generated table #158@0: 15 keys, 6648 bytes
2024/04/26-19:22:04.442217 7f88ffe006c0 Compacted 1@0 + 1@1 files => 6648 bytes
2024/04/26-19:22:04.448645 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.448777 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.448921 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.449050 7f88ffe006c0 Manual compaction at level-0 from '!items!oSutlbe9wyBZccmf' @ 45 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000090.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000043 MANIFEST-000107

View File

@@ -1,8 +1,8 @@
2024/04/26-19:22:08.735377 7f89074006c0 Recovering log #40 2025/10/02-22:42:43.343031 7ff26ffff6c0 Recovering log #105
2024/04/26-19:22:08.745776 7f89074006c0 Delete type=3 #38 2025/10/02-22:42:43.353479 7ff26ffff6c0 Delete type=3 #103
2024/04/26-19:22:08.745887 7f89074006c0 Delete type=0 #40 2025/10/02-22:42:43.353550 7ff26ffff6c0 Delete type=0 #105
2024/04/26-19:25:18.595904 7f88ffe006c0 Level-0 table #46: started 2025/10/02-22:46:10.730732 7ff26ebff6c0 Level-0 table #110: started
2024/04/26-19:25:18.595980 7f88ffe006c0 Level-0 table #46: 0 bytes OK 2025/10/02-22:46:10.730767 7ff26ebff6c0 Level-0 table #110: 0 bytes OK
2024/04/26-19:25:18.630930 7f88ffe006c0 Delete type=0 #44 2025/10/02-22:46:10.737713 7ff26ebff6c0 Delete type=0 #108
2024/04/26-19:25:18.747411 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737975 7ff26ebff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.747487 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.738002 7ff26ebff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2024/04/26-18:42:26.291319 7f8906a006c0 Recovering log #36 2025/06/16-23:09:47.319459 7fd8d17fa6c0 Recovering log #101
2024/04/26-18:42:26.301937 7f8906a006c0 Delete type=3 #34 2025/06/16-23:09:47.330217 7fd8d17fa6c0 Delete type=3 #99
2024/04/26-18:42:26.302002 7f8906a006c0 Delete type=0 #36 2025/06/16-23:09:47.330266 7fd8d17fa6c0 Delete type=0 #101
2024/04/26-19:22:04.316977 7f88ffe006c0 Level-0 table #41: started 2025/06/16-23:10:06.091049 7fd633fff6c0 Level-0 table #106: started
2024/04/26-19:22:04.320512 7f88ffe006c0 Level-0 table #41: 1610 bytes OK 2025/06/16-23:10:06.091074 7fd633fff6c0 Level-0 table #106: 0 bytes OK
2024/04/26-19:22:04.326671 7f88ffe006c0 Delete type=0 #39 2025/06/16-23:10:06.097124 7fd633fff6c0 Delete type=0 #104
2024/04/26-19:22:04.358352 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/06/16-23:10:06.109973 7fd633fff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.389705 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at '!scenes!wJJTdzEVyJpkUXaM' @ 4 : 1 2025/06/16-23:10:06.109999 7fd633fff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.389720 7f88ffe006c0 Compacting 1@1 + 1@2 files
2024/04/26-19:22:04.392996 7f88ffe006c0 Generated table #42@1: 2 keys, 1610 bytes
2024/04/26-19:22:04.393035 7f88ffe006c0 Compacted 1@1 + 1@2 files => 1610 bytes
2024/04/26-19:22:04.400428 7f88ffe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/26-19:22:04.400531 7f88ffe006c0 Delete type=2 #5
2024/04/26-19:22:04.400646 7f88ffe006c0 Delete type=2 #41
2024/04/26-19:22:04.400749 7f88ffe006c0 Manual compaction at level-1 from '!scenes!wJJTdzEVyJpkUXaM' @ 4 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 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-000159 MANIFEST-000221

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.694940 7f89056006c0 Recovering log #156 2025/10/02-22:42:43.301864 7ff26ffff6c0 Recovering log #219
2024/04/26-19:22:08.705096 7f89056006c0 Delete type=3 #154 2025/10/02-22:42:43.312602 7ff26ffff6c0 Delete type=3 #217
2024/04/26-19:22:08.705158 7f89056006c0 Delete type=0 #156 2025/10/02-22:42:43.312680 7ff26ffff6c0 Delete type=0 #219
2024/04/26-19:25:18.631092 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.711801 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.631157 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.711844 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.673806 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.717835 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747426 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737937 7ff26ebff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@@ -1,14 +1,7 @@
2024/04/26-18:42:26.237456 7f89074006c0 Recovering log #152 2025/06/16-23:09:47.277128 7fd8d17fa6c0 Recovering log #215
2024/04/26-18:42:26.248857 7f89074006c0 Delete type=3 #150 2025/06/16-23:09:47.287371 7fd8d17fa6c0 Delete type=3 #213
2024/04/26-18:42:26.249007 7f89074006c0 Delete type=0 #152 2025/06/16-23:09:47.287436 7fd8d17fa6c0 Delete type=0 #215
2024/04/26-19:22:04.337456 7f88ffe006c0 Level-0 table #157: started 2025/06/16-23:10:06.084470 7fd633fff6c0 Level-0 table #220: started
2024/04/26-19:22:04.340711 7f88ffe006c0 Level-0 table #157: 14514 bytes OK 2025/06/16-23:10:06.084514 7fd633fff6c0 Level-0 table #220: 0 bytes OK
2024/04/26-19:22:04.346950 7f88ffe006c0 Delete type=0 #155 2025/06/16-23:10:06.090912 7fd633fff6c0 Delete type=0 #218
2024/04/26-19:22:04.369097 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at '!items!yozTUjNuc2rEGjFK' @ 208 : 1 2025/06/16-23:10:06.109960 7fd633fff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.369120 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.373318 7f88ffe006c0 Generated table #158@0: 113 keys, 16306 bytes
2024/04/26-19:22:04.373343 7f88ffe006c0 Compacted 1@0 + 1@1 files => 16306 bytes
2024/04/26-19:22:04.379990 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.380097 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.380204 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400725 7f88ffe006c0 Manual compaction at level-0 from '!items!yozTUjNuc2rEGjFK' @ 208 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/traits/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000159 MANIFEST-000221

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.721470 7f8906a006c0 Recovering log #156 2025/10/02-22:42:43.327925 7ff2749f96c0 Recovering log #219
2024/04/26-19:22:08.732531 7f8906a006c0 Delete type=3 #154 2025/10/02-22:42:43.339012 7ff2749f96c0 Delete type=3 #217
2024/04/26-19:22:08.732624 7f8906a006c0 Delete type=0 #156 2025/10/02-22:42:43.339080 7ff2749f96c0 Delete type=0 #219
2024/04/26-19:25:18.716069 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.724277 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.716099 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.724304 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.747273 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.730560 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747446 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737964 7ff26ebff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@@ -1,14 +1,7 @@
2024/04/26-18:42:26.268836 7f89056006c0 Recovering log #152 2025/06/16-23:09:47.306863 7fd8d0ff96c0 Recovering log #215
2024/04/26-18:42:26.284952 7f89056006c0 Delete type=3 #150 2025/06/16-23:09:47.316443 7fd8d0ff96c0 Delete type=3 #213
2024/04/26-18:42:26.285029 7f89056006c0 Delete type=0 #152 2025/06/16-23:09:47.316496 7fd8d0ff96c0 Delete type=0 #215
2024/04/26-19:22:04.347189 7f88ffe006c0 Level-0 table #157: started 2025/06/16-23:10:06.103419 7fd633fff6c0 Level-0 table #220: started
2024/04/26-19:22:04.350819 7f88ffe006c0 Level-0 table #157: 3577 bytes OK 2025/06/16-23:10:06.103438 7fd633fff6c0 Level-0 table #220: 0 bytes OK
2024/04/26-19:22:04.358154 7f88ffe006c0 Delete type=0 #155 2025/06/16-23:10:06.109827 7fd633fff6c0 Delete type=0 #218
2024/04/26-19:22:04.380268 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at '!items!zgNI2haxhBxBDBdl' @ 98 : 1 2025/06/16-23:10:06.109991 7fd633fff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.380277 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.383386 7f88ffe006c0 Generated table #158@0: 25 keys, 4133 bytes
2024/04/26-19:22:04.383409 7f88ffe006c0 Compacted 1@0 + 1@1 files => 4133 bytes
2024/04/26-19:22:04.389454 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.389551 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.389636 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400736 7f88ffe006c0 Manual compaction at level-0 from '!items!zgNI2haxhBxBDBdl' @ 98 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -454,9 +454,11 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/ /* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/
nav.sheet-tabs a,
nav.sheet-tabs .item { nav.sheet-tabs .item {
position: relative; position: relative;
padding: 0 0.25rem; padding: 0 0.25rem;
color: beige;
} }
nav.sheet-tabs .item:after { nav.sheet-tabs .item:after {

View File

@@ -3,8 +3,10 @@
"esmodules": [ "esmodules": [
"modules/ecryme-main.js" "modules/ecryme-main.js"
], ],
"gridDistance": 1, "grid": {
"gridUnits": "m", "distance": 2,
"units": "m"
},
"languages": [ "languages": [
{ {
"lang": "fr", "lang": "fr",
@@ -102,8 +104,8 @@
"license": "LICENSE.txt", "license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
"compatibility": { "compatibility": {
"minimum": "11", "minimum": "13",
"verified": "12" "verified": "13"
}, },
"id": "fvtt-ecryme", "id": "fvtt-ecryme",
"primaryTokenAttribute": "secondary.health", "primaryTokenAttribute": "secondary.health",
@@ -123,7 +125,7 @@
}, },
"title": "Ecryme, le Jeu de Rôles", "title": "Ecryme, le Jeu de Rôles",
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme", "url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
"version": "12.0.0", "version": "13.0.1",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v12.0.0.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v13.0.1.zip",
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp" "background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
} }

View File

@@ -31,26 +31,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"athletics": { "athletics": {
"key": "athletics",
"name": "ECRY.ui.athletics", "name": "ECRY.ui.athletics",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"driving": { "driving": {
"key": "driving",
"name": "ECRY.ui.driving", "name": "ECRY.ui.driving",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"fencing": { "fencing": {
"key": "fencing",
"name": "ECRY.ui.fencing", "name": "ECRY.ui.fencing",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"brawling": { "brawling": {
"key": "brawling",
"name": "ECRY.ui.brawling", "name": "ECRY.ui.brawling",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"shooting": { "shooting": {
"key": "shooting",
"name": "ECRY.ui.shooting", "name": "ECRY.ui.shooting",
"max": 0, "max": 0,
"value": 0 "value": 0
@@ -62,26 +67,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"anthropomecanology": { "anthropomecanology": {
"key": "anthropomecanology",
"name": "ECRY.ui.anthropomecanology", "name": "ECRY.ui.anthropomecanology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"ecrymology": { "ecrymology": {
"key": "ecrymology",
"name": "ECRY.ui.ecrymology", "name": "ECRY.ui.ecrymology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"traumatology": { "traumatology": {
"key": "traumatology",
"name": "ECRY.ui.traumatology", "name": "ECRY.ui.traumatology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"traversology": { "traversology": {
"key": "traversology",
"name": "ECRY.ui.traversology", "name": "ECRY.ui.traversology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"urbatechnology": { "urbatechnology": {
"key": "urbatechnology",
"name": "ECRY.ui.urbatechnology", "name": "ECRY.ui.urbatechnology",
"value": 0, "value": 0,
"max": 10 "max": 10
@@ -93,26 +103,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"quibbling": { "quibbling": {
"key": "quibbling",
"name": "ECRY.ui.quibbling", "name": "ECRY.ui.quibbling",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"creativity": { "creativity": {
"key": "creativity",
"name": "ECRY.ui.creativity", "name": "ECRY.ui.creativity",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"loquacity": { "loquacity": {
"key": "loquacity",
"name": "ECRY.ui.loquacity", "name": "ECRY.ui.loquacity",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"guile": { "guile": {
"key": "guile",
"name": "ECRY.ui.guile", "name": "ECRY.ui.guile",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"performance": { "performance": {
"key": "performance",
"name": "ECRY.ui.performance", "name": "ECRY.ui.performance",
"value": 0, "value": 0,
"max": 10 "max": 10

View File

@@ -114,8 +114,8 @@
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span> <span class="roll-dialog-label">Bonus/Malus : </span>
<select id="bonusMalusPerso" name="bonusMalusPerso"> <select id="bonusMalusPerso" name="bonusMalusPerso" type="text" data-dtype="String">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso valueAttr="value" labelAttr="label"}} {{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
</select> </select>
</div> </div>

View File

@@ -71,8 +71,8 @@
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span> <span class="roll-dialog-label">Bonus/Malus : </span>
<select id="bonusMalusPerso" name="bonusMalusPerso"> <select type="text" id="bonusMalusPerso" name="bonusMalusPerso" data-dtype="String">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso valueAttr="value" labelAttr="label"}} {{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
</select> </select>
</div> </div>

View File

@@ -12,8 +12,8 @@
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Difficulté : </span> <span class="roll-dialog-label">Difficulté : </span>
<select class="" type="text" id="roll-difficulty" data-dtype="Number"> <select class="" type="text" id="roll-difficulty" data-dtype="String">
{{selectOptions config.difficulty selected=difficulty localize=true valueAttr="value" labelAttr="difficulty"}} {{selectOptions config.difficulty selected=difficulty localize=true labelAttr="difficulty"}}
</select> </select>
</div> </div>

View File

@@ -22,7 +22,7 @@
<li class="flexrow"> <li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.skill"}}</label> <label class="item-name-label-long">{{localize "ECRY.ui.skill"}}</label>
<select class="item-field-label-medium" type="text" name="system.skillkey" value="{{system.skillkey}}" data-dtype="String"> <select class="item-field-label-medium" type="text" name="system.skillkey" value="{{system.skillkey}}" data-dtype="String">
{{selectOptions config.skills selected=system.skillkey localize=true valueAttr="key" textAttr="name"}} {{selectOptions config.skills selected=system.skillkey localize=true valueAttr="key" labelAttr="name"}}
</select> </select>
</li> </li>

View File

@@ -28,8 +28,8 @@
<li class="flexrow"> <li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label> <label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label>
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="Number"> <select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="String">
{{selectOptions config.traitLevel selected=system.level valueAttr="value" textAttr="text"}} {{selectOptions config.traitLevel selected=system.level labelAttr="text"}}
</li> </li>
</ul> </ul>
</div> </div>

View File

@@ -8,7 +8,7 @@
<label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label> <label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label>
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
<select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="String"> <select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="String">
{{selectOptions config.costUnits selected=system.costunit localize=true}} {{selectOptions config.costUnits selected=system.costunit localize=true labelAttr="name"}}
</select> </select>
</li> </li>