Skip to content

01 — Cleanse, Dispel, Immunity

Goal:
Show how to remove unwanted effects — or prevent them from taking hold in the first place.


🎓 What This Scene Teaches

  • Cleansing by tag (CleanseByTag(StatusTag.Debuff)).
  • Dispelling by type/tier (Dispel(DispelType.Magic, tier)).
  • Immunity (IStatusImmunity) to block effects by ID or tag mask.
  • Resistance (IStatusResistance) to scale durations at runtime.

⚠️ Authority Note
This scene runs with Require Authority disabled by default.
Status mutations are allowed locally for demonstration purposes.

Enabling an authority binder alone will not block status mutations unless
Require Authority is enabled on the StatusEffectController — this is intentional.

Authority is opt-in on StatusEffectController.
https://revandrab.github.io/RevFramework/authority/#status-effects-opt-in-authority-gameplay-modifiers


🧩 How to Use

  1. Apply sample statuses (Poison, Burn, Slow, Haste, etc.).
  2. Click Cleanse to remove matching tags (e.g. Debuff, DOT).
  3. Use Dispel to remove effects that are marked IDispellable.
  4. Toggle Immunity (adds/removes a component) and try applying again.
  5. Configure Resistance multipliers (All, Debuff, DOT, Poison, Magic) and re-apply to see durations scale.

💡 Key Takeaway

  • Cleanse removes broad categories (e.g. clear all debuffs).
  • Dispel targets effects that explicitly opt-in to being dispellable.
  • Immunity blocks specific effects completely.
  • Resistance reduces effect durations without blocking.

Together, these systems form the backbone of most RPG/MMO-style cleansing and counterplay workflows.


Panel: StatusCleanseDispelPanel
Scene Path: Assets/RevFramework/Runtime/Systems/StatusEffects/Samples/Scenes/01_CleanseDispelImmunity/