# effect The `effect` table relates to functions specifically for status effects. --- #### `float` effect.duration() Returns the remaining duration of the status effect. --- #### `void` effect.modifyDuration(`float` duration) Adds the specified duration to the current remaining duration. --- #### `void` effect.expire() Immediately expire the effect, setting the duration to 0. --- #### `EntityId` effect.sourceEntity() Returns the source entity id of the status effect, if any. --- #### `void` effect.setParentDirectives(`String` directives) Sets image processing directives for the entity the status effect is active on. --- #### `Json` effect.getParameter(`String` name, `Json` def) Returns the value associated with the parameter name in the effect configuration. If no value is set, returns the default specified. --- #### `StatModifierGroupId` effect.addStatModifierGroup(`List` modifiers) Adds a new stat modifier group and returns the ID created for the group. Stat modifier groups will stay active until the effect expires. Stat modifiers are of the format: ```lua { stat = "health", amount = 50 --OR baseMultiplier = 1.5 --OR effectiveMultiplier = 1.5 } ``` --- #### `void` effect.setStatModifierGroup(`StatModifierGroupId`, groupId, `List` modifiers) Replaces the list of stat modifiers in a group with the specified modifiers. --- #### `void` effect.removeStatModifierGroup(`StatModifierGroupId` groupId) Removes the specified stat modifier group.