extends WeaponState @export var emptyable: bool func enter() -> void: machine.animation_player.play(with_morphems("intro")) machine.animation_player.animation_finished.connect(on_animation_finished) func exit() -> void: machine.animation_player.animation_finished.disconnect(on_animation_finished) func on_animation_finished(animation): if animation == with_morphems("intro"): transition.emit("Idle") func with_morphems(animation): return machine.animation_prefix + ((animation+"_empty") if emptyable and machine.ammo == 0 else animation)