1.) Механика работы Кансела и
ему подобных скиллов , включая
стил дивинити и баны.
Эти скиллы снимают баффы с цели. С
каким шансом какой бафф падает - это
мы сейчас и узнаем.
Кансел работает по следующему
принципу: он проходит по списку
баффов, начиная с конца (разумеется,
дебаффы кансел не трогает, делать ему
больше нечего) и просчитывает
вероятность того, снимется ли бафф или
нет. Когда число снятых баффов достигло
предела у скилла - то просчет
останавливается. Скажем, стил дивинити
не может скансельнуть больше 7 баффов,
хотя из формулы будет ясно, что шанс
установлен в 100% и смысла
просчитывать как бы и нету.
Тач оф дез, крашер у ДА, талик на кансел и
на бафф-стил - все имеет идентичную
природу.
Варриор баны и меджик баны(включая
массовые) просчитывают только те
баффы, которые имеют abnormal_type,
равный соответствующей
характеристике. То есть акумен, хаст, эмп,
комбик на шилд + майт, скролы, эмп
саммону - это все имеет определенный
abnormal_type.
Сперва считается предварительный шанс
удаления дебаффов
prelim_chance = (2 * dml +
cancel_chance_adder + buff_duration / 120)
* cancel_res_multiplier
dml - разница magic_level Кансел-
подобного скилла и уровнем текущего
баффа, для которого введется расчет.
Скажем, ТОД +0 - имеет меджик левел,
равный 78, меджик бан - 77 и так далее.
Это понятно каждому, кто играет в
линейку и знает скиллы своего
персонажа. Infinity Spear имеет меджик
левел, равный 80. Кансел-пвп бонус,
скилл пантеры и талик - пока не
определено.
cancel_chance_adder - константа.
Cancel - 25
Touch of Death/Insane Crusher - 25
Mage/Warrior Bane - 80
Mass Mage/Warrior Bane - 40
Infinity Spear - 10
Для стилов как-бы это не важно -).
buff_duration - время баффа в секундах.
Деление - целочисленное, то есть
округляется вниз, как вообще все в
линейке (поэтому часто ЛС +0.2 еваги
поднимает ее на единичку, ведь у вас
было округление не самое удачное).
Заточили на время - больше шанс
потерять бафф. Точим кисс оф еву?
Возможно. Но заточка поднимает и
меджик левел баффа, так что в тоже
время его шанс его отмены падает - что
перевесит, считать вам. На каком уровне
скилл прокачали - примерно таков его и
меджик левел.
Возрастание уровня скилла от заточки:
Для второпрофных: +1..+3 - 76, +4..+6 - 77,
+7..+9 - 78, +10..+12 - 79, +13..+15 - 80,
+16..+18 - 81, +19..+21 - 82, +22..+24 - 83,
+25..+27 - 84, +28..+30 - 85.
Для третьепрофных: +1..+3 - 81, +4..+6 -
82, +7..+9 - 83, +10..+12 - 84, +13..+15 - 85.
cancel_res_multiplier - резисты. По
умолчанию равен 1. Разные скиллы (на
них написано) уменьшают вероятность
отмены каждого из конкретных баффов.
Arcane Protection: 0.7
Chant of Spirit: 0.7
Zealot: 0.6
И так далее. Бафф снижает шанс отмены
положительных эффектов на 30%?
Значит, получаем число (1 - 30%/100%) =
0.7. Это для тех, кто уже решил шпилить
прямо из детского садика.
Если баффов несколько - то мы просто
перемножаем эти числа. Получаем одно
число и это и есть cancel_res_multiplier.
Важный момент: если кансел снял бафф-
резист от кансела, то бафф-резист по
прежнему продолжает действовать на
остальные баффы. Так что не важно, куда
его бафать - в конец или в начало, если
вашей целью стоит максимизировать
кансел-резист.
После prelim_chance считаем реальный
шанс удаления баффа.
1) Для Cancel и других не бан и не стил
скиллов (включая кансел стик):
Если prelim_chance < 25 то real_chance =
25
Если prelim_chance > 75 то real_chance =
75
Если 25 < prelim_chance < 75 то
real_chance = prelim_chance
Реальный шанс для Cancel не может
быть меньше 25 и больше 75.
2) Для Bane-скиллов:
Если prelim_chance < 40 то real_chance =
40
Если prelim_chance > 95 то real_chance =
95
Если 40 < prelim_chance < 95 то
real_chance = prelim_chance
То есть реальный шанс для bane-скилла
не может быть меньше 40 и больше 95.
Сюда же входят и всевозможные блоки,
но эта информация пока не точная,
возможно подредактирую.
Меньше здесь - меньше или равно для
нытиков. И больше тоже для самых-
самых.
Есть баффы, у которых magic_level = -1, то
есть канселом не снимаются. Сами знаем
какие - хиро УД, валор, бафф с пристов,
некоторые эвент-баффы и все такое. Нобл
понятное дело после ввода Эпилога на
ура падает.
У стилов cancel_chance_adder = 100 и
вообще бафф падает со 100%-ой
вероятностью. Удивительная находка, не
правда ли?
Выводы:
1.) Кансел начинает просчет с конца.
Дискотека, потом уже 24, 23, ... 2, 1 слоты.
Тогл (аура) - это не бафф ^^. Поэтому если
в конец засунуть ерунду, а самые
приятные баффы будут первыми - то
вероятность кансела первых баффов
НАМНОГО меньше, чем последних.
Поэтому это выгодно.
2.) Кансел-резист, по-сути, бесполезен.
Скажем, предел баффов от Кансела - 5.
Набафали кучу резиста. Шанс меньше 25%
не упадет. В результате в среднем
каждый четвертый бафф будет падать. То
есть есть реальные шансы потерять один
из первых баффов. И если не поднимать
Кансел-резист, не точить всякие
регенерашионы и кисс оф Евы (идеально
вообще иметь первый уровень скилла -
вот и будет 75% шанс его потерять и
уменьшить счетчик, но кто же это знал) -
то можно грамотно защититься от
Кансела. И теперь каждый ЕЕ на олли
подумает, а стоит ли бафать от сорка
аркану протекшион и потерять акумен
или эмп из-за этого. Не говоря уже и про
такой лоу-левел скилл, как Френзи. Вот и
проблема с зилом. Так что Вешаем фризу
в самые первые баффы, ребаффая дестру
после прокаста вообще все, что
возможно.
3.) Баны тоже не всегда снимают
соответствующий бафф. Особенно с
резистом канселу, особенно хай-левел
бафф.