RevFramework — Status Effects • Auras¶
Runtime components that apply temporary status potency and duration modifiers to actors inside a trigger volume.
Auras are optional gameplay helpers, not part of the core Status Effects pipeline.
Purpose¶
StatusAuraZone provides a runtime way to create area-based status modifiers.
When an actor with a StatusEffectController enters the zone, the aura can:
-
add receiver-side providers:
-
potency via
IStatusPotency - duration scaling via
IStatusResistance - optionally auto-apply sample status effects
- optionally request controller recompute or refresh
- remove its changes when actors exit or the aura is disabled
Auras use public provider interfaces and controller hooks, so they:
- stack with other systems
- do not own lifecycle, stacking, authority, or time
- can be removed without affecting the core system
Usage Guidance¶
Auras are best used as:
- environmental modifiers (fire, poison zones)
- buff/debuff areas (shrines, healing zones)
- quick prototyping tools for gameplay ideas
They should not be treated as the source of gameplay rules.
What Lives Here¶
StatusAuraZone— main trigger-based aura componentZonePotencyProvider— receiver-side magnitude modifierZoneResistanceProvider— receiver-side duration modifier
Folder Overview¶
- Runtime trigger-based modifier system
- Receiver-side providers attached on enter
- Clean removal on exit or disable
Important Notes¶
- Auras do not own status lifecycle or bypass the controller
- They influence behaviour through provider interfaces only
- Duration scaling in this implementation is ≤ 1
- Disabling an aura removes all providers it added
Known limitations (v1)¶
Overlapping zones stack. This section previously said the opposite — that the last zone to configure an actor wins and the first to leave drops everyone's contribution. Both were true of an earlier implementation and neither is true now: contributions are held per zone and multiply, and a departing zone withdraws only its own.
- Auto-apply samples can double-apply for actors with multiple colliders (one
OnTriggerEnterper collider). This affectsStack-rule samples only;Replace/Refreshsamples are unaffected. Auto-apply is a demo/prototyping convenience — drive real applications through the controller. - Disabling a zone component and re-enabling it does not restore the aura for an actor that never left the volume. Disabling withdraws the contribution; re-enabling has no trigger event to react to, because the collider never changed state. Move the actor out and back in, or disable the zone's collider rather than the component.
Not for Production Use¶
A modifier zone, not a gameplay or balance system
- Auto-apply sample effects are intended for demos and prototyping
- Auras are not a replacement for gameplay systems or balance logic
- This folder does not define authoritative gameplay rules
Related Documentation¶
- Abstractions — contracts and extension seams
- Core — controller, stacking, authority, math
Mental Model¶
Auras do not control status behaviour.
They influence how effects are applied while an actor is inside a zone.