Chelimbalo/scripts/weapon_system/gun/idle_state.gd
2025-11-26 16:37:03 +05:00

26 lines
595 B
GDScript

extends WeaponState
@export var emptyable: bool
func enter() -> void:
machine.animation_player.play(with_morphems("idle"))
func exit() -> void:
pass
func _input(event: InputEvent) -> void:
if not machine.is_multiplayer_authority(): return
if event.is_action_pressed("plr_reload"):
init_reload()
func use_begin() -> void:
transition.emit("Shoot")
func init_reload():
if machine.ammo == machine.max_ammo:
return
transition.emit("Reload")
func with_morphems(animation):
return machine.animation_prefix + ((animation+"_empty") if emptyable and machine.ammo == 0 else animation)