extends Area2D var broken = false var hits_left = 2 var player = false var player_body = null func replace_numbers(name: String) -> String: var new_name = name for i in range(10): new_name = new_name.replace(str(i), "") return new_name func _on_body_entered(body): if body.name == "Player" and !broken: player = true player_body = body func _on_body_exited(body): if body.name == "Player" and !broken: player = false player_body = null func _process(delta): if player && player_body != null: if Input.is_action_just_pressed("punch"): if hits_left > 0: hits_left -= 1 if hits_left == 0 && broken == false: $Sprite.texture = load("res://Sprites/Water/Broken/" + replace_numbers(name) + ".png") player_body.scale += Vector2(0.05, 0.05) broken = true