- Profils raciaux appliqués automatiquement - DsN opératonnel - Gestion plus fine des fils/orbes
This commit is contained in:
@@ -37,6 +37,7 @@ export default class LesOubliesActorSheet extends HandlebarsApplicationMixin(fou
|
||||
openCombatPreset: LesOubliesActorSheet.#onOpenCombatPreset,
|
||||
openThreadHarvest: LesOubliesActorSheet.#onOpenThreadHarvest,
|
||||
openLinkedActor: LesOubliesActorSheet.#onOpenLinkedActor,
|
||||
transferThread: LesOubliesActorSheet.#onTransferThread,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -217,4 +218,26 @@ export default class LesOubliesActorSheet extends HandlebarsApplicationMixin(fou
|
||||
const actor = game.actors.get(actorId)
|
||||
if (actor) actor.sheet.render(true)
|
||||
}
|
||||
|
||||
static async #onTransferThread(event, target) {
|
||||
const resourceKey = target.dataset.resourceKey
|
||||
const direction = target.dataset.direction || "toCompany"
|
||||
if (!resourceKey || !this.document?.transferThreadReserve) return
|
||||
|
||||
const row = target.closest("[data-transfer-row]")
|
||||
const amountField = row?.querySelector?.("[data-transfer-amount]")
|
||||
const amount = Math.max(Math.trunc(Number(amountField?.value ?? 1)), 0)
|
||||
if (amount < 1) {
|
||||
ui.notifications.warn("Indiquez une quantité à transférer.")
|
||||
return
|
||||
}
|
||||
|
||||
const success = await this.document.transferThreadReserve(resourceKey, amount, direction)
|
||||
if (!success) {
|
||||
ui.notifications.warn("Transfert impossible avec les réserves actuelles.")
|
||||
return
|
||||
}
|
||||
|
||||
this.render()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user