Ты, скорее всего, неправильно протестил.
Чтобы лучше увидеть разницу, нужно дать пошатыванию потикать без получения повторного урона, чем больше, тем лучше, но чтобы он не спал.
Еще раз озвучу проблему и покажу разницу.
Нам прилетает 2.5 млн и в стандартное пошатывание (40%) уходит 1млн дамаги (100к раз в 1 сек)
Допустим, мы больше не получаем урон и наше пошатывание тикает.
Проходит 9 сек, мы уже получили 900к урона от доты и нам осталось получить 100к урона на последней секунде.
Вдруг мы получаем 1 ед дамага. Всего 1 ед.
Пошатывание снова обновится и так же будет тикать по 100к урона в сек.
Т.е. в данном случае мы получаем 1.5 млн мгновенно + 9 сек * 100к + 10 сек * 100к = 3.4 млн
На 900к больше, как раз из-за первых протикавших 900к дот.
Снова та же ситуация
Нам прилетает 2.5 млн и в стандартное пошатывание (40%) уходит 1млн дамаги (100к раз в 1 сек)
Проходит 1 тик пошатывания на 100к
Мы получаем 1 ед. урона, пошатывание снова обновляется на 1млн дамаги и протикает все 10 сек.
Итог, мы получили
1.5 млн мгновенно + 1 сек * 100к + 10 сек * 100к = 2.6 млн.
На 100к больше, как раз из-за первой протикавший 100к доты.
Теперь лучше видно разницу? А ведь это две одинаковых ситуации, где мы должны получить 2.5 млн дамаги.
А ведь в боях-то дамаг постоянный, а не 3 удара. И всё это стакает пошатывание.
Я это уже давно заметил во многих ситуациях. Простой пример.
Собираешь большую пачку мобов в данже. В начале танчишь их, пошатывание разгоняется. Когда пошатывание уже прилично бьет, даешь им 3 сек мисса от артефакта, дальше 5 сек стан. Пошатывание норм тикает, хоты залечивают. За врямя стана мобы умирают, у тебя остается 2 сек тика пошатывания и тут что-нибудь взрывается рядом не сильное от союзника или дота на тебе и ты начинаешь реально умирать от пошатывания. Т.к. пошатывание "запомнило" весь урон за всё время пока ты дрался с этим паком. Хотя, казалось бы, последнии 8 сек ты практически не получал урона.
Или тот же Шартос. Вроде физ. урон небольшой, ну, переодически доту вешает по 100к раз в 3 сек на 15 сек. Но блин, пошатывание так быстро разрастается, что ты просто таешь.
- - - Updated - - -
На всякий случай, прикреплю свой тестовый лог с расчетами.
Суть теста: мой рог кидает на моего монка танка гарроту.
Сам лог
Скрытый текст
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Легкое пошатывание Урон Вы 1153 единицы (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Умеренное пошатывание Урон Вы 2316 единиц (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 3479 единиц (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 4642 единицы (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 4642 единицы (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 5805 единиц (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 6968 единиц (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 8131 единицу (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 9294 единицы (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 9294 единицы (физический). Поглощено: 10 ед. урона.
Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Сильное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Умеренное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Умеренное пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Легкое пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
Ваше Легкое пошатывание Урон Вы 10457 единиц (физический). Поглощено: 10 ед. урона.
[свернуть]
Описание моей гарроты говорит, что она наносит 261990 урона в течении 18 сек) - 9 тиков раз в 2 сек
Проверка на мобе (тик гарроты)
29110 * 9 = 261990 (Верно)Код:Ваше Гаррота Урон Саблерогая олениха 29110 единиц (физический).
Итак, у монка почему-то при получении урона всегда поглощается 10 ед. урона.
Пример:
Это копейки, но лучше их учитывать, чтобы цифры сходились даже в таких мелочах.Код:Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
Тик гарроты наносит 29110 урона и т.к. поглощается 10 ед. урона, то она должна наносить
29100 урона за тик.
Берем наше стандартное пошатывание, в которое должно уходить 40% урона, поэтому тик гарроты будет
(29110 тик гарроты - 10 поглощено) * 0.6 = 17460.
Проверяем лог - всё верно.
Урон пошатывания в сек должен быть.Код:Повызову Гаррота Урон Вы 17460 единиц (физический). Поглощено: 10 ед. урона.
(29110 тик гарроты - 10 поглощено) * 0.4 / 10 сек = 1164 урона в сек
Т.к. на каждый тик пошатывания то же идет 10 ед. поглощения, то итог 1154 урона в сек.
Проверяем лог (тик пошатывания после первого тика гарроты).
Практически совпадает с логом.Код:Ваше Легкое пошатывание Урон Вы 1153 единицы (физический). Поглощено: 10 ед. урона.
Итак, это была проверка на то, что в целом у нас всё правильно работает.
Теперь возьмем общий урон от гарроты, который мы должны получить.
(29110 тик гарроты - 10 поглощение) * 9 тиков = 261900
Считаем весь урон по логу:
Общий урон пошатывания
1153 + 2316 + 3479 + 4642 * 2 + 5805 + 6968 + 8131 + 9294 * 2 + 10457 * 10 = 160294
Общий урон от тиков гарроты
17460 * 9 = 157140
Здесь уже видно, что что-то не так, ведь в пошатывание должно уходить лишь 40% урона и оно никак не может быть больше "мгновенного" урона.
Итог, мы получили 160294 + 157140 = 317434, что на 317434 - 261900 = 55534 урона больше.
Этот лишний урон как раз и есть сумма всех тиков пошатывания, кроме последнего обновленного пошатывания на 9 тике гарроты.
А вот если взять урон от всех 9 тиков гарроты + урон от пошатывания ТОЛЬКО после 9 тика гарроты, то мы как раз и получим
157140 + 104570 = 261710
Итог 261710 - 261900 = -190.
Мы даже получили на 190 урона меньше, что правильно, если принимать во внимание постоянные 10 ед. поглощения:
10 ед. поглощения * 9 тиков гарроты + 10 ед. поглощения * 10 тиков пошатывания.
Так что данный лог показывает, что мы получили на 55к больше урона, как раз из-за тиков пошатывания, урон от которых не учитывается при обновлении доты.