Решили: «залп из N стрел» выражается ПОВТОРОМ нагрузки способности (AbilityData._payloadRepeats + _payloadRepeatGrowth, счётчик — AbilityRuntime.CastsThisBattle), а «сразу пять стаков» — порцией у эффекта (EffectData._stacksPerApplication).

Почему: отвергнут очевидный вариант «один удар с множителем ×N». Каждая стрела Арканиста несёт свой стак «Разлада», а стаки — не число, а состояние на цели: множитель урона дал бы то же суммарное число и ни одного лишнего стака. Обратный вариант — выражать пять углей Хранителя тем же повтором нагрузки — тоже отвергнут: в нагрузку входит диспел, и пятикратный повтор означал бы пять очищений вместо одного. Поэтому механизма два, и они про разное: повтор — «сколько раз ударили», порция — «сколько это стаков».

Разгон считается от ПРЕДЫДУЩИХ кастов, а счётчик растёт вместе с ценой каста (не с применением нагрузки): у канала нагрузка приходит много раз за один каст, и считать её срабатывания значило бы разгонять залп периодом канала.

Грабли: повтор оборачивает только форму нагрузки. _selfEffects, призыв и сброс таймера авто-атаки остались вне цикла сознательно — иначе щит «Стального вихря» умножался бы на число ударов. Следствие видно в контенте: «Раздуть жар» кладёт на союзника пять углей, а на себя один.

Владелец правды: AbilityData.cs, AbilitySystem.ApplyPayload, EffectSystem.TryAddStack, тест PayloadRepeatsTests.