New dreamer animations, dreamer NPC death, map updates

This commit is contained in:
ToasterPanic 2026-05-15 12:21:50 -04:00
parent 4778c4c70a
commit ac049d9048
6 changed files with 404 additions and 34 deletions

View file

@ -13,6 +13,8 @@ config_version=5
config/name="Cave of Dreams" config/name="Cave of Dreams"
run/main_scene="uid://bxdnehietcpkj" run/main_scene="uid://bxdnehietcpkj"
config/features=PackedStringArray("4.6", "Mobile") 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" config/icon="res://icon.svg"
[autoload] [autoload]
@ -69,7 +71,7 @@ jump={
} }
dodge={ dodge={
"deadzone": 0.2, "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={ attack={

View file

@ -76,20 +76,13 @@ navigation_mesh = SubResource("NavigationMesh_kvuet")
[node name="CSG" type="Node3D" parent="Map" unique_id=1150408155] [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] [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 layers = 1023
use_collision = true use_collision = true
collision_layer = 255 collision_layer = 255
collision_mask = 255 collision_mask = 255
size = Vector3(16, 1, 16) size = Vector3(16, 1, 18)
material = ExtResource("2_gee14") material = ExtResource("2_gee14")
[node name="CSGBox3D3" type="CSGBox3D" parent="Map/CSG" unique_id=646817034] [node name="CSGBox3D3" type="CSGBox3D" parent="Map/CSG" unique_id=646817034]
@ -146,6 +139,60 @@ collision_mask = 255
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
material = ExtResource("4_kvuet") 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] [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) transform = Transform3D(0.9396926, -0.34202012, 0, 0.34202012, 0.9396926, 0, 0, 0, 1, -4, 1, 0)
layers = 1023 layers = 1023
@ -164,6 +211,78 @@ collision_mask = 255
size = Vector3(1, 3, 16) size = Vector3(1, 3, 16)
material = ExtResource("4_kvuet") 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="Props" type="Node3D" parent="Map" unique_id=2137952764]
[node name="Stalagmite" parent="Map/Props" unique_id=39322424 instance=ExtResource("5_iywne")] [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) 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")] [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")] [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) 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] [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) 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") 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] [node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1956400862]
environment = SubResource("Environment_uwrxv") environment = SubResource("Environment_uwrxv")
[node name="CameraZones" type="Node3D" parent="." unique_id=1225967945] [node name="CameraZone2" type="Area3D" parent="WorldEnvironment" unique_id=1501599928]
[node name="CameraZone2" type="Area3D" parent="CameraZones" unique_id=1501599928]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) 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") 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) 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 pixel_size = 0.05
double_sided = false double_sided = false
texture = ExtResource("14_trtic") texture = ExtResource("14_trtic")
script = ExtResource("16_ca42v") 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] [node name="CameraZone" type="Area3D" parent="CameraZones" unique_id=1280290524]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)

View file

@ -204,6 +204,107 @@ tracks/0/keys = {
"values": [Vector3(0, 0, 0), Vector3(0, 0, -1.134464)] "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"] [sub_resource type="Animation" id="Animation_u5sy4"]
resource_name = "fall" resource_name = "fall"
length = 0.2 length = 0.2
@ -305,6 +406,107 @@ tracks/7/keys = {
"values": [Vector3(0, 0, -1.134464)] "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"] [sub_resource type="Animation" id="Animation_yptk5"]
resource_name = "hold_weapon" resource_name = "hold_weapon"
length = 0.2 length = 0.2
@ -746,7 +948,9 @@ tracks/0/keys = {
_data = { _data = {
&"RESET": SubResource("Animation_gee14"), &"RESET": SubResource("Animation_gee14"),
&"charge_weapon": SubResource("Animation_lg4u0"), &"charge_weapon": SubResource("Animation_lg4u0"),
&"dead": SubResource("Animation_imh1v"),
&"fall": SubResource("Animation_u5sy4"), &"fall": SubResource("Animation_u5sy4"),
&"hit": SubResource("Animation_1speq"),
&"hold_weapon": SubResource("Animation_yptk5"), &"hold_weapon": SubResource("Animation_yptk5"),
&"jump": SubResource("Animation_p57ef"), &"jump": SubResource("Animation_p57ef"),
&"leap": SubResource("Animation_vtaks"), &"leap": SubResource("Animation_vtaks"),
@ -776,6 +980,12 @@ animation = &"swing_weapon"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lg4u0"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lg4u0"]
animation = &"charge_weapon" 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"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p57ef"]
animation = &"jump" animation = &"jump"
@ -783,11 +993,15 @@ animation = &"jump"
filter_enabled = true filter_enabled = true
filters = ["Body/ArmPivot:rotation"] filters = ["Body/ArmPivot:rotation"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_0ul0u"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_gee14"] [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_gee14"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u5sy4"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u5sy4"]
animation = &"fall" animation = &"fall"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_imh1v"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_54k0m"] [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_54k0m"]
filter_enabled = true filter_enabled = true
filters = ["Body/ArmPivot/BackArm:position", "Body/ArmPivot/BackArm:rotation", "Body/ArmPivot/FrontArm:position", "Body/ArmPivot/FrontArm:rotation"] 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="AnimationNodeTimeScale" id="AnimationNodeTimeScale_p57ef"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_kvpfn"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_kvpfn"]
graph_offset = Vector2(601.4115, -104.36627) graph_offset = Vector2(246.604, -45.23578)
nodes/output/position = Vector2(2500, 60) nodes/output/position = Vector2(3580, 40)
nodes/jump/node = SubResource("AnimationNodeOneShot_u5sy4") nodes/jump/node = SubResource("AnimationNodeOneShot_u5sy4")
nodes/jump/position = Vector2(860, 100) nodes/jump/position = Vector2(860, 100)
nodes/reset/node = SubResource("AnimationNodeAnimation_0tnpc") 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/node = SubResource("AnimationNodeBlend2_kvpfn")
nodes/leap/position = Vector2(670.4032, 137.15503) nodes/leap/position = Vector2(670.4032, 137.15503)
nodes/Add2/node = SubResource("AnimationNodeAdd2_06ej8") 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/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/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/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/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/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/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/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/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/node" = SubResource("AnimationNodeAnimation_lg4u0")
"nodes/Animation 7/position" = Vector2(2000, 340) "nodes/Animation 7/position" = Vector2(1660, 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/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] [node name="DreamerBody" type="Node3D" unique_id=723408850]
script = ExtResource("1_54k0m") script = ExtResource("1_54k0m")
@ -943,3 +1165,5 @@ parameters/swing_weapon/request = 0
parameters/charge_weapon/active = false parameters/charge_weapon/active = false
parameters/charge_weapon/internal_active = false parameters/charge_weapon/internal_active = false
parameters/charge_weapon/request = 0 parameters/charge_weapon/request = 0
parameters/hit/blend_amount = 0.0
parameters/dead/blend_amount = 0.0

View file

@ -91,14 +91,14 @@ func _physics_process(delta: float) -> void:
$HitCollision/Shape.shape.size.x = 1.2 $HitCollision/Shape.shape.size.x = 1.2
if (rad_to_deg(mouse_point_angle) < -90) or (rad_to_deg(mouse_point_angle) > 90): 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() var mouse_pos = get_viewport().get_mouse_position()
mouse_pos.y = (viewport_half.y) + ((viewport_half.y) - mouse_pos.y) mouse_pos.y = (viewport_half.y) + ((viewport_half.y) - mouse_pos.y)
#$DreamerBody/Body/ArmPivot.rotation.z = viewport_half.angle_to_point(mouse_pos) #$DreamerBody/Body/ArmPivot.rotation.z = viewport_half.angle_to_point(mouse_pos)
else: else:
face_left = false #face_left = false
$DreamerBody/Body/ArmPivot.scale.y = 1 $DreamerBody/Body/ArmPivot.scale.y = 1
$DreamerBody/Body/ArmPivot.scale.x = 1 $DreamerBody/Body/ArmPivot.scale.x = 1
else: else:
@ -151,9 +151,21 @@ func _physics_process(delta: float) -> void:
state = STATE_APPROACH_ENEMY state = STATE_APPROACH_ENEMY
elif state == STATE_HIT: elif state == STATE_HIT:
$DreamerBody/Animator.set("parameters/charge_weapon/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT) $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: if state_timer <= 0:
$DreamerBody/Animator.set("parameters/hit/blend_amount", 0.0)
state = STATE_APPROACH_ENEMY 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 var camera_right = game.get_node("PlayerCamera").global_transform.basis.x

View file

@ -4,7 +4,7 @@ const weapons = {
"test_sword": { "test_sword": {
"combo_weapon": true, "combo_weapon": true,
"hits_to_finish": 3, "hits_to_finish": 3,
"swing_time": 0.1, "swing_time": 0.16,
"combo_timeout": 0.35, "combo_timeout": 0.35,
"swing_time_combo_finish": 0.42, "swing_time_combo_finish": 0.42,
"damage": 15, "damage": 15,

View file

@ -57,6 +57,9 @@ func _process(delta: float) -> void:
if knockback_time > 0: if knockback_time > 0:
knockback_time -= delta 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: func _physics_process(delta: float) -> void:
$DreamerBody.look_at(game.get_node("PlayerCamera").global_position) $DreamerBody.look_at(game.get_node("PlayerCamera").global_position)
@ -173,7 +176,7 @@ func _physics_process(delta: float) -> void:
for body in hits: for body in hits:
if body == self: continue if body == self: continue
if "health" in body: if ("health" in body) and (body.health > 0):
body.health -= damage body.health -= damage
var knockback_pos = global_position var knockback_pos = global_position