⚙️ 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.
🔗 Related Documentation¶
- Rules
- Rules Abstractions
- Damage Rules