better special_on_crit