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 points_of_interest = []
var damage_buffer = []
func _ready():
SignalBus.suspicious_sound.connect(add_point_of_interest)
SignalBus.engaging_target.connect(investigate_nearby_combat)
@@ -103,22 +105,32 @@ func _process(delta):
look_at_player()
move_and_slide()
apply_damage()
func stun():
change_state_to("stunned")
func take_damage(dam,bullet_damage):
SignalBus.emit_signal("enemy_hit")
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)
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")
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")
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):
state_machine.on_child_transition(state_machine.current_state,set_state)