Skip to content

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 component
  • ZonePotencyProvider — receiver-side magnitude modifier
  • ZoneResistanceProvider — 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 OnTriggerEnter per collider). This affects Stack-rule samples only; Replace/Refresh samples 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

  • 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.