From 3921eaf2db343839c4a0deb1def0038589e4f491 Mon Sep 17 00:00:00 2001 From: Ruslan Ignatov Date: Wed, 24 Dec 2025 17:35:18 +0300 Subject: [PATCH] Bug fixes --- game/entities/ships/enemies/abstract_enemy_ship.gd | 8 +++++++- game/entities/world/passage.gd | 12 ++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/game/entities/ships/enemies/abstract_enemy_ship.gd b/game/entities/ships/enemies/abstract_enemy_ship.gd index 3c9a254..d1e10db 100644 --- a/game/entities/ships/enemies/abstract_enemy_ship.gd +++ b/game/entities/ships/enemies/abstract_enemy_ship.gd @@ -3,7 +3,13 @@ extends AbstractShip var is_on_screen : bool = false -var weapon_type : AbstractWeapon.Type = AbstractWeapon.Type.NONE +var weapon_type : AbstractWeapon.Type: + set(value): + pass + get(): + var type := AbstractWeapon.Type.NONE + for weapon in _weapons: type = weapon.type + return type var enemy_data : EnemyData: set = _set_enemy_data diff --git a/game/entities/world/passage.gd b/game/entities/world/passage.gd index cc8057e..68c3407 100644 --- a/game/entities/world/passage.gd +++ b/game/entities/world/passage.gd @@ -16,6 +16,7 @@ signal completed var _current_progress := 0.0 var _timer_time_elapsed := 0.0 var _current_enemy_index := 0 +var _player_is_alive = true @onready var player : PlayerShip = $PlayerShip @@ -25,10 +26,11 @@ var _current_enemy_index := 0 func _physics_process(delta: float) -> void: - _current_progress += delta - _update_progress_indicator() - if _current_progress >= passage_data.length: - completed.emit() + if _player_is_alive: + _current_progress += delta + _update_progress_indicator() + if _current_progress >= passage_data.length: + completed.emit() func _set_passage_data(new_data: PassageData) -> void: @@ -63,6 +65,7 @@ func _start_timer_for_current_enemy() -> void: func _on_enemy_timer_timeout() -> void: + if not _player_is_alive: return var enemy := passage_data.enemies[_current_enemy_index] enemy_swamp_controller.create_enemy(enemy) _current_enemy_index += 1 @@ -70,4 +73,5 @@ func _on_enemy_timer_timeout() -> void: func _on_player_ship_destroyed() -> void: + _player_is_alive = false player_died.emit()