Реализация выглядит следующим образом: в окне настроек генерации карты появляется дополнительная вкладка, открыв которую оба игрока видят табличку с портретами всех героев, доступных в игре. Из этой таблички игроки по очереди пикают по одному герою, пока у каждого не наберется необходимый пул из 8 "стартовых" героев. Эти 8 героев могут приходить в таверну в случайном порядке (а могут и не в случайном), но герои, не входящие в пул, не будут появляться в таверне до тех пор, пока основные 8 не будут выкуплены. Герои, входящие в пул соперника, не могут приходить в таверну игроку. Могут ли они приходить, если их убили - другой вопрос, открытый для обсуждения.
Можно дать возможность игрокам расширить пул и выбрать еще по 8 "запасных" героев, которые будут приходить после того, как 8 "основных" были выкуплены.
По сути данное предложение - это интеграция уже доступной функции "пригласить героя" в онлайн-битвы.