What this demonstrates
Why it works
When a selected statue or shrine becomes active while the player's current weather is an ash storm, SSS twists it and scatters bones nearby. The weather map requires both isStorm: true and the name substring ash, so ordinary rain does not qualify.
The memorable rule is the boundary: weather is a condition, not a trigger. An ash storm beginning does not wake every statue in Vvardenfell. A statue entering the active scene while the storm condition already matches can be changed.
The catch
current_weatherreads weather in the player's cell at object activation time; it is not an event subscription.once: truemakes the mutation persistent per object after it succeeds. Changing the weather later does not undo it.- The transform runs before the creation pool and always changes the target. Therefore
once: trueis recorded even when the 40% bone pool misses; this is a one-shot creation roll, unlike the probabilistic-only rules in the Low Health and Compound Interest experiments. - The fixture uses vanilla static record IDs; add more statues or shrines only after checking the active content load order.
- Created bones are world objects, not temporary weather particles.
Complete YAML
The source fixture is Examples/InstanceModifier_BadWeatherHasConsequences.yaml.
log_name: Bad Weather Has Consequences
priority: polish
instances:
- conditions:
- object_type: Static
- record_id:
- ex_dwrv_statue00
- ex_imp_dragonstatue
- ex_v_vivecstatue_01
- ex_v_vivecstatue_02
- furn_6th_ashstatue
- furn_shrine_vivec_01
- furn_shrine_tribunal_01
- current_weather:
isStorm: true
name: ash
once: true
actions:
- transform:
rotate:
z: { min: -12, max: 12 }
- create:
furn_bone_01:
count:
max: 2
chance: 0.4
position:
x: { min: -80, max: 80 }
y: { min: -80, max: 80 }