diff --git a/Game/Assets/Characters/Player.gd b/Game/Assets/Characters/Player.gd index 3eb9e1c..dfa17eb 100644 --- a/Game/Assets/Characters/Player.gd +++ b/Game/Assets/Characters/Player.gd @@ -131,6 +131,8 @@ func _input(event) -> void: if not input_active: return + assert(is_network_authority() == true, "input_active is true, even though the node is not network_authority") + if Input.is_action_just_pressed("view_zoom"): # tween.remove_all() # tween.interpolate_property(self, "view_zoom", view_zoom, 4.0, 0.5, Tween.TRANS_SINE, Tween.EASE_IN_OUT) @@ -158,18 +160,24 @@ func _input(event) -> void: func _process(delta): + $Jetpack/GPUParticles3D.emitting = jetpack_active + + if not input_active: + return + + assert(is_network_authority() == true, "input_active is true, even though the node is not network_authority") + if view_zoom_direction and view_zoom < view_zoom_target: view_zoom = min(view_zoom_target, view_zoom + delta * 4) elif not view_zoom_direction and view_zoom > view_zoom_target: view_zoom = max(view_zoom_target, view_zoom - delta * 4) - $Jetpack/GPUParticles3D.emitting = jetpack_active func damage(hp: int): var target = main.player_list.players[self.get_network_authority()] target.health -= hp - #if target.health <= 0: # int(name) is the player instance node name signifying owner's PID - # die() +# if target.health <= 0: # int(name) is the player instance node name signifying owner's PID +# die() func die(killer_pid: int): var gibs = gibs_vfx.instantiate() diff --git a/Game/Assets/Weapons/Weapon.gd b/Game/Assets/Weapons/Weapon.gd index 2fd64c1..58a26bb 100644 --- a/Game/Assets/Weapons/Weapon.gd +++ b/Game/Assets/Weapons/Weapon.gd @@ -48,9 +48,9 @@ var impact_player = preload("res://Assets/Effects/ImpactBlood.tscn") impact_vfx = impact_wall.instantiate() if impact_vfx: - get_tree().root.add_child(impact_vfx) impact_vfx.global_transform = impact_vfx.global_transform.looking_at(ray['normal']) impact_vfx.global_transform.origin = ray['position'] + get_tree().root.add_child(impact_vfx) #print(ray) @@ -87,6 +87,7 @@ var impact_player = preload("res://Assets/Effects/ImpactBlood.tscn") # TODO correct the ejection angle - right now it shoots straight up relative to the gun casing_instance.linear_velocity = ejector.global_transform.basis[0] * randf_range(6.2, 8.5)# - ejector.global_transform.basis[2] * randf_range(-1.2, -1.7) + player.linear_velocity + # Called when the node enters the scene tree for the first time. func _ready(): pass diff --git a/Game/Main.gd b/Game/Main.gd index 69cd0ef..d6161fd 100644 --- a/Game/Main.gd +++ b/Game/Main.gd @@ -189,7 +189,7 @@ func push_local_player_info(): # else: rpc(&'player_list_update', player_list.get(id).serialize(), 1) -@rpc func destroy_player(pid: int): +@rpc(sync,auth,reliable) func destroy_player(pid: int): var player_node = $Players.get_node(str(pid)) assert(player_node != null, "Attempting to delete a player node that does not exist") diff --git a/Game/Map.tscn b/Game/Map.tscn index 87a3271..140ed7c 100644 --- a/Game/Map.tscn +++ b/Game/Map.tscn @@ -24,6 +24,10 @@ script/source = "extends Node3D # $ReflectionProbe.show() # elif round (time / 1.0) == 0: # $ReflectionProbe.hide() + + +func _on_Timer_timeout(): + $ReflectionProbe.update_mode = ReflectionProbe.UPDATE_ONCE " [sub_resource type="PhysicalSkyMaterial" id="1"] @@ -133,6 +137,12 @@ enable_shadows = true ambient_color = Color(1, 1, 1, 1) script = null +[node name="Timer" type="Timer" parent="ReflectionProbe"] +wait_time = 5.0 +one_shot = true +autostart = true +script = null + [node name="DM1" parent="." instance=ExtResource( "6" )] [node name="StaticBody3D" type="StaticBody3D" parent="DM1/Main" index="0"] @@ -183,4 +193,6 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 30, 2. [node name="BeerCan3" parent="." instance=ExtResource( "3" )] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29.3, 2.6, 3.6) +[connection signal="timeout" from="ReflectionProbe/Timer" to="." method="_on_Timer_timeout"] + [editable path="DM1"] diff --git a/Game/project.godot b/Game/project.godot index 4c6d714..eb2bf7a 100644 --- a/Game/project.godot +++ b/Game/project.godot @@ -132,11 +132,10 @@ say_cancel={ [rendering] environment/ssao/quality=0 -anti_aliasing/screen_space_roughness_limiter/enabled=false global_illumination/sdfgi/probe_ray_count=2 global_illumination/sdfgi/frames_to_converge=0 global_illumination/sdfgi/frames_to_update_lights=4 -anti_aliasing/quality/msaa=1 +anti_aliasing/quality/msaa=2 occlusion_culling/use_occlusion_culling=true mesh_lod/lod_change/threshold_pixels=3.0 environment/defaults/default_environment="res://default_env.tres"