Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Формулы (PTS)
#1
Всегда было интересно, насколько точно определены те или иные формулы в l2j. Я решил проверить это и пореверсить чутка ГФ. В общем вот, что получилось:

эффект i_m_attack;36 урон считается по формуле:
Код:
damage = 91 * power * sqrt(mAtk * soul_bonus) / mDef * triat_bonus * attr_bonus * crit_mod * weapon_random
где
  power = 36 - из эффекта
  mAtk = mAtk если заряжена соска то +mAtk * p1 / 100 где p1 - это первый
  пар-р в эффекте соски i_spirit_shot;100;40;1.0, 100 для спиритшота и 300 для
  блесс соски.

  soul_bonus = 1 если нет душ или 1.30 + soul_count * 0.05

  triat_bonus - не разбирался как вычисляется, так как для большинства скилов
  с i_m_attack не задан. В общем случае 1

  attr_bonus - считается совсем по другому нежели чем в l2j и даже при нулевых
  значениях атрибута атаки и защиты оказывает незначительное влияние (~+2%).
  Но так как в ГФ эта формула не актуальна то тут ее не привожу.

  crit_mod = 1 если нет крита, и 2.5 если крит, шанс маг. крита считается как
  crit_chance = 5 * wit_bonus * buff_crit_mod + level_mod
  buff_crit_mod = все баффы на шанс крита включая баффы цели на понижение маг
  крита. если уровень атакующего и цели больше либо равно 78 то:
  level_mod = sqrt(attacker_level) + (attacker_level - target_level) / 25
  иначе 0.
  Далее, если уровень атакующего и цели больше либо равно 78 и шанс больше 32
  то шанс обрезается до 32. Если уровни меньше 78 и шанс больше 20 то шанс
  режется до 20.
  
  этот эффект игнорирует щит.

эффект i_m_attack_range;23;40 тоже самое, что и i_m_attack только учитывает щит:
Код:
damage = 91 * power * sqrt(mAtk * soul_bonus) / (mDef + shield_def) * triat_bonus * attr_bonus * crit_mod  

  shiled_def = sDef * p2 / 100 если попали в щит и 0 если не попали.
  где sDef = pDef щита
  p2 - второй пар-р из эффекта 40.
  Шанс попадания в щит рассчитывается как:

  chance = base_shield_rate * buff_mod * dex_bonus
  где base_shield_rate = 20 базовый шанс для щитов
  buff_mod - все баффы на шанс щита и т.д.
  
  если шанс выпадает то рассчитывается второй шанс полного отражения урона
  chance2 = dex_bonus * 2
  если этот шанс выпадает то damage = 1

Как видно у l2j "почти то же самое" Big Grin Во всех сборках не правильно рассчитывается шанс крита, бонус от атрибута и бонус от зарядки душ. А trait_bonus'а так ваще нигде нет.

Манор. Понятно, что никому не нужен и никто не юзает. Но мне все же было интересно посмотреть как все рассчитывается, итак:
Код:
Шанс посадить семечко зависит от уровня игрока, уровня моба и уровня семечки:
  level_diff = abs(mob_level - player_level)
  если level_diff > 5 то считается fail_chance иначе переходим к расчету seed_fail_chance
  fail_chane = (level_diff - 5) * 5
  если fail_chane > rand(100) то семечко не садится
  далее считается seed_fail_chance

  seed_level_diff = abs(mob_level - seed_level)
  расчет аналогичный fail_chance
  если оба шанса выпали или оба level diff'а меньше 5 то рассчитывается кол-во
  плодов, которое не зависит от X-овости моба и кол-ва ХП :)

  для альтернативных семян:
  crop_count_chance = seed_default_price / crop_default_price
  для обычных семян:
  crop_count_chance = (mob_drop_adena + crop_default_price) / crop_default_price
  mob_drop_adena = (adena_drop_min + adena_drop_max) / 2 * 0.75
  
  потом вычисляется кол-во
  coun = 0
  пока Rnd.nextDouble() < crop_count_chance то count++ crop_count_chance--
  если count == 0 то семечко не садится. Иначе записывается что посадили и кол-во.

  При сборке урожая шанс сбора рассчитывается аналогично шансу посадки.

В общем вот так, l2j это эмулятор, и даже самые основные формулы в нем не такие как в оригинале, да похожие но не то Big Grin
Ответ
#2
Начинайте платить l2j деньги и они доведут формулы до совершенства.
Не вижу смысла смеяться над этим.
Ответ
#3
rage Написал:В общем вот так, l2j это эмулятор, и даже самые основные формулы в нем не такие как в оригинале, да похожие но не то Big Grin

Собственно, это суть эмулятора - сделать похожее.

Из Википедии:
Цитата:имитировать программными средствами работу какого-либо физического устройства, процесса, другого программного средства или действий пользователя.
Fortuna - non penis, in manus non recipe.
Ответ
#4
n0nam3 Написал:Начинайте платить l2j деньги и они доведут формулы до совершенства.
Не вижу смысла смеяться над этим.

то есть получается они специально через жопу делают? Smile
Так как им деньги за это не платят.
Ответ
#5
Если бы l2j делали всё "каг на офе", то их давно бы прикрыли.
Fortuna - non penis, in manus non recipe.
Ответ
#6
kingzor;273379 Написал:то есть получается они специально через жопу делают?
Так как им деньги за это не платят.
Т.е. получается, что у ребят нет достаточно свободного времени. Им надо еще и жить как-то, а не убивать все свободное время на фри проект.
Ответ
#7
n0nam3 Написал:Начинайте платить l2j деньги и они доведут формулы до совершенства.
Зачем мне это? Smile

n0nam3 Написал:Не вижу смысла смеяться над этим.
Я и не смеюсь над l2j, просто говорю, что эмулятор он на самом деле эмулятор.
Ответ
#8
rage Написал:просто говорю, что эмулятор он на самом деле эмулятор.

[Изображение: you-dont-say.png]
Fortuna - non penis, in manus non recipe.
Ответ
#9
rage;273384 Написал:Я и не смеюсь над l2j, просто говорю, что эмулятор он на самом деле эмулятор.
Цитата:[Изображение: 8f9f307edfdb6801b2909ff6f2ae.png]
В случае, если я неправильно понял этот смайл - прошу меня извинить.
А за проделанную работу - спасибо.
Ответ
#10
n0nam3 Написал:В случае, если я неправильно понял этот смайл - прошу меня извинить.
А за проделанную работу - спасибо.

Согласен. Тема ни о чём, а за работу спасибо. Wink
Fortuna - non penis, in manus non recipe.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Lineage 2 формулы Gattsu 1 1,782 08-23-2012, 10:35 PM
Последний пост: Zubastic

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)