Compare commits

...

3 Commits

Author SHA1 Message Date
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
7 changed files with 50 additions and 44 deletions

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,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

@ -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 = {};

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

@ -611,6 +611,7 @@ export class BoLUtility {
attackId: rollData.id,
attacker: rollData.attacker,
defender: defender,
defenderHeroPoints:defender.getHeroPoints(),
defenderWeapons: defenderWeapons,
damageTotal: rollData.damageTotal,
damagesIgnoresArmor: rollData.damagesIgnoresArmor,

View File

@ -14,7 +14,7 @@
],
"url": "https://www.uberwald.me/gitea/public/bol",
"license": "LICENSE.txt",
"version": "11.0.13",
"version": "11.0.14",
"compatibility": {
"minimum": "10",
"verified": "11"
@ -202,7 +202,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.13.zip",
"download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v11.0.14.zip",
"background": "systems/bol/ui/page_accueil.webp",
"gridDistance": 1.5,
"gridUnits": "m",

View File

@ -8,15 +8,13 @@
<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>
{{#if isHeroAdversary}}
{{#if (gt defender.system.resources.hero.value 0)}}
{{#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}}
{{/if}}
<button class="damage-handling" data-defense-mode="damage-not-applied" data-attack-id="{{attackId}}">{{localize "BOL.chat.nodamage"}}</button>