This commit is contained in:
Rendo 2025-11-29 02:11:21 +05:00
commit 6422ffb13c
13 changed files with 142 additions and 5 deletions

View file

@ -12,6 +12,8 @@ const DEFENCE_LAYER: int = 0b100000
var player_nodes: Dictionary[int,Player] = {}
var dynamic_objects_spawner: MultiplayerSpawner
var plants: Array[PlantSite]
var plant_deadzones: Dictionary[StringName, Area3D]
## Spawns dynamic object at game scene [br]
## Dictionary keys: [br]
@ -76,4 +78,23 @@ func shoot_internal(id:int , damage: int) -> void:
var collision = space.intersect_ray(ray)
if collision != {} and collision["collider"] is Player:
collision["collider"].take_damage.rpc_id(int(collision["collider"].name),damage)
func is_on_site() -> bool:
for plant in plants:
if plant.is_player_on_site(multiplayer.get_unique_id()):
return true
return false
func get_site() -> PlantSite:
for plant in plants:
if plant.is_player_on_site(multiplayer.get_unique_id()):
return plant
return null
func kill_site(site: StringName) -> void:
if multiplayer.is_server() == false:
return
for body in plant_deadzones[site].get_overlapping_bodies():
if body is Player:
body.die()