Fix sorts/armes

This commit is contained in:
2021-04-13 20:19:32 +02:00
parent 8170c1d407
commit 7b8503e632
11 changed files with 74 additions and 37 deletions

View File

@@ -135,10 +135,11 @@ export class VadentisActor extends Actor {
if (myRoll.results[0] > 1 && myRoll.total >= devotionSort.data.difficulty) {
msgData.img = 'systems/foundryvtt-vadentis/images/icons/tchat_sort_réussi.webp';
msgData.msg = `${this.name} a réussi son ${name} et perd ${devotionSort.data.pe} Points d'Energie (lancer : ${formulaFull}). L'effet suivant se produit: <br>${devotionSort.data.effect}`;
let effectClean = devotionSort.data.effect; //.replace( /(<([^>]+)>)/ig, '');
msgData.msg = `${this.name} a réussi son ${name} et perd ${devotionSort.data.pe} Points d'Energie (lancer : ${formulaFull}).<br>${effectClean}`;
let newEnergie = this.data.data.stats.pointsenergie.value - devotionSort.data.pe;
await this.update( {'data.stats.pointsenergie.value': newEnergie });
if (myRoll.results[0] == 20 ) { // Critique ?
if (myRoll.results[0] >= devotionSort.data.valuecritical ) { // Critique ?
msgData.img = 'systems/foundryvtt-vadentis/images/icons/tchat_réussite_critique.webp';
msgData.ms += "<br>C'est une <strong>réussite critique</strong> !";
}
@@ -209,7 +210,7 @@ export class VadentisActor extends Actor {
_getCombatValue(mydata) {
if ( typeof mydata.base == 'number' ) {
return mydata.base + mydata.malus + mydata.bonus;
}else {
} else {
return Number(mydata.base[0]) + Number(mydata.malus[0]) + Number(mydata.bonus[0]);
}
}
@@ -320,12 +321,13 @@ export class VadentisActor extends Actor {
async genericRoll( stat ) {
let statValue = this._getCombatValue( stat );
let formulaFull = this.buildTexteFormula( stat );
let myRoll = await VadentisUtility.processRoll("1d20+"+statValue );
let msgData = {
alias: this.name,
img: "",
title: `Jet de ${stat.label}`,
title: VadentisUtility.buildJetText( stat),
msg: `${formulaFull} => <strong>${myRoll.total}</strong>`
}

View File

@@ -102,7 +102,7 @@ export class VadentisUtility extends Entity {
let formula = combatData.arme.data.damage.toLowerCase();
msgData.msg = `${attacker.name} a réussi son attaque sur ${defender.name} (${formulaFull} => ${myRoll.total} / ${defense}) !<br> Les dégâts sont ${degats}.`;
if ( myRoll.results[0] == 20) {
if ( myRoll.results[0] >= combatData.arme.data.valuecritical ) {
degats = `critiques : ${combatData.arme.data.criticaldamage}`;
formula = combatData.arme.data.criticaldamage.toLowerCase();
msgData.msg += `<br>C'est une <strong>réussite critique</strong> !`;
@@ -130,6 +130,16 @@ export class VadentisUtility extends Entity {
}
}
/* -------------------------------------------- */
static buildJetText( stat) {
let name = stat.label;
let title = `Jet de ${name}`;
if ( name.toLowerCase().substr(0,1).match(/[aeoiou]/g) ) {
title = `Jet d'${name}`;
}
return title;
}
/* -------------------------------------------- */
static registerChatCallbacks( ) {