# Два хіти за один цикл анімації атаки (2026-08-12) Користувач: анімація "Loot" (удар битою) сама показує **2 фізичні удари** за один цикл кліпу, але код досі рахував лише **1** damage-пульс за цикл (`HIT_TIME_FRACTION=0.5`, раз на `attackAction.getClip().duration`) — тобто `HITS_PER_STAGE=2` вимагав 2 повних циклу анімації на просування стейджа, хоча мало вистачати одного. **Виправлення**: `HIT_TIME_FRACTION` (одне число) замінено на `HIT_TIME_FRACTIONS = [0.25, 0.75]` (масив — дві точки за цикл; підібрані навмання як симетричний дефолт, можуть потребувати підстройки під реальний тайминг замаху в кліпі, як і `LOOK_AHEAD_DISTANCE` раніше). Новий `PlayerC.hitsThisAttack` (рахує ВСІ хіти за весь безперервний свінг, не скидається щоцикл) + `hitTimeFor(hitIndex)` — рахує абсолютний час (секунди від старту атаки) для N-го хіта: `duration * (повних_циклів + HIT_TIME_FRACTIONS[hitIndex % 2])`, тобто коректно переходить через межу циклу без дрейфу. Перевірено (Playwright, тимчасове логування `[dbgHit]` з таймстемпом, видалене після): хіти йдуть з рівним інтервалом ~780мс (замість колишніх ~2×780=1560мс), і стейдж (`prop.stageIndex`) просувається після кожних 2 хітів (`0,1` -> stage++), тобто рівно один цикл анімації = один просунутий стейдж, як і треба.