/**
 * Числовые константы боя героя — чистые данные без Pixi (тестируются).
 * Позиции, дистанции и скорости — в мировых юнитах (1 юнит = 1 тайл;
 * на экране 1 юнит = tileW px по линейке проекции).
 * Согласованы с боевой моделью демо-среза и сеттингом:
 * удар — «гулкий звон» (будит пепел), резонанс — «низкий звон» (усыпляет).
 */

export const PLAYER_COMBAT = {
    /** Здоровье героя (сердечки). */
    maxHp: 5,
    /** Радиус тела героя (юниты; < 0.5 — путь A* по центрам остаётся проходим). */
    radius: 0.35,
    /** Конус удара: дальность, полуугол (рад), урон, кулдаун. */
    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;
