Skip to content

⚙️ Health — Rules Internal

📦 Folder Overview

This folder contains internal helper components and utilities used by the Rules system.

These types support rule execution but are not part of the public API surface.


🎯 Purpose

Internal rule utilities exist to:

  • Support built-in rule behaviour
  • Provide reusable helpers
  • Keep rule implementations focused

🧩 What Lives Here

This folder contains:

  • Internal plumbing for rules
  • Helper utilities used by built-in rules

It does not contain:

  • Public extension seams
  • Stable integration surfaces

🧩 Components

CombatPing

Internal helper for combat-state signalling.

  • Bridges rules to HealthCombatState
  • Used by extensions (for example, DamageExtensions)
  • Safe no-op if no combat component exists

Notes:

  • Not a contract
  • Behaviour may change over time

SystemRng

Deterministic RNG implementation.

  • Backed by System.Random
  • Supports optional seeding
  • Used by rules such as CritRule

Use cases:

  • Deterministic gameplay
  • Reproducible results

UnityRng

Wrapper around UnityEngine.Random.

  • Non-deterministic by default
  • Used when deterministic behaviour is not required

⚠️ Important Notes

Boundaries

Do not:

  • Depend on these types from gameplay code
  • Treat these as extension points
  • Build systems on top of these utilities

These are internal implementation details.


🧠 Usage Guidance

  • Treat this folder as implementation support only
  • Use abstractions for public integration
  • Expect internal helpers to change over time

🚫 Not for Production Use

This folder is not intended as a gameplay integration surface.


  • Rules
  • Rules Abstractions
  • Damage Rules