1) Главный атрибут можно фиксировать в момент появления героя на карте, вместо того чтобы вбивать кучу героев в условия. А) Либо через область возле таверн, если таковые имеются (Актуально для карт, где герои изначально делятся в тавернах по атрибутам, в одной таверно онли силачи, в другой ловкачи и т.д.). Б) Для карт, где у всех героев главный атрибут выше остальных, актуально будет зафиксировать его через функцию max 2) Возможность купить предмет, который тебе не подходит и отсутствие возможности его продать является недочетом. Как вариант при покупке не того предмета удалять его и возвращать золото за него (Для этого нужно фиксировать кол-во золота в отдельной переменной. При покупке делать проверку предмета, если не подходит, то приравнивать кол-во золота к текущему значению переменной и удалять предмет, если подходит, то приравнивать переменную к текущему кол-ву золота). В идеале лучше создать дополнительный инвентарь через дамми-юнита и на него скидывать взятый предмет, если он не подходит 3) Система довольно легкая, многие и сами могут ее сделать. В зависимости от нюансов той или иной карты можно и даже нужно делать более гибкую систему