Вы можете не тагать генсена – на такие вопросы вам отвечать буду я.
To any damage, including campfire/environmental – это формулировка со страницы обсуждения, а не из самой статьи, и относилась она скорее к ванильной крит-версии; написана неточно. Сама статья Wowpedia формулирует аккуратнее, по тултипу: after being hit by any damaging attack – ключевое слово attack.
В движке WoW attack (событие, несущее proc-флаги получения урона) – это прямой удар: мили/рендж-свинг, инстант-спелл, прямой нюк. Периодический урон (DoT-тики) такими флагами не помечен – поэтому он не триггерит on-being-hit проки, к которым относится и Reckoning. То есть наблюдение из видео с офа верное: доты Reckoning не набивают. Это согласуется и с формулировкой таланта в 2.0.1 (TBC): прок навешивает заряды, которые тратятся на следующие weapon swings – вся механика крутится вокруг событий атаки, а не вокруг любого источника урона.
Флаги получения урона в движке, periodic – отдельный флаг, не attack.
Флаг
Значение
Что это
PROC_FLAG_TAKE_MELEE_SWING
0x00000008
мили-автоатака
PROC_FLAG_TAKE_MELEE_ABILITY
0x00000020
мили-способность оружием
PROC_FLAG_TAKE_RANGED_ATTACK
0x00000080
выстрел
PROC_FLAG_TAKE_RANGED_ABILITY
0x00000200
рендж-способность
PROC_FLAG_TAKE_HARMFUL_ABILITY
0x00002000
вредная способность (dmg class none)
PROC_FLAG_TAKE_HARMFUL_SPELL
0x00020000
прямой вредный спелл
PROC_FLAG_TAKE_HARMFUL_PERIODIC
0x00080000
бит 19 — DoT/HoT
PROC_FLAG_TAKE_ANY_DAMAGE
0x00100000
бит 20 — любой урон
Колонка procFlags = 139944 (для Reckoning), разбивка на флаги.
Слагаемое
Флаг
0x00008
TAKE_MELEE_SWING
0x00020
TAKE_MELEE_ABILITY
0x00080
TAKE_RANGED_ATTACK
0x00200
TAKE_RANGED_ABILITY
0x02000
TAKE_HARMFUL_ABILITY
0x20000
TAKE_HARMFUL_SPELL
= 139944
(0x222A8) → Reckoning
Побитовая разбивка procFlags = 139944.
Бит
Значение
Флаг
20
0
TAKE_ANY_DAMAGE — не входит
19
0
TAKE_HARMFUL_PERIODIC — доты не прокают
18
0
—
17
1
TAKE_HARMFUL_SPELL
16
0
—
15
0
—
14
0
—
13
1
TAKE_HARMFUL_ABILITY
12
0
—
11
0
—
10
0
—
9
1
TAKE_RANGED_ABILITY
8
0
—
7
1
TAKE_RANGED_ATTACK
6
0
—
5
1
TAKE_MELEE_ABILITY
4
0
—
3
1
TAKE_MELEE_SWING
2
0
—
1
0
—
0
0
—
Проверка разменом, вычитаем старшие степени двойки.
Вычитание
Остаток
Бит
139944 − 131072 (2^17)
8872
17
8872 − 8192 (2^13)
680
13
680 − 512 (2^9)
168
9
168 − 128 (2^7)
40
7
40 − 32 (2^5)
8
5
8 − 8 (2^3)
0
3
Та же логика на пальцах – задача школьной программы.
Представьте, что 139944 – это кучка денежек, и разменять её можно только купюрами особого вида: 1, 2, 4, 8, 16, 32… (каждая следующая вдвое больше). Каждая така бит. Правило размена: всегда берём самую крупную купюру, которая ещё помещается, откладываем её и смотрим, сколько осталось. С остатком повторяем.
Было 139944. Самая крупная подходящая купюра – 131072. Отложили. Осталось 8872.
Из 8872 берём 8192. Осталось 680.
Из 680 берём 512. Осталось 168.
Из 168 берём 128. Осталось 40.
Из 40 берём 32. Осталось 8.
Из 8 берём 8. Осталось 0 – всё разменяли.
В итоге 139944 разменялось на купюры: 131072 + 8192 + 512 + 128 + 32 + 8. Каждая купюра означает один включённый флаг (мили-удар, рендж, прямой спелл и т.д.). Н ни купюры any damage (1048576) в наборе Reckoning нет – значит, от дота и от любого урона заряды не набиваются.
У таланта нет флага TAKE_HARMFUL_PERIODIC (0x80000) – DoT-тики – и нет TAKE_ANY_DAMAGE (0x100000) – это сильный абуз и не соответствует видео с офа. Reckoning слушает только прямые удары (мили/рендж свинги и абилки, прямые вредные спеллы), и по битовой разбивке данных не может прокнуть от тика дота. Это ровно то, что видно в видео с офа.
Больше я не буду тратить столько времени на объяснение стороны разработки – талант приведён в рабочее состояние. @Expo @Dromok