From 9a71b9cb993d5333f1ea60f71c66487c5d7b06b3 Mon Sep 17 00:00:00 2001 From: ricardo torres Date: Tue, 15 Sep 2026 18:29:10 -0500 Subject: [PATCH 1/3] Funcion de luz y area de deteccion funcional --- .../enemies/guard/components/guard.gd | 19 ++++++++++++++++--- .../characters/enemies/guard/guard.tscn | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/scenes/game_elements/characters/enemies/guard/components/guard.gd b/scenes/game_elements/characters/enemies/guard/components/guard.gd index 72a9c1bcc3..14bb5b0d9a 100644 --- a/scenes/game_elements/characters/enemies/guard/components/guard.gd +++ b/scenes/game_elements/characters/enemies/guard/components/guard.gd @@ -66,8 +66,8 @@ const DEFAULT_SPRITE_FRAMES = preload("uid://ovu5wqo15s5g") @export_range(0.1, 5, 0.1, "or_greater", "or_less") var detection_area_scale: float = 1.0: set(new_value): detection_area_scale = new_value - if detection_area: - detection_area.scale = Vector2.ONE * detection_area_scale + _set_detection_area_scale() + _set_detection_light() @export_category("Debug") ## Enables movement in the editor for debugging. @@ -118,7 +118,7 @@ var character_animation_player_behavior: CharacterAnimationPlayerBehavior = %Cha @onready var _foot_sound: AudioStreamPlayer2D = %FootSound @onready var _fire_sound: AudioStreamPlayer2D = %FireSound @onready var _torch_hit_sound: AudioStreamPlayer2D = %TorchHitSound - +@onready var _light: PointLight2D = %Light func _get_configuration_warnings() -> PackedStringArray: var warnings: PackedStringArray @@ -143,6 +143,9 @@ func _ready() -> void: player_awareness.value = 0.0 _set_sprite_frames(sprite_frames) + + _set_detection_area_scale() + _set_detection_light() if detection_area: detection_area.scale = Vector2.ONE * detection_area_scale @@ -428,6 +431,16 @@ func _set_sprite_frames(new_sprite_frames: SpriteFrames) -> void: return animated_sprite_2d.sprite_frames = sprite_frames update_configuration_warnings() + +func _set_detection_area_scale() -> void: + if not is_node_ready(): + return + detection_area.scale = Vector2.ONE * detection_area_scale + +func _set_detection_light() -> void: + if not is_node_ready(): + return + _light.visible = detection_area_scale > 0.1 func _set_alerted_sound_stream(new_value: AudioStream) -> void: diff --git a/scenes/game_elements/characters/enemies/guard/guard.tscn b/scenes/game_elements/characters/enemies/guard/guard.tscn index e8ef2b2b66..cf0853caea 100644 --- a/scenes/game_elements/characters/enemies/guard/guard.tscn +++ b/scenes/game_elements/characters/enemies/guard/guard.tscn @@ -230,6 +230,7 @@ collision_layer = 0 script = ExtResource("4_mswbt") [node name="Light" type="PointLight2D" parent="DetectionArea" unique_id=366085581] +unique_name_in_owner = true position = Vector2(37.3333, 1.33333) scale = Vector2(0.340496, 0.340496) color = Color(1, 1, 0.796078, 1) From d8f47eb7b280f7b278e1a59fef251d90effdb627 Mon Sep 17 00:00:00 2001 From: ricardo torres Date: Mon, 21 Sep 2026 20:55:29 -0500 Subject: [PATCH 2/3] Arregle final --- .../enemies/guard/components/guard.gd | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/scenes/game_elements/characters/enemies/guard/components/guard.gd b/scenes/game_elements/characters/enemies/guard/components/guard.gd index 14bb5b0d9a..ee5b6b04ac 100644 --- a/scenes/game_elements/characters/enemies/guard/components/guard.gd +++ b/scenes/game_elements/characters/enemies/guard/components/guard.gd @@ -64,10 +64,7 @@ const DEFAULT_SPRITE_FRAMES = preload("uid://ovu5wqo15s5g") @export_range(0.1, 5, 0.1, "or_greater", "suffix:s") var time_to_detect_player: float = 1.0 ## Scale factor for the detection area. @export_range(0.1, 5, 0.1, "or_greater", "or_less") var detection_area_scale: float = 1.0: - set(new_value): - detection_area_scale = new_value - _set_detection_area_scale() - _set_detection_light() + set = _set_detection_area_scale @export_category("Debug") ## Enables movement in the editor for debugging. @@ -144,11 +141,9 @@ func _ready() -> void: _set_sprite_frames(sprite_frames) - _set_detection_area_scale() - _set_detection_light() + _set_sprite_frames(sprite_frames) + _set_detection_area_scale(detection_area_scale) - if detection_area: - detection_area.scale = Vector2.ONE * detection_area_scale # When the level starts, the guard is placed at the beginning of the # patrol path. @@ -431,18 +426,16 @@ func _set_sprite_frames(new_sprite_frames: SpriteFrames) -> void: return animated_sprite_2d.sprite_frames = sprite_frames update_configuration_warnings() - -func _set_detection_area_scale() -> void: - if not is_node_ready(): - return - detection_area.scale = Vector2.ONE * detection_area_scale -func _set_detection_light() -> void: + +func _set_detection_area_scale(new_detection_area_scale: float) -> void: + detection_area_scale = new_detection_area_scale if not is_node_ready(): return + if detection_area: + detection_area.scale = Vector2.ONE * detection_area_scale _light.visible = detection_area_scale > 0.1 - func _set_alerted_sound_stream(new_value: AudioStream) -> void: alerted_sound_stream = new_value if not is_node_ready(): From 563dd90ca70edfa8fba5c8a129893ff5d51545ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 22 Sep 2026 11:49:15 -0300 Subject: [PATCH 3/3] Fix formatting --- .../characters/enemies/guard/components/guard.gd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scenes/game_elements/characters/enemies/guard/components/guard.gd b/scenes/game_elements/characters/enemies/guard/components/guard.gd index ee5b6b04ac..8a9a67e56e 100644 --- a/scenes/game_elements/characters/enemies/guard/components/guard.gd +++ b/scenes/game_elements/characters/enemies/guard/components/guard.gd @@ -117,6 +117,7 @@ var character_animation_player_behavior: CharacterAnimationPlayerBehavior = %Cha @onready var _torch_hit_sound: AudioStreamPlayer2D = %TorchHitSound @onready var _light: PointLight2D = %Light + func _get_configuration_warnings() -> PackedStringArray: var warnings: PackedStringArray @@ -140,11 +141,10 @@ func _ready() -> void: player_awareness.value = 0.0 _set_sprite_frames(sprite_frames) - + _set_sprite_frames(sprite_frames) _set_detection_area_scale(detection_area_scale) - # When the level starts, the guard is placed at the beginning of the # patrol path. if patrol_path: @@ -436,6 +436,7 @@ func _set_detection_area_scale(new_detection_area_scale: float) -> void: detection_area.scale = Vector2.ONE * detection_area_scale _light.visible = detection_area_scale > 0.1 + func _set_alerted_sound_stream(new_value: AudioStream) -> void: alerted_sound_stream = new_value if not is_node_ready():