diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6f36498 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,87 @@ +# Copilot Instructions — fvtt-celestopol + +## Project Overview + +This is a **Foundry VTT system** for **Célestopol 1922**, a French tabletop RPG set in an art-deco 1922 universe. The project targets FoundryVTT v13+ and is developed in French. + +The reference rulebooks are in `__regles/` (gitignored): +- *Célestopol 1922 Livre de base* — core rulebook +- *Célestopol 1922 Fiches de prêts à jouer* — pre-generated character sheets + +## Architecture + +This system uses **FoundryVTT v13 DataModels + ApplicationV2** — NOT the legacy template.json / AppV1 approach. + +``` +fvtt-celestopol.mjs # Main entry point (Hooks.once("init")) +module/ + config/system.mjs # All game constants (SYSTEM export) + models/ # TypeDataModel subclasses (character, npc, items) + documents/ # Actor, Item, ChatMessage, Roll wrappers + applications/sheets/ # AppV2 sheets (HandlebarsApplicationMixin) +lang/fr.json # French i18n (key prefix: CELESTOPOL.*) +styles/ # LESS source files +css/ # Compiled CSS (via gulp) +templates/ # Handlebars (.hbs) templates +assets/fonts/ # CopaseticNF art-deco font +assets/ui/ # Background images +assets/icons/ # Item icons +packs-system/ # Source files for compendium packs +``` + +## DataModels (no template.json) + +- Extend `foundry.abstract.TypeDataModel` +- Schema in `static defineSchema()` using `foundry.data.fields.*` +- `prepareDerivedData()` for computed values +- Files: `module/models/character.mjs`, `npc.mjs`, `items.mjs` + +## ApplicationV2 / Sheets + +- Actor sheets: `HandlebarsApplicationMixin(foundry.applications.sheets.ActorSheetV2)` +- Item sheets: `HandlebarsApplicationMixin(foundry.applications.sheets.ItemSheetV2)` +- `static DEFAULT_OPTIONS` for config; `static PARTS` for templates +- `_prepareContext()` for base context; `_preparePartContext(partId, context)` for per-tab +- Edit/Play mode toggle via `_sheetMode` + `isPlayMode`/`isEditMode` getters +- Actions: `static #onXxx(event, target)` private static methods in `DEFAULT_OPTIONS.actions` +- `form: { submitOnChange: true }` enables live saving + +## Roll Mechanics + +- Pool of d6 dice: `nbDice = max(1, skillValue + woundMalus)` +- Formula: `{n}d6 [+ moonBonus + modifier]` +- Moon phase bonus: Nouvelle Lune=0, Croissants=+1, Gibbeuse=+2, Pleine Lune=+3 +- Compare total vs difficulty threshold (normal=7) +- Wound malus: levels 1-2=0, 3-4=-1, 5-6=-2, 7=-3, 8=-999 (out) +- DialogV2 for roll configuration: `foundry.applications.api.DialogV2.wait(...)` + +## Game Data (4 stats × 4 skills) + +- **Âme**: Artifice, Attraction, Coercition, Faveur +- **Corps**: Échauffourée, Effacement, Mobilité, Prouesse +- **Cœur**: Appréciation, Arts, Inspiration, Traque +- **Esprit**: Instruction, Merveilleux technologique, Raisonnement, Traitement + +**Tracks**: Blessures (8 niveaux), Destin (8), Spleen (8) +**Anomalies**: 9 types (none + 8) +**Factions**: 8 standard + 2 custom + +## Build + +```bash +npm install # Install dev deps +npx gulp css # Compile LESS → css/fvtt-celestopol.css (once) +npx gulp # Compile + watch +``` + +## Visual Style + +- Font: **CopaseticNF** (Regular + Bold, in `assets/fonts/`) — art-deco style +- Header bg color: `rgb(12, 76, 12)` (dark green) with orange text (`#e07b00`) +- Sheet header texture: `assets/ui/fond_cadrille.jpg` +- CSS variables: `--cel-green`, `--cel-orange`, `--cel-font-title`, etc. + +## Language + +All in-game text, labels, and code comments should be in **French**. Code identifiers may be English. All i18n keys use the `CELESTOPOL.*` prefix (see `lang/fr.json`). + diff --git a/fvtt-celestopol.mjs b/fvtt-celestopol.mjs index b47692e..c0ca82c 100644 --- a/fvtt-celestopol.mjs +++ b/fvtt-celestopol.mjs @@ -43,6 +43,7 @@ const MOON_EFFECT_FLAG = "moonEffectApplied" const FACTION_ASPECT_STATE_SETTING = "factionAspectState" const PREGENS_IMPORTED_SETTING = "pregensImported" const WELCOME_SCENE_IMPORTED_SETTING = "welcomeSceneImported" +const DEFAULT_ROLL_THRESHOLD_SETTING = "defaultRollThreshold" /* ─── Init hook ──────────────────────────────────────────────────────────── */ @@ -65,6 +66,7 @@ Hooks.once("init", () => { // Expose SYSTEM constants + utilities globales game.celestopol = { SYSTEM, + DEFAULT_ROLL_THRESHOLD_SETTING, rollMoonStandalone: (actor = null) => CelestopolRoll.rollMoonStandalone(actor), manageFactionAspects: (actor = null) => _manageFactionAspects(actor), resetFactionAspects: () => _resetFactionAspects(), @@ -357,6 +359,11 @@ function _registerHandlebarsHelpers() { return false }) + // Helper : récupérer un setting système par son nom + Handlebars.registerHelper("getSetting", (settingName) => { + return game.settings.get(SYSTEM_ID, settingName) + }) + Handlebars.registerHelper("let", function(value, options) { return options.fn({ value }) }) @@ -626,6 +633,22 @@ function _registerSettings() { type: Boolean, default: false, }) + + // Seuil de difficulté par défaut pour les jets normaux (hors combat) + game.settings.register(SYSTEM_ID, DEFAULT_ROLL_THRESHOLD_SETTING, { + name: "CELESTOPOL.Setting.defaultRollThreshold.name", + hint: "CELESTOPOL.Setting.defaultRollThreshold.hint", + scope: "world", + config: true, + type: Number, + default: 11, + range: { + min: 1, + max: 30, + step: 1, + }, + }) + // Suivi de l'import des anomalies (caché) game.settings.register(SYSTEM_ID, "anomaliesImported", { scope: "world", diff --git a/lang/fr.json b/lang/fr.json index cc09186..96b9c5e 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -454,6 +454,10 @@ "name": "Lancer le dé de la lune par défaut", "hint": "Cocher automatiquement 'Lancer le dé de la lune' dans les fenêtres de jet" }, + "defaultRollThreshold": { + "name": "Seuil de difficulté par défaut", + "hint": "Valeur du seuil utilisée par défaut pour les jets de compétence hors combat" + }, "migrateOldSystem": { "name": "Migration depuis l'ancien système", "hint": "Importer un personnage exporté depuis l'ancien système Célestopol 1922 (celestopol1922).", diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs index 9432fb1..2a1d5a7 100644 --- a/module/documents/roll.mjs +++ b/module/documents/roll.mjs @@ -294,12 +294,13 @@ export class CelestopolRoll extends Roll { if (!rollContext) return null - // En combat : Corps PNJ = seuil direct ; sinon seuil fixe = 11 + // En combat : Corps PNJ = seuil direct ; sinon seuil configurable via setting const corpsPnj = isCombat ? (parseInt(rollContext.corpsPnj ?? 7) || 7) : null const difficulty = isCombat ? "combat" : "standard" + const defaultThreshold = game.settings.get(game.celestopol.SYSTEM.id, game.celestopol.DEFAULT_ROLL_THRESHOLD_SETTING) const diffConfig = isCombat ? { value: corpsPnj, label: "CELESTOPOL.Combat.corpsPnj" } - : { value: 11, label: "CELESTOPOL.Roll.threshold" } + : { value: defaultThreshold, label: "CELESTOPOL.Roll.threshold" } const autoSuccess = rollContext.modifier === "auto" const modifier = autoSuccess ? 0 : (parseInt(rollContext.modifier ?? 0) || 0) const aspectMod = parseInt(rollContext.aspectModifier ?? 0) || 0 @@ -464,7 +465,7 @@ export class CelestopolRoll extends Roll { /** * Détermine succès/échec selon la marge (total − seuil). - * Seuil : 11 pour les tests normaux, Corps PNJ pour le combat. + * Seuil : configurable via setting pour les tests normaux, Corps PNJ pour le combat. * Pas de succès/échec critique — seul le Dé de la Lune produit des résultats exceptionnels. */ computeResult() { @@ -479,9 +480,10 @@ export class CelestopolRoll extends Roll { this.options.margin = null return } + const defaultThreshold = game.settings.get(game.celestopol.SYSTEM.id, game.celestopol.DEFAULT_ROLL_THRESHOLD_SETTING) const threshold = this.options.isCombat ? (this.options.difficultyValue ?? 0) - : 11 + : defaultThreshold if (threshold === 0) { this.options.resultType = "unknown" this.options.margin = null @@ -510,9 +512,10 @@ export class CelestopolRoll extends Roll { const resultType = this.resultType const diceResults = this.dice[0]?.results?.map(r => r.result) ?? [] const diceSum = diceResults.reduce((a, b) => a + b, 0) + const defaultThreshold = game.settings.get(game.celestopol.SYSTEM.id, game.celestopol.DEFAULT_ROLL_THRESHOLD_SETTING) const threshold = this.options.isCombat ? (this.options.difficultyValue ?? 0) - : 11 + : defaultThreshold const margin = this.options.margin const woundMalus = this.options.woundMalus ?? 0 const armorMalus = this.options.armorMalus ?? 0 @@ -565,12 +568,12 @@ export class CelestopolRoll extends Roll { }) const actorType = rollingActor?.type ?? this.options.actorType ?? null - // Libellé de difficulté : en combat "Corps PNJ : N", en opposition "vs ?", sinon "Seuil : 11" + // Libellé de difficulté : en combat "Corps PNJ : N", en opposition "vs ?", sinon "Seuil : N" const difficultyLabel = this.options.isCombat ? `${game.i18n.localize("CELESTOPOL.Combat.corpsPnj")} : ${threshold}` : isOpposition ? `${game.i18n.localize("CELESTOPOL.Roll.oppositionVs")}` - : `${game.i18n.localize("CELESTOPOL.Roll.threshold")} : 11` + : `${game.i18n.localize("CELESTOPOL.Roll.threshold")} : ${threshold}` return { cssClass: [SYSTEM.id, "dice-roll"].join(" "), diff --git a/packs-system/aides-de-jeu/000099.log b/packs-system/aides-de-jeu/000107.log similarity index 100% rename from packs-system/aides-de-jeu/000099.log rename to packs-system/aides-de-jeu/000107.log diff --git a/packs-system/aides-de-jeu/000088.ldb b/packs-system/aides-de-jeu/000109.ldb similarity index 100% rename from packs-system/aides-de-jeu/000088.ldb rename to packs-system/aides-de-jeu/000109.ldb diff --git a/packs-system/aides-de-jeu/CURRENT b/packs-system/aides-de-jeu/CURRENT index af00d34..2a5d251 100644 --- a/packs-system/aides-de-jeu/CURRENT +++ b/packs-system/aides-de-jeu/CURRENT @@ -1 +1 @@ -MANIFEST-000097 +MANIFEST-000105 diff --git a/packs-system/aides-de-jeu/LOG b/packs-system/aides-de-jeu/LOG index 72109fe..3309221 100644 --- a/packs-system/aides-de-jeu/LOG +++ b/packs-system/aides-de-jeu/LOG @@ -1,7 +1,11 @@ -2026/04/27-22:18:49.718901 7fed937fe6c0 Recovering log #95 -2026/04/27-22:18:49.728863 7fed937fe6c0 Delete type=3 #93 -2026/04/27-22:18:49.728935 7fed937fe6c0 Delete type=0 #95 -2026/04/27-22:29:30.180780 7feb10fff6c0 Level-0 table #100: started -2026/04/27-22:29:30.180810 7feb10fff6c0 Level-0 table #100: 0 bytes OK -2026/04/27-22:29:30.187367 7feb10fff6c0 Delete type=0 #98 -2026/04/27-22:29:30.210881 7feb10fff6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.135570 7f381f7fe6c0 Delete type=3 #1 +2026/05/29-18:27:57.110280 7f381e7fc6c0 Level-0 table #108: started +2026/05/29-18:27:57.110317 7f381e7fc6c0 Level-0 table #108: 0 bytes OK +2026/05/29-18:27:57.146936 7f381e7fc6c0 Delete type=0 #106 +2026/05/29-18:27:57.291474 7f381e7fc6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 1 : 1 +2026/05/29-18:27:57.291484 7f381e7fc6c0 Compacting 1@0 + 0@1 files +2026/05/29-18:27:57.308314 7f381e7fc6c0 Generated table #109@0: 6 keys, 5441 bytes +2026/05/29-18:27:57.308348 7f381e7fc6c0 Compacted 1@0 + 0@1 files => 5441 bytes +2026/05/29-18:27:57.339343 7f381e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2026/05/29-18:27:57.339668 7f381e7fc6c0 Delete type=2 #88 +2026/05/29-18:27:57.450192 7f381e7fc6c0 Manual compaction at level-0 from '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 1 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) diff --git a/packs-system/aides-de-jeu/LOG.old b/packs-system/aides-de-jeu/LOG.old index 893583b..3ab1fe6 100644 --- a/packs-system/aides-de-jeu/LOG.old +++ b/packs-system/aides-de-jeu/LOG.old @@ -1,7 +1,4 @@ -2026/04/27-22:04:32.581280 7fed927fc6c0 Recovering log #91 -2026/04/27-22:04:32.591253 7fed927fc6c0 Delete type=3 #89 -2026/04/27-22:04:32.591326 7fed927fc6c0 Delete type=0 #91 -2026/04/27-22:06:50.324351 7feb10fff6c0 Level-0 table #96: started -2026/04/27-22:06:50.324370 7feb10fff6c0 Level-0 table #96: 0 bytes OK -2026/04/27-22:06:50.330761 7feb10fff6c0 Delete type=0 #94 -2026/04/27-22:06:50.339938 7feb10fff6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.120174 7f381f7fe6c0 Log #103: 0 ops saved to Table #104 OK +2026/05/29-18:25:23.120268 7f381f7fe6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/aides-de-jeu/000103.log: OK +2026/05/29-18:25:23.120320 7f381f7fe6c0 Table #88: 6 entries OK +2026/05/29-18:25:23.123657 7f381f7fe6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/aides-de-jeu; recovered 1 files; 5441 bytes. Some data may have been lost. **** diff --git a/packs-system/aides-de-jeu/MANIFEST-000097 b/packs-system/aides-de-jeu/MANIFEST-000097 deleted file mode 100644 index 840a935..0000000 Binary files a/packs-system/aides-de-jeu/MANIFEST-000097 and /dev/null differ diff --git a/packs-system/aides-de-jeu/MANIFEST-000105 b/packs-system/aides-de-jeu/MANIFEST-000105 new file mode 100644 index 0000000..1302e50 Binary files /dev/null and b/packs-system/aides-de-jeu/MANIFEST-000105 differ diff --git a/packs-system/anomalies/000159.log b/packs-system/aides-de-jeu/lost/000103.log similarity index 100% rename from packs-system/anomalies/000159.log rename to packs-system/aides-de-jeu/lost/000103.log diff --git a/packs-system/pretires/000060.log b/packs-system/anomalies/000170.log similarity index 100% rename from packs-system/pretires/000060.log rename to packs-system/anomalies/000170.log diff --git a/packs-system/anomalies/000161.ldb b/packs-system/anomalies/000172.ldb similarity index 96% rename from packs-system/anomalies/000161.ldb rename to packs-system/anomalies/000172.ldb index c864244..93f76c8 100644 Binary files a/packs-system/anomalies/000161.ldb and b/packs-system/anomalies/000172.ldb differ diff --git a/packs-system/anomalies/CURRENT b/packs-system/anomalies/CURRENT index 5df89bd..57112f5 100644 --- a/packs-system/anomalies/CURRENT +++ b/packs-system/anomalies/CURRENT @@ -1 +1 @@ -MANIFEST-000157 +MANIFEST-000168 diff --git a/packs-system/anomalies/LOG b/packs-system/anomalies/LOG index 5e20ca3..e8fc7dd 100644 --- a/packs-system/anomalies/LOG +++ b/packs-system/anomalies/LOG @@ -1,14 +1,12 @@ -2026/04/27-22:18:49.690384 7fed92ffd6c0 Recovering log #154 -2026/04/27-22:18:49.702685 7fed92ffd6c0 Delete type=3 #152 -2026/04/27-22:18:49.702754 7fed92ffd6c0 Delete type=0 #154 -2026/04/27-22:29:30.170390 7feb10fff6c0 Level-0 table #160: started -2026/04/27-22:29:30.173958 7feb10fff6c0 Level-0 table #160: 3524 bytes OK -2026/04/27-22:29:30.180662 7feb10fff6c0 Delete type=0 #158 -2026/04/27-22:29:30.201177 7feb10fff6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 133 : 1 -2026/04/27-22:29:30.201186 7feb10fff6c0 Compacting 1@0 + 1@1 files -2026/04/27-22:29:30.204413 7feb10fff6c0 Generated table #161@0: 9 keys, 6617 bytes -2026/04/27-22:29:30.204438 7feb10fff6c0 Compacted 1@0 + 1@1 files => 6617 bytes -2026/04/27-22:29:30.210527 7feb10fff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] -2026/04/27-22:29:30.210659 7feb10fff6c0 Delete type=2 #156 -2026/04/27-22:29:30.210789 7feb10fff6c0 Delete type=2 #160 -2026/04/27-22:29:30.210920 7feb10fff6c0 Manual compaction at level-0 from '!items!null' @ 133 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.097516 7f381effd6c0 Delete type=3 #1 +2026/05/29-18:27:57.232279 7f381e7fc6c0 Level-0 table #171: started +2026/05/29-18:27:57.253183 7f381e7fc6c0 Level-0 table #171: 3524 bytes OK +2026/05/29-18:27:57.291326 7f381e7fc6c0 Delete type=0 #169 +2026/05/29-18:27:57.404912 7f381e7fc6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 141 : 1 +2026/05/29-18:27:57.404922 7f381e7fc6c0 Compacting 2@0 + 0@1 files +2026/05/29-18:27:57.421172 7f381e7fc6c0 Generated table #172@0: 9 keys, 6617 bytes +2026/05/29-18:27:57.421194 7f381e7fc6c0 Compacted 2@0 + 0@1 files => 6617 bytes +2026/05/29-18:27:57.449840 7f381e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2026/05/29-18:27:57.449959 7f381e7fc6c0 Delete type=2 #166 +2026/05/29-18:27:57.450112 7f381e7fc6c0 Delete type=2 #171 +2026/05/29-18:27:57.505063 7f381e7fc6c0 Manual compaction at level-0 from '!items!null' @ 141 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/anomalies/LOG.old b/packs-system/anomalies/LOG.old index 2b53edf..200f23e 100644 --- a/packs-system/anomalies/LOG.old +++ b/packs-system/anomalies/LOG.old @@ -1,14 +1,4 @@ -2026/04/27-22:04:32.549946 7fed937fe6c0 Recovering log #149 -2026/04/27-22:04:32.561235 7fed937fe6c0 Delete type=3 #147 -2026/04/27-22:04:32.561293 7fed937fe6c0 Delete type=0 #149 -2026/04/27-22:06:50.330846 7feb10fff6c0 Level-0 table #155: started -2026/04/27-22:06:50.333934 7feb10fff6c0 Level-0 table #155: 3524 bytes OK -2026/04/27-22:06:50.339817 7feb10fff6c0 Delete type=0 #153 -2026/04/27-22:06:50.339951 7feb10fff6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 129 : 1 -2026/04/27-22:06:50.339958 7feb10fff6c0 Compacting 1@0 + 1@1 files -2026/04/27-22:06:50.343129 7feb10fff6c0 Generated table #156@0: 9 keys, 6617 bytes -2026/04/27-22:06:50.343143 7feb10fff6c0 Compacted 1@0 + 1@1 files => 6617 bytes -2026/04/27-22:06:50.349117 7feb10fff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] -2026/04/27-22:06:50.349224 7feb10fff6c0 Delete type=2 #151 -2026/04/27-22:06:50.349379 7feb10fff6c0 Delete type=2 #155 -2026/04/27-22:06:50.368353 7feb10fff6c0 Manual compaction at level-0 from '!items!null' @ 129 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.059599 7f381effd6c0 Log #164: 0 ops saved to Table #167 OK +2026/05/29-18:25:23.059740 7f381effd6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/anomalies/000164.log: OK +2026/05/29-18:25:23.059875 7f381effd6c0 Table #166: 9 entries OK +2026/05/29-18:25:23.063157 7f381effd6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/anomalies; recovered 1 files; 6617 bytes. Some data may have been lost. **** diff --git a/packs-system/anomalies/MANIFEST-000157 b/packs-system/anomalies/MANIFEST-000157 deleted file mode 100644 index 29fa44b..0000000 Binary files a/packs-system/anomalies/MANIFEST-000157 and /dev/null differ diff --git a/packs-system/anomalies/MANIFEST-000168 b/packs-system/anomalies/MANIFEST-000168 new file mode 100644 index 0000000..eee4ea2 Binary files /dev/null and b/packs-system/anomalies/MANIFEST-000168 differ diff --git a/packs-system/scenes/000102.log b/packs-system/anomalies/lost/000164.log similarity index 100% rename from packs-system/scenes/000102.log rename to packs-system/anomalies/lost/000164.log diff --git a/packs-system/pretires/000068.log b/packs-system/pretires/000068.log new file mode 100644 index 0000000..e69de29 diff --git a/packs-system/pretires/000049.ldb b/packs-system/pretires/000070.ldb similarity index 100% rename from packs-system/pretires/000049.ldb rename to packs-system/pretires/000070.ldb diff --git a/packs-system/pretires/CURRENT b/packs-system/pretires/CURRENT index 717cf9a..7873dc6 100644 --- a/packs-system/pretires/CURRENT +++ b/packs-system/pretires/CURRENT @@ -1 +1 @@ -MANIFEST-000058 +MANIFEST-000066 diff --git a/packs-system/pretires/LOG b/packs-system/pretires/LOG index 2481ce1..38482c5 100644 --- a/packs-system/pretires/LOG +++ b/packs-system/pretires/LOG @@ -1,7 +1,11 @@ -2026/04/27-22:18:49.704865 7fed93fff6c0 Recovering log #56 -2026/04/27-22:18:49.714938 7fed93fff6c0 Delete type=3 #54 -2026/04/27-22:18:49.714987 7fed93fff6c0 Delete type=0 #56 -2026/04/27-22:29:30.194650 7feb10fff6c0 Level-0 table #61: started -2026/04/27-22:29:30.194677 7feb10fff6c0 Level-0 table #61: 0 bytes OK -2026/04/27-22:29:30.201065 7feb10fff6c0 Delete type=0 #59 -2026/04/27-22:29:30.210910 7feb10fff6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.116810 7f381ffff6c0 Delete type=3 #1 +2026/05/29-18:27:57.533567 7f381e7fc6c0 Level-0 table #69: started +2026/05/29-18:27:57.533614 7f381e7fc6c0 Level-0 table #69: 0 bytes OK +2026/05/29-18:27:57.568380 7f381e7fc6c0 Delete type=0 #67 +2026/05/29-18:27:57.662122 7f381e7fc6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at '!folders!MbFQgPdF6Gtbj5AU' @ 37 : 1 +2026/05/29-18:27:57.662130 7f381e7fc6c0 Compacting 1@0 + 0@1 files +2026/05/29-18:27:57.681906 7f381e7fc6c0 Generated table #70@0: 36 keys, 35733 bytes +2026/05/29-18:27:57.681939 7f381e7fc6c0 Compacted 1@0 + 0@1 files => 35733 bytes +2026/05/29-18:27:57.724776 7f381e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2026/05/29-18:27:57.724885 7f381e7fc6c0 Delete type=2 #49 +2026/05/29-18:27:57.817815 7f381e7fc6c0 Manual compaction at level-0 from '!folders!MbFQgPdF6Gtbj5AU' @ 37 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) diff --git a/packs-system/pretires/LOG.old b/packs-system/pretires/LOG.old index a35230d..194bf64 100644 --- a/packs-system/pretires/LOG.old +++ b/packs-system/pretires/LOG.old @@ -1,7 +1,4 @@ -2026/04/27-22:04:32.565909 7fed92ffd6c0 Recovering log #52 -2026/04/27-22:04:32.576099 7fed92ffd6c0 Delete type=3 #50 -2026/04/27-22:04:32.576173 7fed92ffd6c0 Delete type=0 #52 -2026/04/27-22:06:50.318454 7feb10fff6c0 Level-0 table #57: started -2026/04/27-22:06:50.318473 7feb10fff6c0 Level-0 table #57: 0 bytes OK -2026/04/27-22:06:50.324288 7feb10fff6c0 Delete type=0 #55 -2026/04/27-22:06:50.339928 7feb10fff6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.101143 7f381ffff6c0 Log #64: 0 ops saved to Table #65 OK +2026/05/29-18:25:23.101233 7f381ffff6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/pretires/000064.log: OK +2026/05/29-18:25:23.101342 7f381ffff6c0 Table #49: 36 entries OK +2026/05/29-18:25:23.105539 7f381ffff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/pretires; recovered 1 files; 35733 bytes. Some data may have been lost. **** diff --git a/packs-system/pretires/MANIFEST-000058 b/packs-system/pretires/MANIFEST-000058 deleted file mode 100644 index ce9ffd2..0000000 Binary files a/packs-system/pretires/MANIFEST-000058 and /dev/null differ diff --git a/packs-system/pretires/MANIFEST-000066 b/packs-system/pretires/MANIFEST-000066 new file mode 100644 index 0000000..512aaea Binary files /dev/null and b/packs-system/pretires/MANIFEST-000066 differ diff --git a/packs-system/pretires/lost/000064.log b/packs-system/pretires/lost/000064.log new file mode 100644 index 0000000..e69de29 diff --git a/packs-system/scenes/000110.log b/packs-system/scenes/000110.log new file mode 100644 index 0000000..e69de29 diff --git a/packs-system/scenes/000091.ldb b/packs-system/scenes/000112.ldb similarity index 100% rename from packs-system/scenes/000091.ldb rename to packs-system/scenes/000112.ldb diff --git a/packs-system/scenes/CURRENT b/packs-system/scenes/CURRENT index d7ae20e..db6fa61 100644 --- a/packs-system/scenes/CURRENT +++ b/packs-system/scenes/CURRENT @@ -1 +1 @@ -MANIFEST-000100 +MANIFEST-000108 diff --git a/packs-system/scenes/LOG b/packs-system/scenes/LOG index 9b3de7a..2a60060 100644 --- a/packs-system/scenes/LOG +++ b/packs-system/scenes/LOG @@ -1,7 +1,11 @@ -2026/04/27-22:18:49.731702 7fed93fff6c0 Recovering log #98 -2026/04/27-22:18:49.741999 7fed93fff6c0 Delete type=3 #96 -2026/04/27-22:18:49.742065 7fed93fff6c0 Delete type=0 #98 -2026/04/27-22:29:30.187494 7feb10fff6c0 Level-0 table #103: started -2026/04/27-22:29:30.187529 7feb10fff6c0 Level-0 table #103: 0 bytes OK -2026/04/27-22:29:30.194521 7feb10fff6c0 Delete type=0 #101 -2026/04/27-22:29:30.210897 7feb10fff6c0 Manual compaction at level-0 from '!scenes!0iGCRqkdJKjmmbl4' @ 72057594037927935 : 1 .. '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.154144 7f381ffff6c0 Delete type=3 #1 +2026/05/29-18:27:57.197941 7f381e7fc6c0 Level-0 table #111: started +2026/05/29-18:27:57.197975 7f381e7fc6c0 Level-0 table #111: 0 bytes OK +2026/05/29-18:27:57.232075 7f381e7fc6c0 Delete type=0 #109 +2026/05/29-18:27:57.339840 7f381e7fc6c0 Manual compaction at level-0 from '!scenes!0iGCRqkdJKjmmbl4' @ 72057594037927935 : 1 .. '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 0 : 0; will stop at '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 61 : 1 +2026/05/29-18:27:57.339849 7f381e7fc6c0 Compacting 1@0 + 0@1 files +2026/05/29-18:27:57.358860 7f381e7fc6c0 Generated table #112@0: 4 keys, 1746 bytes +2026/05/29-18:27:57.358888 7f381e7fc6c0 Compacted 1@0 + 0@1 files => 1746 bytes +2026/05/29-18:27:57.404742 7f381e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2026/05/29-18:27:57.404821 7f381e7fc6c0 Delete type=2 #91 +2026/05/29-18:27:57.505039 7f381e7fc6c0 Manual compaction at level-0 from '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 61 : 1 .. '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 0 : 0; will stop at (end) diff --git a/packs-system/scenes/LOG.old b/packs-system/scenes/LOG.old index bc89d1f..dd034a0 100644 --- a/packs-system/scenes/LOG.old +++ b/packs-system/scenes/LOG.old @@ -1,7 +1,4 @@ -2026/04/27-22:04:32.595481 7fed93fff6c0 Recovering log #94 -2026/04/27-22:04:32.606129 7fed93fff6c0 Delete type=3 #92 -2026/04/27-22:04:32.606193 7fed93fff6c0 Delete type=0 #94 -2026/04/27-22:06:50.312356 7feb10fff6c0 Level-0 table #99: started -2026/04/27-22:06:50.312415 7feb10fff6c0 Level-0 table #99: 0 bytes OK -2026/04/27-22:06:50.318377 7feb10fff6c0 Delete type=0 #97 -2026/04/27-22:06:50.339915 7feb10fff6c0 Manual compaction at level-0 from '!scenes!0iGCRqkdJKjmmbl4' @ 72057594037927935 : 1 .. '!scenes.levels!X3XJg7raEXtOFOtj.defaultLevel0000' @ 0 : 0; will stop at (end) +2026/05/29-18:25:23.139385 7f381ffff6c0 Log #106: 0 ops saved to Table #107 OK +2026/05/29-18:25:23.139489 7f381ffff6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/scenes/000106.log: OK +2026/05/29-18:25:23.139532 7f381ffff6c0 Table #91: 4 entries OK +2026/05/29-18:25:23.142713 7f381ffff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-celestopol/packs-system/scenes; recovered 1 files; 1746 bytes. Some data may have been lost. **** diff --git a/packs-system/scenes/MANIFEST-000100 b/packs-system/scenes/MANIFEST-000100 deleted file mode 100644 index 5ee5914..0000000 Binary files a/packs-system/scenes/MANIFEST-000100 and /dev/null differ diff --git a/packs-system/scenes/MANIFEST-000108 b/packs-system/scenes/MANIFEST-000108 new file mode 100644 index 0000000..8796bee Binary files /dev/null and b/packs-system/scenes/MANIFEST-000108 differ diff --git a/packs-system/scenes/lost/000106.log b/packs-system/scenes/lost/000106.log new file mode 100644 index 0000000..e69de29 diff --git a/templates/roll-dialog.hbs b/templates/roll-dialog.hbs index f7d0dbc..730596c 100644 --- a/templates/roll-dialog.hbs +++ b/templates/roll-dialog.hbs @@ -42,7 +42,7 @@
- {{!-- Difficulté : Corps PNJ en combat, fixe 11 en test normal --}} + {{!-- Difficulté : Corps PNJ en combat, configurable via setting en test normal --}} {{#if isCombat}} {{!-- Sélecteur de cible PNJ (si des tokens NPCs sont disponibles) --}} @@ -81,7 +81,7 @@ {{else}}
- 11 + {{getSetting "defaultRollThreshold"}}
{{!-- Test en opposition : le résultat sera masqué, MJ décide --}}