Вообще, тут надо клепать многомерную матрицу. Потому что по хорошему, броня, хитпойнты, атака и далее по списку излишне упрощают ситуацию.
Есть набор пар, один вид юнитов атакует, другой обороняется (в рамках хода) - для всех возможных сочетаний и обстоятельств.
Рыцарское копье делает чардж против не-укрепившегося ополчения в поле, сухая погода, у ополчения нет специализированного анти-рыцарского оружия - чек.
Дракон атакует с воздуха огнем и магией рыцарский отряд без прикрытия лучников, магов, жрецов и опять-таки в открытом поле...