mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-15 08:24:48 +00:00
🐛 Refactored AreaDamageComponent to be an ExplosiveDamageComponent
This commit is contained in:
parent
dc7896a591
commit
49a59e8c31
12 changed files with 1331 additions and 1340 deletions
16
components/explosive_damage_component.gd
Normal file
16
components/explosive_damage_component.gd
Normal 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue