Compare commits

..

2 Commits

Author SHA1 Message Date
uberwald 4743cc7b4a fix: utiliser skill.value dans les formules de jets (pas skill.max)
Release Creation / build (release) Successful in 40s
- computeRollFormula, computeResults, confrontations utilisent la valeur actuelle
- skill.max sert uniquement de plafond et d'affichage
2026-07-24 09:27:11 +02:00
uberwald adbbb8ffa8 Fix release number 2026-07-24 09:18:26 +02:00
4 changed files with 15 additions and 15 deletions
+1 -1
View File
@@ -67,5 +67,5 @@ jobs:
version: ${{steps.get_version.outputs.version-without-v}}
manifest: "https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json"
notes: "https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-ecryme-${{github.event.release.tag_name}}.zip"
compatibility-minimum: "13"
compatibility-minimum: "14"
compatibility-verified: "14"
+6 -6
View File
@@ -444,8 +444,8 @@ export class EcrymeActor extends Actor {
let rollData = this.getCommonSkill(categKey, skillKey)
rollData.mode = "skill"
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
rollData.executionTotal = rollData.skill.max
rollData.preservationTotal = rollData.skill.max
rollData.executionTotal = rollData.skill.value
rollData.preservationTotal = rollData.skill.value
rollData.applyTranscendence = "execution"
rollData.traitsBonus = foundry.utils.deepClone(rollData.traits)
rollData.traitsMalus = foundry.utils.deepClone(rollData.traits)
@@ -463,8 +463,8 @@ export class EcrymeActor extends Actor {
rollData.skill.categKey = "cephaly"
rollData.skill.skillKey = skillKey
rollData.title = game.i18n.localize("ECRY.ui.cephaly") + " : " + game.i18n.localize(rollData.skill.name)
rollData.executionTotal = rollData.skill.max
rollData.preservationTotal = rollData.skill.max
rollData.executionTotal = rollData.skill.value
rollData.preservationTotal = rollData.skill.value
rollData.traitsBonus = foundry.utils.deepClone(rollData.traits)
rollData.traitsMalus = foundry.utils.deepClone(rollData.traits)
rollData.applyTranscendence = "execution"
@@ -484,8 +484,8 @@ export class EcrymeActor extends Actor {
rollData.mode = "weapon"
rollData.weapon = foundry.utils.deepClone(weapon)
rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name)
rollData.executionTotal = rollData.skill.max
rollData.preservationTotal = rollData.skill.max
rollData.executionTotal = rollData.skill.value
rollData.preservationTotal = rollData.skill.value
rollData.traitsBonus = foundry.utils.deepClone(rollData.traits)
rollData.traitsMalus = foundry.utils.deepClone(rollData.traits)
rollData.applyTranscendence = "execution"
+6 -6
View File
@@ -229,19 +229,19 @@ export class EcrymeUtility {
let maxMargin // Dummy max
if (confront.marginExecution > 0) { // Successful hit
// Limit with skill+spec
maxMargin = confront.rollData1.skill.max + ((confront.rollData1.spec) ? 2 : 0)
maxMargin = confront.rollData1.skill.value + ((confront.rollData1.spec) ? 2 : 0)
confront.marginExecution = Math.min(confront.marginExecution, maxMargin)
} else { // Failed hit
maxMargin = confront.rollData2.skill.max + ((confront.rollData2.spec) ? 2 : 0)
maxMargin = confront.rollData2.skill.value + ((confront.rollData2.spec) ? 2 : 0)
confront.marginExecution = -Math.min(Math.abs(confront.marginExecution), maxMargin)
}
if (confront.marginPreservation > 0) { // Successful defense
// Limit with skill+spec
maxMargin = confront.rollData1.skill.max + ((confront.rollData1.spec) ? 2 : 0)
maxMargin = confront.rollData1.skill.value + ((confront.rollData1.spec) ? 2 : 0)
confront.marginPreservation = Math.min(confront.marginPreservation, maxMargin)
} else { // Failed defense
maxMargin = confront.rollData2.skill.max + ((confront.rollData2.spec) ? 2 : 0)
maxMargin = confront.rollData2.skill.value + ((confront.rollData2.spec) ? 2 : 0)
confront.marginPreservation = - Math.min(Math.abs(confront.marginPreservation), maxMargin)
}
@@ -551,7 +551,7 @@ export class EcrymeUtility {
rollData.margin = rollData.total - rollData.difficulty
if (rollData.total > rollData.difficulty) {
rollData.isSuccess = true
let maxMargin = rollData.skill.max + ((rollData.spec) ? 2 : 0)
let maxMargin = rollData.skill.value + ((rollData.spec) ? 2 : 0)
rollData.margin = Math.min(rollData.margin, maxMargin)
}
}
@@ -567,7 +567,7 @@ export class EcrymeUtility {
diceFormula = (isConfrontation) ? "5d6kl2" : "3d6kl2"
}
if (rollData.skill) {
diceFormula += "+" + rollData.skill.max
diceFormula += "+" + rollData.skill.value
}
if (rollData.skillTranscendence) {
let toSpend = Math.min(rollData.skillTranscendence, rollData.skill.value)
+2 -2
View File
@@ -200,14 +200,14 @@ export class EcrymeConfrontDialog extends HandlebarsApplicationMixin(foundry.app
rollData.executionTotal = rollData.availableDices
.filter(d => d.location === "execution")
.reduce((acc, d) => acc + d.result, rollData.skill.max)
.reduce((acc, d) => acc + d.result, rollData.skill.value)
rollData.executionTotal = rollData.confrontBonus
.filter(d => d.location === "execution")
.reduce((acc) => acc + 1, rollData.executionTotal)
rollData.preservationTotal = rollData.availableDices
.filter(d => d.location === "preservation")
.reduce((acc, d) => acc + d.result, rollData.skill.max)
.reduce((acc, d) => acc + d.result, rollData.skill.value)
rollData.preservationTotal = rollData.confrontBonus
.filter(d => d.location === "preservation")
.reduce((acc) => acc + 1, rollData.preservationTotal)