/** * CharacterState — immutable record of all character state at a point in time. * * Groups the five character properties into a single value object, * keeping the Character constructor at one parameter (max-params: 4). */ import type { Health } from './Health.ts'; import type { Level } from './Level.ts'; import type { Status } from './Status.ts'; import type { Faction } from './Faction.ts'; export class CharacterState { constructor( readonly name: string, readonly health: Health, readonly status: Status, readonly level: Level, readonly factions: ReadonlySet, ) {} }