make actual death animation for fami

This commit is contained in:
Haze Weathers 2024-02-29 00:06:30 -05:00
parent 06a4541f27
commit ded320d2dc
6 changed files with 324 additions and 6 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=34 format=2]
[gd_scene load_steps=38 format=2]
[ext_resource path="res://objects/enemy/boss/famira.gd" type="Script" id=1]
[ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=2]
@ -17,10 +17,18 @@
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=15]
[ext_resource path="res://graphics/enemy/antlion_body_border.png" type="Texture" id=16]
[ext_resource path="res://objects/enemy/boss/fami_transform.material" type="Material" id=17]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=18]
[ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=19]
[ext_resource path="res://graphics/enemy/boss/famira_dissolve.png" type="Texture" id=20]
[sub_resource type="RectangleShape2D" id=11]
extents = Vector2( 28, 64 )
[sub_resource type="ShaderMaterial" id=18]
shader = ExtResource( 18 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = false
[sub_resource type="Animation" id=2]
length = 0.001
tracks/0/type = "value"
@ -275,6 +283,42 @@ tracks/20/keys = {
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/21/type = "value"
tracks/21/path = NodePath("../DissolveMask:position")
tracks/21/interp = 1
tracks/21/loop_wrap = true
tracks/21/imported = false
tracks/21/enabled = true
tracks/21/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( -63, -322 ) ]
}
tracks/22/type = "value"
tracks/22/path = NodePath("../ShardParticles:position")
tracks/22/interp = 1
tracks/22/loop_wrap = true
tracks/22/imported = false
tracks/22/enabled = true
tracks/22/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 4, -165 ) ]
}
tracks/23/type = "value"
tracks/23/path = NodePath("../ShardParticles:emitting")
tracks/23/interp = 1
tracks/23/loop_wrap = true
tracks/23/imported = false
tracks/23/enabled = true
tracks/23/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ false ]
}
[sub_resource type="Animation" id=4]
resource_name = "chasing"
@ -439,8 +483,7 @@ tracks/12/keys = {
[sub_resource type="Animation" id=12]
resource_name = "die"
length = 0.2
loop = true
length = 8.0
tracks/0/type = "value"
tracks/0/path = NodePath("Hip/Body:rotation_degrees")
tracks/0/interp = 1
@ -580,10 +623,10 @@ tracks/11/loop_wrap = true
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 4, 39 ), Vector2( 12, 39 ) ]
"values": [ Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ), Vector2( 4, 39 ), Vector2( 12, 39 ) ]
}
tracks/12/type = "value"
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
@ -597,6 +640,66 @@ tracks/12/keys = {
"update": 1,
"values": [ false ]
}
tracks/13/type = "value"
tracks/13/path = NodePath("../DissolveMask:position")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/keys = {
"times": PoolRealArray( 0, 8 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( -28, -300 ), Vector2( 58, -84 ) ]
}
tracks/14/type = "value"
tracks/14/path = NodePath(".:material:shader_param/arc_color")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/keys = {
"times": PoolRealArray( 0, 2, 8 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ]
}
tracks/15/type = "value"
tracks/15/path = NodePath(".:material:shader_param/background_color")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/imported = false
tracks/15/enabled = true
tracks/15/keys = {
"times": PoolRealArray( 0, 2, 8 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ), Color( 0.396078, 1, 1, 1 ) ]
}
tracks/16/type = "value"
tracks/16/path = NodePath("../ShardParticles:position")
tracks/16/interp = 1
tracks/16/loop_wrap = true
tracks/16/imported = false
tracks/16/enabled = true
tracks/16/keys = {
"times": PoolRealArray( 0, 8 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 4, -197 ), Vector2( 4, 19 ) ]
}
tracks/17/type = "value"
tracks/17/path = NodePath("../ShardParticles:emitting")
tracks/17/interp = 1
tracks/17/loop_wrap = true
tracks/17/imported = false
tracks/17/enabled = true
tracks/17/keys = {
"times": PoolRealArray( 0.2, 7 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
[sub_resource type="Animation" id=17]
resource_name = "grow"
@ -1610,7 +1713,31 @@ collision_mask = 128
position = Vector2( 12, -64 )
shape = SubResource( 11 )
[node name="ShardParticles" type="CPUParticles2D" parent="."]
material = SubResource( 18 )
position = Vector2( 4, -165 )
emitting = false
amount = 48
lifetime = 4.0
local_coords = false
texture = ExtResource( 19 )
emission_shape = 2
emission_rect_extents = Vector2( 16, 0 )
direction = Vector2( 0, -2 )
spread = 60.0
gravity = Vector2( 0, 24 )
initial_velocity = 250.0
initial_velocity_random = 0.35
linear_accel = -30.19
[node name="DissolveMask" type="Light2D" parent="."]
position = Vector2( -63, -322 )
texture = ExtResource( 20 )
mode = 3
range_item_cull_mask = 32
[node name="ChickenMan" type="Node2D" parent="."]
light_mask = 33
material = ExtResource( 17 )
position = Vector2( 0, -96 )
@ -1626,10 +1753,12 @@ anims/roar = SubResource( 3 )
anims/shooting = SubResource( 7 )
[node name="Hip" type="Node2D" parent="ChickenMan"]
light_mask = 33
use_parent_material = true
position = Vector2( 8, 39 )
[node name="LegBack" type="Sprite" parent="ChickenMan/Hip"]
light_mask = 33
use_parent_material = true
position = Vector2( -9.49483, 5.9499 )
rotation = -0.0114762
@ -1638,6 +1767,7 @@ texture = ExtResource( 11 )
offset = Vector2( -7.02542, -13.2616 )
[node name="Body" type="Sprite" parent="ChickenMan/Hip"]
light_mask = 33
use_parent_material = true
position = Vector2( -1, 1 )
rotation = 1.55932
@ -1647,12 +1777,14 @@ offset = Vector2( -14.8861, -10.6454 )
flip_v = true
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body"]
light_mask = 33
position = Vector2( -10.255, -0.546865 )
rotation = -1.57079
remote_path = NodePath("../../../../Hitbox/Body")
update_scale = false
[node name="BackArm" type="Node2D" parent="ChickenMan/Hip/Body"]
light_mask = 33
use_parent_material = true
position = Vector2( -15.0905, 7.09585 )
rotation = -1.55929
@ -1664,6 +1796,7 @@ segments = 4
target = NodePath("HandBack")
[node name="HandBack" type="Sprite" parent="ChickenMan/Hip/Body/BackArm"]
light_mask = 33
material = SubResource( 1 )
use_parent_material = true
position = Vector2( -34, 6 )
@ -1675,6 +1808,7 @@ region_rect = Rect2( 0, 0, 16, 12 )
[node name="BackArmBorder" type="Node2D" parent="ChickenMan/Hip/Body/BackArm"]
show_behind_parent = true
light_mask = 33
use_parent_material = true
script = ExtResource( 12 )
texture = ExtResource( 16 )
@ -1682,6 +1816,7 @@ segments = 4
target = NodePath("../HandBack")
[node name="FrontArm" type="Node2D" parent="ChickenMan/Hip/Body"]
light_mask = 33
use_parent_material = true
position = Vector2( -15.3626, -6.5891 )
rotation = -1.55929
@ -1693,6 +1828,7 @@ segments = 4
target = NodePath("HandFront")
[node name="HandFront" type="Sprite" parent="ChickenMan/Hip/Body/FrontArm"]
light_mask = 33
material = SubResource( 1 )
use_parent_material = true
position = Vector2( -31.9996, 22.0018 )
@ -1704,6 +1840,7 @@ region_rect = Rect2( 0, 0, 16, 12 )
[node name="FrontArmBorder" type="Node2D" parent="ChickenMan/Hip/Body/FrontArm"]
show_behind_parent = true
light_mask = 33
use_parent_material = true
script = ExtResource( 12 )
texture = ExtResource( 16 )
@ -1712,6 +1849,7 @@ target = NodePath("../HandFront")
[node name="Neck" type="Sprite" parent="ChickenMan/Hip/Body"]
show_behind_parent = true
light_mask = 33
use_parent_material = true
position = Vector2( -25.8929, -8.09683 )
rotation = -2.40547
@ -1721,12 +1859,14 @@ texture = ExtResource( 10 )
offset = Vector2( -12.5338, -3.19571 )
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck"]
light_mask = 33
position = Vector2( 7.47667, -8.4856 )
rotation = -2.96856
remote_path = NodePath("../../../../../Hitbox/Brain")
update_scale = false
[node name="BreathParticles" type="CPUParticles2D" parent="ChickenMan/Hip/Body/Neck"]
light_mask = 33
position = Vector2( 2.97876, -8.17331 )
rotation = 0.437951
scale = Vector2( 0.724233, 0.497597 )
@ -1758,6 +1898,7 @@ scale_amount_curve = SubResource( 8 )
color_ramp = SubResource( 9 )
[node name="Headlower" type="Sprite" parent="ChickenMan/Hip/Body/Neck"]
light_mask = 33
use_parent_material = true
position = Vector2( 6.09458, -5.24508 )
rotation = 0.964506
@ -1767,12 +1908,14 @@ texture = ExtResource( 8 )
offset = Vector2( -23.6288, 1.97347 )
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck/Headlower"]
light_mask = 33
position = Vector2( -15.6932, 6.83872 )
rotation = -4.70641
remote_path = NodePath("../../../../../../Hitbox/LowerJaw")
update_scale = false
[node name="Headupper" type="Sprite" parent="ChickenMan/Hip/Body/Neck"]
light_mask = 33
use_parent_material = true
position = Vector2( 6.70938, -6.04151 )
rotation = 0.801398
@ -1782,18 +1925,21 @@ texture = ExtResource( 9 )
offset = Vector2( -21.4816, 1.20875 )
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck/Headupper"]
light_mask = 33
position = Vector2( -15.711, -8.80663 )
rotation = -1.57994
remote_path = NodePath("../../../../../../Hitbox/UpperJaw")
update_scale = false
[node name="Eye" type="Sprite" parent="ChickenMan/Hip/Body/Neck/Headupper"]
light_mask = 33
use_parent_material = true
position = Vector2( -22.5774, -9.61752 )
texture = ExtResource( 7 )
offset = Vector2( 20.9715, 12.1291 )
[node name="LegFront" type="Sprite" parent="ChickenMan/Hip"]
light_mask = 33
use_parent_material = true
position = Vector2( 12.9916, 6.2433 )
rotation = -0.0114762