What this demonstrates
player_healthobject_type,cell_match, andrecord_idtransform,create, andreplace- Persistent instance mutations
Why it works
Three rules use increasingly severe absolute health thresholds. At 50 health or less, selected tomb clutter drifts. At 25 or less, it grows a few more bones. At 10 or less, skulls and bone piles have a small chance to become bonewalkers. Since matching rules can all contribute, the lowest-health band can layer all three effects during one activation.
The player's state controls whether a mutation occurs when the object becomes active. It does not continuously control the mutation afterward.
The catch
player_healthcompares absolute current health; it is not a percentage-of-maximum-health condition. Tune the thresholds for the intended difficulty curve.- Every rule uses
once: true. The world mutation persists after recovery;onceonly prevents a successful rule from being applied again to the same object. - Chance misses do not consume
once: true. The 25-health bone pool and 10-health replacement remain eligible until their action actually changes something; they are repeated opportunities, not one-shot lifetime lotteries. - SSS does not scan unloaded cells or react when health changes. The target must become active while the threshold matches.
- The fixture uses vanilla static record IDs; add more selectors only after checking the active content load order.
Complete YAML
The source fixture is Examples/InstanceModifier_LowHealthMakesVvardenfellWorse.yaml.
log_name: Low Health Makes Vvardenfell Worse
priority: polish
instances:
- conditions:
- object_type: Static
- cell_match: tomb
- record_id:
- furn_bone_01
- furn_bone_rib_01
- furn_bone_skull_01
- furn_bone_stake00
- furn_com_lantern_hook
- player_health:
max: 50
once: true
actions:
- transform:
position:
x: { min: -3, max: 3 }
y: { min: -3, max: 3 }
rotate:
z: { min: -8, max: 8 }
- conditions:
- object_type: Static
- cell_match: tomb
- record_id:
- furn_bone_01
- furn_bone_rib_01
- furn_bone_skull_01
- furn_bone_stake00
- furn_com_lantern_hook
- player_health:
max: 25
once: true
actions:
- create:
furn_bone_01:
count:
max: 2
chance: 0.25
position:
x: { min: -64, max: 64 }
y: { min: -64, max: 64 }
- conditions:
- object_type: Static
- cell_match: tomb
- record_id:
- furn_bone_01
- furn_bone_skull_01
- player_health:
max: 10
once: true
actions:
- replace:
bonewalker: 0.05