View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0029391 | Legion Core | Classes - Priest - Жрец | public | 2024-02-25 19:24 | 2024-09-23 20:02 |
Reporter | Neenya | Assigned To | Ghost | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Platform | Windows | OS | 10 | OS Version | x64 |
Summary | 0029391: Holy Priest, Mastery: Echo of Light (77485), Echo of Light(77489) | ||||
Description | Неккоректно: 1) Отблеск света тикает мгновенно 2) Отблеск света тикает больше 3 раз за 9 сек. 3) Мгновенный тик Отблеска света не расчитывается в суммировании исцеления. Итог: Из-за того что Отблеск света тикает мгновенно, не суммируя в уменьшение протиканный хил, Исцеление что приходят между внутренним таймером Отблеска света (3 сек) стакаеться больше нужного. | ||||
Steps To Reproduce | 1) Иметь много хасты. 2) Кастануть 3+ спеллами исцеления в таргет за 3 секунды. (Попасть в 3 секундный таймер тика Отблеска света, проще всего с момента наложения) | ||||
Additional Information | id:77485[Mastery: Echo of Light]bp:0:43.3531 1:125 Mastery: 43.3531% 1) Flash Heal : 1,273,078 Add to Echo of Light : 1,273,078 * 0.433531 = 551,918.778418 2) Holy Word: Serenity : 2,704,098 Add to Echo of Light : 2,704,098 * 0.433531 = 1,172,310.310038 3) Holy World: Sanctify : 933,030 Add to Echo of Light : 933,030 * 0.433531 = 404,497.42893 4) Renew (initial) : 102,374 Add to Echo of Light : 102,374 * 0.433531 = 44,382.302594 Echo of Light Sum: (1,273,078 + 2,704,098 + 933,030 + 102,374) * 0.433531 = 2,173,108.81998 Heal per Tick: 2,173,108.81998 / 3 (ticks) = 724,369.60666 (~724.368 actual tick) But... We healed with Echo of Light 5 times (5 ticks): 1) 574,742 2) 709,574 3) 724,368 4) 724,368 5) 724,368 Sum: 574,742 + 709,574 + 724,368 + 724,368 + 724,368 = 3,457,420 When actual sum was 2,173,108.81998, we healed for 3,457,420. Why? Echo of Light "instant" tick after aura update doesn't calculate summary in aura when tick. (sum decrease) Only timer ticks are decreasing summary. (Ticks per 3 sec) And we see that: 1) Flash Heal : 1,273,078 Add to Echo of Light : 1,273,078 * 0.433531 = 551,918.778418 2) Holy Word: Serenity : 2,704,098 Add to Echo of Light : 2,704,098 * 0.433531 = 1,172,310.310038 Sum : 551,918.778418 + 1,172,310.310038 = 1,724,229.088456 Ticks : 1,724,229.088456 / 3 (ticks) = 574,743.0294853333 (1st tick) Sum after tick (not working): Sum - tick : 1,724,229.088456 - 574,743.0294853333 = 1,149,486.058970667 Ticks remaining (not working) : 1,149,486.058970667 / 3 (ticks) = 383,162.019656889 3) Holy World: Sanctify : 933,030 Add to Echo of Light : 933,030 * 0.433531 = 404,497.42893 Sum : 1,724,229.088456 + 404,497.42893 = 2,128,726.517386 Ticks : 2,128,726.517386 / 3 (ticks) = 709,575.5057953333 (2nd tick) Sum (not working) : 1,149,486.058970667 + 404,497.42893 = 1,553,983.487900667 Ticks (not working) : 1,553,983.487900667 / 3 (ticks) = 517,994.495966889 Sum after tick (not working) : Sum - tick : 1,553,983.487900667 - 517,994.495966889 = 1,035,988.991933778 Ticks remaining (not working) : 1,035,988.991933778 / 3 (ticks) = 345,329.663977926 4) Renew (initial) : 102,374 Add to Echo of Light : 102,374 * 0.433531 = 44,382.302594 Sum : 2,128,726.517386 + 44,382.302594 = 2,173,108.81998 Ticks : 2,173,108.81998 / 3 (ticks) = 724,369.60666 (3rd tick) Sum (not working) : 1,035,988.991933778 + 44,382.302594 = 1,080,371.294527778 Ticks (not working) : 1,080,371.294527778 / 3 (ticks) = 360,123.7648425927 Sum after tick (not working) : Sum - tick : 1,080,371.294527778 - 360,123.7648425927 = 720,247.5296851853 Ticks remaining (not working) : 720,247.5296851853 / 3 (ticks) = 240,082.5098950618 This is Not working: { 1) 574,743.0294853333 2) 517,994.495966889 3) 360,123.7648425927 4) 360,123.7648425927 5) 360,123.7648425927 Sum: 574,743.0294853333 + 517,994.495966889 + 360,123.7648425927 + 360,123.7648425927 + 360,123.7648425927 Sum: 2,173,108.81998 Echo of Light Sum: (1,273,078 + 2,704,098 + 933,030 + 102,374) * 0.433531 Echo of Light Sum: 2,173,108.81998 } | ||||
|
image 1.png (4,426,458 bytes) |
|
(просто сейв)
Echo of Light.txt (3,208 bytes)
id:77485[Mastery: Echo of Light]bp:0:43.3531 1:125 Mastery: 43.3531% 1) Flash Heal : 1,273,078 Add to Echo of Light : 1,273,078 * 0.433531 = 551,918.778418 2) Holy Word: Serenity : 2,704,098 Add to Echo of Light : 2,704,098 * 0.433531 = 1,172,310.310038 3) Holy World: Sanctify : 933,030 Add to Echo of Light : 933,030 * 0.433531 = 404,497.42893 4) Renew (initial) : 102,374 Add to Echo of Light : 102,374 * 0.433531 = 44,382.302594 Echo of Light Sum: (1,273,078 + 2,704,098 + 933,030 + 102,374) * 0.433531 = 2,173,108.81998 Heal per Tick: 2,173,108.81998 / 3 (ticks) = 724,369.60666 (~724.368 actual tick) But... We healed with Echo of Light 5 times (5 ticks): 1) 574,742 2) 709,574 3) 724,368 4) 724,368 5) 724,368 Sum: 574,742 + 709,574 + 724,368 + 724,368 + 724,368 = 3,457,420 When actual sum was 2,173,108.81998, we healed for 3,457,420. Why? Echo of Light "instant" tick after aura update doesn't calculate summary in aura when tick. (sum decrease) Only timer ticks are decreasing summary. (Ticks per 3 sec) And we see that: 1) Flash Heal : 1,273,078 Add to Echo of Light : 1,273,078 * 0.433531 = 551,918.778418 2) Holy Word: Serenity : 2,704,098 Add to Echo of Light : 2,704,098 * 0.433531 = 1,172,310.310038 Sum : 551,918.778418 + 1,172,310.310038 = 1,724,229.088456 Ticks : 1,724,229.088456 / 3 (ticks) = 574,743.0294853333 (1st tick) Sum after tick (not working) : Sum - tick : 1,724,229.088456 - 574,743.0294853333 = 1,149,486.058970667 Ticks remaining (not working) : 1,149,486.058970667 / 3 (ticks) = 383,162.019656889 3) Holy World: Sanctify : 933,030 Add to Echo of Light : 933,030 * 0.433531 = 404,497.42893 Sum : 1,724,229.088456 + 404,497.42893 = 2,128,726.517386 Ticks : 2,128,726.517386 / 3 (ticks) = 709,575.5057953333 (2nd tick) Sum (not working) : 1,149,486.058970667 + 404,497.42893 = 1,553,983.487900667 Ticks (not working) : 1,553,983.487900667 / 3 (ticks) = 517,994.495966889 Sum after tick (not working) : Sum - tick : 1,553,983.487900667 - 517,994.495966889 = 1,035,988.991933778 Ticks remaining (not working) : 1,035,988.991933778 / 3 (ticks) = 345,329.663977926 4) Renew (initial) : 102,374 Add to Echo of Light : 102,374 * 0.433531 = 44,382.302594 Sum : 2,128,726.517386 + 44,382.302594 = 2,173,108.81998 Ticks : 2,173,108.81998 / 3 (ticks) = 724,369.60666 (3rd tick) Sum (not working) : 1,035,988.991933778 + 44,382.302594 = 1,080,371.294527778 Ticks (not working) : 1,080,371.294527778 / 3 (ticks) = 360,123.7648425927 Sum after tick (not working) : Sum - tick : 1,080,371.294527778 - 360,123.7648425927 = 720,247.5296851853 Ticks remaining (not working) : 720,247.5296851853 / 3 (ticks) = 240,082.5098950618 This is Not working: 1) 574,743.0294853333 2) 517,994.495966889 3) 360,123.7648425927 4) 360,123.7648425927 5) 360,123.7648425927 Sum: 574,743.0294853333 + 517,994.495966889 + 360,123.7648425927 + 360,123.7648425927 + 360,123.7648425927 Sum: 2,173,108.81998 Echo of Light Sum: (1,273,078 + 2,704,098 + 933,030 + 102,374) * 0.433531 Echo of Light Sum: 2,173,108.81998 |
|
Да, действительно, тоже посмотрел и так есть. Я в прошлый раз по результатам работы по своему репорту не убедился в том, как считаются тики. Увидел, что компенсационный тик появился, про кототый и писал Ghost, и проблема с бесконечным суммированием как при первом попытке исправления ушло. --------------------- Я вижу несколько путей решить проблему. 1. Попробовать реализовать как по офе (но тут я вижу, что проблемно это получается сделать, так как появляются баги с бесконечным суммированием хоты как в первой попытке исправить) 2. Сделать, чтобы этот компесационный тик учитывался при обновлении "Отблеска света" (итоговый отхил будет считаться верно, но останутся моменты с мгновенным отхилом, о которых автор написал) 3. Сделать, чтобы у нас было всегда 2 тика за 6 секунд (или тик раз в 3 секунды, если таймер "Отблеск света" обновляется), но чтобы размер тиков правильно считался под 2 тика (а не под 3 тика, как было на первичной реализации до внесения последних изменений). Тут Ghost, чтобы проверить результат работы, тебе нужно последовательно похилить себя в течении некоторого времени и в результате количество отхила * % искусности = сумма тиков "Отблеск света" должно получиться. |
|
слушайте, а найдите логи игнайта (маг), кровавой бани (вар), травма(вар), порченная кровь закажа(вар) блида верный выстрел (хант) все наработки по данному конкретно спеллу очевидно придется отменить и доделывать общий алгоритм такой механики мне кажется близзы компенсационный тик добавляют ввиде добавления дюрейшна, получаются ровные тайминги и значения амплитуд а как сейчас - мгновенно его выдавать, это значит тик все равно больше будет и тайминги амплитуд неровные и в прошлом, добавлять длительность нельзя, так как общее значение доты делится на константное количество тиков постоянно, а при добавлении длительности общее значение полностью суммируется, не учитывая потерю за время (недотиканные тики) |
|
Посмотри в симкрафте, пожалуйста? может тут имеется решение. Я код не понимаю, но там поиском прошелся в тексте (игнайту, кровавой бане и травме), как ты говоришь сделано через дюрейшен (игнайт), какие-то структуры они используют с перерасчетом банка, чет там сравнивают, возвращают, берут из логов... https://github.com/simulationcraft/simc/blob/release-735-01/engine/class_modules/sc_mage.cpp https://github.com/simulationcraft/simc/blob/release-735-01/engine/class_modules/sc_warrior.cpp https://github.com/simulationcraft/simc/blob/release-735-01/engine/action/sc_dot.cpp |
|
Тут в 7.0.3 расписана у них какая-то структура по "Отблеску света" https://github.com/simulationcraft/simc/blob/5d6f91d6e6f57d34b08eee2e2012f5ae217a2a3c/engine/class_modules/sc_priest.cpp#L4268 Но возможно это кусок из дренора перекачевал, т.к. в версиях выше 7.0.3 я этого блока не нашел |
|
У магов механику игнайта тоже придется перерабатывать. Верно считаются тики только от первого удара, вызывающего игнайт. А при дальнейших кастах по логу появляются лишние тики и расчитывается урон неверно. |
|
Игнайт фаер мага: + урона добавили - тик игнайта, вычитаем = суммирование 0,1479 - мастери + 100879 урона = 14,920.0041 урона в суммировании - 1657 (14,920.0041 / 9) = 14,920.0041 - 1657 = 13,263.0041 + 174316 = 25,781.3364 = (13,263.0041 + 25,781.3364) = 39,044.3405 + 217900 = 32,227.41 = (39,044.3405 + 32,227.41) = 71,271.7505 - 7125 (71,271.7505 / 10) = 71,271.7505 - 7125 = 64,146.7505 - 7125 (71,271.7505 / 10) = 57,021.7505 + 187228 = 27,691.0212 = 57,021.7505 + 27,691.0212 = 84,712.7717 - 8468 (8,471.27717 / 10) |
|
Игнайт работает вроде правильно. У него нет "мгновенного" тика. При 1 прокасте, у нас 9 тиков за 9 сек. При 2+ касте, у нас 10 тиков за 9-10 сек. Урон расчитывается правильно в суммировании. У холи приста должно быть: При 1 прокасте 2 тика за 6 сек При 2+ касте, 3 тика за 6-9 сек. Но у него сейчас При 2+ касте, #+2 тиков за 6 сек. # - кол-во переобновлений. И суммирование мгновенных тиков не работает. |
|
У игнайта при переналожении нет мгновенного игнайта. У Отблеска при преналожении игновенный тик. Значит и механика у них не общая. |
|
тест.png (1,195,991 bytes) |
|
Да где же правильно, урон от игнайта должен был составить 6% от общего урона заклинаний, которые его активировали. Но при тесте я вижу, что этот урон стремится в большую сторону, нежели по описанию способности. Это значит, что в суммировании где-то закралась ошибка... Или я не прав? |
|
Механика у них поидее одинаковая должна быть получается, только одна дамажит, а у приста хилит. Что в отблеске суммирование происходит ( и + 1 тик, если кастов больше 2+), что в игнайте суммирование (и + 1 тик, если кастов больше 2+) |
|
Обе зависят от показателя искусности и выдать должны % от основного дамага / хила равный этому показателю искуси |
|
если уберу компенсационный тик с мастери, он будет абсолютно идентичным игнайту (абсолютная идиентичность подразумевается в сложении оставшегося амаунта периодика с новым) |
|
Не совсем понял. Это значит будет правильно считать размер тика и итоговую сумму исцеления или это возврат к варианту до введения последних изменений? |
|
Надо чтобы было так: хилишь себя например 5 раз быстрым исцелением и в логах должно получиться при 10% искусности в сумме 90% от быстрого исцеления и 10% от отблеска света... |
|
"если уберу компенсационный тик с мастери, он будет абсолютно идентичным игнайту (абсолютная идиентичность подразумевается в сложении оставшегося амаунта периодика с новым)" компенсационный тик что ты добавил не учитывается в суммировании хила. сверху пример как и почему. да и мгновенный тик, когда сам хил 1 раз в 3 сек, по итогу прокает хоть 10+ раз, с каждым переналожением за 6 сек. Всё зависит от того сколько переналожений произошло. Убрав компенсационный тик, ты сделаешь как и было: Мастери 2 тика за 6 сек, без 3го тика, потому что внутренний таймер не успевает тикнуть 3й раз. Ты кидаешь флешку, пошло мастери 6 сек и таймер. Ты кидаешь флешку на 1 сек таймера, мастери снова на 6 сек, но внутренний таймер на 1 сек уже. В итоге мастери тикает на 4 сек и на 1 сек самой ауры. А на 3й тик не хватает длительности в ещё 2 сек. У игнайта тик в 1 сек и длительность 9 сек. за весь бой фаер маг никогда не доведёт ауру игнайта до конца 9 секунд. Там постоянные переобновления, он же дамажит весь бой. А у приста на 20+ тел в рейде, всего 4-5 целей на хил. Его аура постоянно заканчивается. |
|
ну это понятно, что как и было будет, суть в чем, у игнайта этих потерь нету, потому что скорость апдейта тика секундная, а у EoL аш 3 секунды, видать когда прибавка идет с оставшимся амаунтом, если тика не было на его тайминге амплитуды, то все равно его значение уже не засчитывается |
|
Есть что новое по данной механике? Сейчас я вижу, что вы откатили к самому первоначальному варианту до всех наших баг-трекеров (теряется 30% исцеления от "Отблеск света"). |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-02-25 19:24 | Neenya | New Issue | |
2024-02-25 19:24 | Neenya | Status | new => assigned |
2024-02-25 19:24 | Neenya | Assigned To | => godxx |
2024-02-25 19:24 | Neenya | File Added: image 1.png | |
2024-02-25 19:24 | Neenya | File Added: image 2.png | |
2024-02-25 19:28 | Neenya | File Added: Echo of Light.txt | |
2024-02-25 19:28 | Neenya | Note Added: 0075066 | |
2024-02-25 20:13 | Shalfey | Note Added: 0075067 | |
2024-02-25 23:22 | Ghost | Note Added: 0075069 | |
2024-02-26 06:04 | Shalfey | Note Added: 0075070 | |
2024-02-26 07:56 | Shalfey | Note Added: 0075072 | |
2024-02-26 15:39 | Shalfey | Note Added: 0075078 | |
2024-02-28 09:56 | godxx | Status | assigned => acknowledged |
2024-03-07 11:47 | Neenya | File Added: image.png | |
2024-03-07 11:47 | Neenya | Note Added: 0075161 | |
2024-03-07 11:48 | Neenya | Note Added: 0075162 | |
2024-03-07 11:55 | Neenya | File Added: image-2.png | |
2024-03-07 11:55 | Neenya | File Added: image_2.png | |
2024-03-07 11:55 | Neenya | Note Added: 0075163 | |
2024-03-07 13:21 | Shalfey | File Added: тест.png | |
2024-03-07 13:21 | Shalfey | Note Added: 0075164 | |
2024-03-07 13:25 | Shalfey | Note Added: 0075165 | |
2024-03-07 13:26 | Shalfey | Note Added: 0075166 | |
2024-03-07 17:44 | Ghost | Note Added: 0075171 | |
2024-03-07 18:04 | Shalfey | Note Added: 0075172 | |
2024-03-07 18:07 | Shalfey | Note Added: 0075173 | |
2024-03-12 07:38 | godxx | Assigned To | godxx => Ghost |
2024-03-12 10:52 | Neenya | Note Added: 0075209 | |
2024-03-16 10:17 | Ghost | Note Added: 0075264 | |
2024-09-23 20:02 | Shalfey | Note Added: 0077230 |