🐛 Refactored AreaDamageComponent to be an ExplosiveDamageComponent

This commit is contained in:
Squinty 2024-04-14 21:20:02 +00:00
parent dc7896a591
commit 49a59e8c31
12 changed files with 1331 additions and 1340 deletions

View file

@ -0,0 +1,16 @@
class_name ExplosiveDamageComponent extends Area3D
@export var damage : int = 100
@export var impulse_force : int = 1000
func _physics_process(_delta):
for body in get_overlapping_bodies():
if body is RigidBody3D:
var direction = (body.global_position - global_position).normalized()
body.apply_central_impulse(direction * impulse_force)
for area in get_overlapping_areas():
if area is HealthComponent and is_multiplayer_authority():
area.damage.rpc(damage)
set_physics_process(false)