Frontier-of-Hell/scripts/bullets/bullet.gd

30 lines
640 B
GDScript3
Raw Normal View History

2023-10-06 11:40:11 +02:00
extends Area2D
2023-10-16 19:12:44 +02:00
2023-10-06 11:40:11 +02:00
const right = Vector2.RIGHT
2023-10-20 19:59:00 +02:00
var speed: int = 0
var damage: int = 0
2023-10-16 19:12:44 +02:00
var dir = 0
2023-10-20 19:59:00 +02:00
var area_damage: bool = false
var area_damage_target = []
2023-10-20 20:52:37 +02:00
var slow_effect: bool = false
2023-10-16 19:12:44 +02:00
2023-10-18 06:10:07 +02:00
func _physics_process(_delta):
2023-10-16 19:12:44 +02:00
var move_dir = Vector2(1,0).rotated(dir)
global_position += (move_dir * speed)
2023-10-06 11:40:11 +02:00
func _on_VisibilityNotifier2D_screen_exited():
queue_free()
func _on_Bullet_body_entered(body):
if body.is_in_group("Enemy"):
2023-10-20 19:59:00 +02:00
if area_damage:
for enemy in area_damage_target:
enemy.hit(damage)
2023-10-20 20:52:37 +02:00
elif slow_effect:
body.get_parent().hit(damage)
body.get_parent().slow()
2023-10-20 19:59:00 +02:00
else:
body.get_parent().hit(damage)
2023-10-06 11:40:11 +02:00
queue_free()