"""Gameplay-only constants."""

from __future__ import annotations

from ..entities_constants import ZOMBIE_DECAY_DURATION_FRAMES

# --- Survivor settings ---
SURVIVOR_SPEED_PENALTY_PER_PASSENGER = 0.08
SURVIVOR_OVERLOAD_DAMAGE_RATIO = 0.2
SURVIVOR_MESSAGE_DURATION_MS = 2000
INTRO_MESSAGE_DISPLAY_FRAMES = 180
SCREAM_MESSAGE_DISPLAY_FRAMES = 60

# --- Footprint settings (gameplay) ---
FOOTPRINT_STEP_DISTANCE = 40
FOOTPRINT_MAX = 320

# --- Zombie settings ---
MAX_ZOMBIES = 400
ZOMBIE_SPAWN_PLAYER_BUFFER = 230
ZOMBIE_TRACKER_DECAY_DURATION_FRAMES = ZOMBIE_DECAY_DURATION_FRAMES
FALLING_ZOMBIE_PRE_FX_MS = 600
FALLING_ZOMBIE_DURATION_MS = 450
FALLING_ZOMBIE_DUST_DURATION_MS = 220

# --- Car and fuel settings ---
FUEL_HINT_DURATION_MS = 1600

# --- Wall settings ---
OUTER_WALL_HEALTH = 9999999

# --- Render layers ---
LAYER_WALLS = 0
LAYER_ITEMS = 1
LAYER_HOUSEPLANTS = 1
LAYER_VEHICLES = 2
LAYER_ZOMBIES = 3
LAYER_PLAYERS = 4

__all__ = [
    "SURVIVOR_SPEED_PENALTY_PER_PASSENGER",
    "SURVIVOR_OVERLOAD_DAMAGE_RATIO",
    "SURVIVOR_MESSAGE_DURATION_MS",
    "INTRO_MESSAGE_DISPLAY_FRAMES",
    "SCREAM_MESSAGE_DISPLAY_FRAMES",
    "FOOTPRINT_STEP_DISTANCE",
    "FOOTPRINT_MAX",
    "MAX_ZOMBIES",
    "ZOMBIE_SPAWN_PLAYER_BUFFER",
    "ZOMBIE_TRACKER_DECAY_DURATION_FRAMES",
    "FALLING_ZOMBIE_PRE_FX_MS",
    "FALLING_ZOMBIE_DURATION_MS",
    "FALLING_ZOMBIE_DUST_DURATION_MS",
    "FUEL_HINT_DURATION_MS",
    "OUTER_WALL_HEALTH",
    "LAYER_WALLS",
    "LAYER_ITEMS",
    "LAYER_HOUSEPLANTS",
    "LAYER_VEHICLES",
    "LAYER_ZOMBIES",
    "LAYER_PLAYERS",
]
