added double buffer to enemy when applying damage

This commit is contained in:
2025-06-12 14:40:09 -05:00
parent dc72123a49
commit d732abbcf8

View File

@@ -81,6 +81,8 @@ var line_of_sight_target
var player_last_seen var player_last_seen
var points_of_interest = [] var points_of_interest = []
var damage_buffer = []
func _ready(): func _ready():
SignalBus.suspicious_sound.connect(add_point_of_interest) SignalBus.suspicious_sound.connect(add_point_of_interest)
SignalBus.engaging_target.connect(investigate_nearby_combat) SignalBus.engaging_target.connect(investigate_nearby_combat)
@@ -103,11 +105,17 @@ func _process(delta):
look_at_player() look_at_player()
move_and_slide() move_and_slide()
apply_damage()
func stun(): func stun():
change_state_to("stunned") change_state_to("stunned")
func take_damage(dam,bullet_damage): func apply_damage():
if damage_buffer.size() > 0 and health > 0:
var damage_info = damage_buffer.pop_front()
var dam = damage_info['dam']
var bullet_damage = damage_info['bullet_damage']
SignalBus.emit_signal("enemy_hit") SignalBus.emit_signal("enemy_hit")
health -= dam * bullet_damage health -= dam * bullet_damage
health_bar_sprite.visible = true health_bar_sprite.visible = true
@@ -120,6 +128,10 @@ func take_damage(dam,bullet_damage):
if health <= 0: if health <= 0:
change_state_to("die") change_state_to("die")
func take_damage(dam,bullet_damage):
damage_buffer.append({'dam' : dam,'bullet_damage' : bullet_damage})
func change_state_to(set_state): func change_state_to(set_state):
state_machine.on_child_transition(state_machine.current_state,set_state) state_machine.on_child_transition(state_machine.current_state,set_state)