pub(crate) fn earliest_auto_attack_time( program: &CombatProgram, state: &CombatInstance, ) -> Option<SimTime>