diff --git a/scripts/enemies/relay.gd b/scripts/enemies/relay.gd index ba492d6..29f64e6 100644 --- a/scripts/enemies/relay.gd +++ b/scripts/enemies/relay.gd @@ -163,15 +163,17 @@ func _reappear() -> void: _tp_state = TeleportState.IDLE _teleport_count += 1 - # Fire radial burst immediately, then homing after delay + # Fire radial burst immediately _fire_burst() - _homing_delay = HOMING_DELAY - # Check drifter spawn + # Check drifter spawn - skip homing projectiles when spawning drifters if _teleport_count >= _next_drifter_threshold: _spawn_drifters() _teleport_count = 0 _roll_drifter_threshold() + else: + # Fire homing projectiles only when not spawning drifters + _homing_delay = HOMING_DELAY _roll_teleport_cooldown() diff --git a/scripts/rooms/door.gd b/scripts/rooms/door.gd index 01c9345..bb7e2b5 100644 --- a/scripts/rooms/door.gd +++ b/scripts/rooms/door.gd @@ -10,18 +10,11 @@ const INDICATOR_OFFSET := 20.0 # distance above door # Indicator light colors - only for special rooms, matching floor colors but brighter const INDICATOR_COLORS := { - RoomData.RoomType.ITEM: Color(0.2, 0.45, 0.2), # green (brighter version of 0.10, 0.16, 0.10) + RoomData.RoomType.ITEM: Color(0.2, 0.45, 0.2), # green RoomData.RoomType.SHOP: Color(0.9, 0.75, 0.1), # yellow - RoomData.RoomType.BOSS: Color(0.7, 0.15, 0.15), # red (brighter version of 0.20, 0.08, 0.08) + RoomData.RoomType.BOSS: Color(0.7, 0.15, 0.15), # red } -# Room types that should show indicator lights -const SPECIAL_ROOM_TYPES := [ - RoomData.RoomType.ITEM, - RoomData.RoomType.SHOP, - RoomData.RoomType.BOSS, -] - # --------------------------------------------------------------------------- # State # --------------------------------------------------------------------------- @@ -77,7 +70,7 @@ func _build_barrier() -> void: func _build_indicator() -> void: # Only show indicators for special rooms (ITEM, SHOP, BOSS) - if adjacent_room_type not in SPECIAL_ROOM_TYPES: + if not INDICATOR_COLORS.has(adjacent_room_type): return _indicator = Polygon2D.new()