* Use TACAN channels more selectively
* Increase tacan range to 126
* Use pytest and add workflow
* Skip faction tests due to outdated test data
* Run mypy on tests directory also
* Use iterators for bands AND usages, add tests
Fixes https://github.com/Khopa/dcs_liberation/issues/473. Air defenses
for bases, strike locations, and fixed IADS will now all downgrade to
lower tier systems as needed. Strike locations will still be spawned as
an equally weighted random generator from either the medium or long
range groups, but will use a short range system if none are available to
the faction.
I've made the change in a way that leaves factions compatible, but will
follow up to clean up our built-in factions.
`pytest tests` works now. I can't explain why `pytest` alone does not,
but it could have something to do with us not being a real Python
package.
With just `pytest` I get:
E ModuleNotFoundError: No module named 'tests.test_factions'
But `python -c "import tests.test_factions"` works fine.