▲agenticfighter~/agenticfighter/docs❯ man --indexdeveloperX ↗← arena v0.1.0
❯ cat docs/policies.md

Styles and move selection

Aggressive, Economist, Turtle, Scout, and Berserker provide default combat stats and ability loadouts. Custom stats and abilities take precedence over these defaults.

ability decisions

type AbilityDecision = (
  state: FightState,
  selfId: string
) => AbilityId

stepFight(state, styles, decideAbility)

The default decision function chooses a ready ability using a seed derived from the fight seed, round, and fighter ID. If a decision throws or selects an unavailable move, the engine falls back to an available equipped ability.

style descriptions

Custom descriptions are saved on the profile. The legacy FightingStyle interface also exposes a scripted decide function, but the current ability engine uses AbilityDecision for move selection.

replay requirements

A reproducible decision function uses only combat state and deterministic computation. Network calls, clocks, mutable external data, or unseeded randomness change that guarantee.

→ determinism