diff --git a/Game/Assets/Weapons/Projectile.gd b/Game/Assets/Weapons/Projectile.gd index a10348f..70cf7ac 100644 --- a/Game/Assets/Weapons/Projectile.gd +++ b/Game/Assets/Weapons/Projectile.gd @@ -1,4 +1,4 @@ -extends AnimatableBody3D +extends Node3D @export var hit_effect_scene : PackedScene @@ -11,13 +11,26 @@ extends AnimatableBody3D # Called when the node enters the scene tree for the first time. func _ready(): - constant_linear_velocity = Vector3.FORWARD * speed $OmniLight3D/Smoke.emitting = true func _physics_process(delta): #constant_linear_velocity = Vector3(1, 0, 0) - move_and_collide(global_transform.basis[0]*Vector3.FORWARD * speed) + translate_object_local(Vector3.FORWARD * speed * delta) + +# move_and_collide(global_transform.basis.x * Vector3.FORWARD * speed) # Called every frame. 'delta' is the elapsed time since the previous frame. #func _process(delta): # pass + +func hit(): + var hit_effect = hit_effect_scene.instantiate() + hit_effect.global_transform = global_transform + get_tree().root.add_child(hit_effect) + queue_free() + +func _on_Area3D_body_entered(body): + hit() + +func _on_Area3D_body_shape_entered(body_rid, body, body_shape_index, local_shape_index): + hit() diff --git a/Game/Assets/Weapons/RocketLauncher/Rocket.tscn b/Game/Assets/Weapons/RocketLauncher/Rocket.tscn index 0cdf70f..81adcc3 100644 --- a/Game/Assets/Weapons/RocketLauncher/Rocket.tscn +++ b/Game/Assets/Weapons/RocketLauncher/Rocket.tscn @@ -62,18 +62,20 @@ proximity_fade_enable = true [sub_resource type="QuadMesh" id="QuadMesh_gkbg3"] material = SubResource( "StandardMaterial3D_eernl" ) -[node name="Rocket" type="AnimatableBody3D"] -collision_layer = 3 -collision_mask = 3 -sync_to_physics = false +[node name="Rocket" type="Node3D"] script = ExtResource( "1_3ywpo" ) hit_effect_scene = ExtResource( "2_1tben" ) -speed = 15.0 +speed = 25.0 [node name="Rocket" parent="." instance=ExtResource( "3_wqrr6" )] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0) -[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +[node name="Area3D" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 11 +monitorable = false + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] transform = Transform3D(0, 4.37114e-08, -1, 1, 0, 0, 0, -1, -4.37114e-08, 0, 0, 0) shape = SubResource( "CapsuleShape3D_qjk68" ) @@ -94,3 +96,6 @@ local_coords = false trail_length_secs = 0.72 process_material = SubResource( "ParticlesMaterial_ckuul" ) draw_pass_1 = SubResource( "QuadMesh_gkbg3" ) + +[connection signal="body_entered" from="Area3D" to="." method="_on_Area3D_body_entered"] +[connection signal="body_shape_entered" from="Area3D" to="." method="_on_Area3D_body_shape_entered"]