diff --git a/project.godot b/project.godot index 4a33c0e..5ec4179 100644 --- a/project.godot +++ b/project.godot @@ -36,6 +36,7 @@ import/blender/enabled=false body="" target="" +player_placeholder="" [input] diff --git a/scenes/characters/blue/dummy.gd b/scenes/characters/blue/dummy.gd index 304b3d7..0bff5c0 100644 --- a/scenes/characters/blue/dummy.gd +++ b/scenes/characters/blue/dummy.gd @@ -16,10 +16,11 @@ func _process(delta: float) -> void: func _on_head_collision_body_part_hit(dam: Variant) -> void: print("head is hit" + str(dam)) - #owner_placeholder.take_damage(dam) + print(owner_placeholder) + owner_placeholder.take_damage(dam) pass # Replace with function body. func _get_owner() -> CharacterBody3D: - var owner_placeholder := find_parent("CharacterPlaceholder") + var owner_placeholder := find_parent("PlayerPlaceholder*") return owner_placeholder diff --git a/scenes/characters/blue/dummy.tscn b/scenes/characters/blue/dummy.tscn index aa01e88..264f01e 100644 --- a/scenes/characters/blue/dummy.tscn +++ b/scenes/characters/blue/dummy.tscn @@ -1344,7 +1344,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_j3emx") [node name="HitCollisions" type="Node3D" parent="Body/Armature/Skeleton3D"] [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Body/Armature/Skeleton3D"] -transform = Transform3D(0.978017, -0.176546, -0.110973, 0.15839, 0.282801, 0.946011, -0.135631, -0.942791, 0.304547, -11.8203, 17.7472, -135.936) +transform = Transform3D(0.978017, -0.176546, -0.110972, 0.15839, 0.282801, 0.94601, -0.135631, -0.942791, 0.304547, -11.8203, 17.7472, -135.936) bone_name = "mixamorig_Head" bone_idx = 5 diff --git a/scenes/characters/blue/head_collision.gd b/scenes/characters/blue/head_collision.gd index 84611b4..72de7af 100644 --- a/scenes/characters/blue/head_collision.gd +++ b/scenes/characters/blue/head_collision.gd @@ -1,6 +1,6 @@ extends Area3D -@export var damage: int = 100 +@export var damage: int = 20 signal body_part_hit(dam) # Called when the node enters the scene tree for the first time. diff --git a/scenes/characters/placeholder.tscn b/scenes/characters/placeholder.tscn index 2f5314e..bcf712f 100644 --- a/scenes/characters/placeholder.tscn +++ b/scenes/characters/placeholder.tscn @@ -14,6 +14,9 @@ properties/0/replication_mode = 1 properties/1/path = NodePath(".:rotation") properties/1/spawn = true properties/1/replication_mode = 1 +properties/2/path = NodePath(".:health") +properties/2/spawn = true +properties/2/replication_mode = 1 [sub_resource type="Animation" id="Animation_falg4"] length = 0.001 @@ -149,7 +152,7 @@ grow_vertical = 0 text = "100" label_settings = SubResource("LabelSettings_toaij") -[node name="FPS" type="Label" parent="FirstPersonCameraMount/HUD"] +[node name="FPS" type="Label" parent="FirstPersonCameraMount/HUD" groups=["player_placeholder"]] layout_mode = 1 offset_right = 40.0 offset_bottom = 23.0 diff --git a/scenes/maps/el_test.gd b/scenes/maps/el_test.gd index ccbc102..9366263 100644 --- a/scenes/maps/el_test.gd +++ b/scenes/maps/el_test.gd @@ -16,7 +16,7 @@ func _ready() -> void: if multiplayer.is_server(): for i in GameServerManager.players: char = ResourceLoader.load("res://scenes/characters/placeholder.tscn").instantiate() - char.name = str(GameServerManager.players[i].name) + char.name = "PlayerPlaceholder" + str(GameServerManager.players[i].name) char.global_position = position var my_random_number = RandomNumberGenerator.new().randf_range(0.0, 5.0) char.global_position = position diff --git a/scenes/weapon/bullet.gd b/scenes/weapon/bullet.gd index e398fec..09691ab 100644 --- a/scenes/weapon/bullet.gd +++ b/scenes/weapon/bullet.gd @@ -22,6 +22,11 @@ func _process(delta): #ray.collision_mask = 1 #ray.enabled = 1 if ray.is_colliding(): + var collider = ray.get_collider() + if collider != null and collider.is_in_group("target"): + ray.get_collider().take_damage() + if collider != null and collider.is_in_group("body"): + ray.get_collider().hit() print("I got hit") rigid_body_3d.visible = false particles.emitting = true diff --git a/scripts/player/player_input_controller.gd b/scripts/player/player_input_controller.gd index cc1ec4b..be3cabb 100644 --- a/scripts/player/player_input_controller.gd +++ b/scripts/player/player_input_controller.gd @@ -3,7 +3,7 @@ # --------------------------------------------------------------------- class_name PlayerInput extends CharacterBody3D -var health: int = 100 +@export var health: int = 100 @export_category("PlayerInput")