Resolves the party-held effect this item points to, returning it so it appears in the owning actor's effective effects collection.
If the target UUID is missing or the effect is no longer accessible, returns an empty array (graceful degradation — the effect simply stops applying, leaving the now-orphaned pointer item for manual cleanup).
The referenced party-held effect, or an empty array if the target does not exist.
Party effect link items always transfer the effects they point to.
Convert the schema to a plain object.
The built in toObject() method will ignore derived data when using Data Models.
This additional method will instead use the spread operator to return a simplified
version of the data.
Plain object either via deepClone or the spread operator.
Staticdefine
Data model for Party Effect Link items — thin pointers to effects held on a Party actor.
When a GM pushes an effect to all members of a party, the canonical ActiveEffect record lives on the Party actor document. Each member receives one BodyMindSoulPartyEffectLink item, which holds a single UUID reference to that canonical record via the
targetEffectUuidfield. The item'stransferredEffectsgetter dereferences this UUID, returning the party-held effect so it appears in the member's ownallApplicableEffects()collection without being copied into the member's owneffectsarray.This pattern mirrors the existing gear-upgrade-socket dereferencing in
item-item.mjs: like a socket item resolving to socketed upgrades, a party-effect-link item resolves to a party-held canonical record. The member's pointer item is a real document they own (can delete to opt out), while the actual effect definition remains on the Party for centralized management, origin-forwarding, and per-member independent stack counts.These items are hidden from the actor sheet's items tab (not in the explicit allow-list of
item/feature/action/rune), keeping them invisible to the player UI.