some base defence fixes

alternate behaviour for getAvailableSoldiers to check for proper conditions
and an heroic variable name to enable it.