goodbye collisions
This commit is contained in:
14
Animations/ProjectileAnimations.tscn
Normal file
14
Animations/ProjectileAnimations.tscn
Normal file
@@ -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")
|
||||
}
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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<Area3D>().Single();
|
||||
var hitBox = GetNode<CharacterBody3D>("CharacterBody").GetChildren().OfType<Area3D>().Single();
|
||||
hitBox.LookAt(target.Position, Vector3.Up);
|
||||
hitBox.Rotation = new Vector3(0, hitBox.Rotation.Y, hitBox.Rotation.Z);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.0.4">
|
||||
<Project Sdk="Godot.NET.Sdk/4.1.1">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
@@ -8,6 +8,7 @@
|
||||
<EmbeddedResource Remove="Scenes\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Player\Sagittarius\Attacks\" />
|
||||
<Folder Include="Textures\Models\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
13
GameJam2023.csproj.old.5
Normal file
13
GameJam2023.csproj.old.5
Normal file
@@ -0,0 +1,13 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.0.4">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="Scenes\**" />
|
||||
<EmbeddedResource Remove="Scenes\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Textures\Models\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -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
|
||||
@@ -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"]
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>();
|
||||
projectile.Position = Position + new Vector3(0f, 1f, 0f);
|
||||
projectile.ParentCharacter = this;
|
||||
var projectile = _fireProjectile.Instantiate<Node3D>();
|
||||
projectile.Position = Position;
|
||||
GetParent().AddChild(projectile);
|
||||
var projectiles = projectile.GetChildren().OfType<Projectile>();
|
||||
foreach (var proj in projectiles)
|
||||
{
|
||||
if (proj.HasRotation)
|
||||
proj.Rotation = GetNode<Node3D>("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>();
|
||||
projectile.Position = Position + new Vector3(0f, 1f, 0f);
|
||||
projectile.ParentCharacter = this;
|
||||
var projectile = _altFireProjectile.Instantiate<Node3D>();
|
||||
projectile.Position = Position;
|
||||
GetParent().AddChild(projectile);
|
||||
var projectiles = projectile.GetChildren().OfType<Projectile>();
|
||||
CanShoot = false;
|
||||
await ToSignal(GetTree().CreateTimer(projectile.Cooldown), "timeout");
|
||||
await ToSignal(GetTree().CreateTimer(projectiles.First().Cooldown), "timeout");
|
||||
CanShoot = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Path3D> _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<AudioStreamPlayer>("Main/SFXPlayer");
|
||||
sfxPlayer.Stream = _soundEffect;
|
||||
sfxPlayer.Play();
|
||||
_paths = new Array<Path3D>(GetChildren().OfType<Path3D>());
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta)
|
||||
{
|
||||
foreach (var paths in _paths)
|
||||
{
|
||||
var pathFollow = paths.GetChildren().OfType<PathFollow3D>().Single();
|
||||
pathFollow.Progress += Speed * (float)delta;
|
||||
if (pathFollow.ProgressRatio > 0.9f)
|
||||
QueueFree();
|
||||
}
|
||||
var pathFollow = GetNode<PathFollow3D>("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<AudioStreamPlayer>("Main/SFXPlayer");
|
||||
if (!sfxPlayer.Playing)
|
||||
sfxPlayer.Play();
|
||||
}
|
||||
|
||||
public float Speed { get; private set; }
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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<Projectile>();
|
||||
await ToSignal(GetTree().CreateTimer(projectile.Cooldown), "timeout");
|
||||
projectile.Position = Position + new Vector3(0f, 1f, 0f);
|
||||
projectile.ParentCharacter = this;
|
||||
var projectile = projectileScene.Instantiate<Node3D>();
|
||||
var projectileCooldown = projectile.GetChildren().OfType<Projectile>().First();
|
||||
await ToSignal(GetTree().CreateTimer(projectileCooldown.Cooldown), "timeout");
|
||||
projectile.Position = Position;
|
||||
GetParent().AddChild(projectile);
|
||||
CanShoot = true;
|
||||
IsShooting = false;
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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<PathFollow3D>("Path3D/PathFollow3D");
|
||||
_pathFollow.GetParentNode3D().Rotation = ParentCharacter.GetNode<Node3D>("Pivot").Rotation;
|
||||
var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("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();
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -7,6 +7,7 @@ public partial class CutterShot : Projectile
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
_sprite.RotateY(25);
|
||||
if (!IsQueuedForDeletion())
|
||||
_sprite.RotateY(25);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user