class_name Enemy extends QuestSprite static var list : Dictionary[String, PackedScene] = {} static func load_enemy_list() -> void: var folder_path = "res://templates/enemies" var dir = DirAccess.open(folder_path) if dir: dir.list_dir_begin() var filename = dir.get_next() while filename != "": if not dir.current_is_dir(): var template : PackedScene = ResourceLoader.load(folder_path.path_join(filename)) if template: list[template.name] = template filename = dir.get_next() dir.list_dir_end() func attack(target : QuestSprite) -> void: print("Attack by %s to %s" % [name, target.name]) hitting.connect(hit.bind(target), CONNECT_ONE_SHOT) anim_player.play("attack") func set_animation(anim_name : String) -> void: anim_player.play(anim_name) func hit(target : QuestSprite) -> void: target.take_damage(self, 2)