diff --git a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd index ff638ed..1db85a4 100644 --- a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd +++ b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd @@ -5,7 +5,6 @@ func _ready() -> void: Session.dynamic_objects_spawner = self func request_spawn(data: Variant) -> Node: - if is_multiplayer_authority() == false: return if data.has("type") == false or data.has("spawn_name") == false: return Node.new() match data.type: @@ -34,6 +33,7 @@ func request_spawn(data: Variant) -> Node: return projectile "object": var object: Node3D = Registry.spawnable_objects[data.spawn_name].instantiate() + for key in data.keys(): object.set(key,data[key]) diff --git a/scripts/weapon_system/weapon_substate_machine.gd b/scripts/weapon_system/weapon_substate_machine.gd index d7e1752..3e6df35 100644 --- a/scripts/weapon_system/weapon_substate_machine.gd +++ b/scripts/weapon_system/weapon_substate_machine.gd @@ -63,14 +63,18 @@ func exit() -> void: @rpc("authority","call_local","reliable") func use_begin() -> void: - current_state.use_begin() + if current_state != null: + current_state.use_begin() @rpc("authority","call_local","reliable") func use_end() -> void: - current_state.use_end() + if current_state != null: + current_state.use_end() func alternate_state() -> void: - current_state.alternate_state() + if current_state != null: + current_state.alternate_state() # Need to clarify naming; Switch mode like firemode. For different states use # alternate_state func switch_mode() -> void: - current_state.switch_mode() + if current_state != null: + current_state.switch_mode()