Compare commits

...
12 Commits
Author SHA1 Message Date
uberwald 16b02a3221 Passe sur tout les éléments de traducton
Release Creation / build (release) Successful in 1m7s
2026-08-04 11:00:18 +02:00
uberwald 9597c2abc1 fix(i18n): complète les clés manquantes dans les fichiers de langue
- Ajoute les clés BOL.itemProperty.magicalProperties et BOL.ui.heropoints
  (manquantes dans toutes les langues, dont le FR)
- Traduit et ajoute 27 clés EN, 35 clés ES et 100 clés DE manquantes
  (chat, itemProperty, ui, featureSubtypes) en s'appuyant sur le FR
- Résultat : 0 clé référencée par le code/templates manquante dans les
  4 fichiers de langue (fr/en/es/de)
2026-08-04 10:00:51 +02:00
uberwald 048bcb566a fix(i18n): localisation des templates et des infobulles du système
- Corrige les 9 occurrences de {{localize " BOL.ui.delete"}} avec espace parasite
  dans les templates (bio, équipement, armes de véhicule)
- Localise les textes restants codés en dur : placeholders Nom, libellé Type,
  options de type de véhicule, attaque à mains nues, Bonus, Majeur (de groupe)/
  Mineur, XP, Add/Delete/Log, Action/Jets (HUD)
- Ajoute les clés BOL.ui.* manquantes (bonus, log, add, rolls, action,
  unarmedAttack, vehicleType, majorgroup, minor) et complète fr/en/es/de
  pour hullDamage, crewDamage, fireDamage, attackModifier, vehicleWeapons,
  undead
2026-08-04 09:50:44 +02:00
uberwald 6719deb8fc fix(i18n): localisation des notifications et messages d'erreur du système 2026-08-04 09:14:29 +02:00
uberwald de1fa8ba72 fix(i18n): lien du succès héroïque localisé (EN/FR) et avertissement XP traduit 2026-08-04 08:31:08 +02:00
uberwald 215a8a1a45 Sync compendiums
Release Creation / build (release) Successful in 3m4s
2026-08-03 06:41:09 +02:00
uberwald 1b24d0223a feat: publicité des modules premium en tchat quand ils ne sont pas activés 2026-08-03 06:38:54 +02:00
uberwald 33d4c26619 fix(style): lisibilité des journaux (texte sombre sur fond blanc en vue et édition) 2026-08-03 06:19:05 +02:00
uberwald cc81acce5b fix(appv2): correction sauvegarde champs description HTML
- Remplacer les balises <prose-mirror> brutes par {{formInput}}
  pour les champs HTMLField (biographie, notes, description)
- Onglets passent en basculement CSS sans re-render
- Ajout de systemFields au contexte des feuilles d'acteur
2026-07-30 21:23:25 +02:00
uberwald c56903c8e4 Fix release numbering 2026-06-14 23:22:30 +02:00
uberwald d27d580d8c Fix for Babele translation
Release Creation / build (release) Successful in 56s
2026-05-25 23:02:08 +02:00
uberwald 967383f5b3 COrrection sur icones des effets
Release Creation / build (release) Successful in 55s
2026-04-25 09:20:15 +02:00
181 changed files with 821 additions and 427 deletions
+1 -1
View File
@@ -59,5 +59,5 @@ jobs:
version: ${{github.event.release.tag_name}} version: ${{github.event.release.tag_name}}
manifest: "https://www.uberwald.me/gitea/public/bol/releases/download/latest/system.json" manifest: "https://www.uberwald.me/gitea/public/bol/releases/download/latest/system.json"
notes: "https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/bol.zip" notes: "https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/bol.zip"
compatibility-minimum: "13" compatibility-minimum: "14"
compatibility-verified: "14" compatibility-verified: "14"
+51
View File
@@ -0,0 +1,51 @@
# BoL — FoundryVTT Game System
FoundryVTT game system for Barbarians of Lemuria (French edition, Ludospherik). System id `bol`. Compatible Foundry v13v14.
## Commands
| Command | Action |
|---------|--------|
| `npm run css` | Compile LESS → `css/bol.css` (one-shot) |
| `npm run watch` / `npm start` | Watch `styles/**/*.less`, recompile on change |
No test or lint scripts exist.
## Entry Point & Architecture
`module/bol.js` — wires everything in `Hooks.once('init', ...)` and `Hooks.once('ready', ...)`.
| Path | Role |
|------|------|
| `module/bol.js` | System init, sheet/data model registration, socket setup |
| `module/system/config.js` | `BOL` constants, `System.debugMode` flag |
| `module/system/bol-utility.js` | Static helpers, settings (`bol` namespace), socket handler (`system.bol`) |
| `module/controllers/bol-rolls.js` | All roll logic — `BoLRoll` static methods |
| `module/models/` | DataModel classes (`.mjs`) for Actor/Item types |
| `module/applications/sheets/` | **AppV2 sheets** (`ActorSheetV2`/`ItemSheetV2` + `HandlebarsApplicationMixin`) |
| `styles/` | LESS sources → compiled to `css/bol.css` |
| `templates/` | Handlebars `.hbs` partials |
| `lang/` | `fr.json`, `en.json`, `de.json`, `es.json` |
## Key Conventions
- **AppV2 sheets** — base classes are `foundry.applications.sheets.ActorSheetV2` / `ItemSheetV2` mixed with `HandlebarsApplicationMixin`. Do NOT use `foundry.appv1.sheets.*`.
- **`game.bol`** — system exposes `BoLActor`, `BoLItem`, `BoLRoll`, `BoLUtility`, `Macros`, `BOL` config, `models`, `sheets` on this namespace after init.
- **i18n prefix** — all keys start with `BOL.`; use `game.i18n.localize("BOL.xxx")`.
- **FR-first** — `fr.json` is most complete. EN compendium translation requires [Babele](https://gitlab.com/riccisi/foundryvtt-babele) module. A warning fires at startup if EN is selected without Babele.
- **`System.debugMode = true`** in `module/system/config.js:8` — set to `false` before release.
- **LESS only** — never edit `css/bol.css` directly. Edit `.less` files under `styles/`, recompile with `npm run css`.
- **Data models** — `template.json` defines schema via `Actor.types` (character, encounter, horde, vehicle) and `Item.types` (item, feature). All data lives under `.system`.
- **Sheet partials** — registered in `module/system/templates.js`. Add new partials there.
- **Static classes** — `BoLRoll` and `BoLUtility` are purely static; never instantiate.
- **`template.json.SAVED`** in root is the data model reference; the actual `template.json` may need regeneration.
- **`package.json` and lockfile are in `.gitignore`** — npm is dev-only for LESS compilation. Not needed to run the system in Foundry.
- **`{{formInput}}` for HTML fields** — always use `{{formInput fieldDef enriched=x value=y name="system.path" toggled=isEditable}}` for `HTMLField` in AppV2 sheets. Never use raw `<prose-mirror>` elements; they break form submission.
- **Tab switching** — use CSS-only toggle (no `this.render()`) to preserve ProseMirror editor state. See `base-item-sheet.mjs` pattern.
## CI & Release
- CI triggers **only on release publish** (`.gitea/workflows/main.yml`).
- Release zips: `system.json template.json README.md LICENSE assets/ compendiums/ css/ fonts/ images/ lang/ module/ packs/ styles/ templates/ ui/`.
- Version/URL manifest/download are substituted in `system.json` during CI.
- Published to Foundry package registry via `foundryvtt-publish-package-action`.
+25 -11
View File
@@ -1512,6 +1512,21 @@ h2.bad {
.bol-welcome-card .welcome-body a { .bol-welcome-card .welcome-body a {
color: darkred; color: darkred;
} }
.bol-welcome-card .welcome-body .welcome-premium {
margin-top: 6px;
padding: 6px 10px;
font-size: 0.8rem;
color: #191813;
background: linear-gradient(135deg, #fdf7e6, #f6e8c8);
border: 1px solid #c9a227;
border-left: 4px solid #c9a227;
border-radius: 3px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.bol-welcome-card .welcome-body .welcome-premium a {
color: #7a5c00;
font-weight: bold;
}
.bol-welcome-card .welcome-footer { .bol-welcome-card .welcome-footer {
margin-top: 8px; margin-top: 8px;
padding: 4px 10px; padding: 4px 10px;
@@ -1522,15 +1537,6 @@ h2.bad {
border-radius: 4px; border-radius: 4px;
letter-spacing: 0.5px; letter-spacing: 0.5px;
} }
.bol-welcome-card .welcome-warning {
margin-top: 6px;
padding: 4px 8px;
font-size: 0.8rem;
color: #7a0000;
background: #fff3f3;
border: 1px solid #e57373;
border-radius: 3px;
}
/* Component Styles */ /* Component Styles */
/* ----------------------------------------- */ /* ----------------------------------------- */
/* Common Sheet Styles */ /* Common Sheet Styles */
@@ -1538,8 +1544,16 @@ h2.bad {
body.system-bol img#logo { body.system-bol img#logo {
content: url("/systems/bol/ui/logo2.webp"); content: url("/systems/bol/ui/logo2.webp");
} }
.journal-page-content { .journal-page-content,
/* Reserved for future use */ .journal-page-content p,
.journal-page-content div,
.journal-page-content span {
color: #191813 !important;
}
.sheet.journal-entry prose-mirror.journal-page-content,
prose-mirror.journal-page-content {
background-color: white;
background: white;
} }
.bol.dialog > section.window-content { .bol.dialog > section.window-content {
background: white; background: white;
+142 -1
View File
@@ -55,6 +55,16 @@
"BOL.ui.equip": "Anlegen", "BOL.ui.equip": "Anlegen",
"BOL.ui.delete": "Löschen", "BOL.ui.delete": "Löschen",
"BOL.ui.roll" : "Würfeln", "BOL.ui.roll" : "Würfeln",
"BOL.ui.bonus": "Bonus",
"BOL.ui.log": "Protokoll",
"BOL.ui.add": "Hinzufügen",
"BOL.ui.rolls": "Würfe",
"BOL.ui.action": "Aktion",
"BOL.ui.unarmedAttack": "Unbewaffneter Angriff",
"BOL.ui.vehicleType.boat": "Schiff",
"BOL.ui.vehicleType.flyingboat": "Flugschiff",
"BOL.ui.vehicleType.chariot": "Streitwagen/Karre",
"BOL.ui.vehicleType.other": "Anderes",
"BOL.ui.equipment" : "Ausrüstung", "BOL.ui.equipment" : "Ausrüstung",
"BOL.ui.equipmentProperties" : "Ausrüstungseigenschaften", "BOL.ui.equipmentProperties" : "Ausrüstungseigenschaften",
"BOL.ui.weaponAttack" : "Waffenangriff", "BOL.ui.weaponAttack" : "Waffenangriff",
@@ -156,6 +166,15 @@
"BOL.ui.armorAgiMalus": "Rüschtung+Schild-Malus (Geschick)", "BOL.ui.armorAgiMalus": "Rüschtung+Schild-Malus (Geschick)",
"BOL.ui.armorInitMalus": "Rüstungsmalus (Init)", "BOL.ui.armorInitMalus": "Rüstungsmalus (Init)",
"BOL.ui.attackValue": "Angriffswert", "BOL.ui.attackValue": "Angriffswert",
"BOL.ui.attackModifier": "Angriffsmodifikator",
"BOL.ui.vehicleWeapons": "Fahrzeugwaffen",
"BOL.ui.hullDamage": "Rumpfschaden",
"BOL.ui.crewDamage": "Besatzungsschaden",
"BOL.ui.fireDamage": "Feuer ?",
"BOL.ui.undead": "Untot",
"BOL.ui.minor": "Gering",
"BOL.ui.major": "Groß",
"BOL.ui.majorgroup": "Große Gruppe",
"BOL.ui.initMalus": "Init malus", "BOL.ui.initMalus": "Init malus",
"BOL.ui.createEquipment": "Create Equipment", "BOL.ui.createEquipment": "Create Equipment",
@@ -175,6 +194,9 @@
"BOL.featureSubtypes.language": "Sprache", "BOL.featureSubtypes.language": "Sprache",
"BOL.featureSubtypes.gods": "Glauben & Götter", "BOL.featureSubtypes.gods": "Glauben & Götter",
"BOL.featureSubtypes.fightOption": "Kampfoption", "BOL.featureSubtypes.fightOption": "Kampfoption",
"BOL.featureSubtypes.effect": "Effekt",
"BOL.featureSubtypes.horoscope": "Horoskop",
"BOL.featureSubtypes.xplog": "XP-Protokoll",
"BOL.bougette.nomoney": "Mittellos", "BOL.bougette.nomoney": "Mittellos",
"BOL.bougette.tolive": "Zum Überleben", "BOL.bougette.tolive": "Zum Überleben",
@@ -291,6 +313,17 @@
"BOL.itemProperty.natural": "Natürliche Waffe", "BOL.itemProperty.natural": "Natürliche Waffe",
"BOL.itemProperty.onlymodifier": "Nur Modifikator (d.h. Angriffe von Kreaturen)", "BOL.itemProperty.onlymodifier": "Nur Modifikator (d.h. Angriffe von Kreaturen)",
"BOL.itemProperty.attackMalusDice": "Angriffsmalus (Würfel)", "BOL.itemProperty.attackMalusDice": "Angriffsmalus (Würfel)",
"BOL.itemProperty.crewDamageMultiplier": "Multiplikator",
"BOL.itemProperty.crewdamage": "Schadenswert für die Besatzung",
"BOL.itemProperty.hullDamageMultiplier": "Multiplikator",
"BOL.itemProperty.hulldamage": "Schadenswert für den Rumpf",
"BOL.itemProperty.isboarding": "Entern",
"BOL.itemProperty.isbreakrow": "Ruder brechen",
"BOL.itemProperty.iscrewdamage": "Besatzungsschaden",
"BOL.itemProperty.isfiredamage": "Feuerschaden",
"BOL.itemProperty.ishulldamage": "Rumpfschaden",
"BOL.itemProperty.isspur": "Rammstoß",
"BOL.itemProperty.vehicleDamageType": "Fahrzeugschadenstyp",
"BOL.itemStat.quantity": "Anzahl", "BOL.itemStat.quantity": "Anzahl",
"BOL.itemStat.weight": "Gewicht", "BOL.itemStat.weight": "Gewicht",
@@ -379,6 +412,23 @@
"BOL.notification.MacroMultipleTokensSelected": "Du hast mehrere Token ausgewählt", "BOL.notification.MacroMultipleTokensSelected": "Du hast mehrere Token ausgewählt",
"BOL.notification.MacroNoActorAvailable": "Es konnte kein Akteur gefunden werden", "BOL.notification.MacroNoActorAvailable": "Es konnte kein Akteur gefunden werden",
"BOL.notification.MacroNoTokenSelected": "Du musst einen Token auswählen", "BOL.notification.MacroNoTokenSelected": "Du musst einen Token auswählen",
"BOL.notification.MacroNoItemFound": "{actor} : kein(e) {type} gefunden.",
"BOL.notification.MacroSpecifyNameOrIndex": "Geben Sie einen Namen oder einen Index an : {names}",
"BOL.notification.MacroBadIndex": "{actor} : Index {index} für {type} ungültig.",
"BOL.notification.MacroItemNotFound": "{actor} : {type} \"{name}\" nicht gefunden.",
"BOL.notification.MacroUnknownAttribute": "Unbekanntes Attribut : \"{key}\". Werte : vigor, agility, mind, appeal",
"BOL.notification.MacroUnknownAptitude": "Unbekannte Fertigkeit : \"{key}\". Werte : init, melee, ranged, def",
"BOL.notification.MacroUnknownRollType": "Unbekannter Wurftyp : \"{type}\". Gültige Typen : attribute, aptitude, weapon, spell, alchemy, horoscope",
"BOL.notification.MacroNoPower": "Nicht genug Kraftpunkte !",
"BOL.notification.FullDefense": "{actor} ist in voller Verteidigung ! Er kann in dieser Runde nicht angreifen.",
"BOL.notification.WeaponNotFound": "Waffe nicht gefunden !",
"BOL.notification.AlchemyNotFound": "Alchemie nicht gefunden !",
"BOL.notification.SpellNotFound": "Diesen Zauber nicht gefunden !",
"BOL.notification.NotEnoughCreationPrep": "Nicht genug Schöpfungspunkte in die Vorbereitung investiert !",
"BOL.notification.NoPower": "Nicht genug Kraftpunkte !",
"BOL.notification.AttackNotFound": "Der entsprechende Angriff wurde nicht gefunden, Fehler bei der Kampfverfolgung.",
"BOL.notification.NoBirthHour": "{actor} hat keine Geburtsstunde, oder sie ist falsch : {hour}",
"BOL.notification.BadBirthHour": "{hour} entspricht keiner Geburtsstunde",
"BOL.size.tiny": "Winzig", "BOL.size.tiny": "Winzig",
"BOL.size.verysmall": "Sehr klein", "BOL.size.verysmall": "Sehr klein",
@@ -462,6 +512,54 @@
"BOL.ui.biosigns": "Erkennungszeichen", "BOL.ui.biosigns": "Erkennungszeichen",
"BOL.ui.biodescription": "Beschreibung", "BOL.ui.biodescription": "Beschreibung",
"BOL.ui.bionotes": "Notizen", "BOL.ui.bionotes": "Notizen",
"BOL.ui.aggressive": "Aggressiver Zauber?",
"BOL.ui.armornoformula": "Die Rüstung {protect.name} hat keine Formel für den Schutz!",
"BOL.ui.astrologerRank": "Rang des Astrologen",
"BOL.ui.astrology": "Astrologie und Horoskope",
"BOL.ui.astrologyMajor": "Großes Horoskop erstellen",
"BOL.ui.astrologyMajorGroup": "Großes Gruppen-Horoskop erstellen",
"BOL.ui.astrologyMinor": "Kleines Horoskop erstellen",
"BOL.ui.astrologyNoPoints": "Du hast nicht genug Astrologiepunkte!",
"BOL.ui.attributaptitude": "Attribut oder Fertigkeit",
"BOL.ui.boleffects": "Effekte (automatisch)",
"BOL.ui.confirmdelete": "Bist du sicher, dass du diesen Gegenstand löschen willst?",
"BOL.ui.cost": "XP-Kosten",
"BOL.ui.createNaturalProtection": "Natürlichen Schutz erstellen",
"BOL.ui.createNaturalWeapon": "Natürliche Waffe erstellen",
"BOL.ui.creature": "Kreatur",
"BOL.ui.daemon": "Dämon",
"BOL.ui.date": "Datum",
"BOL.ui.deletetitle": "Löschung",
"BOL.ui.effects": "Aktive Effekte",
"BOL.ui.heropoints": "Helden-/Bösewicht-Punkte",
"BOL.ui.hordeAttack": "Hordenangriff",
"BOL.ui.hordeHP": "Vitalität (1 Mitglied)",
"BOL.ui.hordeSize": "Hordengröße",
"BOL.ui.hordehp": "Vitalität (gesamt)",
"BOL.ui.horoscopeCost": "Kosten in Astrologiepunkten",
"BOL.ui.horoscopeDiceMax": "Maximale Würfel",
"BOL.ui.horoscopeDiceRemaining": "Verbleibende Würfel",
"BOL.ui.horoscopeGroup": "Gruppen-Horoskope",
"BOL.ui.isAstrologer": "Astrologenkarriere?",
"BOL.ui.isspecial": "Speziell?",
"BOL.ui.itemnotfound": "Das Objekt dieser Makro konnte nicht gefunden werden",
"BOL.ui.magicnewrules": "Zusätzliche Regeln (vgl. Fan-Zusatz Zauberei!)",
"BOL.ui.makeHoroscope": "Horoskop erstellen",
"BOL.ui.modifier": "Modifikator",
"BOL.ui.newEquipment": "Neue Ausrüstung",
"BOL.ui.newNaturalProtection": "Natürlicher Schutz",
"BOL.ui.newNaturalWeapon": "Natürliche Waffe",
"BOL.ui.nomorealchemypoints": "Nicht genug Schöpfungspunkte!",
"BOL.ui.notenoughxp": "Nicht genug Erfahrungspunkte!",
"BOL.ui.pclistbutton": "Kompakte Ansicht",
"BOL.ui.rabble": "Meute",
"BOL.ui.selectactor": "Wähle deinen Charakter aus, um die Makro zu verwenden",
"BOL.ui.tough": "Zäh",
"BOL.ui.value": "Wert",
"BOL.ui.villain": "Rivale",
"BOL.ui.warninitiative": "Deine Initiative ist nicht verfügbar. Führe für diesen Kampf einen Initiative-Wurf aus.",
"BOL.ui.weaponbonus": "Diese Waffe hat bereits einen Bonuswürfel (z. B. Lieblingswaffe berücksichtigt)",
"BOL.ui.xplog": "XP-Protokoll",
"BOL.chat.welcome1": "Willkommen zu Barbarians of Lemuria (französische Ludospherik-Version, deutsche Übersetzung von Truant Spiele)", "BOL.chat.welcome1": "Willkommen zu Barbarians of Lemuria (französische Ludospherik-Version, deutsche Übersetzung von Truant Spiele)",
"BOL.chat.welcome2": "Zum Spielen werden zwingend die passenden BoL Bücher benötigt. Die französischen Originalbücher für dieses System gibt es hier: http://www.ludospherik.fr/content/14-barbarians-of-lemuria<br>Die deutsche Übersetzung gibt es bei Truant Spiele: https://truant.com/produkt/barbarians-of-lemuria-2", "BOL.chat.welcome2": "Zum Spielen werden zwingend die passenden BoL Bücher benötigt. Die französischen Originalbücher für dieses System gibt es hier: http://www.ludospherik.fr/content/14-barbarians-of-lemuria<br>Die deutsche Übersetzung gibt es bei Truant Spiele: https://truant.com/produkt/barbarians-of-lemuria-2",
@@ -469,7 +567,50 @@
"BOL.chat.welcome4": "Im Discord findet ihr Support für die FoundryVTT-Implementierung dieses Systems: https://discord.gg/pPSDNJk", "BOL.chat.welcome4": "Im Discord findet ihr Support für die FoundryVTT-Implementierung dieses Systems: https://discord.gg/pPSDNJk",
"BOL.chat.welcome5": "Auf ein gutes Spiel in Lemuria!", "BOL.chat.welcome5": "Auf ein gutes Spiel in Lemuria!",
"BOL.chat.welcome6": "", "BOL.chat.welcome6": "",
"BOL.chat.bolRulebookMessage": "Don't miss the full Rulebook module (including Sagas) available at : https://www.ludospherik-editions.com/en_gb/ !", "BOL.chat.msgonlygm": "Nachricht nur für den GM",
"BOL.chat.babelewarning": "⚠ WARNUNG ! Englisch ist ausgewählt, aber das Babele-Modul ist nicht installiert !<br>Bitte installieren Sie babele über den Modul-Reiter in der Foundry-Oberfläche.",
"BOL.chat.bolRulebookMessage": "Don't miss the premium Rulebook module (including Sagas), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-rulebook' target='_blank'>https://foundryvtt.com/packages/bol-rulebook</a>",
"BOL.chat.bolChroniclesMessage": "Discover the premium Chronicles of Lemuria module (vol. 1), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-chronicles-1' target='_blank'>https://foundryvtt.com/packages/bol-chronicles-1</a>",
"BOL.chat.applyrecup": "Einige Minuten ausruhen (+{recupHP} Vitalität)",
"BOL.chat.armorRoll": "Rüstungswurf ",
"BOL.chat.bougettefailure": "Du hast zu viel ausgegeben, dein Budget hat sich verringert...",
"BOL.chat.bougettesuccess": "Dein Budget bleibt unverändert!",
"BOL.chat.criticalbuttonjournal": "Heroischer/Legendärer Erfolg",
"BOL.chat.criticalinfo": "Das ist ein heroischer Erfolg! Wähle deine Optionen und Effekte!",
"BOL.chat.criticallegendaryinfo": "Das ist ein legendärer Erfolg! Wähle deine Optionen und Effekte!",
"BOL.chat.damageresume": "{name} hat Verletzungen erlitten ...",
"BOL.chat.defenseReduceDamage2": "Du kannst außerdem 1 Helden-/Bösewicht-Punkt ausgeben, um [[/r 2d6KH(1D6B)]] Vitalitätspunkte zurückzugewinnen; das kostet dich deine nächste Aktion.",
"BOL.chat.fumblemessage": "Wenn du die Konsequenzen eines katastrophalen Fehlschlags akzeptierst (Wahl des Spielleiters), erhältst du 1 zusätzlichen Heldenpunkt",
"BOL.chat.heroicreminder": "Zusätzlich zu den Aktionen der Schaltflächen unten kannst du: <ul><li>Gemetzel: Greife denselben Gegner ein zweites Mal an</li><li>Präziser Schlag: Ein Maluswürfel für deinen Gegner auf eine gewählte Lokalisation</li><li>Entwaffnung</li><li>Massaker an der Meute</li><li>Umwerfen: Wirf deinen Gegner um (max. 1 Größe mehr)</li></ul>Wenn du zusätzlich einen Heldenpunkt ausgibst, können all diese Effekte verdoppelt werden",
"BOL.chat.horoscope": "Horoskop",
"BOL.chat.horoscopedeleted": "Das/die verwendete(n) Horoskop(e) wurde(n) automatisch entfernt.",
"BOL.chat.horoscopemajorfailure": "Dein großes Horoskop ist ein Fehlschlag: {horoscopeName} verliert für dieses Abenteuer 1 Heldenpunkt. Dieser Punkt wurde automatisch abgezogen.",
"BOL.chat.horoscopemajorgroupfailure": "Dein großes Gruppen-Horoskop ist ein Fehlschlag. Du und deine Freunde erleiden für dieses Abenteuer {careerBonus} Maluswürfel.",
"BOL.chat.horoscopemajorgroupsuccess": "Dein großes Gruppen-Horoskop ist ein Erfolg. Du und deine Freunde erhalten für dieses Abenteuer {careerBonus} Bonuswürfel.",
"BOL.chat.horoscopemajorsuccess": "Dein großes Horoskop ist ein Erfolg: {horoscopeName} erhält für dieses Abenteuer 1 zusätzlichen Heldenpunkt. Dieser Punkt wurde automatisch hinzugefügt.",
"BOL.chat.horoscopeminorfailure": "Dein kleines Horoskop ist ein Fehlschlag: Bearbeite den Namen des Horoskops auf deinem Blatt. Du erleidest für diese Situation 1 Maluswürfel.",
"BOL.chat.horoscopeminorsuccess": "Dein kleines Horoskop ist ein Erfolg: Bearbeite den Namen des Horoskops auf deinem Blatt. Du erhältst für diese Situation 1 Bonuswürfel.",
"BOL.chat.horoscopepoints": "Kosten: {points} Astrologiepunkte",
"BOL.chat.initiative": "Initiative-Rang (10 bis 1)",
"BOL.chat.legendaryreminder": "Zusätzlich zu den Aktionen der Schaltflächen unten kannst du 2 Aktionen ausführen: <ul><li>Gemetzel: Greife denselben Gegner ein zweites Mal an</li><li>Präziser Schlag: Ein Maluswürfel für deinen Gegner auf eine gewählte Lokalisation</li><li>Entwaffnung</li><li>Massaker an der Meute</li><li>Umwerfen: Wirf deinen Gegner um (max. 1 Größe mehr)</li></ul>",
"BOL.chat.losshp": "{name} hat {lossHP} Vitalitätspunkte verloren. Wenn er sich ein paar Minuten ausruht, kann er {recupHP} Vitalitätspunkte zurückgewinnen.",
"BOL.chat.nodamage": "Keinen Schaden anwenden",
"BOL.chat.nodamagesummary": "Es wurde kein Schaden erlitten ....",
"BOL.chat.pcnotlinked": "Das Token des Spielercharakters ist nicht mit dem Actor verknüpft",
"BOL.chat.pcnotlinkedmsg": "<b>ACHTUNG</b> Das Token des Spielercharakters ist nicht mit dem Actor verknüpft!",
"BOL.chat.pcwarning": "Achtung! Kein Charakter ist mit dem Spieler verknüpft!",
"BOL.chat.pcwarningmsg": "<b>ACHTUNG</b> Der Spieler ist mit keinem Charakter verknüpft!",
"BOL.chat.rangeinfo": "Wurf von {attackerName} auf {defenderName}",
"BOL.chat.rangenotvisible": "Die Sichtlinie zwischen den Beteiligten ist blockiert.",
"BOL.chat.rangeprefix": "Geschätzte Entfernung: ",
"BOL.chat.rangetitle": "SL-Information",
"BOL.chat.rangevisible": "Die Sichtlinie zwischen den Beteiligten ist frei.",
"BOL.chat.rangeweaponinfo": "Waffe: {weaponName} - Basisreichweite {weaponRange}",
"BOL.chat.rollbougette": "Budgetwurf",
"BOL.chat.rolldamage12Legend": "Schaden +12",
"BOL.chat.selecttarget": "Ziel wählen:",
"BOL.chat.usedhoroscope": "Verwendetes Horoskop",
"BOL.chat.weaponreroll1": "Zur Information: Diese Waffe würfelt Einsen bei ihrem Schaden neu.",
"BOL.settings.rollArmor": "Roll for armor", "BOL.settings.rollArmor": "Roll for armor",
"BOL.settings.rollArmorTooltip": "Roll for armor value, fixed value if unchecked", "BOL.settings.rollArmorTooltip": "Roll for armor value, fixed value if unchecked",
+66 -2
View File
@@ -78,6 +78,16 @@
"BOL.ui.equip": "Equip", "BOL.ui.equip": "Equip",
"BOL.ui.delete": "Delete", "BOL.ui.delete": "Delete",
"BOL.ui.roll" : "Roll", "BOL.ui.roll" : "Roll",
"BOL.ui.bonus": "Bonus",
"BOL.ui.log": "Log",
"BOL.ui.add": "Add",
"BOL.ui.rolls": "Rolls",
"BOL.ui.action": "Action",
"BOL.ui.unarmedAttack": "Unarmed attack",
"BOL.ui.vehicleType.boat": "Ship",
"BOL.ui.vehicleType.flyingboat": "Flying ship",
"BOL.ui.vehicleType.chariot": "Chariot/Cart",
"BOL.ui.vehicleType.other": "Other",
"BOL.ui.equipment" : "Equipment", "BOL.ui.equipment" : "Equipment",
"BOL.ui.equipmentProperties" : "Equipment properties", "BOL.ui.equipmentProperties" : "Equipment properties",
"BOL.ui.weaponAttack" : "Weapon attack", "BOL.ui.weaponAttack" : "Weapon attack",
@@ -177,6 +187,10 @@
"BOL.ui.armorInitMalus": "Armor Modifier (Init)", "BOL.ui.armorInitMalus": "Armor Modifier (Init)",
"BOL.ui.attackValue": "Attack Value", "BOL.ui.attackValue": "Attack Value",
"BOL.ui.attackModifier": "Attack Modifier", "BOL.ui.attackModifier": "Attack Modifier",
"BOL.ui.vehicleWeapons": "Vehicle weapons",
"BOL.ui.hullDamage": "Hull damage",
"BOL.ui.crewDamage": "Crew damage",
"BOL.ui.fireDamage": "Fire ?",
"BOL.ui.weaponbonus": "Cette arme bénéficie déja d'un Dé de Bonus (Arme Favorite prise en compte, par exemple)", "BOL.ui.weaponbonus": "Cette arme bénéficie déja d'un Dé de Bonus (Arme Favorite prise en compte, par exemple)",
"BOL.ui.initMalus": "Init malus", "BOL.ui.initMalus": "Init malus",
"BOL.ui.creature": "Creature", "BOL.ui.creature": "Creature",
@@ -195,6 +209,7 @@
"BOL.ui.deletetitle": "Delete", "BOL.ui.deletetitle": "Delete",
"BOL.ui.confirmdelete": "Are you sure to delete this item ?", "BOL.ui.confirmdelete": "Are you sure to delete this item ?",
"BOL.ui.nomorealchemypoints": "No more Creation Point !", "BOL.ui.nomorealchemypoints": "No more Creation Point !",
"BOL.ui.notenoughxp": "Not enough experience points !",
"BOL.ui.armornoformula": "The Armor {protect.name} has no protection formula !", "BOL.ui.armornoformula": "The Armor {protect.name} has no protection formula !",
"BOL.ui.selectactor": "Select the actors to apply the macro", "BOL.ui.selectactor": "Select the actors to apply the macro",
"BOL.ui.itemnotfound": "Impossible to find the object of this macro", "BOL.ui.itemnotfound": "Impossible to find the object of this macro",
@@ -366,6 +381,18 @@
"BOL.itemProperty.natural": "Natural weapon", "BOL.itemProperty.natural": "Natural weapon",
"BOL.itemProperty.onlymodifier": "Modifier only (ie creatures attacks)", "BOL.itemProperty.onlymodifier": "Modifier only (ie creatures attacks)",
"BOL.itemProperty.attackMalusDice": "Attack Malus (Dice)", "BOL.itemProperty.attackMalusDice": "Attack Malus (Dice)",
"BOL.itemProperty.crewDamageMultiplier": "Multiplier",
"BOL.itemProperty.crewdamage": "Crew damage value",
"BOL.itemProperty.hullDamageMultiplier": "Multiplier",
"BOL.itemProperty.hulldamage": "Hull damage value",
"BOL.itemProperty.isboarding": "Boarding",
"BOL.itemProperty.isbreakrow": "Break the oars",
"BOL.itemProperty.iscrewdamage": "Crew damage",
"BOL.itemProperty.isfiredamage": "Fire damage",
"BOL.itemProperty.ishulldamage": "Hull damage",
"BOL.itemProperty.isspur": "Ramming",
"BOL.itemProperty.magicalProperties": "Magical properties",
"BOL.itemProperty.vehicleDamageType": "Vehicle damage type",
"BOL.itemStat.quantity": "Quantity", "BOL.itemStat.quantity": "Quantity",
"BOL.itemStat.weight": "Weight", "BOL.itemStat.weight": "Weight",
@@ -444,6 +471,23 @@
"BOL.notification.MacroMultipleTokensSelected": "You have selected several tokens!", "BOL.notification.MacroMultipleTokensSelected": "You have selected several tokens!",
"BOL.notification.MacroNoActorAvailable": "No actor could be targeted!", "BOL.notification.MacroNoActorAvailable": "No actor could be targeted!",
"BOL.notification.MacroNoTokenSelected": "You must select a token!", "BOL.notification.MacroNoTokenSelected": "You must select a token!",
"BOL.notification.MacroNoItemFound": "{actor} : no {type} found.",
"BOL.notification.MacroSpecifyNameOrIndex": "Specify a name or an index : {names}",
"BOL.notification.MacroBadIndex": "{actor} : index {index} invalid for {type}.",
"BOL.notification.MacroItemNotFound": "{actor} : {type} \"{name}\" not found.",
"BOL.notification.MacroUnknownAttribute": "Unknown attribute : \"{key}\". Values : vigor, agility, mind, appeal",
"BOL.notification.MacroUnknownAptitude": "Unknown aptitude : \"{key}\". Values : init, melee, ranged, def",
"BOL.notification.MacroUnknownRollType": "Unknown roll type : \"{type}\". Valid types : attribute, aptitude, weapon, spell, alchemy, horoscope",
"BOL.notification.MacroNoPower": "Not enough Power points !",
"BOL.notification.FullDefense": "{actor} is in Full Defense ! He cannot attack this round.",
"BOL.notification.WeaponNotFound": "Unable to find weapon !",
"BOL.notification.AlchemyNotFound": "Unable to find Alchemy !",
"BOL.notification.SpellNotFound": "Unable to find this spell !",
"BOL.notification.NotEnoughCreationPrep": "Not enough Creation Points invested in the Preparation !",
"BOL.notification.NoPower": "Not enough Power points !",
"BOL.notification.AttackNotFound": "Unable to find the corresponding attack, combat tracking error.",
"BOL.notification.NoBirthHour": "{actor} has no birth hour, or it is incorrect : {hour}",
"BOL.notification.BadBirthHour": "{hour} does not correspond to a birth hour",
"BOL.size.tiny": "Tiny", "BOL.size.tiny": "Tiny",
"BOL.size.verysmall": "Very Small", "BOL.size.verysmall": "Very Small",
@@ -545,7 +589,8 @@
"BOL.chat.criticalbuttonjournal": "Legendary/Heroic Success", "BOL.chat.criticalbuttonjournal": "Legendary/Heroic Success",
"BOL.chat.nodamage": "Do not apply damages", "BOL.chat.nodamage": "Do not apply damages",
"BOL.chat.armorRoll": "Armor roll", "BOL.chat.armorRoll": "Armor roll",
"BOL.chat.bolRulebookMessage": "Don't miss the full Rulebook module (including Sagas) available at : https://www.ludospherik-editions.com/en_gb/ !", "BOL.chat.bolRulebookMessage": "Don't miss the premium Rulebook module (including Sagas), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-rulebook' target='_blank'>https://foundryvtt.com/packages/bol-rulebook</a>",
"BOL.chat.bolChroniclesMessage": "Discover the premium Chronicles of Lemuria module (vol. 1), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-chronicles-1' target='_blank'>https://foundryvtt.com/packages/bol-chronicles-1</a>",
"BOL.dialog.soeasy": "So easy (+4)", "BOL.dialog.soeasy": "So easy (+4)",
"BOL.dialog.soeasy3": "So easy (+3)", "BOL.dialog.soeasy3": "So easy (+3)",
@@ -592,6 +637,15 @@
"BOL.chat.welcome4": "All support for this system is available on this Discord server : https://discord.gg/pPSDNJk", "BOL.chat.welcome4": "All support for this system is available on this Discord server : https://discord.gg/pPSDNJk",
"BOL.chat.welcome5": "<strong>In order to see compendiums in English, you must install and enable the Babele module.</strong>", "BOL.chat.welcome5": "<strong>In order to see compendiums in English, you must install and enable the Babele module.</strong>",
"BOL.chat.welcome6": "Good game in Lemuria !", "BOL.chat.welcome6": "Good game in Lemuria !",
"BOL.chat.msgonlygm": "Message only to the GM",
"BOL.chat.babelewarning": "⚠ WARNING ! English language selected, but Babele module is not installed !<br>Please install babele from the module tab in Foundry interface.",
"BOL.chat.applyrecup": "Recover during a few minutes (+{recupHP} Vitality)",
"BOL.chat.defenseReduceDamage2": "You can also spend 1 Heroism/Villainy Point to regain [[/r 2d6KH(1D6B)]] vitality points, this will cost you your next action.",
"BOL.chat.losshp": "{name} lost {lossHP} Vitality points. If he rests a few minutes, he can recover {recupHP} Vitality points.",
"BOL.chat.pcnotlinked": "The player character token is not linked to the actor",
"BOL.chat.pcnotlinkedmsg": "<b>WARNING</b> The player character token is not linked to the actor!",
"BOL.chat.pcwarning": "Warning! No character is linked to the player!",
"BOL.chat.pcwarningmsg": "<b>WARNING</b> The player is not linked to any character!",
"BOL.settings.rollArmor": "Roll for armor", "BOL.settings.rollArmor": "Roll for armor",
"BOL.settings.rollArmorTooltip": "Roll for armor value, fixed value if unchecked", "BOL.settings.rollArmorTooltip": "Roll for armor value, fixed value if unchecked",
@@ -615,5 +669,15 @@
"BOL.ui.charSummaryTitle": "Character Summary", "BOL.ui.charSummaryTitle": "Character Summary",
"BOL.ui.colGroupAttributes": "Attributes", "BOL.ui.colGroupAttributes": "Attributes",
"BOL.ui.colGroupAptitudes": "Aptitudes", "BOL.ui.colGroupAptitudes": "Aptitudes",
"BOL.ui.colGroupResources": "Resources" "BOL.ui.colGroupResources": "Resources",
"BOL.ui.aggressive": "Aggressive spell?",
"BOL.ui.capacityProperties": "Capacity properties",
"BOL.ui.cost": "XP cost",
"BOL.ui.date": "Date",
"BOL.ui.heropoints": "Heroism/Villainy Points",
"BOL.ui.isbonusdice": "Provides a bonus die?",
"BOL.ui.ismalusdice": "Provides a penalty die?",
"BOL.ui.magicnewrules": "Additional rules (cf. fan-made supplement Sorcery!)",
"BOL.ui.value": "Value",
"BOL.ui.xplog": "XP Log"
} }
+73 -1
View File
@@ -77,6 +77,16 @@
"BOL.ui.equip": "Equipar", "BOL.ui.equip": "Equipar",
"BOL.ui.delete": "Borrar", "BOL.ui.delete": "Borrar",
"BOL.ui.roll" : "Tirar", "BOL.ui.roll" : "Tirar",
"BOL.ui.bonus": "Bonificación",
"BOL.ui.log": "Registro",
"BOL.ui.add": "Añadir",
"BOL.ui.rolls": "Tiradas",
"BOL.ui.action": "Acción",
"BOL.ui.unarmedAttack": "Ataque sin armas",
"BOL.ui.vehicleType.boat": "Barco",
"BOL.ui.vehicleType.flyingboat": "Nave Voladora",
"BOL.ui.vehicleType.chariot": "Carro",
"BOL.ui.vehicleType.other": "Otro",
"BOL.ui.equipment" : "Equipo", "BOL.ui.equipment" : "Equipo",
"BOL.ui.equipmentProperties" : "Propiedades Equipo", "BOL.ui.equipmentProperties" : "Propiedades Equipo",
"BOL.ui.weaponAttack" : "Ataque Arma", "BOL.ui.weaponAttack" : "Ataque Arma",
@@ -177,6 +187,10 @@
"BOL.ui.armorInitMalus": "Mod. Armadura (Inic)", "BOL.ui.armorInitMalus": "Mod. Armadura (Inic)",
"BOL.ui.attackValue": "Valor Ataque", "BOL.ui.attackValue": "Valor Ataque",
"BOL.ui.attackModifier": "Mod. Ataque", "BOL.ui.attackModifier": "Mod. Ataque",
"BOL.ui.vehicleWeapons": "Armas de vehículo",
"BOL.ui.hullDamage": "Daño casco",
"BOL.ui.crewDamage": "Daño tripulación",
"BOL.ui.fireDamage": "¿Fuego?",
"BOL.ui.weaponbonus": "Esta arma se beneficia de un Dado de ventaja (ej Arma Personal)", "BOL.ui.weaponbonus": "Esta arma se beneficia de un Dado de ventaja (ej Arma Personal)",
"BOL.ui.initMalus": "Desventaja Inic.", "BOL.ui.initMalus": "Desventaja Inic.",
"BOL.ui.creature": "Criatura", "BOL.ui.creature": "Criatura",
@@ -195,6 +209,7 @@
"BOL.ui.deletetitle": "Borrar", "BOL.ui.deletetitle": "Borrar",
"BOL.ui.confirmdelete": "¿Seguro que quieres borrar este objeto?", "BOL.ui.confirmdelete": "¿Seguro que quieres borrar este objeto?",
"BOL.ui.nomorealchemypoints": "¡Sin Puntos de Creación!", "BOL.ui.nomorealchemypoints": "¡Sin Puntos de Creación!",
"BOL.ui.notenoughxp": "¡No hay suficientes puntos de experiencia!",
"BOL.ui.armornoformula": "La Armadura {protect.name} no dispone de fórmula de protección!", "BOL.ui.armornoformula": "La Armadura {protect.name} no dispone de fórmula de protección!",
"BOL.ui.selectactor": "Selecciona un actora para aplicar la macro", "BOL.ui.selectactor": "Selecciona un actora para aplicar la macro",
"BOL.ui.itemnotfound": "Imposible encontrar el objeto de esta macro", "BOL.ui.itemnotfound": "Imposible encontrar el objeto de esta macro",
@@ -360,6 +375,18 @@
"BOL.itemProperty.natural": "Arma natural", "BOL.itemProperty.natural": "Arma natural",
"BOL.itemProperty.onlymodifier": "Sólo modificador (ej criatura)", "BOL.itemProperty.onlymodifier": "Sólo modificador (ej criatura)",
"BOL.itemProperty.attackMalusDice": "Dado Desventaja Ataque", "BOL.itemProperty.attackMalusDice": "Dado Desventaja Ataque",
"BOL.itemProperty.crewDamageMultiplier": "Multiplicador",
"BOL.itemProperty.crewdamage": "Valor del daño a la tripulación",
"BOL.itemProperty.hullDamageMultiplier": "Multiplicador",
"BOL.itemProperty.hulldamage": "Valor del daño al casco",
"BOL.itemProperty.isboarding": "Abordaje",
"BOL.itemProperty.isbreakrow": "Romper los remos",
"BOL.itemProperty.iscrewdamage": "Daño a la tripulación",
"BOL.itemProperty.isfiredamage": "Daño de fuego",
"BOL.itemProperty.ishulldamage": "Daño al casco",
"BOL.itemProperty.isspur": "Ariete",
"BOL.itemProperty.magicalProperties": "Propiedades mágicas",
"BOL.itemProperty.vehicleDamageType": "Tipo de daño de vehículo",
"BOL.itemStat.quantity": "Cantidad", "BOL.itemStat.quantity": "Cantidad",
"BOL.itemStat.weight": "Peso", "BOL.itemStat.weight": "Peso",
@@ -438,6 +465,23 @@
"BOL.notification.MacroMultipleTokensSelected": "¡Has seleccionado varios tokens!", "BOL.notification.MacroMultipleTokensSelected": "¡Has seleccionado varios tokens!",
"BOL.notification.MacroNoActorAvailable": "¡No se pudo marcar el actor como objetivo!", "BOL.notification.MacroNoActorAvailable": "¡No se pudo marcar el actor como objetivo!",
"BOL.notification.MacroNoTokenSelected": "¡Debes seleccionar un token!", "BOL.notification.MacroNoTokenSelected": "¡Debes seleccionar un token!",
"BOL.notification.MacroNoItemFound": "{actor} : no se encontró ningún {type}.",
"BOL.notification.MacroSpecifyNameOrIndex": "Especifica un nombre o un índice : {names}",
"BOL.notification.MacroBadIndex": "{actor} : índice {index} no válido para {type}.",
"BOL.notification.MacroItemNotFound": "{actor} : {type} \"{name}\" no encontrado.",
"BOL.notification.MacroUnknownAttribute": "Atributo desconocido : \"{key}\". Valores : vigor, agility, mind, appeal",
"BOL.notification.MacroUnknownAptitude": "Aptitud desconocida : \"{key}\". Valores : init, melee, ranged, def",
"BOL.notification.MacroUnknownRollType": "Tipo de tirada desconocido : \"{type}\". Tipos válidos : attribute, aptitude, weapon, spell, alchemy, horoscope",
"BOL.notification.MacroNoPower": "¡No quedan suficientes puntos de Poder!",
"BOL.notification.FullDefense": "{actor} está en Defensa Total ! ¡No puede atacar este asalto!",
"BOL.notification.WeaponNotFound": "¡No se pudo encontrar el arma!",
"BOL.notification.AlchemyNotFound": "¡No se pudo encontrar la alquimia!",
"BOL.notification.SpellNotFound": "¡No se pudo encontrar este hechizo!",
"BOL.notification.NotEnoughCreationPrep": "¡No hay suficientes puntos de Creación invertidos en la Preparación!",
"BOL.notification.NoPower": "¡No quedan suficientes puntos de Poder!",
"BOL.notification.AttackNotFound": "No se pudo encontrar el ataque correspondiente, error de seguimiento de combate.",
"BOL.notification.NoBirthHour": "{actor} no tiene hora de nacimiento, o es incorrecta : {hour}",
"BOL.notification.BadBirthHour": "{hour} no corresponde a una hora de nacimiento",
"BOL.size.tiny": "Minúsculo", "BOL.size.tiny": "Minúsculo",
"BOL.size.verysmall": "Muy pequeño", "BOL.size.verysmall": "Muy pequeño",
@@ -535,7 +579,8 @@
"BOL.chat.criticalinfo": "¡Esto es un éxito Asombroso o Legendario! Escoge tus opciones y efectos", "BOL.chat.criticalinfo": "¡Esto es un éxito Asombroso o Legendario! Escoge tus opciones y efectos",
"BOL.chat.criticalbuttonjournal": "Éxito Asombroso/Legendario", "BOL.chat.criticalbuttonjournal": "Éxito Asombroso/Legendario",
"BOL.chat.armorRoll": "Tirada de Armadura", "BOL.chat.armorRoll": "Tirada de Armadura",
"BOL.chat.bolRulebookMessage": "Don't miss the full Rulebook module (including Sagas) available at : https://www.ludospherik-editions.com/en_gb/ !", "BOL.chat.bolRulebookMessage": "Don't miss the premium Rulebook module (including Sagas), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-rulebook' target='_blank'>https://foundryvtt.com/packages/bol-rulebook</a>",
"BOL.chat.bolChroniclesMessage": "Discover the premium Chronicles of Lemuria module (vol. 1), available on the Foundry website : <a href='https://foundryvtt.com/packages/bol-chronicles-1' target='_blank'>https://foundryvtt.com/packages/bol-chronicles-1</a>",
"BOL.dialog.soeasy": "Demasiado fácil (+4)", "BOL.dialog.soeasy": "Demasiado fácil (+4)",
"BOL.dialog.veryeasy": "Muy fácil (+2)", "BOL.dialog.veryeasy": "Muy fácil (+2)",
@@ -569,6 +614,20 @@
"BOL.ui.biosigns": "Marcas", "BOL.ui.biosigns": "Marcas",
"BOL.ui.biodescription": "Descripción", "BOL.ui.biodescription": "Descripción",
"BOL.ui.bionotes": "Notas", "BOL.ui.bionotes": "Notas",
"BOL.ui.aggressive": "¿Hechizo agresivo?",
"BOL.ui.capacityProperties": "Propiedades de capacidad",
"BOL.ui.cost": "Coste XP",
"BOL.ui.date": "Fecha",
"BOL.ui.heropoints": "Puntos de Heroísmo/Villanía",
"BOL.ui.hordeAttack": "Ataque de horda",
"BOL.ui.hordeHP": "Vitalidad (1 miembro)",
"BOL.ui.hordeSize": "Tamaño de la horda",
"BOL.ui.hordehp": "Vitalidad (total)",
"BOL.ui.isbonusdice": "¿Proporciona un dado de bonificación?",
"BOL.ui.ismalusdice": "¿Proporciona un dado de penalización?",
"BOL.ui.magicnewrules": "Reglas adicionales (cf. suplemento hecho por fans ¡Hechicería!)",
"BOL.ui.value": "Valor",
"BOL.ui.xplog": "Registro de XP",
"BOL.chat.welcome1": "Bienvenidos a Bárbaros de Lemuria (Ludospherik)", "BOL.chat.welcome1": "Bienvenidos a Bárbaros de Lemuria (Ludospherik)",
"BOL.chat.welcome2": "Para jugar es necesario usar el manual, que lo podéis conseguir aquí: https://www.ludospherik-editions.com/en_gb/", "BOL.chat.welcome2": "Para jugar es necesario usar el manual, que lo podéis conseguir aquí: https://www.ludospherik-editions.com/en_gb/",
@@ -576,6 +635,19 @@
"BOL.chat.welcome4": "Todo el soporte para el sistema es a través del servidor Discord: https://discord.gg/pPSDNJk", "BOL.chat.welcome4": "Todo el soporte para el sistema es a través del servidor Discord: https://discord.gg/pPSDNJk",
"BOL.chat.welcome5": "¡Buena partida en Lemuria!", "BOL.chat.welcome5": "¡Buena partida en Lemuria!",
"BOL.chat.welcome6": "", "BOL.chat.welcome6": "",
"BOL.chat.msgonlygm": "Mensaje solo para el GM",
"BOL.chat.babelewarning": "⚠ ¡ADVERTENCIA! ¡El idioma inglés está seleccionado, pero el módulo Babele no está instalado!<br>Instale babele desde la pestaña de módulos en la interfaz de Foundry.",
"BOL.chat.applyrecup": "Recuperarse durante unos minutos (+{recupHP} Vitalidad)",
"BOL.chat.criticallegendaryinfo": "¡Es un éxito Legendario! ¡Elige tus opciones y efectos!",
"BOL.chat.defenseReduceDamage2": "También puedes gastar 1 Punto de Heroísmo/Villanía para recuperar [[/r 2d6KH(1D6B)]] puntos de vitalidad, esto te costará tu próxima acción.",
"BOL.chat.legendaryreminder": "Además de las acciones indicadas en los botones de abajo, puedes realizar 2 acciones entre: <ul><li>Carnicería: Atacar una segunda vez al mismo adversario</li><li>Golpe preciso: Un dado de penalización a tu adversario en una localización elegida</li><li>Desarme</li><li>Masacrar a la chusma</li><li>Derribo: Tira a tu adversario (1 tamaño más como máximo)</li></ul>",
"BOL.chat.losshp": "{name} ha perdido {lossHP} puntos de Vitalidad. Si descansa unos minutos, puede recuperar {recupHP} puntos de Vitalidad.",
"BOL.chat.pcnotlinked": "El token del personaje jugador no está vinculado al actor",
"BOL.chat.pcnotlinkedmsg": "<b>ATENCIÓN</b> ¡El token del personaje jugador no está vinculado al actor!",
"BOL.chat.pcwarning": "¡Atención! ¡Ningún personaje está vinculado al jugador!",
"BOL.chat.pcwarningmsg": "<b>ATENCIÓN</b> ¡El jugador no está vinculado a ningún personaje!",
"BOL.chat.rolldamage12Legend": "Daño +12",
"BOL.chat.selecttarget": "Elegir un objetivo:",
"BOL.settings.rollArmor": "Tiradas de armadura", "BOL.settings.rollArmor": "Tiradas de armadura",
"BOL.settings.rollArmorTooltip": "Tiradas de armadura, si no esta activo usará el valor fijo", "BOL.settings.rollArmorTooltip": "Tiradas de armadura, si no esta activo usará el valor fijo",
+35 -2
View File
@@ -78,6 +78,16 @@
"BOL.ui.equip": "Équiper", "BOL.ui.equip": "Équiper",
"BOL.ui.delete": "Supprimer", "BOL.ui.delete": "Supprimer",
"BOL.ui.roll": "Utiliser", "BOL.ui.roll": "Utiliser",
"BOL.ui.bonus": "Bonus",
"BOL.ui.log": "Journal",
"BOL.ui.add": "Ajouter",
"BOL.ui.rolls": "Jets",
"BOL.ui.action": "Action",
"BOL.ui.unarmedAttack": "Attaque à mains nues",
"BOL.ui.vehicleType.boat": "Navire",
"BOL.ui.vehicleType.flyingboat": "Nef Volante",
"BOL.ui.vehicleType.chariot": "Chariot/Carriole",
"BOL.ui.vehicleType.other": "Autre",
"BOL.ui.equipment": "Équipement", "BOL.ui.equipment": "Équipement",
"BOL.ui.equipmentProperties": "Propriétés d'équipement", "BOL.ui.equipmentProperties": "Propriétés d'équipement",
"BOL.ui.weaponAttack": "Attaque d'arme", "BOL.ui.weaponAttack": "Attaque d'arme",
@@ -229,6 +239,7 @@
"BOL.ui.deletetitle": "Suppression", "BOL.ui.deletetitle": "Suppression",
"BOL.ui.confirmdelete": "Vous êtes sûr de vouloir supprimer cet item ?", "BOL.ui.confirmdelete": "Vous êtes sûr de vouloir supprimer cet item ?",
"BOL.ui.nomorealchemypoints": "Plus assez de Points de Création !", "BOL.ui.nomorealchemypoints": "Plus assez de Points de Création !",
"BOL.ui.notenoughxp": "Pas assez de points d'expérience !",
"BOL.ui.armornoformula": "L'armure {protect.name} n'a pas de formule pour la protection !", "BOL.ui.armornoformula": "L'armure {protect.name} n'a pas de formule pour la protection !",
"BOL.ui.selectactor": "Selectionnez votre personnage pour utiliser la macro", "BOL.ui.selectactor": "Selectionnez votre personnage pour utiliser la macro",
"BOL.ui.itemnotfound": "Impossible de trouver l'objet de cette macro", "BOL.ui.itemnotfound": "Impossible de trouver l'objet de cette macro",
@@ -395,6 +406,7 @@
"BOL.itemProperty.isspur": "Eperonnage", "BOL.itemProperty.isspur": "Eperonnage",
"BOL.itemProperty.isbreakrow": "Briser les rames", "BOL.itemProperty.isbreakrow": "Briser les rames",
"BOL.itemProperty.attackMalusDice": "Malus d'attaque (Dés)", "BOL.itemProperty.attackMalusDice": "Malus d'attaque (Dés)",
"BOL.itemProperty.magicalProperties": "Propriétés magiques",
"BOL.itemStat.quantity": "Quantité", "BOL.itemStat.quantity": "Quantité",
"BOL.itemStat.weight": "Poids", "BOL.itemStat.weight": "Poids",
@@ -472,6 +484,23 @@
"BOL.notification.MacroMultipleTokensSelected": "Vous avez sélectionné plusieurs tokens", "BOL.notification.MacroMultipleTokensSelected": "Vous avez sélectionné plusieurs tokens",
"BOL.notification.MacroNoActorAvailable": "Aucun acteur n'a pu être ciblé", "BOL.notification.MacroNoActorAvailable": "Aucun acteur n'a pu être ciblé",
"BOL.notification.MacroNoTokenSelected": "Vous devez sélectionner un token", "BOL.notification.MacroNoTokenSelected": "Vous devez sélectionner un token",
"BOL.notification.MacroNoItemFound": "{actor} : aucun(e) {type} trouvé(e).",
"BOL.notification.MacroSpecifyNameOrIndex": "Précisez le nom ou l'index : {names}",
"BOL.notification.MacroBadIndex": "{actor} : index {index} invalide pour {type}.",
"BOL.notification.MacroItemNotFound": "{actor} : {type} \"{name}\" introuvable.",
"BOL.notification.MacroUnknownAttribute": "Attribut inconnu : \"{key}\". Valeurs : vigor, agility, mind, appeal",
"BOL.notification.MacroUnknownAptitude": "Aptitude inconnue : \"{key}\". Valeurs : init, melee, ranged, def",
"BOL.notification.MacroUnknownRollType": "Type de jet inconnu : \"{type}\". Types valides : attribute, aptitude, weapon, spell, alchemy, horoscope",
"BOL.notification.MacroNoPower": "Plus assez de points de Pouvoir !",
"BOL.notification.FullDefense": "{actor} est en Défense Totale ! Il ne peut pas attaquer ce round.",
"BOL.notification.WeaponNotFound": "Impossible de trouver l'arme !",
"BOL.notification.AlchemyNotFound": "Impossible de trouver l'alchimie !",
"BOL.notification.SpellNotFound": "Impossible de trouver ce sort !",
"BOL.notification.NotEnoughCreationPrep": "Pas assez de Points de Création investis dans la Préparation !",
"BOL.notification.NoPower": "Plus assez de points de Pouvoir !",
"BOL.notification.AttackNotFound": "Impossible de trouver l'attaque correspondante, erreur de suivi de combat.",
"BOL.notification.NoBirthHour": "{actor} n'a pas d'heure de naissance, ou elle est incorrecte : {hour}",
"BOL.notification.BadBirthHour": "{hour} ne correspond pas à une heure de naissance",
"BOL.size.tiny": "Minuscule", "BOL.size.tiny": "Minuscule",
"BOL.size.verysmall": "Très petite", "BOL.size.verysmall": "Très petite",
@@ -571,7 +600,8 @@
"BOL.chat.criticalinfo": "C'est un succès Héroïque ! Choisissez vos options et effets !", "BOL.chat.criticalinfo": "C'est un succès Héroïque ! Choisissez vos options et effets !",
"BOL.chat.criticallegendaryinfo": "C'est un succès Légendaire ! Choisissez vos options et effets !", "BOL.chat.criticallegendaryinfo": "C'est un succès Légendaire ! Choisissez vos options et effets !",
"BOL.chat.criticalbuttonjournal": "Succès Héroïque/Légendaire", "BOL.chat.criticalbuttonjournal": "Succès Héroïque/Légendaire",
"BOL.chat.bolRulebookMessage": "N'oubliez pas le module complet du Livre de Règle et des Sagas disponible ici : https://www.ludospherik-editions.com !", "BOL.chat.bolRulebookMessage": "N'oubliez pas le module premium du Livre de Règle et des Sagas, disponible sur le site Foundry : <a href='https://foundryvtt.com/packages/bol-rulebook' target='_blank'>https://foundryvtt.com/packages/bol-rulebook</a>",
"BOL.chat.bolChroniclesMessage": "Découvrez le module premium des Chroniques de Lémurie (vol. 1), disponible sur le site Foundry : <a href='https://foundryvtt.com/packages/bol-chronicles-1' target='_blank'>https://foundryvtt.com/packages/bol-chronicles-1</a>",
"BOL.chat.losshp": "{name} a perdu {lossHP} points de Vitalité. Si il se repose quelques minutes, il peut récupérer {recupHP} points de Vitalité.", "BOL.chat.losshp": "{name} a perdu {lossHP} points de Vitalité. Si il se repose quelques minutes, il peut récupérer {recupHP} points de Vitalité.",
"BOL.chat.applyrecup": "Récupérer pendant quelques minutes (+{recupHP} Vitalité)", "BOL.chat.applyrecup": "Récupérer pendant quelques minutes (+{recupHP} Vitalité)",
"BOL.chat.inforecup": "{name} vient de récupérer {recupHP} points de Vitalité après quelques minutes de repos.", "BOL.chat.inforecup": "{name} vient de récupérer {recupHP} points de Vitalité après quelques minutes de repos.",
@@ -630,6 +660,8 @@
"BOL.chat.pcwarningmsg": "<b>ATTENTION</b> Le joueur n'est relié à aucun personnage !", "BOL.chat.pcwarningmsg": "<b>ATTENTION</b> Le joueur n'est relié à aucun personnage !",
"BOL.chat.pcnotlinked": "Le token du personnage joueur n'est pas relié à l'acteur", "BOL.chat.pcnotlinked": "Le token du personnage joueur n'est pas relié à l'acteur",
"BOL.chat.pcnotlinkedmsg": "<b>ATTENTION</b> Le token du personnage joueur n'est pas relié à l'acteur !", "BOL.chat.pcnotlinkedmsg": "<b>ATTENTION</b> Le token du personnage joueur n'est pas relié à l'acteur !",
"BOL.chat.msgonlygm": "Message réservé au MJ uniquement",
"BOL.chat.babelewarning": "⚠ ATTENTION ! La langue anglaise est sélectionnée, mais le module Babele n'est pas installé !<br>Veuillez installer babele depuis l'onglet des modules dans l'interface de Foundry.",
"BOL.settings.rollArmor": "Effectuer des jets pour les armures", "BOL.settings.rollArmor": "Effectuer des jets pour les armures",
"BOL.settings.rollArmorTooltip": "Effectue un jet de dés pour les armures (valeur fixe si désactivé)", "BOL.settings.rollArmorTooltip": "Effectue un jet de dés pour les armures (valeur fixe si désactivé)",
@@ -656,5 +688,6 @@
"BOL.ui.charSummaryTitle": "Résumé des Personnages", "BOL.ui.charSummaryTitle": "Résumé des Personnages",
"BOL.ui.colGroupAttributes": "Attributs", "BOL.ui.colGroupAttributes": "Attributs",
"BOL.ui.colGroupAptitudes": "Aptitudes", "BOL.ui.colGroupAptitudes": "Aptitudes",
"BOL.ui.colGroupResources": "Ressources" "BOL.ui.colGroupResources": "Ressources",
"BOL.ui.heropoints": "Points d'Héroïsme/Vilainie"
} }
+5 -5
View File
@@ -301,7 +301,7 @@ export class BoLActor extends Actor {
this.update({ [`system.attributes.${key}`]: attr, [`system.xp`]: xp }) this.update({ [`system.attributes.${key}`]: attr, [`system.xp`]: xp })
this.addXPLog("attribute", key, nextXP, attr.value) this.addXPLog("attribute", key, nextXP, attr.value)
} else { } else {
ui.notifications.warn("Pas assez de points d'expérience !") ui.notifications.warn(game.i18n.localize("BOL.ui.notenoughxp"))
} }
} }
} }
@@ -318,7 +318,7 @@ export class BoLActor extends Actor {
this.update({ [`system.aptitudes.${key}`]: apt, [`system.xp`]: xp }) this.update({ [`system.aptitudes.${key}`]: apt, [`system.xp`]: xp })
this.addXPLog("aptitude", key, nextXP, apt.value) this.addXPLog("aptitude", key, nextXP, apt.value)
} else { } else {
ui.notifications.warn("Pas assez de points d'expérience !") ui.notifications.warn(game.i18n.localize("BOL.ui.notenoughxp"))
} }
} }
} }
@@ -335,7 +335,7 @@ export class BoLActor extends Actor {
this.updateEmbeddedDocuments('Item', [{ _id: career._id, 'system.rank': career.system.rank + 1 }]) this.updateEmbeddedDocuments('Item', [{ _id: career._id, 'system.rank': career.system.rank + 1 }])
this.addXPLog("career", career.name, nextXP, career.system.rank + 1) this.addXPLog("career", career.name, nextXP, career.system.rank + 1)
} else { } else {
ui.notifications.warn("Pas assez de points d'expérience !") ui.notifications.warn(game.i18n.localize("BOL.ui.notenoughxp"))
} }
} }
} }
@@ -866,12 +866,12 @@ export class BoLActor extends Actor {
if (this.system.resources.hp.value <= 0) { if (this.system.resources.hp.value <= 0) {
if (!prone) { if (!prone) {
await this.createEmbeddedDocuments("ActiveEffect", [ await this.createEmbeddedDocuments("ActiveEffect", [
{ name: game.i18n.localize('EFFECT.StatusProne'), icon: 'icons/svg/falling.svg', statuses: 'prone' } { name: game.i18n.localize('EFFECT.StatusProne'), img: 'icons/svg/falling.svg', statuses: ['prone'] }
]) ])
} }
if (this.system.resources.hp.value < -5 && !dead) { if (this.system.resources.hp.value < -5 && !dead) {
await this.createEmbeddedDocuments("ActiveEffect", [ await this.createEmbeddedDocuments("ActiveEffect", [
{ name: game.i18n.localize('EFFECT.StatusDead'), icon: 'icons/svg/skull.svg', statuses: 'dead' } { name: game.i18n.localize('EFFECT.StatusDead'), img: 'icons/svg/skull.svg', statuses: ['dead'] }
]) ])
} }
ChatMessage.create({ ChatMessage.create({
+2 -2
View File
@@ -84,8 +84,8 @@ export class BoLHordeSheet extends foundry.appv1.sheets.ActorSheet {
// Delete Inventory Item // Delete Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
Dialog.confirm({ Dialog.confirm({
title: "Suppression", title: game.i18n.localize("BOL.ui.deletetitle"),
content: `Vous êtes sûr de vouloir supprimer cet item ?`, content: game.i18n.localize("BOL.ui.confirmdelete"),
yes: () => { yes: () => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")]) this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")])
+2 -2
View File
@@ -94,8 +94,8 @@ export class BoLVehicleSheet extends foundry.appv1.sheets.ActorSheet {
// Delete Inventory Item // Delete Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
Dialog.confirm({ Dialog.confirm({
title: "Suppression", title: game.i18n.localize("BOL.ui.deletetitle"),
content: `Vous êtes sûr de vouloir supprimer cet item ?`, content: game.i18n.localize("BOL.ui.confirmdelete"),
yes: () => { yes: () => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")]) this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")])
@@ -49,6 +49,7 @@ export default class BoLBaseActorSheet extends HandlebarsApplicationMixin(foundr
return { return {
actor, actor,
system: actor.system, system: actor.system,
systemFields: actor.system.schema.fields,
config: game.bol.config, config: game.bol.config,
isGM: game.user.isGM, isGM: game.user.isGM,
isEditable: this.isEditable, isEditable: this.isEditable,
@@ -112,7 +113,8 @@ export default class BoLBaseActorSheet extends HandlebarsApplicationMixin(foundr
link.addEventListener("click", (event) => { link.addEventListener("click", (event) => {
event.preventDefault() event.preventDefault()
this.tabGroups[group] = tab this.tabGroups[group] = tab
this.render() nav.querySelectorAll("[data-tab]").forEach(l => l.classList.toggle("active", l.dataset.tab === tab))
this.element.querySelectorAll(`[data-group="${group}"][data-tab]`).forEach(c => c.classList.toggle("active", c.dataset.tab === tab))
}) })
}) })
+12 -9
View File
@@ -101,30 +101,33 @@ Hooks.once('init', async function () {
// Register hooks // Register hooks
registerHooks() registerHooks()
if (typeof Babele !== 'undefined') { });
Babele.get().setSystemTranslationsDir("compendiums");
}
/* -------------------------------------------- */
Hooks.once("babele.init", (babele) => {
console.log("Initializing Babele translations")
babele.setSystemTranslationsDir("compendiums");
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
async function welcomeMessage() { async function welcomeMessage() {
const noRulebook = !game.modules.find(m => m.id === "bol-rulebook") const noRulebook = !game.modules.get("bol-rulebook")?.active
const noChronicles = !game.modules.get("bol-chronicles-1")?.active
const content = await foundry.applications.handlebars.renderTemplate( const content = await foundry.applications.handlebars.renderTemplate(
"systems/bol/templates/chat/chat-welcome.hbs", "systems/bol/templates/chat/chat-welcome.hbs",
{ noRulebook } { noRulebook, noChronicles }
) )
ChatMessage.create({ user: game.user.id, whisper: [game.user.id], content }) ChatMessage.create({ user: game.user.id, whisper: [game.user.id], content })
if (game.user.isGM && game.i18n.lang == 'en' && !game.modules.find(m => m.id == "babele")) { if (game.user.isGM && game.i18n.lang == 'en' && !game.modules.get("babele")?.active) {
const babeleWarning = game.i18n.localize("BOL.chat.babelewarning")
ChatMessage.create({ ChatMessage.create({
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div class="bol-welcome-card"><div class="welcome-body"><p class="welcome-warning">⚠ WARNING ! English language selected, but Babele module is not installed !<br>Please install babele from the module tab in Foundry interface.</p></div></div>` content: `<div class="bol-welcome-card"><div class="welcome-body"><p class="welcome-warning">${babeleWarning}</p></div></div>`
}) })
ui.notifications.warn("WARNING ! English language selected, but babele module is not installed !<br>Please install babele from the module tab in Foundry interface.") ui.notifications.warn(babeleWarning)
} }
} }
+7 -7
View File
@@ -154,7 +154,7 @@ export class BoLRoll {
// Manage specific case // Manage specific case
let fightOption = actor.getActiveFightOption() let fightOption = actor.getActiveFightOption()
if (fightOption && fightOption.system.properties.fightoptiontype == "fulldefense") { if (fightOption && fightOption.system.properties.fightoptiontype == "fulldefense") {
ui.notifications.warn(`{{actor.name}} est en Défense Totale ! Il ne peut pas attaquer ce round.`) ui.notifications.warn(game.i18n.format("BOL.notification.FullDefense", { actor: actor.name }))
return return
} }
@@ -175,7 +175,7 @@ export class BoLRoll {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let weapon = actor.items.get(li.data("item-id")) let weapon = actor.items.get(li.data("item-id"))
if (!weapon) { if (!weapon) {
ui.notifications.warn("Unable to find weapon !") ui.notifications.warn(game.i18n.localize("BOL.notification.WeaponNotFound"))
return return
} }
weapon = foundry.utils.duplicate(weapon) weapon = foundry.utils.duplicate(weapon)
@@ -187,7 +187,7 @@ export class BoLRoll {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
let alchemy = actor.items.get(li.data("item-id")); let alchemy = actor.items.get(li.data("item-id"));
if (!alchemy) { if (!alchemy) {
ui.notifications.warn("Unable to find Alchemy !"); ui.notifications.warn(game.i18n.localize("BOL.notification.AlchemyNotFound"));
return; return;
} }
alchemy = foundry.utils.duplicate(alchemy) alchemy = foundry.utils.duplicate(alchemy)
@@ -198,7 +198,7 @@ export class BoLRoll {
static alchemyCheckWithItem(actor, alchemy) { static alchemyCheckWithItem(actor, alchemy) {
let alchemyData = alchemy.system let alchemyData = alchemy.system
if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) { if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) {
ui.notifications.warn("Pas assez de Points de Création investis dans la Préparation !") ui.notifications.warn(game.i18n.localize("BOL.notification.NotEnoughCreationPrep"))
return return
} }
@@ -260,13 +260,13 @@ export class BoLRoll {
/* -------------------------------------------- */ /* -------------------------------------------- */
static spellCheck(actor, event) { static spellCheck(actor, event) {
if (actor.system.resources.power.value <= 0) { if (actor.system.resources.power.value <= 0) {
ui.notifications.warn("Plus assez de points de Pouvoir !") ui.notifications.warn(game.i18n.localize("BOL.notification.NoPower"))
return return
} }
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let spell = actor.items.get(li.data("item-id")) let spell = actor.items.get(li.data("item-id"))
if (!spell) { if (!spell) {
ui.notifications.warn("Impossible de trouver ce sort !") ui.notifications.warn(game.i18n.localize("BOL.notification.SpellNotFound"))
return return
} }
spell = foundry.utils.duplicate(spell) spell = foundry.utils.duplicate(spell)
@@ -583,7 +583,7 @@ export class BoLRoll {
callback: (event, button, dialog) => { callback: (event, button, dialog) => {
console.log("Submit Roll!!!!"); console.log("Submit Roll!!!!");
if (rollData.mode == 'spell' && rollData.ppCurrent < rollData.ppCost) { if (rollData.mode == 'spell' && rollData.ppCurrent < rollData.ppCost) {
ui.notifications.warn("Pas assez de Points de Pouvoir !") ui.notifications.warn(game.i18n.localize("BOL.notification.NoPower"))
return false return false
} }
rollData.registerInit = (rollData.aptitude && rollData.aptitude.key == 'init') ? rollData.registerInit = (rollData.aptitude && rollData.aptitude.key == 'init') ?
+2 -2
View File
@@ -246,10 +246,10 @@ export class BoLCalendar extends Application {
} }
} }
else if (name) { else if (name) {
ui.notifications.warn(name + " n'a pas d'heure de naissance, ou elle est incorrecte : " + heureNaissance); ui.notifications.warn(game.i18n.format("BOL.notification.NoBirthHour", { actor: name, hour: heureNaissance }));
} }
else { else {
ui.notifications.warn(heureNaissance + " ne correspond pas à une heure de naissance"); ui.notifications.warn(game.i18n.format("BOL.notification.BadBirthHour", { hour: heureNaissance }));
} }
return 0; return 0;
} }
+2 -2
View File
@@ -445,7 +445,7 @@ export class BoLUtility {
event.preventDefault() event.preventDefault()
let attr = event.currentTarget.attributes['data-attack-id'] let attr = event.currentTarget.attributes['data-attack-id']
if (!attr) { if (!attr) {
ui.notifications.warn("Impossible de trouver l'attaque correspondante, erreur de suivi de combat.") ui.notifications.warn(game.i18n.localize("BOL.notification.AttackNotFound"))
return return
} }
let attackId = event.currentTarget.attributes['data-attack-id'].value let attackId = event.currentTarget.attributes['data-attack-id'].value
@@ -583,7 +583,7 @@ export class BoLUtility {
this.blindMessageToGM(chatOptions); this.blindMessageToGM(chatOptions);
chatOptions.whisper = [game.user.id]; chatOptions.whisper = [game.user.id];
chatOptions.content = "Message only to the GM"; chatOptions.content = game.i18n.localize("BOL.chat.msgonlygm");
} }
else { else {
chatOptions.whisper = this.getUsers(user => user.isGM); chatOptions.whisper = this.getUsers(user => user.isGM);
+42 -42
View File
@@ -413,108 +413,108 @@ BOL.bolEffectModifier = {
BOL.statusEffects = [ BOL.statusEffects = [
{ {
"id": "dead", "id": "dead",
"label": "EFFECT.StatusDead", "name": "EFFECT.StatusDead",
"icon": "icons/svg/skull.svg" "img": "icons/svg/skull.svg"
}, },
{ {
"id": "unconscious", "id": "unconscious",
"label": "EFFECT.StatusUnconscious", "name": "EFFECT.StatusUnconscious",
"icon": "icons/svg/unconscious.svg" "img": "icons/svg/unconscious.svg"
}, },
{ {
"id": "sleep", "id": "sleep",
"label": "EFFECT.StatusAsleep", "name": "EFFECT.StatusAsleep",
"icon": "icons/svg/sleep.svg" "img": "icons/svg/sleep.svg"
}, },
{ {
"id": "stun", "id": "stun",
"label": "EFFECT.StatusStunned", "name": "EFFECT.StatusStunned",
"icon": "icons/svg/daze.svg" "img": "icons/svg/daze.svg"
}, },
{ {
"id": "prone", "id": "prone",
"label": "EFFECT.StatusProne", "name": "EFFECT.StatusProne",
"icon": "icons/svg/falling.svg" "img": "icons/svg/falling.svg"
}, },
{ {
"id": "restrain", "id": "restrain",
"label": "EFFECT.StatusRestrained", "name": "EFFECT.StatusRestrained",
"icon": "icons/svg/net.svg" "img": "icons/svg/net.svg"
}, },
{ {
"id": "paralysis", "id": "paralysis",
"label": "EFFECT.StatusParalysis", "name": "EFFECT.StatusParalysis",
"icon": "icons/svg/paralysis.svg" "img": "icons/svg/paralysis.svg"
}, },
{ {
"id": "fly", "id": "fly",
"label": "EFFECT.StatusFlying", "name": "EFFECT.StatusFlying",
"icon": "icons/svg/wing.svg" "img": "icons/svg/wing.svg"
}, },
{ {
"id": "blind", "id": "blind",
"label": "EFFECT.StatusBlind", "name": "EFFECT.StatusBlind",
"icon": "icons/svg/blind.svg" "img": "icons/svg/blind.svg"
}, },
{ {
"id": "deaf", "id": "deaf",
"label": "EFFECT.StatusDeaf", "name": "EFFECT.StatusDeaf",
"icon": "icons/svg/deaf.svg" "img": "icons/svg/deaf.svg"
}, },
{ {
"id": "silence", "id": "silence",
"label": "EFFECT.StatusSilenced", "name": "EFFECT.StatusSilenced",
"icon": "icons/svg/silenced.svg" "img": "icons/svg/silenced.svg"
}, },
{ {
"id": "fear", "id": "fear",
"label": "EFFECT.StatusFear", "name": "EFFECT.StatusFear",
"icon": "icons/svg/terror.svg" "img": "icons/svg/terror.svg"
}, },
{ {
"id": "burning", "id": "burning",
"label": "EFFECT.StatusBurning", "name": "EFFECT.StatusBurning",
"icon": "icons/svg/fire.svg" "img": "icons/svg/fire.svg"
}, },
{ {
"id": "frozen", "id": "frozen",
"label": "EFFECT.StatusFrozen", "name": "EFFECT.StatusFrozen",
"icon": "icons/svg/frozen.svg" "img": "icons/svg/frozen.svg"
}, },
{ {
"id": "shock", "id": "shock",
"label": "EFFECT.StatusShocked", "name": "EFFECT.StatusShocked",
"icon": "icons/svg/lightning.svg" "img": "icons/svg/lightning.svg"
}, },
{ {
"id": "disease", "id": "disease",
"label": "EFFECT.StatusDisease", "name": "EFFECT.StatusDisease",
"icon": "icons/svg/biohazard.svg" "img": "icons/svg/biohazard.svg"
}, },
{ {
"id": "poison", "id": "poison",
"label": "EFFECT.StatusPoison", "name": "EFFECT.StatusPoison",
"icon": "icons/svg/poison.svg" "img": "icons/svg/poison.svg"
}, },
{ {
"id": "curse", "id": "curse",
"label": "EFFECT.StatusCursed", "name": "EFFECT.StatusCursed",
"icon": "icons/svg/sun.svg" "img": "icons/svg/sun.svg"
}, },
{ {
"id": "invisible", "id": "invisible",
"label": "EFFECT.StatusInvisible", "name": "EFFECT.StatusInvisible",
"icon": "icons/svg/invisible.svg" "img": "icons/svg/invisible.svg"
}, },
{ {
"id": "target", "id": "target",
"label": "EFFECT.StatusTarget", "name": "EFFECT.StatusTarget",
"icon": "icons/svg/target.svg" "img": "icons/svg/target.svg"
}, },
{ {
"id": "eye", "id": "eye",
"label": "EFFECT.StatusMarked", "name": "EFFECT.StatusMarked",
"icon": "icons/svg/eye.svg" "img": "icons/svg/eye.svg"
} }
] ]
+7
View File
@@ -141,6 +141,13 @@ export const registerHandlebarsHelpers = function () {
return key == "creature" || key == "daemon"; return key == "creature" || key == "daemon";
}) })
// Journal entry documenting Heroic/Legendary success options, localized
Handlebars.registerHelper('criticalJournalId', function () {
return game.i18n.lang === "en"
? "cNk3xcQ1F7I3Uk8Q" // Rules summary (EN)
: "veAAxCtCKcFIsnln"; // Vademecum des Joueurs (FR)
})
// Handle v12 removal of this helper // Handle v12 removal of this helper
Handlebars.registerHelper('select', function (selected, options) { Handlebars.registerHelper('select', function (selected, options) {
const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected)); const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected));
+8 -8
View File
@@ -82,19 +82,19 @@ export class Macros {
static _findItem(actor, type, nameOrIndex) { static _findItem(actor, type, nameOrIndex) {
const items = actor.items.filter(i => i.type === type) const items = actor.items.filter(i => i.type === type)
if (items.length === 0) { if (items.length === 0) {
ui.notifications.warn(`${actor.name} : aucun(e) ${type} trouvé(e).`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroNoItemFound", { actor: actor.name, type }))
return undefined return undefined
} }
if (nameOrIndex === undefined || nameOrIndex === null) { if (nameOrIndex === undefined || nameOrIndex === null) {
if (items.length === 1) return foundry.utils.duplicate(items[0]) if (items.length === 1) return foundry.utils.duplicate(items[0])
const names = items.map((it, i) => `[${i}] ${it.name}`).join(', ') const names = items.map((it, i) => `[${i}] ${it.name}`).join(', ')
ui.notifications.warn(`Précisez le nom ou l'index : ${names}`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroSpecifyNameOrIndex", { names }))
return undefined return undefined
} }
if (typeof nameOrIndex === "number") { if (typeof nameOrIndex === "number") {
const item = items[nameOrIndex] const item = items[nameOrIndex]
if (!item) { if (!item) {
ui.notifications.warn(`${actor.name} : index ${nameOrIndex} invalide pour ${type}.`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroBadIndex", { actor: actor.name, index: nameOrIndex, type }))
return undefined return undefined
} }
return foundry.utils.duplicate(item) return foundry.utils.duplicate(item)
@@ -102,7 +102,7 @@ export class Macros {
const lower = String(nameOrIndex).toLowerCase() const lower = String(nameOrIndex).toLowerCase()
const found = items.find(i => i.name.toLowerCase().includes(lower)) const found = items.find(i => i.name.toLowerCase().includes(lower))
if (!found) { if (!found) {
ui.notifications.warn(`${actor.name} : ${type} "${nameOrIndex}" introuvable.`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroItemNotFound", { actor: actor.name, type, name: nameOrIndex }))
return undefined return undefined
} }
return foundry.utils.duplicate(found) return foundry.utils.duplicate(found)
@@ -118,7 +118,7 @@ export class Macros {
actor = actor ?? this.getSpeakersActor() actor = actor ?? this.getSpeakersActor()
if (!actor) return if (!actor) return
if (!actor.system.attributes[key]) { if (!actor.system.attributes[key]) {
ui.notifications.warn(`Attribut inconnu : "${key}". Valeurs : vigor, agility, mind, appeal`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroUnknownAttribute", { key }))
return return
} }
return BoLRoll.attributeCheck(actor, key) return BoLRoll.attributeCheck(actor, key)
@@ -134,7 +134,7 @@ export class Macros {
actor = actor ?? this.getSpeakersActor() actor = actor ?? this.getSpeakersActor()
if (!actor) return if (!actor) return
if (!actor.system.aptitudes[key]) { if (!actor.system.aptitudes[key]) {
ui.notifications.warn(`Aptitude inconnue : "${key}". Valeurs : init, melee, ranged, def`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroUnknownAptitude", { key }))
return return
} }
return BoLRoll.aptitudeCheck(actor, key) return BoLRoll.aptitudeCheck(actor, key)
@@ -164,7 +164,7 @@ export class Macros {
actor = actor ?? this.getSpeakersActor() actor = actor ?? this.getSpeakersActor()
if (!actor) return if (!actor) return
if ((actor.system.resources.power?.value ?? 1) <= 0) { if ((actor.system.resources.power?.value ?? 1) <= 0) {
ui.notifications.warn("Plus assez de points de Pouvoir !") ui.notifications.warn(game.i18n.localize("BOL.notification.MacroNoPower"))
return return
} }
const spell = this._findItem(actor, "spell", nameOrIndex) const spell = this._findItem(actor, "spell", nameOrIndex)
@@ -214,7 +214,7 @@ export class Macros {
case "alchemy": return this.rollAlchemy(key, actor) case "alchemy": return this.rollAlchemy(key, actor)
case "horoscope": return this.rollHoroscope(key ?? "minor", actor) case "horoscope": return this.rollHoroscope(key ?? "minor", actor)
default: default:
ui.notifications.warn(`Type de jet inconnu : "${type}". Types valides : attribute, aptitude, weapon, spell, alchemy, horoscope`) ui.notifications.warn(game.i18n.format("BOL.notification.MacroUnknownRollType", { type }))
} }
} }
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001170 MANIFEST-001239
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.625593 7f421a7fc6c0 Recovering log #1168 2026/08/04-08:21:29.571109 7f3591bfd6c0 Recovering log #1238
2026/04/18-12:41:58.643479 7f421a7fc6c0 Delete type=3 #1166 2026/08/04-08:21:29.591159 7f3591bfd6c0 Delete type=0 #1238
2026/04/18-12:41:58.643667 7f421a7fc6c0 Delete type=0 #1168 2026/08/04-08:21:29.591228 7f3591bfd6c0 Delete type=3 #1237
2026/04/18-12:51:29.111368 7f4219ffb6c0 Level-0 table #1173: started 2026/08/04-09:53:52.957051 7f3590bfb6c0 Level-0 table #1242: started
2026/04/18-12:51:29.111416 7f4219ffb6c0 Level-0 table #1173: 0 bytes OK 2026/08/04-09:53:52.957089 7f3590bfb6c0 Level-0 table #1242: 0 bytes OK
2026/04/18-12:51:29.117812 7f4219ffb6c0 Delete type=0 #1171 2026/08/04-09:53:52.998497 7f3590bfb6c0 Delete type=0 #1240
2026/04/18-12:51:29.125558 7f4219ffb6c0 Manual compaction at level-0 from '!journal!6cCdSvQgEHJ1bvX4' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end) 2026/08/04-09:53:53.115038 7f3590bfb6c0 Manual compaction at level-0 from '!journal!6cCdSvQgEHJ1bvX4' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
+3 -7
View File
@@ -1,7 +1,3 @@
2026/04/15-15:16:22.577548 7f2689bfd6c0 Recovering log #1164 2026/08/04-08:20:57.432442 7f5160dfe6c0 Recovering log #1235
2026/04/15-15:16:22.587344 7f2689bfd6c0 Delete type=3 #1162 2026/08/04-08:20:57.444689 7f5160dfe6c0 Delete type=3 #1233
2026/04/15-15:16:22.587417 7f2689bfd6c0 Delete type=0 #1164 2026/08/04-08:20:57.444770 7f5160dfe6c0 Delete type=0 #1235
2026/04/16-18:58:25.396434 7f2688bfb6c0 Level-0 table #1169: started
2026/04/16-18:58:25.396459 7f2688bfb6c0 Level-0 table #1169: 0 bytes OK
2026/04/16-18:58:25.402613 7f2688bfb6c0 Delete type=0 #1167
2026/04/16-18:58:25.408920 7f2688bfb6c0 Manual compaction at level-0 from '!journal!6cCdSvQgEHJ1bvX4' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001071 MANIFEST-001138
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.594299 7f421a7fc6c0 Recovering log #1069 2026/08/04-08:21:29.528298 7f3591bfd6c0 Recovering log #1136
2026/04/18-12:41:58.606998 7f421a7fc6c0 Delete type=3 #1067 2026/08/04-08:21:29.545330 7f3591bfd6c0 Delete type=3 #1134
2026/04/18-12:41:58.607187 7f421a7fc6c0 Delete type=0 #1069 2026/08/04-08:21:29.545404 7f3591bfd6c0 Delete type=0 #1136
2026/04/18-12:51:29.097029 7f4219ffb6c0 Level-0 table #1074: started 2026/08/04-09:53:52.998701 7f3590bfb6c0 Level-0 table #1141: started
2026/04/18-12:51:29.097052 7f4219ffb6c0 Level-0 table #1074: 0 bytes OK 2026/08/04-09:53:52.998737 7f3590bfb6c0 Level-0 table #1141: 0 bytes OK
2026/04/18-12:51:29.104587 7f4219ffb6c0 Delete type=0 #1072 2026/08/04-09:53:53.035632 7f3590bfb6c0 Delete type=0 #1139
2026/04/18-12:51:29.125521 7f4219ffb6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/08/04-09:53:53.115056 7f3590bfb6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.553524 7f2689bfd6c0 Recovering log #1065 2026/08/03-06:19:48.750852 7f0ff57ff6c0 Recovering log #1132
2026/04/15-15:16:22.563786 7f2689bfd6c0 Delete type=3 #1063 2026/08/03-06:19:48.761758 7f0ff57ff6c0 Delete type=3 #1130
2026/04/15-15:16:22.563854 7f2689bfd6c0 Delete type=0 #1065 2026/08/03-06:19:48.761842 7f0ff57ff6c0 Delete type=0 #1132
2026/04/16-18:58:25.384570 7f2688bfb6c0 Level-0 table #1070: started 2026/08/03-06:38:26.817856 7f0fa6ffd6c0 Level-0 table #1137: started
2026/04/16-18:58:25.384597 7f2688bfb6c0 Level-0 table #1070: 0 bytes OK 2026/08/03-06:38:26.817889 7f0fa6ffd6c0 Level-0 table #1137: 0 bytes OK
2026/04/16-18:58:25.390459 7f2688bfb6c0 Delete type=0 #1068 2026/08/03-06:38:26.824151 7f0fa6ffd6c0 Delete type=0 #1135
2026/04/16-18:58:25.408906 7f2688bfb6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.824513 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001165 MANIFEST-001232
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.467876 7f421a7fc6c0 Recovering log #1163 2026/08/04-08:21:29.355610 7f3591bfd6c0 Recovering log #1230
2026/04/18-12:41:58.480087 7f421a7fc6c0 Delete type=3 #1161 2026/08/04-08:21:29.376426 7f3591bfd6c0 Delete type=3 #1228
2026/04/18-12:41:58.480227 7f421a7fc6c0 Delete type=0 #1163 2026/08/04-08:21:29.376535 7f3591bfd6c0 Delete type=0 #1230
2026/04/18-12:51:29.064204 7f4219ffb6c0 Level-0 table #1168: started 2026/08/04-09:53:52.678512 7f3590bfb6c0 Level-0 table #1235: started
2026/04/18-12:51:29.064237 7f4219ffb6c0 Level-0 table #1168: 0 bytes OK 2026/08/04-09:53:52.678542 7f3590bfb6c0 Level-0 table #1235: 0 bytes OK
2026/04/18-12:51:29.070331 7f4219ffb6c0 Delete type=0 #1166 2026/08/04-09:53:52.734515 7f3590bfb6c0 Delete type=0 #1233
2026/04/18-12:51:29.070529 7f4219ffb6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/08/04-09:53:52.803577 7f3590bfb6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.453383 7f268a3fe6c0 Recovering log #1159 2026/08/03-06:19:48.636406 7f0ff4ffe6c0 Recovering log #1226
2026/04/15-15:16:22.464015 7f268a3fe6c0 Delete type=3 #1157 2026/08/03-06:19:48.647892 7f0ff4ffe6c0 Delete type=3 #1224
2026/04/15-15:16:22.464074 7f268a3fe6c0 Delete type=0 #1159 2026/08/03-06:19:48.647974 7f0ff4ffe6c0 Delete type=0 #1226
2026/04/16-18:58:25.339542 7f2688bfb6c0 Level-0 table #1164: started 2026/08/03-06:38:26.769280 7f0fa6ffd6c0 Level-0 table #1231: started
2026/04/16-18:58:25.339565 7f2688bfb6c0 Level-0 table #1164: 0 bytes OK 2026/08/03-06:38:26.769359 7f0fa6ffd6c0 Level-0 table #1231: 0 bytes OK
2026/04/16-18:58:25.345394 7f2688bfb6c0 Delete type=0 #1162 2026/08/03-06:38:26.776073 7f0fa6ffd6c0 Delete type=0 #1229
2026/04/16-18:58:25.358898 7f2688bfb6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.797077 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001164 MANIFEST-001231
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.484621 7f421b7fe6c0 Recovering log #1162 2026/08/04-08:21:29.380656 7f35913fc6c0 Recovering log #1229
2026/04/18-12:41:58.495420 7f421b7fe6c0 Delete type=3 #1160 2026/08/04-08:21:29.401993 7f35913fc6c0 Delete type=3 #1227
2026/04/18-12:41:58.495553 7f421b7fe6c0 Delete type=0 #1162 2026/08/04-08:21:29.402068 7f35913fc6c0 Delete type=0 #1229
2026/04/18-12:51:29.050477 7f4219ffb6c0 Level-0 table #1167: started 2026/08/04-09:53:52.630733 7f3590bfb6c0 Level-0 table #1234: started
2026/04/18-12:51:29.050497 7f4219ffb6c0 Level-0 table #1167: 0 bytes OK 2026/08/04-09:53:52.630808 7f3590bfb6c0 Level-0 table #1234: 0 bytes OK
2026/04/18-12:51:29.057500 7f4219ffb6c0 Delete type=0 #1165 2026/08/04-09:53:52.678363 7f3590bfb6c0 Delete type=0 #1232
2026/04/18-12:51:29.070504 7f4219ffb6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/08/04-09:53:52.803556 7f3590bfb6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.466221 7f268abff6c0 Recovering log #1158 2026/08/03-06:19:48.651558 7f0ff57ff6c0 Recovering log #1225
2026/04/15-15:16:22.475960 7f268abff6c0 Delete type=3 #1156 2026/08/03-06:19:48.662260 7f0ff57ff6c0 Delete type=3 #1223
2026/04/15-15:16:22.476018 7f268abff6c0 Delete type=0 #1158 2026/08/03-06:19:48.662354 7f0ff57ff6c0 Delete type=0 #1225
2026/04/16-18:58:25.345509 7f2688bfb6c0 Level-0 table #1163: started 2026/08/03-06:38:26.782903 7f0fa6ffd6c0 Level-0 table #1230: started
2026/04/16-18:58:25.345540 7f2688bfb6c0 Level-0 table #1163: 0 bytes OK 2026/08/03-06:38:26.782939 7f0fa6ffd6c0 Level-0 table #1230: 0 bytes OK
2026/04/16-18:58:25.351392 7f2688bfb6c0 Delete type=0 #1161 2026/08/03-06:38:26.790042 7f0fa6ffd6c0 Delete type=0 #1228
2026/04/16-18:58:25.358907 7f2688bfb6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.797110 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001164 MANIFEST-001231
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.515857 7f421affd6c0 Recovering log #1162 2026/08/04-08:21:29.426266 7f35923fe6c0 Recovering log #1229
2026/04/18-12:41:58.526774 7f421affd6c0 Delete type=3 #1160 2026/08/04-08:21:29.442494 7f35923fe6c0 Delete type=3 #1227
2026/04/18-12:41:58.526909 7f421affd6c0 Delete type=0 #1162 2026/08/04-08:21:29.442560 7f35923fe6c0 Delete type=0 #1229
2026/04/18-12:51:29.043791 7f4219ffb6c0 Level-0 table #1167: started 2026/08/04-09:53:52.882869 7f3590bfb6c0 Level-0 table #1234: started
2026/04/18-12:51:29.043833 7f4219ffb6c0 Level-0 table #1167: 0 bytes OK 2026/08/04-09:53:52.882905 7f3590bfb6c0 Level-0 table #1234: 0 bytes OK
2026/04/18-12:51:29.050399 7f4219ffb6c0 Delete type=0 #1165 2026/08/04-09:53:52.919503 7f3590bfb6c0 Delete type=0 #1232
2026/04/18-12:51:29.070487 7f4219ffb6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/08/04-09:53:52.956792 7f3590bfb6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.491753 7f268abff6c0 Recovering log #1158 2026/08/03-06:19:48.681657 7f0ff4ffe6c0 Recovering log #1225
2026/04/15-15:16:22.502125 7f268abff6c0 Delete type=3 #1156 2026/08/03-06:19:48.692268 7f0ff4ffe6c0 Delete type=3 #1223
2026/04/15-15:16:22.502198 7f268abff6c0 Delete type=0 #1158 2026/08/03-06:19:48.692351 7f0ff4ffe6c0 Delete type=0 #1225
2026/04/16-18:58:25.351494 7f2688bfb6c0 Level-0 table #1163: started 2026/08/03-06:38:26.790164 7f0fa6ffd6c0 Level-0 table #1230: started
2026/04/16-18:58:25.351525 7f2688bfb6c0 Level-0 table #1163: 0 bytes OK 2026/08/03-06:38:26.790190 7f0fa6ffd6c0 Level-0 table #1230: 0 bytes OK
2026/04/16-18:58:25.358768 7f2688bfb6c0 Delete type=0 #1161 2026/08/03-06:38:26.796894 7f0fa6ffd6c0 Delete type=0 #1228
2026/04/16-18:58:25.358916 7f2688bfb6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.797197 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001162 MANIFEST-001229
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.742695 7f421affd6c0 Recovering log #1160 2026/08/04-08:21:29.736235 7f3592bff6c0 Recovering log #1227
2026/04/18-12:41:58.754264 7f421affd6c0 Delete type=3 #1158 2026/08/04-08:21:29.753212 7f3592bff6c0 Delete type=3 #1225
2026/04/18-12:41:58.754458 7f421affd6c0 Delete type=0 #1160 2026/08/04-08:21:29.753288 7f3592bff6c0 Delete type=0 #1227
2026/04/18-12:51:29.159760 7f4219ffb6c0 Level-0 table #1165: started 2026/08/04-09:53:53.269403 7f3590bfb6c0 Level-0 table #1232: started
2026/04/18-12:51:29.159794 7f4219ffb6c0 Level-0 table #1165: 0 bytes OK 2026/08/04-09:53:53.269440 7f3590bfb6c0 Level-0 table #1232: 0 bytes OK
2026/04/18-12:51:29.166069 7f4219ffb6c0 Delete type=0 #1163 2026/08/04-09:53:53.308866 7f3590bfb6c0 Delete type=0 #1230
2026/04/18-12:51:29.180793 7f4219ffb6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/08/04-09:53:53.444562 7f3590bfb6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.662031 7f268abff6c0 Recovering log #1156 2026/08/03-06:19:48.879803 7f0ff57ff6c0 Recovering log #1223
2026/04/15-15:16:22.672181 7f268abff6c0 Delete type=3 #1154 2026/08/03-06:19:48.890084 7f0ff57ff6c0 Delete type=3 #1221
2026/04/15-15:16:22.672239 7f268abff6c0 Delete type=0 #1156 2026/08/03-06:19:48.890177 7f0ff57ff6c0 Delete type=0 #1223
2026/04/16-18:58:25.414877 7f2688bfb6c0 Level-0 table #1161: started 2026/08/03-06:38:26.891447 7f0fa6ffd6c0 Level-0 table #1228: started
2026/04/16-18:58:25.414902 7f2688bfb6c0 Level-0 table #1161: 0 bytes OK 2026/08/03-06:38:26.891477 7f0fa6ffd6c0 Level-0 table #1228: 0 bytes OK
2026/04/16-18:58:25.420767 7f2688bfb6c0 Delete type=0 #1159 2026/08/03-06:38:26.898218 7f0fa6ffd6c0 Delete type=0 #1226
2026/04/16-18:58:25.434013 7f2688bfb6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.913139 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001165 MANIFEST-001232
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.562774 7f421a7fc6c0 Recovering log #1163 2026/08/04-08:21:29.488367 7f3592bff6c0 Recovering log #1230
2026/04/18-12:41:58.573652 7f421a7fc6c0 Delete type=3 #1161 2026/08/04-08:21:29.504785 7f3592bff6c0 Delete type=3 #1228
2026/04/18-12:41:58.573800 7f421a7fc6c0 Delete type=0 #1163 2026/08/04-08:21:29.504886 7f3592bff6c0 Delete type=0 #1230
2026/04/18-12:51:29.084486 7f4219ffb6c0 Level-0 table #1168: started 2026/08/04-09:53:52.803860 7f3590bfb6c0 Level-0 table #1235: started
2026/04/18-12:51:29.084510 7f4219ffb6c0 Level-0 table #1168: 0 bytes OK 2026/08/04-09:53:52.803910 7f3590bfb6c0 Level-0 table #1235: 0 bytes OK
2026/04/18-12:51:29.090608 7f4219ffb6c0 Delete type=0 #1166 2026/08/04-09:53:52.842964 7f3590bfb6c0 Delete type=0 #1233
2026/04/18-12:51:29.096960 7f4219ffb6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/08/04-09:53:52.956755 7f3590bfb6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.529214 7f2689bfd6c0 Recovering log #1159 2026/08/03-06:19:48.722782 7f0ff57ff6c0 Recovering log #1226
2026/04/15-15:16:22.539425 7f2689bfd6c0 Delete type=3 #1157 2026/08/03-06:19:48.732938 7f0ff57ff6c0 Delete type=3 #1224
2026/04/15-15:16:22.539500 7f2689bfd6c0 Delete type=0 #1159 2026/08/03-06:19:48.733013 7f0ff57ff6c0 Delete type=0 #1226
2026/04/16-18:58:25.365459 7f2688bfb6c0 Level-0 table #1164: started 2026/08/03-06:38:26.811182 7f0fa6ffd6c0 Level-0 table #1231: started
2026/04/16-18:58:25.365488 7f2688bfb6c0 Level-0 table #1164: 0 bytes OK 2026/08/03-06:38:26.811213 7f0fa6ffd6c0 Level-0 table #1231: 0 bytes OK
2026/04/16-18:58:25.371259 7f2688bfb6c0 Delete type=0 #1162 2026/08/03-06:38:26.817698 7f0fa6ffd6c0 Delete type=0 #1229
2026/04/16-18:58:25.384444 7f2688bfb6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.824339 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001164 MANIFEST-001231
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.679668 7f421affd6c0 Recovering log #1162 2026/08/04-08:21:29.651551 7f3591bfd6c0 Recovering log #1229
2026/04/18-12:41:58.690539 7f421affd6c0 Delete type=3 #1160 2026/08/04-08:21:29.671782 7f3591bfd6c0 Delete type=3 #1227
2026/04/18-12:41:58.690711 7f421affd6c0 Delete type=0 #1162 2026/08/04-08:21:29.671869 7f3591bfd6c0 Delete type=0 #1229
2026/04/18-12:51:29.146181 7f4219ffb6c0 Level-0 table #1167: started 2026/08/04-09:53:53.239483 7f3590bfb6c0 Level-0 table #1234: started
2026/04/18-12:51:29.146206 7f4219ffb6c0 Level-0 table #1167: 0 bytes OK 2026/08/04-09:53:53.239521 7f3590bfb6c0 Level-0 table #1234: 0 bytes OK
2026/04/18-12:51:29.152607 7f4219ffb6c0 Delete type=0 #1165 2026/08/04-09:53:53.268877 7f3590bfb6c0 Delete type=0 #1232
2026/04/18-12:51:29.152803 7f4219ffb6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/08/04-09:53:53.269377 7f3590bfb6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.612700 7f268abff6c0 Recovering log #1158 2026/08/03-06:19:48.822051 7f0fa7fff6c0 Recovering log #1225
2026/04/15-15:16:22.623314 7f268abff6c0 Delete type=3 #1156 2026/08/03-06:19:48.832528 7f0fa7fff6c0 Delete type=3 #1223
2026/04/15-15:16:22.623363 7f268abff6c0 Delete type=0 #1158 2026/08/03-06:19:48.832595 7f0fa7fff6c0 Delete type=0 #1225
2026/04/16-18:58:25.402687 7f2688bfb6c0 Level-0 table #1163: started 2026/08/03-06:38:26.861128 7f0fa6ffd6c0 Level-0 table #1230: started
2026/04/16-18:58:25.402711 7f2688bfb6c0 Level-0 table #1163: 0 bytes OK 2026/08/03-06:38:26.861152 7f0fa6ffd6c0 Level-0 table #1230: 0 bytes OK
2026/04/16-18:58:25.408855 7f2688bfb6c0 Delete type=0 #1161 2026/08/03-06:38:26.869011 7f0fa6ffd6c0 Delete type=0 #1228
2026/04/16-18:58:25.408963 7f2688bfb6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.883307 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000647 MANIFEST-000714
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.694405 7f421b7fe6c0 Recovering log #645 2026/08/04-08:21:29.675807 7f35923fe6c0 Recovering log #712
2026/04/18-12:41:58.706703 7f421b7fe6c0 Delete type=3 #643 2026/08/04-08:21:29.692121 7f35923fe6c0 Delete type=3 #710
2026/04/18-12:41:58.706857 7f421b7fe6c0 Delete type=0 #645 2026/08/04-08:21:29.692200 7f35923fe6c0 Delete type=0 #712
2026/04/18-12:51:29.125711 7f4219ffb6c0 Level-0 table #650: started 2026/08/04-09:53:53.202018 7f3590bfb6c0 Level-0 table #717: started
2026/04/18-12:51:29.125752 7f4219ffb6c0 Level-0 table #650: 0 bytes OK 2026/08/04-09:53:53.202055 7f3590bfb6c0 Level-0 table #717: 0 bytes OK
2026/04/18-12:51:29.132047 7f4219ffb6c0 Delete type=0 #648 2026/08/04-09:53:53.239275 7f3590bfb6c0 Delete type=0 #715
2026/04/18-12:51:29.152761 7f4219ffb6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/08/04-09:53:53.269141 7f3590bfb6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.625600 7f26893fc6c0 Recovering log #641 2026/08/03-06:19:48.835817 7f0ff57ff6c0 Recovering log #708
2026/04/15-15:16:22.635406 7f26893fc6c0 Delete type=3 #639 2026/08/03-06:19:48.845651 7f0ff57ff6c0 Delete type=3 #706
2026/04/15-15:16:22.635464 7f26893fc6c0 Delete type=0 #641 2026/08/03-06:19:48.845733 7f0ff57ff6c0 Delete type=0 #708
2026/04/16-18:58:25.483026 7f2688bfb6c0 Level-0 table #646: started 2026/08/03-06:38:26.869191 7f0fa6ffd6c0 Level-0 table #713: started
2026/04/16-18:58:25.483062 7f2688bfb6c0 Level-0 table #646: 0 bytes OK 2026/08/03-06:38:26.869223 7f0fa6ffd6c0 Level-0 table #713: 0 bytes OK
2026/04/16-18:58:25.489090 7f2688bfb6c0 Delete type=0 #644 2026/08/03-06:38:26.875780 7f0fa6ffd6c0 Delete type=0 #711
2026/04/16-18:58:25.495672 7f2688bfb6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.883321 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-001165 MANIFEST-001232
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/18-12:41:58.499510 7f421bfff6c0 Recovering log #1163 2026/08/04-08:21:29.405032 7f3592bff6c0 Recovering log #1230
2026/04/18-12:41:58.511396 7f421bfff6c0 Delete type=3 #1161 2026/08/04-08:21:29.422770 7f3592bff6c0 Delete type=3 #1228
2026/04/18-12:41:58.511530 7f421bfff6c0 Delete type=0 #1163 2026/08/04-08:21:29.422843 7f3592bff6c0 Delete type=0 #1230
2026/04/18-12:51:29.057755 7f4219ffb6c0 Level-0 table #1168: started 2026/08/04-09:53:52.734650 7f3590bfb6c0 Level-0 table #1235: started
2026/04/18-12:51:29.057790 7f4219ffb6c0 Level-0 table #1168: 0 bytes OK 2026/08/04-09:53:52.734681 7f3590bfb6c0 Level-0 table #1235: 0 bytes OK
2026/04/18-12:51:29.064101 7f4219ffb6c0 Delete type=0 #1166 2026/08/04-09:53:52.765393 7f3590bfb6c0 Delete type=0 #1233
2026/04/18-12:51:29.070517 7f4219ffb6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end) 2026/08/04-09:53:52.803591 7f3590bfb6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2026/04/15-15:16:22.478415 7f2689bfd6c0 Recovering log #1159 2026/08/03-06:19:48.667201 7f0fa7fff6c0 Recovering log #1226
2026/04/15-15:16:22.488840 7f2689bfd6c0 Delete type=3 #1157 2026/08/03-06:19:48.678016 7f0fa7fff6c0 Delete type=3 #1224
2026/04/15-15:16:22.488880 7f2689bfd6c0 Delete type=0 #1159 2026/08/03-06:19:48.678104 7f0fa7fff6c0 Delete type=0 #1226
2026/04/16-18:58:25.332241 7f2688bfb6c0 Level-0 table #1164: started 2026/08/03-06:38:26.776208 7f0fa6ffd6c0 Level-0 table #1231: started
2026/04/16-18:58:25.332319 7f2688bfb6c0 Level-0 table #1164: 0 bytes OK 2026/08/03-06:38:26.776233 7f0fa6ffd6c0 Level-0 table #1231: 0 bytes OK
2026/04/16-18:58:25.339468 7f2688bfb6c0 Delete type=0 #1162 2026/08/03-06:38:26.782751 7f0fa6ffd6c0 Delete type=0 #1229
2026/04/16-18:58:25.358886 7f2688bfb6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end) 2026/08/03-06:38:26.797096 7f0fa6ffd6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
View File
View File

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