Да, альтернатив ярмарке практически нет.
Насчёт двух возможных видов оружия у юнита что скажешь? Топорщик, допустим, кроме топора может взять копьё, т.е. с топором один бонус - против мечников, а с копьём другой - против конников. Можно активировать (не у всех юнитов) только одно оружие из двух возможных (для копейщиков: копьё, лук; для мечников: меч, топор; для лучников: лук, меч, ну и т.д.) один раз за ход.

Я сам в Питоне не силён, только книгу читать начал, и как это реализовать не знаю, знаю только, что в принципе возможно.