import type { InitiativeConditionId, InitiativeState } from '../../../shared/types/initiative'; import { initiativeNpcEntryId, initiativePlayerEntryId, } from '../../../shared/types/initiative'; export function initiativeHighlightForNpc( state: InitiativeState | null | undefined, placementId: string, ): boolean { if (!state?.enabled || !state.activeId) return false; return state.activeId === initiativeNpcEntryId(placementId); } export function initiativeHighlightForPlayer( state: InitiativeState | null | undefined, playerId: string, ): boolean { if (!state?.enabled || !state.activeId) return false; return state.activeId === initiativePlayerEntryId(playerId); } export function initiativeConditionsForNpc( state: InitiativeState | null | undefined, placementId: string, ): InitiativeConditionId[] { if (!state) return []; return state.conditions[initiativeNpcEntryId(placementId)] ?? []; } export function initiativeConditionsForPlayer( state: InitiativeState | null | undefined, playerId: string, ): InitiativeConditionId[] { if (!state) return []; return state.conditions[initiativePlayerEntryId(playerId)] ?? []; }