[sub_resource type="CircleShape2D" id="CircleShape2D_b7ejx"]
radius = 4.96679
-[node name="BaseBullet" type="CharacterBody2D"]
+[node name="BaseBullet" type="Area2D"]
script = ExtResource("1_0faoa")
[node name="Polygon2D" type="Polygon2D" parent="."]
color = Color(0.828474, 0.826652, 1.54018e-06, 1)
polygon = PackedVector2Array(2.53263, -1.21713, 2.07215, -1.94741, 1.15119, -2.67769, 0, -2.92112, -1.15119, -2.67769, -2, -2, -2.53263, -1.21713, -2.76287, 0, -2.53263, 1.21713, -2.07215, 1.94741, -1.15119, 2.67769, 0, 2.92112, 1.15119, 2.67769, 2, 2, 2.53263, 1.21713, 2.76287, 0)
-[node name="Area2D" type="Area2D" parent="."]
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
light_mask = 2
scale = Vector2(1.00669, 1.00809)
shape = SubResource("CircleShape2D_b7ejx")
-[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
+[connection signal="body_entered" from="." to="." method="_on_body_entered"]
-extends CharacterBody2D
+extends Area2D
@export var SPEED = 200.0
var origin: Node2D
var target: Node2D
+var last_angle_position: float
func _ready():
position = origin.position
-func _process(_delta):
+func _process(delta):
if target:
- velocity = position.direction_to(target.position) * SPEED
- move_and_slide()
+ last_angle_position = position.angle_to_point(target.position)
+
+ position += Vector2(1, 0).rotated(last_angle_position) * SPEED * delta
func set_origin(node: Node2D):
target = node
-func _on_area_2d_body_entered(body: Node2D):
+func _on_body_entered(body: Node2D):
# if it is an enemy do some damage
if body.name.to_lower().contains("enemy"):
body.take_damage(1)