Вероятность случайной встречи зависит от времени появления последней случайной встречи. Т.е. во время определённой случайной встречи на карте, в определённую переменную записывается время встречи (результат ф-ии GetTickCount). При следующей встрече значение этой переменной сравнивается с текущем временем и стоит проверка. Если результат мал (меньше 1500), то случайная встреча не происходит. Если прошедшее время достаточно, то тогда уже идёт проверка на вероятность самой встречи. На быстрых же компьютерах цикл передвижения по карте мира выполняется за меньшее количество времении (т.к. производительность ПК выше), а соответственно разница во времени меньше. Но проверка оставалась прежней, а поэтому больше времени проходило между встречами. И чем быстрее ПК - тем больше разница по времени между каждой встречей. В патче 1.2 я уменьшал проверку (не 1500 а меньше). Фактически ошибка в месте, где движёк проверяет чтобы случайные встречи не происходили слишком часто. Если уменьшить время, которое стоит при проверке - баланс не будет нарушен, но случайные встречи будут происходть чаще. Т.к. мы влияем не на вероятность встречи, а на ограничитель, который не играет значительной роли. Реализацию см. в патче (ссылка ниже)