This commit is contained in:
@@ -30,6 +30,8 @@ export default class PrismRPGCharacterSheet extends PrismRPGActorSheet {
|
||||
hpTempMinus: PrismRPGCharacterSheet.#onHpTempMinus,
|
||||
postItemToChat: PrismRPGCharacterSheet.#onPostItemToChat,
|
||||
useConsumable: PrismRPGCharacterSheet.#onUseConsumable,
|
||||
quantityPlus: PrismRPGCharacterSheet.#onQuantityPlus,
|
||||
quantityMinus: PrismRPGCharacterSheet.#onQuantityMinus,
|
||||
toggleContainerEquipped: PrismRPGCharacterSheet.#onToggleContainerEquipped,
|
||||
toggleEquipped: PrismRPGCharacterSheet.#onToggleEquipped,
|
||||
assignToContainer: PrismRPGCharacterSheet.#onAssignToContainer,
|
||||
@@ -129,7 +131,7 @@ export default class PrismRPGCharacterSheet extends PrismRPGActorSheet {
|
||||
]
|
||||
const burdenEquipped = equippableTypes
|
||||
.filter(i => i.system.equipped)
|
||||
.reduce((sum, i) => sum + (i.system.encLoad ?? 0), 0)
|
||||
.reduce((sum, i) => sum + (i.system.encLoad ?? 0) * (i.system.quantity ?? 1), 0)
|
||||
context.burdenUsed = burdenEquipped
|
||||
// Excess equipped burden reduces Movement Rating
|
||||
const excessBurden = Math.max(0, burdenEquipped - context.burdenMax)
|
||||
@@ -202,7 +204,7 @@ export default class PrismRPGCharacterSheet extends PrismRPGActorSheet {
|
||||
// Pack burden = items stored in an existing container
|
||||
context.packBurdenUsed = allStorable
|
||||
.filter(i => i.system.containerId && containerGroups[i.system.containerId])
|
||||
.reduce((sum, i) => sum + (i.system.encLoad ?? 0), 0)
|
||||
.reduce((sum, i) => sum + (i.system.encLoad ?? 0) * (i.system.quantity ?? 1), 0)
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
@@ -365,6 +367,31 @@ export default class PrismRPGCharacterSheet extends PrismRPGActorSheet {
|
||||
await item.update({ "system.equipped": !item.system.equipped })
|
||||
}
|
||||
|
||||
static async #onQuantityPlus(event, target) {
|
||||
const itemElement = target.closest("[data-item-id]")
|
||||
if (!itemElement) return
|
||||
const item = this.document.items.get(itemElement.dataset.itemId)
|
||||
if (!item) return
|
||||
await item.update({ "system.quantity": (item.system.quantity ?? 1) + 1 })
|
||||
}
|
||||
|
||||
static async #onQuantityMinus(event, target) {
|
||||
const itemElement = target.closest("[data-item-id]")
|
||||
if (!itemElement) return
|
||||
const item = this.document.items.get(itemElement.dataset.itemId)
|
||||
if (!item) return
|
||||
const newQty = (item.system.quantity ?? 1) - 1
|
||||
if (newQty < 1) {
|
||||
const confirmed = await foundry.applications.api.DialogV2.confirm({
|
||||
window: { title: game.i18n.localize("PRISMRPG.Dialog.deleteItem") },
|
||||
content: `<p>${game.i18n.format("PRISMRPG.Dialog.deleteItemContent", { name: item.name })}</p>`,
|
||||
})
|
||||
if (confirmed) await item.delete()
|
||||
return
|
||||
}
|
||||
await item.update({ "system.quantity": newQty })
|
||||
}
|
||||
|
||||
static async #onAssignToContainer(event, target) {
|
||||
const itemElement = target.closest("[data-item-id]")
|
||||
if (!itemElement) return
|
||||
|
||||
Reference in New Issue
Block a user