25 lines
557 B
GDScript
25 lines
557 B
GDScript
class_name BlastProjectile
|
|
extends AbstractProjectile
|
|
|
|
|
|
@onready var blast : Blast = $Blast
|
|
|
|
|
|
func _on_body_entered(body: Node2D) -> void:
|
|
var damaged := false
|
|
var overlapping_bodies := blast.get_overlapping_bodies()
|
|
for overlapping_body in overlapping_bodies:
|
|
var damage := blast.get_damage_to(overlapping_body)
|
|
if _try_to_damage(overlapping_body, damage):
|
|
damaged = true
|
|
|
|
if damaged:
|
|
_process_hit_for_projectile(body)
|
|
|
|
|
|
func _apply_collision_mask() -> void:
|
|
super._apply_collision_mask()
|
|
|
|
if blast:
|
|
_apply_collision_mask_to_area(blast)
|