Factor out can_attack_non_native_hard_reqs()
Split the new function can_attack_non_native_hard_reqs() from can_attack_non_native(). This separates the hard requirement rules from reasoning about the rules.
Split the new function can_attack_non_native_hard_reqs() from can_attack_non_native(). This separates the hard requirement rules from reasoning about the rules.