Compare commits

...

19 Commits

Author SHA1 Message Date
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
89bcc47b11 Ready for module !! 2024-12-12 21:50:28 +01:00
dda70636a1 New translalation 2024-12-02 15:26:59 +01:00
4f10ed46ac BOL : Prepare official module 2024-11-26 20:05:00 +01:00
e62868d775 Prepare content module 2024-11-15 23:46:11 +01:00
183 changed files with 872 additions and 720 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_UBERWALD}}"

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

@@ -0,0 +1,7 @@
{
"entries": {
"Anglais": "English",
"Français": "French",
"Commun": "Common"
}
}

View File

@@ -0,0 +1,172 @@
{
"label": "Gods&Traits",
"folders": {
"Dieux": "Gods",
"Pouvoirs Démoniaques": "Demonic Powers"
},
"mapping": {
"description": "system.description"
},
"entries": {
"Afyra, Deesse de la Vie": {
"name": "Afyra, Goddess of Life",
"description": "The Lady of Healing is worshipped by many physicians, and women everywhere who want children. She is the daughter of Hurm and Piandra. She is usually depicted as a young woman dressed in a sort shift and sandals with a garland of flowers about her neck."
},
"Charkond, Dieu de la Guerre et des Batailles": {
"name": "Charkond, God of War, Lord of Battle",
"description": "The son of Hurm and Lilandra is depicted as a black-skinned warrior, with four arms and four andrak legs. He is clad in a golden breastplate, wears helm and shield and is armed with a spear although he is skilled with any weapon. He generally represents the chaos of battle, rather than the skill of military strategy. As such he is worshipped mainly by mercenaries, berserkers, mariners, and raiders."
},
"Chiomalla, Deesse des Grains et des Moissons": {
"name": "Chiomalla, Goddess of Crops, Lady of the Harvest",
"description": "She is depicted as a mature but nonetheless attractive woman, usually dressed in a brown and green robe, carrying a sheaf of wheat and a staff. She is worshipped by farmers and anyone reliant upon grain or other crops for their livelihoods, such as innkeepers, bakers, and so on."
},
"Dyr, Dieu des Tempêtes et du Tonnerre": {
"name": "Dyr, God of Storms, the Thunder Lord",
"description": "A powerful god, Dyr is known to fly into rages for the most trivial of reasons. Dyr is depicted as a tall, muscular man wearing a mail shirt and a purple mantle. In battle he uses his halberd Jarnost (which was made by Yrzlak). Dyr is worshipped by just about everyone who is affected by stormy weather."
},
"Fillana, déesse des étoiles": {
"name": "Fillana, Goddess of the Stars",
"description": "The Lady of the Night Skies is worshipped by many who conduct their business at night and also by anyone reliant on the stars for navigation, such as whores, assassins, burglars, sailors, and sky-pilots."
},
"Fyrzon la Sentinelle, lInébranlable": {
"name": "Fyrzon the Sentinel, the Steadfast",
"description": "Also known as the Gate Keeper, Watcher of the Stairs. Fyrzon is often depicted as a man with the head of a bouphon, wielding a great iron mace named Mulkandrar. He is stalwart and true being able to stand for years without moving if needed. Once his feet are grounded, nothing can make him move. If you arent desired in Mezzechesh, you will not get past Fyrzon."
},
"Grondil, le dieu bâtisseur": {
"name": "Grondil the Builder God",
"description": "The god of Bricks and Buildings, the Stoneworker, Grondil is depicted as a muscular, bearded man, either carrying a hod of bricks or chiselling a lump of stone. He built the villa of Mezzechesh and is worshipped by architects, builders, masons, and by anyone who owns or rents their own building (almost all)."
},
"Hadron le Noir , seigneur du Néant": {
"name": "Hadron, Lord of the Void, the Dark One",
"description": "Worshipped by the Black Druids and the Sorcerer-Kings, he is usually depicted as an androgynous human-shaped patch of night sky with stars scattered throughout his form. However, he can assume any form he likes. Hadron has the power of destruction at his fingertips. He is the ruler of the Void, where the Dark Gods and demons are said to dwell."
},
"Hurm, le père des dieux, seigneur du ciel": {
"name": "Hurm, Father-God, God of the Sky",
"description": "The King of the Gods is depicted as a regal, mature man with a sturdy frame and dark beard, usually just wearing a belted leather kilt. He carries his royal sceptre in one hand and a bronze bell in the other. The bell is used to call all the other gods and goddesses to order, and has powers over men and beasts too. Hurm is worshipped by all."
},
"Iondal le débauché": {
"name": "Iondal the Carouser",
"description": "The Lord of Song and Debauchery is depicted as a pot-bellied man with a goblet in one hand and a haunch of meat in the other. There are usually naked women at his feet. His followers tend to be minstrels and bards, tavern-keepers, and decadent nobles."
},
"Karyzon, le seigneur des vents": {
"name": "Karyzon the Wind Lord",
"description": "The Messenger of the Gods is depicted as a handsome and athletic-looking youth, sometimes with feathered wings sprouting from his back, sometimes without, and often naked. Karyzon is worshipped by the Winged Folk, as well as by sailors and sky-pilots. Karyzon is the son of Nemmereth and Lilandra."
},
"Knothakon, dieu de la sagesse, seigneur des âges": {
"name": "Knothakon, God of Wisdom, Lord of Aeons",
"description": "Knothakon is depicted as a man in a white robe with a massive head that is far too big for his shrivelled body. His head grows as he stores more knowledge, but shrinks a little when he imparts some of this knowledge to others. He is worshipped by scribes and scholars everywhere."
},
"Lilandra la séductrice": {
"name": "Lilandra the Seductress",
"description": "The goddess of Love and Beauty is worshipped by many especially by courtesans and dancers. Lilandras temples tend to resemble very high- class brothels. She is depicted as a beautiful woman, and of all the goddesses most likely to appear nude or semi-nude. Poets praise the radiance of her smile and her laughter. Others appreciate her physical features rather more."
},
"Morgazzon, roi-démon de la folie": {
"name": "Morgazzon, The Demonlord of Madness",
"description": "Also, the Insane God. Worshipped by the Yellow Druids, Morgazzon is said to have one of his homes in the Festrel Swamp. Morgazzon often appears as a wild-eyed, long-bearded hermit in brown robes, although he sometimes appears as a shapeless mass of writhing tentacles with a yellow orb-like eye in the centre. Morgazzons followers are becoming highly ambitious of late, and are starting to appear in some of the cities of Lemuria."
},
"Nemmereth du long sommeil, dieu de la mort": {
"name": "Nemmereth of the Long Sleep, The Death God",
"description": "Worshipped by Lemurian priests in his guise as one of the Twenty Gods, Nemmereth is considered by Grey Druids to be a Dark God. He is brother to Hurm, with whom he had a falling out over Piandra, and was defeated in combat. He generally appears as a tall and kindly clean- shaven man wearing grey robes, although his other aspect (as a Dark Lord) has a skeletal form with maggots coming out of his eyes and mouth."
},
"Piandra, déesse de la chance, Dame Fortune": {
"name": "Piandra, The Goddess of Luck, Lady of Fortune",
"description": "She wears colourful patchwork garb and has dice in one hand and cards in the other. Piandra is worshipped by gamblers and anyone who needs a slice of luck when all other gods have failed them."
},
"Quathoomar, dieu du voyage": {
"name": "Quathoomar, Lord of Travel, The Pathfinder",
"description": "Originally a god of the Blue Giants, but now worshipped by many other travellers of all kinds. He appears as a huge Blue Giant that can stride over hills and mountains as if they are anthills. He carries a great wooden maul and wears a behemathon-hide tunic."
},
"SaTel, dieu des étoiles": {
"name": "SaTel, The God of Stars",
"description": "SaTel created the Star-Orb and sent it to earth for Yrzlak to forge the blade that he gave to Hrangarth to defeat the Sorcerer-Kings. He is usually depicted as a bright light or star, although he is sometimes pictured as a slim naked man of indeterminate age with deep black eyes."
},
"Shazzadion, dieu des mers": {
"name": "Shazzadion the Sea Lord",
"description": "God of the Oceans, Ruler of the Waves. He is depicted as an older ebony-skinned man with a grey beard and bald head. He wears a shimmering green tunic and carries a great spear. Shazzadion has a great sea-serpent called Fulca that he rides at great speed over the oceans, or that sometimes pulls his war galley. Shazzadions followers are sailors and pirates everywhere, and anyone who has to travel across the sea."
},
"Tharungozoth le massacreur, seigneur des souffrances": {
"name": "Tharungozoth the Slaughterer, the Pain Lord",
"description": "Tharungozoth is worshipped by the Black Druids and some torturers, gladiators, and slavers. He appears as a solid, broad-shouldered man with a black hood over his head and a black studded leather jerkin, wielding either a whip or an executioners axe sometimes both. He often has long iron nails sticking through his neck, shoulders, knees, elbows, and ankles."
},
"Yrzlak le dieu forgeron": {
"name": "Yrzlak the Godsmith",
"description": "The god that forged the Orb-Blade. His forge is within the volcano of Mount Kolvis. He is usually depicted as a great bearded man wearing a leather apron and with hammer, tongs and anvil the tools of a smith. He is sometimes shown riding an enormous black bouphon. Yrzlak is worshipped by blacksmiths, armourers, soldiers, and even some alchemists (who, as men of science, generally do not worship the gods)."
},
"Zaggath, seigneur du Feu": {
"name": "Zaggath, Lord of Fire",
"description": "He is worshipped by the Red Druids, and is said to reside on the Fire Coast where his devoted agent is Methyn Sarr, the Witch Queen. He appears as a man-form, immolated in bright red and orange fire."
},
"Zalkyr le Lumineux, dieu du soleil": {
"name": "Zalkyr the Bright, Lord of Light, Sun God",
"description": "Worshipped by all as he represents light, warmth and growth. He travels across the sky on either a chariot or a sky-boat (the latter being more common in Satarlan temples). In the Crimson Edda, Zalkyr is described as an aging king with golden flesh, silver bones, and hair of sunlight."
},
"Zylidith, seigneur du sang, dieu du sacrifice": {
"name": "Zylidith, Lord of Blood, God of the Sacrifice",
"description": "Worshipped by the Crimson Druids, Zylidith always requires his Druids to perform a human sacrifice to receive their spell benefits. He can appear as a gaunt naked man weeping blood, and sometimes as a monstrous and shapeless scarlet mass."
},
"Armes Améliorées": {
"name": "Enhanced Weaponry",
"description": "<p>The demon possesses some form of natural weaponry, such as claws, fangs, blades, beaks, clubbed tails, etc., or is more skilled at using normal weapons. The demon receives a bonus die to all Attack Rolls.</p>"
},
"Armure": {
"name": "Armour",
"description": "<p>The demon has bony plates, spines, thick hide, or other defences that provide protection against physical attacks. Protection is d6-2 (2).</p>"
},
"Attaques dévastatrices": {
"name": "Destructive Attacks",
"description": "<p>The demons attacks are particularly damaging. It causes the next higher damage level on the Beasts table (so a Greater Demon with this power causes d6 ×2 damage).</p>"
},
"Chair Malléable": {
"name": "Malleable Flesh",
"description": "<p>The demon is clay-like or squishy in a most disgusting way, and can form itself into weird shapes from completely flat, to amoeboid, to spherical, and can get into or out of any shackles or prison (except sorcerous ones).</p>"
},
"Cuirasssé": {
"name": "Heavily Armoured",
"description": "<p>This power provides d6 (4) protection, but at the cost of two Powers.</p>"
},
"Faculté de parole": {
"name": "Speech",
"description": "<p>The demon is capable of human speech</p>"
},
"Forme humaine": {
"name": "Human Form",
"description": "<p>The demon can take the shape of a human, but if injured or caused to fight, will normally morph back into its demonic form</p>"
},
"Intangible": {
"name": "Non-Corporeal",
"description": "<p>The demon lacks a physical body (in this dimension at least) and can only be harmed by sorcery or some alchemy</p>"
},
"Poison": {
"name": "Poison",
"description": "<p>The demon can exude a poisonous substance, which will immediately paralyse anything of man-size (medium) or smaller. Heroes get to make a Tough strength Task Roll to avoid paralysis. Once paralysed, the victim will die within an hour. Those affected get to make another Tough strength Task Roll to avoid death</p>"
},
"Progéniture": {
"name": "Offspring",
"description": "<p>The demon produces d6 offspring every week. They start as rabble for a week after spawning, advancing to Minor Demons, and then to Lesser Demons in another week, stopping at one level of demon lower than their sire so Minor Demons can only ever produce rabble.</p>"
},
"Régénération": {
"name": "Regeneration",
"description": "<p>The demon can regenerate a point of damage every round, and can remove the effects caused by a Precision Strike in two rounds.</p>"
},
"Savoir spécial": {
"name": "Special Knowledge",
"description": "<p>The demon has one career at rank 6.</p>"
},
"Séducteur": {
"name": "Seductive",
"description": "<p>The demon has unnatural appeal and can immediately make d6+6 rabble obey its orders to the letter. It can also seduce Heroes (who must make a mind-based Task Roll or become pliant to the demons requests).</p>"
},
"Sorcellerie": {
"name": "Sorcery",
"description": "<p>The demon can cast spells. Minor Demons have 2 Arcane Power, Lesser Demons have 5 Arcane Power, and Greater Demons have 10.</p>"
},
"Télépathie": {
"name": "Telepathy",
"description": "<p>The demon can implant messages and suggestions, as well as read minds</p>"
},
"Vulnérabilité": {
"name": "Vulnerability",
"description": "<p>In return for an extra Demonic Power, you can give a demon a weakness. The demon takes double damage from a particular source (magic, fire, electricity, iron, acid, etc.) or normal damage from a source that is not normally harmful to humans (sunlight, water, music, certain symbols, etc.)</p>"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"entries": {
"Créatures": "Creatures",
"Objets&Equipement": "Items & Equipment",
"Items d'Acteurs": "Actor Items"
}
}

View File

@@ -6,27 +6,27 @@
"entries": {
"Armure légère": {
"name": "Armure légère",
"name": "Light Armour",
"description": "<h1>Light Armour</h1><p>If your character prefers to avoid combat but knows that he is likely to be involved all the same, you might like your character to have some minimal protection. Light armour could represent extensive body coverage in soft leathers, or less coverage in thicker leather, or even light mail. So your character could wear a stout leather jerkin with leather vambraces, or a padded cloth doublet, leather boots and gloves. Or you could say that your light armour consists of a light mail shirt and nothing else.</p><p>Light armour is generally concealable (except on close inspection or by a seasoned soldier) and doesnt mark you out specifically as a warrior.</p><h2>Light armour effects</h2><ul><li>Roll a d6-3 (0-3 points of damage reduction).</li><li>If you prefer static numbers, light armour absorbs 1 point of damage.</li><li>Wearing light armour restricts magicians and imposes an extra 1 Arcane Point cost on a spell casting.</li></ul>"
},
"Armure lourde": {
"name": "Armure lourde",
"name": "Heavy Armour",
"description": "<h1>Heavy Armour</h1><p>This armour is worn by some gladiators, knights going into battle, or those expecting to participate in deadly combat in the near future. It is not worn all day long, and is certainly not worn when travelling or going about normal daily activities. Heavy armour would represent extensive coverage of mail, such as a knee- length hauberk, with gauntlets and greaves, or a steel breastplate with vambraces and greaves, or possibly a brigandine (leather coat with steel inserts) with gauntlets and boots.</p><p>Someone in heavy armour can usually remove portions of their armour to reduce it to medium armour, as necessary.</p><p>If your strength is below 0, you cant wear heavy armour at all (at least you cant do anything worthwhile whilst wearing it).</p><h2>Heavy armour effects</h2><ul><li>roll a d6-1 (0-5 points of damage reduction).</li><li>If you prefer static numbers, heavy armour absorbs 3 points of damage.</li><li>Heavy armour slows you down, so reduce agility by 2 whilst wearing it.</li><li>Wearing heavy armour restricts magicians and imposes an extra 3 Arcane Points cost on a spell casting.</li></ul>"
},
"Armure moyenne": {
"name": "Armure moyenne",
"name": "Medium Armour",
"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": {
"name": "Grand bouclier",
"name": "Large shield",
"description": "<h1>Large shield</h1><p>Large shields give +1 to defence against all attacks that you are aware of, but modify your agility by -1.</p>"
},
"Petit bouclier": {
"name": "Petit bouclier",
"name": "Small Shield",
"description": "<h1>Small Shield</h1><p>Small shields give +1 to defence against one attack per round that you are aware of.</p>"
}
}

View File

@@ -1,33 +1,41 @@
{
"label": "Avantages/Désavantages de Créatures",
"label": "Creatures Traits",
"mapping": {
"description": "system.description"
},
"entries": {
"Attaque féroce": {
"name": "Ferocious Attack"
"name": "Ferocious Attack",
"description": "<p>Roll a bonus die for the beasts Attack Roll.</p>"
},
"Attaque Multiple": {
"name": "Multiple Attacks"
"name": "Multiple Attacks",
"description": "<p>The beast has two completely different modes of attack that require separate Attack Rolls (e.g. claws and pincers, many tentacles).</p>"
},
"Attaque Spéciale": {
"name": "Special Attack"
"name": "Special Attack",
"description": "<p>The creature has an unusual method of attack. The nature of the attack is described in the creature description.</p>"
},
"Attaque Timide": {
"name": "Docile Attack"
"name": "Docile Attack",
"description": "<p>Penalty die for the beasts attack.</p>"
},
"Attaque Venimeuse": {
"name": "Venomous Attack"
"name": "Venomous Attack",
"description": "<p>The individual creature description sets out the poisonous effects.</p>"
},
"Camouflage": {
"name": "Camouflage"
"name": "Camouflage",
"description": "<p>The creature is hard to spot, mostly due to colouration or texture of its skin or fur.</p>"
},
"Déficience": {
"name": "Poor ..."
"name": "Poor ...",
"description": "<p>The creature is deficient in scent, hearing or eyesight, as set out in the description.</p>"
},
"Prédateur": {
"name": "Excellent Hunter"
"name": "Excellent Hunter",
"description": "<p>Roll a bonus die for tracking.</p>"
}
}
}

View File

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

View File

@@ -1,129 +1,40 @@
{
"label": "Options de Combat",
"label": "Combat Options",
"mapping": {
"description": "system.description"
},
"entries": {
"LOeil du Chasseur (Viser)": {
"name": "LOeil du Chasseur (Viser)",
"description": "<p>Armes de jet ou de tir uniquement. Vous passez le round &agrave; viser. Vous b&eacute;n&eacute;ficiez d&rsquo;un bonus de +2 &agrave; votre prochain jet de tir ou de lancer.</p>"
},
"Loeil du Mercenaire (Observer)": {
"name": "Loeil du Mercenaire (Observer)",
"description": "<p>Vous observez attentivement l&rsquo;un des adversaires ou un groupe d&rsquo;adversaires similaires. Vous ne<br>portez pas d&rsquo;attaque.</p>\n<p>Si vous r&eacute;ussissez un jet d&rsquo;Esprit + Carri&egrave;re &nbsp;guerri&egrave;re (mercenaire, soldat, etc.) en observant l&rsquo;adversaire, vous pouvez donner un bonus de +2 &agrave; l&rsquo;attaque ou &agrave; la d&eacute;fense &agrave; l&rsquo;un de vos alli&eacute; contre ce m&ecirc;me adversaire pour sa prochaine action de ce type. Une seule assistance peut &ecirc;tre obtenue pour un m&ecirc;me adversaire.</p>"
},
"La Corde de Tyrus (Arc de Tyrus)": {
"name": "La Corde de Tyrus (Arc de Tyrus)",
"description": "<p>Uniquement avec un arc long de Tyrus. Vous tendez la corde si fort que votre fl&egrave;che porte plus loin.</p>\n<p>Votre attaque souffre d&rsquo;un malus de -2, mais si elle r&eacute;ussit, vous doublez la distance de tir de l&rsquo;Arc (44m au lieu de 22m).</p>"
},
"La Danseuse (Combat à Deux Armes - Défensif)": {
"name": "La Danseuse (Combat à Deux Armes - Défensif)",
"description": "<p>Vous ne pouvez utiliser que des armes l&eacute;g&egrave;res&nbsp;ou moyennes.</p>\n<p>Vous attaquez avec une arme et parez avec l&rsquo;autre. Vous consid&eacute;rez l&rsquo;arme de parade comme l&rsquo;&eacute;quivalent d&rsquo;un petit bouclier (+1 en d&eacute;fense contre une attaque), mais vous subissez un malus de -1 sur votre jet d&rsquo;attaque avec votre autre arme.</p>"
"name": "Two-Weapon Fighting (Defensive)",
"description": "<p>You can only use light or medium weapons. Generally, you will attack with one and block with the other, or attack with both. In the first instance, you can treat the parrying weapon like a small shield (+1 to defence against one attack), but you get -1 to your Attack Roll. If attacking with both, your Attack Roll is at -1, but you cause damage as if wielding a medium weapon (if using two light weapons), or as a large weapon (if using at least one medium weapon). In other words, using two weapons increases your chance of causing more damage you dont roll to attack with each weapon individually.</p>"
},
"La Feinte du Druide (Attaque au Défaut d'armure)": {
"name": "La Feinte du Druide (Attaque au Défaut d'armure)",
"description": "<p>Vous visez une zone du corps non prot&eacute;g&eacute;e ou&nbsp;un point faible de l&rsquo;armure de votre adversaire.</p>\n<p>Appliquez la valeur de protection fixe de l&rsquo;armure comme malus &agrave; votre jet d&rsquo;attaque (-1 pour une armure l&eacute;g&egrave;re, -2 pour une armure moyenne et -3 pour une armure lourde). Si votre attaque passe malgr&eacute; ce malus, les d&eacute;g&acirc;ts de votre coup ignorent la protection de l&rsquo;armure.</p>\n<p>Si le MJ l&rsquo;accepte, cette option de combat pourra &eacute;galement permettre de trouver le d&eacute;faut de l&rsquo;armure naturelle d&rsquo;une cr&eacute;ature.</p>"
},
"La Folie de Dyr (Occuper)": {
"name": "La Folie de Dyr (Occuper)",
"description": "<p>Vous faites tournoyer votre arme dans tout les sens, pour faire reculer votre adversaire.</p>\n<p>Votre attaque re&ccedil;oit un malus suppl&eacute;mentaire de -1 et n&rsquo;occasionne pas de d&eacute;g&acirc;ts. En cas<br>de succ&egrave;s, votre adversaire ne peut pas attaquer ce round. Uniquement sur des adversaires au maximum de de taille sup&eacute;rieure d&rsquo;un cran &agrave; la v&ocirc;tre.</p>"
"name": "Bypass Armour",
"description": "<p>You are aiming for a weak or unarmoured area of your opponent. Just take the static armour rating as an additional negative modifier to the Attack Roll (-1 for light armour, -2 for medium and -3 for heavy). It is up to the GM whether this rule is extended to bypassing the natural armour of creatures.</p>"
},
"La Folie du Gladiateur (Attaque Intrépide)": {
"name": "La Folie du Gladiateur (Attaque Intrépide)",
"description": "<p>Vous attaquez avec la plus extr&ecirc;me t&eacute;m&eacute;rit&eacute;.</p>\n<p>Vous ne b&eacute;n&eacute;ficiez pas de l&rsquo;&eacute;ventuel bonus d&rsquo;un&nbsp;bouclier ou d&rsquo;une arme secondaire de parade et subissez un malus de -2 &agrave; la d&eacute;fense. En revanche,&nbsp;vous b&eacute;n&eacute;ficiez d&rsquo;un bonus de +2 au jet d&rsquo;attaque.</p>"
},
"La Force de Grondil (Frappe Brutale)": {
"name": "La Force de Grondil (Frappe Brutale)",
"description": "<p>Vous placez une attaque brutale, sans finesse, mais avec toute votre force. Uniquement avec des armes moyenne ou plus (minimum d6 d&eacute;g&acirc;ts).</p>\n<p>Votre attaque souffre d&rsquo;un malus de -2, mais si elle r&eacute;ussit, vous pouvez ajouter la moiti&eacute; de votre Vigueur pour le calcul des d&eacute;g&acirc;ts (minimum 1). Ce bonus vient en plus du bonus de Vigueur de base d&eacute;j&agrave; applicable.</p>"
"name": "All-Out Attack",
"description": "<p>You may adopt a reckless approach this means that you cannot use your shield or off-hand parrying weapon at all, and you receive a -2 defence against all attacks aimed at you. However, you do receive a +2 bonus to your Attack Roll.</p>"
},
"La Frappe Lémurienne (Attaque Standard)": {
"name": "La Frappe Lémurienne (Attaque Standard)",
"description": "<p>Vous portez une attaque &agrave; votre adversaire, avec votre arme. Au contact ou &agrave; distance.</p>"
},
"La Fureur de Charkond (Intimider)": {
"name": "La Fureur de Charkond (Intimider)",
"description": "<p>Vous faites une man&oelig;uvre physique dans l&rsquo;objectif d&rsquo;impressionner votre adversaire en lieu et place de votre attaque.</p>\n<p>Si vous r&eacute;ussissez un test de Vigueur+M&ecirc;l&eacute;e, avec l&rsquo;Esprit de votre cible en malus, elle subit un malus de -2 sur tout ses tests d&rsquo;attaque pour le reste du round. Ne fonctionne que sur un adversaire sur lequel l&rsquo;Intimidation est applicable, donc en g&eacute;n&eacute;ral ne fonctionne pas sur les cr&eacute;atures.</p>"
},
"La Main dAfyra (Se Reposer)": {
"name": "La Main dAfyra (Se Reposer)",
"description": "<p>Vous restez au contact de votre adversaire, mais vous vous concentrez sur vous-m&ecirc;me. Vous<br>ne pouvez pas attaquer ce round.</p>\n<p>Si vous r&eacute;ussissez un jet de Vigueur, vous r&eacute;cup&eacute;rez 2 Points de Vitalit&eacute;, 4 sur un succ&egrave;s H&eacute;ro&iuml;que. Ces points ne peuvent &ecirc;tre r&eacute;cup&eacute;r&eacute;s que si ils ont &eacute;t&eacute; perdus lors du combat en cours.</p>"
},
"La Parade de lErudit (Défense Totale)": {
"name": "La Parade de lErudit (Défense Totale)",
"description": "<p>Vous consacrez votre round &agrave; esquiver, parer et vous prot&eacute;ger des coups. Vous n&rsquo; effectuez pas d&rsquo;attaque durant le round, mais b&eacute;n&eacute;ficiez d&rsquo;un bonus de +2 en d&eacute;fense, qui s&rsquo;ajoute &eacute;ventuellement &agrave; celui que pourrait vous apporter un bouclier ou une arme secondaire de parade.</p>"
},
"La Passe de Charkond (Feinte)": {
"name": "La Passe de Charkond (Feinte)",
"description": "<p>Vous placez une botte sp&eacute;ciale, pour tromper et profiter de la d&eacute;fense de votre adversaire. Uniquement possible avec un dague ou une arme de type &eacute;p&eacute;e (sabre, cimeterre, etc.).</p>\n<p>Si vous r&eacute;ussissez un jet d&rsquo;Esprit +Carri&egrave;re guerri&egrave;re (mercenaire, soldat, etc.) en plus de votre<br>attaque, la d&eacute;fense de votre adversaire s&rsquo;ajoute &agrave; vos d&eacute;g&acirc;ts.</p>"
},
"La Passe de lAssassin (Avantage)": {
"name": "La Passe de lAssassin (Avantage)",
"description": "<p>Vous vous placez de mani&egrave;re &agrave; obtenir &nbsp;une &nbsp;position &nbsp;plus avantageuse pour portez vos attaques.</p>\n<p>En plus de votre attaque normale, vous devez r&eacute;ussir un jet de R&eacute;action (Esprit+Initiative). Sur une<br>r&eacute;ussite, vous b&eacute;n&eacute;ficiez d&rsquo;un d&eacute; bonus pour votre prochaine attaque. Si vous renoncez &agrave; votre attaque, vous b&eacute;n&eacute;ficiez d&rsquo;un bonus de +2 pour le jet de R&eacute;action. Sur un &eacute;chec, c&rsquo;est votre adversaire qui b&eacute;n&eacute;ficie d&rsquo;un d&eacute; bonus pour sa prochaine attaque.</p>"
},
"La Passe du Khastok": {
"name": "La Passe du Khastok",
"description": "<p>Uniquement avec un Khastok de Malakut. Vous fauchez les jambes (ou les membres inf&eacute;rieurs) de<br>votre adversaire.</p>\n<p>Votre attaque souffre d&rsquo;un malus de -2, mais si elle occasionne des d&eacute;g&acirc;ts, la cible doit r&eacute;ussir un test d&rsquo;Agilit&eacute;, avec votre score de M&ecirc;l&eacute;e en malus ou tomber au sol.</p>"
"name": "Full Defence",
"description": "<p>You can dodge, block, parry or otherwise act completely defensively in the round. If you do this, you dont get to attack in the round, but instead get +2 to your effective defence for all attacks directed at you, on top of anything you get for a shield or off-hand parrying weapon.</p>"
},
"La pose de lEsclave (Posture Défensive)": {
"name": "La pose de lEsclave (Posture Défensive)",
"description": "<p>Vous choisissez d&rsquo;adopter une attitude prudente, en restant toujours pr&ecirc;t &agrave; parer ou &agrave; esquiver l&rsquo;attaque de votre adversaire. Combattre en posture d&eacute;fensive vous conf&egrave;re un bonus de +1 en d&eacute;fense, mais vous subissez un malus de -1 &agrave; votre jet d&rsquo;attaque.</p>"
"name": "Defensive Stance",
"description": "<p>You can choose to adopt a wary approach, readying yourself to block or evade a blow. Taking a defensive stance gives you +1 to your defence but -1 to your Attack Roll.</p>"
},
"La Rage du Barbare (Posture Offensive)": {
"name": "La Rage du Barbare (Posture Offensive)",
"description": "<p>Vous vous concentrez sur l&rsquo;attaque, au d&eacute;triment&nbsp;de votre d&eacute;fense. Cette option vous conf&egrave;re un bonus de +1 au jet d&rsquo;attaque, mais vous subissez un malus de -1 en d&eacute;fense.</p>"
},
"La Ruade de lAxos (Déséquilibrer)": {
"name": "La Ruade de lAxos (Déséquilibrer)",
"description": "<p>Vous cherchez &agrave; d&eacute;s&eacute;quilibrer votre adversaire. Vous ne portez pas d&rsquo;attaque.</p>\n<p>Si vous r&eacute;ussissez un jet de R&eacute;action (Esprit+Initiative) avec l&rsquo;Agilit&eacute; de votre cible comme malus, elle re&ccedil;oit un d&eacute; malus pour sa prochaine action et un malus de -1 en d&eacute;fense sur la prochaine attaque. Sur un succ&egrave;s h&eacute;ro&iuml;que et que votre cible est de la pi&eacute;taille ou un coriace, elle tombe au sol.</p>"
},
"La Vengeance du Valgard (Epee Valgardienne)": {
"name": "La Vengeance du Valgard (Epee Valgardienne)",
"description": "<p>Uniquement avec une &eacute;p&eacute;e Valgardienne. Si vous avez subit des d&eacute;g&acirc;ts lors de l&rsquo;attaque pr&eacute;c&eacute;dente, vous profitez du poids de votre arme pour appuyer votre coup.</p>\n<p>Si vous avez perdu des Points de Vitalit&eacute; &nbsp;lors &nbsp;de &nbsp;l&rsquo;attaque pr&eacute;c&eacute;dente, vous pouvez faire un<br>jet de Vigueur+Barbare en plus de votre attaque. Si les deux jets sont r&eacute;ussis, vous augmentez les d&eacute;g&acirc;ts de 2 points. Si seule l&rsquo;attaque est r&eacute;ussi, appliquez les d&eacute;g&acirc;ts normaux.</p>"
},
"Le Coup de Mangaï (Entraver - Fouet)": {
"name": "Le Coup de Mangaï (Entraver - Fouet)",
"description": "<p>Uniquement avec un fouet. Vous fouettez votre adversaire pour le g&ecirc;ner et l&rsquo;entraver.</p>\n<p>Votre attaque souffre d&rsquo;un malus de -2, mais si elle r&eacute;ussit, votre fouet s&rsquo;enroule autour d&rsquo;un membre de votre cible. Tant que vous maintenez le fouet, elle subit un malus de -2 pour toutes ses actions, et -1 en d&eacute;fense. En lieu et place d&rsquo;une attaque, la cible peut tenter de se lib&eacute;rer en r&eacute;ussissant un jet de Vigueur+Initiative, avec votre Vigueur en malus.</p>"
"name": "Offensive Stance",
"description": "<p>You can choose to pay less attention to attacks against you in an effort to ensure you hit your target. This gives you +1 to your Attack Roll, but -1 to your defence.</p>"
},
"Le Coup du Gladiateur (Combat à Deux Armes - Offensif)": {
"name": "Le Coup du Gladiateur (Combat à Deux Armes - Offensif)",
"description": "<p>Vous ne pouvez utiliser que des armes l&eacute;g&egrave;res&nbsp;ou moyennes.</p>\n<p><span style=\"font-family: var(--font-primary); font-size: var(--font-size-14);\">Vous attaquez avec vos deux armes. </span><span style=\"font-family: var(--font-primary); font-size: var(--font-size-14);\">Vous n&rsquo;effectuez qu&rsquo;un seul jet d&rsquo;attaque avec un </span>malus de -1, mais vous infligez des d&eacute;g&acirc;ts comme&nbsp;si vous maniez une arme moyenne (si vous utilisez deux armes l&eacute;g&egrave;res) ou une arme lourde (si vous&nbsp;utilisez une arme moyenne et une arme l&eacute;g&egrave;re, ou deux armes moyennes).</p>"
},
"Le Coup du Soldat (Désarmer)": {
"name": "Le Coup du Soldat (Désarmer)",
"description": "<p>Vous ne pouvez utiliser que des armes l&eacute;g&egrave;res ou moyennes. Vous visez l&rsquo;arme de votre adversaire<br>pour la faire tomber.</p>\n<p>Vous portez une attaque sur l&rsquo;arme, avec pour malus l&rsquo;Agilit&eacute;+M&ecirc;l&eacute;e de votre adversaire. En cas de r&eacute;ussite, l&rsquo;arme vis&eacute;e tombe au sol &agrave; 1d6-2 m&egrave;tres de votre opposant.</p>"
},
"Le Dit de Iondal (Moquer)": {
"name": "Le Dit de Iondal (Moquer)",
"description": "<p>Vous moquez votre adversaire avec une phrase bien sentie.</p>\n<p>Si vous r&eacute;ussissez un test d&rsquo;Esprit+Carri&egrave;re appropri&eacute;e, avec l&rsquo;Esprit de votre cible en malus, elle<br>subit un malus de -2 en d&eacute;fense pour le reste du round.</p>"
},
"Le Doigt de Karyzon (Tir x2)": {
"name": "Le Doigt de Karyzon (Tir x2)",
"description": "<p>Vous encha&icirc;nez 2 tirs au lieu d&rsquo;un, sans pr&eacute;cision. Uniquement avec armes de jet et arcs.</p>\n<p>Vous tirez (ou lancer) tr&egrave;s rapidement, sans pr&eacute;cision, sur la m&ecirc;me cible. Chaque tir/lancer souffre d&rsquo;un malus de -2.</p>"
},
"Le Halakh-Kriss (Spéciale Kriss)": {
"name": "Le Halakh-Kriss (Spéciale Kriss)",
"description": "<p>Uniquement avec un Kriss d&rsquo;Halakh. Vous portez un coup vicieux &agrave; votre adversaire.</p>\n<p>Votre attaque souffre d&rsquo;un malus de -1, mais si elle r&eacute;ussit, vous augmentez les d&eacute;g&acirc;ts de 1 point.</p>"
},
"Le Plomb de lAxos (Fronde Axos)": {
"name": "Le Plomb de lAxos (Fronde Axos)",
"description": "<p>Uniquement avec une Fronde de l&rsquo;Axos. Vous faites tournoyer votre fronde &agrave; grande vitesse.</p>\n<p>Votre tir souffre d&rsquo;un malus de -2, mais vos d&eacute;g&acirc;ts b&eacute;n&eacute;ficient de la vigueur enti&egrave;re &agrave; la place de la moiti&eacute; de la Vigueur.</p>"
},
"Le Saut du Voleur (Distraire)": {
"name": "Le Saut du Voleur (Distraire)",
"description": "<p>Vous faites une man&oelig;uvre ayant pour &nbsp;objectif de distraire l&rsquo;adversaire. Vous ne portez pas<br>d&rsquo;attaque.</p>\n<p>Si vous r&eacute;ussissez un test de R&eacute;action (Esprit+Initiative) avec l&rsquo;Esprit de votre cible en malus, elle<br>subit un malus de -1 pour toutes ses actions dans le round en cours.</p>"
},
"Le Trait du Beshaar (Javelot)": {
"name": "Le Trait du Beshaar (Javelot)",
"description": "<p>Uniquement avec un Javelot. Vous lancez votre javelot &agrave; une distance plus grande que la plupart des<br>autres aventuriers.</p>\n<p>Votre tir souffre d&rsquo;un malus de -1, mais la port&eacute;e du javelot est doubl&eacute;e (12m au lieu de 6m).</p>"
},
"Le Tranchant de Parsool (Hache de Parsool)": {
"name": "Le Tranchant de Parsool (Hache de Parsool)",
"description": "<p>Uniquement avec une Hache d&rsquo;Abordage de Parsool. Vous placez une attaque visant l&rsquo;armure de votre adversaire pour la d&eacute;truire.</p>\n<p>Votre attaque souffre d&rsquo;un malus de -1, mais si elle r&eacute;ussit, vous faites sauter une pi&egrave;ce d&rsquo;armure de votre adversaire au lieu de faire des d&eacute;g&acirc;ts. L&rsquo;armure touch&eacute;e se d&eacute;grade d&rsquo;un rang de protection. Uniquement valable sur des adversaires portant une armure artificielle.</p>"
},
"Les Poignards de Karyzon (Lancer x2)": {
"name": "Les Poignards de Karyzon (Lancer x2)",
"description": "<p>Uniquement avec deux Couteaux ou Poignards de lancer. Arm&eacute; d&rsquo;un Poignard dans chaque main, vous<br>les lancez sur 2 cibles diff&eacute;rentes en m&ecirc;me temps</p>\n<p>Chaque attaque &nbsp;est &nbsp;r&eacute;solue s&eacute;par&eacute;ment et souffre d&rsquo;un malus de -2.</p>"
"name": "Two-Weapon Fighting (Offensive)",
"description": "<p>You can only use light or medium weapons. Generally, you will attack with one and block with the other, or attack with both. In the first instance, you can treat the parrying weapon like a small shield (+1 to defence against one attack), but you get -1 to your Attack Roll. If attacking with both, your Attack Roll is at -1, but you cause damage as if wielding a medium weapon (if using two light weapons), or as a large weapon (if using at least one medium weapon). In other words, using two weapons increases your chance of causing more damage you dont roll to attack with each weapon individually.</p>"
}
}
}

View File

@@ -0,0 +1,68 @@
{
"label": "Options de Combat (Fan Made)",
"entries": {
"LOeil du Chasseur (Viser)": {
"name": "LOeil du Chasseur (Viser)"
},
"Loeil du Mercenaire (Observer)": {
"name": "Loeil du Mercenaire (Observer)"
},
"La Corde de Tyrus (Arc de Tyrus)": {
"name": "La Corde de Tyrus (Arc de Tyrus)"
},
"La Folie de Dyr (Occuper)": {
"name": "La Folie de Dyr (Occuper)"
},
"La Force de Grondil (Frappe Brutale)": {
"name": "La Force de Grondil (Frappe Brutale)"
},
"La Fureur de Charkond (Intimider)": {
"name": "La Fureur de Charkond (Intimider)"
},
"La Main dAfyra (Se Reposer)": {
"name": "La Main dAfyra (Se Reposer)"
},
"La Passe de lAssassin (Avantage)": {
"name": "La Passe de lAssassin (Avantage)"
},
"La Passe du Khastok": {
"name": "La Passe du Khastok"
},
"La Ruade de lAxos (Déséquilibrer)": {
"name": "La Ruade de lAxos (Déséquilibrer)"
},
"La Vengeance du Valgard (Epee Valgardienne)": {
"name": "La Vengeance du Valgard (Epee Valgardienne)"
},
"Le Coup de Mangaï (Entraver - Fouet)": {
"name": "Le Coup de Mangaï (Entraver - Fouet)"
},
"Le Coup du Soldat (Désarmer)": {
"name": "Le Coup du Soldat (Désarmer)"
},
"Le Dit de Iondal (Moquer)": {
"name": "Le Dit de Iondal (Moquer)"
},
"Le Doigt de Karyzon (Tir x2)": {
"name": "Le Doigt de Karyzon (Tir x2)"
},
"Le Halakh-Kriss (Spéciale Kriss)": {
"name": "Le Halakh-Kriss (Spéciale Kriss)"
},
"Le Plomb de lAxos (Fronde Axos)": {
"name": "Le Plomb de lAxos (Fronde Axos)"
},
"Le Saut du Voleur (Distraire)": {
"name": "Le Saut du Voleur (Distraire)"
},
"Le Trait du Beshaar (Javelot)": {
"name": "Le Trait du Beshaar (Javelot)"
},
"Le Tranchant de Parsool (Hache de Parsool)": {
"name": "Le Tranchant de Parsool (Hache de Parsool)"
},
"Les Poignards de Karyzon (Lancer x2)": {
"name": "Les Poignards de Karyzon (Lancer x2)"
}
}
}

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

@@ -1,105 +0,0 @@
{
"label": "Dieux",
"mapping": {
"description": "system.description"
},
"entries": {
"Afyra, Deesse de la Vie": {
"name": "Afyra, Goddess of Life",
"description": ""
},
"Charkond, Dieu de la Guerre et des Batailles": {
"name": "Charkond, God of War, Lord of Battle",
"description": ""
},
"Chiomalla, Deesse des Grains et des Moissons": {
"name": "Chiomalla, Goddess of Crops, Lady of the Harvest",
"description": ""
},
"Dyr, Dieu des Tempêtes et du Tonnerre": {
"name": "Dyr, God of Storms, the Thunder Lord",
"description": ""
},
"Fillana, déesse des étoiles": {
"name": "Fillana, Goddess of the Stars",
"description": ""
},
"Fyrzon la Sentinelle, lInébranlable": {
"name": "Fyrzon the Sentinel, the Steadfast",
"description": ""
},
"Grondil, le dieu bâtisseur": {
"name": "Grondil the Builder God",
"description": ""
},
"Hadron le Noir , seigneur du Néant": {
"name": "Hadron, Lord of the Void, the Dark One",
"description": ""
},
"Hurm, le père des dieux, seigneur du ciel": {
"name": "Hurm, Father-God, God of the Sky",
"description": ""
},
"Iondal le débauché": {
"name": "Iondal the Carouser",
"description": ""
},
"Karyzon, le seigneur des vents": {
"name": "Karyzon the Wind Lord",
"description": ""
},
"Knothakon, dieu de la sagesse, seigneur des âges": {
"name": "Knothakon, God of Wisdom, Lord of Aeons",
"description": ""
},
"Lilandra la séductrice": {
"name": "Lilandra the Seductress",
"description": ""
},
"Morgazzon, roi-démon de la folie": {
"name": "Morgazzon, The Demonlord of Madness",
"description": ""
},
"Nemmereth du long sommeil, dieu de la mort": {
"name": "Nemmereth of the Long Sleep, The Death God",
"description": ""
},
"Piandra, déesse de la chance, Dame Fortune": {
"name": "Piandra, The Goddess of Luck, Lady of Fortune",
"description": ""
},
"Quathoomar, dieu du voyage": {
"name": "Quathoomar, Lord of Travel, The Pathfinder",
"description": ""
},
"SaTel, dieu des étoiles": {
"name": "SaTel, The God of Stars",
"description": ""
},
"Shazzadion, dieu des mers": {
"name": "Shazzadion the Sea Lord",
"description": ""
},
"Tharungozoth le massacreur, seigneur des souffrances": {
"name": "Tharungozoth the Slaughterer, the Pain Lord",
"description": ""
},
"Yrzlak le dieu forgeron": {
"name": "Yrzlak the Godsmith",
"description": ""
},
"Zaggath, seigneur du Feu": {
"name": "Zaggath, Lord of Fire",
"description": ""
},
"Zalkyr le Lumineux, dieu du soleil": {
"name": "Zalkyr the Bright, Lord of Light, Sun God",
"description": ""
},
"Zylidith, seigneur du sang, dieu du sacrifice": {
"name": "Zylidith, Lord of Blood, God of the Sacrifice",
"description": ""
}
}
}

View File

@@ -1,5 +1,5 @@
{
"label": "Langues",
"label": "Languages",
"mapping": {
"description": "system.description"
},

View File

@@ -1,5 +1,5 @@
{
"label": "Origines",
"label": "Origins",
"mapping": {
"description": "system.description"
},
@@ -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

@@ -1,5 +1,5 @@
{
"label": "Alchimie - Potions",
"label": "Alchemy - Potions",
"mapping": {
"description": "system.description"
},

View File

@@ -1,13 +1,13 @@
{
"label": "Sorts",
"label": "Spells",
"mapping": {
"description": "system.description"
},
"entries": {
"Arme Démoniaque": {
"name": "Arme Démoniaque",
"description": "<p>Description</p>\n<p>Permet d&rsquo;animer une arme de corps &agrave; corps qui s&rsquo;attaque&nbsp;aux ennemis du sorcier en ob&eacute;issant &agrave; ses injonctions&nbsp;mentales.</p>\n<p>Effet</p>\n<p>Les jets d&rsquo;attaque et de d&eacute;g&acirc;ts de l&rsquo;arme sont r&eacute;alis&eacute;s avec&nbsp;l&rsquo;esprit du sorcier et non son agilit&eacute; et sa vigueur.</p>"
"name": "Demonic Blade",
"description": "<p>Description</p>\n<p>This spell animates a sword or other melee weapon, causing it to fight the magicians foes as he directs it with his mental commands. It attacks with the magicians mind replacing either agility or strength (the magicians choice) for the purposes of the Attack Roll and Priority Roll or damage.</p>\n<p>This spell always requires Line of Sight</p><p>The spell requires a melee weapon to be available.</p><p>• This spell often requires Obvious Technique.</p>"
},
"Caresse de Zaggath": {
"name": "Caresse de Zaggath",
@@ -18,8 +18,8 @@
"description": "<p>Description</p>\n<p>Permet de projeter un javelot de flammes magiques sur la&nbsp;cible.</p>\n<p>Effet</p>\n<p>Le sorcier r&eacute;alise un test de tir classique. En cas de r&eacute;ussite,&nbsp;le javelot inflige d6B points de d&eacute;g&acirc;ts. Si le r&eacute;sultat du d&eacute; de&nbsp;d&eacute;g&acirc;t est un 6, la cible s&rsquo;enflamme.</p>"
},
"Mauvais Oeil": {
"name": "Mauvais Oeil",
"description": "<p>Description</p>\n<p>Permet d&rsquo;infliger &agrave; la cible une mal&eacute;diction qui affecte sa&nbsp;capacit&eacute; d&rsquo;agir.</p>\n<p>Effet</p>\n<p>La victime re&ccedil;oit 1 d&eacute; malus sur tous ses jets d&rsquo;action&nbsp;pendant la dur&eacute;e du sortil&egrave;ge. La difficult&eacute; est modifi&eacute;e par l'Esprit de la cible.</p>"
"name": "Evil Eye",
"description": "<p>Description</p>\n<p>The magician can cause the target to suffer a curse that affects his ability to perform any normal actions. It gives the target a flaw on all actions whilst affected by the curse (that is, he adds a penalty die for all Task Rolls)</p><p>This spell always requires Line of Sight.</p><p>The targets mind is always used to modify the difficulty.</p>"
}
}
}

View File

@@ -1,33 +1,33 @@
{
"label": "Armes de Véhicules",
"label": "Vehicle Weapons",
"mapping": {
"description": "system.description"
},
"entries": {
"Abordage": {
"name": "Abordage",
"description": "<p>Une action dAbordage peut être tentée si deux navires sont bloqués lun contre lautre suite à une action réussie dÉperonner ou de Lancer les grappins. LAbordage est la seule action pour laquelle il ny a pas de limite aux points de ressources que vous pouvez engager afin davoir un bonus au jet dattaque. LAbordage est aussi loccasion pour des héros dentreprendre des Actions héroïques en mer, de la même façon quils peuvent le faire lors de batailles terrestres. Ces actions formeront une petite aventure à part entière, par exemple si les héros doivent fouiller le navire ennemi tout en affrontant son équipage.</p>"
"name": "Boarding",
"description": "<p>A boarding action can be attempted if the two ships are locked together following a successful ram or grapple. Boarding actions are the only actions with no limit on the resources you can use to add to your Attack Roll. Boarding can also be a way for Heroes to take Heroic Actions at sea, in a similar way to Land Battles. Such actions would be part of a small roleplaying adventure perhaps with the Heroes exploring the enemy ship whilst battling the enemy crew.</p>"
},
"Briser les Rames": {
"name": "Briser les Rames",
"description": "<p>Le navire attaquant frôle le navire ennemi dans le but de briser ses rangées de rames afin de<br />limmobiliser sans le couler. Pour cette manœuvre, les navires doivent commencer le round à Bout<br />portant ou à portée Courte. Lattaquant effectue un jet daction. Le défenseur peut utiliser ses<br />ressources pour éviter lattaque (ce qui lui octroie un bonus en défense).</p>"
"name": "Oar Rake",
"description": "<p>The attacking ship runs alongside and attempts to run over and break the enemys oars. The aim is to disable the enemy ship without sinking it. An oar rake does not leave the ships locked together as a ram does. To rake, the ships must start the round at Close or Point-Blank range. The attacker makes a Task Roll. The defender can use some of its resources to avoid the rake (acting as defence against the raking attack).</p>"
},
"Catapulte (Feu)": {
"name": "Catapulte (Feu)",
"description": "<p>Les catapultes peuvent tirer des pierres ou des pots de goudron enflammé jusquà une portée<br />Extrême. Les pierres font des dégâts à la coque et au gréement du navire, mais peuvent aussi<br />tuer des matelots. Un pot à feu qui explose sur le pont arrose la coque et léquipage de goudron<br />enflammé, qui continue à brûler jusquà ce que lincendie soit maîtrisé.</p>"
"name": "Catapult (Fire)",
"description": "<p>Catapults are used to hurl boulders or pots of burning pitch up to Extreme range. Boulders can crush the hull and rigging of a ship as well as kill the crew. A firepot that bursts will shower the hull and crew with burning pitch. The pitch keeps burning until the crew douses the flames.</p>"
},
"Catapulte (Pierre)": {
"name": "Catapulte (Pierre)",
"description": "<p>Les catapultes peuvent tirer des pierres ou des pots de goudron enflammé jusquà une portée<br />Extrême. Les pierres font des dégâts à la coque et au gréement du navire, mais peuvent aussi<br />tuer des matelots. Un pot à feu qui explose sur le pont arrose la coque et léquipage de goudron<br />enflammé, qui continue à brûler jusquà ce que lincendie soit maîtrisé.</p>"
"name": "Catapult (Rock)",
"description": "<p>Catapults are used to hurl boulders or pots of burning pitch up to Extreme range. Boulders can crush the hull and rigging of a ship as well as kill the crew. A firepot that bursts will shower the hull and crew with burning pitch. The pitch keeps burning until the crew douses the flames.</p>"
},
"Crache Feu": {
"name": "Crache Feu",
"description": "<p>Lusage de cet appareil dalchimiste exige des compétences particulières. Sa conception comme<br />la formule du produit qui lalimente sont des secrets jalousement gardés. Le crache-feu est un<br />gros réservoir pressurisé équipé dun tube à son sommet. La machine tire un jet de liquide brûlant<br />à de grandes distances (jusquà portée Longue).</p>\n<p>Les flammes sont presque impossibles à éteindre.</p>"
"name": "Fire Machine",
"description": "<p>This alchemists device requires special skills to use. The exact design and formulae are a closely guarded secret. The fire machine is a large pressurised tank with a tube on the top. The machine shoots a stream of burning liquid great distances (maximum of Long range). The flames are near impossible to extinguish.</p>"
},
"Projectiles": {
"name": "Projectiles",
"description": "<p>Léquipage du navire envoie une volée de projectiles (javelines, flèches, billes de fronde) sur le vaisseau ennemi, à condition que ce dernier se trouve au maximum à portée Longue.</p>"
"name": "Missile",
"description": "<p>A ships crew can make missile attacks with javelins, bows, or slings up to Long range.</p>"
}
}
}

View File

@@ -26,11 +26,11 @@
"description": "<h1>Pole Arm</h1><p>This is a catch-all name for a pole weapon that is, a close-combat weapon in which the main fighting part of the weapon is placed on the end of a long shaft, typically of wood, thereby extending the users effective range. They are used with two hands and can be called halberds, mauls, great-axes, battle-axes, glaives, war scythes, and many other names besides.</p>"
},
"Armes Improvisée": {
"name": "Armes Improvisée",
"name": "Improvised weapon",
"description": ""
},
"Armes Improvisée (Lancer)": {
"name": "Armes Improvisée (Lancer)",
"name": "Improvised weapon (Throw)",
"description": ""
},
"Bâton": {
@@ -38,12 +38,12 @@
"description": "<h1>Quarterstaff</h1><p>A quarterstaff is a simple stout pole of around 6 in length, used as an aid to walking, and as an effective weapon.</p>"
},
"Bâton-Fronde": {
"name": "Bâton-Fronde",
"description": "<h1>Bâton-Fronde</h1><p>Version plus puissante de la fronde, montée au bout dun bâton (ce qui en fait une arme à deux mains), qui permet des tirs à plus longue portée.</p>"
"name": "Staff Sling",
"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",

View File

@@ -140,9 +140,9 @@ ul.no-bullets {
flex-flow: row wrap;
justify-content: flex-start;
}
.flexrow > * {
/* Wrong in v13.flexrow > * {
flex: 1;
}
} */
.flexrow .flex1 {
flex: 1;
}
@@ -170,13 +170,13 @@ ul.no-bullets {
.flexrow .flex9 {
flex: 9;
}
.flexcol {
/*.flexcol {
display: flex;
flex-flow: column nowrap;
}
.flexcol > * {
flex: 1;
}
}*/
.flexcol .flex1 {
flex: 1;
}
@@ -523,12 +523,12 @@ ul.no-bullets {
}
.items-list .item-name-fixed-medium {
min-width: 8rem;
width: 8rem;
width: 8rem;
}
.items-list .item-field-fixed-short {
max-width: 3rem;
min-width: 3rem;
width: 3rem;
width: 3rem;
}
.bougette-dice-img {
color:rgba(150, 44, 44, 0.70);
@@ -1017,7 +1017,7 @@ body.system-bol img#logo {
display: inline-block;
}
.tooltip-container .tooltiptext {
text-align: center;
text-align: center;
/* Position the tooltip text */
position: absolute;
z-index: 1;
@@ -1040,7 +1040,7 @@ body.system-bol img#logo {
/** HUD SECTION */
.tokenhudext {
display: flex;
display: flex;
flex: 0 !important;
font-family: CaslonPro;
font-weight: 600;
@@ -1074,9 +1074,9 @@ body.system-bol img#logo {
height: fit-content;
min-width: 6rem;
flex-basis: auto;
padding: 0;
line-height: 1rem;
margin: 0.25rem;
padding: 0.20rem;
line-height: 1.1rem;
margin: 0.20rem;
}
.control-icon.tokenhudicon.right {
margin-left: 8px;
@@ -1103,5 +1103,5 @@ body.system-bol img#logo {
/* Hide compendium background image */
.compendium-sidebar .directory-item.compendium.locked .compendium-banner {
opacity: 00;
opacity: 0.5;
}

View File

@@ -468,6 +468,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

@@ -23,7 +23,7 @@
"BOL.aptitudes.init": "Initiative",
"BOL.aptitudes.melee": "Melee",
"BOL.aptitudes.ranged": "Ranged",
"BOL.aptitudes.def": "Defense",
"BOL.aptitudes.def": "Defence",
"BOL.aptitudes.prot": "Protection",
"BOL.resources.hp": "Lifeblood",
"BOL.resources.hero": "Hero",
@@ -31,7 +31,7 @@
"BOL.resources.creation": "Creation",
"BOL.resources.power": "Arcane",
"BOL.resources.villainy": "Villain P.",
"BOL.resources.alchemypoints": "Alchemy Points",
"BOL.resources.alchemypoints": "Craft Points",
"BOL.traits.xp": "Experience",
"BOL.ui.tab.stats": "Attributes",
@@ -125,10 +125,10 @@
"BOL.ui.vehicleProperties" : "Vehicle properties",
"BOL.ui.speed" : "Speed",
"BOL.ui.noWeaponName" : "Weapon Name",
"BOL.ui.targetDefence": "Defense",
"BOL.ui.targetDefence": "Defence",
"BOL.ui.applyShieldMalus": "Apply Shield Modifier",
"BOL.ui.shieldMalus": "Shield Modifier",
"BOL.ui.defenseScore": "Defense Score",
"BOL.ui.defenseScore": "Defence Score",
"BOL.ui.defender": "Defender",
"BOL.ui.difficulty": "Difficulty",
"BOL.ui.spellProperties": "Spell Properties",
@@ -180,11 +180,11 @@
"BOL.ui.weaponbonus": "Cette arme bénéficie déja d'un Dé de Bonus (Arme Favorite prise en compte, par exemple)",
"BOL.ui.initMalus": "Init malus",
"BOL.ui.creature": "Creature",
"BOL.ui.undead": "Undead",
"BOL.ui.daemon": "Daemon",
"BOL.ui.undead": "Bloodless",
"BOL.ui.daemon": "Demon",
"BOL.ui.attributaptitude": "Attribut ou Aptitude",
"BOL.ui.always": "Tout les jets (ie toujours)",
"BOL.ui.effectbonusmalus": "Bonus ou Malus à appliquer",
"BOL.ui.always": "All rolls (always)",
"BOL.ui.effectbonusmalus": "Bonus/Malus to apply",
"BOL.ui.boleffects": "Effects (automatic)",
"BOL.ui.modifier": "Modifier",
"BOL.ui.effects": "Ongoing effects",
@@ -258,9 +258,9 @@
"BOL.fightOptionTypes.armor": "Armor Attack Option",
"BOL.fightOptionTypes.intrepid": "Fearless Attack",
"BOL.fightOptionTypes.twoweaponsdef": "Two Weapon (Defense)",
"BOL.fightOptionTypes.twoweaponsdef": "Two Weapon (Defence)",
"BOL.fightOptionTypes.twoweaponsatt": "Two Weapon (Attack)",
"BOL.fightOptionTypes.fulldefense": "Full Defense",
"BOL.fightOptionTypes.fulldefense": "Full Defence",
"BOL.fightOptionTypes.defense": "Defensive Posture",
"BOL.fightOptionTypes.attack": "Offensive Posture",
"BOL.fightOptionTypes.other": "Other",
@@ -543,6 +543,7 @@
"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.veryeasy": "Very easy (+2)",
@@ -578,11 +579,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

@@ -534,6 +534,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)",

View File

@@ -569,7 +569,7 @@
"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.",
@@ -611,9 +611,9 @@
"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 !",

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

@@ -31,7 +31,7 @@ Hooks.once('init', async function () {
config: BOL
};
// Game socket
// Game socket
game.socket.on("system.bol", sockmsg => {
BoLUtility.onSocketMessage(sockmsg);
})
@@ -51,13 +51,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,22 +78,40 @@ 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") ){
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.")
}
}
/* -------------------------------------------- */
@@ -126,6 +144,33 @@ Hooks.once('ready', async function () {
});
}
const damageFR = {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"d3": "d3",
"d6M": "d6M (Malus)",
"d6": "d6",
"d6B": "d6B (Bonus)",
"d6BB": "d6B + dé bonus",
}
const damageEN = {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"d3": "d3",
"d6M": "d6L (Penalty)",
"d6": "d6",
"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

@@ -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) {
@@ -489,7 +489,7 @@ export class BoLRoll {
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)
@@ -535,7 +535,7 @@ export class BoLRoll {
rollData.weaponModifier = 0
rollData.attackBonusDice = false
rollData.armorMalus = 0
// Specific stuff
// Specific stuff
this.preProcessWeapon(rollData, defender)
this.preProcessFightOption(rollData)
this.updateArmorMalus(rollData)
@@ -551,7 +551,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 +582,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
@@ -635,15 +635,15 @@ export class BoLDefaultRoll {
this.rollData.roll = r
this.rollData.isFumble = (diceTotal <= diceData.criticalFailureValue)
if ( this.rollData.isFumble ) {
this.rollData.isSuccess = false
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
this.rollData.isSuccess = true
} else {
this.rollData.isSuccess = (r.total >= diceData.successValue)
}
@@ -805,13 +805,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() {
@@ -27,7 +27,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
}

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);
}

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,
@@ -140,6 +140,14 @@ export class BoLUtility {
// Update the effect modifiers
game.bol.config.effectIdentifiers = foundry.utils.mergeObject(game.bol.config.effectIdentifiers, game.bol.config.attackAttributes)
game.bol.config.effectIdentifiers = foundry.utils.mergeObject(game.bol.config.effectIdentifiers, game.bol.config.aptitudes)
CONFIG.Actor.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
CONFIG.Item.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
CONFIG.Scene.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
CONFIG.JournalEntry.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
CONFIG.Macro.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
CONFIG.Adventure.compendiumBanner = "systems/bol/ui/compendium_banner.webp"
}
/* -------------------------------------------- */
@@ -336,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)
@@ -373,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)

View File

@@ -9,18 +9,6 @@ System.debugMode = true;
export const BOL = {};
BOL.damageValues = {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"d3": "d3",
"d6M": "d6M (Malus)",
"d6": "d6",
"d6B": "d6B (Bonus)",
"d6BB": "d6B + dé bonus",
}
BOL.damageMultiplier = {
"1": "x1",
"2": "x2",

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-000508
MANIFEST-000787

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.565131 7fb51d6006c0 Recovering log #506
2024/11/11-17:40:19.612343 7fb51d6006c0 Delete type=3 #504
2024/11/11-17:40:19.612471 7fb51d6006c0 Delete type=0 #506
2024/11/11-18:11:38.541777 7fb51b2006c0 Level-0 table #511: started
2024/11/11-18:11:38.541829 7fb51b2006c0 Level-0 table #511: 0 bytes OK
2024/11/11-18:11:38.548347 7fb51b2006c0 Delete type=0 #509
2024/11/11-18:11:38.555731 7fb51b2006c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.555798 7fb51b2006c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.111563 7f181c7f86c0 Recovering log #785
2025/05/15-14:13:43.123121 7f181c7f86c0 Delete type=3 #783
2025/05/15-14:13:43.123237 7f181c7f86c0 Delete type=0 #785
2025/05/15-14:14:15.449405 7f181bff76c0 Level-0 table #790: started
2025/05/15-14:14:15.449426 7f181bff76c0 Level-0 table #790: 0 bytes OK
2025/05/15-14:14:15.458980 7f181bff76c0 Delete type=0 #788
2025/05/15-14:14:15.459158 7f181bff76c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.459194 7f181bff76c0 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 @@
2024/11/11-17:32:15.539289 7fb51e0006c0 Recovering log #502
2024/11/11-17:32:15.598910 7fb51e0006c0 Delete type=3 #500
2024/11/11-17:32:15.598975 7fb51e0006c0 Delete type=0 #502
2024/11/11-17:40:13.952540 7fb51b2006c0 Level-0 table #507: started
2024/11/11-17:40:13.952583 7fb51b2006c0 Level-0 table #507: 0 bytes OK
2024/11/11-17:40:13.971805 7fb51b2006c0 Delete type=0 #505
2024/11/11-17:40:14.057635 7fb51b2006c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2024/11/11-17:40:14.057680 7fb51b2006c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.257458 7f181d7fa6c0 Recovering log #781
2025/05/15-14:12:22.290228 7f181d7fa6c0 Delete type=3 #779
2025/05/15-14:12:22.290288 7f181d7fa6c0 Delete type=0 #781
2025/05/15-14:13:28.749490 7f181bff76c0 Level-0 table #786: started
2025/05/15-14:13:28.749512 7f181bff76c0 Level-0 table #786: 0 bytes OK
2025/05/15-14:13:28.755584 7f181bff76c0 Delete type=0 #784
2025/05/15-14:13:28.776349 7f181bff76c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.776403 7f181bff76c0 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-000414
MANIFEST-000692

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.458112 7fb51e0006c0 Recovering log #412
2024/11/11-17:40:19.508385 7fb51e0006c0 Delete type=3 #410
2024/11/11-17:40:19.508443 7fb51e0006c0 Delete type=0 #412
2024/11/11-18:11:38.528248 7fb51b2006c0 Level-0 table #417: started
2024/11/11-18:11:38.528270 7fb51b2006c0 Level-0 table #417: 0 bytes OK
2024/11/11-18:11:38.535321 7fb51b2006c0 Delete type=0 #415
2024/11/11-18:11:38.555690 7fb51b2006c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.555766 7fb51b2006c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.084195 7f181d7fa6c0 Recovering log #690
2025/05/15-14:13:43.093610 7f181d7fa6c0 Delete type=3 #688
2025/05/15-14:13:43.093672 7f181d7fa6c0 Delete type=0 #690
2025/05/15-14:14:15.420732 7f181bff76c0 Level-0 table #695: started
2025/05/15-14:14:15.420773 7f181bff76c0 Level-0 table #695: 0 bytes OK
2025/05/15-14:14:15.426739 7f181bff76c0 Delete type=0 #693
2025/05/15-14:14:15.459093 7f181bff76c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.459118 7f181bff76c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.511723 7fb51d6006c0 Recovering log #408
2024/11/11-17:32:15.522161 7fb51d6006c0 Delete type=3 #406
2024/11/11-17:32:15.522220 7fb51d6006c0 Delete type=0 #408
2024/11/11-17:40:13.997542 7fb51b2006c0 Level-0 table #413: started
2024/11/11-17:40:13.997578 7fb51b2006c0 Level-0 table #413: 0 bytes OK
2024/11/11-17:40:14.032179 7fb51b2006c0 Delete type=0 #411
2024/11/11-17:40:14.057661 7fb51b2006c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2024/11/11-17:40:14.057705 7fb51b2006c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.231002 7f181cff96c0 Recovering log #686
2025/05/15-14:12:22.241565 7f181cff96c0 Delete type=3 #684
2025/05/15-14:12:22.241622 7f181cff96c0 Delete type=0 #686
2025/05/15-14:13:28.762827 7f181bff76c0 Level-0 table #691: started
2025/05/15-14:13:28.762900 7f181bff76c0 Level-0 table #691: 0 bytes OK
2025/05/15-14:13:28.769448 7f181bff76c0 Delete type=0 #689
2025/05/15-14:13:28.776374 7f181bff76c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.776417 7f181bff76c0 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/000772.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000507
MANIFEST-000785

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.042384 7fb51e0006c0 Recovering log #505
2024/11/11-17:40:19.098631 7fb51e0006c0 Delete type=3 #503
2024/11/11-17:40:19.098693 7fb51e0006c0 Delete type=0 #505
2024/11/11-18:11:38.476928 7fb51b2006c0 Level-0 table #510: started
2024/11/11-18:11:38.476967 7fb51b2006c0 Level-0 table #510: 0 bytes OK
2024/11/11-18:11:38.482864 7fb51b2006c0 Delete type=0 #508
2024/11/11-18:11:38.502396 7fb51b2006c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.502432 7fb51b2006c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/05/15-14:13:42.973680 7f181cff96c0 Recovering log #783
2025/05/15-14:13:42.986320 7f181cff96c0 Delete type=3 #781
2025/05/15-14:13:42.986380 7f181cff96c0 Delete type=0 #783
2025/05/15-14:14:15.364727 7f181bff76c0 Level-0 table #788: started
2025/05/15-14:14:15.364774 7f181bff76c0 Level-0 table #788: 0 bytes OK
2025/05/15-14:14:15.371304 7f181bff76c0 Delete type=0 #786
2025/05/15-14:14:15.391269 7f181bff76c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.391342 7f181bff76c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.396290 7fb51d6006c0 Recovering log #501
2024/11/11-17:32:15.405860 7fb51d6006c0 Delete type=3 #499
2024/11/11-17:32:15.405913 7fb51d6006c0 Delete type=0 #501
2024/11/11-17:40:13.776004 7fb51b2006c0 Level-0 table #506: started
2024/11/11-17:40:13.776036 7fb51b2006c0 Level-0 table #506: 0 bytes OK
2024/11/11-17:40:13.801318 7fb51b2006c0 Delete type=0 #504
2024/11/11-17:40:13.849346 7fb51b2006c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2024/11/11-17:40:13.849410 7fb51b2006c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.120550 7f181c7f86c0 Recovering log #779
2025/05/15-14:12:22.131209 7f181c7f86c0 Delete type=3 #777
2025/05/15-14:12:22.131268 7f181c7f86c0 Delete type=0 #779
2025/05/15-14:13:28.697236 7f181bff76c0 Level-0 table #784: started
2025/05/15-14:13:28.697270 7f181bff76c0 Level-0 table #784: 0 bytes OK
2025/05/15-14:13:28.704397 7f181bff76c0 Delete type=0 #782
2025/05/15-14:13:28.723085 7f181bff76c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.723129 7f181bff76c0 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-000785 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000507
MANIFEST-000785

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.101460 7fb51cc006c0 Recovering log #505
2024/11/11-17:40:19.152129 7fb51cc006c0 Delete type=3 #503
2024/11/11-17:40:19.152256 7fb51cc006c0 Delete type=0 #505
2024/11/11-18:11:38.490419 7fb51b2006c0 Level-0 table #510: started
2024/11/11-18:11:38.490456 7fb51b2006c0 Level-0 table #510: 0 bytes OK
2024/11/11-18:11:38.496457 7fb51b2006c0 Delete type=0 #508
2024/11/11-18:11:38.502422 7fb51b2006c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.502465 7fb51b2006c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/05/15-14:13:42.988678 7f181dffb6c0 Recovering log #783
2025/05/15-14:13:42.999520 7f181dffb6c0 Delete type=3 #781
2025/05/15-14:13:42.999571 7f181dffb6c0 Delete type=0 #783
2025/05/15-14:14:15.384672 7f181bff76c0 Level-0 table #788: started
2025/05/15-14:14:15.384703 7f181bff76c0 Level-0 table #788: 0 bytes OK
2025/05/15-14:14:15.391032 7f181bff76c0 Delete type=0 #786
2025/05/15-14:14:15.391330 7f181bff76c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.391354 7f181bff76c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.409265 7fb51cc006c0 Recovering log #501
2024/11/11-17:32:15.427785 7fb51cc006c0 Delete type=3 #499
2024/11/11-17:32:15.427855 7fb51cc006c0 Delete type=0 #501
2024/11/11-17:40:13.801428 7fb51b2006c0 Level-0 table #506: started
2024/11/11-17:40:13.801453 7fb51b2006c0 Level-0 table #506: 0 bytes OK
2024/11/11-17:40:13.824124 7fb51b2006c0 Delete type=0 #504
2024/11/11-17:40:13.849363 7fb51b2006c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2024/11/11-17:40:13.849426 7fb51b2006c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.135197 7f181dffb6c0 Recovering log #779
2025/05/15-14:12:22.145294 7f181dffb6c0 Delete type=3 #777
2025/05/15-14:12:22.145384 7f181dffb6c0 Delete type=0 #779
2025/05/15-14:13:28.704497 7f181bff76c0 Level-0 table #784: started
2025/05/15-14:13:28.704518 7f181bff76c0 Level-0 table #784: 0 bytes OK
2025/05/15-14:13:28.710561 7f181bff76c0 Delete type=0 #782
2025/05/15-14:13:28.723101 7f181bff76c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.723135 7f181bff76c0 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-000507
MANIFEST-000785

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.199186 7fb51c2006c0 Recovering log #505
2024/11/11-17:40:19.252022 7fb51c2006c0 Delete type=3 #503
2024/11/11-17:40:19.252133 7fb51c2006c0 Delete type=0 #505
2024/11/11-18:11:38.496554 7fb51b2006c0 Level-0 table #510: started
2024/11/11-18:11:38.496575 7fb51b2006c0 Level-0 table #510: 0 bytes OK
2024/11/11-18:11:38.502326 7fb51b2006c0 Delete type=0 #508
2024/11/11-18:11:38.502439 7fb51b2006c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.502472 7fb51b2006c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.014338 7f181cff96c0 Recovering log #783
2025/05/15-14:13:43.024408 7f181cff96c0 Delete type=3 #781
2025/05/15-14:13:43.024523 7f181cff96c0 Delete type=0 #783
2025/05/15-14:14:15.371465 7f181bff76c0 Level-0 table #788: started
2025/05/15-14:14:15.371502 7f181bff76c0 Level-0 table #788: 0 bytes OK
2025/05/15-14:14:15.378367 7f181bff76c0 Delete type=0 #786
2025/05/15-14:14:15.391295 7f181bff76c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.391382 7f181bff76c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.444989 7fb51c2006c0 Recovering log #501
2024/11/11-17:32:15.455402 7fb51c2006c0 Delete type=3 #499
2024/11/11-17:32:15.455455 7fb51c2006c0 Delete type=0 #501
2024/11/11-17:40:13.750976 7fb51b2006c0 Level-0 table #506: started
2024/11/11-17:40:13.751018 7fb51b2006c0 Level-0 table #506: 0 bytes OK
2024/11/11-17:40:13.775881 7fb51b2006c0 Delete type=0 #504
2024/11/11-17:40:13.849319 7fb51b2006c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2024/11/11-17:40:13.849393 7fb51b2006c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.162465 7f181c7f86c0 Recovering log #779
2025/05/15-14:12:22.173563 7f181c7f86c0 Delete type=3 #777
2025/05/15-14:12:22.173678 7f181c7f86c0 Delete type=0 #779
2025/05/15-14:13:28.723253 7f181bff76c0 Level-0 table #784: started
2025/05/15-14:13:28.723292 7f181bff76c0 Level-0 table #784: 0 bytes OK
2025/05/15-14:13:28.729706 7f181bff76c0 Delete type=0 #782
2025/05/15-14:13:28.749292 7f181bff76c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.749330 7f181bff76c0 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-000505
MANIFEST-000783

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.851008 7fb51e0006c0 Recovering log #503
2024/11/11-17:40:19.893149 7fb51e0006c0 Delete type=3 #501
2024/11/11-17:40:19.893327 7fb51e0006c0 Delete type=0 #503
2024/11/11-18:11:38.582687 7fb51b2006c0 Level-0 table #508: started
2024/11/11-18:11:38.582774 7fb51b2006c0 Level-0 table #508: 0 bytes OK
2024/11/11-18:11:38.589920 7fb51b2006c0 Delete type=0 #506
2024/11/11-18:11:38.610204 7fb51b2006c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.610280 7fb51b2006c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.208069 7f181cff96c0 Recovering log #781
2025/05/15-14:13:43.217852 7f181cff96c0 Delete type=3 #779
2025/05/15-14:13:43.217905 7f181cff96c0 Delete type=0 #781
2025/05/15-14:14:15.500215 7f181bff76c0 Level-0 table #786: started
2025/05/15-14:14:15.500243 7f181bff76c0 Level-0 table #786: 0 bytes OK
2025/05/15-14:14:15.507301 7f181bff76c0 Delete type=0 #784
2025/05/15-14:14:15.513900 7f181bff76c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.513920 7f181bff76c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.667994 7fb51d6006c0 Recovering log #499
2024/11/11-17:32:15.679148 7fb51d6006c0 Delete type=3 #497
2024/11/11-17:32:15.679214 7fb51d6006c0 Delete type=0 #499
2024/11/11-17:40:14.160030 7fb51b2006c0 Level-0 table #504: started
2024/11/11-17:40:14.160134 7fb51b2006c0 Level-0 table #504: 0 bytes OK
2024/11/11-17:40:14.196417 7fb51b2006c0 Delete type=0 #502
2024/11/11-17:40:14.333174 7fb51b2006c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2024/11/11-17:40:14.333218 7fb51b2006c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.372916 7f181dffb6c0 Recovering log #777
2025/05/15-14:12:22.383625 7f181dffb6c0 Delete type=3 #775
2025/05/15-14:12:22.383705 7f181dffb6c0 Delete type=0 #777
2025/05/15-14:13:28.804910 7f181bff76c0 Level-0 table #782: started
2025/05/15-14:13:28.804998 7f181bff76c0 Level-0 table #782: 0 bytes OK
2025/05/15-14:13:28.811621 7f181bff76c0 Delete type=0 #780
2025/05/15-14:13:28.834451 7f181bff76c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.834477 7f181bff76c0 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-000508
MANIFEST-000786

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.358361 7fb51d6006c0 Recovering log #506
2024/11/11-17:40:19.413577 7fb51d6006c0 Delete type=3 #504
2024/11/11-17:40:19.413697 7fb51d6006c0 Delete type=0 #506
2024/11/11-18:11:38.515794 7fb51b2006c0 Level-0 table #511: started
2024/11/11-18:11:38.515816 7fb51b2006c0 Level-0 table #511: 0 bytes OK
2024/11/11-18:11:38.521749 7fb51b2006c0 Delete type=0 #509
2024/11/11-18:11:38.528138 7fb51b2006c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.528174 7fb51b2006c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.055306 7f181cff96c0 Recovering log #784
2025/05/15-14:13:43.065319 7f181cff96c0 Delete type=3 #782
2025/05/15-14:13:43.065453 7f181cff96c0 Delete type=0 #784
2025/05/15-14:14:15.398707 7f181bff76c0 Level-0 table #789: started
2025/05/15-14:14:15.398743 7f181bff76c0 Level-0 table #789: 0 bytes OK
2025/05/15-14:14:15.405948 7f181bff76c0 Delete type=0 #787
2025/05/15-14:14:15.420498 7f181bff76c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.420551 7f181bff76c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.485482 7fb51e0006c0 Recovering log #502
2024/11/11-17:32:15.496594 7fb51e0006c0 Delete type=3 #500
2024/11/11-17:32:15.496658 7fb51e0006c0 Delete type=0 #502
2024/11/11-17:40:13.895458 7fb51b2006c0 Level-0 table #507: started
2024/11/11-17:40:13.895496 7fb51b2006c0 Level-0 table #507: 0 bytes OK
2024/11/11-17:40:13.915145 7fb51b2006c0 Delete type=0 #505
2024/11/11-17:40:13.952331 7fb51b2006c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2024/11/11-17:40:13.952388 7fb51b2006c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.203559 7f181c7f86c0 Recovering log #780
2025/05/15-14:12:22.214330 7f181c7f86c0 Delete type=3 #778
2025/05/15-14:12:22.214427 7f181c7f86c0 Delete type=0 #780
2025/05/15-14:13:28.742785 7f181bff76c0 Level-0 table #785: started
2025/05/15-14:13:28.742826 7f181bff76c0 Level-0 table #785: 0 bytes OK
2025/05/15-14:13:28.749157 7f181bff76c0 Delete type=0 #783
2025/05/15-14:13:28.749322 7f181bff76c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.749355 7f181bff76c0 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-000506
MANIFEST-000785

View File

@@ -1,8 +1,8 @@
2024/11/11-17:40:19.707529 7fb51cc006c0 Recovering log #504
2024/11/11-17:40:19.748191 7fb51cc006c0 Delete type=3 #502
2024/11/11-17:40:19.748257 7fb51cc006c0 Delete type=0 #504
2024/11/11-18:11:38.555942 7fb51b2006c0 Level-0 table #509: started
2024/11/11-18:11:38.555993 7fb51b2006c0 Level-0 table #509: 0 bytes OK
2024/11/11-18:11:38.562264 7fb51b2006c0 Delete type=0 #507
2024/11/11-18:11:38.582499 7fb51b2006c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2024/11/11-18:11:38.582543 7fb51b2006c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/05/15-14:13:43.151877 7f181dffb6c0 Recovering log #783
2025/05/15-14:13:43.162938 7f181dffb6c0 Delete type=3 #781
2025/05/15-14:13:43.162985 7f181dffb6c0 Delete type=0 #783
2025/05/15-14:14:15.459203 7f181bff76c0 Level-0 table #788: started
2025/05/15-14:14:15.459226 7f181bff76c0 Level-0 table #788: 0 bytes OK
2025/05/15-14:14:15.465739 7f181bff76c0 Delete type=0 #786
2025/05/15-14:14:15.487054 7f181bff76c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/05/15-14:14:15.487094 7f181bff76c0 Manual compaction at level-1 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/11/11-17:32:15.629323 7fb51cc006c0 Recovering log #500
2024/11/11-17:32:15.640077 7fb51cc006c0 Delete type=3 #498
2024/11/11-17:32:15.640129 7fb51cc006c0 Delete type=0 #500
2024/11/11-17:40:14.090406 7fb51b2006c0 Level-0 table #505: started
2024/11/11-17:40:14.090464 7fb51b2006c0 Level-0 table #505: 0 bytes OK
2024/11/11-17:40:14.107623 7fb51b2006c0 Delete type=0 #503
2024/11/11-17:40:14.159889 7fb51b2006c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2024/11/11-17:40:14.159942 7fb51b2006c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/05/15-14:12:22.320169 7f181cff96c0 Recovering log #779
2025/05/15-14:12:22.330454 7f181cff96c0 Delete type=3 #777
2025/05/15-14:12:22.330580 7f181cff96c0 Delete type=0 #779
2025/05/15-14:13:28.784053 7f181bff76c0 Level-0 table #784: started
2025/05/15-14:13:28.784099 7f181bff76c0 Level-0 table #784: 0 bytes OK
2025/05/15-14:13:28.790437 7f181bff76c0 Delete type=0 #782
2025/05/15-14:13:28.804568 7f181bff76c0 Manual compaction at level-0 from '!items!AoT2c0af4lY6aBsx' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
2025/05/15-14:13:28.804648 7f181bff76c0 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.

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