diff --git a/scripts/enemies/hivemind.gd b/scripts/enemies/hivemind.gd index 936aa87..84e417c 100644 --- a/scripts/enemies/hivemind.gd +++ b/scripts/enemies/hivemind.gd @@ -53,7 +53,7 @@ const BEAM_WIDTH := 28.0 const PULSE_FORCE := 350.0 const PULSE_CD := 5.0 const HOMING_COUNT := 4 -const HOMING_SPEED := 80.0 +const HOMING_SPEED := 120.0 const HOMING_TURN := 1.8 # rad/sec const HOMING_LIFETIME := 7.0 # seconds before homing projectiles expire diff --git a/scripts/enemies/relay.gd b/scripts/enemies/relay.gd index 418fffc..ba492d6 100644 --- a/scripts/enemies/relay.gd +++ b/scripts/enemies/relay.gd @@ -30,7 +30,7 @@ const PROJ_SIZE := 12.0 const HOMING_COUNT_P1 := 4 const HOMING_COUNT_P2 := 6 -const HOMING_SPEED := 100.0 +const HOMING_SPEED := 140.0 const HOMING_TURN_SPEED := 1.8 # radians per second const HOMING_DELAY := 0.3 # delay after radial burst before homing fires const HOMING_LIFETIME := 7.0 # seconds before homing projectiles expire diff --git a/scripts/rooms/floor_generator.gd b/scripts/rooms/floor_generator.gd index e324d8c..a81b05b 100644 --- a/scripts/rooms/floor_generator.gd +++ b/scripts/rooms/floor_generator.gd @@ -1,8 +1,12 @@ class_name FloorGenerator const GRID_START := Vector2i(5, 5) -const MIN_ROOMS := 8 -const MAX_ROOMS := 12 + +const FLOOR_ROOM_COUNTS := { + 1: {"min": 5, "max": 6}, # 4-5 combat + start + boss + 2: {"min": 6, "max": 7}, # 5-6 combat + start + boss + 3: {"min": 3, "max": 4}, # 2-3 combat + start + boss +} const DIRS := { "up": Vector2i( 0, -1), @@ -28,7 +32,8 @@ static func generate(floor_number: int) -> Array: rooms[GRID_START] = start var queue: Array = [GRID_START] - var target: int = rng.randi_range(MIN_ROOMS, MAX_ROOMS) + var counts: Dictionary = FLOOR_ROOM_COUNTS.get(floor_number, {"min": 5, "max": 6}) + var target: int = rng.randi_range(counts["min"], counts["max"]) # --- Random walk --- while rooms.size() < target and queue.size() > 0: