Вопрос по Mental Change

Тема в разделе "Торговцы и Кузнецы", создана пользователем _Narsil_, 21 фев 2009.

  1. _Narsil_

    _Narsil_ Игрок

    По описанию ментальки:

    Написано, что не-скилловые атаки (ха, интересно, а какие у лифки есть скилловые атаки?) увеличиваются на ее МАТК. Однако, за время кача лифки увидел, что:
    1. кратность инты должна быть 10, для дополнительного прироста дамага. Кратность 10, конечно, еще является и кратностью 5, но не наоборот. Как я помню, для МАТК важны кратность 5 и 7. Или МАТК гома и чара - это разные вещи?
    2. та самая вышеописанная кратность 10 дает прирост дамага ~100, что немного не стыкуется с нелинейностью роста МАТК при росте инты.
    3. разным мобам лифка под менталькой наносит разный урон (ВНЕЗАПНО), однако же, закономерности между свойствами моба (деф, вит, мдеф, инт) и получаемым им дамагом я так и не увидел. Причем, получаемый дамаг имеет разброс, по крайней мере, меньше 100, что не стыкуется с разбросом МАТК в ~300.

    Поэтому вопрос к знающим людям, как же все-таки работает менталька? Можно переформулировать вопрос так - какая же там в действительности формула (ну или хотя бы зависимость)?
  2. ~Sanctus~

    ~Sanctus~ Игрок

    Немного позновато может, но только недавно тему увидел и только совсем недавно нашел время разобраться с вопросом, так как самому стало интересно, итак вот полноценный ответ, основанный на инспекции кода афины:

    Каст, который накладывается на лиф с помощью этого скилла называется SC_CHANGE. Файл map/battle.c отвечает за подсчет дамага, поэтому в нем нужно искать ответ на то как каст влияет на урон. Единственное упомянание об этом касте в данном файле имеет следующий вид:
    Данный кусок отвечает за сбор неких флажков, тоесть пометок на будущее об особых свойствах дамага. Эта переменная затем передается функции battle_calc_base_damage вот тут:
    Данная функция и занимается непосредственным подсчетом урона. Находим ее содержание, вверху которого находим следующее:
    Данное пояснение говорит нам, что флажек с цифрой 4 означает подсчет дамага по типу скилла ХВ Magic Crasher, а именно эта цифра и фигурировала с первом куске кода рядом с проверкой на наличие каста SC_CHANGE. Итак, уже можно сделать один вывод- менталка пашит аналогично Magic Crasher. Попробуем же узнать точный метод посчета дамага из функции battle_calc_base_damage:
    Нас интересует переменная damage, ход наполнения которой мы должны проследить по мере прохождения функции с флажком 4. Первая остановка на куске:
    Переменные atkmin и atkmax получают здесь значения мин и макс матк соответсвенно, так как флажек 4. Далее:
    Флажек не 1, поэтому берем первый вариант, по которому, если суммировать код, получается, что damage = atkmin ~ atkmax, тоесть случайное число между макс и мин матк как при подсчете урона от магии. И последнее:
    К урону еще добавляется мин матк, тоесть суммарный урон получается:
    мин_матк + случайное_число_из_промежутка(мин_матк,макс_матк)
    Очень странно если честно... Это даже немного отличается от Magic Crasher, так как, судя по этой же функции, для людей atkmin и atkmax получат значения, зависящие от декс и атаки оружия, что для визов намного меньше чем получить значение между мин и макс матк. Короче, менталка, фактически, бьет на 2х матк и поидее должна бить по физ дефу, так как подсчитывается в функции для физ дамага battle_calc_weapon_attack.
    Ну, вот, собственно, и все. На 100% точность не претендую, но, думаю, нигде сильно не ошибся =)
    ayahaska и _Narsil_ нравится это.
  3. _Narsil_

    _Narsil_ Игрок

    Хм, странно. Раз менталька работает аналогично крашеру, значит, должна резаться дефом. Провел испытания.

    Код:
    Monster      dmg  DEF  VIT
    ----------  ----  ---  ___
    stapo        205   90   15
    st. golem   1235   50   85
    megalith    1260   50   60
    anubis      1713   35   10
    pasana      1830   29   50
    minorous    2190   15   61
    metaller    2232   15   22
    merman      2338   10   46
    strouf      2472    5   45
    penomena    2484    5   35
    marc        2483    5   36
    swordfish   2489    5   30
    muka        2489    5   30
    cramp       2617    0   35
    
    Под менталькой у моей лифки Матк = 1326. Умноженная на 2 - 2652
    Дамаг по стапо (2652)*(100-90)% - 15 = 265.2 - 15 = 250.
    Дамаг по крампу (2652)-35 = 2617
    Дамаг по металлеру (2652)*(100-15)% - 22 = 2254 - 22 = 2230

    Прекрасно сходится.

    Вывод 1: Атк не учавствует в подсчете дамага лифки под менталькой, учавствует только матк
    Вывод 2: Дамаг под менталькой режется дефом и вит дефом

    Осталось несколько вопросов. Есть ли у гомов мин и макс матк, или же у них свое матк, как и свое аспд. Если есть, какая из них пишется в окне статов. Мне кажется, что нету, а также у этого пресловутого гомоматк кратность 10.

    В любом случае, спасибо за проделанную работу и предоставленную информацию.
  4. ~Sanctus~

    ~Sanctus~ Игрок

    матк у них как у людей, это точно, кратности идут на 5 и 7, в окне статов показано макс матк, другое дело, что, например, вани всегда бьет по макс матк, может у лифа также, я не знаю...
    pristko нравится это.