Amelioration des talents et quelques corrections

This commit is contained in:
2026-06-23 17:40:57 +02:00
parent d1fbe611ef
commit dd0276e7e1
87 changed files with 366 additions and 245 deletions
@@ -66,6 +66,7 @@ export default class MournbladeCYD2ActorSheetV2 extends HandlebarsApplicationMix
deleteEffect: MournbladeCYD2ActorSheetV2.#onDeleteEffect,
toggleEffect: MournbladeCYD2ActorSheetV2.#onToggleEffect,
applyEffect: MournbladeCYD2ActorSheetV2.#onApplyEffect,
toggleTalentUsed: MournbladeCYD2ActorSheetV2.#onToggleTalentUsed,
},
};
@@ -502,4 +503,20 @@ export default class MournbladeCYD2ActorSheetV2 extends HandlebarsApplicationMix
}
// #endregion
// #region Talent Management
/**
* Toggle the used state of a talent item
* @param {Event} event - The click event
* @param {HTMLElement} target - The clicked element
*/
static async #onToggleTalentUsed(event, target) {
event.preventDefault();
const li = target.closest('[data-item-id]');
const item = this.document.items.get(li?.dataset.itemId);
if (item) await item.update({ "system.used": !item.system.used });
}
// #endregion
}
@@ -64,6 +64,8 @@ export default class MournbladeCYD2ItemSheetV2 extends HandlebarsApplicationMixi
),
isEditMode: this.isEditMode,
isEditable: this.isEditable,
editable: this.isEditable,
owner: this.document.isOwner,
isGM: game.user.isGM,
};
}
@@ -22,6 +22,16 @@ export default class MournbladeCYD2ProfilSheet extends MournbladeCYD2ItemSheetV2
/** @override */
async _prepareContext() {
const context = await super._prepareContext();
const item = this.document;
// Enrich each HTMLField for ProseMirror display
for (const field of ["competences", "talentsinitie", "prerequisaguerri", "talentsaguerri", "prerequismaitre", "talentsmaitre"]) {
const enrichedKey = `enriched${field.charAt(0).toUpperCase() + field.slice(1)}`;
context[enrichedKey] = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
item.system[field] || "", { async: true }
);
}
return context;
}
}
+3 -4
View File
@@ -13,11 +13,10 @@ export class MournbladeCYD2Utility {
/* -------------------------------------------- */
// Helper pour calculer la valeur totale d'un item en SC (Sous de Cuivre / Pièces de Bronze)
// Helper pour calculer la valeur totale d'un item en PB (Pièces de Bronze)
// Conversion selon le lore Mournblade :
// 1 SA (Sou d'Argent / Pièce d'Argent) = 10 PB (Pièces de Bronze / Sous de Cuivre)
// 1 SA (Sou d'Argent) = 10 PB (Pièces de Bronze)
// 1 PO (Pièce d'Or) = 10 SA = 100 PB
// Donc : 1 PA (Pièce d'Argent) = 10 SC, 1 PO (Pièce d'Or) = 100 SC
static calculateItemValueSC(prixpo, prixca, prixsc) {
const po = parseInt(prixpo) || 0;
const ca = parseInt(prixca) || 0;
@@ -384,7 +383,7 @@ export class MournbladeCYD2Utility {
/* -------------------------------------------- */
static computeMonnaieDetails(valueSC) {
// Conversion selon le lore Mournblade :
// 1 PO = 100 SC, 1 CA (PA) = 10 SC
// 1 PO = 100 PB, 1 SA = 10 PB
let po = Math.floor(valueSC / 100)
let pa = Math.floor((valueSC - (po * 100)) / 10)
let sc = valueSC - (po * 100) - (pa * 10)