Files

40 lines
1.2 KiB
GDScript

@abstract
extends Machine
class_name Drone
@export_category("Dash")
@export var dodge_cd := 5.0
@export var dodge_speed := 650.0
@export var dodge_duration := 0.18
var dodge_duration_timer : Timer
func _ready() -> void:
_animate(self.get_child(4,false),"walking")
add_on_slots = 1
for a in self.get_children() :
if a.name == "DodgeDurationTimer" :
dodge_duration_timer = a
for a in MachineGlobals.drone_body_slots :
machine_upgrades.set(a,null)
animation_state_machine = MachineGlobals.regular_states.IDLING
func class_ability() -> float:
#do dash
animation_state_machine = MachineGlobals.regular_states.DASHING
return dodge_cd
func listen_to_animation_signals(next_anim_state : MachineGlobals.regular_states) -> void:
match next_anim_state :
MachineGlobals.regular_states.IDLING :
for a : BodyPart in _get_body_parts() :
_animate(a,"Idle")
MachineGlobals.regular_states.WALKING :
for a : AnimatedSprite2D in _get_body_parts() :
_animate(a,"Walking")
MachineGlobals.regular_states.DASHING :
for a : AnimatedSprite2D in _get_body_parts() :
_animate(a,"Dashing")
MachineGlobals.regular_states.INTERACTING :
for a : AnimatedSprite2D in _get_body_parts() :
_animate(a,"Interact")