Is your feature request related to a problem? Please describe.
RAW, multiple status effect durations can be layered, ex: A player can be caught in a Web (applying Restrained), and separately they can be Entangled (also applying Restrained). In a DM driven-game it is simple enough for the DM to know that both saving throws need to be made before they lift the Restrained condition, but in a "video game"-mode highly automated game, there are benefits to actually applying the Restrained effect twice and differentiating based on effect origin.
The macro driving the automation for Web will want to remove only the Restrained condition it applied. Similarly, the Entangled macro will only want to remove its Restrained condition. If the DM intervened and manually removed one or both conditions, the macros will want to be handle that state correctly and as expected.
Describe the solution you'd like
The convenience API, game.dfreds.effectInterface.removeEffect, take an optional string parameter, origin. The named effect will only be removed if it is present on the actor from the matching origin. If the origin parameter is undefined, the current behavior applies.
Describe alternatives you've considered
This functionality can be implemented manually fairly easily, searching and removing the active effect, or by using other modules such as warpgate-based mutations. This is a convenience API, this feature is being requested for convenience.
Alternatively, the spells could apply their own conditions, "Web" and "Entangled" that have all the AEs of Restrained but different names, making this request unnecessary. This is non-ideal, as players are typically familiar with standard status effects but may not be familiar with every spell and its effects. A player who sees two Restraineds understands at a glance what that means, a player who sees an "Entangled" status icon pop up might have to ask what that means.
Is your feature request related to a problem? Please describe. RAW, multiple status effect durations can be layered, ex: A player can be caught in a Web (applying Restrained), and separately they can be Entangled (also applying Restrained). In a DM driven-game it is simple enough for the DM to know that both saving throws need to be made before they lift the Restrained condition, but in a "video game"-mode highly automated game, there are benefits to actually applying the Restrained effect twice and differentiating based on effect origin.
The macro driving the automation for Web will want to remove only the Restrained condition it applied. Similarly, the Entangled macro will only want to remove its Restrained condition. If the DM intervened and manually removed one or both conditions, the macros will want to be handle that state correctly and as expected.
Describe the solution you'd like The convenience API,
game.dfreds.effectInterface.removeEffect
, take an optional string parameter,origin
. The named effect will only be removed if it is present on the actor from the matching origin. If theorigin
parameter is undefined, the current behavior applies.Describe alternatives you've considered This functionality can be implemented manually fairly easily, searching and removing the active effect, or by using other modules such as warpgate-based mutations. This is a convenience API, this feature is being requested for convenience.
Alternatively, the spells could apply their own conditions, "Web" and "Entangled" that have all the AEs of Restrained but different names, making this request unnecessary. This is non-ideal, as players are typically familiar with standard status effects but may not be familiar with every spell and its effects. A player who sees two Restraineds understands at a glance what that means, a player who sees an "Entangled" status icon pop up might have to ask what that means.