Skip to main content

Module fluids

Module fluids 

Source
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 effects
  • FluidParticle — individual SPH particle with type-specific properties
  • SPHSimulator — simplified SPH solver (kernel, density, pressure, viscosity)
  • FluidPool — settled pool of fluid on the floor with gameplay area effects
  • FluidSpawner — high-level API for emitting themed particle bursts
  • FluidManager — owns particles + pools, drives simulation and lifecycle
  • FluidRenderer — exports point-sprite render data
  • FluidGameplayEffects — queries entity positions against pools for status effects

Reuses crate::physics::fluids kernel functions and spatial hashing where possible.

Structs§

FluidGameplayEffects
Queries entity positions against active pools and returns status effects.
FluidManager
Owns all fluid particles and pools. Drives the SPH simulation, handles pool formation/merging, particle lifecycle, and provides render data.
FluidParticle
A single fluid particle in the game-layer SPH simulation.
FluidPool
A settled pool of fluid on the floor, providing area gameplay effects.
FluidRenderer
Exports fluid particles as point-sprite render data.
FluidSpawner
High-level API for spawning themed fluid particle bursts.
FluidSpriteData
Render data for a single fluid point sprite.
SPHSimulator
Simplified SPH solver tailored for the Chaos RPG game-layer fluid system.

Enums§

FluidStatusEffect
Status effect applied to an entity standing in a fluid pool.
FluidType
Categorises a fluid by visual style, movement bias, and gameplay effect.