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