Compare commits

...

14 Commits

Author SHA1 Message Date
c9ed514ed6 Sync avec mater
Merge branch 'v10' of https://www.uberwald.me/gitea/public/bol into v10
2023-10-15 17:51:31 +02:00
2ffd3f35c8 Initiative 2023-10-15 17:51:07 +02:00
e3b281f195 Merge pull request 'fix: utilisation d’une variable non définie' (#24) from DjLeChuck/bol:fix-damage-without-armor-apply into v10
Reviewed-on: #24
2023-10-15 16:28:23 +02:00
29ecb04ec3 fix: utilisation d’une variable non définie 2023-10-15 16:25:00 +02:00
ca3064dc0a Merge pull request 'fix: data-attribut corrompu sur l’encaissement sans armure' (#23) from DjLeChuck/bol:fix-defense-request-card into v10
Reviewed-on: #23
2023-10-15 16:15:58 +02:00
9fd8751124 fix: data-attribut corrompu sur l’encaissement sans armure 2023-10-15 16:14:55 +02:00
2d63b63b86 Merge pull request 'fix-creatures-compendium' (#22) from DjLeChuck/bol:fix-creatures-compendium into v10
Reviewed-on: #22
2023-10-15 16:13:39 +02:00
b44250e728 fix: tailles du Phong et du Behemathon
- Phong : petité créature et non grande
- Behemathon : monstrueuse créature et non grande
2023-10-15 16:11:56 +02:00
63c3e24296 fix: typage des créatures
- Utilisation de "cartype" et non "type"
2023-10-15 16:08:41 +02:00
8a87f6deab Fix #21 2023-10-15 16:02:26 +02:00
759b099bdf Fix #20 2023-10-15 16:01:31 +02:00
ade88fb54b Corrections sur encaissement 2023-09-16 09:40:08 +02:00
f1a3f2df36 Rollback to previous release system 2023-08-26 21:45:33 +02:00
a357c6ddfc Add gitea CI/CD 2023-08-26 19:17:02 +02:00
12 changed files with 167 additions and 674 deletions

View File

@ -29,7 +29,7 @@ jobs:
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/module.json
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

View File

@ -1,3 +1,12 @@
# v11.1.0
- Foundry v11 seulement
- Re-organisation des compendiums
- Correction sur les créatures
- Correction sur l'encaissement sans armure
- Ajout d'une note d'explication sur l'expérience
# v11.0.8
- Correction sur les malus de bouclier (blocage)

View File

@ -1,7 +1,6 @@
/* ----------------------------------------- */
/* LOCAL FONTS */
/* ----------------------------------------- */
@import "../node_modules/rpg-awesome/css/rpg-awesome.min.css";
@font-face {
font-family: 'Contrail One';
font-style: normal;

View File

@ -1,576 +0,0 @@
{
"ACTOR.TypeCharacter": "Personnage",
"ACTOR.TypeEncounter": "Rencontre",
"ACTOR.TypeVehicle": "Véhicule",
"ITEM.TypeItem": "Objet",
"ITEM.TypeFeature": "Trait",
"ITEM.TypeWeapon": "Arme",
"ITEM.TypeArmor": "Armure",
"BOL.attributes.vigor": "Vigueur",
"BOL.attributes.halfvigor": "Demi-vigueur",
"BOL.attributes.agility": "Agilité",
"BOL.attributes.mind": "Esprit",
"BOL.attributes.appeal": "Aura",
"BOL.attributes.hull": "Coque",
"BOL.attributes.crew": "Equipage",
"BOL.attributes.resources": "Resources",
"BOL.attributes.row": "Rames",
"BOL.aptitudes.init": "Initiative",
"BOL.aptitudes.melee": "Mêlée",
"BOL.aptitudes.ranged": "Tir",
"BOL.aptitudes.def": "Défense",
"BOL.aptitudes.prot": "Protection",
"BOL.resources.hp": "Vitalité",
"BOL.resources.hero": "Héroïsme",
"BOL.resources.faith": "Foi",
"BOL.resources.creation": "Création",
"BOL.resources.power": "Pouvoir",
"BOL.resources.villainy": "Vilénie",
"BOL.resources.alchemypoints": "Points de Creation",
"BOL.resources.astrologypoints": "Points d'Astrologie",
"BOL.traits.xp": "Expérience",
"BOL.ui.tab.stats": "Attributs",
"BOL.ui.tab.combat": "Combat",
"BOL.ui.tab.actions": "Actions",
"BOL.ui.tab.features": "Traits",
"BOL.ui.tab.equipment": "Equipement",
"BOL.ui.tab.description": "Description",
"BOL.ui.tab.details": "Details",
"BOL.ui.tab.spellalchemy": "Mystères",
"BOL.ui.astrologerPoints": "Points d'Astrologie",
"BOL.ui.astrologerPointsLabel": "Points d'Astrologie actuels",
"BOL.ui.ishoroscopemajor": "Horoscope Majeur (ie de groupe) ?",
"BOL.ui.answer": "Réponse",
"BOL.ui.horoscopefavorable": "Favorable (1dB)",
"BOL.ui.horoscopeunfavorable": "Défavorable (1dM)",
"BOL.ui.horoscopes": "Horoscopes",
"BOL.ui.horoscopesBonus": "Horoscopes (Bonus)",
"BOL.ui.horoscopesMalus": "Horoscopes (Malus)",
"BOL.ui.groupHoroscope": "Horoscrope de Groupe de ",
"BOL.ui.properties": "Propriétés",
"BOL.ui.description": "Description",
"BOL.ui.actions": "Actions",
"BOL.ui.capacities": "Capacités",
"BOL.ui.damages": "Dommages",
"BOL.ui.details": "Détails",
"BOL.ui.category": "Catégorie",
"BOL.ui.subcategory": "Sous-catégorie",
"BOL.ui.type": "Type",
"BOL.ui.subtype": "Sous-type",
"BOL.ui.attribute": "Attribut",
"BOL.ui.aptitude": "Aptitude",
"BOL.ui.advantages": "Avantages/Désavantages",
"BOL.ui.modifiers": "Modificateurs",
"BOL.ui.item": "Objet",
"BOL.ui.edit": "Editer",
"BOL.ui.unequip": "Déséquiper",
"BOL.ui.equip": "Équiper",
"BOL.ui.delete": "Supprimer",
"BOL.ui.roll": "Utiliser",
"BOL.ui.equipment": "Équipement",
"BOL.ui.equipmentProperties": "Propriétés d'équipement",
"BOL.ui.weaponAttack": "Attaque d'arme",
"BOL.ui.weaponProperties": "Propriétés offensives",
"BOL.ui.protectionProperties": "Protection",
"BOL.ui.magicalProperties": "Propriétés magiques",
"BOL.ui.capacityProperties": "Propriétés de capacité",
"BOL.ui.alchemyProperties": "Propriétés des Préparations Alchimiques",
"BOL.ui.armor": "Armure",
"BOL.ui.reach": "Allonge",
"BOL.ui.weapon": "Arme",
"BOL.ui.melee": "Arme de contact",
"BOL.ui.ranged": "Arme à distance",
"BOL.ui.protection": "Protection",
"BOL.ui.shield": "Bouclier",
"BOL.ui.blocking": "Blocage",
"BOL.ui.range": "Portée",
"BOL.ui.quantity": "Quantité",
"BOL.ui.qty": "Qté",
"BOL.ui.slot": "Empl.",
"BOL.ui.weight": "Poids",
"BOL.ui.price": "Prix",
"BOL.ui.cancel": "Annuler",
"BOL.ui.submit": "OK",
"BOL.ui.attributeCheck": "Test d'attribut",
"BOL.ui.aptitudeCheck": "Test d'aptitude",
"BOL.ui.weaponCheck": "Jet d'attaque",
"BOL.ui.spellCheck": "Jet de sort",
"BOL.ui.careers": "Carrières",
"BOL.ui.boons": "Avantages",
"BOL.ui.flaws": "Désavantages",
"BOL.ui.rank": "Rang",
"BOL.ui.success": "Succès",
"BOL.ui.failure": "Échec",
"BOL.ui.fumble": "Échec critique",
"BOL.ui.critical": "Succès Héroïque",
"BOL.ui.criticallegend": "Succès Légendaire !",
"BOL.ui.maneuvers": "Actions de combat",
"BOL.ui.stacksize": "Taille de pile (max)",
"BOL.ui.weapons": "Armes",
"BOL.ui.protections": "Protections",
"BOL.ui.ammos": "Munitions",
"BOL.ui.containers": "Conteneurs",
"BOL.ui.treasure": "Trésor",
"BOL.ui.vehicles": "Véhicules/Montures",
"BOL.ui.misc": "Divers",
"BOL.ui.vehicleProperties": " Propriétés de véhicule",
"BOL.ui.speed": "Vitesse",
"BOL.ui.noWeaponName": "Arme Inconnue",
"BOL.ui.targetDefence": "Défense",
"BOL.ui.applyShieldMalus": "Appliquer le Malus de Petit Bouclier",
"BOL.ui.shieldMalus": "Malus de Bouclier",
"BOL.ui.defenseScore": "Score de Defense",
"BOL.ui.defender": "Défenseur",
"BOL.ui.difficulty": "Difficulté",
"BOL.ui.spellProperties": "Propriétés du Sort",
"BOL.ui.duration": "Durée",
"BOL.ui.spellkeep": "Prolongation",
"BOL.ui.concentrate": "Concentration",
"BOL.ui.registerInit": "Enregistrer comme Init. de combat",
"BOL.ui.isSorcerer": "Carrière de Sorcier ?",
"BOL.ui.isAlchemist": "Carrière d'Alchimiste ?",
"BOL.ui.isPriest": "Carrière de Prêtre/Druide ?",
"BOL.ui.isAstrologer": "Carrière d'Astrologue?",
"BOL.ui.circle": "Cercle",
"BOL.ui.spells": "Sorts",
"BOL.ui.focusSpell": "Lance un sort",
"BOL.ui.sorcererRank": "Rang du Sorcier",
"BOL.ui.alchemistRank": "Rang de l'Alchimiste",
"BOL.ui.mandatoryconditions": "Conditions obligatoires",
"BOL.ui.optionnalconditions": "Conditions optionnelles",
"BOL.ui.ppcost": "Cout en Points de Pouvoir",
"BOL.ui.ppAvailable": "Points de Pouvoir actuels",
"BOL.ui.pccost": "Coût en Points de Création",
"BOL.ui.pcnow": "Points de Création actuels",
"BOL.ui.alchemyType": "Type",
"BOL.ui.alchemy": "Préparations Alchimiques",
"BOL.ui.makeAlchemy": "Réaliser une Préparation Alchmique",
"BOL.ui.alchemyCostTotal": "Points de Création nécessaires pour la Préparation",
"BOL.ui.alchemyInvest": "Points de Création investis",
"BOL.ui.alchemyCurrent": "Points de Création actuel dans la Préparation",
"BOL.ui.astrology": "Astrologie et Horoscopes",
"BOL.ui.astrologyMinor": "Etablir un Horoscope Mineur",
"BOL.ui.astrologyMajor": "Etablir un Horoscope Majeur",
"BOL.ui.astrologyMajorGroup": "Etablir un Horoscope Majeur de Groupe",
"BOL.ui.makeHoroscope": "Etablir un Horoscope",
"BOL.ui.astrologerRank": "Rang de l'Astrologue",
"BOL.ui.horoscopeCost": "Cout en Points d'Astrologie",
"BOL.ui.minor": "Mineur",
"BOL.ui.major": "Majeur",
"BOL.ui.majorgroup": "Majeur de Groupe",
"BOL.ui.horoscopeGroup": "Horoscopes de Groupe",
"BOL.ui.horoscopeDiceRemaining": "Dés restants",
"BOL.ui.horoscopeDiceMax": "Dés Max",
"BOL.ui.astrologyNoPoints": "Vous n'avez pas assez de Points d'Astrologie!",
"BOL.ui.advance": "Avancement",
"BOL.ui.isbonusdice": "Fourni un dé bonus?",
"BOL.ui.ismalusdice": "Fourni un dé malus?",
"BOL.ui.bonusmalus": "Dés Bonus/Malus additionnels",
"BOL.ui.nbdices": "Nombre de dés",
"BOL.ui.totalmod": "Total Mod.",
"BOL.ui.rangeModifiers": "Mod. de Portée",
"BOL.ui.money": "Bougette",
"BOL.ui.moneyTitle": "Or et Piecettes",
"BOL.ui.fightOption": "Options de Combat",
"BOL.ui.none": "Aucune",
"BOL.ui.fightOptionType": "Types d'options de Combat",
"BOL.ui.activated": "Active",
"BOL.ui.deactivated": "Inactive",
"BOL.ui.toactivated": "Active (>Désactiver)",
"BOL.ui.todeactivated": "Inactive (>Activer)",
"BOL.ui.status": "Statut",
"BOL.ui.armorAgiMalus": "Malus d'Armure+Bouclier (Agi)",
"BOL.ui.armorInitMalus": "Malus d'Armure (Init)",
"BOL.ui.attackValue": "Valeur d'attaque",
"BOL.ui.vehicleWeapons": "Armes de véhicules",
"BOL.ui.hullDamage": "D.coque",
"BOL.ui.crewDamage": "D.équipage",
"BOL.ui.fireDamage": "Feu ?",
"BOL.ui.weaponbonus": "Cette arme bénéficie déja d'un Dé de Bonus (Arme Favorite prise en compte, par exemple)",
"BOL.ui.creature": "Creature",
"BOL.ui.rabble": "Piétaille",
"BOL.ui.tough": "Coriace",
"BOL.ui.villain": "Rival",
"BOL.ui.attributaptitude": "Attribut ou Aptitude",
"BOL.ui.always": "Tout les jets (ie toujours)",
"BOL.ui.effectbonusmalus": "Bonus ou Malus à appliquer",
"BOL.ui.boleffects": "Effets (automatiques)",
"BOL.ui.modifier": "Modificateur",
"BOL.ui.effects": "Effets en cours",
"BOL.ui.pcname": "PJs",
"BOL.ui.npcname": "PNJs",
"BOL.ui.pclistbutton": "Vue compacte",
"BOL.ui.noactorfound": "PNJ inconnu, le PNJ doit être présent dans le monde pour s'afficher ici.",
"BOL.ui.deletetitle": "Suppression",
"BOL.ui.confirmdelete": "Vous êtes sûr de vouloir supprimer cet item ?",
"BOL.ui.nomorealchemypoints": "Plus assez de Points de Création !",
"BOL.ui.armornoformula": "L'armure {protect.name} n'a pas de formule pour la protection !",
"BOL.ui.selectactor": "Selectionnez votre personnage pour utiliser la macro",
"BOL.ui.itemnotfound": "Impossible de trouver l'objet de cette macro",
"BOL.ui.noinit": "Pas d'initiative trouvée, veuillez en enregistrer une.",
"BOL.ui.warninitiative": "Votre initiative n'est pas disponible. Effectuez un jet d'Initiative pour ce combat.",
"BOL.featureCategory.origins": "Origines",
"BOL.featureCategory.races": "Races",
"BOL.featureCategory.careers": "Carrières",
"BOL.featureCategory.boons": "Avantages",
"BOL.featureCategory.flaws": "Désavantages",
"BOL.featureCategory.languages": "Langues",
"BOL.featureCategory.fightoptions": "Options de Combat",
"BOL.bougette.nomoney": "A sec",
"BOL.bougette.tolive": "De quoi vivre",
"BOL.bougette.easylife": "A l'aise",
"BOL.bougette.luxury": "Luxe&Volupté",
"BOL.bougette.rich": "Richissime",
"BOL.featureSubtypes.origin": "Origine",
"BOL.featureSubtypes.race": "Race",
"BOL.featureSubtypes.career": "Carrière",
"BOL.featureSubtypes.boon": "Avantage",
"BOL.featureSubtypes.flaw": "Désavantage",
"BOL.featureSubtypes.language": "Langue",
"BOL.featureSubtypes.gods": "Dieux & Foi",
"BOL.featureSubtypes.fightOption": "Option de Combat",
"BOL.featureSubtypes.effect": "Effet",
"BOL.featureSubtypes.effects": "Effets",
"BOL.featureSubtypes.boleffect": "Effet",
"BOL.featureSubtypes.horoscope": "Horoscope",
"BOL.fightOptionTypes.armor": "Attaque au défaut d'armure",
"BOL.fightOptionTypes.intrepid": "Attaque intrépide",
"BOL.fightOptionTypes.twoweaponsdef": "Combat à 2 armes (Défense)",
"BOL.fightOptionTypes.twoweaponsatt": "Combat à 2 armes (Attaque)",
"BOL.fightOptionTypes.fulldefense": "Défense totale",
"BOL.fightOptionTypes.defense": "Posture défensive",
"BOL.fightOptionTypes.attack": "Posture offensive",
"BOL.itemCategory.object": "Objet",
"BOL.itemCategory.equipment": "Équipement",
"BOL.itemCategory.consumable": "Consommable",
"BOL.itemCategory.spell": "Sort",
"BOL.itemCategory.vehicle": "Monture/Véhicule",
"BOL.itemCategory.other": "Autre",
"BOL.itemCategory.capacity": "Capacité",
"BOL.itemCategory.alchemy": "Préparation Alchimique",
"BOL.itemCategory.vehicleweapon": "Armes de Véhicule",
"BOL.combatCategory.protections": "Protections",
"BOL.combatCategory.shields": "Boucliers",
"BOL.combatCategory.melee": "Armes de contact",
"BOL.combatCategory.ranged": "Armes à distance",
"BOL.combatCategory.fightOptions": "Options de combat",
"BOL.combatCategory.natural": "Armes Naturelless",
"BOL.equipmentCategory.weapon": "Arme",
"BOL.equipmentCategory.armor": "Armure",
"BOL.equipmentCategory.protection": "Protection",
"BOL.equipmentCategory.shield": "Bouclier",
"BOL.equipmentCategory.helm": "Casque",
"BOL.equipmentCategory.jewel": "Bijou",
"BOL.equipmentCategory.scroll": "Parchemin",
"BOL.equipmentCategory.ammunition": "Munition",
"BOL.equipmentCategory.container": "Conteneur",
"BOL.equipmentCategory.currency": "Monnaie",
"BOL.equipmentCategory.other": "Autre",
"BOL.protectionCategory.armor": "Armure",
"BOL.protectionCategory.shield": "Bouclier",
"BOL.protectionCategory.helm": "Casque",
"BOL.protectionCategory.other": "Autre",
"BOL.spellItem.charm": "Charme",
"BOL.spellItem.circle1": "Premier Cercle",
"BOL.spellItem.circle2": "Second Cercle",
"BOL.spellItem.circle3": "Troisième Cercle",
"BOL.alchemyItem.common": "Courante",
"BOL.alchemyItem.scarce": "Rare",
"BOL.alchemyItem.legend": "Légendaire",
"BOL.alchemyItem.mythic": "Mythique",
"BOL.weaponCategory.melee": "Arme de mêlée",
"BOL.weaponCategory.ranged": "Arme de tir",
"BOL.weaponCategory.other": "Autre",
"BOL.itemProperty.damageMultiplier": "Multiplicateur de dommages",
"BOL.itemProperty.attackBonusDice": "Dé de Bonus d'attaque",
"BOL.itemProperty.equipable": "Équipable",
"BOL.itemProperty.protection": "Protection",
"BOL.itemProperty.blocking": "Blocage",
"BOL.itemProperty.magical": "Magique",
"BOL.itemProperty.concealable": "Dissimulable",
"BOL.itemProperty.2H": "Arme à 2 mains",
"BOL.itemProperty.helm": "Casque",
"BOL.itemProperty.improvised": "Improvisée",
"BOL.itemProperty.shield": "Bouclier",
"BOL.itemProperty.melee": "Arme de contact",
"BOL.itemProperty.throwable": "Peut être lancée",
"BOL.itemProperty.ignoreshield": "Ignore les boucliers",
"BOL.itemProperty.bashing": "Dégâts non létaux",
"BOL.itemProperty.stackable": "Empilable",
"BOL.itemProperty.ranged": "A distance",
"BOL.itemProperty.weapon": "Offensive",
"BOL.itemProperty.reloadable": "Rechargeable",
"BOL.itemProperty.worn": "Équipé",
"BOL.itemProperty.spell": "Sort",
"BOL.itemProperty.armor": "Armure",
"BOL.itemProperty.consumable": "Consommable",
"BOL.itemProperty.bow": "Arc",
"BOL.itemProperty.crossbow": "Arbalète",
"BOL.itemProperty.throwing": "Arme de jet",
"BOL.itemProperty.activable": "Activable",
"BOL.itemProperty.powder": "Arme à poudre",
"BOL.itemProperty.attackAttribute": "Attaque (Attribut)",
"BOL.itemProperty.attackAptitude": "Attaque (Aptitude)",
"BOL.itemProperty.attackModifiers": "Attaque (Modificateurs)",
"BOL.itemProperty.attackReroll1": "Attaque (Relancer les 1)",
"BOL.itemProperty.damage": "Dommages (Dés)",
"BOL.itemProperty.damageModifiers": "Dommages (Modificateurs)",
"BOL.itemProperty.damageAttribute": "Dommages (Attribut)",
"BOL.itemProperty.damageSpecial": "Dommages (Spécial)",
"BOL.itemProperty.damageReroll1": "Relancer les 1",
"BOL.itemProperty.range": "Portée (en m)",
"BOL.itemProperty.soakFormula": "Encaissement (Formule)",
"BOL.itemProperty.soakModifiers": "Encaissement (Modificateur)",
"BOL.itemProperty.soakValue": "Encaissement (Valeur par défaut)",
"BOL.itemProperty.armorQuality": "Qualité d'armure",
"BOL.itemProperty.blockingMalus": "Malus de blocage",
"BOL.itemProperty.blockingAttacksBlocked": "Attaques bloquée",
"BOL.itemProperty.blocking1Attack": "Bloque 1 attaque",
"BOL.itemProperty.blockingAllAttacks": "Bloque toutes les attaques",
"BOL.itemProperty.slot": "Emplacement utilisé",
"BOL.itemProperty.reload": "Rechargement (Actions)",
"BOL.itemProperty.weaponSize": "Classe d'arme",
"BOL.itemProperty.difficulty": "Difficulté",
"BOL.itemProperty.natural": "Arme naturelle",
"BOL.itemProperty.onlymodifier": "Modificateur uniquement (ie attaques de créatures)",
"BOL.itemProperty.vehicleDamageType": "Type de dommages de véhicules",
"BOL.itemProperty.isfiredamage": "Dommages de Feu",
"BOL.itemProperty.ishulldamage": "Dommages à la coque",
"BOL.itemProperty.iscrewdamage": "Dommages à l'équipage",
"BOL.itemProperty.hulldamage": "Valeur des dommages à la coque",
"BOL.itemProperty.crewdamage": "Valeur des dommages à l'équipage",
"BOL.itemProperty.hullDamageMultiplier": "Multiplicateur",
"BOL.itemProperty.crewDamageMultiplier": "Multiplicateur",
"BOL.itemProperty.isboarding": "Abordage",
"BOL.itemProperty.isspur": "Eperonnage",
"BOL.itemProperty.isbreakrow": "Briser les rames",
"BOL.itemStat.quantity": "Quantité",
"BOL.itemStat.weight": "Poids",
"BOL.itemStat.price": "Prix",
"BOL.itemStat.range": "Portée",
"BOL.itemStat.damage": "Dommages",
"BOL.itemStat.reload": "Rechargement (Actions)",
"BOL.itemStat.soak": "Valeur de protection",
"BOL.itemStat.blocking": "Bloquage",
"BOL.itemStat.modifiers": "Modificateurs",
"BOL.weaponSize.unarmed": "Mains nues",
"BOL.weaponSize.improvised": "Arme improvisée",
"BOL.weaponSize.light": "Légère",
"BOL.weaponSize.medium": "Moyenne",
"BOL.weaponSize.heavy": "Lourde",
"BOL.itemModifiers.init": "Malus (Initiative)",
"BOL.itemModifiers.social": "Malus (Social)",
"BOL.itemModifiers.agility": "Malus (Agilité)",
"BOL.itemModifiers.powercost": "Malus (Coût supplémentaire en PP)",
"BOL.itemBlocking.malus": "Social",
"BOL.itemBlocking.nbAttacksPerRound": "Agilité",
"BOL.soakFormula.none": "-",
"BOL.soakFormula.light": "Légère (Annule d6-3 dégâts subis)",
"BOL.soakFormula.medium": "Moyenne (Annule d6-2 dégâts subis)",
"BOL.soakFormula.heavy": "Lourde (Annule d6-1 dégâts subis)",
"BOL.armorQuality.none": "-",
"BOL.armorQuality.light": "Légère",
"BOL.armorQuality.lightQ": "Légère de qualité",
"BOL.armorQuality.lightSup": "Légère Supérieure",
"BOL.armorQuality.lightLeg": "Légère Légendaire",
"BOL.armorQuality.medium": "Moyenne",
"BOL.armorQuality.mediumQ": "Moyenne de qualité",
"BOL.armorQuality.mediumSup": "Moyenne Supérieure",
"BOL.armorQuality.mediumLeg": "Moyenne Légendaire",
"BOL.armorQuality.heavy": "Lourde",
"BOL.armorQuality.heavyQ": "Lourde de qualité",
"BOL.armorQuality.heavySup": "Lourde Supérieure",
"BOL.armorQuality.heavyLeg": "Lourde Légendaire",
"BOL.equipmentSlots.none": "-",
"BOL.equipmentSlots.head": "Tête",
"BOL.equipmentSlots.neck": "Cou",
"BOL.equipmentSlots.shoulders": "Épaules",
"BOL.equipmentSlots.body": "Corps",
"BOL.equipmentSlots.rhand": "Main droite",
"BOL.equipmentSlots.lhand": "Main gauche",
"BOL.equipmentSlots.2hands": "2 mains",
"BOL.equipmentSlots.rarm": "Bras droit",
"BOL.equipmentSlots.larm": "Bras gauche",
"BOL.equipmentSlots.chest": "Torse",
"BOL.equipmentSlots.belt": "Ceinture",
"BOL.equipmentSlots.legs": "Jambes",
"BOL.equipmentSlots.feet": "Pieds",
"BOL.equipmentSlots.finder": "Doigt",
"BOL.equipmentSlots.ear": "Oreille",
"BOL.vehicleCategory.mount": "Monture terrestre",
"BOL.vehicleCategory.flying": "Monture volante",
"BOL.vehicleCategory.boat": "Bateau",
"BOL.vehicleCategory.other": "Autre",
"BOL.range.PointBlank": "Bout portant",
"BOL.range.Short": "Courte",
"BOL.range.Medium": "Moyenne",
"BOL.range.Long": "Long",
"BOL.range.VeryLong": "Très longue",
"BOL.range.Extreme": "Extrême",
"BOL.range.Maximum": "Maximale",
"BOL.notification.MacroMultipleTokensSelected": "Vous avez sélectionné plusieurs tokens",
"BOL.notification.MacroNoActorAvailable": "Aucun acteur n'a pu être ciblé",
"BOL.notification.MacroNoTokenSelected": "Vous devez sélectionner un token",
"BOL.size.tiny": "Minuscule",
"BOL.size.verysmall": "Très petite",
"BOL.size.small": "Petite",
"BOL.size.medium": "Moyenne",
"BOL.size.large": "Grande",
"BOL.size.verylarge": "Très grande",
"BOL.size.huge": "Enorme",
"BOL.size.massive": "Massive",
"BOL.size.enormous": "Colossale",
"BOL.size.gigantic": "Gigantesque",
"BOL.size.immense": "Immense",
"BOL.size.colossal": "Monstrueuse",
"BOL.chat.fightactive": "{name} active son option de combat {foName} pour ce round !",
"BOL.chat.fightunactive": "{name} désactive son option de combat {foName} pour ce round !",
"BOL.chat.isdead": "{name} est mort !",
"BOL.chat.epitaph": "Que son nom soit honoré sur les champs de batailles de Lémurie !",
"BOL.chat.vitalityzero": "La Vitalité de {name} est {hp} : il va s'écrouler au sol et sombrer dans l'inconscience !",
"BOL.chat.vitalityheroism": "Vous pouvez dépenser 1 Point d'Héroisme pour reprendre vos esprits pendant 1 round.",
"BOL.chat.vitalityheroismhint": "Dans ce cas votre vitalité remonte à son maximum divisé par 2 (arrondi au supérieur).",
"BOL.chat.vitalitydying": "La Vitalité de {name} est de {hp} ! Il est mourant ...",
"BOL.chat.vitalitydyingheroism": "Vous pouvez cependant dépenser 1 Point d'Héroisme pour Défier la Mort (cf. page 58).",
"BOL.chat.alchemytitle": "Préparation Alchimique : {name}",
"BOL.chat.alchemypoints": "Points de Création Investis : {pcCostCurrent}",
"BOL.chat.alchemysuccess": "La préparation alchimique a été réalisée avec succès !<br>Créez l'item ou l'effet correspondant dans votre Inventaire.<br>L'avancement dans la préparation a été remis à 0.",
"BOL.chat.alchemyfailure": "La préparation alchimique a échouée !<br>L'avancement dans la préparation a été remis à 0.",
"BOL.chat.rolldamage": "Lancer les dommages",
"BOL.chat.rolldamage6": "Lancer les dommages +6",
"BOL.chat.rolldamage12": "Dommages +12 (1 Pt. d'Heroisme)",
"BOL.chat.damageresult": "Dommages de {name} : {total}",
"BOL.chat.damagetarget": "Cible : {target}",
"BOL.chat.applydamagetotarget": "Appliquer les dommages à la cible",
"BOL.chat.fightoption": "Option de combat",
"BOL.chat.reroll": "Relancer (1 P. Heroisme)",
"BOL.chat.toheroic": "Transformer en succés Héroïque (1 P. Héroisme)",
"BOL.chat.tolegend": "Transformer en succes Légendaire (1 P. Heroisme)",
"BOL.chat.hurttitle": "{name} va encaisser {damageTotal} dégats !",
"BOL.chat.armordefault": "C'est une attaque au défaut de l'armure : vous devez encaisser SANS la protection de l'armure !",
"BOL.chat.witharmor": "Encaisser avec la protection de l'armure",
"BOL.chat.withoutarmor": "Encaisser sans la protection de l'armure",
"BOL.chat.shakeoff": "Juste une égratignure (1 Point d'Héroisme)",
"BOL.chat.splinteredshield": "Parade in Extremis avec {name} (1 Point d'Héroisme)",
"BOL.chat.damagesummary": "Dégats subis par {name}",
"BOL.chat.protectvalue": "Protection de l'armure",
"BOL.chat.noprotectvalue": "Aucune protection d'armure !",
"BOL.chat.heroreducedamage": "Un point d'héroisme dépensé, pour une réduction des dommages supplémentaire de {total}.",
"BOL.chat.herosplintered": "Aucun dommage encaissé, grâce à la parade in-extremis avec {weaponHero.name}. L'arme a été détruite pendant cette parade ! Un point d'héroisme a également été dépensé.",
"BOL.chat.finaldamage": "Encaissement final : {finalDamage} dégats !",
"BOL.chat.spell": "Sort",
"BOL.chat.spellcost": "Cout en Points de Pouvoir",
"BOL.chat.spellremaining": "Points de Pouvoir restants",
"BOL.chat.nodamagesummary": "Aucun dégats n'a été subi ....",
"BOL.chat.damageresume": "{name} a subi des blessures ...",
"BOL.chat.fumblemessage": "Si vous acceptez les conséquences d'un echec catastrophique (au choix du MJ), vous pourrez bénéficier d'1 point d'Héroïsme supplémentaire",
"BOL.chat.rangeinfo": "Tir/Lancer de {attackerName} vers {defenderName}",
"BOL.chat.rangeweaponinfo": "Arme : {weaponName} - Portée de base {weaponRange}",
"BOL.chat.rangeout": "Modificateur : Hors de portée",
"BOL.chat.range0": "Modificateur : Bout portant (+1)",
"BOL.chat.range1": "Modificateur : Portée courte (0)",
"BOL.chat.range2": "Modificateur : Portée moyenne (-1)",
"BOL.chat.range3": "Modificateur : Portée longue (-2)",
"BOL.chat.range4": "Modificateur : Portée très longue (-4)",
"BOL.chat.range5": "Modificateur : Portée extrême (-6)",
"BOL.chat.range6": "Modificateur : Portée maximale (-8)",
"BOL.chat.rangeprefix": "Distance évaluée : ",
"BOL.chat.rangevisible": "La ligne de vue est dégagée entre les protagonistes.",
"BOL.chat.rangenotvisible": "La ligne de vue est bloquée entre les protagonistes.",
"BOL.chat.rangetitle": "Information MJ",
"BOL.chat.weaponreroll1": "Pour information, cette arme relance les 1 sur ses dégâts.",
"BOL.chat.rollbougette": "Jet de Bougette",
"BOL.chat.bougettesuccess": "Votre bougette reste inchangée !",
"BOL.chat.bougettefailure": "Vous avez trop dépensé, votre bougette s'est réduite...",
"BOL.chat.initiative": "Rang d'intiative (10 à 1)",
"BOL.chat.horoscope": "Horoscope",
"BOL.chat.horoscopepoints": "Coût : {points} Points d'Astrologie",
"BOL.chat.horoscopeminorsuccess": "Votre horoscope mineur est un succès : éditez le nom de l'horoscope sur votre fiche. Vous bénéficiez d'1 dé Bonus pour cette situation.",
"BOL.chat.horoscopeminorfailure": "Votre horoscope mineur est un échec : éditez le nom de l'horoscope sur votre fiche. Vous souffrez d'1 dé Malus pour cette situation.",
"BOL.chat.horoscopemajorsuccess": "Votre horoscope majeur est un succès : vous bénéficiez d'1 point d'Héroisme pour cette aventure. Ce point a été ajouté automatiquement.",
"BOL.chat.horoscopemajorfailure": "Votre horoscope majeur est un échec : vous perdez 1 point d'Héroisme pour cette aventure. Ce point a été enlevé automatiquement.",
"BOL.chat.horoscopemajorgroupsuccess": "Votre horoscope majeur de groupe est un succès. Vous et vos amis bénéficiez de {careerBonus} dés bonus pendant cette aventure.",
"BOL.chat.horoscopemajorgroupfailure": "Votre horoscope majeur de groupe est un échec. Vous et vos amis souffrez de {careerBonus} dés malus pendant cette aventure.",
"BOL.chat.usedhoroscope": "Horoscope utilisé",
"BOL.chat.horoscopedeleted": "Le(s) Horoscopes utilisé(s) a/ont été supprimé(s) automatiquement.",
"BOL.chat.criticaloptions": "Succès critique !! Vous pouvez faire (1 option au choix) :",
"BOL.chat.criticalcarnage": "Faire un Carnage : vous avez une attaque gratuite supplémentaire. Cette seconde attaque ne peut bénéficier d'un Point d'Héroisme.",
"BOL.chat.criticalplus6": "Coup Dévastateur : +6 aux dommages (cf bouton ci-dessous).",
"BOL.chat.criticalprecise": "Coup Précis : Vous frappez pour diminuer les capacités de votre adversaire. Décrivez ce que vous faites, et si le MJ l'accepte, votre opposant subira un Dé de Malus pour les actions concernées.",
"BOL.chat.criticalunarm": "Désarmement : Si votre adversaire a une arme en main, vous le désarmez.",
"BOL.chat.criticalrabble": "Massacrer la piétaille : Si vous combattez de la Piétaille, les résultats des dommages indiquent le nombre d'adversaires mis hors de combat.",
"BOL.chat.criticalpush": "Renversement : Si la taille le permet, vous poussez votre adversaire au sol, il souffrira d'1 Dé de Malus pour toutes ses actions au round suivant.",
"BOL.chat.criticalup": "Transformer en Légendaire : En dépensant 1 point d'Héroisme, vous pouvez transformer ce Succès Héroïque en Légendaire, qui vous permet de prendre 2 options dans la liste ci-dessus (cf. bouton pour un +12 aux dommages par exemple).",
"BOL.chat.criticalinfo": "C'est un succès Héroïque ou Légendaire ! Choisissez vos options et effets !",
"BOL.chat.criticalbuttonjournal": "Succès Héroïque/Légendaire",
"BOL.dialog.soeasy": "Inmanquable (+4)",
"BOL.dialog.veryeasy": "Trés Facile (+2)",
"BOL.dialog.easy": "Facile (+1)",
"BOL.dialog.moderate": "Moyenne (0)",
"BOL.dialog.hard": "Ardue (-1)",
"BOL.dialog.tough": "Difficile (-2)",
"BOL.dialog.demanding": "Très Difficile (-4)",
"BOL.dialog.formidable": "Impossible (-6)",
"BOL.dialog.heroic": "Héroïque (-8)",
"BOL.dialog.mythic": "Mythique (-10)",
"BOL.dialog.divine": "Divine (-12)",
"BOL.dialog.pointblank": "Bout portant (+1)",
"BOL.dialog.close": "Courte (0)",
"BOL.dialog.medium": "Moyenne (-1))",
"BOL.dialog.long": "Longue (-2)",
"BOL.dialog.distant": "Très longue (-4)",
"BOL.dialog.extreme": "Extrême (-6)",
"BOL.dialog.utmost": "Maximale (-8)",
"BOL.ui.name": "Nom",
"BOL.ui.xp": "Experience",
"BOL.ui.xpspent": "Dépensée",
"BOL.ui.xptotal": "Totale",
"BOL.ui.biosize": "Taille",
"BOL.ui.bioweight": "Poids",
"BOL.ui.bioage": "Age",
"BOL.ui.biohair": "Cheveux",
"BOL.ui.bioeyes": "Yeux",
"BOL.ui.biosigns": "Signes distinctifs",
"BOL.ui.biodescription": "Description",
"BOL.ui.bionotes": "Notes",
"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.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.97rugQOtiwt8zPfQ]{Aide du Jeu}.",
"BOL.chat.welcome6": "Bon jeu en Lemurie !"
}

View File

@ -1,12 +1,17 @@
{
"ACTOR.TypeCharacter": "Personnage",
"ACTOR.TypeEncounter": "Rencontre",
"ACTOR.TypeVehicle": "Véhicule",
"ITEM.TypeItem": "Objet",
"ITEM.TypeFeature": "Trait",
"ITEM.TypeWeapon": "Arme",
"ITEM.TypeArmor": "Armure",
"TYPES": {
"Actor": {
"character": "Personnage",
"npc": "PNJ",
"vehicle": "Véhicule"
},
"Item": {
"item": "Objet",
"feature": "Trait",
"weapon": "Arme",
"armure": "Armure"
}
},
"BOL.attributes.vigor": "Vigueur",
"BOL.attributes.halfvigor": "Demi-vigueur",
"BOL.attributes.agility": "Agilité",
@ -478,7 +483,7 @@
"BOL.chat.applydamagetotarget": "Appliquer les dommages à la cible",
"BOL.chat.fightoption": "Option de combat",
"BOL.chat.reroll": "Relancer (1 P. Heroisme)",
"BOL.chat.heroicreminder": "En plus des actions indiquées sur les boutons ci-dessous, vous pouvez : <ul><li>Carnage : Attaquer une seconde fois le même adversaire</li><li>Coup précis : Un dé de malus à votre adversaire sur une localisation choisie</li><li>Désarmement</li><li>Massacrer la piétaille</li><li>Renversement : Renversez votre adversaire (1 taille de plus max)</li></ul>Si vous dépensez un Point dh'Eheoisme en plus, tout ces effets peuvent être doublés",
"BOL.chat.heroicreminder": "En plus des actions indiquées sur les boutons ci-dessous, vous pouvez : <ul><li>Carnage : Attaquer une seconde fois le même adversaire</li><li>Coup précis : Un dé de malus à votre adversaire sur une localisation choisie</li><li>Désarmement</li><li>Massacrer la piétaille</li><li>Renversement : Renversez votre adversaire (1 taille de plus max)</li></ul>Si vous dépensez un Point d'Héroisme en plus, tout ces effets peuvent être doublés",
"BOL.chat.toheroic": "Transformer en succés Héroïque (1 P. Héroisme/Vilainie)",
"BOL.chat.tolegend": "Transformer en succes Légendaire (1 P. Heroisme/Vilainie)",
"BOL.chat.hurttitle": "{name} va encaisser {damageTotal} dégats !",
@ -539,7 +544,7 @@
"BOL.chat.criticalinfo": "C'est un succès Héroïque ou Légendaire ! Choisissez vos options et effets !",
"BOL.chat.criticalbuttonjournal": "Succès Héroïque/Légendaire",
"BOL.chat.losshp": "{{name}} a perdu {lossHP} points de Vitalité. Si il se repose quelques minutes, il peut récupérer {recupHP} points de Vitalité.",
"BOL.chat.losshp": "{name} a perdu {lossHP} points de Vitalité. Si il se repose quelques minutes, il peut récupérer {recupHP} points de Vitalité.",
"BOL.chat.applyrecup": "Récupérer pendant quelques minutes (+{recupHP} Vitalité)",
"BOL.chat.inforecup": "{name} vient de récupérer {recupHP} points de Vitalité après quelques minutes de repos.",

View File

@ -61,7 +61,7 @@ export class BoLActor extends Actor {
}
/* -------------------------------------------- */
getInitiativeMalus() {
if ( this.type === 'encounter' && (this.chartype == "adversary" || this.chartype == "tough")) {
if (this.type === 'encounter' && (this.chartype == "adversary" || this.chartype == "tough")) {
return this.system.aptitudes.init.value
}
return 0
@ -103,12 +103,12 @@ 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 )
setTimeout(function () { actor.update({ 'system.resources.hp.max': newVitality }) }, 800)
}
let newPower = 10 + this.system.attributes.mind.value + this.system.resources.power.bonus
if (this.system.resources.power.max != newPower) {
let actor = this
setTimeout( function() { actor.update({ 'system.resources.power.max': newPower }) }, 800 )
setTimeout(function () { actor.update({ 'system.resources.power.max': newPower }) }, 800)
}
}
}
@ -121,7 +121,7 @@ export class BoLActor extends Actor {
super.prepareDerivedData()
if (this.id) {
this.updateResourcesData()
this.manageHealthState()
this.manageHealthState()
}
}
}
@ -130,16 +130,16 @@ export class BoLActor extends Actor {
get details() {
return this.system.details
}
addEffectModifiers( myList, dataPath) {
addEffectModifiers(myList, dataPath) {
for (let attr of myList) {
attr.numModifier = 0
attr.diceModifier = ""
let effects = this.items.filter( i => i.type === "feature" && i.system.subtype === "boleffect" && i.system.properties.identifier == dataPath+attr.key)
let effects = this.items.filter(i => i.type === "feature" && i.system.subtype === "boleffect" && i.system.properties.identifier == dataPath + attr.key)
for (let effect of effects) {
if ( Number(effect.system.properties.modifier)) {
if (Number(effect.system.properties.modifier)) {
attr.numModifier += Number(effect.system.properties.modifier)
} else {
attr.diceModifier += "+"+effect.system.properties.modifier
attr.diceModifier += "+" + effect.system.properties.modifier
}
}
}
@ -523,16 +523,16 @@ export class BoLActor extends Actor {
}
if (rollData.horoscopeType == "major") {
let actorHoroscope = this
if(rollData.targetId) {
if (rollData.targetId) {
let token = game.scenes.current.tokens.get(rollData.targetId)
actorHoroscope = token.actor
actorHoroscope = token.actor
}
if (rollData.isSuccess) {
actorHoroscope.addHeroPoints(1)
} else {
actorHoroscope.subHeroPoints(1)
}
rollData.horoscopeName = actorHoroscope.name
rollData.horoscopeName = actorHoroscope.name
}
if (rollData.horoscopeType == "majorgroup") {
let rID = randomID(16)
@ -607,16 +607,18 @@ export class BoLActor extends Actor {
/*-------------------------------------------- */
heroReroll() {
if (this.type == 'character') {
if (this.type == 'character' || this.system.villainy == 'adversary') {
return this.system.resources.hero.value > 0;
} else {
if (this.system.villainy == 'adversary') {
return this.system.resources.hero.value > 0;
}
}
return false
}
/*-------------------------------------------- */
getHeroPoints() {
if (this.type == 'character' || this.system.villainy == 'adversary') {
return this.system.resources.hero.value
}
return 0
}
/*-------------------------------------------- */
getResourcesFromType() {
let resources = {};
@ -842,7 +844,7 @@ export class BoLActor extends Actor {
let msg = await ChatMessage.create({
alias: this.name,
whisper: BoLUtility.getWhisperRecipientsAndGMs(this.name),
content: game.i18n.format( "BOL.chat.inforecup", {name: this.name, recupHP: recupHP} )
content: game.i18n.format("BOL.chat.inforecup", { name: this.name, recupHP: recupHP })
})
}
@ -860,12 +862,12 @@ export class BoLActor extends Actor {
}
/*-------------------------------------------- */
checkNumeric(myObject) {
if ( myObject) {
if (myObject) {
for (let key in myObject) {
if ( myObject[key].value === null ) {
if (myObject[key].value === null) {
myObject[key].value = 0
}
if ( myObject[key].value === NaN ) {
if (myObject[key].value === NaN) {
myObject[key].value = 0
}
}
@ -893,7 +895,7 @@ export class BoLActor extends Actor {
fvttInit = 5
if (!rollData) {
if (isCombat) {
if (game.user.isGM ) {
if (game.user.isGM) {
if (this.hasPlayerOwner) {
game.socket.emit("system.bol", { name: "msg_request_init_roll", data: { actorId: this.id, combatData } })
} else {
@ -949,7 +951,7 @@ export class BoLActor extends Actor {
/*-------------------------------------------- */
incDecResources(target, value) {
let newValue = this.system.resources[target].value + value
this.update({ [`system.resources.${target}.value`]: newValue })
this.update({ [`system.resources.${target}.value`]: newValue })
}
/*-------------------------------------------- */
async sufferDamage(damage) {

View File

@ -491,6 +491,7 @@ export class BoLRoll {
if (defender) { // If target is selected
rollData.defence = defender.defenseValue
rollData.armorMalus = defender.armorMalusValue
rollData.defenderHeroPoints = defender.getHeroPoints()
rollData.shieldBlock = 'none'
let shields = defender.shields
//console.log("Defender stats", defender)
@ -578,7 +579,7 @@ export class BoLRoll {
const isMalus = (rollData.bmDice < 0)
let rollbase = rollData.attrValue + rollData.aptValue
if (rollData.weapon && rollData.weapon.system.properties.onlymodifier) {
if (rollData.weapon?.system.properties.onlymodifier) {
rollbase = 0
}
let diceData = BoLUtility.getDiceData()

View File

@ -193,7 +193,7 @@ export class BoLUtility {
/* -------------------------------------------- */
static async ready() {
//$("#logo").attr("src", this.getLogoTopLeft() )
//$("#logo").attr("src", this.getLogoTopLeft() )
$("#logo").css("content", `url(${this.getLogoTopLeft()})`)
CONFIG.statusEffects = duplicate(game.bol.config.statusEffects)
@ -414,6 +414,11 @@ export class BoLUtility {
html.on("click", '.damage-handling', event => {
event.preventDefault()
let attr = event.currentTarget.attributes['data-attack-id']
if ( !attr) {
ui.notifications.warn("Impossible de trouver l'attaque correspondante, erreur de suivi de combat.")
return
}
let attackId = event.currentTarget.attributes['data-attack-id'].value
let defenseMode = event.currentTarget.attributes['data-defense-mode'].value
let weaponId = (event.currentTarget.attributes['data-weapon-id']) ? event.currentTarget.attributes['data-weapon-id'].value : -1
@ -451,7 +456,7 @@ export class BoLUtility {
BoLUtility.removeChatMessageId(msgId)
console.log("Damage Handling", attackId, defenseMode, weaponId)
// Only GM process this
// Only GM process this
if (rollData && rollData.defenderId) {
if (rollData.defenseDone || defenseMode == 'damage-not-applied') {
return
@ -472,7 +477,7 @@ export class BoLUtility {
console.log("Armor roll -> result ", rollData)
}
if (defenseMode == 'damage-without-armor') {
rollData.finalDamage = atrollDatatackDef.damageTotal
rollData.finalDamage = rollData.damageTotal
defender.sufferDamage(rollData.finalDamage)
}
if (defenseMode == 'hero-reduce-damage') {
@ -611,6 +616,7 @@ export class BoLUtility {
attackId: rollData.id,
attacker: rollData.attacker,
defender: defender,
defenderHeroPoints:defender.getHeroPoints(),
defenderWeapons: defenderWeapons,
damageTotal: rollData.damageTotal,
damagesIgnoresArmor: rollData.damagesIgnoresArmor,

File diff suppressed because one or more lines are too long

View File

@ -14,9 +14,9 @@
],
"url": "https://www.uberwald.me/gitea/public/bol",
"license": "LICENSE.txt",
"version": "11.0.7",
"version": "11.1.0",
"compatibility": {
"minimum": "10",
"minimum": "11",
"verified": "11"
},
"esmodules": [
@ -45,6 +45,55 @@
"flags": {}
}
],
"packFolders": [
{
"name": "BoL",
"sorting": "m",
"color": "#00435c",
"folders": [
{
"name": "Items d'Acteurs",
"sorting": "a",
"color": "#00435c",
"packs": [
"careers",
"languages",
"spells",
"boons",
"flaws",
"fightoptions",
"origins",
"races",
"godsfaith",
"effets-exemples"
]
},
{
"name": "Créatures",
"sorting": "a",
"color": "#00435c",
"packs": [
"boonsflawscreatures",
"creatures"
]
},
{
"name": "Objets&Equipement",
"sorting": "a",
"color": "#00435c",
"packs": [
"equipment",
"potions-alchimie",
"objets-alchimie"
]
}
],
"packs": [
"aides-de-jeu",
"cartes"
]
}
],
"packs": [
{
"name": "boons",
@ -202,7 +251,7 @@
],
"socket": true,
"manifest": "https://www.uberwald.me/gitea/public/bol/raw/v10/system.json",
"download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v11.0.7.zip",
"download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v11.1.0.zip",
"background": "systems/bol/ui/page_accueil.webp",
"gridDistance": 1.5,
"gridUnits": "m",

View File

@ -5,7 +5,7 @@
<div class="flexrow">
{{localize "BOL.chat.losshp" lossHP=lossHP recupHP=recupHP}}
{{localize "BOL.chat.losshp" name=name lossHP=lossHP recupHP=recupHP}}
<button class="recup-vitalite" data-actor-id="{{actorId}}" data-recup-hp="{{recupHP}}">{{localize "BOL.chat.applyrecup" recupHP=recupHP}}</button>
</div>

View File

@ -6,16 +6,14 @@
{{/if}}
<button class="damage-handling" data-defense-mode="damage-with-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.witharmor"}}</button>
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack--id="{{attackId}}">{{localize "BOL.chat.withoutarmor"}}</button>
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.withoutarmor"}}</button>
{{#if isHeroAdversary}}
{{#if (gt defender.system.resources.hero.value 0)}}
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize "BOL.chat.shakeoff"}}</button>
{{#if (gt defenderHeroPoints 0)}}
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize "BOL.chat.shakeoff"}}</button>
{{#each defenderWeapons as |weapon idx|}}
<button class="damage-handling" data-defense-mode="hero-in-extremis" data-attack-id="{{@root.attackId}}" data-weapon-id="{{weapon._id}}">{{localize "BOL.chat.splinteredshield" name=weapon.name}}</button>
{{/each}}
{{/if}}
{{#each defenderWeapons as |weapon idx|}}
<button class="damage-handling" data-defense-mode="hero-in-extremis" data-attack-id="{{@root.attackId}}" data-weapon-id="{{weapon._id}}">{{localize "BOL.chat.splinteredshield" name=weapon.name}}</button>
{{/each}}
{{/if}}
<button class="damage-handling" data-defense-mode="damage-not-applied" data-attack-id="{{attackId}}">{{localize "BOL.chat.nodamage"}}</button>