check_resistance: split out magic resistance handling

... for readability and cleaner further changes
check saving throws also for effects that ignore magic resistance

fixes level 12 chromatic orb instakill behaviour yet again