blob: 33f2807e85c9b3b3a39539a44267a77f67aca537 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
extends Node2D
@export var animator : AnimationPlayer
@export var atk : int
@export var area : Area2D
@export var knock : Vector2 = Vector2(700, -300)
@export_flags_2d_physics var mask
@export var disable_aft_atk : bool = false
func _ready() -> void:
area.collision_mask = mask
#func _process(_delta: float) -> void:
# if area.monitoring:
# modulate = Color.GREEN
# else:
# modulate = Color.WHITE
func action() -> void:
if animator.is_playing():
return
area.monitoring = true
if scale.x < 0:
animator.play("swing_flip")
else:
animator.play("swing")
func _on_area_2d_body_entered(body:Node2D) -> void:
if body is Entity:
body.damage(atk)
if disable_aft_atk: area.set_deferred("monitoring", false)
if scale.x < 0: body.knockback = Vector2(-knock.x, knock.y)
else: body.knockback = knock
|