Skip to content

RevFramework — Status Effects • Definitions

ScriptableObject assets used to author status effects in the Unity Editor.

Definitions are authoring-time assets. They describe what runtime effect to build, not how status behaviour is executed after application.


🎯 Purpose

This folder contains the core built-in status definition assets for the Status Effects system.

Each definition:

  • exposes tunable authoring fields
  • implements BuildEffect()
  • returns a fresh runtime IStatusEffect instance

🧠 Usage Guidance

The system separates:

  • authored configuration
  • runtime behaviour

This allows:

  • tuning values in assets instead of hardcoding
  • reusable status setups
  • clean runtime instances without storing active state in assets

Definitions act as the bridge between editor-authored data and runtime effect instances.


🧩 What Lives Here

Core built-in definitions:

  • PoisonStatusDefinition
  • BurnStatusDefinition
  • SlowStatusDefinition
  • HasteStatusDefinition
  • VulnerabilityStatusDefinition
  • StunStatusDefinition
  • ThornsStatusDefinition

Also included:

  • StatusEffectDefinitionBase — abstract base for definition assets

Health-linked definitions such as RegenStatusDefinition and ShieldStatusDefinition live in the integration layer.


📦 Folder Overview

  • ScriptableObject-based authoring assets
  • Runtime effect construction via BuildEffect()
  • Separation between data and runtime behaviour

⚠️ Important Notes

  • BuildEffect() must return a fresh instance
  • Definitions should not depend on scene objects or runtime state
  • Potency and duration scaling are applied by the runtime pipeline
  • Definitions do not control lifecycle, stacking, or authority

🧪 Diagnostics

Common pitfalls:

  • Reusing effect instances instead of creating new ones
  • Placing runtime logic inside definition assets
  • Assuming definitions control behaviour after application

🚫 Not for Production Use

  • This folder does not contain runtime ticking logic
  • This folder does not define controller behaviour
  • This folder does not implement stacking or authority rules
  • This folder does not perform scene-based mutation

  • Effects → runtime effect implementations
  • Core → controller, lifecycle, registry usage
  • Abstractions → shared contracts
  • Integration → health-linked definitions and system-specific behaviour

🧠 Mental Model

Definitions build the effect. The runtime pipeline decides what happens after that.