Compare commits

..

20 Commits

Author SHA1 Message Date
2abd2c881a Sync bol compendiums 2026-01-12 23:01:53 +01:00
3fa5ca66d1 Minor fix for chronicles v1 2025-12-04 18:26:26 +01:00
6de15eeda7 Ajout alignement Mythic+
Some checks failed
Release Creation / build (release) Failing after 43s
2025-09-28 20:52:09 +02:00
724c096743 Ajout alignement Mythic+
Some checks failed
Release Creation / build (release) Failing after 39s
2025-09-28 20:47:31 +02:00
3e3a4b9ec1 Ajout alignement Mythic+
Some checks failed
Release Creation / build (release) Failing after 41s
2025-09-28 20:42:01 +02:00
425a2a1fc0 Fix odd difficulties
Some checks failed
Release Creation / build (release) Failing after 45s
2025-08-24 22:18:39 +02:00
203d7add66 FIx journals color
Some checks failed
Release Creation / build (release) Failing after 1m38s
2025-07-08 22:34:13 +02:00
8ae193dc34 Fix items sheets
Some checks failed
Release Creation / build (release) Failing after 1m0s
2025-05-15 18:18:40 +02:00
3904f595b5 Add repo
Some checks failed
Release Creation / build (release) Failing after 1m1s
2025-05-15 15:29:49 +02:00
1bf21fae7f Add repo 2025-05-15 14:29:11 +02:00
22579c21bc Update for Foundry v13
Some checks failed
Release Creation / build (release) Failing after 58s
2025-05-09 21:58:37 +02:00
50c5c31e7b Update for Foundry v13 2025-05-09 21:56:03 +02:00
a8c05cd4de Update for Foundry v13 2025-05-09 21:54:29 +02:00
e1cea78059 Update for Foundry v13 2025-05-09 21:54:10 +02:00
c2f9934f5f Fix welcome message 2025-03-31 07:21:30 +02:00
313c8a85fa Fix welcome message 2025-03-31 07:15:38 +02:00
74f6d4d54a Fix empty lands, Fix #33 2025-02-12 07:02:24 +01:00
2eb153ce14 Various fixes for translations 2025-02-11 21:55:04 +01:00
fe513e821a Fix AIS from ARESIA inputs 2025-02-11 21:45:30 +01:00
1b72c9c467 Various fixes for rulebook module 2025-02-10 20:28:13 +01:00
172 changed files with 1115 additions and 671 deletions

View File

@@ -1,6 +1,6 @@
name: Release Creation name: Release Creation
on: on:
release: release:
types: [published] types: [published]
@@ -8,47 +8,47 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner." - run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner."
#- uses: actions/checkout@v3
- uses: RouxAntoine/checkout@v3.5.4
with:
ref: 'v10'
# get part of the tag after the `v` #- uses: actions/checkout@v3
- name: Extract tag version number - uses: RouxAntoine/checkout@v3.5.4
id: get_version with:
uses: battila7/get-version-action@v2 ref: "v13"
# Substitute the Manifest and Download URLs in the module.json # get part of the tag after the `v`
- name: Substitute Manifest and Download Links For Versioned Ones - name: Extract tag version number
id: sub_manifest_link_version id: get_version
uses: microsoft/variable-substitution@v1 uses: battila7/get-version-action@v2
with:
files: 'system.json'
env:
version: ${{steps.get_version.outputs.version-without-v}}
url: https://www.uberwald.me/gitea/public/bol
manifest: https://www.uberwald.me/gitea/public/bol/releases/latest/system.json
download: https://www.uberwald.me/gitea/public/bol/releases/download/${{github.event.release.tag_name}}/bol.zip
# Create a zip file with all files required by the module to add to the release
- run: |
apt update -y
apt install -y zip
- run: zip -r ./bol.zip system.json template.json README.md LICENSE assets/ css/ fonts/ images/ lang/ module/ packs/ styles/ templates/ ui/ # Substitute the Manifest and Download URLs in the module.json
- name: Substitute Manifest and Download Links For Versioned Ones
- name: setup go id: sub_manifest_link_version
uses: https://github.com/actions/setup-go@v4 uses: microsoft/variable-substitution@v1
with: with:
go-version: '>=1.20.1' files: "system.json"
env:
- name: Use Go Action version: ${{steps.get_version.outputs.version-without-v}}
id: use-go-action url: https://www.uberwald.me/gitea/public/bol
uses: https://gitea.com/actions/release-action@main manifest: https://www.uberwald.me/gitea/public/bol/releases/latest/system.json
with: download: https://www.uberwald.me/gitea/public/bol/releases/download/${{github.event.release.tag_name}}/bol.zip
files: |-
./bol.zip # Create a zip file with all files required by the module to add to the release
system.json - run: |
api_key: '${{secrets.RELEASE_TOKEN_UBERWALD}}' apt update -y
apt install -y zip
- run: zip -r ./bol.zip system.json template.json README.md LICENSE assets/ compendiums/ css/ fonts/ images/ lang/ module/ packs/ styles/ templates/ ui/
- name: setup go
uses: https://github.com/actions/setup-go@v4
with:
go-version: ">=1.20.1"
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
./bol.zip
system.json
api_key: "${{secrets.RELEASE_TOKEN_BOL}}"

View File

@@ -1,25 +1,33 @@
Changes :
# v12.1.0 # v13.0.0
- Foundry v13 only
# v12.1.7
- Enhance welcome message
# v12.1.1
## French ## French
- Correction sur les conditions des sorts - Correction sur les conditions des sorts
- Jet d'armures correctement affichés - Jet d'armures correctement affichés
- Dégat à 0 possibles sur les armes/capacités - Dégat à 0 possibles sur les armes/capacités
## English ## English
- Corrected spell conditions - Corrected spell conditions
- Armor rolls are now correctly displayed - Armor rolls are now correctly displayed
- Weapon/capacity damage can now be set to 0 - Weapon/capacity damage can now be set to 0
# v12.1.0 # v12.1.0
- Gestion des Hordes - Gestion des Hordes
- Ajout de la traduction Espagnole - Ajout de la traduction Espagnole
- Nouvelles clés de traduction - Nouvelles clés de traduction
- Petites amélioration diverses - Petites amélioration diverses
# v11.1.2 # v11.1.2
- Ajout des traductions manquantes en anglais - Ajout des traductions manquantes en anglais
@@ -39,20 +47,19 @@ Changes :
# v11.0.8 # v11.0.8
- Correction sur les malus de bouclier (blocage) - Correction sur les malus de bouclier (blocage)
- Corrrection sur le malus d'init des boucliers qui était mal affiché dans la fiche d'item - Corrrection sur le malus d'init des boucliers qui était mal affiché dans la fiche d'item
# v10.4.0 # v10.4.0
- Ajout de la gestion d'effets - Ajout de la gestion d'effets
- Aide intégré - Aide intégré
- Intégration du PDF de la bougette - Intégration du PDF de la bougette
# v10.3.3 # v10.3.3
- Nouvelles clés de traduction - Nouvelles clés de traduction
- Lorsqu'une arme a un dé bonus, prise en compte plus claire du dé bonus et affichage de l'information dans la fenêtre de jet - Lorsqu'une arme a un dé bonus, prise en compte plus claire du dé bonus et affichage de l'information dans la fenêtre de jet
- Lorsqu'une arme relance les 1 sur ses dégats, l'information est affichée dans le tchat - Lorsqu'une arme relance les 1 sur ses dégats, l'information est affichée dans le tchat
- Termes corrects pour les PNJs (ie rival) - Termes corrects pour les PNJs (ie rival)
- Nouveaux équipements issus du Dieu Voilé - Nouveaux équipements issus du Dieu Voilé

View File

@@ -18,7 +18,7 @@
"description": "<h1>Medium Armour</h1><p>Combining some of the mobility of the lighter armour and better protection of heavy armour, this is the armour worn by the typical adventurer expecting to get into combat situations on a regular basis. Medium armour could represent fairly extensive coverage of leather armour, with stiffened leather in some of the more vital areas, or partial coverage of mail with leather in other areas. It could even represent a steel breastplate and minimal/no other armour.</p><p>Someone in medium armour can often remove portions of their armour to reduce it to light armour, as necessary.</p><h2>Medium armour effects</h2><ul><li>Roll a d6-2 (0-4 points of damage reduction).</li><li>If you prefer static numbers, medium armour absorbs 2 points of damage.</li><li>Wearing medium armour restricts magicians and imposes an extra 2 Arcane Points cost on a spell casting.</li></ul>" "description": "<h1>Medium Armour</h1><p>Combining some of the mobility of the lighter armour and better protection of heavy armour, this is the armour worn by the typical adventurer expecting to get into combat situations on a regular basis. Medium armour could represent fairly extensive coverage of leather armour, with stiffened leather in some of the more vital areas, or partial coverage of mail with leather in other areas. It could even represent a steel breastplate and minimal/no other armour.</p><p>Someone in medium armour can often remove portions of their armour to reduce it to light armour, as necessary.</p><h2>Medium armour effects</h2><ul><li>Roll a d6-2 (0-4 points of damage reduction).</li><li>If you prefer static numbers, medium armour absorbs 2 points of damage.</li><li>Wearing medium armour restricts magicians and imposes an extra 2 Arcane Points cost on a spell casting.</li></ul>"
}, },
"Casque": { "Casque": {
"name": "Casque", "name": "Helmet",
"description": "<h1>Helmet</h1><p>If you are wearing a helmet, this adds +1 to your protection if already wearing armour. Therefore, if in light armour and helmet, youd roll d6-2. In medium armour, roll d6-1. In heavy armour, roll d6.</p><p>Helmets give you a penalty in social situations and to your initiative (as its harder to notice things whilst wearing a helmet).</p><p>Most Heroes take their helmets off, unless preparing for battle.</p>" "description": "<h1>Helmet</h1><p>If you are wearing a helmet, this adds +1 to your protection if already wearing armour. Therefore, if in light armour and helmet, youd roll d6-2. In medium armour, roll d6-1. In heavy armour, roll d6.</p><p>Helmets give you a penalty in social situations and to your initiative (as its harder to notice things whilst wearing a helmet).</p><p>Most Heroes take their helmets off, unless preparing for battle.</p>"
}, },
"Grand bouclier": { "Grand bouclier": {

View File

@@ -74,8 +74,8 @@
"description": "<h1>Shamballah</h1><p>Shamballahns are generally a dark-skinned and dark-haired people with purple, mauve, scarlet, and indigo eye colouring. They are very perceptive and make good hunters.</p>" "description": "<h1>Shamballah</h1><p>Shamballahns are generally a dark-skinned and dark-haired people with purple, mauve, scarlet, and indigo eye colouring. They are very perceptive and make good hunters.</p>"
}, },
"Terres Désolées": { "Terres Désolées": {
"name": "Terres Désolées", "name": "Empty Lands",
"description": "<h1>Terres Désolées</h1><p>Personne ne sait grand-chose au sujet des Terres Désolées, et moins encore sur les contrées qui sétendraient au-delà. Des gens vivent assurément dans cette région, sil faut en croire les récits de chasseurs et dexplorateurs qui ont relevé des traces de présence. Mais à ce jour, personne na découvert le moindre village ou hameau, et on ignore tout de lapparence de leurs habitants.</p><p>Si votre héros est originaire des Terres Désolées, il vous faudra travailler avec le MJ pour déterminer à quoi ressemble votre personnage. Mais attendezvous à ce quil soit toujours considéré comme un étranger, où quil se rende en Lémurie.</p>" "description": "<h1>Empty Lands</h1><p>No one knows what exists in and beyond the Empty Lands. People do live there, because hunters and explorers have seen evidence of them. However, no towns or even villages have been discovered, and no one has any idea of what the people are like. If you come from the Empty Lands, you will need to work with the GM to determine what your character is like. He or she will always be treated as an outsider.</p>"
}, },
"Tyrus": { "Tyrus": {
"name": "Tyrus", "name": "Tyrus",

View File

@@ -42,8 +42,8 @@
"description": "<h1>Staff Sling</h1><p>The staff sling is a two-handed version of the sling, with a longer range.</p>" "description": "<h1>Staff Sling</h1><p>The staff sling is a two-handed version of the sling, with a longer range.</p>"
}, },
"Cimeterre": { "Cimeterre": {
"name": "Cimeterre", "name": "Scimitar",
"description": "<h1>Épée</h1><p>larme favorite des héros. Elle se décline en différents modèles utilisés un peu partout en Lémurie, comme les sabres dabordage, les tulwars, les cimeterres ou les épées longues. Inscrivez le nom de larme que vous voulez sur la fiche de votre personnage en fonction de limage que vous vous faites de ce dernier. Mais au final, une épée reste une longue lame utilisée pour tuer lennemi.</p>" "description": "<h1>Scimitar (Sword)</h1><p>This weapon is a favourite amongst Heroes. This is the catch-all description for all manner of long-bladed, one-handed weapons used all over Lemuria, such as cutlasses, tulwars, scimitars, rapiers, broadswords and longswords. Call it what you want on your character sheet, because that will add flavour to your character, but at the end of the day a sword is a long blade used for killing.</p>"
}, },
"Dague": { "Dague": {
"name": "Dagger", "name": "Dagger",
@@ -123,19 +123,19 @@
}, },
"Masse darmes": { "Masse darmes": {
"name": "Mace", "name": "Mace",
"description": "<h1>Mace</h1><p>cA mace is similar to a club, but with a metal head, often with spikes or flanges. One-handed maces can be thrown at increments of 5 as they arent very effective used this way.</p>" "description": "<h1>Mace</h1><p>A mace is similar to a club, but with a metal head, often with spikes or flanges. One-handed maces can be thrown at increments of 5 as they arent very effective used this way.</p>"
}, },
"Masse darmes (Lancer)": { "Masse darmes (Lancer)": {
"name": "Masse darmes (Lancer)", "name": "Mace (Thrown)",
"description": "<h1>Masse darmes</h1><p>cette arme a la même forme quun gourdin, mais possède une tête en métal, souvent agrémentée de pointes ou dailettes pour plus defficacité. Les masses darmes à une main peuvent se lancer, mais à courte distance, car elles ne sont pas vraiment prévues pour cet usage.</p>" "description": "<h1>Mace</h1><p>A mace is similar to a club, but with a metal head, often with spikes or flanges. One-handed maces can be thrown at increments of 5 as they arent very effective used this way.</p>"
}, },
"Massue": { "Massue": {
"name": "Massue", "name": "Club",
"description": "<h1>Massue</h1><p>la version lourde du gourdin. Une massue consiste en un solide manche en bois dont lextrémité, plus volumineuse, sert à fracasser le crâne de ses adversaires, doù son autre nom de casse-tête.</p>" "description": "<h1>Club</h1><p>This is a larger version of the cudgel. It is a stout length of wood, used in one hand to bludgeon and batter your opponent. Clubs usually have a wider or knobbed head and can be called war-clubs, knobkerries, or shillelaghs.</p>"
}, },
"Massue (Lancer)": { "Massue (Lancer)": {
"name": "Massue (Lancer)", "name": "Club (Thrown)",
"description": "<h1>Massue</h1><p>la version lourde du gourdin. Une massue consiste en un solide manche en bois dont lextrémité, plus volumineuse, sert à fracasser le crâne de ses adversaires, doù son autre nom de casse-tête.</p>" "description": "<h1>Club</h1><p>This is a larger version of the cudgel. It is a stout length of wood, used in one hand to bludgeon and batter your opponent. Clubs usually have a wider or knobbed head and can be called war-clubs, knobkerries, or shillelaghs.</p>"
}, },
"Morgenstern": { "Morgenstern": {
"name": "Morning Star", "name": "Morning Star",

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +0,0 @@
[Dolphin]
Timestamp=2024,11,2,20,30,2.2800000000000002
Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails

View File

@@ -111,7 +111,7 @@
"BOL.ui.defender": "Verteidiger", "BOL.ui.defender": "Verteidiger",
"BOL.ui.difficulty": "Schwierigkeit", "BOL.ui.difficulty": "Schwierigkeit",
"BOL.ui.spellProperties": "Zaubereigenschaften", "BOL.ui.spellProperties": "Zaubereigenschaften",
"BOL.ui.duration": "Dauer", "BOL.ui.duration": "Dauer",
"BOL.ui.spellkeep": "Aufrechterhalten", "BOL.ui.spellkeep": "Aufrechterhalten",
"BOL.ui.concentrate": "Konzentrieren", "BOL.ui.concentrate": "Konzentrieren",
"BOL.ui.registerInit": "Register Init.", "BOL.ui.registerInit": "Register Init.",
@@ -134,7 +134,7 @@
"BOL.ui.makeAlchemy": "Alchemika herstellen", "BOL.ui.makeAlchemy": "Alchemika herstellen",
"BOL.ui.alchemyCostTotal": "Alchemiepunkte ingesamt", "BOL.ui.alchemyCostTotal": "Alchemiepunkte ingesamt",
"BOL.ui.alchemyInvest": "Alchemiepunkte investieren", "BOL.ui.alchemyInvest": "Alchemiepunkte investieren",
"BOL.ui.alchemyCurrent": "Aktuelle Alchemiepunkte in Objekten", "BOL.ui.alchemyCurrent": "Aktuelle Alchemiepunkte in Objekten",
"BOL.ui.advance": "Status", "BOL.ui.advance": "Status",
"BOL.ui.isadvantage": "Gibt zusätzlichen Würfel?", "BOL.ui.isadvantage": "Gibt zusätzlichen Würfel?",
"BOL.ui.isbonusdice": "Gibt zusätzlichen Würfel?", "BOL.ui.isbonusdice": "Gibt zusätzlichen Würfel?",
@@ -153,8 +153,8 @@
"BOL.ui.status": "Status", "BOL.ui.status": "Status",
"BOL.ui.toactivated": "Aktiv (>Deaktivieren)", "BOL.ui.toactivated": "Aktiv (>Deaktivieren)",
"BOL.ui.todeactivated": "Inaktiv (>Aktivieren)", "BOL.ui.todeactivated": "Inaktiv (>Aktivieren)",
"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.initMalus": "Init malus", "BOL.ui.initMalus": "Init malus",
"BOL.ui.createEquipment": "Create Equipment", "BOL.ui.createEquipment": "Create Equipment",
@@ -177,7 +177,7 @@
"BOL.featureSubtypes.fightOption": "Kampfoption", "BOL.featureSubtypes.fightOption": "Kampfoption",
"BOL.bougette.nomoney": "Mittellos", "BOL.bougette.nomoney": "Mittellos",
"BOL.bougette.tolive": "Zum Überleben", "BOL.bougette.tolive": "Zum Überleben",
"BOL.bougette.easylife": "Einfaches Leben", "BOL.bougette.easylife": "Einfaches Leben",
"BOL.bougette.luxury" : "Luxuriöses Leben", "BOL.bougette.luxury" : "Luxuriöses Leben",
"BOL.bougette.rich": "Reich!", "BOL.bougette.rich": "Reich!",
@@ -224,14 +224,14 @@
"BOL.protectionCategory.other": "Verschiedenes", "BOL.protectionCategory.other": "Verschiedenes",
"BOL.spellItem.charm": "Zauber", "BOL.spellItem.charm": "Zauber",
"BOL.spellItem.circle1": "Erster Kreis", "BOL.spellItem.circle1": "Erster Kreis",
"BOL.spellItem.circle2": "Zweiter Kreis", "BOL.spellItem.circle2": "Zweiter Kreis",
"BOL.spellItem.circle3": "Dritter Kreis", "BOL.spellItem.circle3": "Dritter Kreis",
"BOL.alchemyItem.common": "Häufig", "BOL.alchemyItem.common": "Häufig",
"BOL.alchemyItem.scarce": "Selten", "BOL.alchemyItem.scarce": "Selten",
"BOL.alchemyItem.legend": "Legendär", "BOL.alchemyItem.legend": "Legendär",
"BOL.alchemyItem.mythic": "Mystisch", "BOL.alchemyItem.mythic": "Mystisch",
"BOL.weaponCategory.melee": "Nahkampf", "BOL.weaponCategory.melee": "Nahkampf",
"BOL.weaponCategory.ranged": "Fernkampf", "BOL.weaponCategory.ranged": "Fernkampf",
@@ -290,6 +290,7 @@
"BOL.itemProperty.difficulty": "Schwierigkeit", "BOL.itemProperty.difficulty": "Schwierigkeit",
"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.itemStat.quantity": "Anzahl", "BOL.itemStat.quantity": "Anzahl",
"BOL.itemStat.weight": "Gewicht", "BOL.itemStat.weight": "Gewicht",
@@ -359,7 +360,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie", "BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels", "BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?", "BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?",
"BOL.ui.answer": "Réponse", "BOL.ui.answer": "Réponse",
"BOL.ui.horoscopefavorable": "Favorable (1dB)", "BOL.ui.horoscopefavorable": "Favorable (1dB)",
"BOL.ui.horoscopeunfavorable": "Défavorable (1dM)", "BOL.ui.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes", "BOL.ui.horoscopes": "Horoscopes",
@@ -468,6 +469,7 @@
"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.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",

View File

@@ -47,7 +47,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie", "BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels", "BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?", "BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?",
"BOL.ui.answer": "Réponse", "BOL.ui.answer": "Réponse",
"BOL.ui.horoscopefavorable": "Favorable (1dB)", "BOL.ui.horoscopefavorable": "Favorable (1dB)",
"BOL.ui.horoscopeunfavorable": "Défavorable (1dM)", "BOL.ui.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes", "BOL.ui.horoscopes": "Horoscopes",
@@ -132,7 +132,7 @@
"BOL.ui.defender": "Defender", "BOL.ui.defender": "Defender",
"BOL.ui.difficulty": "Difficulty", "BOL.ui.difficulty": "Difficulty",
"BOL.ui.spellProperties": "Spell Properties", "BOL.ui.spellProperties": "Spell Properties",
"BOL.ui.duration": "Duration", "BOL.ui.duration": "Duration",
"BOL.ui.spellkeep": "Maintain", "BOL.ui.spellkeep": "Maintain",
"BOL.ui.concentrate": "Concentrate", "BOL.ui.concentrate": "Concentrate",
"BOL.ui.registerInit": "Register Init.", "BOL.ui.registerInit": "Register Init.",
@@ -156,7 +156,7 @@
"BOL.ui.makeAlchemy": "Make Alchemy", "BOL.ui.makeAlchemy": "Make Alchemy",
"BOL.ui.alchemyCostTotal": "Alchemy Points Total Cost", "BOL.ui.alchemyCostTotal": "Alchemy Points Total Cost",
"BOL.ui.alchemyInvest": "Invest Alchemy Points", "BOL.ui.alchemyInvest": "Invest Alchemy Points",
"BOL.ui.alchemyCurrent": "Current Alchemy Points in Object", "BOL.ui.alchemyCurrent": "Current Alchemy Points in Object",
"BOL.ui.advance": "Status", "BOL.ui.advance": "Status",
"BOL.ui.isadvantage": "Provides a bonus dice?", "BOL.ui.isadvantage": "Provides a bonus dice?",
"BOL.ui.bonusmalus": "Additional bonus/penalty", "BOL.ui.bonusmalus": "Additional bonus/penalty",
@@ -173,8 +173,8 @@
"BOL.ui.status": "Status", "BOL.ui.status": "Status",
"BOL.ui.toactivated": "Active (>Deactivated)", "BOL.ui.toactivated": "Active (>Deactivated)",
"BOL.ui.todeactivated": "Inactive (>Active)", "BOL.ui.todeactivated": "Inactive (>Active)",
"BOL.ui.armorAgiMalus": "Armor+Shield Modifier (Agi)", "BOL.ui.armorAgiMalus": "Armor+Shield Modifier (Agi)",
"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.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)",
@@ -251,7 +251,7 @@
"BOL.featureSubtypes.xplog": "XP Journal", "BOL.featureSubtypes.xplog": "XP Journal",
"BOL.bougette.nomoney": "Nothing", "BOL.bougette.nomoney": "Nothing",
"BOL.bougette.tolive": "To live", "BOL.bougette.tolive": "To live",
"BOL.bougette.easylife": "Easy Life", "BOL.bougette.easylife": "Easy Life",
"BOL.bougette.luxury" : "Luxury life", "BOL.bougette.luxury" : "Luxury life",
"BOL.bougette.rich": "Rich!", "BOL.bougette.rich": "Rich!",
@@ -299,15 +299,15 @@
"BOL.protectionCategory.helm": "Helm", "BOL.protectionCategory.helm": "Helm",
"BOL.protectionCategory.other": "Other", "BOL.protectionCategory.other": "Other",
"BOL.spellItem.charm": "Charm", "BOL.spellItem.charm": "Charm",
"BOL.spellItem.circle1": "First Circle", "BOL.spellItem.circle1": "First Circle",
"BOL.spellItem.circle2": "Second Circle", "BOL.spellItem.circle2": "Second Circle",
"BOL.spellItem.circle3": "Third Circle", "BOL.spellItem.circle3": "Third Circle",
"BOL.alchemyItem.common": "Common", "BOL.alchemyItem.common": "Common",
"BOL.alchemyItem.scarce": "Scarce", "BOL.alchemyItem.scarce": "Scarce",
"BOL.alchemyItem.legend": "Legendary", "BOL.alchemyItem.legend": "Legendary",
"BOL.alchemyItem.mythic": "Mythic", "BOL.alchemyItem.mythic": "Mythic",
"BOL.weaponCategory.melee": "Melee", "BOL.weaponCategory.melee": "Melee",
"BOL.weaponCategory.ranged": "Ranged", "BOL.weaponCategory.ranged": "Ranged",
@@ -365,6 +365,7 @@
"BOL.itemProperty.difficulty": "Difficulty", "BOL.itemProperty.difficulty": "Difficulty",
"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.itemStat.quantity": "Quantity", "BOL.itemStat.quantity": "Quantity",
"BOL.itemStat.weight": "Weight", "BOL.itemStat.weight": "Weight",
@@ -458,7 +459,7 @@
"BOL.size.colossal": "Colossal", "BOL.size.colossal": "Colossal",
"BOL.chat.fightactive": "{name} activates the fight option {foName} for this round !", "BOL.chat.fightactive": "{name} activates the fight option {foName} for this round !",
"BOL.chat.fightunactive": "{name} deactivates the fight option {foName} for this round !", "BOL.chat.fightunactive": "{name} deactivates the fight option {foName} for this round !",
"BOL.chat.isdead": "{name} is dead !", "BOL.chat.isdead": "{name} is dead !",
"BOL.chat.epitaph": "Keep his name and memory in honor !", "BOL.chat.epitaph": "Keep his name and memory in honor !",
"BOL.chat.vitalityzero": "Lifeblood of {name} is now {hp} : he is going to fall unconscious !", "BOL.chat.vitalityzero": "Lifeblood of {name} is now {hp} : he is going to fall unconscious !",
@@ -543,17 +544,24 @@
"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.dialog.soeasy": "So easy (+4)", "BOL.dialog.soeasy": "So easy (+4)",
"BOL.dialog.soeasy3": "So easy (+3)",
"BOL.dialog.veryeasy": "Very easy (+2)", "BOL.dialog.veryeasy": "Very easy (+2)",
"BOL.dialog.easy": "Easy (+1)", "BOL.dialog.easy": "Easy (+1)",
"BOL.dialog.moderate": "Moderate (0)", "BOL.dialog.moderate": "Moderate (0)",
"BOL.dialog.hard": "Hard (-1)", "BOL.dialog.hard": "Hard (-1)",
"BOL.dialog.tough": "Tough (-2)", "BOL.dialog.tough": "Tough (-2)",
"BOL.dialog.tough3": "Tough (-3)",
"BOL.dialog.demanding": "Demanding (-4)", "BOL.dialog.demanding": "Demanding (-4)",
"BOL.dialog.demanding5": "Demanding (-5)",
"BOL.dialog.formidable": "Formidable (-6)", "BOL.dialog.formidable": "Formidable (-6)",
"BOL.dialog.formidable7": "Formidable (-7)",
"BOL.dialog.heroic": "Heroic (-8)", "BOL.dialog.heroic": "Heroic (-8)",
"BOL.dialog.heroic9": "Heroic (-9)",
"BOL.dialog.mythic": "Mythic (-10)", "BOL.dialog.mythic": "Mythic (-10)",
"BOL.dialog.mythic11": "Mythic (-11)",
"BOL.dialog.divine": "Divine (-12)", "BOL.dialog.divine": "Divine (-12)",
"BOL.dialog.pointblank": "Point blank (+1)", "BOL.dialog.pointblank": "Point blank (+1)",
@@ -562,7 +570,7 @@
"BOL.dialog.long": "Long (-2)", "BOL.dialog.long": "Long (-2)",
"BOL.dialog.distant": "Distant (-4)", "BOL.dialog.distant": "Distant (-4)",
"BOL.dialog.extreme": "Extreme (-6)", "BOL.dialog.extreme": "Extreme (-6)",
"BOL.dialog.utmost": "Utmost (-8)", "BOL.dialog.utmost": "Utmost (-8)",
"BOL.ui.name": "Name", "BOL.ui.name": "Name",
"BOL.ui.xp": "Experience", "BOL.ui.xp": "Experience",
@@ -578,11 +586,11 @@
"BOL.ui.bionotes": "Notes", "BOL.ui.bionotes": "Notes",
"BOL.chat.welcome1": "Welcome to Barbarians of Lemuria (Ludospherik version)", "BOL.chat.welcome1": "Welcome to Barbarians of Lemuria (Ludospherik version)",
"BOL.chat.welcome2": "Books are necessary to play, and ca be found here : http://www.ludospherik.fr/content/14-barbarians-of-lemuria", "BOL.chat.welcome2": "Books are necessary to play, and <a href='http://www.ludospherik.fr/content/14-barbarians-of-lemuria'>can be found here.</a> ",
"BOL.chat.welcome3": "The integrated maps are authorized by Guillaume Tavernier and Ludospherik. Thanks to them !.", "BOL.chat.welcome3": "The integrated maps are authorized by Emmanuel Roudier and Ludospherik. Thanks to them !.",
"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": "Good game in Lemuria !", "BOL.chat.welcome5": "<strong>In order to see compendiums in English, you must install and enable the Babele module.</strong>",
"BOL.chat.welcome6": "", "BOL.chat.welcome6": "Good game in Lemuria !",
"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",

View File

@@ -132,7 +132,7 @@
"BOL.ui.defender": "Defensor", "BOL.ui.defender": "Defensor",
"BOL.ui.difficulty": "Dificultad", "BOL.ui.difficulty": "Dificultad",
"BOL.ui.spellProperties": "Propiedades Conjuro", "BOL.ui.spellProperties": "Propiedades Conjuro",
"BOL.ui.duration": "Duración", "BOL.ui.duration": "Duración",
"BOL.ui.spellkeep": "Mantenimiento", "BOL.ui.spellkeep": "Mantenimiento",
"BOL.ui.concentrate": "Concentración", "BOL.ui.concentrate": "Concentración",
"BOL.ui.registerInit": "Registrar Inic.", "BOL.ui.registerInit": "Registrar Inic.",
@@ -156,7 +156,7 @@
"BOL.ui.makeAlchemy": "Realizar Alquimia", "BOL.ui.makeAlchemy": "Realizar Alquimia",
"BOL.ui.alchemyCostTotal": "Coste Total Puntos Alquimia", "BOL.ui.alchemyCostTotal": "Coste Total Puntos Alquimia",
"BOL.ui.alchemyInvest": "Invertir Puntos Alquimia", "BOL.ui.alchemyInvest": "Invertir Puntos Alquimia",
"BOL.ui.alchemyCurrent": "Puntos Alquimia actuales en Objeto", "BOL.ui.alchemyCurrent": "Puntos Alquimia actuales en Objeto",
"BOL.ui.advance": "Estado", "BOL.ui.advance": "Estado",
"BOL.ui.isadvantage": "¿Da un dado ventaja?", "BOL.ui.isadvantage": "¿Da un dado ventaja?",
"BOL.ui.bonusmalus": "Ventaja/desventaja adicional", "BOL.ui.bonusmalus": "Ventaja/desventaja adicional",
@@ -245,7 +245,7 @@
"BOL.featureSubtypes.xplog": "Diario PX", "BOL.featureSubtypes.xplog": "Diario PX",
"BOL.bougette.nomoney": "Nada", "BOL.bougette.nomoney": "Nada",
"BOL.bougette.tolive": "Vivir justo", "BOL.bougette.tolive": "Vivir justo",
"BOL.bougette.easylife": "Vida simple", "BOL.bougette.easylife": "Vida simple",
"BOL.bougette.luxury" : "Vida lujosa", "BOL.bougette.luxury" : "Vida lujosa",
"BOL.bougette.rich": "¡Rico!", "BOL.bougette.rich": "¡Rico!",
@@ -293,15 +293,15 @@
"BOL.protectionCategory.helm": "Casco", "BOL.protectionCategory.helm": "Casco",
"BOL.protectionCategory.other": "Otro", "BOL.protectionCategory.other": "Otro",
"BOL.spellItem.charm": "Truco", "BOL.spellItem.charm": "Truco",
"BOL.spellItem.circle1": "Primer Círculo", "BOL.spellItem.circle1": "Primer Círculo",
"BOL.spellItem.circle2": "Segundo Círculo", "BOL.spellItem.circle2": "Segundo Círculo",
"BOL.spellItem.circle3": "Tercer Círculo", "BOL.spellItem.circle3": "Tercer Círculo",
"BOL.alchemyItem.common": "Común", "BOL.alchemyItem.common": "Común",
"BOL.alchemyItem.scarce": "Escaso", "BOL.alchemyItem.scarce": "Escaso",
"BOL.alchemyItem.legend": "Legendario", "BOL.alchemyItem.legend": "Legendario",
"BOL.alchemyItem.mythic": "Mítico", "BOL.alchemyItem.mythic": "Mítico",
"BOL.weaponCategory.melee": "Melé", "BOL.weaponCategory.melee": "Melé",
"BOL.weaponCategory.ranged": "Distancia", "BOL.weaponCategory.ranged": "Distancia",
@@ -359,6 +359,7 @@
"BOL.itemProperty.difficulty": "Dificultad", "BOL.itemProperty.difficulty": "Dificultad",
"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.itemStat.quantity": "Cantidad", "BOL.itemStat.quantity": "Cantidad",
"BOL.itemStat.weight": "Peso", "BOL.itemStat.weight": "Peso",
@@ -452,7 +453,7 @@
"BOL.size.colossal": "Colosal", "BOL.size.colossal": "Colosal",
"BOL.chat.fightactive": "¡Activa la opción de combate {foName} este asalto!", "BOL.chat.fightactive": "¡Activa la opción de combate {foName} este asalto!",
"BOL.chat.fightunactive": "¡Desactiva la opción de combate {foName} este asalto!", "BOL.chat.fightunactive": "¡Desactiva la opción de combate {foName} este asalto!",
"BOL.chat.isdead": "¡{name} esta muerto!", "BOL.chat.isdead": "¡{name} esta muerto!",
"BOL.chat.epitaph": "¡Guardar el honor de su nombre y su memoria!", "BOL.chat.epitaph": "¡Guardar el honor de su nombre y su memoria!",
"BOL.chat.vitalityzero": "Vitalidad de {name} es {hp}: ¡va a caer inconsciente!", "BOL.chat.vitalityzero": "Vitalidad de {name} es {hp}: ¡va a caer inconsciente!",
@@ -534,6 +535,7 @@
"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.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)",
@@ -553,7 +555,7 @@
"BOL.dialog.long": "Larga (-2)", "BOL.dialog.long": "Larga (-2)",
"BOL.dialog.distant": "Distante (-4)", "BOL.dialog.distant": "Distante (-4)",
"BOL.dialog.extreme": "Extrema (-6)", "BOL.dialog.extreme": "Extrema (-6)",
"BOL.dialog.utmost": "Límite (-8)", "BOL.dialog.utmost": "Límite (-8)",
"BOL.ui.name": "Nombre", "BOL.ui.name": "Nombre",
"BOL.ui.xp": "Experiencia", "BOL.ui.xp": "Experiencia",

View File

@@ -50,7 +50,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie", "BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels", "BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?", "BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?",
"BOL.ui.answer": "Réponse", "BOL.ui.answer": "Réponse",
"BOL.ui.horoscopefavorable": "Favorable (1dB)", "BOL.ui.horoscopefavorable": "Favorable (1dB)",
"BOL.ui.horoscopeunfavorable": "Défavorable (1dM)", "BOL.ui.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes", "BOL.ui.horoscopes": "Horoscopes",
@@ -137,7 +137,7 @@
"BOL.ui.duration": "Durée", "BOL.ui.duration": "Durée",
"BOL.ui.spellkeep": "Prolongation possible ?", "BOL.ui.spellkeep": "Prolongation possible ?",
"BOL.ui.concentrate": "Concentration à maintenir ?", "BOL.ui.concentrate": "Concentration à maintenir ?",
"BOL.ui.aggressive": "Sort aggressif ?", "BOL.ui.aggressive": "Sort aggressif ?",
"BOL.ui.registerInit": "Enregistrer comme Init. de combat", "BOL.ui.registerInit": "Enregistrer comme Init. de combat",
"BOL.ui.initMalus": "Malus d'initiative", "BOL.ui.initMalus": "Malus d'initiative",
"BOL.ui.magicnewrules": "Règles supplémentaires (cf. supplément fan-made Sorcellerie!)", "BOL.ui.magicnewrules": "Règles supplémentaires (cf. supplément fan-made Sorcellerie!)",
@@ -147,7 +147,7 @@
"BOL.ui.flaw":"Désanvatage", "BOL.ui.flaw":"Désanvatage",
"BOL.ui.cost":"Cout XP", "BOL.ui.cost":"Cout XP",
"BOL.ui.date":"Date", "BOL.ui.date":"Date",
"BOL.ui.isSorcerer": "Carrière de Sorcier ?", "BOL.ui.isSorcerer": "Carrière de Sorcier ?",
"BOL.ui.isAlchemist": "Carrière d'Alchimiste ?", "BOL.ui.isAlchemist": "Carrière d'Alchimiste ?",
"BOL.ui.isPriest": "Carrière de Prêtre/Druide ?", "BOL.ui.isPriest": "Carrière de Prêtre/Druide ?",
@@ -259,7 +259,7 @@
"BOL.bougette.easylife": "A l'aise", "BOL.bougette.easylife": "A l'aise",
"BOL.bougette.luxury": "Luxe&Volupté", "BOL.bougette.luxury": "Luxe&Volupté",
"BOL.bougette.rich": "Richissime", "BOL.bougette.rich": "Richissime",
"BOL.featureSubtypes.origin": "Origine", "BOL.featureSubtypes.origin": "Origine",
"BOL.featureSubtypes.race": "Race", "BOL.featureSubtypes.race": "Race",
"BOL.featureSubtypes.career": "Carrière", "BOL.featureSubtypes.career": "Carrière",
@@ -393,8 +393,9 @@
"BOL.itemProperty.crewDamageMultiplier": "Multiplicateur", "BOL.itemProperty.crewDamageMultiplier": "Multiplicateur",
"BOL.itemProperty.isboarding": "Abordage", "BOL.itemProperty.isboarding": "Abordage",
"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.itemStat.quantity": "Quantité", "BOL.itemStat.quantity": "Quantité",
"BOL.itemStat.weight": "Poids", "BOL.itemStat.weight": "Poids",
"BOL.itemStat.price": "Prix", "BOL.itemStat.price": "Prix",
@@ -486,7 +487,7 @@
"BOL.size.colossal": "Monstrueuse", "BOL.size.colossal": "Monstrueuse",
"BOL.chat.fightactive": "{name} active son option de combat {foName} pour ce round !", "BOL.chat.fightactive": "{name} active son option de combat {foName} pour ce round !",
"BOL.chat.fightunactive": "{name} désactive son option de combat {foName} pour ce round !", "BOL.chat.fightunactive": "{name} désactive son option de combat {foName} pour ce round !",
"BOL.chat.isdead": "{name} est mort !", "BOL.chat.isdead": "{name} est mort !",
"BOL.chat.epitaph": "Que son nom soit honoré sur les champs de batailles de Lémurie !", "BOL.chat.epitaph": "Que son nom soit honoré sur les champs de batailles de Lémurie !",
"BOL.chat.vitalityzero": "La Vitalité de {name} est {hp} : il va s'écrouler au sol et sombrer dans l'inconscience !", "BOL.chat.vitalityzero": "La Vitalité de {name} est {hp} : il va s'écrouler au sol et sombrer dans l'inconscience !",
@@ -569,21 +570,29 @@
"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.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.",
"BOL.chat.defenseReduceDamage2": "Vous pouvez également dépenser 1 Point d'Héroisme/Vilainie pour regagner [[/r 2d6KH(1D6B)]] points de vitalité, cela vous coutera votre prochaine action.",
"BOL.chat.armorRoll": "Jet d'armure ",
"BOL.dialog.soeasy": "Inmanquable (+4)", "BOL.dialog.soeasy": "Inmanquable (+4)",
"BOL.dialog.soeasy3": "Inmanquable (+3)",
"BOL.dialog.veryeasy": "Trés Facile (+2)", "BOL.dialog.veryeasy": "Trés Facile (+2)",
"BOL.dialog.easy": "Facile (+1)", "BOL.dialog.easy": "Facile (+1)",
"BOL.dialog.moderate": "Moyenne (0)", "BOL.dialog.moderate": "Moyenne (0)",
"BOL.dialog.hard": "Ardue (-1)", "BOL.dialog.hard": "Ardue (-1)",
"BOL.dialog.tough": "Difficile (-2)", "BOL.dialog.tough": "Difficile (-2)",
"BOL.dialog.tough3": "Difficile (-3)",
"BOL.dialog.demanding": "Très Difficile (-4)", "BOL.dialog.demanding": "Très Difficile (-4)",
"BOL.dialog.demanding5": "Très Difficile (-5)",
"BOL.dialog.formidable": "Impossible (-6)", "BOL.dialog.formidable": "Impossible (-6)",
"BOL.dialog.formidable7": "Impossible (-7)",
"BOL.dialog.heroic": "Héroïque (-8)", "BOL.dialog.heroic": "Héroïque (-8)",
"BOL.dialog.heroic9": "Héroïque (-9)",
"BOL.dialog.mythic": "Mythique (-10)", "BOL.dialog.mythic": "Mythique (-10)",
"BOL.dialog.mythic11": "Mythique (-11)",
"BOL.dialog.divine": "Divine (-12)", "BOL.dialog.divine": "Divine (-12)",
"BOL.dialog.pointblank": "Bout portant (+1)", "BOL.dialog.pointblank": "Bout portant (+1)",
@@ -611,16 +620,15 @@
"BOL.chat.welcome1": "Bienvenue dans Barbarians of Lemuria (Ludospherik version)", "BOL.chat.welcome1": "Bienvenue dans Barbarians of Lemuria (Ludospherik version)",
"BOL.chat.welcome2": "Les livres nécessaires pour jouer sont disponibles sur le site de <a href='http://www.ludospherik.fr/content/14-barbarians-of-lemuria'>l'éditeur Ludospherik.</a>", "BOL.chat.welcome2": "Les livres nécessaires pour jouer sont disponibles sur le site de <a href='http://www.ludospherik.fr/content/14-barbarians-of-lemuria'>l'éditeur Ludospherik.</a>",
"BOL.chat.welcome3": "Les cartes intégrées au système le sont grace à l'aimable autorisation de leur auteur Guillaume Tavernier et des éditions Ludospherik. Merci à eux !.", "BOL.chat.welcome3": "Les cartes intégrées au système le sont grace à l'aimable autorisation d'Emmanuel Roudier et des éditions Ludospherik. Merci à eux !.",
"BOL.chat.welcome4": "Tout le support et le suivi de ce système est disponible via le <a href='https://discord.gg/pPSDNJk'>Discord Foundry FR</a>.", "BOL.chat.welcome4": "Tout le support et le suivi de ce système est disponible via le <a href='https://discord.gg/pPSDNJk'>Discord Foundry FR</a>.",
"BOL.chat.welcome5": "Consulter l'aide en ligne pour plus d'informations : @UUID[Compendium.bol.aides-de-jeu.JournalEntry.8ihDiCxC47fcdKVA]{Aide du Jeu}.", "BOL.chat.welcome5": "Consulter l'aide en ligne pour plus d'informations : @UUID[Compendium.bol.aides-de-jeu.JournalEntry.8ihDiCxC47fcdKVA]{Aide du Jeu}.<br>Si vous souhaitez jouer en anglais, n'oubliez pas d'activer le module Babele.",
"BOL.chat.welcome6": "Bon jeu en Lemurie !", "BOL.chat.welcome6": "Bon jeu en Lemurie !",
"BOL.chat.nodamage": "Ne pas appliquer les dommages", "BOL.chat.nodamage": "Ne pas appliquer les dommages",
"BOL.chat.pcwarning": "Attention ! Aucun personnage n'est relié au joueur !", "BOL.chat.pcwarning": "Attention ! Aucun personnage n'est relié au joueur !",
"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.armorRoll": "Jet d'armure",
"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é)",
@@ -643,4 +651,4 @@
"EFFECT.StatusProne": "A terre", "EFFECT.StatusProne": "A terre",
"EFFECT.StatusDead": "Mort" "EFFECT.StatusDead": "Mort"
} }

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js"; import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js"; import { BoLUtility } from "../system/bol-utility.js";
export class BoLActorSheet extends ActorSheet { export class BoLActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -59,7 +59,7 @@ export class BoLActorSheet extends ActorSheet {
let system = foundry.utils.duplicate(game.bol.config.defaultNaturalProtection) let system = foundry.utils.duplicate(game.bol.config.defaultNaturalProtection)
this.actor.createEmbeddedDocuments('Item', [{ name: game.i18n.localize("BOL.ui.newNaturalProtection"), type: "item", system }], { renderSheet: true }); this.actor.createEmbeddedDocuments('Item', [{ name: game.i18n.localize("BOL.ui.newNaturalProtection"), type: "item", system }], { renderSheet: true });
}); });
html.find(".toggle-fight-option").click((ev) => { html.find(".toggle-fight-option").click((ev) => {
const li = $(ev.currentTarget).parents(".item") const li = $(ev.currentTarget).parents(".item")
this.actor.toggleFightOption(li.data("itemId")) this.actor.toggleFightOption(li.data("itemId"))
@@ -170,8 +170,8 @@ export class BoLActorSheet extends ActorSheet {
formData.charType = this.actor.getCharType() formData.charType = this.actor.getCharType()
formData.villainy = this.actor.getVillainy() formData.villainy = this.actor.getVillainy()
formData.isUndead = this.actor.isUndead() formData.isUndead = this.actor.isUndead()
formData.biography = await TextEditor.enrichHTML(this.object.system.details?.biography || "", { async: true }) formData.biography = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.details?.biography || "", { async: true })
formData.notes = await TextEditor.enrichHTML(this.object.system.details.notes || "", { async: true }) formData.notes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.details.notes || "", { async: true })
formData.isSorcerer = this.actor.isSorcerer() formData.isSorcerer = this.actor.isSorcerer()
formData.isAlchemist = this.actor.isAlchemist() formData.isAlchemist = this.actor.isAlchemist()
formData.isAstrologer = this.actor.isAstrologer() formData.isAstrologer = this.actor.isAstrologer()

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js"; import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js"; import { BoLUtility } from "../system/bol-utility.js";
export class BoLHordeSheet extends ActorSheet { export class BoLHordeSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -116,7 +116,7 @@ export class BoLHordeSheet extends ActorSheet {
formData.options = this.options formData.options = this.options
formData.owner = this.document.isOwner formData.owner = this.document.isOwner
formData.editScore = this.options.editScore formData.editScore = this.options.editScore
formData.description = await TextEditor.enrichHTML(this.actor.system.description, {async: true}) formData.description = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.actor.system.description, {async: true})
formData.isGM = game.user.isGM formData.isGM = game.user.isGM

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js"; import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js"; import { BoLUtility } from "../system/bol-utility.js";
export class BoLVehicleSheet extends ActorSheet { export class BoLVehicleSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -127,7 +127,7 @@ export class BoLVehicleSheet extends ActorSheet {
formData.options = this.options formData.options = this.options
formData.owner = this.document.isOwner formData.owner = this.document.isOwner
formData.editScore = this.options.editScore formData.editScore = this.options.editScore
formData.description = await TextEditor.enrichHTML(this.actor.system.description, {async: true}) formData.description = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.actor.system.description, {async: true})
formData.isGM = game.user.isGM formData.isGM = game.user.isGM

View File

@@ -31,7 +31,7 @@ Hooks.once('init', async function () {
config: BOL config: BOL
}; };
// Game socket // Game socket
game.socket.on("system.bol", sockmsg => { game.socket.on("system.bol", sockmsg => {
BoLUtility.onSocketMessage(sockmsg); BoLUtility.onSocketMessage(sockmsg);
}) })
@@ -51,13 +51,13 @@ Hooks.once('init', async function () {
CONFIG.Combat.documentClass = BoLCombatManager; CONFIG.Combat.documentClass = BoLCombatManager;
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
Actors.registerSheet("bol", BoLActorSheet, { types: ["character", "encounter"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("bol", BoLActorSheet, { types: ["character", "encounter"], makeDefault: true })
Actors.registerSheet("bol", BoLVehicleSheet, { types: ["vehicle"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("bol", BoLVehicleSheet, { types: ["vehicle"], makeDefault: true })
Actors.registerSheet("bol", BoLHordeSheet, { types: ["horde"], makeDefault: true }) foundry.documents.collections.Actors.registerSheet("bol", BoLHordeSheet, { types: ["horde"], makeDefault: true })
Items.unregisterSheet("core", ItemSheet); foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
Items.registerSheet("bol", BoLItemSheet, { makeDefault: true }); foundry.documents.collections.Items.registerSheet("bol", BoLItemSheet, { makeDefault: true });
// Inot useful stuff // Inot useful stuff
BoLUtility.init() BoLUtility.init()
@@ -78,32 +78,38 @@ Hooks.once('init', async function () {
Babele.get().setSystemTranslationsDir("compendiums"); Babele.get().setSystemTranslationsDir("compendiums");
} }
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
function welcomeMessage() { function welcomeMessage() {
let content = `<div id="welcome-message-bol"><span class="rdd-roll-part">
<strong>` + game.i18n.localize("BOL.chat.welcome1") + `</strong><p>` +
game.i18n.localize("BOL.chat.welcome2") + "</p><p>" +
game.i18n.localize("BOL.chat.welcome3") + "</p><p>" +
game.i18n.localize("BOL.chat.welcome4") + "</p><p>" +
game.i18n.localize("BOL.chat.welcome5") + "</p>" +
game.i18n.localize("BOL.chat.welcome6")
let rulebook = game.modules.find( m => m.id === "bol-rulebook")
if ( !rulebook ) {
content += "<p>" + game.i18n.localize("BOL.chat.bolRulebookMessage") + "</p>"
}
ChatMessage.create({ ChatMessage.create({
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div id="welcome-message-bol"><span class="rdd-roll-part"> content: content
<strong>` + game.i18n.localize("BOL.chat.welcome1") + `</strong><p>` +
game.i18n.localize("BOL.chat.welcome2") + "<p>" +
game.i18n.localize("BOL.chat.welcome3") + "<p>" +
game.i18n.localize("BOL.chat.welcome4") + "</p>" +
game.i18n.localize("BOL.chat.welcome5") + "<br>" +
game.i18n.localize("BOL.chat.welcome6")
}) })
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.find(m => m.id == "babele") ){
ChatMessage.create({ ChatMessage.create({
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div id="welcome-message-bol"><span class="rdd-roll-part"> content: `<div id="welcome-message-bol"><span class="rdd-roll-part">
<strong>WARNING ! English language selected, but babele module is not installed !<br>Please install babele from the module tab in Foundry interface.` <strong>WARNING ! English language selected, but Babele module is not installed !<br>Please install babele from the module tab in Foundry interface.`
} ) } )
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("WARNING ! English language selected, but babele module is not installed !<br>Please install babele from the module tab in Foundry interface.")
} }
} }
@@ -160,13 +166,11 @@ Hooks.once('ready', async function () {
"d6B": "d6H (Bonus)", "d6B": "d6H (Bonus)",
"d6BB": "d6H + Bonus die", "d6BB": "d6H + Bonus die",
} }
if (game.i18n.lang === "fr") { if (game.i18n.lang === "fr") {
game.bol.config.damageValues = damageFR; game.bol.config.damageValues = damageFR;
} else { } else {
game.bol.config.damageValues = damageEN; game.bol.config.damageValues = damageEN;
} }
}) })

View File

@@ -19,9 +19,9 @@ export class BoLRoll {
static updateApplicableEffects(rollData) { static updateApplicableEffects(rollData) {
let appEffects = [] let appEffects = []
for (let effect of rollData.bolEffects) { for (let effect of rollData.bolEffects) {
if ( (effect.system.properties.identifier == "always") || if ((effect.system.properties.identifier == "always") ||
(effect.system.properties.identifier.includes(rollData.attribute.key)) || (effect.system.properties.identifier.includes(rollData.attribute.key)) ||
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key)) ){ (rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key))) {
appEffects.push(effect) appEffects.push(effect)
} }
} }
@@ -76,7 +76,7 @@ export class BoLRoll {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static attributeCheck(actor, key="vigor", event=undefined, combatData=undefined) { static attributeCheck(actor, key = "vigor", event = undefined, combatData = undefined) {
let attribute = eval(`actor.system.attributes.${key}`) let attribute = eval(`actor.system.attributes.${key}`)
@@ -89,7 +89,7 @@ export class BoLRoll {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static aptitudeCheck(actor, key="init", event=undefined, combatData=undefined) { static aptitudeCheck(actor, key = "init", event = undefined, combatData = undefined) {
let aptitude = eval(`actor.system.aptitudes.${key}`) let aptitude = eval(`actor.system.aptitudes.${key}`)
let attrKey = this.getDefaultAttribute(key) let attrKey = this.getDefaultAttribute(key)
@@ -305,7 +305,7 @@ export class BoLRoll {
// Keep track of the final effect modifier // Keep track of the final effect modifier
this.rollData.effectModifier = effectModifier this.rollData.effectModifier = effectModifier
// Final number of dices // Final number of dices
this.rollData.nbDice = 2 + Math.abs(this.rollData.bmDice) this.rollData.nbDice = 2 + Math.abs(this.rollData.bmDice)
// Bonus or Malus ? // Bonus or Malus ?
if (this.rollData.bmDice == 0) { if (this.rollData.bmDice == 0) {
@@ -482,14 +482,19 @@ export class BoLRoll {
if (rollData.mode == "weapon") { if (rollData.mode == "weapon") {
rollData.weaponModifier = rollData.weapon.system.properties.attackModifiers ?? 0 rollData.weaponModifier = rollData.weapon.system.properties.attackModifiers ?? 0
rollData.attackBonusDice = rollData.weapon.system.properties.attackBonusDice rollData.attackBonusDice = rollData.weapon.system.properties.attackBonusDice
rollData.attackMalusDice = rollData.weapon.system.properties.attackMalusDice
if (rollData.attackBonusDice) { if (rollData.attackBonusDice) {
rollData.adv = "1B" rollData.adv = "1B"
rollData.bDice = 1 rollData.bDice = 1
} }
if (rollData.attackMalusDice) {
rollData.adv = "1M"
rollData.mDice = 1
}
if (defender) { // If target is selected if (defender) { // If target is selected
rollData.defence = defender.defenseValue rollData.defence = defender.defenseValue
rollData.armorMalus = defender.armorMalusValue rollData.armorMalus = defender.armorMalusValue
rollData.defenderHeroPoints = defender.getHeroPoints() rollData.defenderHeroPoints = defender.getHeroPoints()
rollData.shieldBlock = 'none' rollData.shieldBlock = 'none'
let shields = defender.shields let shields = defender.shields
//console.log("Defender stats", defender) //console.log("Defender stats", defender)
@@ -534,8 +539,9 @@ export class BoLRoll {
rollData.id = foundry.utils.randomID(16) rollData.id = foundry.utils.randomID(16)
rollData.weaponModifier = 0 rollData.weaponModifier = 0
rollData.attackBonusDice = false rollData.attackBonusDice = false
rollData.attackMalusDice = false
rollData.armorMalus = 0 rollData.armorMalus = 0
// Specific stuff // Specific stuff
this.preProcessWeapon(rollData, defender) this.preProcessWeapon(rollData, defender)
this.preProcessFightOption(rollData) this.preProcessFightOption(rollData)
this.updateArmorMalus(rollData) this.updateArmorMalus(rollData)
@@ -551,7 +557,7 @@ export class BoLRoll {
console.log("ROLLDATA", rollData) console.log("ROLLDATA", rollData)
// Then display+process the dialog // Then display+process the dialog
const rollOptionContent = await renderTemplate(rollOptionTpl, rollData); const rollOptionContent = await foundry.applications.handlebars.renderTemplate(rollOptionTpl, rollData);
let d = new Dialog({ let d = new Dialog({
title: rollData.label, title: rollData.label,
content: rollOptionContent, content: rollOptionContent,
@@ -582,7 +588,7 @@ export class BoLRoll {
rollbase = 0 rollbase = 0
} }
let diceData = BoLUtility.getDiceData() let diceData = BoLUtility.getDiceData()
let malusInit = rollData.combatData?.malusInit || 0 let malusInit = rollData.combatData?.malusInit || 0
const modifiers = rollbase + rollData.careerBonus + rollData.mod + rollData.weaponModifier - rollData.defence - rollData.modArmorMalus + rollData.shieldMalus + rollData.attackModifier + rollData.appliedArmorMalus + rollData.effectModifier - malusInit const modifiers = rollbase + rollData.careerBonus + rollData.mod + rollData.weaponModifier - rollData.defence - rollData.modArmorMalus + rollData.shieldMalus + rollData.attackModifier + rollData.appliedArmorMalus + rollData.effectModifier - malusInit
const formula = (isMalus) ? rollData.nbDice + "d" + diceData.diceFormula + "kl2 + " + modifiers : rollData.nbDice + "d" + diceData.diceFormula + "kh2 + " + modifiers const formula = (isMalus) ? rollData.nbDice + "d" + diceData.diceFormula + "kl2 + " + modifiers : rollData.nbDice + "d" + diceData.diceFormula + "kh2 + " + modifiers
rollData.formula = formula rollData.formula = formula
@@ -634,16 +640,16 @@ export class BoLDefaultRoll {
const diceTotal = activeDice.map(r => r.result).reduce((a, b) => a + b) const diceTotal = activeDice.map(r => r.result).reduce((a, b) => a + b)
this.rollData.roll = r this.rollData.roll = r
this.rollData.isFumble = (diceTotal <= diceData.criticalFailureValue) this.rollData.isFumble = (diceTotal <= diceData.criticalFailureValue)
if ( this.rollData.isFumble ) { if (this.rollData.isFumble) {
this.rollData.isSuccess = false this.rollData.isSuccess = false
this.rollData.isCritical = false this.rollData.isCritical = false
this.rollData.isRealCritical = false this.rollData.isRealCritical = false
this.rollData.isHeroic = false this.rollData.isHeroic = false
this.rollData.isFailure = true this.rollData.isFailure = true
} else { } else {
this.rollData.isCritical = (diceTotal >= diceData.criticalSuccessValue) this.rollData.isCritical = (diceTotal >= diceData.criticalSuccessValue)
if ( this.rollData.isCritical) { if (this.rollData.isCritical) {
this.rollData.isSuccess = true this.rollData.isSuccess = true
} else { } else {
this.rollData.isSuccess = (r.total >= diceData.successValue) this.rollData.isSuccess = (r.total >= diceData.successValue)
} }
@@ -805,13 +811,13 @@ export class BoLDefaultRoll {
/* -------------------------------------------- */ /* -------------------------------------------- */
_buildDamageChatMessage(rollData) { _buildDamageChatMessage(rollData) {
const rollMessageTpl = 'systems/bol/templates/chat/rolls/damage-roll-card.hbs'; const rollMessageTpl = 'systems/bol/templates/chat/rolls/damage-roll-card.hbs';
return renderTemplate(rollMessageTpl, rollData) return foundry.applications.handlebars.renderTemplate(rollMessageTpl, rollData)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
_buildChatMessage(rollData) { _buildChatMessage(rollData) {
const rollMessageTpl = 'systems/bol/templates/chat/rolls/default-roll-card.hbs' const rollMessageTpl = 'systems/bol/templates/chat/rolls/default-roll-card.hbs'
return renderTemplate(rollMessageTpl, rollData) return foundry.applications.handlebars.renderTemplate(rollMessageTpl, rollData)
} }
} }

View File

@@ -4,7 +4,7 @@ import { BoLUtility } from "../system/bol-utility.js";
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class BoLItemSheet extends ItemSheet { export class BoLItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -13,6 +13,7 @@ export class BoLItemSheet extends ItemSheet {
template: "systems/bol/templates/item/item-sheet.hbs", template: "systems/bol/templates/item/item-sheet.hbs",
width: 650, width: 650,
height: 780, height: 780,
dragDrop: [{ dragSelector: null, dropSelector: null }],
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }] tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }]
}); });
} }
@@ -27,7 +28,7 @@ export class BoLItemSheet extends ItemSheet {
data.category = itemData.system.category data.category = itemData.system.category
data.isGM = game.user.isGM; data.isGM = game.user.isGM;
data.itemProperties = this.item.itemProperties; data.itemProperties = this.item.itemProperties;
data.description = await TextEditor.enrichHTML(this.object.system.description, { async: true }) data.description = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true })
if (data.document.actor) { if (data.document.actor) {
data.careers = data.document.actor.careers data.careers = data.document.actor.careers
} }
@@ -102,6 +103,7 @@ export class BoLItemSheet extends ItemSheet {
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
// Everything below here is only needed if the sheet is editable // Everything below here is only needed if the sheet is editable
if (!this.options.editable) return; if (!this.options.editable) return;
// Roll handlers, click handlers, etc. would go here. // Roll handlers, click handlers, etc. would go here.

View File

@@ -12,8 +12,8 @@ export class BoLTokenHud {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async removeExtensionHud(app, html, tokenId) { static async removeExtensionHud(app, html, tokenId) {
html.find('.control-icon.bol-roll').remove() $(html).find('.control-icon.bol-roll').remove()
html.find('.control-icon.bol-action').remove() $(html).find('.control-icon.bol-action').remove()
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -25,7 +25,7 @@ export class BoLTokenHud {
const hudData = { actor: actor, actionsList: actor.buildListeActions(), rollsList: actor.buildRollList() } const hudData = { actor: actor, actionsList: actor.buildListeActions(), rollsList: actor.buildRollList() }
const controlIconActions = html.find('.control-icon[data-action=combat]'); const controlIconActions = $(html).find('.control-icon[data-action=combat]');
// initiative // initiative
await BoLTokenHud._configureSubMenu(controlIconActions, 'systems/bol/templates/token/hud-actor-actions.hbs', hudData, await BoLTokenHud._configureSubMenu(controlIconActions, 'systems/bol/templates/token/hud-actor-actions.hbs', hudData,
(event) => { (event) => {
@@ -43,7 +43,7 @@ export class BoLTokenHud {
} }
}) })
const controlIconTarget = html.find('.control-icon[data-action=target]'); const controlIconTarget = $(html).find('.control-icon[data-action=target]');
// att+apt+career // att+apt+career
await BoLTokenHud._configureSubMenu(controlIconTarget, 'systems/bol/templates/token/hud-actor-rolls.hbs', hudData, await BoLTokenHud._configureSubMenu(controlIconTarget, 'systems/bol/templates/token/hud-actor-rolls.hbs', hudData,
(event) => { (event) => {
@@ -59,7 +59,7 @@ export class BoLTokenHud {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async addTokenHudExtensions(app, html, tokenId) { static async addTokenHudExtensions(app, html, tokenId) {
const controlIconCombat = html.find('.control-icon[data-action=combat]') const controlIconCombat = $(html).find('.control-icon[data-action=combat]')
if (controlIconCombat.length > 0) { if (controlIconCombat.length > 0) {
BoLTokenHud.addExtensionHud(app, html, tokenId); BoLTokenHud.addExtensionHud(app, html, tokenId);
} }
@@ -67,7 +67,7 @@ export class BoLTokenHud {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) { static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) {
const hud = $(await renderTemplate(template, hudData)) const hud = $(await foundry.applications.handlebars.renderTemplate(template, hudData))
const list = hud.find('div.bol-hud-list') const list = hud.find('div.bol-hud-list')
BoLTokenHud._toggleHudListActive(hud, list); BoLTokenHud._toggleHudListActive(hud, list);

View File

@@ -221,10 +221,10 @@ export class BoLCalendar extends Application {
let hn = defHeure.heure; let hn = defHeure.heure;
let chiffreAstral = this.getCurrentNombreAstral() ?? 0; let chiffreAstral = this.getCurrentNombreAstral() ?? 0;
heuresChancesMalchances[0] = { value : "+4", heures: [this.getHeureNumber((hn + chiffreAstral) % RDD_HEURES_PAR_JOUR).label]}; heuresChancesMalchances[0] = { value : "+4", heures: [this.getHeureNumber((hn + chiffreAstral) % RDD_HEURES_PAR_JOUR).label]};
heuresChancesMalchances[1] = { value : "+2", heures: [this.getHeureNumber((hn + chiffreAstral+4) % RDD_HEURES_PAR_JOUR).label, heuresChancesMalchances[1] = { value : "+2", heures: [this.getHeureNumber((hn + chiffreAstral+4) % RDD_HEURES_PAR_JOUR).label,
this.getHeureNumber((hn + chiffreAstral + 8) % RDD_HEURES_PAR_JOUR).label ] }; this.getHeureNumber((hn + chiffreAstral + 8) % RDD_HEURES_PAR_JOUR).label ] };
heuresChancesMalchances[2] = { value : "-4", heures: [this.getHeureNumber((hn + chiffreAstral+6) % RDD_HEURES_PAR_JOUR).label]}; heuresChancesMalchances[2] = { value : "-4", heures: [this.getHeureNumber((hn + chiffreAstral+6) % RDD_HEURES_PAR_JOUR).label]};
heuresChancesMalchances[3] = { value : "-2", heures: [this.getHeureNumber((hn + chiffreAstral+3) % RDD_HEURES_PAR_JOUR).label, heuresChancesMalchances[3] = { value : "-2", heures: [this.getHeureNumber((hn + chiffreAstral+3) % RDD_HEURES_PAR_JOUR).label,
this.getHeureNumber((hn + chiffreAstral + 9) % RDD_HEURES_PAR_JOUR).label ]}; this.getHeureNumber((hn + chiffreAstral + 9) % RDD_HEURES_PAR_JOUR).label ]};
} }
return heuresChancesMalchances; return heuresChancesMalchances;
@@ -331,7 +331,7 @@ export class BoLCalendar extends Application {
calendrierData.jourMoisOptions = RdDCalendrier.buildJoursMois(); calendrierData.jourMoisOptions = RdDCalendrier.buildJoursMois();
calendrierData.heuresOptions = [0, 1]; calendrierData.heuresOptions = [0, 1];
calendrierData.minutesOptions = Array(RDD_MINUTES_PAR_HEURES).fill().map((item, index) => 0 + index); calendrierData.minutesOptions = Array(RDD_MINUTES_PAR_HEURES).fill().map((item, index) => 0 + index);
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/calendar-editor-template.html', calendrierData); let html = await foundry.applications.handlebars.renderTemplate('systems/foundryvtt-reve-de-dragon/templates/calendar-editor-template.html', calendrierData);
this.editeur = new RdDCalendrierEditeur(html, this, calendrierData) this.editeur = new RdDCalendrierEditeur(html, this, calendrierData)
} }
this.editeur.updateData(calendrierData); this.editeur.updateData(calendrierData);
@@ -360,7 +360,7 @@ export class BoLCalendar extends Application {
let heureNaissance = actor.getHeureNaissance(); let heureNaissance = actor.getHeureNaissance();
if ( heureNaissance) { if ( heureNaissance) {
heuresParActeur[actor.name] = this.getHeuresChanceMalchance(heureNaissance); heuresParActeur[actor.name] = this.getHeuresChanceMalchance(heureNaissance);
} }
} }
//console.log("ASTRO", astrologieArray); //console.log("ASTRO", astrologieArray);
calendrierData.astrologieData = astrologieArray; calendrierData.astrologieData = astrologieArray;
@@ -398,7 +398,7 @@ export class BoLCalendar extends Application {
let isRightMB = false; let isRightMB = false;
if ("which" in ev) { // Gecko (Firefox), WebKit (Safari/Chrome) & Opera if ("which" in ev) { // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
isRightMB = ev.which == 3; isRightMB = ev.which == 3;
} else if ("button" in ev) { // IE, Opera } else if ("button" in ev) { // IE, Opera
isRightMB = ev.button == 2; isRightMB = ev.button == 2;
} }

View File

@@ -28,7 +28,7 @@ export class BoLUtility {
}) })
game.settings.register("bol", "auto-remove-dead", { game.settings.register("bol", "auto-remove-dead", {
name: game.i18n.localize("BOL.settings.removeDead"), name: game.i18n.localize("BOL.settings.removeDead"),
hint: game.i18n.localize("BOL.settings.removeDeadTooltip"), hint: game.i18n.localize("BOL.settings.removeDeadTooltip"),
scope: "world", scope: "world",
config: true, config: true,
default: false, default: false,
@@ -344,7 +344,7 @@ export class BoLUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatMessageHandler(message, html, data) { static async chatMessageHandler(message, html, data) {
const chatCard = html.find('.flavor-text') const chatCard = $(html).find('.flavor-text')
if (chatCard.length > 0) { if (chatCard.length > 0) {
// If the user is the message author or the actor owner, proceed // If the user is the message author or the actor owner, proceed
const actor = game.actors.get(data.message.speaker.actor) const actor = game.actors.get(data.message.speaker.actor)
@@ -381,6 +381,8 @@ export class BoLUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
html = $(html);
// Damage handling // Damage handling
html.on("click", '.chat-damage-apply', event => { html.on("click", '.chat-damage-apply', event => {
let rollData = BoLUtility.getRollDataFromMessage(event) let rollData = BoLUtility.getRollDataFromMessage(event)
@@ -427,7 +429,7 @@ export class BoLUtility {
html.on("click", '.damage-handling', event => { html.on("click", '.damage-handling', event => {
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("Impossible de trouver l'attaque correspondante, erreur de suivi de combat.")
return return
} }
@@ -482,8 +484,8 @@ export class BoLUtility {
let armorFormula = defender.getArmorFormula() let armorFormula = defender.getArmorFormula()
rollData.rollArmor = new Roll(armorFormula) rollData.rollArmor = new Roll(armorFormula)
await rollData.rollArmor.roll() await rollData.rollArmor.roll()
let msg = await rollData.rollArmor.toMessage({ flavor: "BOL.chat.armorRoll : " + armorFormula }); let msg = await rollData.rollArmor.toMessage({ flavor: game.i18n.localize("BOL.chat.armorRoll") + " : " + armorFormula });
if ( game.dice3d) { // wait animation end when DsN is there if (game.dice3d) { // wait animation end when DsN is there
await game.dice3d.waitFor3DAnimationByMessageID(msg.id); await game.dice3d.waitFor3DAnimationByMessageID(msg.id);
} }
rollData.armorProtect = (rollData.rollArmor.total < 0) ? 0 : rollData.rollArmor.total rollData.armorProtect = (rollData.rollArmor.total < 0) ? 0 : rollData.rollArmor.total
@@ -632,7 +634,7 @@ export class BoLUtility {
attackId: rollData.id, attackId: rollData.id,
attacker: rollData.attacker, attacker: rollData.attacker,
defender: defender, defender: defender,
defenderHeroPoints:defender.getHeroPoints(), defenderHeroPoints: defender.getHeroPoints(),
defenderWeapons: defenderWeapons, defenderWeapons: defenderWeapons,
damageTotal: rollData.damageTotal, damageTotal: rollData.damageTotal,
damagesIgnoresArmor: rollData.damagesIgnoresArmor, damagesIgnoresArmor: rollData.damagesIgnoresArmor,

View File

@@ -190,15 +190,21 @@ BOL.rangeModifiers = {
BOL.difficultyModifiers = { BOL.difficultyModifiers = {
"4": "BOL.dialog.soeasy", "4": "BOL.dialog.soeasy",
"3": "BOL.dialog.soeasy3",
"2": "BOL.dialog.veryeasy", "2": "BOL.dialog.veryeasy",
"1": "BOL.dialog.easy", "1": "BOL.dialog.easy",
"0": "BOL.dialog.moderate", "0": "BOL.dialog.moderate",
"-1": "BOL.dialog.hard", "-1": "BOL.dialog.hard",
"-2": "BOL.dialog.tough", "-2": "BOL.dialog.tough",
"-3": "BOL.dialog.tough3",
"-4": "BOL.dialog.demanding", "-4": "BOL.dialog.demanding",
"-5": "BOL.dialog.demanding5",
"-6": "BOL.dialog.formidable", "-6": "BOL.dialog.formidable",
"-7": "BOL.dialog.formidable7",
"-8": "BOL.dialog.heroic", "-8": "BOL.dialog.heroic",
"-9": "BOL.dialog.heroic9",
"-10": "BOL.dialog.mythic", "-10": "BOL.dialog.mythic",
"-11": "BOL.dialog.mythic11",
"-12": "BOL.dialog.divine" "-12": "BOL.dialog.divine"
} }

View File

@@ -15,7 +15,7 @@ export default function registerHooks() {
})) }))
Hooks.on('renderChatLog', (log, html, data) => BoLUtility.chatListeners(html)) Hooks.on('renderChatLog', (log, html, data) => BoLUtility.chatListeners(html))
Hooks.on('renderChatMessage', (message, html, data) => BoLUtility.chatMessageHandler(message, html, data)) Hooks.on('renderChatMessageHTML', (message, html, data) => BoLUtility.chatMessageHandler(message, html, data))
/** /**
* Create a macro when dropping an entity on the hotbar * Create a macro when dropping an entity on the hotbar
@@ -73,8 +73,8 @@ export default function registerHooks() {
button.addEventListener('click', () => { button.addEventListener('click', () => {
game.bol.charSummary.render(true) game.bol.charSummary.render(true)
}) })
html.find('.header-actions').after(button) $(html).find('.header-actions').after(button)
} }
}) })
} }

View File

@@ -60,11 +60,11 @@ export const preloadHandlebarsTemplates = async function () {
"systems/bol/templates/dialogs/effect-roll-part.hbs", "systems/bol/templates/dialogs/effect-roll-part.hbs",
"systems/bol/templates/dialogs/boons-roll-part.hbs", "systems/bol/templates/dialogs/boons-roll-part.hbs",
"systems/bol/templates/dialogs/flaws-roll-part.hbs", "systems/bol/templates/dialogs/flaws-roll-part.hbs",
"systems/bol/templates/dialogs/total-roll-part.hbs", "systems/bol/templates/dialogs/total-roll-part.hbs",
"systems/bol/templates/dialogs/fightoptions-roll-part.hbs", "systems/bol/templates/dialogs/fightoptions-roll-part.hbs",
"systems/bol/templates/dialogs/horoscope-roll-part.hbs" "systems/bol/templates/dialogs/horoscope-roll-part.hbs"
]; ];
// Load the template parts // Load the template parts
return loadTemplates(templatePaths); return foundry.applications.handlebars.loadTemplates(templatePaths);
}; };

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000703 MANIFEST-000953

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.921435 7f46ac7f86c0 Recovering log #701 2026/01/05-17:48:52.795130 7f93ea7fc6c0 Recovering log #951
2025/02/09-21:03:41.977618 7f46ac7f86c0 Delete type=3 #699 2026/01/05-17:48:52.804687 7f93ea7fc6c0 Delete type=3 #949
2025/02/09-21:03:41.977674 7f46ac7f86c0 Delete type=0 #701 2026/01/05-17:48:52.804760 7f93ea7fc6c0 Delete type=0 #951
2025/02/09-21:08:13.824305 7f46abbff6c0 Level-0 table #706: started 2026/01/05-18:46:08.165267 7f93e9ffb6c0 Level-0 table #956: started
2025/02/09-21:08:13.824341 7f46abbff6c0 Level-0 table #706: 0 bytes OK 2026/01/05-18:46:08.165288 7f93e9ffb6c0 Level-0 table #956: 0 bytes OK
2025/02/09-21:08:13.861716 7f46abbff6c0 Delete type=0 #704 2026/01/05-18:46:08.171239 7f93e9ffb6c0 Delete type=0 #954
2025/02/09-21:08:13.937169 7f46abbff6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.190776 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.937236 7f46abbff6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.190816 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.938444 7f46ad7fa6c0 Recovering log #697 2026/01/04-21:27:06.154359 7f93ebfff6c0 Recovering log #947
2025/02/09-20:59:17.997288 7f46ad7fa6c0 Delete type=3 #695 2026/01/04-21:27:06.163916 7f93ebfff6c0 Delete type=3 #945
2025/02/09-20:59:17.997363 7f46ad7fa6c0 Delete type=0 #697 2026/01/04-21:27:06.163965 7f93ebfff6c0 Delete type=0 #947
2025/02/09-21:03:16.055817 7f46abbff6c0 Level-0 table #702: started 2026/01/04-21:27:09.349413 7f93e9ffb6c0 Level-0 table #952: started
2025/02/09-21:03:16.055842 7f46abbff6c0 Level-0 table #702: 0 bytes OK 2026/01/04-21:27:09.349437 7f93e9ffb6c0 Level-0 table #952: 0 bytes OK
2025/02/09-21:03:16.065285 7f46abbff6c0 Delete type=0 #700 2026/01/04-21:27:09.356668 7f93e9ffb6c0 Delete type=0 #950
2025/02/09-21:03:16.076115 7f46abbff6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.356816 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.076162 7f46abbff6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.356844 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/armors/000679.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000608 MANIFEST-000858

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.809335 7f46ad7fa6c0 Recovering log #606 2026/01/05-17:48:52.770002 7f93eb7fe6c0 Recovering log #856
2025/02/09-21:03:41.864387 7f46ad7fa6c0 Delete type=3 #604 2026/01/05-17:48:52.779610 7f93eb7fe6c0 Delete type=3 #854
2025/02/09-21:03:41.864466 7f46ad7fa6c0 Delete type=0 #606 2026/01/05-17:48:52.779657 7f93eb7fe6c0 Delete type=0 #856
2025/02/09-21:08:13.781326 7f46abbff6c0 Level-0 table #611: started 2026/01/05-18:46:08.184410 7f93e9ffb6c0 Level-0 table #861: started
2025/02/09-21:08:13.781348 7f46abbff6c0 Level-0 table #611: 0 bytes OK 2026/01/05-18:46:08.184436 7f93e9ffb6c0 Level-0 table #861: 0 bytes OK
2025/02/09-21:08:13.824160 7f46abbff6c0 Delete type=0 #609 2026/01/05-18:46:08.190634 7f93e9ffb6c0 Delete type=0 #859
2025/02/09-21:08:13.937147 7f46abbff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.190808 7f93e9ffb6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.937226 7f46abbff6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.190838 7f93e9ffb6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.827437 7f46ac7f86c0 Recovering log #602 2026/01/04-21:27:06.128994 7f93ea7fc6c0 Recovering log #852
2025/02/09-20:59:17.879532 7f46ac7f86c0 Delete type=3 #600 2026/01/04-21:27:06.139883 7f93ea7fc6c0 Delete type=3 #850
2025/02/09-20:59:17.879590 7f46ac7f86c0 Delete type=0 #602 2026/01/04-21:27:06.139937 7f93ea7fc6c0 Delete type=0 #852
2025/02/09-21:03:16.035329 7f46abbff6c0 Level-0 table #607: started 2026/01/04-21:27:09.336180 7f93e9ffb6c0 Level-0 table #857: started
2025/02/09-21:03:16.035352 7f46abbff6c0 Level-0 table #607: 0 bytes OK 2026/01/04-21:27:09.336219 7f93e9ffb6c0 Level-0 table #857: 0 bytes OK
2025/02/09-21:03:16.045034 7f46abbff6c0 Delete type=0 #605 2026/01/04-21:27:09.342820 7f93e9ffb6c0 Delete type=0 #855
2025/02/09-21:03:16.076082 7f46abbff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.356794 7f93e9ffb6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.076141 7f46abbff6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.356834 7f93e9ffb6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/boons/000843.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000701 MANIFEST-000952

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.320998 7f46ad7fa6c0 Recovering log #699 2026/01/05-17:48:52.664159 7f93eaffd6c0 Recovering log #950
2025/02/09-21:03:41.379602 7f46ad7fa6c0 Delete type=3 #697 2026/01/05-17:48:52.674361 7f93eaffd6c0 Delete type=3 #948
2025/02/09-21:03:41.379672 7f46ad7fa6c0 Delete type=0 #699 2026/01/05-17:48:52.674426 7f93eaffd6c0 Delete type=0 #950
2025/02/09-21:08:13.416327 7f46abbff6c0 Level-0 table #704: started 2026/01/05-18:46:08.131395 7f93e9ffb6c0 Level-0 table #955: started
2025/02/09-21:08:13.416368 7f46abbff6c0 Level-0 table #704: 0 bytes OK 2026/01/05-18:46:08.131423 7f93e9ffb6c0 Level-0 table #955: 0 bytes OK
2025/02/09-21:08:13.450046 7f46abbff6c0 Delete type=0 #702 2026/01/05-18:46:08.138592 7f93e9ffb6c0 Delete type=0 #953
2025/02/09-21:08:13.619475 7f46abbff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138762 7f93e9ffb6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.619518 7f46abbff6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138775 7f93e9ffb6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.353894 7f46ac7f86c0 Recovering log #695 2026/01/04-21:27:06.028125 7f93ea7fc6c0 Recovering log #946
2025/02/09-20:59:17.426355 7f46ac7f86c0 Delete type=3 #693 2026/01/04-21:27:06.038087 7f93ea7fc6c0 Delete type=3 #944
2025/02/09-20:59:17.426417 7f46ac7f86c0 Delete type=0 #695 2026/01/04-21:27:06.038175 7f93ea7fc6c0 Delete type=0 #946
2025/02/09-21:03:15.983259 7f46abbff6c0 Level-0 table #700: started 2026/01/04-21:27:09.288246 7f93e9ffb6c0 Level-0 table #951: started
2025/02/09-21:03:15.983288 7f46abbff6c0 Level-0 table #700: 0 bytes OK 2026/01/04-21:27:09.288266 7f93e9ffb6c0 Level-0 table #951: 0 bytes OK
2025/02/09-21:03:15.993465 7f46abbff6c0 Delete type=0 #698 2026/01/04-21:27:09.295632 7f93e9ffb6c0 Delete type=0 #949
2025/02/09-21:03:15.993623 7f46abbff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.302193 7f93e9ffb6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/02/09-21:03:15.993644 7f46abbff6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.302223 7f93e9ffb6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/boons/MANIFEST-000952 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000701 MANIFEST-000951

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.382276 7f46acff96c0 Recovering log #699 2026/01/05-17:48:52.677346 7f93ebfff6c0 Recovering log #949
2025/02/09-21:03:41.442932 7f46acff96c0 Delete type=3 #697 2026/01/05-17:48:52.687800 7f93ebfff6c0 Delete type=3 #947
2025/02/09-21:03:41.443024 7f46acff96c0 Delete type=0 #699 2026/01/05-17:48:52.687851 7f93ebfff6c0 Delete type=0 #949
2025/02/09-21:08:13.450196 7f46abbff6c0 Level-0 table #704: started 2026/01/05-18:46:08.112587 7f93e9ffb6c0 Level-0 table #954: started
2025/02/09-21:08:13.450228 7f46abbff6c0 Level-0 table #704: 0 bytes OK 2026/01/05-18:46:08.112663 7f93e9ffb6c0 Level-0 table #954: 0 bytes OK
2025/02/09-21:08:13.487281 7f46abbff6c0 Delete type=0 #702 2026/01/05-18:46:08.119196 7f93e9ffb6c0 Delete type=0 #952
2025/02/09-21:08:13.619490 7f46abbff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138726 7f93e9ffb6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.619526 7f46abbff6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138769 7f93e9ffb6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.429632 7f46adffb6c0 Recovering log #695 2026/01/04-21:27:06.040735 7f93eaffd6c0 Recovering log #945
2025/02/09-20:59:17.481748 7f46adffb6c0 Delete type=3 #693 2026/01/04-21:27:06.051418 7f93eaffd6c0 Delete type=3 #943
2025/02/09-20:59:17.481825 7f46adffb6c0 Delete type=0 #695 2026/01/04-21:27:06.051486 7f93eaffd6c0 Delete type=0 #945
2025/02/09-21:03:15.948051 7f46abbff6c0 Level-0 table #700: started 2026/01/04-21:27:09.295751 7f93e9ffb6c0 Level-0 table #950: started
2025/02/09-21:03:15.948090 7f46abbff6c0 Level-0 table #700: 0 bytes OK 2026/01/04-21:27:09.295768 7f93e9ffb6c0 Level-0 table #950: 0 bytes OK
2025/02/09-21:03:15.959765 7f46abbff6c0 Delete type=0 #698 2026/01/04-21:27:09.302037 7f93e9ffb6c0 Delete type=0 #948
2025/02/09-21:03:15.993593 7f46abbff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.302205 7f93e9ffb6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/02/09-21:03:15.993629 7f46abbff6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.302228 7f93e9ffb6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/careers/000772.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000701 MANIFEST-000951

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.500201 7f46adffb6c0 Recovering log #699 2026/01/05-17:48:52.703286 7f93ea7fc6c0 Recovering log #949
2025/02/09-21:03:41.567584 7f46adffb6c0 Delete type=3 #697 2026/01/05-17:48:52.712737 7f93ea7fc6c0 Delete type=3 #947
2025/02/09-21:03:41.567676 7f46adffb6c0 Delete type=0 #699 2026/01/05-17:48:52.712782 7f93ea7fc6c0 Delete type=0 #949
2025/02/09-21:08:13.538887 7f46abbff6c0 Level-0 table #704: started 2026/01/05-18:46:08.157666 7f93e9ffb6c0 Level-0 table #954: started
2025/02/09-21:08:13.538915 7f46abbff6c0 Level-0 table #704: 0 bytes OK 2026/01/05-18:46:08.157700 7f93e9ffb6c0 Level-0 table #954: 0 bytes OK
2025/02/09-21:08:13.619336 7f46abbff6c0 Delete type=0 #702 2026/01/05-18:46:08.165027 7f93e9ffb6c0 Delete type=0 #952
2025/02/09-21:08:13.619510 7f46abbff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.165139 7f93e9ffb6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.619540 7f46abbff6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.165158 7f93e9ffb6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.540949 7f46acff96c0 Recovering log #695 2026/01/04-21:27:06.066954 7f93ea7fc6c0 Recovering log #945
2025/02/09-20:59:17.592642 7f46acff96c0 Delete type=3 #693 2026/01/04-21:27:06.077513 7f93ea7fc6c0 Delete type=3 #943
2025/02/09-20:59:17.592732 7f46acff96c0 Delete type=0 #695 2026/01/04-21:27:06.077584 7f93ea7fc6c0 Delete type=0 #945
2025/02/09-21:03:16.005433 7f46abbff6c0 Level-0 table #700: started 2026/01/04-21:27:09.302290 7f93e9ffb6c0 Level-0 table #950: started
2025/02/09-21:03:16.005464 7f46abbff6c0 Level-0 table #700: 0 bytes OK 2026/01/04-21:27:09.302308 7f93e9ffb6c0 Level-0 table #950: 0 bytes OK
2025/02/09-21:03:16.014896 7f46abbff6c0 Delete type=0 #698 2026/01/04-21:27:09.309131 7f93e9ffb6c0 Delete type=0 #948
2025/02/09-21:03:16.035176 7f46abbff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.329337 7f93e9ffb6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.035218 7f46abbff6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.329393 7f93e9ffb6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000699 MANIFEST-000949

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:42.338251 7f46acff96c0 Recovering log #697 2026/01/05-17:48:52.884139 7f93eaffd6c0 Recovering log #947
2025/02/09-21:03:42.392208 7f46acff96c0 Delete type=3 #695 2026/01/05-17:48:52.893984 7f93eaffd6c0 Delete type=3 #945
2025/02/09-21:03:42.392309 7f46acff96c0 Delete type=0 #697 2026/01/05-17:48:52.894046 7f93eaffd6c0 Delete type=0 #947
2025/02/09-21:08:14.130070 7f46abbff6c0 Level-0 table #702: started 2026/01/05-18:46:08.224243 7f93e9ffb6c0 Level-0 table #952: started
2025/02/09-21:08:14.130095 7f46abbff6c0 Level-0 table #702: 0 bytes OK 2026/01/05-18:46:08.224281 7f93e9ffb6c0 Level-0 table #952: 0 bytes OK
2025/02/09-21:08:14.167491 7f46abbff6c0 Delete type=0 #700 2026/01/05-18:46:08.230395 7f93e9ffb6c0 Delete type=0 #950
2025/02/09-21:08:14.241950 7f46abbff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.244434 7f93e9ffb6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/02/09-21:08:14.241994 7f46abbff6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.244477 7f93e9ffb6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:18.338007 7f46adffb6c0 Recovering log #693 2026/01/04-21:27:06.242012 7f93ea7fc6c0 Recovering log #943
2025/02/09-20:59:18.392711 7f46adffb6c0 Delete type=3 #691 2026/01/04-21:27:06.252013 7f93ea7fc6c0 Delete type=3 #941
2025/02/09-20:59:18.392786 7f46adffb6c0 Delete type=0 #693 2026/01/04-21:27:06.252066 7f93ea7fc6c0 Delete type=0 #943
2025/02/09-21:03:16.130170 7f46abbff6c0 Level-0 table #698: started 2026/01/04-21:27:09.390639 7f93e9ffb6c0 Level-0 table #948: started
2025/02/09-21:03:16.130198 7f46abbff6c0 Level-0 table #698: 0 bytes OK 2026/01/04-21:27:09.390658 7f93e9ffb6c0 Level-0 table #948: 0 bytes OK
2025/02/09-21:03:16.139608 7f46abbff6c0 Delete type=0 #696 2026/01/04-21:27:09.396811 7f93e9ffb6c0 Delete type=0 #946
2025/02/09-21:03:16.160174 7f46abbff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.410812 7f93e9ffb6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.160232 7f46abbff6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.410834 7f93e9ffb6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/equipment/000773.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000702 MANIFEST-000952

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.683955 7f46ac7f86c0 Recovering log #700 2026/01/05-17:48:52.742838 7f93eaffd6c0 Recovering log #950
2025/02/09-21:03:41.743789 7f46ac7f86c0 Delete type=3 #698 2026/01/05-17:48:52.753021 7f93eaffd6c0 Delete type=3 #948
2025/02/09-21:03:41.743857 7f46ac7f86c0 Delete type=0 #700 2026/01/05-17:48:52.753070 7f93eaffd6c0 Delete type=0 #950
2025/02/09-21:08:13.711160 7f46abbff6c0 Level-0 table #705: started 2026/01/05-18:46:08.151562 7f93e9ffb6c0 Level-0 table #955: started
2025/02/09-21:08:13.711224 7f46abbff6c0 Level-0 table #705: 0 bytes OK 2026/01/05-18:46:08.151582 7f93e9ffb6c0 Level-0 table #955: 0 bytes OK
2025/02/09-21:08:13.742114 7f46abbff6c0 Delete type=0 #703 2026/01/05-18:46:08.157521 7f93e9ffb6c0 Delete type=0 #953
2025/02/09-21:08:13.781193 7f46abbff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.165132 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.781229 7f46abbff6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.165154 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:17.715431 7f46ad7fa6c0 Recovering log #696 2026/01/04-21:27:06.103266 7f93eb7fe6c0 Recovering log #946
2025/02/09-20:59:17.767662 7f46ad7fa6c0 Delete type=3 #694 2026/01/04-21:27:06.114180 7f93eb7fe6c0 Delete type=3 #944
2025/02/09-20:59:17.767735 7f46ad7fa6c0 Delete type=0 #696 2026/01/04-21:27:06.114255 7f93eb7fe6c0 Delete type=0 #946
2025/02/09-21:03:16.015027 7f46abbff6c0 Level-0 table #701: started 2026/01/04-21:27:09.322146 7f93e9ffb6c0 Level-0 table #951: started
2025/02/09-21:03:16.015056 7f46abbff6c0 Level-0 table #701: 0 bytes OK 2026/01/04-21:27:09.322167 7f93e9ffb6c0 Level-0 table #951: 0 bytes OK
2025/02/09-21:03:16.025413 7f46abbff6c0 Delete type=0 #699 2026/01/04-21:27:09.329148 7f93e9ffb6c0 Delete type=0 #949
2025/02/09-21:03:16.035188 7f46abbff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.329383 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.035228 7f46abbff6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.329422 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000701 MANIFEST-000951

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:42.106263 7f46acff96c0 Recovering log #699 2026/01/05-17:48:52.833468 7f93eb7fe6c0 Recovering log #949
2025/02/09-21:03:42.160121 7f46acff96c0 Delete type=3 #697 2026/01/05-17:48:52.842854 7f93eb7fe6c0 Delete type=3 #947
2025/02/09-21:03:42.160171 7f46acff96c0 Delete type=0 #699 2026/01/05-17:48:52.842916 7f93eb7fe6c0 Delete type=0 #949
2025/02/09-21:08:13.974673 7f46abbff6c0 Level-0 table #704: started 2026/01/05-18:46:08.210715 7f93e9ffb6c0 Level-0 table #954: started
2025/02/09-21:08:13.974704 7f46abbff6c0 Level-0 table #704: 0 bytes OK 2026/01/05-18:46:08.210743 7f93e9ffb6c0 Level-0 table #954: 0 bytes OK
2025/02/09-21:08:14.011085 7f46abbff6c0 Delete type=0 #702 2026/01/05-18:46:08.216985 7f93e9ffb6c0 Delete type=0 #952
2025/02/09-21:08:14.087725 7f46abbff6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.217118 7f93e9ffb6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/02/09-21:08:14.087770 7f46abbff6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.217151 7f93e9ffb6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:18.115747 7f46adffb6c0 Recovering log #695 2026/01/04-21:27:06.191520 7f93eb7fe6c0 Recovering log #945
2025/02/09-20:59:18.168485 7f46adffb6c0 Delete type=3 #693 2026/01/04-21:27:06.201833 7f93eb7fe6c0 Delete type=3 #943
2025/02/09-20:59:18.168544 7f46adffb6c0 Delete type=0 #695 2026/01/04-21:27:06.201898 7f93eb7fe6c0 Delete type=0 #945
2025/02/09-21:03:16.085893 7f46abbff6c0 Level-0 table #700: started 2026/01/04-21:27:09.363375 7f93e9ffb6c0 Level-0 table #950: started
2025/02/09-21:03:16.085921 7f46abbff6c0 Level-0 table #700: 0 bytes OK 2026/01/04-21:27:09.363409 7f93e9ffb6c0 Level-0 table #950: 0 bytes OK
2025/02/09-21:03:16.095589 7f46abbff6c0 Delete type=0 #698 2026/01/04-21:27:09.370710 7f93e9ffb6c0 Delete type=0 #948
2025/02/09-21:03:16.117608 7f46abbff6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.384119 7f93e9ffb6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.117655 7f46abbff6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.384146 7f93e9ffb6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000184 MANIFEST-000434

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:42.162054 7f46ac7f86c0 Recovering log #182 2026/01/05-17:48:52.845257 7f93eaffd6c0 Recovering log #432
2025/02/09-21:03:42.221124 7f46ac7f86c0 Delete type=3 #180 2026/01/05-17:48:52.856086 7f93eaffd6c0 Delete type=3 #430
2025/02/09-21:03:42.221183 7f46ac7f86c0 Delete type=0 #182 2026/01/05-17:48:52.856148 7f93eaffd6c0 Delete type=0 #432
2025/02/09-21:08:14.048164 7f46abbff6c0 Level-0 table #187: started 2026/01/05-18:46:08.197169 7f93e9ffb6c0 Level-0 table #437: started
2025/02/09-21:08:14.048222 7f46abbff6c0 Level-0 table #187: 0 bytes OK 2026/01/05-18:46:08.197189 7f93e9ffb6c0 Level-0 table #437: 0 bytes OK
2025/02/09-21:08:14.087569 7f46abbff6c0 Delete type=0 #185 2026/01/05-18:46:08.204388 7f93e9ffb6c0 Delete type=0 #435
2025/02/09-21:08:14.087751 7f46abbff6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.217099 7f93e9ffb6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)
2025/02/09-21:08:14.087779 7f46abbff6c0 Manual compaction at level-1 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.217134 7f93e9ffb6c0 Manual compaction at level-1 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/02/09-20:59:18.171976 7f46ad7fa6c0 Recovering log #178 2026/01/04-21:27:06.203697 7f93eaffd6c0 Recovering log #428
2025/02/09-20:59:18.225613 7f46ad7fa6c0 Delete type=3 #176 2026/01/04-21:27:06.214195 7f93eaffd6c0 Delete type=3 #426
2025/02/09-20:59:18.225692 7f46ad7fa6c0 Delete type=0 #178 2026/01/04-21:27:06.214286 7f93eaffd6c0 Delete type=0 #428
2025/02/09-21:03:16.107922 7f46abbff6c0 Level-0 table #183: started 2026/01/04-21:27:09.377290 7f93e9ffb6c0 Level-0 table #433: started
2025/02/09-21:03:16.107946 7f46abbff6c0 Level-0 table #183: 0 bytes OK 2026/01/04-21:27:09.377314 7f93e9ffb6c0 Level-0 table #433: 0 bytes OK
2025/02/09-21:03:16.117449 7f46abbff6c0 Delete type=0 #181 2026/01/04-21:27:09.383925 7f93e9ffb6c0 Delete type=0 #431
2025/02/09-21:03:16.117638 7f46abbff6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.384140 7f93e9ffb6c0 Manual compaction at level-0 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)
2025/02/09-21:03:16.117671 7f46abbff6c0 Manual compaction at level-1 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end) 2026/01/04-21:27:09.384156 7f93e9ffb6c0 Manual compaction at level-1 from '!items!CLRp0k5qV8mD03pW' @ 72057594037927935 : 1 .. '!items!wYEpnhbyYaMkaNdL' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/flaws/000843.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000701 MANIFEST-000952

View File

@@ -1,8 +1,8 @@
2025/02/09-21:03:41.445618 7f46ac7f86c0 Recovering log #699 2026/01/05-17:48:52.690354 7f93eb7fe6c0 Recovering log #950
2025/02/09-21:03:41.497175 7f46ac7f86c0 Delete type=3 #697 2026/01/05-17:48:52.699681 7f93eb7fe6c0 Delete type=3 #948
2025/02/09-21:03:41.497230 7f46ac7f86c0 Delete type=0 #699 2026/01/05-17:48:52.699755 7f93eb7fe6c0 Delete type=0 #950
2025/02/09-21:08:13.487453 7f46abbff6c0 Level-0 table #704: started 2026/01/05-18:46:08.119311 7f93e9ffb6c0 Level-0 table #955: started
2025/02/09-21:08:13.487495 7f46abbff6c0 Level-0 table #704: 0 bytes OK 2026/01/05-18:46:08.119337 7f93e9ffb6c0 Level-0 table #955: 0 bytes OK
2025/02/09-21:08:13.538715 7f46abbff6c0 Delete type=0 #702 2026/01/05-18:46:08.125254 7f93e9ffb6c0 Delete type=0 #953
2025/02/09-21:08:13.619501 7f46abbff6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138743 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
2025/02/09-21:08:13.619532 7f46abbff6c0 Manual compaction at level-1 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end) 2026/01/05-18:46:08.138788 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)

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