Показать сообщение отдельно
Непрочитано 05.02.2013, 18:30   #48
Аватар для rage
Герой

Автор темы (Топик Стартер) Re: Формулы (PTS)

Разобрал загадочный i_fatal_blow. Помнится в свое время много убил времени на "подгонку результата"
Итак:

Код:
Прохождение:
effect = i_fatal_blow;3453;250;0

chance = weapon_critical * dex_bonus * crit_height_bonus * crit_pos_bonus * effect_bonus * fatal_blow_rate

weapon_critical = (12.0 для даггеров) из itemdata
dex_bonus = dex_bonus

crit_height_bonus = (z_diff * 4 / 5 + 10) / 100 + 1
z_diff = z_attacker - z_target, (min = -25 max = 25) если меньше -25, то -25 и 
если больше 25 то 25

crit_pos_bonus = crit_pos * p_critical_rate_position_bonus
crit_pos = (front = 1, side = 1.1, back = 1.3)

effect_bonus = (p2 + 100) / 100, p2 - 2-й пар-р из эффекта

если chance > 80 то chance = 80

Урон:

damage_bonus = (pAtk * ss + p1) * weapon_random * pos_k1

ss = если есть соска то 2 если нет то 1
pos_k1 = (back = 0.2; side = 0.05; front = 0)

damage = ((pAtk * ss + p1) * soul_bonus * weapon_random * p_critical_damage per * p_defence_critical_damage per * pos_k2 + def_diff + damage_bonus) * 77 / (sDef + pDef) * weapon_triat_bonus * attr_bonus * p_pvp_physical_skill_dmg_bonus per * p_pvp_physical_skill_defence_bonus per * crit

soul_bonus = 1 всегда для эффекта i_fatal_blow (он не учитывает души) 
i_soul_blow учитывает, если они есть то:
soul_bonus = 1.3 + soul_count * 0.05

p_critical_damage per - стат
p_defence_critical_damage per - стат

pos_k2 = (p_critical_damage_position per - 1) * 0.5 + 1
p_critical_damage_position per - стат

def_diff = (p_defence_critical_damage diff + p_critical_damage diff + p_critical_damage_position diff) * 6
p_defence_critical_damage diff - стат
p_critical_damage diff - стат
p_critical_damage_position diff - стат

sDef = pDef щита если попали в щит и 0 если не попали. 
Шанс попасть в щит умножается на 3 для этих эффектов.

p_pvp_physical_skill_dmg_bonus per - стат если пвп
p_pvp_physical_skill_defence_bonus per - стат если пвп

crit = rand(p3), p3 - 3-й пар-р эффекта, если рандом выпал то 2, иначе 1
Любопытно, что прохождение скила и урон никак не зависит от уровня скила/цели.

Последний раз редактировалось rage; 15.02.2013 в 21:48.
rage вне форума Ответить с цитированием