С определенного момента исходники былин стали доступны всем желающим, а изменения кода стали вестись централизованно через битбуклет. Вроде как любой желающий может посмотреть текущие правки кода, если конечно он понимает что там написано))
Линк https://bitbucket.org/bylins/mud/commits/all

К примеру вот последний анонс (он кстати публиковался в двух разных версиях =)

[1] 13:27 14-02-2015 (Числобог) :: молот
Исправлена ошибка в формуле "Богатырского молота", приводящая на хай-мортах к абсолютному прохождению..
[1] 13:30 14-02-2015 (Стрибог) :: молот
Исправлена ошибка в умении "богатырский" молот" приводящая на высоких уровнях к 100% прохождению
[1] 13:55 14-02-2015 (Стрибог) :: молот
Исправлена ошибка в умении "богатырский молот", приводящая к 100% прохождения при максимальном уровне владения.

Все не могут определиться с трактовкой)))

Судя по коду сильно порезал батыров:
- убранные строки кода
+ добавленные строки кода

void HitData::try_mighthit_dam(CHAR_DATA *ch, CHAR_DATA *victim)
{
int percent = number(1, skill_info[SKILL_MIGHTHIT].max_percent);
int prob = train_skill(ch, SKILL_MIGHTHIT, skill_info[SKILL_MIGHTHIT].max_percent, victim);
int lag = 0;
AFFECT_DATA af;

if (GET_MOB_HOLD(victim))
{
    prob = MAX(prob, percent);
}
if (IS_IMMORTAL(victim))
{
{
    prob = 0;
}
- if (prob * 100 / percent < 100 || dam == 0)
+ if (prob * 50 / percent < 100 || dam == 0)
{
    sprintf(buf, "&c&qВаш богатырский удар пропал впустую.&Q&n\r\n");
    send_to_char(buf, ch);
    lag = 3;
    dam = 0;
}
- else if (prob * 100 / percent < 150)
+ else if (prob * 50 / percent < 150)
{
    sprintf(buf, "&b&qВаш богатырский удар задел %s.&Q&n\r\n",
        PERS(victim, ch, 3));
send_to_char(buf, ch);
    lag = 1;
    WAIT_STATE(victim, PULSE_VIOLENCE);
    af.type = SPELL_BATTLE;
    af.bitvector = AFF_STOPFIGHT;
    af.location = 0;
    af.modifier = 0;
    af.duration = pc_duration(victim, 1, 0, 0, 0, 0);
    af.battleflag = AF_BATTLEDEC | AF_PULSEDEC;
    affect_join(victim, &af, TRUE, FALSE, TRUE, FALSE);
    sprintf(buf,
        "&R&q���� �������� ������������ ����� ����� %s.&Q&n\r\n",
        PERS(ch, victim, 1));
    send_to_char(buf, victim);
    act("$N ���������$U �� ������������ ����� $n1.", TRUE, ch, 0, victim, TO_NOTVICT | TO_ARENA_LISTEN);
    if (!number(0, 2))
    {
might_hit_bash(ch, victim);
    }
}
- else if (prob * 100 / percent < 400)
+ else if (prob * 50 / percent < 400)
{
    sprintf(buf, "&g&qВаш богатырский удар пошатнул %s.&Q&n\r\n",
        PERS(victim, ch, 3));

Следуя логике я понимаю это так, что уменьшение некого коэффициента со 100 до 50, в 2 раза уменьшит вероятность удачного прохождения молота?

Может быть кто то разбирается так хорошо, что готов по строчно прокомментировать весь этот кусок кода?
Я так понял это - расчетное значение переменной prob выбирается как максимальное из двух зависящих от чара велечин percent и prob, а они как то привязаны к скилу молота...
Кстати не увидел где тут сейвы от молота? Они вобще есть?