/**
* Числовые константы боя героя — чистые данные без Pixi (тестируются).
* Позиции, дистанции и скорости — в мировых юнитах (1 юнит = 1 тайл;
* на экране 1 юнит = tileW px по линейке проекции).
* Согласованы с боевой моделью демо-среза и сеттингом:
* удар — «гулкий звон» (будит пепел), резонанс — «низкий звон» (усыпляет).
*/
export const PLAYER_COMBAT = {
/** Здоровье героя (сердечки). */
maxHp: 5,
/** Конус удара: дальность, полуугол (рад), урон, кулдаун. */
coneRange: 1.0,
coneHalfAngle: (55 * Math.PI) / 180,
coneDamage: 2,
coneCooldown: 0.45,
/** В зоне удара стоим ближе, чем coneRange (гистерезис авто-подхода). */
attackStop: 0.85,
/** Низкий резонанс: сколько держать заряд, радиус, сон врага, кулдаун. */
resonanceCharge: 0.6,
resonanceRange: 3.0,
resonanceSleep: 4,
resonanceCooldown: 3,
/** Неуязвимость после урона, сек; отброс, юнитов. */
invulnTime: 0.8,
knockback: 0.75,
/** Гулкий удар излучает звук: будит сгустков в этом радиусе. */
wakeRadius: 4.5
} as const;