interface CombatSimulationTimerState { readonly sharedOnline: boolean; readonly paused: boolean; readonly companionOpen: boolean; readonly documentHidden: boolean; } export function combatSimulationTimerShouldRun({ sharedOnline, paused, companionOpen, documentHidden, }: CombatSimulationTimerState): boolean { return sharedOnline || (!paused && !companionOpen && !documentHidden); }