forked from public/foundryvtt-reve-de-dragon
Fix: ajustements surprises
Affichage de l'image de la surprise
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { RDD_CONFIG } from "../constants.js"
|
||||
import { Misc } from "../misc.js"
|
||||
import { ReglesOptionnelles } from "../settings/regles-optionnelles.js"
|
||||
import { StatusEffects } from "../settings/status-effects.js"
|
||||
import { demiReveStatusEffect, StatusEffects } from "../settings/status-effects.js"
|
||||
import { ROLL_TYPE_ATTAQUE, ROLL_TYPE_DEFENSE } from "./roll-constants.mjs"
|
||||
import { ROLLDIALOG_SECTION, RollPart } from "./roll-part.mjs"
|
||||
|
||||
@@ -40,28 +41,29 @@ export class RollPartSign extends RollPart {
|
||||
const current = this.getCurrent(rollData)
|
||||
current.armeDisparate = isCombat && current.armeDisparate
|
||||
current.surprise = actor.getSurprise(isCombat) // TODO: could be from rollData.active.surprise??
|
||||
current.reasons = actor.getEffects(it => StatusEffects.niveauSurprise(it) > 0).map(it => it.name)
|
||||
current.reasons = actor.getEffects(it => StatusEffects.niveauSurprise(it) > 0)
|
||||
.map(it => { return { img: it.img, label: game.i18n.localize(it.name) } })
|
||||
current.diviseur = 1
|
||||
if (current.surprise == 'demi') {
|
||||
current.diviseur *= 2
|
||||
}
|
||||
if (isCombat && actor.isDemiReve()) {
|
||||
current.reasons.push('Demi-rêve en combat')
|
||||
current.reasons.push({ img: RDD_CONFIG.icons.demiReve, label: 'Demi-rêve en combat' })
|
||||
}
|
||||
if (this.isParadeArmeDisparate(current)) {
|
||||
current.diviseur *= 2
|
||||
current.reasons.push('Armes disparates')
|
||||
current.reasons.push({ img: RDD_CONFIG.icons.armesDisparates, label: 'Armes disparates' })
|
||||
}
|
||||
if (this.isAttaqueFinesse(rollData)) {
|
||||
current.diviseur *= 2
|
||||
current.reasons.push('Particulière en finesse')
|
||||
current.reasons.push({ img: RDD_CONFIG.particuliere.finesse.img, label: 'Particulière en finesse' })
|
||||
}
|
||||
|
||||
if (!ReglesOptionnelles.isUsing('tripleSignificative')) {
|
||||
current.diviseur = Math.min(current.diviseur, 4);
|
||||
}
|
||||
|
||||
current.reason = current.reasons.join(', ')
|
||||
current.reason = current.reasons.map(it => it.label).join(', ')
|
||||
}
|
||||
|
||||
isAttaqueFinesse(rollData) {
|
||||
@@ -76,8 +78,16 @@ export class RollPartSign extends RollPart {
|
||||
const current = this.getCurrent(rollData)
|
||||
if (current.surprise == 'demi') {
|
||||
return [
|
||||
{ label: 'Significative requise ' + Misc.getFractionOneN(current.diviseur) },
|
||||
...current.reasons.map(it => { return { label: '<i class="fa-solid fa-triangle-exclamation"></i> ' + it } })
|
||||
{
|
||||
label: 'Significative requise ' + Misc.getFractionOneN(current.diviseur)
|
||||
},
|
||||
...current.reasons.map(it => {
|
||||
return {
|
||||
label: it.img
|
||||
? `<img src="${it.img}"> ${it.label}`
|
||||
: `<i class="fa-solid fa-triangle-exclamation"></i> ${it.label}`
|
||||
}
|
||||
})
|
||||
]
|
||||
}
|
||||
return []
|
||||
|
||||
Reference in New Issue
Block a user