Fix after testing

This commit is contained in:
2026-01-10 22:35:39 +01:00
parent b113f630bf
commit 936d525503
119 changed files with 3193 additions and 1096 deletions

View File

@@ -29,26 +29,16 @@ export class HeritiersRollDialog {
// Préparer les boutons selon le mode et le niveau
const buttons = this._prepareButtons(rollData)
// Lancer le dialog de manière asynchrone (sans attendre)
setTimeout(() => {
foundry.applications.api.DialogV2.wait({
window: { title: "Test de Capacité", icon: "fa-solid fa-dice" },
classes: ["heritiers-roll-dialog"],
position: { width: 420, height: 'fit-content' },
modal: false,
content,
buttons,
rejectClose: false,
render: (event, html) => {
this._activateListeners(html, rollData)
}
})
}, 0)
// Retourner un objet avec une méthode render() vide pour compatibilité
return {
render: () => {} // No-op for compatibility with old code
}
// Utiliser DialogV2.wait avec le HTML rendu
return foundry.applications.api.DialogV2.wait({
window: { title: "Test de Capacité", icon: "fa-solid fa-dice" },
classes: ["heritiers-roll-dialog"],
position: { width: 420 },
modal: false,
content,
buttons,
rejectClose: false
})
}
/**
@@ -63,7 +53,7 @@ export class HeritiersRollDialog {
// Bouton d8 toujours disponible
buttons.push({
action: "rolld8",
label: "Lancer 1d8",
label: "1d8",
icon: "fa-solid fa-dice-d8",
default: true,
callback: (event, button, dialog) => {
@@ -77,7 +67,7 @@ export class HeritiersRollDialog {
if (enableD10) {
buttons.push({
action: "rolld10",
label: "Lancer 1d10",
label: "1d10",
icon: "fa-solid fa-dice-d10",
callback: (event, button, dialog) => {
this._updateRollDataFromForm(rollData, button.form.elements)
@@ -91,7 +81,7 @@ export class HeritiersRollDialog {
if (enableD12) {
buttons.push({
action: "rolld12",
label: "Lancer 1d12",
label: "1d12",
icon: "fa-solid fa-dice-d12",
callback: (event, button, dialog) => {
this._updateRollDataFromForm(rollData, button.form.elements)
@@ -104,7 +94,7 @@ export class HeritiersRollDialog {
if (rollData.tricherie) {
buttons.push({
action: "rollTricherie",
label: "Lancer avec 1 Point de Tricherie",
label: "Lancer 1 Tricherie",
icon: "fa-solid fa-mask",
callback: (event, button, dialog) => {
this._updateRollDataFromForm(rollData, button.form.elements)
@@ -117,7 +107,7 @@ export class HeritiersRollDialog {
if (rollData.heritage) {
buttons.push({
action: "rollHeritage",
label: "Lancer avec 1 Point d'Héritage",
label: "Lancer 1 Héritage",
icon: "fa-solid fa-crown",
callback: (event, button, dialog) => {
this._updateRollDataFromForm(rollData, button.form.elements)
@@ -145,94 +135,6 @@ export class HeritiersRollDialog {
return buttons
}
/**
* Activer les listeners sur le formulaire
* @param {HTMLElement} html - L'élément HTML du dialog
* @param {Object} rollData - Data for the roll
* @private
*/
static _activateListeners(html, rollData) {
// Seuil de Difficulté
const sdValue = html.querySelector('#sdValue')
if (sdValue) {
sdValue.addEventListener('change', (event) => {
rollData.sdValue = Number(event.currentTarget.value)
})
}
// Caractéristique
const caracKey = html.querySelector('#caracKey')
if (caracKey) {
caracKey.addEventListener('change', (event) => {
rollData.caracKey = String(event.currentTarget.value)
})
}
// Bonus/Malus contextuel
const bonusMalusContext = html.querySelector('#bonus-malus-context')
if (bonusMalusContext) {
bonusMalusContext.addEventListener('change', (event) => {
rollData.bonusMalusContext = Number(event.currentTarget.value)
})
}
// Attaque à plusieurs
const bonusAttaquePlusieurs = html.querySelector('#bonus-attaque-plusieurs')
if (bonusAttaquePlusieurs) {
bonusAttaquePlusieurs.addEventListener('change', (event) => {
rollData.bonusAttaquePlusieurs = Number(event.currentTarget.value)
})
}
// Spécialité
const useSpecialite = html.querySelector('#useSpecialite')
if (useSpecialite) {
useSpecialite.addEventListener('change', (event) => {
rollData.useSpecialite = event.currentTarget.checked
})
}
// Points d'usage du pouvoir
const pouvoirPointsUsage = html.querySelector('#pouvoirPointsUsage')
if (pouvoirPointsUsage) {
pouvoirPointsUsage.addEventListener('change', (event) => {
rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
})
}
// Attaque dans le dos
const attaqueDos = html.querySelector('#attaqueDos')
if (attaqueDos) {
attaqueDos.addEventListener('change', (event) => {
rollData.attaqueDos = event.currentTarget.checked
})
}
// Seconde arme
const secondeArme = html.querySelector('#bonus-attaque-seconde-arme')
if (secondeArme) {
secondeArme.addEventListener('change', (event) => {
rollData.secondeArme = String(event.currentTarget.value)
})
}
// Attaque ciblée
const attaqueCible = html.querySelector('#attaque-cible')
if (attaqueCible) {
attaqueCible.addEventListener('change', (event) => {
rollData.attaqueCible = String(event.currentTarget.value)
})
}
// Attaque à deux armes
const attaqueDeuxArmes = html.querySelector('#bonus-attaque-deux-armes')
if (attaqueDeuxArmes) {
attaqueDeuxArmes.addEventListener('change', (event) => {
rollData.attaqueDeuxArmes = Number(event.currentTarget.value)
})
}
}
/**
* Mettre à jour rollData avec les valeurs du formulaire
* @param {Object} rollData - L'objet rollData à mettre à jour
@@ -305,7 +207,7 @@ export class HeritiersRollDialog {
} else {
rollData.mainDice = dice
}
HeritiersUtility.rollHeritiers(rollData)
}
}