diff --git a/Animations/ProjectileAnimations.tscn b/Animations/ProjectileAnimations.tscn new file mode 100644 index 0000000..f996b48 --- /dev/null +++ b/Animations/ProjectileAnimations.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://dykvpgrjto227"] + +[sub_resource type="Animation" id="Animation_7sp5o"] +resource_name = "ProjectileAnimation" + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_1g8r3"] +_data = { +"ProjectileAnimation": SubResource("Animation_7sp5o") +} + +[node name="AnimationPlayer" type="AnimationPlayer"] +libraries = { +"": SubResource("AnimationLibrary_1g8r3") +} diff --git a/Enemies/Attacks/EnemyBullet.tscn b/Enemies/Attacks/EnemyBullet.tscn index f422085..a16f849 100644 --- a/Enemies/Attacks/EnemyBullet.tscn +++ b/Enemies/Attacks/EnemyBullet.tscn @@ -1,20 +1,23 @@ -[gd_scene load_steps=5 format=3 uid="uid://rlxnnw4yay7e"] +[gd_scene load_steps=6 format=3 uid="uid://rlxnnw4yay7e"] [ext_resource type="Script" path="res://Enemies/Attacks/EnemyBullet.cs" id="1_rv13r"] [ext_resource type="Texture2D" uid="uid://dd71tdgrgic46" path="res://Textures/Projectiles/LB ORB.png" id="2_6l2aj"] [ext_resource type="AudioStream" uid="uid://cfj82os5p8i4p" path="res://Audio/SFX/shooting.wav" id="2_q6wdf"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_ov77l"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_e4v7f"] height = 8.99869 -radius = 0.4 +radius = 0.154574 -[node name="TestBullet" type="Node3D"] +[node name="TestBullet" type="Node3D" node_paths=PackedStringArray("_hitBox")] script = ExtResource("1_rv13r") Cooldown = 3.0 _soundEffect = ExtResource("2_q6wdf") +_onHitSfx = ExtResource("3_ov77l") +_hitBox = NodePath("RigidBody3D") [node name="RigidBody3D" type="RigidBody3D" parent="."] -collision_layer = 4 +collision_layer = 0 collision_mask = 0 gravity_scale = 0.0 custom_integrator = true @@ -38,3 +41,5 @@ texture = ExtResource("2_6l2aj") process_callback = 0 wait_time = 0.8 autostart = true + +[connection signal="body_entered" from="RigidBody3D" to="." method="OnProjectileHit"] diff --git a/Enemies/MeleeEnemy.tscn b/Enemies/MeleeEnemy.tscn index a61fd91..833c87e 100644 --- a/Enemies/MeleeEnemy.tscn +++ b/Enemies/MeleeEnemy.tscn @@ -1181,8 +1181,8 @@ script = ExtResource("1_50och") [node name="CharacterBody3D" type="CharacterBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.251952, 0) -collision_layer = 4096 -collision_mask = 2 +collision_layer = 65535 +collision_mask = 3 axis_lock_angular_x = true [node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"] @@ -1192,7 +1192,7 @@ shape = SubResource("BoxShape3D_1nq5h") [node name="meleeenemy - Updated" type="Node3D" parent="CharacterBody3D"] [node name="Area3D" type="Area3D" parent="CharacterBody3D"] -collision_layer = 0 +collision_layer = 256 collision_mask = 2 [node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D/Area3D"] @@ -1257,5 +1257,3 @@ transform = Transform3D(0.404405, 0, 0, 0, 0.404405, 0, 0, 0, 0.404405, 0.069068 libraries = { "": SubResource("AnimationLibrary_ivhl3") } - -[connection signal="body_entered" from="CharacterBody3D/Area3D" to="." method="OnEnemyHit"] diff --git a/Enemies/RangedEnemy.tscn b/Enemies/RangedEnemy.tscn index dd8a1e9..d30dc7d 100644 --- a/Enemies/RangedEnemy.tscn +++ b/Enemies/RangedEnemy.tscn @@ -890,177 +890,178 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_j7wsk") -[node name="RangedEnemy" type="CharacterBody3D" groups=["Enemy"]] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.532091, 0) -collision_layer = 4096 -collision_mask = 2 +[node name="RangedEnemy" type="Node3D"] script = ExtResource("1_01lvj") -[node name="Timer" type="Timer" parent="." node_paths=PackedStringArray("_enemy")] +[node name="CharacterBody" type="CharacterBody3D" parent="." groups=["Enemy"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.257979, 0) +collision_layer = 0 +collision_mask = 0 + +[node name="Timer" type="Timer" parent="CharacterBody" node_paths=PackedStringArray("_enemy")] wait_time = 3.0 autostart = true script = ExtResource("3_qt2md") _enemy = NodePath("../Area3D") _fireProjectile = ExtResource("3_qenx3") -[node name="Area3D" type="Area3D" parent="."] +[node name="Area3D" type="Area3D" parent="CharacterBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.113206, 0.857215, 0) -collision_layer = 4096 -collision_mask = 2 +collision_layer = 0 +collision_mask = 0 -[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody/Area3D"] shape = SubResource("BoxShape3D_dm3u7") -[node name="ranged enemy" type="Node3D" parent="Area3D"] +[node name="ranged enemy" type="Node3D" parent="CharacterBody/Area3D"] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.113206, -0.357215, 0) -[node name="Cube" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_q32da") skeleton = NodePath("") -[node name="Plane" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Plane" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(-0.0100222, 0.0018531, -0.000882675, 1.93522e-05, -0.00431383, -0.00927625, -0.00205249, -0.00908929, 0.00422261, -0.303114, 0.427881, 0.058823) cast_shadow = 0 mesh = SubResource("ArrayMesh_u3ad8") skeleton = NodePath("") -[node name="Cube001" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube001" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.315871, -0.0694096, -0.000752944, 0.0682386, 0.311148, -0.0558839, 0.0127182, 0.0544227, 0.318542, -0.0773843, 0.835929, -0.0333594) cast_shadow = 0 mesh = SubResource("ArrayMesh_rm34g") skeleton = NodePath("") -[node name="Cube002" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube002" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0636578, 0.633983, -0.0944303) cast_shadow = 0 mesh = SubResource("ArrayMesh_0bt4x") skeleton = NodePath("") -[node name="Cube003" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube003" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047) cast_shadow = 0 mesh = SubResource("ArrayMesh_8yxbn") skeleton = NodePath("") -[node name="Cube004" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube004" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047) cast_shadow = 0 mesh = SubResource("ArrayMesh_15lqi") skeleton = NodePath("") -[node name="Cube005" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube005" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.305187, -0.0854223, 0.0644708, 0.0815859, 0.311789, 0.0269073, -0.0692616, -0.00912739, 0.315772, -0.0531487, 0.661378, -0.0700054) cast_shadow = 0 mesh = SubResource("ArrayMesh_mpb1j") skeleton = NodePath("") -[node name="Cube006" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube006" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047) cast_shadow = 0 mesh = SubResource("ArrayMesh_mcinf") skeleton = NodePath("") -[node name="Cube008" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube008" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_pmc1t") skeleton = NodePath("") -[node name="Cube009" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube009" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0684862, 0.799624, -0.0750265) cast_shadow = 0 mesh = SubResource("ArrayMesh_gtkhd") skeleton = NodePath("") -[node name="Cube010" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube010" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_trp2a") skeleton = NodePath("") -[node name="Cube012" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube012" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_25adi") skeleton = NodePath("") -[node name="Cube014" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube014" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.386719, -0.0654828, -0.0060564, 0.0657464, 0.385777, 0.0270154, 0.00144638, -0.0276482, 0.391293, -0.352872, 0.654756, -0.0707455) cast_shadow = 0 mesh = SubResource("ArrayMesh_u67jf") skeleton = NodePath("") -[node name="Cube019" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube019" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_ariha") skeleton = NodePath("") -[node name="Cube020" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube020" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_xyipj") skeleton = NodePath("") -[node name="Cube021" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube021" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_jo33y") skeleton = NodePath("") -[node name="Cube022" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube022" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_7kmmw") skeleton = NodePath("") -[node name="Cube026" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube026" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_vfj0q") skeleton = NodePath("") -[node name="Circle" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Circle" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(-0.0166754, -0.00145308, 0.00157151, -0.00158678, 0.000108831, -0.0167367, 0.00143639, -0.0167489, -0.000245091, -0.0910357, 0.761053, 0.00444521) cast_shadow = 0 mesh = SubResource("ArrayMesh_rlqqm") skeleton = NodePath("") -[node name="Circle001" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Circle001" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.0164801, 0.00292982, 0.00157151, 0.001504, 0.000517407, -0.0167367, 0.00296504, -0.0165468, -0.000245089, -0.0447078, 0.770397, 0.00533548) cast_shadow = 0 mesh = SubResource("ArrayMesh_sjkuu") skeleton = NodePath("") -[node name="Cube007" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube007" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_ad76t") skeleton = NodePath("") -[node name="Cube011" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube011" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_dcy7l") skeleton = NodePath("") -[node name="Cube013" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube013" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_tup6f") skeleton = NodePath("") -[node name="Cube015" type="MeshInstance3D" parent="Area3D/ranged enemy"] +[node name="Cube015" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"] transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053) cast_shadow = 0 mesh = SubResource("ArrayMesh_lu7e3") skeleton = NodePath("") -[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0714533, 0.795379, 0.0138905) shape = SubResource("BoxShape3D_dm3u7") -[connection signal="timeout" from="Timer" to="Timer" method="OnFireAtPlayer"] -[connection signal="body_entered" from="Area3D" to="." method="OnEnemyHit"] +[connection signal="timeout" from="CharacterBody/Timer" to="CharacterBody/Timer" method="OnFireAtPlayer"] diff --git a/Enemies/Scripts/RangedEnemy.cs b/Enemies/Scripts/RangedEnemy.cs index d2f91bf..3971685 100644 --- a/Enemies/Scripts/RangedEnemy.cs +++ b/Enemies/Scripts/RangedEnemy.cs @@ -10,7 +10,7 @@ public partial class RangedEnemy : BasicEnemy { var convertedPlayers = players.Select(x => (Node3D)x); var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault(); - var hitBox = GetChildren().OfType().Single(); + var hitBox = GetNode("CharacterBody").GetChildren().OfType().Single(); hitBox.LookAt(target.Position, Vector3.Up); hitBox.Rotation = new Vector3(0, hitBox.Rotation.Y, hitBox.Rotation.Z); } diff --git a/GameJam2023.csproj b/GameJam2023.csproj index d27da9e..9f8db38 100644 --- a/GameJam2023.csproj +++ b/GameJam2023.csproj @@ -1,4 +1,4 @@ - + net6.0 true @@ -8,6 +8,7 @@ + \ No newline at end of file diff --git a/GameJam2023.csproj.old.5 b/GameJam2023.csproj.old.5 new file mode 100644 index 0000000..d27da9e --- /dev/null +++ b/GameJam2023.csproj.old.5 @@ -0,0 +1,13 @@ + + + net6.0 + true + + + + + + + + + \ No newline at end of file diff --git a/Levels/DoorShader.tres b/Levels/DoorShader.tres deleted file mode 100644 index 76ce54d..0000000 --- a/Levels/DoorShader.tres +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://blksoavfhtf06"] - -[ext_resource type="Shader" path="res://Levels/Scenes/Door.gdshader" id="1_by6f6"] - -[resource] -render_priority = 1 -shader = ExtResource("1_by6f6") -shader_parameter/albedo = null diff --git a/Levels/ExitPortal.tscn b/Levels/ExitPortal.tscn index 0709bbb..c405519 100644 --- a/Levels/ExitPortal.tscn +++ b/Levels/ExitPortal.tscn @@ -102,8 +102,8 @@ libraries = { } [node name="Area3D" type="Area3D" parent="." index="4"] -collision_layer = 8 -collision_mask = 8 +collision_layer = 0 +collision_mask = 0 script = ExtResource("2_4y188") [node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"] diff --git a/Levels/Models/Stage2/stage_2Collisions.tscn b/Levels/Models/Stage2/stage_2Collisions.tscn index d6dd5d1..588eb16 100644 --- a/Levels/Models/Stage2/stage_2Collisions.tscn +++ b/Levels/Models/Stage2/stage_2Collisions.tscn @@ -19,6 +19,8 @@ cast_shadow = 0 cast_shadow = 0 [node name="StaticBody3D" type="StaticBody3D" parent="Cube" index="0"] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Cube/StaticBody3D" index="0"] shape = SubResource("ConcavePolygonShape3D_sdbt6") @@ -27,6 +29,8 @@ shape = SubResource("ConcavePolygonShape3D_sdbt6") cast_shadow = 0 [node name="StaticBody3D" type="StaticBody3D" parent="Cube002" index="0"] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Cube002/StaticBody3D" index="0"] shape = SubResource("ConcavePolygonShape3D_giapi") diff --git a/Levels/Scenes/Level1.tscn b/Levels/Scenes/Level1.tscn index b2efd44..f4120f4 100644 --- a/Levels/Scenes/Level1.tscn +++ b/Levels/Scenes/Level1.tscn @@ -30,7 +30,7 @@ script = ExtResource("1_k32xj") transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, -0.568617, 0, -3.01859) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("6_gegi6")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0.599727, -1.96144) @@ -41,15 +41,6 @@ shape = SubResource("CylinderShape3D_kv6vl") [node name="STAGE 1" parent="." instance=ExtResource("6_60jd6")] -[node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.37194, 6.02102) - -[node name="Camera3D2" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, 10.966, 6.61121) -projection = 1 -current = true -size = 10.8546 - [node name="Enemies" type="Node3D" parent="."] [node name="MeleeEnemyOrb" parent="Enemies" instance=ExtResource("4_7eukt")] @@ -73,12 +64,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.08228, 0, -0.694794) [node name="RangedEnemy6" parent="Enemies" instance=ExtResource("2_fyxib")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.78224, 0, -0.525299) -[node name="Camera3D3" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, 10.966, 6.61121) -projection = 1 -size = 10.8546 - [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level10.tscn b/Levels/Scenes/Level10.tscn index 5ceee0a..24eca1f 100644 --- a/Levels/Scenes/Level10.tscn +++ b/Levels/Scenes/Level10.tscn @@ -75,6 +75,8 @@ MaximumHP = 10000000 _healthBar = NodePath("../../FinalBossGUI/TextureProgressBar") [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level2.tscn b/Levels/Scenes/Level2.tscn index 6057c8c..b2be6b8 100644 --- a/Levels/Scenes/Level2.tscn +++ b/Levels/Scenes/Level2.tscn @@ -29,7 +29,7 @@ script = ExtResource("1_rkcp4") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.43759, 0, -2.42354) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("2_sq8bv")] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -0.0428823, 0, 3.24448) @@ -79,6 +79,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12321, -0.521506, -1.78045) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.2018, -0.521506, -0.0385171) [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level3.tscn b/Levels/Scenes/Level3.tscn index e131f85..3e1f14d 100644 --- a/Levels/Scenes/Level3.tscn +++ b/Levels/Scenes/Level3.tscn @@ -1,14 +1,14 @@ -[gd_scene load_steps=43 format=3 uid="uid://btl5fdyjewnwc"] +[gd_scene load_steps=44 format=3 uid="uid://btl5fdyjewnwc"] [ext_resource type="Script" path="res://Levels/Scripts/Level3.cs" id="1_wxr87"] [ext_resource type="PackedScene" uid="uid://jgf7k1r35km1" path="res://Levels/ExitPortal.tscn" id="3_2t766"] [ext_resource type="Texture2D" uid="uid://cjtoysyxjtkmy" path="res://Levels/Models/Stage3/STAGE 3_LIon Marquee_2320x920.png" id="3_4jiij"] [ext_resource type="Texture2D" uid="uid://cpku414yrxoil" path="res://Levels/Models/Stage3/STAGE 3_hell.png" id="3_gsb68"] [ext_resource type="Texture2D" uid="uid://vdkesbxukpqs" path="res://Levels/Models/Stage3/STAGE 3_1000_F_118943936_75dpkeRbB60RZZzrWsFPL7BC2dxGUdtR.png" id="4_qilgn"] -[ext_resource type="Material" uid="uid://blksoavfhtf06" path="res://Levels/DoorShader.tres" id="5_1a65w"] [ext_resource type="PackedScene" uid="uid://dahp73fwld24h" path="res://Enemies/RangedEnemy.tscn" id="5_8b1ug"] [ext_resource type="Texture2D" uid="uid://33cgwfy7mqcg" path="res://Levels/Models/Stage3/STAGE 3_LIon Marquee_2320x920_2.png" id="5_kwy6o"] [ext_resource type="PackedScene" uid="uid://bt5rolsyjmx55" path="res://Enemies/MeleeEnemy.tscn" id="6_b7xn3"] +[ext_resource type="Shader" path="res://Levels/Scenes/Door.gdshader" id="9_05wf0"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_j26hn"] radius = 0.957319 @@ -349,6 +349,11 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_sjtoo") +[sub_resource type="ShaderMaterial" id="ShaderMaterial_d6sjv"] +render_priority = 1 +shader = ExtResource("9_05wf0") +shader_parameter/albedo = null + [sub_resource type="Animation" id="Animation_uk6to"] resource_name = "HitFlash" length = 0.2 @@ -362,7 +367,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0, 0.2), "transitions": PackedFloat32Array(1, 1), "update": 1, -"values": [null, ExtResource("5_1a65w")] +"values": [null, SubResource("ShaderMaterial_d6sjv")] } tracks/1/type = "value" tracks/1/imported = false @@ -422,7 +427,7 @@ AnimationPlayer = NodePath("Door/AnimationPlayer") transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0.993156, -1.67434) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_2t766")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, -0.786783, -1.06704, -4.22407) @@ -435,6 +440,8 @@ shape = SubResource("CylinderShape3D_j26hn") transform = Transform3D(1.09, 0, 0, 0, 1.09, 0, 0, 0, 1.09, 0, 0, -0.528128) [node name="Cube002@StaticBody3D" type="StaticBody3D" parent="STAGE 3"] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="STAGE 3/Cube002@StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_amx5s") @@ -453,6 +460,9 @@ mesh = SubResource("ArrayMesh_ae5pk") skeleton = NodePath("") [node name="StaticBody3D" type="StaticBody3D" parent="STAGE 3/Cube"] +disable_mode = 1 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="STAGE 3/Cube/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_qdpti") @@ -464,6 +474,8 @@ mesh = SubResource("ArrayMesh_6dg1r") skeleton = NodePath("") [node name="StaticBody3D" type="StaticBody3D" parent="STAGE 3/Cube001"] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="STAGE 3/Cube001/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_cctvu") @@ -480,12 +492,6 @@ libraries = { "": SubResource("AnimationLibrary_ohisj") } -[node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, 10.966, 6.61121) -projection = 1 -current = true -size = 10.8546 - [node name="Enemies" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.380475, 0) @@ -568,6 +574,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.40391, 0, 0.157687) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4263, 0, 1.29951) [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.42651, 2.71587, 0) @@ -598,6 +606,8 @@ libraries = { [node name="StaticBody3D" type="StaticBody3D" parent="Door"] transform = Transform3D(0.727802, 7.58209e-08, 2.11147e-07, -1.0934e-07, -0.634404, 0.60469, -3.80919e-06, 9.32367, 9.78183, 0.407569, 0.378925, -7.67854) +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D5" type="CollisionShape3D" parent="Door/StaticBody3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.571146, 0.810928, 0.294388) @@ -605,7 +615,8 @@ shape = SubResource("BoxShape3D_yew2s") [node name="Door Hitbox" type="Area3D" parent="Door/StaticBody3D"] transform = Transform3D(1, -2.84217e-14, -1.27055e-21, 2.84217e-14, 1, 2.98023e-08, 4.26326e-14, 2.98023e-08, 1, 5.0822e-21, -1.19209e-07, -3.55271e-15) -collision_mask = 2 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D5" type="CollisionShape3D" parent="Door/StaticBody3D/Door Hitbox"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.571146, 0.810928, 0.294388) diff --git a/Levels/Scenes/Level4.tscn b/Levels/Scenes/Level4.tscn index 936a331..ed892f6 100644 --- a/Levels/Scenes/Level4.tscn +++ b/Levels/Scenes/Level4.tscn @@ -786,7 +786,7 @@ script = ExtResource("1_gkcpw") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.174136, -1.52969) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_wflo5")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) @@ -900,6 +900,8 @@ libraries = { [node name="StaticBody3D" type="StaticBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.22039) +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.01032, 2.71587, 0) diff --git a/Levels/Scenes/Level5.tscn b/Levels/Scenes/Level5.tscn index 0cc9a3a..60101c3 100644 --- a/Levels/Scenes/Level5.tscn +++ b/Levels/Scenes/Level5.tscn @@ -25,7 +25,7 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.94617, 0, -1.55156) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_0wdh0")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) @@ -37,6 +37,8 @@ shape = SubResource("CylinderShape3D_wu0in") [node name="STAGE 6" parent="." instance=ExtResource("3_ajkvk")] [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level6.tscn b/Levels/Scenes/Level6.tscn index e0d4ce3..694150f 100644 --- a/Levels/Scenes/Level6.tscn +++ b/Levels/Scenes/Level6.tscn @@ -27,7 +27,7 @@ script = ExtResource("1_o0w6s") transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, -0.0656219, 0, -3.04094) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_ehcts")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) @@ -39,6 +39,8 @@ shape = SubResource("CylinderShape3D_a8pxa") [node name="STAGE 5" parent="." instance=ExtResource("3_yun3r")] [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level7.tscn b/Levels/Scenes/Level7.tscn index 18de750..ff6770a 100644 --- a/Levels/Scenes/Level7.tscn +++ b/Levels/Scenes/Level7.tscn @@ -25,7 +25,7 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.484857, 0.090312, -2.51937) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_sjnhq")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0.0799288, -1.92508) @@ -37,13 +37,9 @@ shape = SubResource("CylinderShape3D_a56hv") [node name="STAGE 7" parent="." instance=ExtResource("2_21i6n")] transform = Transform3D(1.04, 0, 0, 0, 1.04, 0, 0, 0, 1.04, -0.601425, 0, 0) -[node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, 10.966, 6.61121) -projection = 1 -current = true -size = 10.8546 - [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.80235, 2.71587, 0) diff --git a/Levels/Scenes/Level8.tscn b/Levels/Scenes/Level8.tscn index aab3109..37d7f63 100644 --- a/Levels/Scenes/Level8.tscn +++ b/Levels/Scenes/Level8.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=3 uid="uid://c4xcka4ekuur8"] +[gd_scene load_steps=8 format=3 uid="uid://c4xcka4ekuur8"] [ext_resource type="PackedScene" uid="uid://b6ciyf30f07ll" path="res://Levels/Models/Stage8/STAGE 8.glb" id="2_wcvbl"] [ext_resource type="PackedScene" uid="uid://jgf7k1r35km1" path="res://Levels/ExitPortal.tscn" id="3_44edv"] @@ -6,8 +6,6 @@ [sub_resource type="CylinderShape3D" id="CylinderShape3D_3ne7n"] radius = 0.957319 -[sub_resource type="SpriteFrames" id="SpriteFrames_16emx"] - [sub_resource type="BoxShape3D" id="BoxShape3D_3n0wx"] size = Vector3(5, 20, 27.822) @@ -27,7 +25,7 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.47544) disable_mode = 2 collision_layer = 0 -collision_mask = 16 +collision_mask = 0 [node name="Exit Portal" parent="Area3D2" instance=ExtResource("3_44edv")] transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) @@ -36,12 +34,11 @@ transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.17404, -2.51823) shape = SubResource("CylinderShape3D_3ne7n") -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] -sprite_frames = SubResource("SpriteFrames_16emx") - [node name="STAGE 8" parent="." instance=ExtResource("2_wcvbl")] [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Levels/Scenes/Level9.tscn b/Levels/Scenes/Level9.tscn index 1edd032..547c4c9 100644 --- a/Levels/Scenes/Level9.tscn +++ b/Levels/Scenes/Level9.tscn @@ -19,6 +19,8 @@ size = Vector3(5, 20, 27.822) [node name="STAGE 9" parent="." instance=ExtResource("1_ami18")] [node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.52066, 2.71587, 0) diff --git a/Player/Base/Character.cs b/Player/Base/Character.cs index 0960664..f0aa06b 100644 --- a/Player/Base/Character.cs +++ b/Player/Base/Character.cs @@ -1,4 +1,5 @@ using Godot; +using System.Linq; public partial class Character : CharacterBody3D { @@ -67,23 +68,28 @@ public partial class Character : CharacterBody3D private async void Fire() { - var projectile = _fireProjectile.Instantiate(); - projectile.Position = Position + new Vector3(0f, 1f, 0f); - projectile.ParentCharacter = this; + var projectile = _fireProjectile.Instantiate(); + projectile.Position = Position; GetParent().AddChild(projectile); + var projectiles = projectile.GetChildren().OfType(); + foreach (var proj in projectiles) + { + if (proj.HasRotation) + proj.Rotation = GetNode("Pivot").Rotation; + } CanShoot = false; - await ToSignal(GetTree().CreateTimer(projectile.Cooldown), "timeout"); + await ToSignal(GetTree().CreateTimer(projectiles.First().Cooldown), "timeout"); CanShoot = true; } private async void AltFire() { - var projectile = _altFireProjectile.Instantiate(); - projectile.Position = Position + new Vector3(0f, 1f, 0f); - projectile.ParentCharacter = this; + var projectile = _altFireProjectile.Instantiate(); + projectile.Position = Position; GetParent().AddChild(projectile); + var projectiles = projectile.GetChildren().OfType(); CanShoot = false; - await ToSignal(GetTree().CreateTimer(projectile.Cooldown), "timeout"); + await ToSignal(GetTree().CreateTimer(projectiles.First().Cooldown), "timeout"); CanShoot = true; } diff --git a/Player/Base/Projectile.cs b/Player/Base/Projectile.cs index a067574..187defa 100644 --- a/Player/Base/Projectile.cs +++ b/Player/Base/Projectile.cs @@ -1,6 +1,4 @@ using Godot; -using Godot.Collections; -using System.Linq; public partial class Projectile : Node3D { @@ -13,9 +11,14 @@ public partial class Projectile : Node3D [Export] public AudioStream _soundEffect; - public Character ParentCharacter; + [Export] + public AudioStream _onHitSfx; - private Array _paths; + [Export] + public RigidBody3D _hitBox; + + [Export] + public bool HasRotation = false; public override void _Ready() { @@ -23,18 +26,28 @@ public partial class Projectile : Node3D var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); sfxPlayer.Stream = _soundEffect; sfxPlayer.Play(); - _paths = new Array(GetChildren().OfType()); } public override void _PhysicsProcess(double delta) { - foreach (var paths in _paths) - { - var pathFollow = paths.GetChildren().OfType().Single(); - pathFollow.Progress += Speed * (float)delta; - if (pathFollow.ProgressRatio > 0.9f) - QueueFree(); - } + var pathFollow = GetNode("PathFollow3D"); + pathFollow.Progress += Speed * (float)delta; + if (pathFollow.ProgressRatio > 0.9f) + QueueFree(); + } + + public void OnProjectileHit(Node node) + { + SetProcess(false); + if (node.GetParent() is BasicEnemy basicEnemy && basicEnemy.HasMethod(BasicEnemy.MethodName.OnEnemyHit)) + basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node); + else + GD.Print("Hit something other than enemy: " + node.GetParent().Name); + _hitBox.QueueFree(); + + var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); + if (!sfxPlayer.Playing) + sfxPlayer.Play(); } public float Speed { get; private set; } diff --git a/Player/Capricorn/Attacks/CapricornLaser.tscn b/Player/Capricorn/Attacks/CapricornLaser.tscn index f56a7d5..b44e8c9 100644 --- a/Player/Capricorn/Attacks/CapricornLaser.tscn +++ b/Player/Capricorn/Attacks/CapricornLaser.tscn @@ -1,70 +1,85 @@ -[gd_scene load_steps=6 format=3 uid="uid://5ce7ky4o0q2e"] +[gd_scene load_steps=8 format=3 uid="uid://5ce7ky4o0q2e"] [ext_resource type="Texture2D" uid="uid://dha44dnvwhajo" path="res://Textures/Projectiles/Projectile_Capricorn.png" id="1_bvyt4"] [ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_ovnwu"] [ext_resource type="AudioStream" uid="uid://bykwwct1not4e" path="res://Audio/SFX/capricorn laeser.wav" id="2_lofnw"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_h1ve3"] -[sub_resource type="Curve3D" id="Curve3D_bnc6v"] +[sub_resource type="Curve3D" id="Curve3D_bch55"] _data = { -"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.00347188, 1, 0.533723, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), "tilts": PackedFloat32Array(0, 0) } point_count = 2 -[sub_resource type="CylinderShape3D" id="CylinderShape3D_bnunv"] -height = 7.40727 +[sub_resource type="CylinderShape3D" id="CylinderShape3D_hebl4"] +height = 44.0041 radius = 0.419241 -[node name="CapricornLaser" type="Node3D"] +[sub_resource type="Curve3D" id="Curve3D_ciqkc"] +_data = { +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.00347188, 1, 0.533723, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), +"tilts": PackedFloat32Array(0, 0) +} +point_count = 2 + +[node name="CapricornAlt" type="Node3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0) + +[node name="Left Shot" type="Path3D" parent="."] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.105376, 0.772365, 1.51984) +top_level = true +curve = SubResource("Curve3D_bch55") script = ExtResource("1_ovnwu") Cooldown = 1.0 -_projectileSpeed = 3.0 +_projectileSpeed = 5.0 _soundEffect = ExtResource("2_lofnw") +_onHitSfx = ExtResource("3_h1ve3") -[node name="Forward Shot" type="Path3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25) -top_level = true -curve = SubResource("Curve3D_bnc6v") - -[node name="PathFollow3D" type="PathFollow3D" parent="Forward Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 1, 0) +[node name="PathFollow3D" type="PathFollow3D" parent="Left Shot"] +transform = Transform3D(0.999997, 0, -0.00207308, 0, 1, 0, 0.00207308, 0, 0.999997, -0.00347188, 1, 0.533723) loop = false tilt_enabled = false -[node name="Hitbox" type="RigidBody3D" parent="Forward Shot/PathFollow3D"] -transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5) -collision_layer = 34 -collision_mask = 34 +[node name="Hitbox" type="RigidBody3D" parent="Left Shot/PathFollow3D"] +transform = Transform3D(1, 0, -1.86265e-09, 0, 1, 0, 1.86265e-09, 0, 1, -0.00244793, 0.0059973, 0.293898) +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1 contact_monitor = true can_sleep = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="Forward Shot/PathFollow3D/Hitbox"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="Left Shot/PathFollow3D/Hitbox"] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) -shape = SubResource("CylinderShape3D_bnunv") +shape = SubResource("CylinderShape3D_hebl4") -[node name="Sprite3D2" type="Sprite3D" parent="Forward Shot/PathFollow3D/Hitbox"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.33, 0, 0.5) +[node name="Sprite3D2" type="Sprite3D" parent="Left Shot/PathFollow3D/Hitbox/CollisionShape3D"] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -0.663415, 0, 0.752893) centered = false axis = 1 texture = ExtResource("1_bvyt4") [node name="Backward Shot" type="Path3D" parent="."] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0.25) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.098024, 0.772365, -2.01984) top_level = true -curve = SubResource("Curve3D_bnc6v") +curve = SubResource("Curve3D_ciqkc") +script = ExtResource("1_ovnwu") +Cooldown = 1.0 +_projectileSpeed = 5.0 +_soundEffect = ExtResource("2_lofnw") +_onHitSfx = ExtResource("3_h1ve3") [node name="PathFollow3D" type="PathFollow3D" parent="Backward Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 1, 0) +transform = Transform3D(0.999997, 0, -0.00207308, 0, 1, 0, 0.00207308, 0, 0.999997, -0.00347188, 1, 0.533723) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Backward Shot/PathFollow3D"] -transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5) -collision_layer = 34 -collision_mask = 34 +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000400023, 0.00831366, 0.5) +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1 @@ -73,10 +88,13 @@ can_sleep = false [node name="CollisionShape3D" type="CollisionShape3D" parent="Backward Shot/PathFollow3D/Hitbox"] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) -shape = SubResource("CylinderShape3D_bnunv") +shape = SubResource("CylinderShape3D_hebl4") [node name="Sprite3D2" type="Sprite3D" parent="Backward Shot/PathFollow3D/Hitbox"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.33, 0, 0.5) centered = false axis = 1 texture = ExtResource("1_bvyt4") + +[connection signal="body_entered" from="Left Shot/PathFollow3D/Hitbox" to="Left Shot" method="OnProjectileHit" flags=18] +[connection signal="body_entered" from="Backward Shot/PathFollow3D/Hitbox" to="Left Shot" method="OnProjectileHit" flags=18] diff --git a/Player/Capricorn/Attacks/CapricornLaserAltFire.tscn b/Player/Capricorn/Attacks/CapricornLaserAltFire.tscn index 9d68050..74eedda 100644 --- a/Player/Capricorn/Attacks/CapricornLaserAltFire.tscn +++ b/Player/Capricorn/Attacks/CapricornLaserAltFire.tscn @@ -1,71 +1,87 @@ -[gd_scene load_steps=6 format=3 uid="uid://cdsc35cj566q1"] +[gd_scene load_steps=8 format=3 uid="uid://cdsc35cj566q1"] [ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_tbx8y"] [ext_resource type="Texture2D" uid="uid://dha44dnvwhajo" path="res://Textures/Projectiles/Projectile_Capricorn.png" id="2_8osg4"] [ext_resource type="AudioStream" uid="uid://bykwwct1not4e" path="res://Audio/SFX/capricorn laeser.wav" id="2_jeoco"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_r2jj5"] -[sub_resource type="Curve3D" id="Curve3D_goxuk"] +[sub_resource type="Curve3D" id="Curve3D_usgyk"] _data = { -"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.00347188, 1, 0.533723, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), "tilts": PackedFloat32Array(0, 0) } point_count = 2 [sub_resource type="CylinderShape3D" id="CylinderShape3D_hebl4"] -height = 7.40727 +height = 44.0041 radius = 0.419241 +[sub_resource type="Curve3D" id="Curve3D_p2eme"] +_data = { +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.00347188, 1, 0.533723, 0, 0, 0, 0, 0, 0, 0.008, 1, -5), +"tilts": PackedFloat32Array(0, 0) +} +point_count = 2 + [node name="CapricornLaser" type="Node3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0) + +[node name="Left Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.66814, 0.772365, -0.25) +top_level = true +curve = SubResource("Curve3D_usgyk") script = ExtResource("1_tbx8y") Cooldown = 1.0 -_projectileSpeed = 3.0 +_projectileSpeed = 5.0 _soundEffect = ExtResource("2_jeoco") +_onHitSfx = ExtResource("3_r2jj5") +_hitBox = NodePath("PathFollow3D/Hitbox") -[node name="Forward Shot" type="Path3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25) -top_level = true -curve = SubResource("Curve3D_goxuk") - -[node name="PathFollow3D" type="PathFollow3D" parent="Forward Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 1, 0) +[node name="PathFollow3D" type="PathFollow3D" parent="Left Shot"] +transform = Transform3D(0.999997, 0, -0.00207308, 0, 1, 0, 0.00207308, 0, 0.999997, -0.00347188, 1, 0.533723) loop = false tilt_enabled = false -[node name="Hitbox" type="RigidBody3D" parent="Forward Shot/PathFollow3D"] -transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5) -collision_layer = 34 -collision_mask = 34 +[node name="Hitbox" type="RigidBody3D" parent="Left Shot/PathFollow3D"] +transform = Transform3D(1, 0, -1.86265e-09, 0, 1, 0, 1.86265e-09, 0, 1, -0.00244793, 0.0059973, 0.293898) +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1 contact_monitor = true can_sleep = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="Forward Shot/PathFollow3D/Hitbox"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="Left Shot/PathFollow3D/Hitbox"] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) shape = SubResource("CylinderShape3D_hebl4") -[node name="Sprite3D2" type="Sprite3D" parent="Forward Shot/PathFollow3D/Hitbox"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.33, 0, 0.5) +[node name="Sprite3D2" type="Sprite3D" parent="Left Shot/PathFollow3D/Hitbox/CollisionShape3D"] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -0.663415, 0, 0.752893) centered = false axis = 1 texture = ExtResource("2_8osg4") -[node name="Backward Shot" type="Path3D" parent="."] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0.25) +[node name="Backward Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.87154, 0.772365, -0.25) top_level = true -curve = SubResource("Curve3D_goxuk") +curve = SubResource("Curve3D_p2eme") +script = ExtResource("1_tbx8y") +Cooldown = 1.0 +_projectileSpeed = 5.0 +_soundEffect = ExtResource("2_jeoco") +_onHitSfx = ExtResource("3_r2jj5") +_hitBox = NodePath("../Left Shot/PathFollow3D/Hitbox") [node name="PathFollow3D" type="PathFollow3D" parent="Backward Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 1, 0) +transform = Transform3D(0.999997, 0, -0.00207308, 0, 1, 0, 0.00207308, 0, 0.999997, -0.00347188, 1, 0.533723) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Backward Shot/PathFollow3D"] -transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5) -collision_layer = 34 -collision_mask = 34 +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000400023, 0.00831366, 0.5) +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1 @@ -81,3 +97,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.33, 0, 0.5) centered = false axis = 1 texture = ExtResource("2_8osg4") + +[connection signal="body_entered" from="Left Shot/PathFollow3D/Hitbox" to="Left Shot" method="OnProjectileHit"] +[connection signal="body_entered" from="Backward Shot/PathFollow3D/Hitbox" to="Left Shot" method="OnProjectileHit"] diff --git a/Player/Capricorn/Capricorn.tscn b/Player/Capricorn/Capricorn.tscn index 4ab3f6b..a266476 100644 --- a/Player/Capricorn/Capricorn.tscn +++ b/Player/Capricorn/Capricorn.tscn @@ -216,11 +216,12 @@ size = Vector3(0.856928, 1.65704, 0.82877) [node name="Capricorn" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.408962, 0) -collision_layer = 25 +collision_layer = 0 +collision_mask = 0 motion_mode = 1 script = ExtResource("1_aqn5t") -_fireProjectile = ExtResource("2_e6qos") -_altFireProjectile = ExtResource("3_wbhxk") +_fireProjectile = ExtResource("3_wbhxk") +_altFireProjectile = ExtResource("2_e6qos") _speed = 1.0 [node name="Pivot" type="Node3D" parent="."] @@ -238,8 +239,8 @@ shape = SubResource("BoxShape3D_r4spg") [node name="Area3D" type="Area3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 1.43031, 0) disable_mode = 2 -collision_layer = 16 -collision_mask = 4100 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] transform = Transform3D(0.999665, -0.0258978, -7.10543e-15, 0.0258978, 0.999665, 0, 0, 0, 1, 0, 0, 0) diff --git a/Player/Capricorn/CapricornControls.cs b/Player/Capricorn/CapricornControls.cs index b5a545f..a809cd7 100644 --- a/Player/Capricorn/CapricornControls.cs +++ b/Player/Capricorn/CapricornControls.cs @@ -1,4 +1,5 @@ using Godot; +using System.Linq; public partial class CapricornControls : Character { @@ -84,10 +85,10 @@ public partial class CapricornControls : Character { IsShooting = true; CanShoot = false; - var projectile = projectileScene.Instantiate(); - await ToSignal(GetTree().CreateTimer(projectile.Cooldown), "timeout"); - projectile.Position = Position + new Vector3(0f, 1f, 0f); - projectile.ParentCharacter = this; + var projectile = projectileScene.Instantiate(); + var projectileCooldown = projectile.GetChildren().OfType().First(); + await ToSignal(GetTree().CreateTimer(projectileCooldown.Cooldown), "timeout"); + projectile.Position = Position; GetParent().AddChild(projectile); CanShoot = true; IsShooting = false; diff --git a/Player/Pisces/Attacks/ShotgunBullet.tscn b/Player/Pisces/Attacks/ShotgunBullet.tscn index 1d57d07..dbec035 100644 --- a/Player/Pisces/Attacks/ShotgunBullet.tscn +++ b/Player/Pisces/Attacks/ShotgunBullet.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://bq40xbqibrk1y"] +[gd_scene load_steps=7 format=3 uid="uid://bq40xbqibrk1y"] [ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_ivbjp"] [ext_resource type="Texture2D" uid="uid://crlvrwo2l11ja" path="res://Textures/Projectiles/Projectile_Pisces_MultiAttack.png" id="2_a612r"] [ext_resource type="AudioStream" uid="uid://cw1jlubd7wmw6" path="res://Audio/SFX/blue laser.wav" id="2_oxtlx"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="4_2g102"] [sub_resource type="Curve3D" id="Curve3D_h8ghr"] _data = { @@ -12,28 +13,32 @@ _data = { point_count = 2 [sub_resource type="CylinderShape3D" id="CylinderShape3D_ebbqv"] +height = 13.6565 radius = 0.3 [node name="ShotgunBullet" type="Node3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.73894, 0) -script = ExtResource("1_ivbjp") -Cooldown = 1.0 -_soundEffect = ExtResource("2_oxtlx") -[node name="Center Shot" type="Path3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25) +[node name="Center Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(0.999968, 0, -0.00802843, 0, 1, 0, 0.00802843, 0, 0.999968, -0.0325268, 0, -0.821681) top_level = true curve = SubResource("Curve3D_h8ghr") +script = ExtResource("1_ivbjp") +Cooldown = 0.5 +_projectileSpeed = 3.0 +_soundEffect = ExtResource("2_oxtlx") +_onHitSfx = ExtResource("4_2g102") +_hitBox = NodePath("PathFollow3D/Hitbox") [node name="PathFollow3D" type="PathFollow3D" parent="Center Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 0, 0) +transform = Transform3D(0.999998, 0, -0.0016, 0, 1, 0, 0.0016, 0, 0.999998, 0, 0, 0) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Center Shot/PathFollow3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00512208, 0, 0.096) -collision_layer = 34 -collision_mask = 34 +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1000 @@ -48,20 +53,26 @@ shape = SubResource("CylinderShape3D_ebbqv") axis = 1 texture = ExtResource("2_a612r") -[node name="Left Shot" type="Path3D" parent="."] -transform = Transform3D(0.984808, 0, 0.173648, 0, 1, 0, -0.173648, 0, 0.984808, -0.462206, 0, -0.1) +[node name="Left Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(0.970524, 0, 0.241007, 0, 1, 0, -0.241007, 0, 0.970524, -0.444877, 0, -0.564578) top_level = true curve = SubResource("Curve3D_h8ghr") +script = ExtResource("1_ivbjp") +Cooldown = 0.5 +_projectileSpeed = 3.0 +_soundEffect = ExtResource("2_oxtlx") +_onHitSfx = ExtResource("4_2g102") +_hitBox = NodePath("PathFollow3D/Hitbox") [node name="PathFollow3D" type="PathFollow3D" parent="Left Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 0, 0) +transform = Transform3D(0.999998, 0, -0.0016, 0, 1, 0, 0.0016, 0, 0.999998, 0, 0, 0) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Left Shot/PathFollow3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03827, 0, 0.0309103) -collision_layer = 34 -collision_mask = 34 +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1000 @@ -76,20 +87,26 @@ shape = SubResource("CylinderShape3D_ebbqv") axis = 1 texture = ExtResource("2_a612r") -[node name="Right Shot" type="Path3D" parent="."] -transform = Transform3D(0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, 0.984808, 0.426491, 0, 0) +[node name="Right Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(0.95246, 0, -0.304665, 0, 1, 0, 0.304665, 0, 0.95246, 0.441688, 0, -0.681987) top_level = true curve = SubResource("Curve3D_h8ghr") +script = ExtResource("1_ivbjp") +Cooldown = 0.5 +_projectileSpeed = 3.0 +_soundEffect = ExtResource("2_oxtlx") +_onHitSfx = ExtResource("4_2g102") +_hitBox = NodePath("PathFollow3D/Hitbox") [node name="PathFollow3D" type="PathFollow3D" parent="Right Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 0, 0) +transform = Transform3D(0.999998, 0, -0.0016, 0, 1, 0, 0.0016, 0, 0.999998, 0, 0, 0) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Right Shot/PathFollow3D"] transform = Transform3D(-1, 0, -0.00159994, 0, 1, 0, 0.00159994, 0, -1, -0.06, 0, 0.096) -collision_layer = 34 -collision_mask = 34 +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1000 @@ -103,3 +120,7 @@ shape = SubResource("CylinderShape3D_ebbqv") [node name="Sprite3D" type="Sprite3D" parent="Right Shot/PathFollow3D/Hitbox/CollisionShape3D"] axis = 1 texture = ExtResource("2_a612r") + +[connection signal="body_entered" from="Center Shot/PathFollow3D/Hitbox" to="Center Shot" method="OnProjectileHit"] +[connection signal="body_entered" from="Left Shot/PathFollow3D/Hitbox" to="Left Shot" method="OnProjectileHit"] +[connection signal="body_entered" from="Right Shot/PathFollow3D/Hitbox" to="Right Shot" method="OnProjectileHit"] diff --git a/Player/Pisces/Attacks/Single.tscn b/Player/Pisces/Attacks/Single.tscn index 45fa42c..0863259 100644 --- a/Player/Pisces/Attacks/Single.tscn +++ b/Player/Pisces/Attacks/Single.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://cyn2wn6ffsnu7"] +[gd_scene load_steps=7 format=3 uid="uid://cyn2wn6ffsnu7"] [ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_62kpd"] [ext_resource type="AudioStream" uid="uid://cw1jlubd7wmw6" path="res://Audio/SFX/blue laser.wav" id="2_7lbn3"] [ext_resource type="Texture2D" uid="uid://kecmkchurnin" path="res://Textures/Projectiles/Projectile_Pisces_SingleAttack.png" id="2_d8lwd"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_xqtbw"] [sub_resource type="Curve3D" id="Curve3D_do6j1"] _data = { @@ -12,30 +13,33 @@ _data = { point_count = 2 [sub_resource type="CylinderShape3D" id="CylinderShape3D_njobr"] +height = 11.931 radius = 0.3 [node name="Single" type="Node3D"] -script = ExtResource("1_62kpd") -Cooldown = 1.0 -_soundEffect = ExtResource("2_7lbn3") -[node name="Center Shot" type="Path3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -0.25) +[node name="Center Shot" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -0.620083) top_level = true curve = SubResource("Curve3D_do6j1") +script = ExtResource("1_62kpd") +Cooldown = 0.5 +_projectileSpeed = 3.0 +_soundEffect = ExtResource("2_7lbn3") +_onHitSfx = ExtResource("3_xqtbw") +_hitBox = NodePath("PathFollow3D/Hitbox") [node name="PathFollow3D" type="PathFollow3D" parent="Center Shot"] -transform = Transform3D(-0.999998, 0, 0.00159994, 0, 1, 0, -0.00159994, 0, -0.999998, 0, 0, 0) +transform = Transform3D(0.999998, 0, -0.0016, 0, 1, 0, 0.0016, 0, 0.999998, 0, 0, 0) loop = false tilt_enabled = false [node name="Hitbox" type="RigidBody3D" parent="Center Shot/PathFollow3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -collision_layer = 34 -collision_mask = 34 +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true -max_contacts_reported = 1000 +max_contacts_reported = 1 contact_monitor = true can_sleep = false @@ -48,3 +52,5 @@ transform = Transform3D(1, 0, -3.55271e-14, 0, 1, 0, 3.55271e-14, 0, 1, -0.29984 centered = false axis = 1 texture = ExtResource("2_d8lwd") + +[connection signal="body_entered" from="Center Shot/PathFollow3D/Hitbox" to="Center Shot" method="OnProjectileHit"] diff --git a/Player/Pisces/Pisces.tscn b/Player/Pisces/Pisces.tscn index e360f19..1fc15c6 100644 --- a/Player/Pisces/Pisces.tscn +++ b/Player/Pisces/Pisces.tscn @@ -14,7 +14,8 @@ height = 1.67894 [node name="Pisces" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(0.33, 0, 0, 0, 0.33, 0, 0, 0, 0.33, 0, 0.332056, 0) -collision_layer = 25 +collision_layer = 0 +collision_mask = 0 motion_mode = 1 script = ExtResource("1_gp8nm") _fireProjectile = ExtResource("2_rsvhh") @@ -26,8 +27,8 @@ _altFireProjectile = ExtResource("3_5m8tq") [node name="Area3D" type="Area3D" parent="Pivot"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 0, 0) -collision_layer = 16 -collision_mask = 4100 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] transform = Transform3D(0.999665, -0.0258978, -7.10543e-15, 0.0258978, 0.999665, 0, 0, 0, 1, 0.0162379, 2.20309, -0.302385) diff --git a/Player/Sagittarius/Attacks/MegamiBeam.tscn b/Player/Sagittarius/Attacks/MegamiBeam.tscn index f3329a7..eed3cbd 100644 --- a/Player/Sagittarius/Attacks/MegamiBeam.tscn +++ b/Player/Sagittarius/Attacks/MegamiBeam.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://criqb4bokctlr"] +[gd_scene load_steps=7 format=3 uid="uid://criqb4bokctlr"] +[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_6e1or"] [ext_resource type="Texture2D" uid="uid://cferkvvp0rjht" path="res://Textures/Projectiles/Projectile_Sagittarius.png" id="1_57flt"] -[ext_resource type="Script" path="res://Player/Sagittarius/Attacks/MegamiBeamShot.cs" id="1_a146o"] [ext_resource type="AudioStream" uid="uid://m8mvw8acs5sk" path="res://Audio/SFX/Green Wave.wav" id="2_vvcho"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_12vsu"] [sub_resource type="Curve3D" id="Curve3D_7ok4f"] _data = { @@ -15,27 +16,28 @@ point_count = 2 height = 9.57027 radius = 0.57027 -[node name="MegamiBeam" type="Node3D" node_paths=PackedStringArray("_pathFollow")] -script = ExtResource("1_a146o") -_pathFollow = NodePath("Path3D/PathFollow3D") -_soundEffect = ExtResource("2_vvcho") -Cooldown = 3.0 -_projectileSpeed = 3.0 -_soundEffect = ExtResource("2_vvcho") +[node name="MegamiBeam" type="Node3D"] -[node name="Path3D" type="Path3D" parent="."] +[node name="Path3D" type="Path3D" parent="." node_paths=PackedStringArray("_hitBox")] top_level = true curve = SubResource("Curve3D_7ok4f") +script = ExtResource("1_6e1or") +Cooldown = 2.0 +_projectileSpeed = 3.0 +_soundEffect = ExtResource("2_vvcho") +_onHitSfx = ExtResource("3_12vsu") +_hitBox = NodePath("PathFollow3D/Beam") +HasRotation = true [node name="PathFollow3D" type="PathFollow3D" parent="Path3D"] -transform = Transform3D(-0.999999, 0, 0.000800045, 0, 1, 0, -0.000800045, 0, -0.999999, 0, 1, 0) +transform = Transform3D(0.999999, 0, -0.000799999, 0, 1, 0, 0.000799999, 0, 0.999999, 0, 1, 0) loop = false tilt_enabled = false [node name="Beam" type="RigidBody3D" parent="Path3D/PathFollow3D"] transform = Transform3D(-1, 0, -8.74229e-08, 0, 1, 0, 8.74229e-08, 0, -1, 0, 0, 0) -collision_layer = 34 -collision_mask = 34 +collision_layer = 0 +collision_mask = 0 gravity_scale = 0.0 continuous_cd = true max_contacts_reported = 1000 @@ -43,10 +45,12 @@ contact_monitor = true can_sleep = false [node name="CollisionShape3D" type="CollisionShape3D" parent="Path3D/PathFollow3D/Beam"] -transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) +transform = Transform3D(0.5, 0, 5.82077e-11, 0, 0.5, 0, -5.82077e-11, 0, 0.5, 0.000155393, 0, 0.194262) shape = SubResource("CylinderShape3D_bnunv") [node name="Sprite3D2" type="Sprite3D" parent="Path3D/PathFollow3D/Beam"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00355998, 0, 0.140453) +transform = Transform3D(-1, 0, 0.000663249, 0, 1, 0, -0.000663249, 0, -1, -0.00355998, 0, 0.140453) axis = 1 texture = ExtResource("1_57flt") + +[connection signal="body_entered" from="Path3D/PathFollow3D/Beam" to="Path3D" method="OnProjectileHit"] diff --git a/Player/Sagittarius/Attacks/MegamiBeamShot.cs b/Player/Sagittarius/Attacks/MegamiBeamShot.cs deleted file mode 100644 index a10e1c9..0000000 --- a/Player/Sagittarius/Attacks/MegamiBeamShot.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Godot; -using System.Linq; - -public partial class MegamiBeamShot : Projectile -{ - [Export] - private PathFollow3D _pathFollow; - [Export] - public new AudioStream _soundEffect; - - public override void _Ready() - { - _pathFollow = GetNode("Path3D/PathFollow3D"); - _pathFollow.GetParentNode3D().Rotation = ParentCharacter.GetNode("Pivot").Rotation; - var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); - sfxPlayer.Stream = _soundEffect; - sfxPlayer.Play(); - } - - public override void _PhysicsProcess(double delta) - { - _pathFollow.Progress += 10f * (float)delta; - if (Mathf.IsEqualApprox(_pathFollow.ProgressRatio, 1.0f)) - QueueFree(); - } - - private void OnBulletHitObject(Node node) - { - QueueFree(); - } -} diff --git a/Player/Sagittarius/Sagittarius.tscn b/Player/Sagittarius/Sagittarius.tscn index 9c5c632..fcd2387 100644 --- a/Player/Sagittarius/Sagittarius.tscn +++ b/Player/Sagittarius/Sagittarius.tscn @@ -607,7 +607,8 @@ radius = 0.25 [node name="Sagittarius" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.559088, 0) -collision_layer = 25 +collision_layer = 0 +collision_mask = 0 motion_mode = 1 wall_min_slide_angle = 3.14159 script = ExtResource("1_s1hsr") @@ -618,8 +619,8 @@ _altFireProjectile = ExtResource("2_c3ma7") [node name="Area3D" type="Area3D" parent="Pivot"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 0, 0) -collision_layer = 16 -collision_mask = 4100 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.125003, 0.637504, 0.112771) diff --git a/Player/Scorpio/Attacks/CutterShot.cs b/Player/Scorpio/Attacks/CutterShot.cs index b67f03c..4135574 100644 --- a/Player/Scorpio/Attacks/CutterShot.cs +++ b/Player/Scorpio/Attacks/CutterShot.cs @@ -7,6 +7,7 @@ public partial class CutterShot : Projectile public override void _Process(double delta) { - _sprite.RotateY(25); + if (!IsQueuedForDeletion()) + _sprite.RotateY(25); } } diff --git a/Player/Scorpio/Attacks/CutterShot.tscn b/Player/Scorpio/Attacks/CutterShot.tscn index ab60a1d..5d57151 100644 --- a/Player/Scorpio/Attacks/CutterShot.tscn +++ b/Player/Scorpio/Attacks/CutterShot.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://cxnek5wgpxbft"] +[gd_scene load_steps=7 format=3 uid="uid://cxnek5wgpxbft"] [ext_resource type="Script" path="res://Player/Scorpio/Attacks/CutterShot.cs" id="1_inha4"] [ext_resource type="Texture2D" uid="uid://cdryxdasvun4r" path="res://Textures/Projectiles/Projectile_Scorpio.png" id="2_tqxh6"] [ext_resource type="AudioStream" uid="uid://ce40y3hln3twm" path="res://Audio/SFX/grass cutter.wav" id="2_u4aoe"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_32sc2"] [sub_resource type="Curve3D" id="Curve3D_5hmi4"] _data = { @@ -14,24 +15,27 @@ point_count = 4 [sub_resource type="CylinderShape3D" id="CylinderShape3D_mgm2i"] height = 8.481 -[node name="CutterShot" type="Node3D" node_paths=PackedStringArray("_sprite")] -script = ExtResource("1_inha4") -_sprite = NodePath("Path3D/PathFollow3D/RigidBody3D/CollisionShape3D/Sprite3D") -Cooldown = 0.3 -_projectileSpeed = 3.0 -_soundEffect = ExtResource("2_u4aoe") +[node name="CutterShot" type="Node3D"] -[node name="Path3D" type="Path3D" parent="."] +[node name="Path3D" type="Path3D" parent="." node_paths=PackedStringArray("_sprite", "_hitBox")] top_level = true curve = SubResource("Curve3D_5hmi4") +script = ExtResource("1_inha4") +_sprite = NodePath("PathFollow3D/RigidBody3D/CollisionShape3D/Sprite3D") +Cooldown = 0.7 +_projectileSpeed = 4.0 +_soundEffect = ExtResource("2_u4aoe") +_onHitSfx = ExtResource("3_32sc2") +_hitBox = NodePath("PathFollow3D/RigidBody3D") [node name="PathFollow3D" type="PathFollow3D" parent="Path3D"] -transform = Transform3D(-0.782564, 0, 0.622568, 0, 1, 0, -0.622568, 0, -0.782564, 0, 1, 0) +transform = Transform3D(0.782564, 0, -0.622568, 0, 1, 0, 0.622568, 0, 0.782564, 0, 1, 0) loop = false tilt_enabled = false [node name="RigidBody3D" type="RigidBody3D" parent="Path3D/PathFollow3D"] -collision_layer = 2 +transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, 0, 0) +collision_layer = 0 collision_mask = 0 gravity_scale = 0.0 continuous_cd = true @@ -49,3 +53,5 @@ pixel_size = 0.03 axis = 1 double_sided = false texture = ExtResource("2_tqxh6") + +[connection signal="body_entered" from="Path3D/PathFollow3D/RigidBody3D" to="Path3D" method="OnProjectileHit"] diff --git a/Player/Scorpio/Attacks/CutterShotAltFire.tscn b/Player/Scorpio/Attacks/CutterShotAltFire.tscn index e8f7e4f..3951c03 100644 --- a/Player/Scorpio/Attacks/CutterShotAltFire.tscn +++ b/Player/Scorpio/Attacks/CutterShotAltFire.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=6 format=3 uid="uid://cwt4rum7tvyvb"] +[gd_scene load_steps=7 format=3 uid="uid://cwt4rum7tvyvb"] [ext_resource type="Script" path="res://Player/Scorpio/Attacks/CutterShot.cs" id="1_7xtlh"] [ext_resource type="Texture2D" uid="uid://cdryxdasvun4r" path="res://Textures/Projectiles/Projectile_Scorpio.png" id="2_6mabu"] [ext_resource type="AudioStream" uid="uid://ce40y3hln3twm" path="res://Audio/SFX/grass cutter.wav" id="2_qmvk7"] +[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_v1t2f"] [sub_resource type="Curve3D" id="Curve3D_5hmi4"] _data = { @@ -14,24 +15,27 @@ point_count = 4 [sub_resource type="CylinderShape3D" id="CylinderShape3D_mgm2i"] height = 8.481 -[node name="CutterShot" type="Node3D" node_paths=PackedStringArray("_sprite")] -script = ExtResource("1_7xtlh") -_sprite = NodePath("Path3D/PathFollow3D/RigidBody3D/CollisionShape3D/Sprite3D") -Cooldown = 0.3 -_projectileSpeed = 3.0 -_soundEffect = ExtResource("2_qmvk7") +[node name="CutterAlt" type="Node3D"] -[node name="Path3D" type="Path3D" parent="."] +[node name="CutterShot" type="Path3D" parent="." node_paths=PackedStringArray("_sprite", "_hitBox")] top_level = true curve = SubResource("Curve3D_5hmi4") +script = ExtResource("1_7xtlh") +_sprite = NodePath("PathFollow3D/RigidBody3D/CollisionShape3D/Sprite3D") +Cooldown = 0.7 +_projectileSpeed = 4.0 +_soundEffect = ExtResource("2_qmvk7") +_onHitSfx = ExtResource("3_v1t2f") +_hitBox = NodePath("PathFollow3D/RigidBody3D") -[node name="PathFollow3D" type="PathFollow3D" parent="Path3D"] -transform = Transform3D(-0.782564, 0, -0.622568, 0, 1, 0, 0.622568, 0, -0.782564, 0, 1, 0) +[node name="PathFollow3D" type="PathFollow3D" parent="CutterShot"] +transform = Transform3D(0.782564, 0, 0.622568, 0, 1, 0, -0.622568, 0, 0.782564, 0, 1, 0) loop = false tilt_enabled = false -[node name="RigidBody3D" type="RigidBody3D" parent="Path3D/PathFollow3D"] -collision_layer = 2 +[node name="RigidBody3D" type="RigidBody3D" parent="CutterShot/PathFollow3D"] +transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 0, 0) +collision_layer = 0 collision_mask = 0 gravity_scale = 0.0 continuous_cd = true @@ -39,13 +43,15 @@ max_contacts_reported = 100 contact_monitor = true can_sleep = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="Path3D/PathFollow3D/RigidBody3D"] +[node name="CollisionShape3D" type="CollisionShape3D" parent="CutterShot/PathFollow3D/RigidBody3D"] transform = Transform3D(0.999999, 0, 5.96046e-08, 0, 1, 0, -5.96046e-08, 0, 0.999999, 0, 0, 0) shape = SubResource("CylinderShape3D_mgm2i") -[node name="Sprite3D" type="Sprite3D" parent="Path3D/PathFollow3D/RigidBody3D/CollisionShape3D"] +[node name="Sprite3D" type="Sprite3D" parent="CutterShot/PathFollow3D/RigidBody3D/CollisionShape3D"] transform = Transform3D(0.156513, 0, 0.124514, 0, 0.2, 0, -0.124514, 0, 0.156513, 0, 0, 0) pixel_size = 0.03 axis = 1 double_sided = false texture = ExtResource("2_6mabu") + +[connection signal="body_entered" from="CutterShot/PathFollow3D/RigidBody3D" to="CutterShot" method="OnProjectileHit"] diff --git a/Player/Scorpio/Scorpio.tscn b/Player/Scorpio/Scorpio.tscn index f5ebcd9..89b54ba 100644 --- a/Player/Scorpio/Scorpio.tscn +++ b/Player/Scorpio/Scorpio.tscn @@ -13,7 +13,8 @@ size = Vector3(0.822782, 0.853857, 0.80108) [node name="Scorpio" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.55696, 0) -collision_layer = 9 +collision_layer = 0 +collision_mask = 0 motion_mode = 1 slide_on_ceiling = false script = ExtResource("1_gw30u") @@ -24,8 +25,8 @@ _altFireProjectile = ExtResource("3_tw078") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.496155, 0) [node name="Area3D" type="Area3D" parent="Pivot"] -collision_layer = 16 -collision_mask = 4100 +collision_layer = 0 +collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] shape = SubResource("BoxShape3D_wqp0e") diff --git a/project.godot b/project.godot index 705a5db..2be1f0d 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="GameJam2023" run/main_scene="res://GameLogic/Main.tscn" -config/features=PackedStringArray("4.0", "C#", "Forward Plus") +config/features=PackedStringArray("4.1", "C#", "Forward Plus") run/physics_ticks_per_second=60 [autoload] @@ -61,13 +61,13 @@ p1_down={ } p1_fire={ "deadzone": 0.5, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"pressed":false,"double_click":false,"script":null) +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":true,"script":null) ] } p1_altfire={ "deadzone": 0.5, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"pressed":false,"double_click":false,"script":null) +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":true,"script":null) ] } @@ -117,3 +117,8 @@ p2_altfire={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) ] } + +[layer_names] + +3d_physics/layer_1="LevelGeometry" +3d_physics/layer_9="ProjectileToWalls"