View Issue Details

IDProjectCategoryView StatusLast Update
0023224Legion CoreClasses - Monk - Монахpublic2022-12-14 07:04
ReporterShalfeyAssigned ToGhost 
PriorityhighSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Summary0023224: Талант https://www.wowhead.com/ru/spell=196736/%D1%81%D0%B5%D1%80%D0%B8%D1%8F-%D0%BD%D0%BE%D0%BA%D0%B0%D1%83%D1%82%D0%BE%D0%B2
DescriptionИмеются некоторые проблемы в таланте монка-хмелевара https://www.wowhead.com/ru/spell=196736/%D1%81%D0%B5%D1%80%D0%B8%D1%8F-%D0%BD%D0%BE%D0%BA%D0%B0%D1%83%D1%82%D0%BE%D0%B2 в части применения https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B . А именно происходит следующее:
1. Таймер оставшегося времени действия https://www.wowhead.com/ru/spell=124255/%D0%BF%D0%BE%D1%88%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 после применения https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B (нужно находиться под эффектом https://www.wowhead.com/ru/spell=196736/%D1%81%D0%B5%D1%80%D0%B8%D1%8F-%D0%BD%D0%BE%D0%BA%D0%B0%D1%83%D1%82%D0%BE%D0%B2) прибавляет +3 секунды к текущему времени и 3 секунды не наносит урон.
В данной моменте не должно ничего прибавлять к таймеру, таймер должен замереть на месте на 3 секунды, либо обновиться до 10 секунд, если был получен в этот промежуток времени входящий урон.
2. Если во время действия эффекта приостановки получения урона от пошатывания применить https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80, то после окончания эффекта приостановки урона количество тактов пошатывания получается более 20 штук. Полный урон при этом посчитался верно, но происходит его дробление но большее количество тактов (на 22) и этот урон наносится после окончания действия таймера пошатывания.
В данном моменте такого дробления быть не должно, в итоге должно было нанестись 19 тактов урона (из-за взаимодействия https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B + талант артефакта https://www.wowhead.com/ru/spell=238129/%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D0%B3%D0%BB%D0%BE%D1%82%D0%BE%D0%BA).
3. Если во время действия эффекта приостановки получения урона от пошатывания получить урон извне и применить https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80, происходит некая необъяснимая вакханалия с таймером пошатывания, он резко уменьшается на 3 сек ближе к нулю и в это же время количество тактов от пошатывания становится меньшим и наносится больший урон за такт.
В данном случае суммарный урон считается верно, но тактов урона пошатывания стало меньше, а их урон возрос. Такого быть не должно, таймер пошатывания во время действия "эффекта приостановки" и одновременного получения урона должен с текущего значения возвратиться на его начальное значение, равное 10 сек. А затем, урон тиков должен рассчитываться из того, что их 20 шт предусматривается на все время действия дебаффа пошатывания.

Activities

Shalfey

2022-12-09 18:42

reporter  

Много тиков.png (735,248 bytes)
быстро много урона.png (774,698 bytes)

Shalfey

2022-12-09 18:50

reporter   ~0063728

Из второго скриншота видно, что я под действием дебаффа пошатывания находился 10 секунд, а должен был находиться 13 секунд, и количество тиков должно было нанестись в сумме 21шт (1 тик до активации приостановки "эффекта приостановки получения урона от пошатывания" и 20 тиков урона после получения урона и окончания времени действия "эффекта приостановки..."), а дебафф этот урон распределил на 14 тиков (вместо 20).

Ghost

2022-12-11 05:20

developer   ~0063748

при приостановке тиков стаггера мы должны вычитать урон с бака при этом?

Shalfey

2022-12-11 08:25

reporter   ~0063750

Опишу алгоритм работы этой механики по двум различным путям.
Путь 1, если получили урон единожды и у нас нет далее никакого урона, который бы мог обновить таймер пошатывания.
Исх. данные:
1) У монаха накоплено 1000 урона в пошатывании, таймер пошатывания при этом на 6 секунде (прошло 4 секунды от 10 секунд в сторону нуля - т.е. 8 раз пошатывания тикнуло (каждые 0,5с по 5% от банка), осталось 12 тактов), имеется баф https://www.wowhead.com/ru/spell=196736/%D1%81%D0%B5%D1%80%D0%B8%D1%8F-%D0%BD%D0%BE%D0%BA%D0%B0%D1%83%D1%82%D0%BE%D0%B2.
2) Монах применяет https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B.
В результате имеем:

3. Таймер пошатывания замирает на 6 секунде на 3 секунды, урон от пошатывания не наносится, в банке 950ед урона, количество оставшихся тактов равно 11 (5% урона из банка пошатывания ушло благодаря https://www.wowhead.com/ru/spell=238129/%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D0%B3%D0%BB%D0%BE%D1%82%D0%BE%D0%BA из 12 оставшихся тактов убрали 1 такт (или этим отваром вычли из таймера пошатывания 0,5с, если количество тиков строго привязано к таймеру пошатывания) , урон такта остался неизменным).
Таким образом https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B может модифицировать урон в банке и количество оставшихся тактов пошатывания (или этим отваром вычли из таймера пошатывания 0,5с, если количество тиков строго привязано к таймеру пошатывания) ) во время этой приостановки.
4. Можем применить https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80. Этим отваром можем модифицировать оставшийся урон в банке на n%, урон тика на n%, но не можем модифицировать количество оставшихся тиков. Т.е. имея 11 оставшихся тактов, каждый из них нанесет на n% урона меньше после применения
https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80,.
5. Эффект приостановки закончился, он продолжает с той же секунды, на которой он остановился, но уже с выше перечисленными модификациями:
ударит 11 тактов урона пошатывания (1 раз выпил отвар железной шкуры), каждый такт урона ударит на n% меньше в результате применения очищающего отвара.
Путь 2, если во время работы этой механики мы получили внешний урон (ну кроме урона от мира, н-р от падения).
1) этот пункт такой же.
2) этот пункт такой же.
3) Этот пункт такой же.
4) Монах получает 100 ед урона (для примера 60 ед прямым и 40ед в банк пошатывания пошло).
В результате имеем:
5) Таймер с 6 секунд обновился до 10 секунд. В банке пошатывания теперь будет 950 (или 950 - n% после очищ. отвара) +40=990 ед урона . Количество оставшихся тактов сбросилось, их стало 20 штук. И после окончания эффекта приостановки этот накопленный урон распределится на 20 тактов.
6) Можем применить https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80. Этим отваром можем модифицировать оставшийся урон в банке на n%, урон тика на т%, но не можем модифицировать количество оставшихся тиков. Т.е. имея теперь уже 20 оставшихся тактов, каждый из них нанесет на n% урона меньше после применения
https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80,.
И после окончания эффекта приостановки этот накопленный урон распределится на 20 тактов.
7. Эффект приостановки закончился, на таймере у нас 10 секунд, количество тактов 20 штук (или меньше, если мы успели применить после получения урона https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B).

Т.е. подытожим, что делается во время этого эффекта:
https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B модифицирует урон в банке и количество оставшихся тактов в пошатывании (или модифицирует таймер пошатывания, если количество тиков строго привязано к этому таймеру).
https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80, модифицирует урон в банке и урон тиков пошатывания.
Полученный урон извне сбрасывает таймер пошатывания до 10 секунд, а количество оставшихся тактов до 20ед.

Shalfey

2022-12-11 08:55

reporter   ~0063753

Из первого скриншота, что я привел, итоговый урон посчитался верно, я не вижу в этом проблемы.
1 скриншот:
1) изначально в баке у нас 256*20=5120 урона
2) 5120-256= 4864
3) применил https://www.wowhead.com/ru/spell=115308/%D0%BE%D1%82%D0%B2%D0%B0%D1%80-%D0%B6%D0%B5%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B9-%D1%88%D0%BA%D1%83%D1%80%D1%8B,.
4864-5%=4620ед
4) применил https://www.wowhead.com/ru/spell=119582/%D0%BE%D1%87%D0%B8%D1%89%D0%B0%D1%8E%D1%89%D0%B8%D0%B9-%D0%BE%D1%82%D0%B2%D0%B0%D1%80,
4620-44%=2587ед
5) эффект закончился, должно ударить 18 раз по 2587/18= 143ед. А бьет 22 раза по 123ед, что равно 2583 (ну погрешность расчетов).
Из второго скриншота тоже суммарный итоговый урон верно рассчитался, а вот количество тактов не верно рассчиталось, их должно было быть 20, так как таймер должен был после получения урона обновиться до 10сек. Но так как беды с таймером пошатывания, имеем этот феномен.

Shalfey

2022-12-12 06:47

reporter   ~0063769

Изменения на сервер видимо применились по этой части, поэтому могу уже дать обратную связь.
1. Таймер не прибавляет 3 секунды. (это норм)
2. При получении урона таймер обновляется во время эффекта приостановки до 10 сек. (это норм, должен так делать)
3. При этом под этим эффектом таймер продолжает тикать дальше, а 6 тиков уходят в промах, уменьшая бак пошатывания каждым тиком (это не норм, должен замереть, тики тоже должны приостановиться на 3 секунды, бак не должен ими опустошаться).

Ghost

2022-12-12 07:19

developer   ~0063771

пока пусть так будет, побочных приколов навылазило бы

Ghost

2022-12-12 07:33

developer   ~0063772

Last edited: 2022-12-12 07:40

View 2 revisions

потому что, если не вычитать из бака, то когда допустим остается 5 секунд стаггера, то визуально весь урон не вычтется, маркер то снимется по окончанию дюрейшна и стаггер еще будет тикать пока не вычтет полностью урон, что делает бессмысленным этот фикс

Ghost

2022-12-12 07:35

developer   ~0063773

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

Shalfey

2022-12-12 07:59

reporter   ~0063774

В коде я хз как оно реализуется, тонной текста я пытался описать, как эта механика в результате должна выглядеть в жизни.
Нашел ссылку на гитхаб с кодом, посмотри пжлст, поиском blackout_combo. Вероятно, что-то полезное получится обнаружить по данной теме.
https://github.com/simulationcraft/simc/commit/261cb9b2b3c43772cbd16556ddf2efe1f926d246

Shalfey

2022-12-12 08:18

reporter   ~0063775

Может и по https://www.wowhead.com/spell=238129/quick-sip что-то будет

Issue History

Date Modified Username Field Change
2022-12-09 18:42 Shalfey New Issue
2022-12-09 18:42 Shalfey Status new => assigned
2022-12-09 18:42 Shalfey Assigned To => Shadowraze
2022-12-09 18:42 Shalfey File Added: Много тиков.png
2022-12-09 18:42 Shalfey File Added: быстро много урона.png
2022-12-09 18:50 Shalfey Note Added: 0063728
2022-12-11 05:20 Ghost Note Added: 0063748
2022-12-11 05:48 Ghost Assigned To Shadowraze => Ghost
2022-12-11 05:49 Ghost Status assigned => acknowledged
2022-12-11 08:25 Shalfey Note Added: 0063750
2022-12-11 08:55 Shalfey Note Added: 0063753
2022-12-12 06:47 Shalfey Note Added: 0063769
2022-12-12 07:19 Ghost Note Added: 0063771
2022-12-12 07:33 Ghost Note Added: 0063772
2022-12-12 07:35 Ghost Note Added: 0063773
2022-12-12 07:40 Ghost Note Edited: 0063772 View Revisions
2022-12-12 07:59 Shalfey Note Added: 0063774
2022-12-12 08:18 Shalfey Note Added: 0063775
2022-12-14 07:04 Ghost Status acknowledged => resolved
2022-12-14 07:04 Ghost Resolution open => fixed