diff --git a/css/bol.css b/css/bol.css
index db462e7..e4d09c0 100644
--- a/css/bol.css
+++ b/css/bol.css
@@ -855,11 +855,30 @@ body.system-bol img#logo {
font-weight: bold;
color: #4b4a44;
}
+.bol.sheet.actor .bonus-text {
+ margin-top: 6px;
+}
.bol.sheet.actor .stat-value {
font-size: 1.5rem;
font-weight: bold;
color: darkred;
}
+.bol.sheet.actor .resource-bonus {
+ font-weight: bold;
+ color: darkred;
+}
+.bol.sheet.actor .resources-value {
+ background-color:#2a2a2a30;
+ border-color: #003c1e;
+ margin-top: 4px;
+ border-radius: 0.5rem;
+}
+.bol.sheet.actor .resources-novalue {
+ background-color:#2a2a2a00;
+ border-color: #003c1e;
+ margin-top: 4px;
+ border-radius: 0.5rem;
+}
.bol.sheet.actor .stat-roll {
font-size: 1.5rem;
color: #4b4a44;
diff --git a/lang/fr.json b/lang/fr.json
index 42281bc..aa9ddf1 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -348,5 +348,64 @@
"BOL.size.enormous": "Colossale",
"BOL.size.gigantic": "Gigantesque",
"BOL.size.immense": "Immense",
- "BOL.size.colossal": "Monstrueuse"
-}
\ No newline at end of file
+ "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 ! Créez l'item ou l'effet correspondant dans votre Inventaire. L'avancement dans la préparation a été remis à 0.",
+ "BOL.chat.alchemyfailure": "La préparation alchimique a échouée ! 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 {weapon.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.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)"
+}
\ No newline at end of file
diff --git a/module/actor/actor.js b/module/actor/actor.js
index 429612d..58881dc 100644
--- a/module/actor/actor.js
+++ b/module/actor/actor.js
@@ -27,11 +27,11 @@ export class BoLActor extends Actor {
if (this.type == 'character') {
let newVitality = 10 + this.data.data.attributes.vigor.value + this.data.data.resources.hp.bonus
if (this.data.data.resources.hp.max != newVitality) {
- this.update({ 'data.resources.hp.max': newVitality });
+ this.update({ 'data.resources.hp.max': newVitality })
}
let newPower = 10 + this.data.data.attributes.mind.value + this.data.data.resources.power.bonus
if (this.data.data.resources.power.max != newPower) {
- this.update({ 'data.resources.power.max': newPower });
+ this.update({ 'data.resources.power.max': newPower })
}
}
}
diff --git a/system.json b/system.json
index 10039c9..202a18a 100644
--- a/system.json
+++ b/system.json
@@ -14,7 +14,7 @@
"url": "https://github.com/ZigmundKreud/bol",
"license": "LICENSE.txt",
"flags": {},
- "version": "1.3.8",
+ "version": "1.3.10",
"templateVersion": 10,
"minimumCoreVersion": "0.8.6",
"compatibleCoreVersion": "9",
diff --git a/templates/actor/parts/tabs/actor-stats.hbs b/templates/actor/parts/tabs/actor-stats.hbs
index 1b96903..5b1af3a 100644
--- a/templates/actor/parts/tabs/actor-stats.hbs
+++ b/templates/actor/parts/tabs/actor-stats.hbs
@@ -50,25 +50,29 @@
{{#if @root.isAlchemist}}
{{#if state}}
- {{name}} active son option de combat {{foName}} pour ce round !
+ {{localize "BOL.chat.fightactive" name=name foName=foName}}
{{else}}
- {{name}} désactive son option de combat {{foName}} pour ce round !
+ {{localize "BOL.chat.fightunactive" name=name foName=foName}}
{{/if}}
-
{{#if (eq hp 0)}}
- La Vitalité de {{name}} est {{hp}} : il va s'écrouler au sol et sombrer dans l'inconscience !
- Vous pouvez dépenser 1 Point d'Héroisme pour reprendre vos esprits pendant 1 round.
- Dans ce cas votre vitalité remonte à son maximum divisé par 2 (arrondi au supérieur).
+ {{localize "BOL.chat.vitalityzero" name=name hp=hp}}
+ {{localize "BOL.chat.vitalityheroism"}}
+ {{localize "BOL.chat.vitalityheroismhint"}}
{{else}}
- La Vitalité de {{name}} est de {{hp}} ! Il est mourant ...
- Vous pouvez cependant dépenser 1 Point d'Héroisme pour Défier la Mort (cf. page 58).
+ {{localize "BOL.chat.vitalitydying" name=name hp=hp}}
+ {{localize "BOL.chat.vitalitydyingheroism"}}
{{/if}}
{{#if (lt hp -5)}}
- {{name}} est mort !
- Que son nom soit honoré sur les champs de batailles de Lémurie !
+ {{localize "BOL.chat.isdead" name=name}}
+ {{localize "BOL.chat.epitaph"}}
{{/if}}
{{#if isSuccess}}
-La préparation alchimique a été réalisée avec succès !
- Créez l'item ou l'effet correspondant dans votre Inventaire.
- L'avancement dans la préparation a été remis à 0.
+ {{localize "BOL.chat.alchemysuccess"}}
{{else}}
-La préparation alchimique a échouée !
- L'avancement dans la préparation a été remis à 0.
+ {{localize "BOL.chat.alchemyfailure"}}
{{/if}}
diff --git a/templates/chat/rolls/attack-damage-card.hbs b/templates/chat/rolls/attack-damage-card.hbs
index 280e2ad..eecdbcc 100644
--- a/templates/chat/rolls/attack-damage-card.hbs
+++ b/templates/chat/rolls/attack-damage-card.hbs
@@ -1,7 +1,7 @@
-
+
{{#if isCritical}}
-
-
+
+
{{/if}}
diff --git a/templates/chat/rolls/damage-roll-card.hbs b/templates/chat/rolls/damage-roll-card.hbs
index 08e2600..6b4d893 100644
--- a/templates/chat/rolls/damage-roll-card.hbs
+++ b/templates/chat/rolls/damage-roll-card.hbs
@@ -1,13 +1,13 @@
-
Dommages de {{weapon.name}} : {{damageRoll.total}}
diff --git a/templates/chat/rolls/defense-request-card.hbs b/templates/chat/rolls/defense-request-card.hbs
index f923466..ccfe33d 100644
--- a/templates/chat/rolls/defense-request-card.hbs
+++ b/templates/chat/rolls/defense-request-card.hbs
@@ -1,18 +1,18 @@
-{{defender.name}} va encaisser {{damageTotal}} dégats !
+{{localize "BOL.chat.hurttitle" name=defender.name damageTotal=damageTotal}}
{{#if damagesIgnoresArmor}}
- C'est une attaque au défaut de l'armure : vous devez encaisser SANS la protection de l'armure !
+ {{localize "BOL.chat.armordefault"}}
{{/if}}
-
-
+
+
{{#if defender.data.data.resources.hero.value}}
-
+
{{#each defenderWeapons as |weapon idx|}}
-
+
{{/each}}
{{/if}}
\ No newline at end of file
diff --git a/templates/chat/rolls/defense-result-card.hbs b/templates/chat/rolls/defense-result-card.hbs
index 30e08c6..e41dc14 100644
--- a/templates/chat/rolls/defense-result-card.hbs
+++ b/templates/chat/rolls/defense-result-card.hbs
@@ -1,23 +1,22 @@
-
Dégats subis par {{defender.name}}
+
{{localize "BOL.chat.damagesummary" name=name}}
{{#if (eq defenseMode "damage-with-armor")}}
- Protection de l'armure : {{armorProtect}}.
+ {{localize "BOL.chat.protectvalue"}} : {{armorProtect}}.
{{/if}}
{{#if (eq defenseMode "damage-without-armor")}}
- Aucune protection d'armure !
+ {{localize "BOL.chat.noprotectvalue"}}
{{/if}}
{{#if (eq defenseMode "hero-reduce-damage")}}
- Protection de l'armure : {{armorProtect}}.
- Un point d'héroisme dépensé, pour une réduction des dommages supplémentaire de {{rollHero.total}}.
+ {{localize "BOL.chat.protectvalue"}} : {{armorProtect}}.
+ {{localize "BOL.chat.heroreducedamage" total=rollHero.total}}
{{/if}}
{{#if (eq defenseMode "hero-in-extremis")}}
- 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é.
+ {{localize "BOL.chat.herosplintered" name=weaponHero.name}}
{{/if}}
-Encaissement final : {{finalDamage}} dégats !
+ {{localize "BOL.chat.finaldamage" finalDamage=finalDamage}}