Dirty_PlayerСтолько "но" мешает реализации, как мне кажется, хотя может я просто нубас и не понимаю?
Предполагаю что-то вроде настройки порядка выпадения героев с самого начала игры. Если не подходит класс в таверне, то берётся следующий по порядку герой, а предыдущий — как только это станет возможным. Выкупленные обоими игроками герои отслеживаются, и как только они оба умрут/затрутся, они добавляются в случайное место в списке. Если делать, чтобы главные герои не раскапывались, то герой, который был главным хотя бы у одного, не раскапыаается у всех.
Более сложно подключить к механизму компов, но это тоже решаемо.