Expand description
Fluid blood and magical energy system for Chaos RPG.
Provides a gameplay-oriented fluid simulation built on simplified SPH (Smoothed Particle Hydrodynamics). Supports multiple magical fluid types (blood, fire, ice, dark, holy, poison, healing, necro), each with distinct visual behaviour and gameplay effects.
§Architecture
FluidType— categorises fluids with colour, motion bias, and effectsFluidParticle— individual SPH particle with type-specific propertiesSPHSimulator— simplified SPH solver (kernel, density, pressure, viscosity)FluidPool— settled pool of fluid on the floor with gameplay area effectsFluidSpawner— high-level API for emitting themed particle burstsFluidManager— owns particles + pools, drives simulation and lifecycleFluidRenderer— exports point-sprite render dataFluidGameplayEffects— queries entity positions against pools for status effects
Reuses crate::physics::fluids kernel functions and spatial hashing where possible.
Structs§
- Fluid
Gameplay Effects - Queries entity positions against active pools and returns status effects.
- Fluid
Manager - Owns all fluid particles and pools. Drives the SPH simulation, handles pool formation/merging, particle lifecycle, and provides render data.
- Fluid
Particle - A single fluid particle in the game-layer SPH simulation.
- Fluid
Pool - A settled pool of fluid on the floor, providing area gameplay effects.
- Fluid
Renderer - Exports fluid particles as point-sprite render data.
- Fluid
Spawner - High-level API for spawning themed fluid particle bursts.
- Fluid
Sprite Data - Render data for a single fluid point sprite.
- SPHSimulator
- Simplified SPH solver tailored for the Chaos RPG game-layer fluid system.
Enums§
- Fluid
Status Effect - Status effect applied to an entity standing in a fluid pool.
- Fluid
Type - Categorises a fluid by visual style, movement bias, and gameplay effect.