diff --git a/project.godot b/project.godot index 64e531d..631224a 100644 --- a/project.godot +++ b/project.godot @@ -13,6 +13,8 @@ config_version=5 config/name="Cave of Dreams" run/main_scene="uid://bxdnehietcpkj" config/features=PackedStringArray("4.6", "Mobile") +boot_splash/bg_color=Color(0, 0, 0, 1) +boot_splash/show_image=false config/icon="res://icon.svg" [autoload] @@ -69,7 +71,7 @@ jump={ } dodge={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } attack={ diff --git a/scenes/game.tscn b/scenes/game.tscn index 5871cc2..0372683 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -76,20 +76,13 @@ navigation_mesh = SubResource("NavigationMesh_kvuet") [node name="CSG" type="Node3D" parent="Map" unique_id=1150408155] -[node name="CSGBox3D" type="CSGBox3D" parent="Map/CSG" unique_id=1781956012] -layers = 1023 -use_collision = true -collision_layer = 255 -collision_mask = 255 -size = Vector3(16, 1, 16) -material = ExtResource("2_gee14") - [node name="CSGBox3D2" type="CSGBox3D" parent="Map/CSG" unique_id=1285894233] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1) layers = 1023 use_collision = true collision_layer = 255 collision_mask = 255 -size = Vector3(16, 1, 16) +size = Vector3(16, 1, 18) material = ExtResource("2_gee14") [node name="CSGBox3D3" type="CSGBox3D" parent="Map/CSG" unique_id=646817034] @@ -146,6 +139,60 @@ collision_mask = 255 size = Vector3(2, 2, 2) material = ExtResource("4_kvuet") +[node name="CSGBox3D20" type="CSGBox3D" parent="Map/CSG" unique_id=69107394] +transform = Transform3D(0.84405285, -0.2988363, -0.4452773, 0.39713123, 0.9063077, 0.14454393, 0.36036327, -0.29883623, 0.8836488, -1.9678717, 0.7556524, -5.067629) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D21" type="CSGBox3D" parent="Map/CSG" unique_id=444002869] +transform = Transform3D(0.84405285, -0.2988363, -0.4452773, 0.39713123, 0.9063077, 0.14454393, 0.36036327, -0.29883623, 0.8836488, 0.82828665, 0.7556524, -8.175981) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D23" type="CSGBox3D" parent="Map/CSG" unique_id=1865382177] +transform = Transform3D(-0.8836668, 0.18301272, 0.43085897, 0.24321027, 0.96592575, 0.08852128, -0.3999774, 0.18301277, -0.898067, -0.41298687, 1.0922339, -6.6314993) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D24" type="CSGBox3D" parent="Map/CSG" unique_id=1440841103] +transform = Transform3D(-0.8962132, 0.122787826, 0.42629248, 0.16317585, 0.9848078, 0.059391156, -0.41252372, 0.12278789, -0.9026336, -3.6531224, 0.7556524, -3.803072) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D19" type="CSGBox3D" parent="Map/CSG" unique_id=641922484] +transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, -3.8127494) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D22" type="CSGBox3D" parent="Map/CSG" unique_id=1793973621] +transform = Transform3D(-0.9254167, 0.17364825, -0.33682403, 0.16317584, 0.98480767, 0.05939115, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, -2.3127494) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 2, 2) +material = ExtResource("4_kvuet") + [node name="CSGBox3D4" type="CSGBox3D" parent="Map/CSG" unique_id=1670932518] transform = Transform3D(0.9396926, -0.34202012, 0, 0.34202012, 0.9396926, 0, 0, 0, 1, -4, 1, 0) layers = 1023 @@ -164,6 +211,78 @@ collision_mask = 255 size = Vector3(1, 3, 16) material = ExtResource("4_kvuet") +[node name="CSGBox3D15" type="CSGBox3D" parent="Map/CSG" unique_id=871989333] +transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.34375, 3, -10.34375) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 7, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D16" type="CSGBox3D" parent="Map/CSG" unique_id=461304580] +transform = Transform3D(-3.7855173e-08, -2.1855694e-08, -1, -0.5, 0.8660254, 0, 0.8660254, 0.5, -4.371139e-08, 3.34375, 5.5155444, -9.46875) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 3.5, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D17" type="CSGBox3D" parent="Map/CSG" unique_id=120955804] +transform = Transform3D(-4.107527e-08, 1.4950176e-08, -1.0000001, 0.34202015, 0.93969274, 0, 0.9396926, -0.34202012, -4.371139e-08, 3.34375, 1, -9.34375) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(1, 3, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D18" type="CSGBox3D" parent="Map/CSG" unique_id=1241532821] +transform = Transform3D(-2.18557e-08, 3.7855173e-08, -1, 0.86602545, 0.5000001, 0, 0.5000001, -0.86602545, -4.371139e-08, 3.34375, 0.5, -8.84375) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(1, 3, 16) +material = ExtResource("4_kvuet") + +[node name="CSGBox3D11" type="CSGBox3D" parent="Map/CSG" unique_id=1776294785] +transform = Transform3D(0.70710677, 0, -0.70710677, 0, 1, 0, 0.70710677, 0, 0.70710677, -4.7528715, 3, -4.5966215) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 7, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D12" type="CSGBox3D" parent="Map/CSG" unique_id=804263927] +transform = Transform3D(0.6123724, 0.35355338, -0.70710677, -0.5, 0.8660254, 0, 0.6123724, 0.35355338, 0.70710677, -4.134153, 5.5155444, -3.977903) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(2, 3.5, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D13" type="CSGBox3D" parent="Map/CSG" unique_id=1679011295] +transform = Transform3D(0.66446304, -0.24184476, -0.7071068, 0.34202015, 0.93969274, 0, 0.664463, -0.24184474, 0.70710677, -4.0457644, 1, -3.8895144) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(1, 3, 16) +material = ExtResource("3_dinhu") + +[node name="CSGBox3D14" type="CSGBox3D" parent="Map/CSG" unique_id=737262338] +transform = Transform3D(0.35355347, -0.61237246, -0.70710677, 0.86602545, 0.5000001, 0, 0.35355347, -0.61237246, 0.70710677, -3.6922112, 0.5, -3.5359612) +layers = 1023 +use_collision = true +collision_layer = 255 +collision_mask = 255 +size = Vector3(1, 3, 16) +material = ExtResource("4_kvuet") + [node name="Props" type="Node3D" parent="Map" unique_id=2137952764] [node name="Stalagmite" parent="Map/Props" unique_id=39322424 instance=ExtResource("5_iywne")] @@ -179,11 +298,17 @@ transform = Transform3D(0.81915206, 0, -0.57357645, 0, 1, 0, 0.57357645, 0, 0.81 transform = Transform3D(0.50000006, 0, -0.86602557, 0, 0.9, 0, 0.86602557, 0, 0.50000006, -2, 0.48141205, 1) [node name="blockbench_export" parent="Map/Props" unique_id=1509742770 instance=ExtResource("9_vtaks")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.9827318, 0.4921612, -0.54847705) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.482732, 0.4921612, -0.54847705) + +[node name="blockbench_export3" parent="Map/Props" unique_id=231004769 instance=ExtResource("9_vtaks")] +transform = Transform3D(0.64278764, 0, -0.76604444, 0, 1, 0, 0.76604444, 0, 0.64278764, -0.5172682, 0.4921612, -1.5484772) [node name="blockbench_export2" parent="Map/Props" unique_id=992880863 instance=ExtResource("10_kvpfn")] transform = Transform3D(0.34202015, 0, -0.9396926, 0, 1, 0, 0.9396926, 0, 0.34202015, -0.2643292, 0.49367946, 5.0695834) +[node name="blockbench_export4" parent="Map/Props" unique_id=1001222209 instance=ExtResource("10_kvpfn")] +transform = Transform3D(0.34202015, 0, -0.9396926, 0, 1, 0, 0.9396926, 0, 0.34202015, 4.735671, 0.49367946, -5.930416) + [node name="PlayerCamera" type="Camera3D" parent="." unique_id=1101523944] transform = Transform3D(0.7071067, -0.40557978, 0.5792279, 0, 0.819152, 0.5735764, -0.7071067, -0.40557978, 0.5792279, 4, 6.5, 4) attributes = SubResource("CameraAttributesPractical_yqjtg") @@ -265,23 +390,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, -3.81) [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1956400862] environment = SubResource("Environment_uwrxv") -[node name="CameraZones" type="Node3D" parent="." unique_id=1225967945] - -[node name="CameraZone2" type="Area3D" parent="CameraZones" unique_id=1501599928] +[node name="CameraZone2" type="Area3D" parent="WorldEnvironment" unique_id=1501599928] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) +visible = false +monitoring = false +monitorable = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="CameraZones/CameraZone2" unique_id=693968382] +[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldEnvironment/CameraZone2" unique_id=693968382] shape = SubResource("BoxShape3D_kvuet") -[node name="Offset" type="Node3D" parent="CameraZones/CameraZone2" unique_id=1432752210] +[node name="Offset" type="Node3D" parent="WorldEnvironment/CameraZone2" unique_id=1432752210] -[node name="Camera" type="Sprite3D" parent="CameraZones/CameraZone2/Offset" unique_id=1992696506] +[node name="Camera" type="Sprite3D" parent="WorldEnvironment/CameraZone2/Offset" unique_id=1992696506] transform = Transform3D(-4.3711385e-08, -0.7071067, 0.70710677, 0, 0.7071067, 0.70710677, -0.99999994, 3.0908616e-08, -3.090862e-08, 4, 4, 0) pixel_size = 0.05 double_sided = false texture = ExtResource("14_trtic") script = ExtResource("16_ca42v") +[node name="CameraZones" type="Node3D" parent="." unique_id=1225967945] +visible = false + [node name="CameraZone" type="Area3D" parent="CameraZones" unique_id=1280290524] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4) diff --git a/scenes/living/dreamer_body.tscn b/scenes/living/dreamer_body.tscn index f6748ad..e291042 100644 --- a/scenes/living/dreamer_body.tscn +++ b/scenes/living/dreamer_body.tscn @@ -204,6 +204,107 @@ tracks/0/keys = { "values": [Vector3(0, 0, 0), Vector3(0, 0, -1.134464)] } +[sub_resource type="Animation" id="Animation_imh1v"] +resource_name = "dead" +length = 0.2 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Body/FrontLeg:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0.045, -0.09000015, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Body/FrontLeg:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.10471976)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Body/BackLeg:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(-0.044999994, -0.09000015, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Body/BackLeg:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.10471976)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Body:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -0.35, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Body:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -1.5707964)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Body/ArmPivot/FrontArm:rotation") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.61086524)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Body/ArmPivot/BackArm:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -1.134464)] +} + [sub_resource type="Animation" id="Animation_u5sy4"] resource_name = "fall" length = 0.2 @@ -305,6 +406,107 @@ tracks/7/keys = { "values": [Vector3(0, 0, -1.134464)] } +[sub_resource type="Animation" id="Animation_1speq"] +resource_name = "hit" +length = 0.2 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Body/FrontLeg:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0.045, -0.09000015, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Body/FrontLeg:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.10471976)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Body/BackLeg:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(-0.044999994, -0.09000015, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Body/BackLeg:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.10471976)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Body:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Body:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Body/ArmPivot/FrontArm:rotation") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.61086524)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Body/ArmPivot/BackArm:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -1.134464)] +} + [sub_resource type="Animation" id="Animation_yptk5"] resource_name = "hold_weapon" length = 0.2 @@ -746,7 +948,9 @@ tracks/0/keys = { _data = { &"RESET": SubResource("Animation_gee14"), &"charge_weapon": SubResource("Animation_lg4u0"), +&"dead": SubResource("Animation_imh1v"), &"fall": SubResource("Animation_u5sy4"), +&"hit": SubResource("Animation_1speq"), &"hold_weapon": SubResource("Animation_yptk5"), &"jump": SubResource("Animation_p57ef"), &"leap": SubResource("Animation_vtaks"), @@ -776,6 +980,12 @@ animation = &"swing_weapon" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lg4u0"] animation = &"charge_weapon" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1speq"] +animation = &"hit" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_imh1v"] +animation = &"dead" + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p57ef"] animation = &"jump" @@ -783,11 +993,15 @@ animation = &"jump" filter_enabled = true filters = ["Body/ArmPivot:rotation"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_0ul0u"] + [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_gee14"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u5sy4"] animation = &"fall" +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_imh1v"] + [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_54k0m"] filter_enabled = true filters = ["Body/ArmPivot/BackArm:position", "Body/ArmPivot/BackArm:rotation", "Body/ArmPivot/FrontArm:position", "Body/ArmPivot/FrontArm:rotation"] @@ -814,8 +1028,8 @@ filters = ["Body/ArmPivot:rotation"] [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_p57ef"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_kvpfn"] -graph_offset = Vector2(601.4115, -104.36627) -nodes/output/position = Vector2(2500, 60) +graph_offset = Vector2(246.604, -45.23578) +nodes/output/position = Vector2(3580, 40) nodes/jump/node = SubResource("AnimationNodeOneShot_u5sy4") nodes/jump/position = Vector2(860, 100) nodes/reset/node = SubResource("AnimationNodeAnimation_0tnpc") @@ -837,26 +1051,34 @@ nodes/fall_anim/position = Vector2(260, 400) nodes/leap/node = SubResource("AnimationNodeBlend2_kvpfn") nodes/leap/position = Vector2(670.4032, 137.15503) nodes/Add2/node = SubResource("AnimationNodeAdd2_06ej8") -nodes/Add2/position = Vector2(1220, 100) +nodes/Add2/position = Vector2(3360, 40) nodes/layering/node = SubResource("AnimationNodeBlend2_ny5xw") -nodes/layering/position = Vector2(1060, 280) +nodes/layering/position = Vector2(3360, 320) "nodes/Animation 3/node" = SubResource("AnimationNodeAnimation_54k0m") -"nodes/Animation 3/position" = Vector2(860, 400) +"nodes/Animation 3/position" = Vector2(3100, 400) "nodes/Animation 4/node" = SubResource("AnimationNodeAnimation_yptk5") -"nodes/Animation 4/position" = Vector2(860, 580) +"nodes/Animation 4/position" = Vector2(3100, 580) nodes/hold_weapon/node = SubResource("AnimationNodeBlend2_54k0m") -nodes/hold_weapon/position = Vector2(1560, 80) +nodes/hold_weapon/position = Vector2(1220, 80) "nodes/Animation 5/node" = SubResource("AnimationNodeAnimation_06ej8") -"nodes/Animation 5/position" = Vector2(1380, 360) +"nodes/Animation 5/position" = Vector2(1040, 360) nodes/swing_weapon/node = SubResource("AnimationNodeOneShot_06ej8") -nodes/swing_weapon/position = Vector2(1900, 60) +nodes/swing_weapon/position = Vector2(1560, 60) "nodes/Animation 6/node" = SubResource("AnimationNodeAnimation_ny5xw") -"nodes/Animation 6/position" = Vector2(1700, 340) +"nodes/Animation 6/position" = Vector2(1360, 340) nodes/charge_weapon/node = SubResource("AnimationNodeOneShot_1speq") -nodes/charge_weapon/position = Vector2(2180, 60) +nodes/charge_weapon/position = Vector2(1840, 60) "nodes/Animation 7/node" = SubResource("AnimationNodeAnimation_lg4u0") -"nodes/Animation 7/position" = Vector2(2000, 340) -node_connections = [&"output", 0, &"charge_weapon", &"jump", 0, &"leap", &"jump", 1, &"Animation", &"walk", 0, &"reset", &"walk", 1, &"walk_speed", &"walk_speed", 0, &"move", &"fall", 0, &"walk", &"fall", 1, &"fall_anim", &"leap", 0, &"fall", &"leap", 1, &"Animation 2", &"Add2", 0, &"jump", &"Add2", 1, &"layering", &"layering", 0, &"Animation 3", &"layering", 1, &"Animation 4", &"hold_weapon", 0, &"Add2", &"hold_weapon", 1, &"Animation 5", &"swing_weapon", 0, &"hold_weapon", &"swing_weapon", 1, &"Animation 6", &"charge_weapon", 0, &"swing_weapon", &"charge_weapon", 1, &"Animation 7"] +"nodes/Animation 7/position" = Vector2(1660, 340) +nodes/hit/node = SubResource("AnimationNodeBlend2_imh1v") +nodes/hit/position = Vector2(2140, 60) +"nodes/Animation 8/node" = SubResource("AnimationNodeAnimation_1speq") +"nodes/Animation 8/position" = Vector2(2000, 300) +nodes/dead/node = SubResource("AnimationNodeBlend2_0ul0u") +nodes/dead/position = Vector2(2440, 60) +"nodes/Animation 9/node" = SubResource("AnimationNodeAnimation_imh1v") +"nodes/Animation 9/position" = Vector2(2280, 320) +node_connections = [&"output", 0, &"Add2", &"jump", 0, &"leap", &"jump", 1, &"Animation", &"walk", 0, &"reset", &"walk", 1, &"walk_speed", &"walk_speed", 0, &"move", &"fall", 0, &"walk", &"fall", 1, &"fall_anim", &"leap", 0, &"fall", &"leap", 1, &"Animation 2", &"Add2", 0, &"dead", &"Add2", 1, &"layering", &"layering", 0, &"Animation 3", &"layering", 1, &"Animation 4", &"hold_weapon", 0, &"jump", &"hold_weapon", 1, &"Animation 5", &"swing_weapon", 0, &"hold_weapon", &"swing_weapon", 1, &"Animation 6", &"charge_weapon", 0, &"swing_weapon", &"charge_weapon", 1, &"Animation 7", &"hit", 0, &"charge_weapon", &"hit", 1, &"Animation 8", &"dead", 0, &"hit", &"dead", 1, &"Animation 9"] [node name="DreamerBody" type="Node3D" unique_id=723408850] script = ExtResource("1_54k0m") @@ -943,3 +1165,5 @@ parameters/swing_weapon/request = 0 parameters/charge_weapon/active = false parameters/charge_weapon/internal_active = false parameters/charge_weapon/request = 0 +parameters/hit/blend_amount = 0.0 +parameters/dead/blend_amount = 0.0 diff --git a/scripts/enemies/dreamer.gd b/scripts/enemies/dreamer.gd index 0ac6ed8..4dff94d 100644 --- a/scripts/enemies/dreamer.gd +++ b/scripts/enemies/dreamer.gd @@ -91,14 +91,14 @@ func _physics_process(delta: float) -> void: $HitCollision/Shape.shape.size.x = 1.2 if (rad_to_deg(mouse_point_angle) < -90) or (rad_to_deg(mouse_point_angle) > 90): - face_left = true + #face_left = true var mouse_pos = get_viewport().get_mouse_position() mouse_pos.y = (viewport_half.y) + ((viewport_half.y) - mouse_pos.y) #$DreamerBody/Body/ArmPivot.rotation.z = viewport_half.angle_to_point(mouse_pos) else: - face_left = false + #face_left = false $DreamerBody/Body/ArmPivot.scale.y = 1 $DreamerBody/Body/ArmPivot.scale.x = 1 else: @@ -151,9 +151,21 @@ func _physics_process(delta: float) -> void: state = STATE_APPROACH_ENEMY elif state == STATE_HIT: $DreamerBody/Animator.set("parameters/charge_weapon/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT) + $DreamerBody/Animator.set("parameters/hit/blend_amount", 1.0) + $DreamerBody/Animator.set("parameters/dead/blend_amount", 0.0) + + if (health <= 0) and ((state_timer <= 0) or is_on_floor()): + state = STATE_DEAD if state_timer <= 0: + $DreamerBody/Animator.set("parameters/hit/blend_amount", 0.0) + state = STATE_APPROACH_ENEMY + elif state == STATE_DEAD: + if is_on_floor(): + $DreamerBody/Animator.set("parameters/dead/blend_amount", 1.0) + else: + $DreamerBody/Animator.set("parameters/dead/blend_amount", 0.0) var camera_right = game.get_node("PlayerCamera").global_transform.basis.x diff --git a/scripts/global.gd b/scripts/global.gd index cec71d4..029fea8 100644 --- a/scripts/global.gd +++ b/scripts/global.gd @@ -4,7 +4,7 @@ const weapons = { "test_sword": { "combo_weapon": true, "hits_to_finish": 3, - "swing_time": 0.1, + "swing_time": 0.16, "combo_timeout": 0.35, "swing_time_combo_finish": 0.42, "damage": 15, diff --git a/scripts/player.gd b/scripts/player.gd index 8b0676a..8f0ed43 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -57,6 +57,9 @@ func _process(delta: float) -> void: if knockback_time > 0: knockback_time -= delta + $DreamerBody/Animator.set("parameters/hit/blend_amount", 1.0) + else: + $DreamerBody/Animator.set("parameters/hit/blend_amount", 0.0) func _physics_process(delta: float) -> void: $DreamerBody.look_at(game.get_node("PlayerCamera").global_position) @@ -173,7 +176,7 @@ func _physics_process(delta: float) -> void: for body in hits: if body == self: continue - if "health" in body: + if ("health" in body) and (body.health > 0): body.health -= damage var knockback_pos = global_position