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,22 +105,32 @@ 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():
SignalBus.emit_signal("enemy_hit") if damage_buffer.size() > 0 and health > 0:
health -= dam * bullet_damage var damage_info = damage_buffer.pop_front()
health_bar_sprite.visible = true var dam = damage_info['dam']
health_bar_sprite.health_update() var bullet_damage = damage_info['bullet_damage']
var number_spawn = damage_number.instantiate()
number_spawn.damage_amt = bullet_damage * dam
number_spawn.position = global_position + Vector3(0,2,0)
get_tree().get_root().add_child(number_spawn)
if health <= 0: SignalBus.emit_signal("enemy_hit")
change_state_to("die") health -= dam * bullet_damage
health_bar_sprite.visible = true
health_bar_sprite.health_update()
var number_spawn = damage_number.instantiate()
number_spawn.damage_amt = bullet_damage * dam
number_spawn.position = global_position + Vector3(0,2,0)
get_tree().get_root().add_child(number_spawn)
if health <= 0:
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)