Compare commits

..

28 Commits

Author SHA1 Message Date
12faf34631 Fix roll with armor 0
Some checks failed
Release Creation / build (release) Failing after 48s
2026-01-19 20:19:36 +01:00
afa6e7a323 Fix roll with armor 0 2026-01-19 20:19:09 +01:00
89f5674fb9 Fix roll with armor 0 2026-01-19 20:18:54 +01:00
cd06d2e5ec Fix roll with armor 0 2026-01-19 20:18:16 +01:00
cdddcb6aee Fix roll with armor 0 2026-01-19 20:14:24 +01:00
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
3c3a0901da Fix issues #30 and #31 2025-02-09 21:08:20 +01:00
3fc6d3e3df Fix issues #30 and #31 2025-02-09 21:08:02 +01:00
69b34669b0 Sync bol for module releas 2025-01-25 20:12:00 +01:00
194 changed files with 1138 additions and 686 deletions

View File

@@ -1,6 +1,6 @@
name: Release Creation
on:
on:
release:
types: [published]
@@ -8,47 +8,47 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner."
#- uses: actions/checkout@v3
- uses: RouxAntoine/checkout@v3.5.4
with:
ref: 'v10'
- run: echo "💡 The ${{ gitea.repository }} repository will cloned to the runner."
# get part of the tag after the `v`
- name: Extract tag version number
id: get_version
uses: battila7/get-version-action@v2
#- uses: actions/checkout@v3
- uses: RouxAntoine/checkout@v3.5.4
with:
ref: "v13"
# Substitute the Manifest and Download URLs in the module.json
- name: Substitute Manifest and Download Links For Versioned Ones
id: sub_manifest_link_version
uses: microsoft/variable-substitution@v1
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
# get part of the tag after the `v`
- name: Extract tag version number
id: get_version
uses: battila7/get-version-action@v2
- run: zip -r ./bol.zip system.json template.json README.md LICENSE assets/ 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_UBERWALD}}'
# Substitute the Manifest and Download URLs in the module.json
- name: Substitute Manifest and Download Links For Versioned Ones
id: sub_manifest_link_version
uses: microsoft/variable-substitution@v1
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/ 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
- Correction sur les conditions des sorts
- Jet d'armures correctement affichés
- Dégat à 0 possibles sur les armes/capacités
## English
- Corrected spell conditions
- Armor rolls are now correctly displayed
- Weapon/capacity damage can now be set to 0
# v12.1.0
- Gestion des Hordes
- Ajout de la traduction Espagnole
- Nouvelles clés de traduction
- Petites amélioration diverses
# v11.1.2
- Ajout des traductions manquantes en anglais
@@ -39,20 +47,19 @@ Changes :
# v11.0.8
- Correction sur les malus de bouclier (blocage)
- Corrrection sur le malus d'init des boucliers qui était mal affiché dans la fiche d'item
- Correction sur les malus de bouclier (blocage)
- Corrrection sur le malus d'init des boucliers qui était mal affiché dans la fiche d'item
# v10.4.0
- Ajout de la gestion d'effets
- Aide intégré
- Intégration du PDF de la bougette
- Ajout de la gestion d'effets
- Aide intégré
- Intégration du PDF de la bougette
# v10.3.3
- 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 relance les 1 sur ses dégats, l'information est affichée dans le tchat
- Termes corrects pour les PNJs (ie rival)
- Nouveaux équipements issus du Dieu Voilé
- 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 relance les 1 sur ses dégats, l'information est affichée dans le tchat
- Termes corrects pour les PNJs (ie rival)
- 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>"
},
"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>"
},
"Grand bouclier": {

View File

@@ -14,7 +14,7 @@
"description": ""
},
"Esprit -1": {
"name": "Miond -1",
"name": "Mind -1",
"description": ""
},
"Vigueur -1": {

View File

@@ -175,7 +175,7 @@
},
"Traqué": {
"name": "Hunted",
"description": "<h1>Hunted</h1><p>Your character is ridiculously tight- lipped. Its a rare day on which he uses a sentence of more than three words, and its virtually unheard of for him to initiate conversation. His extreme reluctance to speak unfortunately means he never volunteers information without being asked. Take a penalty die in social situations.</p>"
"description": "<h1>Hunted</h1><p>Perhaps you are wanted by the authorities, or have offended some powerful noble or pirate king. Regardless of whom, you constantly have to evade agents intent on capturing or even killing you. Roll a d6 whenever you enter a new city. On a 1, agents of your enemy (or your enemy himself, if you choose) will spot you and make your life unpleasant.</p>"
}
}
}

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>"
},
"Terres Désolées": {
"name": "Terres Désolées",
"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>"
"name": "Empty Lands",
"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": {
"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>"
},
"Cimeterre": {
"name": "Cimeterre",
"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>"
"name": "Scimitar",
"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": {
"name": "Dagger",
@@ -123,19 +123,19 @@
},
"Masse darmes": {
"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)": {
"name": "Masse darmes (Lancer)",
"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>"
"name": "Mace (Thrown)",
"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": {
"name": "Massue",
"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>"
"name": "Club",
"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)": {
"name": "Massue (Lancer)",
"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>"
"name": "Club (Thrown)",
"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": {
"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.difficulty": "Schwierigkeit",
"BOL.ui.spellProperties": "Zaubereigenschaften",
"BOL.ui.duration": "Dauer",
"BOL.ui.duration": "Dauer",
"BOL.ui.spellkeep": "Aufrechterhalten",
"BOL.ui.concentrate": "Konzentrieren",
"BOL.ui.registerInit": "Register Init.",
@@ -134,7 +134,7 @@
"BOL.ui.makeAlchemy": "Alchemika herstellen",
"BOL.ui.alchemyCostTotal": "Alchemiepunkte ingesamt",
"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.isadvantage": "Gibt zusätzlichen Würfel?",
"BOL.ui.isbonusdice": "Gibt zusätzlichen Würfel?",
@@ -153,8 +153,8 @@
"BOL.ui.status": "Status",
"BOL.ui.toactivated": "Aktiv (>Deaktivieren)",
"BOL.ui.todeactivated": "Inaktiv (>Aktivieren)",
"BOL.ui.armorAgiMalus": "Rüschtung+Schild-Malus (Geschick)",
"BOL.ui.armorInitMalus": "Rüstungsmalus (Init)",
"BOL.ui.armorAgiMalus": "Rüschtung+Schild-Malus (Geschick)",
"BOL.ui.armorInitMalus": "Rüstungsmalus (Init)",
"BOL.ui.attackValue": "Angriffswert",
"BOL.ui.initMalus": "Init malus",
"BOL.ui.createEquipment": "Create Equipment",
@@ -177,7 +177,7 @@
"BOL.featureSubtypes.fightOption": "Kampfoption",
"BOL.bougette.nomoney": "Mittellos",
"BOL.bougette.tolive": "Zum Überleben",
"BOL.bougette.tolive": "Zum Überleben",
"BOL.bougette.easylife": "Einfaches Leben",
"BOL.bougette.luxury" : "Luxuriöses Leben",
"BOL.bougette.rich": "Reich!",
@@ -224,14 +224,14 @@
"BOL.protectionCategory.other": "Verschiedenes",
"BOL.spellItem.charm": "Zauber",
"BOL.spellItem.circle1": "Erster Kreis",
"BOL.spellItem.circle2": "Zweiter Kreis",
"BOL.spellItem.circle3": "Dritter Kreis",
"BOL.spellItem.circle1": "Erster Kreis",
"BOL.spellItem.circle2": "Zweiter Kreis",
"BOL.spellItem.circle3": "Dritter Kreis",
"BOL.alchemyItem.common": "Häufig",
"BOL.alchemyItem.scarce": "Selten",
"BOL.alchemyItem.legend": "Legendär",
"BOL.alchemyItem.mythic": "Mystisch",
"BOL.alchemyItem.common": "Häufig",
"BOL.alchemyItem.scarce": "Selten",
"BOL.alchemyItem.legend": "Legendär",
"BOL.alchemyItem.mythic": "Mystisch",
"BOL.weaponCategory.melee": "Nahkampf",
"BOL.weaponCategory.ranged": "Fernkampf",
@@ -290,6 +290,7 @@
"BOL.itemProperty.difficulty": "Schwierigkeit",
"BOL.itemProperty.natural": "Natürliche Waffe",
"BOL.itemProperty.onlymodifier": "Nur Modifikator (d.h. Angriffe von Kreaturen)",
"BOL.itemProperty.attackMalusDice": "Angriffsmalus (Würfel)",
"BOL.itemStat.quantity": "Anzahl",
"BOL.itemStat.weight": "Gewicht",
@@ -359,7 +360,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"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.horoscopeunfavorable": "Défavorable (1dM)",
"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.welcome5": "Auf ein gutes Spiel in Lemuria!",
"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.rollArmorTooltip": "Roll for armor value, fixed value if unchecked",

View File

@@ -47,7 +47,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"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.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes",
@@ -132,7 +132,7 @@
"BOL.ui.defender": "Defender",
"BOL.ui.difficulty": "Difficulty",
"BOL.ui.spellProperties": "Spell Properties",
"BOL.ui.duration": "Duration",
"BOL.ui.duration": "Duration",
"BOL.ui.spellkeep": "Maintain",
"BOL.ui.concentrate": "Concentrate",
"BOL.ui.registerInit": "Register Init.",
@@ -156,7 +156,7 @@
"BOL.ui.makeAlchemy": "Make Alchemy",
"BOL.ui.alchemyCostTotal": "Alchemy Points Total Cost",
"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.isadvantage": "Provides a bonus dice?",
"BOL.ui.bonusmalus": "Additional bonus/penalty",
@@ -173,8 +173,8 @@
"BOL.ui.status": "Status",
"BOL.ui.toactivated": "Active (>Deactivated)",
"BOL.ui.todeactivated": "Inactive (>Active)",
"BOL.ui.armorAgiMalus": "Armor+Shield Modifier (Agi)",
"BOL.ui.armorInitMalus": "Armor Modifier (Init)",
"BOL.ui.armorAgiMalus": "Armor+Shield Modifier (Agi)",
"BOL.ui.armorInitMalus": "Armor Modifier (Init)",
"BOL.ui.attackValue": "Attack Value",
"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)",
@@ -251,7 +251,7 @@
"BOL.featureSubtypes.xplog": "XP Journal",
"BOL.bougette.nomoney": "Nothing",
"BOL.bougette.tolive": "To live",
"BOL.bougette.tolive": "To live",
"BOL.bougette.easylife": "Easy Life",
"BOL.bougette.luxury" : "Luxury life",
"BOL.bougette.rich": "Rich!",
@@ -299,15 +299,15 @@
"BOL.protectionCategory.helm": "Helm",
"BOL.protectionCategory.other": "Other",
"BOL.spellItem.charm": "Charm",
"BOL.spellItem.circle1": "First Circle",
"BOL.spellItem.circle2": "Second Circle",
"BOL.spellItem.circle3": "Third Circle",
"BOL.spellItem.charm": "Charm",
"BOL.spellItem.circle1": "First Circle",
"BOL.spellItem.circle2": "Second Circle",
"BOL.spellItem.circle3": "Third Circle",
"BOL.alchemyItem.common": "Common",
"BOL.alchemyItem.scarce": "Scarce",
"BOL.alchemyItem.legend": "Legendary",
"BOL.alchemyItem.mythic": "Mythic",
"BOL.alchemyItem.common": "Common",
"BOL.alchemyItem.scarce": "Scarce",
"BOL.alchemyItem.legend": "Legendary",
"BOL.alchemyItem.mythic": "Mythic",
"BOL.weaponCategory.melee": "Melee",
"BOL.weaponCategory.ranged": "Ranged",
@@ -365,6 +365,7 @@
"BOL.itemProperty.difficulty": "Difficulty",
"BOL.itemProperty.natural": "Natural weapon",
"BOL.itemProperty.onlymodifier": "Modifier only (ie creatures attacks)",
"BOL.itemProperty.attackMalusDice": "Attack Malus (Dice)",
"BOL.itemStat.quantity": "Quantity",
"BOL.itemStat.weight": "Weight",
@@ -458,7 +459,7 @@
"BOL.size.colossal": "Colossal",
"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.epitaph": "Keep his name and memory in honor !",
"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.nodamage": "Do not apply damages",
"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.soeasy3": "So easy (+3)",
"BOL.dialog.veryeasy": "Very easy (+2)",
"BOL.dialog.easy": "Easy (+1)",
"BOL.dialog.moderate": "Moderate (0)",
"BOL.dialog.hard": "Hard (-1)",
"BOL.dialog.tough": "Tough (-2)",
"BOL.dialog.tough3": "Tough (-3)",
"BOL.dialog.demanding": "Demanding (-4)",
"BOL.dialog.demanding5": "Demanding (-5)",
"BOL.dialog.formidable": "Formidable (-6)",
"BOL.dialog.formidable7": "Formidable (-7)",
"BOL.dialog.heroic": "Heroic (-8)",
"BOL.dialog.heroic9": "Heroic (-9)",
"BOL.dialog.mythic": "Mythic (-10)",
"BOL.dialog.mythic11": "Mythic (-11)",
"BOL.dialog.divine": "Divine (-12)",
"BOL.dialog.pointblank": "Point blank (+1)",
@@ -562,7 +570,7 @@
"BOL.dialog.long": "Long (-2)",
"BOL.dialog.distant": "Distant (-4)",
"BOL.dialog.extreme": "Extreme (-6)",
"BOL.dialog.utmost": "Utmost (-8)",
"BOL.dialog.utmost": "Utmost (-8)",
"BOL.ui.name": "Name",
"BOL.ui.xp": "Experience",
@@ -578,11 +586,11 @@
"BOL.ui.bionotes": "Notes",
"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.welcome3": "The integrated maps are authorized by Guillaume Tavernier and Ludospherik. Thanks to them !.",
"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 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.welcome5": "Good game in Lemuria !",
"BOL.chat.welcome6": "",
"BOL.chat.welcome5": "<strong>In order to see compendiums in English, you must install and enable the Babele module.</strong>",
"BOL.chat.welcome6": "Good game in Lemuria !",
"BOL.settings.rollArmor": "Roll for armor",
"BOL.settings.rollArmorTooltip": "Roll for armor value, fixed value if unchecked",

View File

@@ -132,7 +132,7 @@
"BOL.ui.defender": "Defensor",
"BOL.ui.difficulty": "Dificultad",
"BOL.ui.spellProperties": "Propiedades Conjuro",
"BOL.ui.duration": "Duración",
"BOL.ui.duration": "Duración",
"BOL.ui.spellkeep": "Mantenimiento",
"BOL.ui.concentrate": "Concentración",
"BOL.ui.registerInit": "Registrar Inic.",
@@ -156,7 +156,7 @@
"BOL.ui.makeAlchemy": "Realizar Alquimia",
"BOL.ui.alchemyCostTotal": "Coste Total 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.isadvantage": "¿Da un dado ventaja?",
"BOL.ui.bonusmalus": "Ventaja/desventaja adicional",
@@ -245,7 +245,7 @@
"BOL.featureSubtypes.xplog": "Diario PX",
"BOL.bougette.nomoney": "Nada",
"BOL.bougette.tolive": "Vivir justo",
"BOL.bougette.tolive": "Vivir justo",
"BOL.bougette.easylife": "Vida simple",
"BOL.bougette.luxury" : "Vida lujosa",
"BOL.bougette.rich": "¡Rico!",
@@ -293,15 +293,15 @@
"BOL.protectionCategory.helm": "Casco",
"BOL.protectionCategory.other": "Otro",
"BOL.spellItem.charm": "Truco",
"BOL.spellItem.circle1": "Primer Círculo",
"BOL.spellItem.circle2": "Segundo Círculo",
"BOL.spellItem.circle3": "Tercer Círculo",
"BOL.spellItem.charm": "Truco",
"BOL.spellItem.circle1": "Primer Círculo",
"BOL.spellItem.circle2": "Segundo Círculo",
"BOL.spellItem.circle3": "Tercer Círculo",
"BOL.alchemyItem.common": "Común",
"BOL.alchemyItem.scarce": "Escaso",
"BOL.alchemyItem.legend": "Legendario",
"BOL.alchemyItem.mythic": "Mítico",
"BOL.alchemyItem.common": "Común",
"BOL.alchemyItem.scarce": "Escaso",
"BOL.alchemyItem.legend": "Legendario",
"BOL.alchemyItem.mythic": "Mítico",
"BOL.weaponCategory.melee": "Melé",
"BOL.weaponCategory.ranged": "Distancia",
@@ -359,6 +359,7 @@
"BOL.itemProperty.difficulty": "Dificultad",
"BOL.itemProperty.natural": "Arma natural",
"BOL.itemProperty.onlymodifier": "Sólo modificador (ej criatura)",
"BOL.itemProperty.attackMalusDice": "Dado Desventaja Ataque",
"BOL.itemStat.quantity": "Cantidad",
"BOL.itemStat.weight": "Peso",
@@ -452,7 +453,7 @@
"BOL.size.colossal": "Colosal",
"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.epitaph": "¡Guardar el honor de su nombre y su memoria!",
"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.criticalbuttonjournal": "Éxito Asombroso/Legendario",
"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.veryeasy": "Muy fácil (+2)",
@@ -553,7 +555,7 @@
"BOL.dialog.long": "Larga (-2)",
"BOL.dialog.distant": "Distante (-4)",
"BOL.dialog.extreme": "Extrema (-6)",
"BOL.dialog.utmost": "Límite (-8)",
"BOL.dialog.utmost": "Límite (-8)",
"BOL.ui.name": "Nombre",
"BOL.ui.xp": "Experiencia",

View File

@@ -50,7 +50,7 @@
"BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"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.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes",
@@ -137,7 +137,7 @@
"BOL.ui.duration": "Durée",
"BOL.ui.spellkeep": "Prolongation possible ?",
"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.initMalus": "Malus d'initiative",
"BOL.ui.magicnewrules": "Règles supplémentaires (cf. supplément fan-made Sorcellerie!)",
@@ -147,7 +147,7 @@
"BOL.ui.flaw":"Désanvatage",
"BOL.ui.cost":"Cout XP",
"BOL.ui.date":"Date",
"BOL.ui.isSorcerer": "Carrière de Sorcier ?",
"BOL.ui.isAlchemist": "Carrière d'Alchimiste ?",
"BOL.ui.isPriest": "Carrière de Prêtre/Druide ?",
@@ -259,7 +259,7 @@
"BOL.bougette.easylife": "A l'aise",
"BOL.bougette.luxury": "Luxe&Volupté",
"BOL.bougette.rich": "Richissime",
"BOL.featureSubtypes.origin": "Origine",
"BOL.featureSubtypes.race": "Race",
"BOL.featureSubtypes.career": "Carrière",
@@ -393,8 +393,9 @@
"BOL.itemProperty.crewDamageMultiplier": "Multiplicateur",
"BOL.itemProperty.isboarding": "Abordage",
"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.weight": "Poids",
"BOL.itemStat.price": "Prix",
@@ -486,7 +487,7 @@
"BOL.size.colossal": "Monstrueuse",
"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.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 !",
@@ -569,21 +570,29 @@
"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.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.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.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.soeasy3": "Inmanquable (+3)",
"BOL.dialog.veryeasy": "Trés Facile (+2)",
"BOL.dialog.easy": "Facile (+1)",
"BOL.dialog.moderate": "Moyenne (0)",
"BOL.dialog.hard": "Ardue (-1)",
"BOL.dialog.tough": "Difficile (-2)",
"BOL.dialog.tough3": "Difficile (-3)",
"BOL.dialog.demanding": "Très Difficile (-4)",
"BOL.dialog.demanding5": "Très Difficile (-5)",
"BOL.dialog.formidable": "Impossible (-6)",
"BOL.dialog.formidable7": "Impossible (-7)",
"BOL.dialog.heroic": "Héroïque (-8)",
"BOL.dialog.heroic9": "Héroïque (-9)",
"BOL.dialog.mythic": "Mythique (-10)",
"BOL.dialog.mythic11": "Mythique (-11)",
"BOL.dialog.divine": "Divine (-12)",
"BOL.dialog.pointblank": "Bout portant (+1)",
@@ -611,16 +620,15 @@
"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.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.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.nodamage": "Ne pas appliquer les dommages",
"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.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.armorRoll": "Jet d'armure",
"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é)",
@@ -643,4 +651,4 @@
"EFFECT.StatusProne": "A terre",
"EFFECT.StatusDead": "Mort"
}
}

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js";
export class BoLActorSheet extends ActorSheet {
export class BoLActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@@ -59,7 +59,7 @@ export class BoLActorSheet extends ActorSheet {
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 });
});
html.find(".toggle-fight-option").click((ev) => {
const li = $(ev.currentTarget).parents(".item")
this.actor.toggleFightOption(li.data("itemId"))
@@ -170,8 +170,8 @@ export class BoLActorSheet extends ActorSheet {
formData.charType = this.actor.getCharType()
formData.villainy = this.actor.getVillainy()
formData.isUndead = this.actor.isUndead()
formData.biography = await TextEditor.enrichHTML(this.object.system.details?.biography || "", { async: true })
formData.notes = await TextEditor.enrichHTML(this.object.system.details.notes || "", { async: true })
formData.biography = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.details?.biography || "", { async: true })
formData.notes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.details.notes || "", { async: true })
formData.isSorcerer = this.actor.isSorcerer()
formData.isAlchemist = this.actor.isAlchemist()
formData.isAstrologer = this.actor.isAstrologer()

View File

@@ -22,6 +22,9 @@ export class BoLActor extends Actor {
if (data.type == 'encounter') {
data.system = { resources: { hero : { max : 0, value: 0 } } }
}
if (data.type == 'character') {
data.system = { resources: { hp : { max : 10, value: 10 } } }
}
if (data.type == 'horde') {
let weapon = {
@@ -161,12 +164,16 @@ export class BoLActor extends Actor {
let newVitality = 10 + this.system.attributes.vigor.value + this.system.resources.hp.bonus
if (this.system.resources.hp.max != newVitality) {
let actor = this
setTimeout(function () { actor.update({ 'system.resources.hp.max': newVitality }) }, 800)
let newHP = foundry.utils.duplicate(this.system.resources.hp)
newHP.max = newVitality
setTimeout(function () { actor.update({ 'system.resources.hp': newHP }) }, 800)
}
let newPower = 10 + this.system.attributes.mind.value + this.system.resources.power.bonus
if (this.system.resources.power.max != newPower) {
let maxPower = 10 + this.system.attributes.mind.value + this.system.resources.power.bonus
if (this.system.resources.power.max != maxPower) {
let actor = this
setTimeout(function () { actor.update({ 'system.resources.power.max': newPower }) }, 800)
let newPower = foundry.utils.duplicate(this.system.resources.power)
newPower.max = maxPower
setTimeout(function () { actor.update({ 'system.resources.power': newPower }) }, 800)
}
}
}

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js";
export class BoLHordeSheet extends ActorSheet {
export class BoLHordeSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@@ -116,7 +116,7 @@ export class BoLHordeSheet extends ActorSheet {
formData.options = this.options
formData.owner = this.document.isOwner
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

View File

@@ -5,7 +5,7 @@
import { BoLRoll } from "../controllers/bol-rolls.js";
import { BoLUtility } from "../system/bol-utility.js";
export class BoLVehicleSheet extends ActorSheet {
export class BoLVehicleSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@@ -127,7 +127,7 @@ export class BoLVehicleSheet extends ActorSheet {
formData.options = this.options
formData.owner = this.document.isOwner
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

View File

@@ -18,6 +18,9 @@ import { BoLHotbar } from "./system/bol-hotbar.js"
import { BoLCommands } from "./system/bol-commands.js"
import { BoLRoll } from "./controllers/bol-rolls.js"
/* -------------------------------------------- */
const BOL_WELCOME_MESSAGE_URL = "https://www.uberwald.me/gitea/public/bol/raw/branch/v13/welcome-message-bol.html"
/* -------------------------------------------- */
Hooks.once('init', async function () {
@@ -31,7 +34,7 @@ Hooks.once('init', async function () {
config: BOL
};
// Game socket
// Game socket
game.socket.on("system.bol", sockmsg => {
BoLUtility.onSocketMessage(sockmsg);
})
@@ -51,13 +54,13 @@ Hooks.once('init', async function () {
CONFIG.Combat.documentClass = BoLCombatManager;
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("bol", BoLActorSheet, { types: ["character", "encounter"], makeDefault: true })
Actors.registerSheet("bol", BoLVehicleSheet, { types: ["vehicle"], makeDefault: true })
Actors.registerSheet("bol", BoLHordeSheet, { types: ["horde"], makeDefault: true })
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
foundry.documents.collections.Actors.registerSheet("bol", BoLActorSheet, { types: ["character", "encounter"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("bol", BoLVehicleSheet, { types: ["vehicle"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("bol", BoLHordeSheet, { types: ["horde"], makeDefault: true })
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("bol", BoLItemSheet, { makeDefault: true });
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
foundry.documents.collections.Items.registerSheet("bol", BoLItemSheet, { makeDefault: true });
// Inot useful stuff
BoLUtility.init()
@@ -78,36 +81,61 @@ Hooks.once('init', async function () {
Babele.get().setSystemTranslationsDir("compendiums");
}
});
/* -------------------------------------------- */
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({
user: game.user.id,
whisper: [game.user.id],
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>" +
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")
content: content
})
if (game.user.isGM && game.i18n.lang == 'en' && !game.modules.find(m => m.id == "babele") ){
if (game.user.isGM && game.i18n.lang == 'en' && !game.modules.find(m => m.id == "babele")) {
ChatMessage.create({
user: game.user.id,
whisper: [game.user.id],
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.`
} )
ui.notifications.warn("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.")
}
}
/* -------------------------------------------- */
function welcomeMessageRepository() {
if (game.user.isGM) {
// Try to fetch the welcome message from the github repo "welcome-message-ecryme.html"
fetch(BOL_WELCOME_MESSAGE_URL)
.then(response => response.text())
.then(html => {
ChatMessage.create({
user: game.user.id,
whisper: [game.user.id],
content: html
});
})
.catch(error => {
console.error("Error fetching welcome message:", error);
});
}
}
/* -------------------------------------------- */
Hooks.once('ready', async function () {
@@ -121,6 +149,7 @@ Hooks.once('ready', async function () {
)
welcomeMessage()
welcomeMessageRepository();
// User warning
if (!game.user.isGM && game.user.character == undefined) {
@@ -160,13 +189,11 @@ Hooks.once('ready', async function () {
"d6B": "d6H (Bonus)",
"d6BB": "d6H + Bonus die",
}
if (game.i18n.lang === "fr") {
game.bol.config.damageValues = damageFR;
} else {
game.bol.config.damageValues = damageEN;
}
})

View File

@@ -19,9 +19,9 @@ export class BoLRoll {
static updateApplicableEffects(rollData) {
let appEffects = []
for (let effect of rollData.bolEffects) {
if ( (effect.system.properties.identifier == "always") ||
(effect.system.properties.identifier.includes(rollData.attribute.key)) ||
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key)) ){
if ((effect.system.properties.identifier == "always") ||
(effect.system.properties.identifier.includes(rollData.attribute.key)) ||
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key))) {
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}`)
@@ -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 attrKey = this.getDefaultAttribute(key)
@@ -305,7 +305,7 @@ export class BoLRoll {
// Keep track of the final effect modifier
this.rollData.effectModifier = effectModifier
// Final number of dices
// Final number of dices
this.rollData.nbDice = 2 + Math.abs(this.rollData.bmDice)
// Bonus or Malus ?
if (this.rollData.bmDice == 0) {
@@ -482,14 +482,19 @@ export class BoLRoll {
if (rollData.mode == "weapon") {
rollData.weaponModifier = rollData.weapon.system.properties.attackModifiers ?? 0
rollData.attackBonusDice = rollData.weapon.system.properties.attackBonusDice
rollData.attackMalusDice = rollData.weapon.system.properties.attackMalusDice
if (rollData.attackBonusDice) {
rollData.adv = "1B"
rollData.bDice = 1
}
if (rollData.attackMalusDice) {
rollData.adv = "1M"
rollData.mDice = 1
}
if (defender) { // If target is selected
rollData.defence = defender.defenseValue
rollData.armorMalus = defender.armorMalusValue
rollData.defenderHeroPoints = defender.getHeroPoints()
rollData.defenderHeroPoints = defender.getHeroPoints()
rollData.shieldBlock = 'none'
let shields = defender.shields
//console.log("Defender stats", defender)
@@ -534,8 +539,9 @@ export class BoLRoll {
rollData.id = foundry.utils.randomID(16)
rollData.weaponModifier = 0
rollData.attackBonusDice = false
rollData.attackMalusDice = false
rollData.armorMalus = 0
// Specific stuff
// Specific stuff
this.preProcessWeapon(rollData, defender)
this.preProcessFightOption(rollData)
this.updateArmorMalus(rollData)
@@ -551,7 +557,7 @@ export class BoLRoll {
console.log("ROLLDATA", rollData)
// Then display+process the dialog
const rollOptionContent = await renderTemplate(rollOptionTpl, rollData);
const rollOptionContent = await foundry.applications.handlebars.renderTemplate(rollOptionTpl, rollData);
let d = new Dialog({
title: rollData.label,
content: rollOptionContent,
@@ -582,7 +588,7 @@ export class BoLRoll {
rollbase = 0
}
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 formula = (isMalus) ? rollData.nbDice + "d" + diceData.diceFormula + "kl2 + " + modifiers : rollData.nbDice + "d" + diceData.diceFormula + "kh2 + " + modifiers
rollData.formula = formula
@@ -634,16 +640,16 @@ export class BoLDefaultRoll {
const diceTotal = activeDice.map(r => r.result).reduce((a, b) => a + b)
this.rollData.roll = r
this.rollData.isFumble = (diceTotal <= diceData.criticalFailureValue)
if ( this.rollData.isFumble ) {
this.rollData.isSuccess = false
if (this.rollData.isFumble) {
this.rollData.isSuccess = false
this.rollData.isCritical = false
this.rollData.isRealCritical = false
this.rollData.isHeroic = false
this.rollData.isFailure = true
this.rollData.isFailure = true
} else {
this.rollData.isCritical = (diceTotal >= diceData.criticalSuccessValue)
if ( this.rollData.isCritical) {
this.rollData.isSuccess = true
if (this.rollData.isCritical) {
this.rollData.isSuccess = true
} else {
this.rollData.isSuccess = (r.total >= diceData.successValue)
}
@@ -805,13 +811,13 @@ export class BoLDefaultRoll {
/* -------------------------------------------- */
_buildDamageChatMessage(rollData) {
const rollMessageTpl = 'systems/bol/templates/chat/rolls/damage-roll-card.hbs';
return renderTemplate(rollMessageTpl, rollData)
return foundry.applications.handlebars.renderTemplate(rollMessageTpl, rollData)
}
/* -------------------------------------------- */
_buildChatMessage(rollData) {
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
* @extends {ItemSheet}
*/
export class BoLItemSheet extends ItemSheet {
export class BoLItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */
static get defaultOptions() {
@@ -13,6 +13,7 @@ export class BoLItemSheet extends ItemSheet {
template: "systems/bol/templates/item/item-sheet.hbs",
width: 650,
height: 780,
dragDrop: [{ dragSelector: null, dropSelector: null }],
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }]
});
}
@@ -27,7 +28,7 @@ export class BoLItemSheet extends ItemSheet {
data.category = itemData.system.category
data.isGM = game.user.isGM;
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) {
data.careers = data.document.actor.careers
}
@@ -102,6 +103,7 @@ export class BoLItemSheet extends ItemSheet {
activateListeners(html) {
super.activateListeners(html);
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
// Roll handlers, click handlers, etc. would go here.

View File

@@ -12,8 +12,8 @@ export class BoLTokenHud {
/* -------------------------------------------- */
static async removeExtensionHud(app, html, tokenId) {
html.find('.control-icon.bol-roll').remove()
html.find('.control-icon.bol-action').remove()
$(html).find('.control-icon.bol-roll').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 controlIconActions = html.find('.control-icon[data-action=combat]');
const controlIconActions = $(html).find('.control-icon[data-action=combat]');
// initiative
await BoLTokenHud._configureSubMenu(controlIconActions, 'systems/bol/templates/token/hud-actor-actions.hbs', hudData,
(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
await BoLTokenHud._configureSubMenu(controlIconTarget, 'systems/bol/templates/token/hud-actor-rolls.hbs', hudData,
(event) => {
@@ -59,7 +59,7 @@ export class BoLTokenHud {
/* -------------------------------------------- */
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) {
BoLTokenHud.addExtensionHud(app, html, tokenId);
}
@@ -67,7 +67,7 @@ export class BoLTokenHud {
/* -------------------------------------------- */
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')
BoLTokenHud._toggleHudListActive(hud, list);

View File

@@ -221,10 +221,10 @@ export class BoLCalendar extends Application {
let hn = defHeure.heure;
let chiffreAstral = this.getCurrentNombreAstral() ?? 0;
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 ] };
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 ]};
}
return heuresChancesMalchances;
@@ -331,7 +331,7 @@ export class BoLCalendar extends Application {
calendrierData.jourMoisOptions = RdDCalendrier.buildJoursMois();
calendrierData.heuresOptions = [0, 1];
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.updateData(calendrierData);
@@ -360,7 +360,7 @@ export class BoLCalendar extends Application {
let heureNaissance = actor.getHeureNaissance();
if ( heureNaissance) {
heuresParActeur[actor.name] = this.getHeuresChanceMalchance(heureNaissance);
}
}
}
//console.log("ASTRO", astrologieArray);
calendrierData.astrologieData = astrologieArray;
@@ -398,7 +398,7 @@ export class BoLCalendar extends Application {
let isRightMB = false;
if ("which" in ev) { // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
isRightMB = ev.which == 3;
} else if ("button" in ev) { // IE, Opera
} else if ("button" in ev) { // IE, Opera
isRightMB = ev.button == 2;
}

View File

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

View File

@@ -190,15 +190,21 @@ BOL.rangeModifiers = {
BOL.difficultyModifiers = {
"4": "BOL.dialog.soeasy",
"3": "BOL.dialog.soeasy3",
"2": "BOL.dialog.veryeasy",
"1": "BOL.dialog.easy",
"0": "BOL.dialog.moderate",
"-1": "BOL.dialog.hard",
"-2": "BOL.dialog.tough",
"-3": "BOL.dialog.tough3",
"-4": "BOL.dialog.demanding",
"-5": "BOL.dialog.demanding5",
"-6": "BOL.dialog.formidable",
"-7": "BOL.dialog.formidable7",
"-8": "BOL.dialog.heroic",
"-9": "BOL.dialog.heroic9",
"-10": "BOL.dialog.mythic",
"-11": "BOL.dialog.mythic11",
"-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('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
@@ -73,8 +73,8 @@ export default function registerHooks() {
button.addEventListener('click', () => {
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/boons-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/horoscope-roll-part.hbs"
];
// 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-000642
MANIFEST-000990

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:21.360031 7f25b97fa6c0 Recovering log #640
2024/12/12-21:46:21.492497 7f25b97fa6c0 Delete type=3 #638
2024/12/12-21:46:21.492569 7f25b97fa6c0 Delete type=0 #640
2024/12/12-21:50:13.987586 7f25b2ffd6c0 Level-0 table #645: started
2024/12/12-21:50:13.987627 7f25b2ffd6c0 Level-0 table #645: 0 bytes OK
2024/12/12-21:50:13.994186 7f25b2ffd6c0 Delete type=0 #643
2024/12/12-21:50:14.007425 7f25b2ffd6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2024/12/12-21:50:14.007460 7f25b2ffd6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.729596 7f14da7fc6c0 Recovering log #988
2026/01/19-19:47:49.739434 7f14da7fc6c0 Delete type=3 #986
2026/01/19-19:47:49.739512 7f14da7fc6c0 Delete type=0 #988
2026/01/19-20:19:02.579851 7f1243fff6c0 Level-0 table #993: started
2026/01/19-20:19:02.579872 7f1243fff6c0 Level-0 table #993: 0 bytes OK
2026/01/19-20:19:02.585797 7f1243fff6c0 Delete type=0 #991
2026/01/19-20:19:02.586018 7f1243fff6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:43.910823 7f25b37fe6c0 Recovering log #636
2024/12/12-21:11:44.036050 7f25b37fe6c0 Delete type=3 #634
2024/12/12-21:11:44.036107 7f25b37fe6c0 Delete type=0 #636
2024/12/12-21:40:17.197599 7f25b2ffd6c0 Level-0 table #641: started
2024/12/12-21:40:17.197635 7f25b2ffd6c0 Level-0 table #641: 0 bytes OK
2024/12/12-21:40:17.203956 7f25b2ffd6c0 Delete type=0 #639
2024/12/12-21:40:17.217330 7f25b2ffd6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.217374 7f25b2ffd6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.845406 7f14d8ff96c0 Recovering log #984
2026/01/18-20:07:47.861224 7f14d8ff96c0 Delete type=3 #982
2026/01/18-20:07:47.861280 7f14d8ff96c0 Delete type=0 #984
2026/01/18-20:13:44.130598 7f1243fff6c0 Level-0 table #989: started
2026/01/18-20:13:44.130625 7f1243fff6c0 Level-0 table #989: 0 bytes OK
2026/01/18-20:13:44.157241 7f1243fff6c0 Delete type=0 #987
2026/01/18-20:13:44.192634 7f1243fff6c0 Manual compaction at level-0 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/000882.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000548
MANIFEST-000895

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:21.083865 7f25b37fe6c0 Recovering log #546
2024/12/12-21:46:21.217856 7f25b37fe6c0 Delete type=3 #544
2024/12/12-21:46:21.217918 7f25b37fe6c0 Delete type=0 #546
2024/12/12-21:50:13.981247 7f25b2ffd6c0 Level-0 table #551: started
2024/12/12-21:50:13.981272 7f25b2ffd6c0 Level-0 table #551: 0 bytes OK
2024/12/12-21:50:13.987466 7f25b2ffd6c0 Delete type=0 #549
2024/12/12-21:50:14.007412 7f25b2ffd6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2024/12/12-21:50:14.007452 7f25b2ffd6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.702991 7f14d97fa6c0 Recovering log #893
2026/01/19-19:47:49.714316 7f14d97fa6c0 Delete type=3 #891
2026/01/19-19:47:49.714383 7f14d97fa6c0 Delete type=0 #893
2026/01/19-20:19:02.560145 7f1243fff6c0 Level-0 table #898: started
2026/01/19-20:19:02.560173 7f1243fff6c0 Level-0 table #898: 0 bytes OK
2026/01/19-20:19:02.566093 7f1243fff6c0 Delete type=0 #896
2026/01/19-20:19:02.585964 7f1243fff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:43.620616 7f25b8ff96c0 Recovering log #542
2024/12/12-21:11:43.750156 7f25b8ff96c0 Delete type=3 #540
2024/12/12-21:11:43.750213 7f25b8ff96c0 Delete type=0 #542
2024/12/12-21:40:17.191315 7f25b2ffd6c0 Level-0 table #547: started
2024/12/12-21:40:17.191339 7f25b2ffd6c0 Level-0 table #547: 0 bytes OK
2024/12/12-21:40:17.197420 7f25b2ffd6c0 Delete type=0 #545
2024/12/12-21:40:17.217313 7f25b2ffd6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.217363 7f25b2ffd6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.807797 7f14d9ffb6c0 Recovering log #889
2026/01/18-20:07:47.824331 7f14d9ffb6c0 Delete type=3 #887
2026/01/18-20:07:47.824381 7f14d9ffb6c0 Delete type=0 #889
2026/01/18-20:13:44.157350 7f1243fff6c0 Level-0 table #894: started
2026/01/18-20:13:44.157372 7f1243fff6c0 Level-0 table #894: 0 bytes OK
2026/01/18-20:13:44.192480 7f1243fff6c0 Delete type=0 #892
2026/01/18-20:13:44.192647 7f1243fff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/boons/000976.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000641
MANIFEST-000989

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:20.029795 7f25b37fe6c0 Recovering log #639
2024/12/12-21:46:20.162579 7f25b37fe6c0 Delete type=3 #637
2024/12/12-21:46:20.162683 7f25b37fe6c0 Delete type=0 #639
2024/12/12-21:50:13.926457 7f25b2ffd6c0 Level-0 table #644: started
2024/12/12-21:50:13.926508 7f25b2ffd6c0 Level-0 table #644: 0 bytes OK
2024/12/12-21:50:13.934036 7f25b2ffd6c0 Delete type=0 #642
2024/12/12-21:50:13.954229 7f25b2ffd6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2024/12/12-21:50:13.954282 7f25b2ffd6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.594444 7f14d8ff96c0 Recovering log #987
2026/01/19-19:47:49.605020 7f14d8ff96c0 Delete type=3 #985
2026/01/19-19:47:49.605095 7f14d8ff96c0 Delete type=0 #987
2026/01/19-20:19:02.521702 7f1243fff6c0 Level-0 table #992: started
2026/01/19-20:19:02.521733 7f1243fff6c0 Level-0 table #992: 0 bytes OK
2026/01/19-20:19:02.528339 7f1243fff6c0 Delete type=0 #990
2026/01/19-20:19:02.534634 7f1243fff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:42.417136 7f25b8ff96c0 Recovering log #635
2024/12/12-21:11:42.597818 7f25b8ff96c0 Delete type=3 #633
2024/12/12-21:11:42.597875 7f25b8ff96c0 Delete type=0 #635
2024/12/12-21:40:17.139303 7f25b2ffd6c0 Level-0 table #640: started
2024/12/12-21:40:17.139355 7f25b2ffd6c0 Level-0 table #640: 0 bytes OK
2024/12/12-21:40:17.145373 7f25b2ffd6c0 Delete type=0 #638
2024/12/12-21:40:17.165314 7f25b2ffd6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.165365 7f25b2ffd6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.640110 7f14da7fc6c0 Recovering log #983
2026/01/18-20:07:47.659075 7f14da7fc6c0 Delete type=3 #981
2026/01/18-20:07:47.659147 7f14da7fc6c0 Delete type=0 #983
2026/01/18-20:13:43.881522 7f1243fff6c0 Level-0 table #988: started
2026/01/18-20:13:43.881548 7f1243fff6c0 Level-0 table #988: 0 bytes OK
2026/01/18-20:13:43.921371 7f1243fff6c0 Delete type=0 #986
2026/01/18-20:13:43.921513 7f1243fff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/boons/MANIFEST-000989 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000641
MANIFEST-000988

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:20.169625 7f25b8ff96c0 Recovering log #639
2024/12/12-21:46:20.298341 7f25b8ff96c0 Delete type=3 #637
2024/12/12-21:46:20.298399 7f25b8ff96c0 Delete type=0 #639
2024/12/12-21:50:13.934153 7f25b2ffd6c0 Level-0 table #644: started
2024/12/12-21:50:13.934178 7f25b2ffd6c0 Level-0 table #644: 0 bytes OK
2024/12/12-21:50:13.940593 7f25b2ffd6c0 Delete type=0 #642
2024/12/12-21:50:13.954244 7f25b2ffd6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2024/12/12-21:50:13.954292 7f25b2ffd6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.609310 7f14da7fc6c0 Recovering log #986
2026/01/19-19:47:49.619302 7f14da7fc6c0 Delete type=3 #984
2026/01/19-19:47:49.619373 7f14da7fc6c0 Delete type=0 #986
2026/01/19-20:19:02.515027 7f1243fff6c0 Level-0 table #991: started
2026/01/19-20:19:02.515048 7f1243fff6c0 Level-0 table #991: 0 bytes OK
2026/01/19-20:19:02.521555 7f1243fff6c0 Delete type=0 #989
2026/01/19-20:19:02.534623 7f1243fff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:42.611933 7f25b3fff6c0 Recovering log #635
2024/12/12-21:11:42.739932 7f25b3fff6c0 Delete type=3 #633
2024/12/12-21:11:42.740037 7f25b3fff6c0 Delete type=0 #635
2024/12/12-21:40:17.158730 7f25b2ffd6c0 Level-0 table #640: started
2024/12/12-21:40:17.158762 7f25b2ffd6c0 Level-0 table #640: 0 bytes OK
2024/12/12-21:40:17.165130 7f25b2ffd6c0 Delete type=0 #638
2024/12/12-21:40:17.165357 7f25b2ffd6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.165391 7f25b2ffd6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.664234 7f14d8ff96c0 Recovering log #982
2026/01/18-20:07:47.679427 7f14d8ff96c0 Delete type=3 #980
2026/01/18-20:07:47.679484 7f14d8ff96c0 Delete type=0 #982
2026/01/18-20:13:43.851971 7f1243fff6c0 Level-0 table #987: started
2026/01/18-20:13:43.851994 7f1243fff6c0 Level-0 table #987: 0 bytes OK
2026/01/18-20:13:43.881382 7f1243fff6c0 Delete type=0 #985
2026/01/18-20:13:43.921506 7f1243fff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/careers/000975.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000641
MANIFEST-000988

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:20.429002 7f25b3fff6c0 Recovering log #639
2024/12/12-21:46:20.557790 7f25b3fff6c0 Delete type=3 #637
2024/12/12-21:46:20.557866 7f25b3fff6c0 Delete type=0 #639
2024/12/12-21:50:13.940754 7f25b2ffd6c0 Level-0 table #644: started
2024/12/12-21:50:13.940780 7f25b2ffd6c0 Level-0 table #644: 0 bytes OK
2024/12/12-21:50:13.947933 7f25b2ffd6c0 Delete type=0 #642
2024/12/12-21:50:13.954259 7f25b2ffd6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2024/12/12-21:50:13.954302 7f25b2ffd6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.635172 7f14d8ff96c0 Recovering log #986
2026/01/19-19:47:49.644889 7f14d8ff96c0 Delete type=3 #984
2026/01/19-19:47:49.644941 7f14d8ff96c0 Delete type=0 #986
2026/01/19-20:19:02.508864 7f1243fff6c0 Level-0 table #991: started
2026/01/19-20:19:02.508913 7f1243fff6c0 Level-0 table #991: 0 bytes OK
2026/01/19-20:19:02.514913 7f1243fff6c0 Delete type=0 #989
2026/01/19-20:19:02.534608 7f1243fff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:42.873685 7f25b97fa6c0 Recovering log #635
2024/12/12-21:11:43.006883 7f25b97fa6c0 Delete type=3 #633
2024/12/12-21:11:43.006940 7f25b97fa6c0 Delete type=0 #635
2024/12/12-21:40:17.165812 7f25b2ffd6c0 Level-0 table #640: started
2024/12/12-21:40:17.165866 7f25b2ffd6c0 Level-0 table #640: 0 bytes OK
2024/12/12-21:40:17.172013 7f25b2ffd6c0 Delete type=0 #638
2024/12/12-21:40:17.191170 7f25b2ffd6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.191207 7f25b2ffd6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.704039 7f14d8ff96c0 Recovering log #982
2026/01/18-20:07:47.721242 7f14d8ff96c0 Delete type=3 #980
2026/01/18-20:07:47.721902 7f14d8ff96c0 Delete type=0 #982
2026/01/18-20:13:43.777269 7f1243fff6c0 Level-0 table #987: started
2026/01/18-20:13:43.777312 7f1243fff6c0 Level-0 table #987: 0 bytes OK
2026/01/18-20:13:43.819988 7f1243fff6c0 Delete type=0 #985
2026/01/18-20:13:43.921486 7f1243fff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000639
MANIFEST-000986

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:22.297524 7f25b97fa6c0 Recovering log #637
2024/12/12-21:46:22.422030 7f25b97fa6c0 Delete type=3 #635
2024/12/12-21:46:22.422102 7f25b97fa6c0 Delete type=0 #637
2024/12/12-21:50:14.036330 7f25b2ffd6c0 Level-0 table #642: started
2024/12/12-21:50:14.036351 7f25b2ffd6c0 Level-0 table #642: 0 bytes OK
2024/12/12-21:50:14.042312 7f25b2ffd6c0 Delete type=0 #640
2024/12/12-21:50:14.062514 7f25b2ffd6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2024/12/12-21:50:14.062568 7f25b2ffd6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.822315 7f14d9ffb6c0 Recovering log #984
2026/01/19-19:47:49.833348 7f14d9ffb6c0 Delete type=3 #982
2026/01/19-19:47:49.833401 7f14d9ffb6c0 Delete type=0 #984
2026/01/19-20:19:02.619154 7f1243fff6c0 Level-0 table #989: started
2026/01/19-20:19:02.619176 7f1243fff6c0 Level-0 table #989: 0 bytes OK
2026/01/19-20:19:02.626822 7f1243fff6c0 Delete type=0 #987
2026/01/19-20:19:02.639748 7f1243fff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:44.902849 7f25b3fff6c0 Recovering log #633
2024/12/12-21:11:45.032391 7f25b3fff6c0 Delete type=3 #631
2024/12/12-21:11:45.032468 7f25b3fff6c0 Delete type=0 #633
2024/12/12-21:40:17.243571 7f25b2ffd6c0 Level-0 table #638: started
2024/12/12-21:40:17.243623 7f25b2ffd6c0 Level-0 table #638: 0 bytes OK
2024/12/12-21:40:17.249629 7f25b2ffd6c0 Delete type=0 #636
2024/12/12-21:40:17.269518 7f25b2ffd6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.269564 7f25b2ffd6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2026/01/18-20:07:48.004635 7f14d9ffb6c0 Recovering log #980
2026/01/18-20:07:48.021334 7f14d9ffb6c0 Delete type=3 #978
2026/01/18-20:07:48.021403 7f14d9ffb6c0 Delete type=0 #980
2026/01/18-20:13:44.336530 7f1243fff6c0 Level-0 table #985: started
2026/01/18-20:13:44.336556 7f1243fff6c0 Level-0 table #985: 0 bytes OK
2026/01/18-20:13:44.372711 7f1243fff6c0 Delete type=0 #983
2026/01/18-20:13:44.502487 7f1243fff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/equipment/000976.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000642
MANIFEST-000989

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:20.825829 7f25b97fa6c0 Recovering log #640
2024/12/12-21:46:20.946944 7f25b97fa6c0 Delete type=3 #638
2024/12/12-21:46:20.947007 7f25b97fa6c0 Delete type=0 #640
2024/12/12-21:50:13.961670 7f25b2ffd6c0 Level-0 table #645: started
2024/12/12-21:50:13.961702 7f25b2ffd6c0 Level-0 table #645: 0 bytes OK
2024/12/12-21:50:13.967794 7f25b2ffd6c0 Delete type=0 #643
2024/12/12-21:50:13.981101 7f25b2ffd6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2024/12/12-21:50:13.981151 7f25b2ffd6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.675978 7f14d8ff96c0 Recovering log #987
2026/01/19-19:47:49.685972 7f14d8ff96c0 Delete type=3 #985
2026/01/19-19:47:49.686034 7f14d8ff96c0 Delete type=0 #987
2026/01/19-20:19:02.553787 7f1243fff6c0 Level-0 table #992: started
2026/01/19-20:19:02.553814 7f1243fff6c0 Level-0 table #992: 0 bytes OK
2026/01/19-20:19:02.559887 7f1243fff6c0 Delete type=0 #990
2026/01/19-20:19:02.560019 7f1243fff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:43.327343 7f25b37fe6c0 Recovering log #636
2024/12/12-21:11:43.469585 7f25b37fe6c0 Delete type=3 #634
2024/12/12-21:11:43.469659 7f25b37fe6c0 Delete type=0 #636
2024/12/12-21:40:17.178441 7f25b2ffd6c0 Level-0 table #641: started
2024/12/12-21:40:17.178475 7f25b2ffd6c0 Level-0 table #641: 0 bytes OK
2024/12/12-21:40:17.185036 7f25b2ffd6c0 Delete type=0 #639
2024/12/12-21:40:17.191191 7f25b2ffd6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.191219 7f25b2ffd6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.766393 7f14d8ff96c0 Recovering log #983
2026/01/18-20:07:47.781538 7f14d8ff96c0 Delete type=3 #981
2026/01/18-20:07:47.781589 7f14d8ff96c0 Delete type=0 #983
2026/01/18-20:13:43.983716 7f1243fff6c0 Level-0 table #988: started
2026/01/18-20:13:43.983740 7f1243fff6c0 Level-0 table #988: 0 bytes OK
2026/01/18-20:13:44.023789 7f1243fff6c0 Delete type=0 #986
2026/01/18-20:13:44.053229 7f1243fff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000641
MANIFEST-000988

View File

@@ -1,8 +1,7 @@
2024/12/12-21:46:21.761604 7f25b97fa6c0 Recovering log #639
2024/12/12-21:46:21.881404 7f25b97fa6c0 Delete type=3 #637
2024/12/12-21:46:21.881471 7f25b97fa6c0 Delete type=0 #639
2024/12/12-21:50:14.014800 7f25b2ffd6c0 Level-0 table #644: started
2024/12/12-21:50:14.014827 7f25b2ffd6c0 Level-0 table #644: 0 bytes OK
2024/12/12-21:50:14.022468 7f25b2ffd6c0 Delete type=0 #642
2024/12/12-21:50:14.036201 7f25b2ffd6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2024/12/12-21:50:14.036225 7f25b2ffd6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2026/01/19-19:47:49.769389 7f14d8ff96c0 Recovering log #986
2026/01/19-19:47:49.779377 7f14d8ff96c0 Delete type=3 #984
2026/01/19-19:47:49.779429 7f14d8ff96c0 Delete type=0 #986
2026/01/19-20:19:02.593611 7f1243fff6c0 Level-0 table #991: started
2026/01/19-20:19:02.593633 7f1243fff6c0 Level-0 table #991: 0 bytes OK
2026/01/19-20:19:02.599673 7f1243fff6c0 Delete type=0 #989
2026/01/19-20:19:02.612871 7f1243fff6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,7 @@
2024/12/12-21:11:44.305269 7f25b3fff6c0 Recovering log #635
2024/12/12-21:11:44.453136 7f25b3fff6c0 Delete type=3 #633
2024/12/12-21:11:44.453199 7f25b3fff6c0 Delete type=0 #635
2024/12/12-21:40:17.224453 7f25b2ffd6c0 Level-0 table #640: started
2024/12/12-21:40:17.224477 7f25b2ffd6c0 Level-0 table #640: 0 bytes OK
2024/12/12-21:40:17.230480 7f25b2ffd6c0 Delete type=0 #638
2024/12/12-21:40:17.243407 7f25b2ffd6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2024/12/12-21:40:17.243464 7f25b2ffd6c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2026/01/18-20:07:47.909338 7f14d9ffb6c0 Recovering log #982
2026/01/18-20:07:47.941648 7f14d9ffb6c0 Delete type=3 #980
2026/01/18-20:07:47.941699 7f14d9ffb6c0 Delete type=0 #982
2026/01/18-20:13:44.233085 7f1243fff6c0 Level-0 table #987: started
2026/01/18-20:13:44.233108 7f1243fff6c0 Level-0 table #987: 0 bytes OK
2026/01/18-20:13:44.259693 7f1243fff6c0 Delete type=0 #985
2026/01/18-20:13:44.336426 7f1243fff6c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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