Если игрок не является вассалом, юниты > 20 уровня не будут присоединяться.
отн_с_фр: отношения игрока с фракций юнита;
разн_в_ур: разница в уровнях между игроком и юнитом (учитывается только положительная разница, т.е. ур. игрока > ур. юнита);
саем_персун: в партии игрока есть такие же юниты;
известность: известность игрока;
фр_игрока: фракция игрока, если он чей-то вассал;
фр_юнита: фракция юнита;
убеждения: уровень навыка "убеждение" у игрока;
Шанс = (убеждение *5) + (отн_с_фр > 0 ? отн_с_фр /2 : отн_с_фр *3) + (если (разн_в_ур) > 20 : +30; если (разн_в_ур) > 10: +15; иначе: +7

+ (саем_персун ? +10 : +0) + (известность / 30) + (фр_игрока == фр_юнита ? +20 : +0);
Пояснения: конструкция (что-то ? 1 : 2) означает, что если условие ("что-то") до ? верно, будет выполнено 1, если нет - 2.