deduplicate and simplify

This commit is contained in:
psitacus 2025-07-09 01:05:44 -06:00
parent 598bf733f8
commit b269e58585
4 changed files with 37 additions and 44 deletions

View file

@ -72,6 +72,30 @@ export async function removeAttachmentEffectsFromActor({ parentItem, attachedUui
}
}
/**
* Remove an attachment from an item and clean up its effects
* @param {Object} options - Configuration options
* @param {Item} options.parentItem - The item (armor/weapon) that the item is attached to
* @param {string} options.attachedUuid - UUID of the attached item being removed
* @param {string} options.parentType - Type of parent item ("armor" or "weapon")
* @returns {Promise<void>}
*/
export async function removeAttachmentFromItem({ parentItem, attachedUuid, parentType }) {
const currentAttached = parentItem.system.attached;
// Remove the attachment from the parent item's attached array
await parentItem.update({
'system.attached': currentAttached.filter(uuid => uuid !== attachedUuid)
});
// Remove any effects that came from this attachment
await removeAttachmentEffectsFromActor({
parentItem,
attachedUuid,
parentType
});
}
/**
* Handle adding/removing attachment effects when a parent item is equipped/unequipped
* @param {Object} options - Configuration options