Files
initiative/packages/domain/src/index.ts
T
LukasandClaude Opus 4.6 d9fb271607
CI / check (push) Successful in 2m39s
CI / build-image (push) Successful in 18s
Add PF2e encounter difficulty calculation with 5-tier budget system
Implements PF2e encounter difficulty alongside the existing D&D system.
PF2e uses creature level vs party level to derive XP, compares against
5-tier budgets (Trivial/Low/Moderate/Severe/Extreme), and adjusts
thresholds for party size. The indicator shows 4 bars in PF2e mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:24:18 +02:00

190 lines
4.4 KiB
TypeScript

export {
type AddCombatantSuccess,
addCombatant,
type CombatantInit,
} from "./add-combatant.js";
export { type AdjustHpSuccess, adjustHp } from "./adjust-hp.js";
export { advanceTurn } from "./advance-turn.js";
export { resolveCreatureName } from "./auto-number.js";
export {
type ClearEncounterSuccess,
clearEncounter,
} from "./clear-encounter.js";
export {
CONDITION_DEFINITIONS,
type ConditionDefinition,
type ConditionEntry,
type ConditionId,
getConditionDescription,
getConditionsForEdition,
VALID_CONDITION_IDS,
} from "./conditions.js";
export {
type CreatePlayerCharacterSuccess,
createPlayerCharacter,
} from "./create-player-character.js";
export {
type ActivityCost,
type AnyCreature,
type BestiaryIndex,
type BestiaryIndexEntry,
type BestiarySource,
type Creature,
type CreatureId,
creatureId,
type DailySpells,
type EquipmentItem,
type LegendaryBlock,
type Pf2eBestiaryIndex,
type Pf2eBestiaryIndexEntry,
type Pf2eCreature,
proficiencyBonus,
type SpellcastingBlock,
type SpellReference,
type TraitBlock,
type TraitListItem,
type TraitSegment,
} from "./creature-types.js";
export {
type DeletePlayerCharacterSuccess,
deletePlayerCharacter,
} from "./delete-player-character.js";
export {
type EditCombatantSuccess,
editCombatant,
} from "./edit-combatant.js";
export {
type EditPlayerCharacterSuccess,
editPlayerCharacter,
} from "./edit-player-character.js";
export {
type CombatantDescriptor,
calculateEncounterDifficulty,
crToXp,
type DifficultyResult,
type DifficultyThreshold,
type DifficultyTier,
derivePartyLevel,
pf2eCreatureXp,
VALID_CR_VALUES,
} from "./encounter-difficulty.js";
export type {
AcSet,
CombatantAdded,
CombatantRemoved,
CombatantUpdated,
ConcentrationEnded,
ConcentrationStarted,
ConditionAdded,
ConditionRemoved,
CreatureAdjustmentSet,
CrSet,
CurrentHpAdjusted,
DomainEvent,
EncounterCleared,
InitiativeSet,
MaxHpSet,
PersistentDamageAdded,
PersistentDamageRemoved,
PlayerCharacterCreated,
PlayerCharacterDeleted,
PlayerCharacterUpdated,
RoundAdvanced,
RoundRetreated,
SideSet,
TempHpSet,
TurnAdvanced,
TurnRetreated,
} from "./events.js";
export type { ExportBundle } from "./export-bundle.js";
export { deriveHpStatus, type HpStatus } from "./hp-status.js";
export {
calculateInitiative,
calculatePf2eInitiative,
formatInitiativeModifier,
type InitiativeResult,
} from "./initiative.js";
export {
addPersistentDamage,
PERSISTENT_DAMAGE_DEFINITIONS,
PERSISTENT_DAMAGE_TYPES,
type PersistentDamageDefinition,
type PersistentDamageEntry,
type PersistentDamageSuccess,
type PersistentDamageType,
removePersistentDamage,
VALID_PERSISTENT_DAMAGE_TYPES,
} from "./persistent-damage.js";
export {
acDelta,
adjustedLevel,
applyPf2eAdjustment,
type CreatureAdjustment,
hpDelta,
modDelta,
} from "./pf2e-adjustments.js";
export {
type PlayerCharacter,
type PlayerCharacterId,
type PlayerCharacterList,
type PlayerColor,
type PlayerIcon,
playerCharacterId,
VALID_PLAYER_COLORS,
VALID_PLAYER_ICONS,
} from "./player-character-types.js";
export {
type RecallKnowledge,
recallKnowledge,
} from "./recall-knowledge.js";
export { rehydrateCombatant } from "./rehydrate-combatant.js";
export { rehydratePlayerCharacter } from "./rehydrate-player-character.js";
export {
type RemoveCombatantSuccess,
removeCombatant,
} from "./remove-combatant.js";
export { retreatTurn } from "./retreat-turn.js";
export {
type RollMode,
rollInitiative,
selectRoll,
} from "./roll-initiative.js";
export type { RulesEdition } from "./rules-edition.js";
export { type SetAcSuccess, setAc } from "./set-ac.js";
export { type SetCrSuccess, setCr } from "./set-cr.js";
export { type SetHpSuccess, setHp } from "./set-hp.js";
export {
type SetInitiativeSuccess,
setInitiative,
} from "./set-initiative.js";
export { type SetSideSuccess, setSide } from "./set-side.js";
export { type SetTempHpSuccess, setTempHp } from "./set-temp-hp.js";
export {
type ToggleConcentrationSuccess,
toggleConcentration,
} from "./toggle-concentration.js";
export {
decrementCondition,
setConditionValue,
type ToggleConditionSuccess,
toggleCondition,
} from "./toggle-condition.js";
export {
type Combatant,
type CombatantId,
combatantId,
createEncounter,
type DomainError,
type Encounter,
findCombatant,
isDomainError,
} from "./types.js";
export {
clearHistory,
EMPTY_UNDO_REDO_STATE,
pushUndo,
redo,
type UndoRedoState,
undo,
} from "./undo-redo.js";