glitch-in-the-system/scripts/equipment/saber.gd
2024-01-21 18:18:15 +01:00

34 lines
785 B
GDScript

class_name EquipmentSaber
extends Equipment
@export
var animation_player: AnimationPlayer
@export
var area: Area2D
@export
var damage: int = 3
func _ready() -> void:
self.init_equipment()
self.area.body_entered.connect(self._on_body_entered)
self._update_z_index()
func _process(delta: float) -> void:
self.process_equipment(delta)
if self.is_sheathed():
if self.animation_player.current_animation != "sheathed":
self.animation_player.play("sheathed")
else:
if not self.animation_player.current_animation in ["attack", "idle"]:
self.animation_player.play("idle")
if Input.is_action_just_pressed("attack"):
self.animation_player.play("attack")
func _on_body_entered(body: Node2D) -> void:
if body.has_method("take_damage"):
body.take_damage(self.damage)