4 Commits

Author SHA1 Message Date
63c0153860 FIx v13/v14
Some checks failed
Release Creation / build (release) Failing after 1m17s
2026-04-14 00:56:25 +02:00
8bfbdedf43 Upgrade compat 2026-04-13 17:33:06 +02:00
6d2fca9fc2 Cleanup 2026-04-13 16:34:38 +02:00
b26ce2f114 Diverses corrections autour du combat 2026-04-13 16:23:31 +02:00
27 changed files with 105 additions and 186 deletions

View File

@@ -68,4 +68,4 @@ jobs:
manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json' manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json'
notes: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-celestopol-${{github.event.release.tag_name}}.zip' notes: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-celestopol-${{github.event.release.tag_name}}.zip'
compatibility-minimum: '13' compatibility-minimum: '13'
compatibility-verified: '13' compatibility-verified: '14'

View File

@@ -1,87 +0,0 @@
# 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`).

1
.gitignore vendored
View File

@@ -13,3 +13,4 @@ css/*.css
# Règles (PDFs privés) # Règles (PDFs privés)
__regles/ __regles/
*.pdf *.pdf
.github/

View File

@@ -383,7 +383,7 @@ export class CelestopolRoll extends Roll {
puiserRessources: effectivePuiser, puiserRessources: effectivePuiser,
nbDice: (!isResistance && useFortune) ? 1 : nbDice, nbDice: (!isResistance && useFortune) ? 1 : nbDice,
formula, formula,
rollMode: rollContext.visibility ?? "publicroll", rollMode: rollContext.visibility ?? "public",
rollMoonDie: effectiveMoon, rollMoonDie: effectiveMoon,
moonDieResult, moonDieResult,
moonFace, moonFace,
@@ -634,11 +634,20 @@ export class CelestopolRoll extends Roll {
/** @override */ /** @override */
async toMessage(messageData = {}, { messageMode, rollMode, create = true } = {}) { async toMessage(messageData = {}, { messageMode, rollMode, create = true } = {}) {
if (rollMode) { const modernToLegacyRollMode = {
messageMode = Roll._mapLegacyRollMode(rollMode) public: CONST.DICE_ROLL_MODES.PUBLIC,
gm: CONST.DICE_ROLL_MODES.PRIVATE,
blind: CONST.DICE_ROLL_MODES.BLIND,
self: CONST.DICE_ROLL_MODES.SELF,
ic: CONST.DICE_ROLL_MODES.PUBLIC,
} }
messageMode ||= game.settings.get("core", "messageMode") let effectiveRollMode = rollMode ?? messageMode ?? game.settings.get("core", "rollMode") ?? CONST.DICE_ROLL_MODES.PUBLIC
if (!this._evaluated) await this.evaluate({ allowInteractive: messageMode !== "blind" }) effectiveRollMode = modernToLegacyRollMode[effectiveRollMode] ?? effectiveRollMode
if (!Object.values(CONST.DICE_ROLL_MODES).includes(effectiveRollMode)) {
effectiveRollMode = game.settings.get("core", "rollMode") ?? CONST.DICE_ROLL_MODES.PUBLIC
}
if (!this._evaluated) await this.evaluate({ allowInteractive: effectiveRollMode !== CONST.DICE_ROLL_MODES.BLIND })
const skillLocalized = this.skillLabel ? game.i18n.localize(this.skillLabel) : "" const skillLocalized = this.skillLabel ? game.i18n.localize(this.skillLabel) : ""
const statLocalized = this.options.statLabel const statLocalized = this.options.statLabel
@@ -650,7 +659,7 @@ export class CelestopolRoll extends Roll {
actorUuid: this.options.actorUuid ?? null, actorUuid: this.options.actorUuid ?? null,
actorId: this.options.actorId ?? null, actorId: this.options.actorId ?? null,
}) })
const content = await this.render({ isPrivate: messageMode !== "public" }) const content = await this.render({ isPrivate: effectiveRollMode !== CONST.DICE_ROLL_MODES.PUBLIC })
const chatData = foundry.utils.mergeObject({ const chatData = foundry.utils.mergeObject({
author: game.user.id, author: game.user.id,
content, content,
@@ -660,13 +669,9 @@ export class CelestopolRoll extends Roll {
speaker: speakerActor ? ChatMessage.getSpeaker({ actor: speakerActor }) : undefined, speaker: speakerActor ? ChatMessage.getSpeaker({ actor: speakerActor }) : undefined,
style: CONST.CHAT_MESSAGE_STYLES.OTHER, style: CONST.CHAT_MESSAGE_STYLES.OTHER,
}, messageData) }, messageData)
ChatMessage.applyRollMode(chatData, effectiveRollMode)
const cls = foundry.utils.getDocumentClass("ChatMessage") if (create) return ChatMessage.create(chatData)
const msg = new cls(chatData) return chatData
msg.applyMode(messageMode)
if (create) return cls.create(msg)
return msg.toObject()
} }
/** /**

View File

@@ -1 +1 @@
MANIFEST-000062 MANIFEST-000070

View File

@@ -1,8 +1,8 @@
2026/04/13-13:11:31.249954 7f2a6b7fe6c0 Recovering log #60 2026/04/14-00:55:24.427256 7f68497ed6c0 Recovering log #68
2026/04/13-13:11:31.302525 7f2a6b7fe6c0 Delete type=3 #58 2026/04/14-00:55:24.442232 7f68497ed6c0 Delete type=3 #66
2026/04/13-13:11:31.302579 7f2a6b7fe6c0 Delete type=0 #60 2026/04/14-00:55:24.442302 7f68497ed6c0 Delete type=0 #68
2026/04/13-14:20:41.118813 7f2a69ffb6c0 Level-0 table #65: started 2026/04/14-00:56:01.490011 7f6833fff6c0 Level-0 table #73: started
2026/04/13-14:20:41.118847 7f2a69ffb6c0 Level-0 table #65: 0 bytes OK 2026/04/14-00:56:01.490050 7f6833fff6c0 Level-0 table #73: 0 bytes OK
2026/04/13-14:20:41.156390 7f2a69ffb6c0 Delete type=0 #63 2026/04/14-00:56:01.496026 7f6833fff6c0 Delete type=0 #71
2026/04/13-14:20:41.210923 7f2a69ffb6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.502797 7f6833fff6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end)
2026/04/13-14:20:41.272745 7f2a69ffb6c0 Manual compaction at level-1 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.513341 7f6833fff6c0 Manual compaction at level-1 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2026/04/13-13:10:44.862648 7ff582bff6c0 Recovering log #56 2026/04/14-00:42:19.979759 7f68497ed6c0 Recovering log #64
2026/04/13-13:10:44.908015 7ff582bff6c0 Delete type=3 #54 2026/04/14-00:42:19.989860 7f68497ed6c0 Delete type=3 #62
2026/04/13-13:10:44.908061 7ff582bff6c0 Delete type=0 #56 2026/04/14-00:42:19.989918 7f68497ed6c0 Delete type=0 #64
2026/04/13-13:10:47.939764 7ff580bfb6c0 Level-0 table #61: started 2026/04/14-00:50:27.807116 7f6833fff6c0 Level-0 table #69: started
2026/04/13-13:10:47.939788 7ff580bfb6c0 Level-0 table #61: 0 bytes OK 2026/04/14-00:50:27.807197 7f6833fff6c0 Level-0 table #69: 0 bytes OK
2026/04/13-13:10:47.972855 7ff580bfb6c0 Delete type=0 #59 2026/04/14-00:50:27.813335 7f6833fff6c0 Delete type=0 #67
2026/04/13-13:10:47.973045 7ff580bfb6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.836261 7f6833fff6c0 Manual compaction at level-0 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end)
2026/04/13-13:10:48.030502 7ff580bfb6c0 Manual compaction at level-1 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.836305 7f6833fff6c0 Manual compaction at level-1 from '!journal!eNYstmPK0mMmVJYC' @ 72057594037927935 : 1 .. '!journal.pages!eNYstmPK0mMmVJYC.r9h1ggd3G9hiqYJX' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000112 MANIFEST-000122

View File

@@ -1,15 +1,15 @@
2026/04/13-13:11:31.130509 7f2a6bfff6c0 Recovering log #109 2026/04/14-00:55:24.391968 7f6848fec6c0 Recovering log #119
2026/04/13-13:11:31.189864 7f2a6bfff6c0 Delete type=3 #107 2026/04/14-00:55:24.406978 7f6848fec6c0 Delete type=3 #117
2026/04/13-13:11:31.189928 7f2a6bfff6c0 Delete type=0 #109 2026/04/14-00:55:24.407044 7f6848fec6c0 Delete type=0 #119
2026/04/13-14:20:41.156517 7f2a69ffb6c0 Level-0 table #115: started 2026/04/14-00:56:01.480723 7f6833fff6c0 Level-0 table #125: started
2026/04/13-14:20:41.173655 7f2a69ffb6c0 Level-0 table #115: 3524 bytes OK 2026/04/14-00:56:01.483872 7f6833fff6c0 Level-0 table #125: 3524 bytes OK
2026/04/13-14:20:41.210761 7f2a69ffb6c0 Delete type=0 #113 2026/04/14-00:56:01.489828 7f6833fff6c0 Delete type=0 #123
2026/04/13-14:20:41.210932 7f2a69ffb6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.502786 7f6833fff6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
2026/04/13-14:20:41.210963 7f2a69ffb6c0 Manual compaction at level-1 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 97 : 1 2026/04/14-00:56:01.502828 7f6833fff6c0 Manual compaction at level-1 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 105 : 1
2026/04/13-14:20:41.210970 7f2a69ffb6c0 Compacting 1@1 + 1@2 files 2026/04/14-00:56:01.502835 7f6833fff6c0 Compacting 1@1 + 1@2 files
2026/04/13-14:20:41.229806 7f2a69ffb6c0 Generated table #116@1: 9 keys, 6617 bytes 2026/04/14-00:56:01.506551 7f6833fff6c0 Generated table #126@1: 9 keys, 6617 bytes
2026/04/13-14:20:41.229844 7f2a69ffb6c0 Compacted 1@1 + 1@2 files => 6617 bytes 2026/04/14-00:56:01.506586 7f6833fff6c0 Compacted 1@1 + 1@2 files => 6617 bytes
2026/04/13-14:20:41.272334 7f2a69ffb6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/04/14-00:56:01.512723 7f6833fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/04/13-14:20:41.272481 7f2a69ffb6c0 Delete type=2 #111 2026/04/14-00:56:01.513072 7f6833fff6c0 Delete type=2 #121
2026/04/13-14:20:41.272658 7f2a69ffb6c0 Delete type=2 #115 2026/04/14-00:56:01.513274 7f6833fff6c0 Delete type=2 #125
2026/04/13-14:20:41.365704 7f2a69ffb6c0 Manual compaction at level-1 from '!items!null' @ 97 : 1 .. '!items!null' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.519560 7f6833fff6c0 Manual compaction at level-1 from '!items!null' @ 105 : 1 .. '!items!null' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,15 @@
2026/04/13-13:10:44.750651 7ff581bfd6c0 Recovering log #104 2026/04/14-00:42:19.950173 7f684a7ef6c0 Recovering log #114
2026/04/13-13:10:44.797855 7ff581bfd6c0 Delete type=3 #102 2026/04/14-00:42:19.961639 7f684a7ef6c0 Delete type=3 #112
2026/04/13-13:10:44.797919 7ff581bfd6c0 Delete type=0 #104 2026/04/14-00:42:19.961720 7f684a7ef6c0 Delete type=0 #114
2026/04/13-13:10:47.796281 7ff580bfb6c0 Level-0 table #110: started 2026/04/14-00:50:27.813444 7f6833fff6c0 Level-0 table #120: started
2026/04/13-13:10:47.824966 7ff580bfb6c0 Level-0 table #110: 3524 bytes OK 2026/04/14-00:50:27.816594 7f6833fff6c0 Level-0 table #120: 3524 bytes OK
2026/04/13-13:10:47.857042 7ff580bfb6c0 Delete type=0 #108 2026/04/14-00:50:27.823812 7f6833fff6c0 Delete type=0 #118
2026/04/13-13:10:47.973011 7ff580bfb6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.836273 7f6833fff6c0 Manual compaction at level-0 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
2026/04/13-13:10:47.973057 7ff580bfb6c0 Manual compaction at level-1 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 93 : 1 2026/04/14-00:50:27.836318 7f6833fff6c0 Manual compaction at level-1 from '!items!anomCommMorts001' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 101 : 1
2026/04/13-13:10:47.973063 7ff580bfb6c0 Compacting 1@1 + 1@2 files 2026/04/14-00:50:27.836325 7f6833fff6c0 Compacting 1@1 + 1@2 files
2026/04/13-13:10:47.995133 7ff580bfb6c0 Generated table #111@1: 9 keys, 6617 bytes 2026/04/14-00:50:27.839513 7f6833fff6c0 Generated table #121@1: 9 keys, 6617 bytes
2026/04/13-13:10:47.995159 7ff580bfb6c0 Compacted 1@1 + 1@2 files => 6617 bytes 2026/04/14-00:50:27.839549 7f6833fff6c0 Compacted 1@1 + 1@2 files => 6617 bytes
2026/04/13-13:10:48.030149 7ff580bfb6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/04/14-00:50:27.846476 7f6833fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/04/13-13:10:48.030263 7ff580bfb6c0 Delete type=2 #106 2026/04/14-00:50:27.846640 7f6833fff6c0 Delete type=2 #116
2026/04/13-13:10:48.030388 7ff580bfb6c0 Delete type=2 #110 2026/04/14-00:50:27.846851 7f6833fff6c0 Delete type=2 #120
2026/04/13-13:10:48.030511 7ff580bfb6c0 Manual compaction at level-1 from '!items!null' @ 93 : 1 .. '!items!null' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.853500 7f6833fff6c0 Manual compaction at level-1 from '!items!null' @ 101 : 1 .. '!items!null' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000023 MANIFEST-000031

View File

@@ -1,8 +1,8 @@
2026/04/13-13:11:31.193586 7f2a6b7fe6c0 Recovering log #21 2026/04/14-00:55:24.409141 7f68497ed6c0 Recovering log #29
2026/04/13-13:11:31.247393 7f2a6b7fe6c0 Delete type=3 #19 2026/04/14-00:55:24.424702 7f68497ed6c0 Delete type=3 #27
2026/04/13-13:11:31.247448 7f2a6b7fe6c0 Delete type=0 #21 2026/04/14-00:55:24.424755 7f68497ed6c0 Delete type=0 #29
2026/04/13-14:20:41.081350 7f2a69ffb6c0 Level-0 table #26: started 2026/04/14-00:56:01.473754 7f6833fff6c0 Level-0 table #34: started
2026/04/13-14:20:41.081377 7f2a69ffb6c0 Level-0 table #26: 0 bytes OK 2026/04/14-00:56:01.473797 7f6833fff6c0 Level-0 table #34: 0 bytes OK
2026/04/13-14:20:41.118613 7f2a69ffb6c0 Delete type=0 #24 2026/04/14-00:56:01.480607 7f6833fff6c0 Delete type=0 #32
2026/04/13-14:20:41.210913 7f2a69ffb6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.502772 7f6833fff6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end)
2026/04/13-14:20:41.210940 7f2a69ffb6c0 Manual compaction at level-1 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.502817 7f6833fff6c0 Manual compaction at level-1 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2026/04/13-13:10:44.800502 7ff582bff6c0 Recovering log #16 2026/04/14-00:42:19.965653 7f684a7ef6c0 Recovering log #25
2026/04/13-13:10:44.846821 7ff582bff6c0 Delete type=3 #14 2026/04/14-00:42:19.975753 7f684a7ef6c0 Delete type=3 #23
2026/04/13-13:10:44.846886 7ff582bff6c0 Delete type=0 #16 2026/04/14-00:42:19.975845 7f684a7ef6c0 Delete type=0 #25
2026/04/13-13:10:47.902261 7ff580bfb6c0 Level-0 table #22: started 2026/04/14-00:50:27.823985 7f6833fff6c0 Level-0 table #30: started
2026/04/13-13:10:47.902285 7ff580bfb6c0 Level-0 table #22: 0 bytes OK 2026/04/14-00:50:27.824016 7f6833fff6c0 Level-0 table #30: 0 bytes OK
2026/04/13-13:10:47.939594 7ff580bfb6c0 Delete type=0 #20 2026/04/14-00:50:27.829926 7f6833fff6c0 Delete type=0 #28
2026/04/13-13:10:47.973036 7ff580bfb6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.836282 7f6833fff6c0 Manual compaction at level-0 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end)
2026/04/13-13:10:48.030491 7ff580bfb6c0 Manual compaction at level-1 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.846965 7f6833fff6c0 Manual compaction at level-1 from '!actors!6RZ6IzJUHm4dB5Ut' @ 72057594037927935 : 1 .. '!folders!MbFQgPdF6Gtbj5AU' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000062 MANIFEST-000070

View File

@@ -1,8 +1,8 @@
2026/04/13-13:11:31.305113 7f2a6a7fc6c0 Recovering log #60 2026/04/14-00:55:24.444791 7f684a7ef6c0 Recovering log #68
2026/04/13-13:11:31.358709 7f2a6a7fc6c0 Delete type=3 #58 2026/04/14-00:55:24.460229 7f684a7ef6c0 Delete type=3 #66
2026/04/13-13:11:31.358775 7f2a6a7fc6c0 Delete type=0 #60 2026/04/14-00:55:24.460280 7f684a7ef6c0 Delete type=0 #68
2026/04/13-14:20:41.045418 7f2a69ffb6c0 Level-0 table #65: started 2026/04/14-00:56:01.496164 7f6833fff6c0 Level-0 table #73: started
2026/04/13-14:20:41.045487 7f2a69ffb6c0 Level-0 table #65: 0 bytes OK 2026/04/14-00:56:01.496194 7f6833fff6c0 Level-0 table #73: 0 bytes OK
2026/04/13-14:20:41.081154 7f2a69ffb6c0 Delete type=0 #63 2026/04/14-00:56:01.502678 7f6833fff6c0 Delete type=0 #71
2026/04/13-14:20:41.210899 7f2a69ffb6c0 Manual compaction at level-0 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.502807 7f6833fff6c0 Manual compaction at level-0 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end)
2026/04/13-14:20:41.210948 7f2a69ffb6c0 Manual compaction at level-1 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end) 2026/04/14-00:56:01.513358 7f6833fff6c0 Manual compaction at level-1 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2026/04/13-13:10:44.916572 7ff5813fc6c0 Recovering log #55 2026/04/14-00:42:19.992614 7f684a7ef6c0 Recovering log #64
2026/04/13-13:10:44.960340 7ff5813fc6c0 Delete type=3 #53 2026/04/14-00:42:20.003193 7f684a7ef6c0 Delete type=3 #62
2026/04/13-13:10:44.960396 7ff5813fc6c0 Delete type=0 #55 2026/04/14-00:42:20.003267 7f684a7ef6c0 Delete type=0 #64
2026/04/13-13:10:47.857212 7ff580bfb6c0 Level-0 table #61: started 2026/04/14-00:50:27.830098 7f6833fff6c0 Level-0 table #69: started
2026/04/13-13:10:47.857237 7ff580bfb6c0 Level-0 table #61: 0 bytes OK 2026/04/14-00:50:27.830137 7f6833fff6c0 Level-0 table #69: 0 bytes OK
2026/04/13-13:10:47.902098 7ff580bfb6c0 Delete type=0 #59 2026/04/14-00:50:27.836136 7f6833fff6c0 Delete type=0 #67
2026/04/13-13:10:47.973025 7ff580bfb6c0 Manual compaction at level-0 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.836294 7f6833fff6c0 Manual compaction at level-0 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end)
2026/04/13-13:10:48.030475 7ff580bfb6c0 Manual compaction at level-1 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end) 2026/04/14-00:50:27.846944 7f6833fff6c0 Manual compaction at level-1 from '!scenes!Jr7lGxYk2RETlXRv' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!Jr7lGxYk2RETlXRv.6urwC5SVcou6UOAG.CTg4yBE12iMee1RU.BYT1CrA37R3Og0nu' @ 0 : 0; will stop at (end)

View File

@@ -220,9 +220,9 @@
<div class="form-row-line form-visibility"> <div class="form-row-line form-visibility">
<label for="visibility">{{localize "CELESTOPOL.Roll.visibility"}}</label> <label for="visibility">{{localize "CELESTOPOL.Roll.visibility"}}</label>
<select id="visibility" name="visibility"> <select id="visibility" name="visibility">
<option value="publicroll">{{localize "CELESTOPOL.Roll.visibilityPublic"}}</option> <option value="public">{{localize "CELESTOPOL.Roll.visibilityPublic"}}</option>
<option value="gmroll">{{localize "CELESTOPOL.Roll.visibilityGM"}}</option> <option value="gm">{{localize "CELESTOPOL.Roll.visibilityGM"}}</option>
<option value="selfroll">{{localize "CELESTOPOL.Roll.visibilitySelf"}}</option> <option value="self">{{localize "CELESTOPOL.Roll.visibilitySelf"}}</option>
</select> </select>
</div> </div>