View Issue Details

IDProjectCategoryView StatusLast Update
0029237Legion CoreClasses - Priest - Жрецpublic2024-02-25 23:51
ReporterShalfeyAssigned ToGhost 
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionreopened 
PlatformWindowsOS10OS Versionx64
Summary0029237: Отблеск света
Descriptionhttps://www.wowhead.com/ru/spell=77489/%D0%BE%D1%82%D0%B1%D0%BB%D0%B5%D1%81%D0%BA-%D1%81%D0%B2%D0%B5%D1%82%D0%B0 вы исцелили товарища на 1.000.000 имея 50% искусности товаришь получит хотку которая за 6 секунд дважды исцелит его по 250к ( что в сумме является 500к - 50% от 1.000.000) данная хотка подвержена эффекту суммирования. Суть проблемы в том, что эффект суммирования работает некорректно: Если вы исцелили товарища 2 раза поодряд по 1.000.000 (в сумме 2 миллиона) то искусность должна хоткой исцелить на 1.000.000 от 2 млн.) НО! у нас этого не происходит! Посмотреть это можно на видео https://youtu.be/oNhrpXWpGAw?t=130 тут видно, что прист кинул АОЕ хилку, затем кидает слово силы безмятежность и мы видим, что уже на манекене не 2 тика, а 3! И в сумме они исцелили цель (516253+3957181)*0,37= 3 тика по 558947, что соответствует искусности приста (в начале видео показывает). У на сервере будет 2 тика и в сумме не будет столько, сколько должно быть по искусности, итоговый отхил будет меньше. Т.е. я подвожу к тому, что текущая реализация у нас неверная и https://www.wowhead.com/ru/spell=77489/%D0%BE%D1%82%D0%B1%D0%BB%D0%B5%D1%81%D0%BA-%D1%81%D0%B2%D0%B5%D1%82%D0%B0 должена цель отхилить в процентном соотношении от искуси верно при любом колличестве влитого исцеления в цель. Влили в цель 4 ляма 4 флешками подряд, должно при искуси 50% исцелить на 2 ляма в итоге. У нас это значение будет меньше.

Activities

Shalfey

2024-02-12 13:43

reporter   ~0074836

https://youtu.be/2SppXTc35Vo?t=428 такой же эффект можно тут наблюдать 2 флешки = 3 тика от отблеска света и в сумме это 20% хила от суммы 2 флешек (по искуси).
https://youtu.be/2SppXTc35Vo?t=835 а тут можно видеть, что таймер https://www.wowhead.com/ru/spell=77489/%D0%BE%D1%82%D0%B1%D0%BB%D0%B5%D1%81%D0%BA-%D1%81%D0%B2%D0%B5%D1%82%D0%B0 не фиксированные 6 сек, таймер увеличивается и отсюда я предполагаю дополнительные тики появляются.

Shalfey

2024-02-15 09:43

reporter   ~0074863

Наглядно тут покажу: исцелил себя 2 спеллами (как тут https://youtu.be/oNhrpXWpGAw?t=130 ) и в итоге отхилить себя должен был отблеском света на: (368 099 + 1 226 761) * 0,55 = 1 594 860*0,55 = 877 173, но хота отхилила только на 583 950, что на 30% меньше, чем должно было отхилить (так как было всего 2 тика от хоты, а не 3, как показано в видео на офе).

тест.png (697,990 bytes)

Neenya

2024-02-15 11:37

reporter   ~0074864

Извиняюсь за повтор вашего описания выше)

https://www.wowhead.com/spell=77485/mastery-echo-of-light
https://www.wowhead.com/spell=77489/echo-of-light

Две последовательных каста флешки:

id:77485[Mastery: Echo of Light]bp:0:60.1156 1:125
id:77489[Echo of Light]bp:0:365135 dur:6000

Your Flash Heal healed You 0 Holy. (1,214,776 Overhealed) (Critical)
Your Flash Heal healed You 0 Holy. (607,388 Overhealed)
Your Echo of Light healed You 0 Holy. (365,134 Overhealed)
Your Echo of Light healed You 0 Holy. (365,134 Overhealed)

Тикает всего 2 раза, когда числа отхила расчитаны под 3 тика:

(607,388 * 2 + 607,388) * 60.1156 / 100 = 1,095,404.821584

1,095,404.821584 делим на 3 тика: 365,134.940528


Теперь один каст флешки:

id:77485[Mastery: Echo of Light]bp:0:60.1156 1:125
id:77489[Echo of Light]bp:0:182567 dur:6000

Your Flash Heal healed You 0 Holy. (607,388 Overhealed)
Your Echo of Light healed You 0 Holy. (182,567 Overhealed)
Your Echo of Light healed You 0 Holy. (182,567 Overhealed)

607,388 * 0,601156 = 365,134.940528

365,134.940528 делим на 2 тика: 182,567.470264

Длительность всегда 6 сек максимум.

Shalfey

2024-02-19 05:09

reporter   ~0074939

Требуется доработать момент:
Если скастовать быстрое исцеление, затем сразу использовать слово силы безмятежность: получается 2 тика (должно быть 3 тика) и теряется часть отхила от отблеска света.
А если скастовать в последовательность слово силы безмятежность, затем сразу быстрое исцеление, то нормально 3 тика получаются.
Т.е. надо доработать момент с обработкой последовательных мгновенных исцелений, когда между ними нет проктически промежутка времени (сразу после хила от флешки поступает хил от сиренити)

Shalfey

2024-02-19 05:39

reporter   ~0074940

Еще пересмотри механику суммирования, получилось, что можно бак отблеска света до бесконечности наполнять ( не работает вычитание уже отхилинного хотой из общего бака, когда в бак добавляется новое исцеление)

Shalfey

2024-02-19 05:40

reporter   ~0074941

тут на БГ я увидел 4 ляма в баке и офигел. Потом потестировал и оказалось, что в бак отблеска набираетсся весь хил и не вычитаются уже оттиканые значения

вай вай 1.png (571,237 bytes)
вай вай 2.png (1,139,585 bytes)

Shalfey

2024-02-19 05:42

reporter   ~0074942

на вай вай 1 видим сумму всего поступившего хила
на вай вай 2 видим сколько отхилил отблеск

Shalfey

2024-02-19 06:05

reporter   ~0074943

Странно короче выглядит, я не понимаю как это получается

Shalfey

2024-02-19 06:14

reporter  

хмммм.png (148,756 bytes)
хмммм.png (148,756 bytes)

Shalfey

2024-02-19 06:14

reporter   ~0074944

Вот например тут за БГ все норм, таких случаев не вылезло. Вообщем нужно разобираться. Тот случай выше с настаканными 4,7 млн вылез, когда я себя нонстоп прохиливал около минуты

Shalfey

2024-02-19 06:42

reporter   ~0074945

Вообщем извините, что так много написал, не умею по другому.
----------
Резюмируя я вижу, что суммирование происходит следующим образом (смотрим мой скрин) в конце видим тик хоты 815062 и затем 2 флешки по 291356.
от 2 флешек должно в бак поступить 291356*2*0,55=320492, в баке сейчас у нас осталось 2 тика из 3 тиков: 815062*2= 1630124.
16320124+320492=1950616 и должно дальше было быть 3 тика по 650205. Но у нас произошло следующее к 815062 + (291356*2*0,55)/3=921892. Т.е. к размеру тика прибавился добавочное исцеление от 2 флешек

Ghost

2024-02-19 07:41

developer   ~0074947

значит откатить придется и отложить в долгий ящик

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

Ghost

2024-02-19 07:52

developer   ~0074948

вот я думаю можно убедиться в работе дот на роликах
12654 22842 63468 113344

Shalfey

2024-02-19 07:54

reporter   ~0074949

Либо сделать, чтобы было 2 тика - мне кажется из-за 3 тика все проблемы :'(
На прошлой реализации работала рекаркуляция тиков правильно под 3 тика, но не было 3го тика. Посмотри пожалуйста, может получится реализовать, использую прошлую наработку и совместить с текущей

Ghost

2024-02-19 07:55

developer   ~0074950

под 3 тика? это как вообще? я чет не понимаю

Shalfey

2024-02-19 07:57

reporter   ~0074951

Если в начало вернешься переписки, там представлены расчеты мои и другого человека :
Две последовательных каста флешки:

id:77485[Mastery: Echo of Light]bp:0:60.1156 1:125
id:77489[Echo of Light]bp:0:365135 dur:6000

Your Flash Heal healed You 0 Holy. (1,214,776 Overhealed) (Critical)
Your Flash Heal healed You 0 Holy. (607,388 Overhealed)
Your Echo of Light healed You 0 Holy. (365,134 Overhealed)
Your Echo of Light healed You 0 Holy. (365,134 Overhealed)

Тикает всего 2 раза, когда числа отхила расчитаны под 3 тика:

(607,388 * 2 + 607,388) * 60.1156 / 100 = 1,095,404.821584

1,095,404.821584 делим на 3 тика: 365,134.940528

Shalfey

2024-02-19 07:58

reporter   ~0074952

т.е. в прошлом релизе рекаркуляция работала у тиков, считалось под 3 тика, но было всего 2 тика.

Ghost

2024-02-19 08:00

developer   ~0074953

как под 3? вот в первый раз я использую на 150к, при 10% идут два тика по 7.5к

Shalfey

2024-02-19 08:01

reporter   ~0074954

Да, если 1 каст флешки сделать будет 2 тика. Если сделать 2 каста подряд то уже хотка делится на 3 тика. Вот по офе так работает, у нас на прошлом релизе размер верно считался, но не было того самого 3го тика

Ghost

2024-02-19 08:06

developer   ~0074955

она не делится на 3 тика, а идет прибавка старого оставшегося значения амаунта ауры с новым и деление на количество базовых тиков (их 2)

Shalfey

2024-02-19 08:11

reporter   ~0074956

ну а я вижу, что по логу размер хоты делится на 3, вот посмотри:
368099+1226761=1594860
1594860*0,55=877173
и на прошлом релизе это число делилось на 3 877173/3=291975, но при этом выдавало 2 базовых тика

тест1.png (697,990 bytes)

Shalfey

2024-02-19 08:13

reporter   ~0074957

а должно было выдать третий доп тик размером 291975. Если это вызывает сложность в реализации, попробуй сделать так, чтобы размер тика хоты делился на 2, а не на 3 и будет у нас 2 базовых тика и считаться будет наверно верно итоговый размер хоты

Shalfey

2024-02-19 08:22

reporter   ~0074958

А сейчас у нас на реализации появился этот 3 тик, но приэтом поясняя "идет прибавка старого оставшегося значения амаунта ауры с новым и деление на количество базовых тиков (их 2)" прибавка как будто происходит не к оставшемуся значению ауры, такое чувство, что из ауры не вычитается оттиканые значения и прибавка идет к максимальному значению в этом баке без учето того, что уже оттикало

Ghost

2024-02-19 08:39

developer   ~0074960

а на старых патчах как?

Shalfey

2024-02-19 08:56

reporter   ~0074961

https://youtu.be/zCt6OFp3adY?t=344
механику дренора я не знаю, но я вижу, что тут тоже таймер у хоты больше 6 сек бывает

Shalfey

2024-02-19 09:09

reporter   ~0074962

https://youtu.be/If_3gxi8Zuk?t=370 (по 101ед 3 тика)
https://youtu.be/If_3gxi8Zuk?t=266 (по 1086ед 3 тика)
тут видим увеличенный таймер и 3 тика от отблеска света

Shalfey

2024-02-19 09:19

reporter   ~0074963

https://youtu.be/TLqEJ4D_hDM?t=98
а в этом видео если почекать вообще наглядно видно

Shalfey

2024-02-19 09:59

reporter   ~0074965

Если ознакомиться с материалами выше, то должно работать так (для простоты 10% искусности, 150к величина хилки):

вар. 1) на тебе нет хоты и если ты хилишь 150к, в бак ушло 15к, 15к делится на 2 и получается по 7,5к 2 тика
------
вар. 2) на тебе нет хоты и если ты хилишь 2 раза подряд и успеваешь до первого тика от хоты, то получится 150к+150к=300к, в бак зашло (15к + 15к = 30к) ( и тут уже получается 3 тика по 10к)
вар. 2.1) если тебя хильнул один тик 10к, в баке осталось 20к (2 тика осталось по 10к), хилишь 150к, бак пополнился на 15к и теперь в баке (20+15=30к) и будет опять 3 тика уже по 11660 ед,
вар. 2.2) если у тебя прошло 2 тика по 11660ед, в баке осталось 11660 (остался 1 тик), хилишь 150к, бак пополнился на 15к и теперь в баке 26660 и будет 2 тика по 13330ед

Shalfey

2024-02-19 10:06

reporter   ~0074966

Если смотреть вариант 2 - 2.2 получилось, что я хильнул в сумме по 150к 4 раза = 600к, в бак ушло в сумме 60к и общий отхил от тиков получился 10000+11660+11660+13330+13330=60000. т.е. таким образом все соответствовать будет

Shalfey

2024-02-19 11:16

reporter   ~0074969

Слушай, так я сейчас по своему же алгоритму сделал тест и у меня все прекрасно работает как и должно

тест 02.png (561,418 bytes)

Shalfey

2024-02-19 11:39

reporter   ~0074970

Если подряд хилить не переставая в какой-то момент возникает баг...

Shalfey

2024-02-19 11:49

reporter   ~0074972

я тупица, посмотрел что у меня на скрине получилось. В этом моменте посмотри получается ошибка и не вычтился 1 тик из бака и далее в расчет пошло неверное суммирование

тест 03.png (585,299 bytes)

Shalfey

2024-02-19 11:58

reporter   ~0074973

Вообщем этот алгоритм верный, если нему будет следовать код, то будет работать как должно.

вар. 1) на тебе нет хоты и если ты хилишь 150к, в бак ушло 15к, 15к делится на 2 и получается по 7,5к 2 тика
вар. 2) на тебе нет хоты и если ты хилишь 2 раза подряд и успеваешь до первого тика от хоты, то получится 150к+150к=300к, в бак зашло (15к + 15к = 30к) ( и тут уже получается 3 тика по 10к)
вар. 2.1) если тебя хильнул один тик 10к, в баке осталось 20к (2 тика осталось по 10к), хилишь 150к, бак пополнился на 15к и теперь в баке (20+15=30к) и будет опять 3 тика уже по 11660 ед,
вар. 2.2) если у тебя прошло 2 тика по 11660ед, в баке осталось 11660 (остался 1 тик), хилишь 150к, бак пополнился на 15к и теперь в баке 26660 и будет 2 тика по 13330ед

Ghost

2024-02-19 12:44

developer   ~0074975

сомнительно, ну окэй
сделаю компенсационный тик при обновлении хоты, величина тика например не поменяется, но их будет 3

Shalfey

2024-02-19 12:59

reporter   ~0074976

Хорошо, обратную связь дам тогда потом

Shalfey

2024-02-20 17:38

reporter   ~0074987

Ну вроде я похилил себя в течении нескольких минут, рекаркуляция работает, хотка пересчитывается и бесконечного суммирования теперь нет и 3 тик появился

Issue History

Date Modified Username Field Change
2024-02-12 12:41 Shalfey New Issue
2024-02-12 12:41 Shalfey Status new => assigned
2024-02-12 12:41 Shalfey Assigned To => godxx
2024-02-12 13:43 Shalfey Note Added: 0074836
2024-02-15 09:43 Shalfey File Added: тест.png
2024-02-15 09:43 Shalfey Note Added: 0074863
2024-02-15 11:37 Neenya Note Added: 0074864
2024-02-15 12:35 Ghost Assigned To godxx => Ghost
2024-02-15 12:35 Ghost Status assigned => acknowledged
2024-02-16 17:31 Ghost Status acknowledged => resolved
2024-02-16 17:31 Ghost Resolution open => fixed
2024-02-19 05:09 Shalfey Status resolved => feedback
2024-02-19 05:09 Shalfey Resolution fixed => reopened
2024-02-19 05:09 Shalfey Note Added: 0074939
2024-02-19 05:39 Shalfey Note Added: 0074940
2024-02-19 05:39 Shalfey Status feedback => assigned
2024-02-19 05:40 Shalfey File Added: вай вай че это.png
2024-02-19 05:40 Shalfey File Added: вай вай 1.png
2024-02-19 05:40 Shalfey File Added: вай вай 2.png
2024-02-19 05:40 Shalfey Note Added: 0074941
2024-02-19 05:42 Shalfey Note Added: 0074942
2024-02-19 06:05 Shalfey Note Added: 0074943
2024-02-19 06:14 Shalfey File Added: хмммм.png
2024-02-19 06:14 Shalfey Note Added: 0074944
2024-02-19 06:42 Shalfey Note Added: 0074945
2024-02-19 07:41 Ghost Note Added: 0074947
2024-02-19 07:52 Ghost Note Added: 0074948
2024-02-19 07:54 Shalfey Note Added: 0074949
2024-02-19 07:55 Ghost Note Added: 0074950
2024-02-19 07:57 Shalfey Note Added: 0074951
2024-02-19 07:58 Shalfey Note Added: 0074952
2024-02-19 08:00 Ghost Note Added: 0074953
2024-02-19 08:01 Shalfey Note Added: 0074954
2024-02-19 08:06 Ghost Note Added: 0074955
2024-02-19 08:11 Shalfey File Added: тест1.png
2024-02-19 08:11 Shalfey Note Added: 0074956
2024-02-19 08:13 Shalfey Note Added: 0074957
2024-02-19 08:22 Shalfey Note Added: 0074958
2024-02-19 08:39 Ghost Note Added: 0074960
2024-02-19 08:56 Shalfey Note Added: 0074961
2024-02-19 09:09 Shalfey Note Added: 0074962
2024-02-19 09:19 Shalfey Note Added: 0074963
2024-02-19 09:59 Shalfey Note Added: 0074965
2024-02-19 10:06 Shalfey Note Added: 0074966
2024-02-19 11:16 Shalfey File Added: тест 02.png
2024-02-19 11:16 Shalfey Note Added: 0074969
2024-02-19 11:39 Shalfey Note Added: 0074970
2024-02-19 11:49 Shalfey File Added: тест 03.png
2024-02-19 11:49 Shalfey Note Added: 0074972
2024-02-19 11:58 Shalfey Note Added: 0074973
2024-02-19 12:44 Ghost Note Added: 0074975
2024-02-19 12:59 Shalfey Note Added: 0074976
2024-02-20 17:38 Shalfey Note Added: 0074987
2024-02-25 23:51 Ghost Status assigned => closed