death anim & fixed stuff
parent
0d403044e1
commit
e624a0e72c
Binary file not shown.
|
@ -0,0 +1,19 @@
|
|||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://bbqdpexvknma2"
|
||||
path="res://.godot/imported/never-lucky.mp3-e798b8414991df1e214d65da89b6244b.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sounds/never-lucky.mp3"
|
||||
dest_files=["res://.godot/imported/never-lucky.mp3-e798b8414991df1e214d65da89b6244b.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,43 @@
|
|||
[gd_resource type="ParticleProcessMaterial" load_steps=7 format=3 uid="uid://ra02tvwd5o5g"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_6k7fi"]
|
||||
offsets = PackedFloat32Array(0, 0.540741, 0.592593, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_1phkb"]
|
||||
gradient = SubResource("Gradient_6k7fi")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_3tax5"]
|
||||
offsets = PackedFloat32Array(0, 0.533333, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_13jjx"]
|
||||
gradient = SubResource("Gradient_3tax5")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_0565g"]
|
||||
_data = [Vector2(0, 0.5), 0.0, 5.0, 0, 1, Vector2(0.1, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.11111, 0.0, 1, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_k4txv"]
|
||||
curve = SubResource("Curve_0565g")
|
||||
|
||||
[resource]
|
||||
emission_shape = 2
|
||||
emission_sphere_radius = 8.0
|
||||
particle_flag_disable_z = true
|
||||
direction = Vector3(0, -1, 0)
|
||||
spread = 90.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
initial_velocity_min = 128.0
|
||||
initial_velocity_max = 256.0
|
||||
orbit_velocity_min = 0.0
|
||||
orbit_velocity_max = 0.0
|
||||
tangential_accel_min = -16.0
|
||||
tangential_accel_max = 16.0
|
||||
scale_min = 0.25
|
||||
scale_max = 0.25
|
||||
scale_curve = SubResource("CurveTexture_k4txv")
|
||||
color_ramp = SubResource("GradientTexture1D_13jjx")
|
||||
color_initial_ramp = SubResource("GradientTexture1D_1phkb")
|
||||
turbulence_enabled = true
|
||||
turbulence_noise_scale = 4.0
|
|
@ -253,15 +253,12 @@ public partial class Character : CharacterBody2D, IFaction
|
|||
|
||||
ApplyImpulse(knockbackDir.Normalized() * knockback);
|
||||
|
||||
GD.Print("lol");
|
||||
|
||||
// play damage animation
|
||||
var anim = GetNode<AnimationPlayer>("Animations/Hurt");
|
||||
if (anim != null)
|
||||
if (HurtAnimation is not null && Health > 0)
|
||||
{
|
||||
anim.Stop();
|
||||
anim.Play("hurt");
|
||||
anim.Queue("hurt_flash");
|
||||
HurtAnimation.Stop();
|
||||
HurtAnimation.Play("hurt");
|
||||
HurtAnimation.Queue("hurt_flash");
|
||||
}
|
||||
|
||||
// if anyone involved is a player, shake their screen
|
||||
|
|
|
@ -54,6 +54,10 @@ tracks/0/keys = {
|
|||
"values": [0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j0d8o"]
|
||||
resource_name = "dash"
|
||||
length = 0.1
|
||||
|
||||
[sub_resource type="Animation" id="Animation_px7yx"]
|
||||
resource_name = "idle"
|
||||
length = 0.5
|
||||
|
@ -88,10 +92,6 @@ tracks/0/keys = {
|
|||
"values": [2, 3, 4, 5, 6, 7]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j0d8o"]
|
||||
resource_name = "dash"
|
||||
length = 0.1
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1xv7m"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_7ay6e"),
|
||||
|
|
|
@ -26,8 +26,10 @@ public sealed partial class Player : Character
|
|||
public override void _Ready()
|
||||
{
|
||||
InteractionRay = GetNode<InteractionRay>("Direction2D/InteractionRay");
|
||||
Death += (Events.HealthChangedArgs args) =>
|
||||
Death += async (Events.HealthChangedArgs args) =>
|
||||
{
|
||||
HurtAnimation.Play("death");
|
||||
await ToSignal(HurtAnimation, "animation_finished");
|
||||
Visible = false;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=55 format=3 uid="uid://b2254pup8k161"]
|
||||
[gd_scene load_steps=58 format=3 uid="uid://b2254pup8k161"]
|
||||
|
||||
[ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"]
|
||||
[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"]
|
||||
|
@ -15,6 +15,8 @@
|
|||
[ext_resource type="Material" uid="uid://x5qcq5muvc3g" path="res://Assets/Sprites/Particles/PlayerDamageProcessMaterial.tres" id="8_yf112"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1a7lvb4uuwfy" path="res://Assets/Sprites/Particles/circle-16.png" id="9_7gumm"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjgxyhgcyvsv7" path="res://BoundingBoxes/Hurtbox.tscn" id="9_avyu4"]
|
||||
[ext_resource type="Material" uid="uid://ra02tvwd5o5g" path="res://Assets/Sprites/Particles/PlayerDeathProcessMaterial.tres" id="10_agw51"]
|
||||
[ext_resource type="AudioStream" uid="uid://bbqdpexvknma2" path="res://Assets/Sounds/never-lucky.mp3" id="12_vd7j4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bkeyg8weaqnuu" path="res://Assets/Sounds/splat-player.ogg" id="12_vvem5"]
|
||||
[ext_resource type="Script" path="res://BoundingBoxes/InteractionRay.cs" id="13_hs3u1"]
|
||||
[ext_resource type="PackedScene" uid="uid://p7oijq6dbvvk" path="res://Items/Weapons/DocLance.tscn" id="14_bj0lo"]
|
||||
|
@ -205,6 +207,30 @@ tracks/2/keys = {
|
|||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath(".:material:shader_parameter/alpha_modulate")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Effects/DeathParticles:emitting")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dxevc"]
|
||||
resource_name = "hurt"
|
||||
|
@ -278,9 +304,64 @@ tracks/0/keys = {
|
|||
"values": [0.0, 1.0, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vtf8v"]
|
||||
resource_name = "death"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprites/Node2D/Character:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [11, 15, 16, 17]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Effects/DeathParticles:emitting")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(1),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:material:shader_parameter/alpha_modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(1, 1.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 0.0]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Effects/DeathCry")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0.3),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [0.0],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xe5eq"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_k6l16"),
|
||||
"death": SubResource("Animation_vtf8v"),
|
||||
"hurt": SubResource("Animation_dxevc"),
|
||||
"hurt_flash": SubResource("Animation_pjey7")
|
||||
}
|
||||
|
@ -451,7 +532,7 @@ lifetime = 0.8
|
|||
[node name="DeathParticles" type="GPUParticles2D" parent="Effects"]
|
||||
emitting = false
|
||||
amount = 32
|
||||
process_material = ExtResource("8_yf112")
|
||||
process_material = ExtResource("10_agw51")
|
||||
texture = SubResource("CanvasTexture_pited")
|
||||
lifetime = 2.0
|
||||
preprocess = 0.1
|
||||
|
@ -467,6 +548,10 @@ one_shot = true
|
|||
preprocess = 0.1
|
||||
explosiveness = 0.9
|
||||
|
||||
[node name="DeathCry" type="AudioStreamPlayer2D" parent="Effects"]
|
||||
stream = ExtResource("12_vd7j4")
|
||||
volume_db = 2.0
|
||||
|
||||
[node name="Camera2D" parent="." instance=ExtResource("4_ym125")]
|
||||
limit_left = -256
|
||||
limit_top = -256
|
||||
|
@ -480,13 +565,14 @@ use_parent_material = true
|
|||
rotation = 6.28319
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="Sprites"]
|
||||
use_parent_material = true
|
||||
|
||||
[node name="Character" type="Sprite2D" parent="Sprites/Node2D"]
|
||||
use_parent_material = true
|
||||
position = Vector2(-1, -8)
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("4_5vird")
|
||||
offset = Vector2(0, -4)
|
||||
hframes = 24
|
||||
hframes = 18
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
|
|
|
@ -6,13 +6,14 @@
|
|||
[ext_resource type="Script" path="res://UI/UIController.cs" id="3_fe62s"]
|
||||
[ext_resource type="PackedScene" uid="uid://01d24ij5av1y" path="res://UI/BossBar.tscn" id="5_8njq4"]
|
||||
|
||||
[node name="World" type="Node2D"]
|
||||
[node name="World" type="Node2D" node_paths=PackedStringArray("UIController")]
|
||||
script = ExtResource("1_1k6ew")
|
||||
StartingArea = ExtResource("2_avsrq")
|
||||
UIController = NodePath("CanvasLayer/UI")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="UI" type="Control" parent="CanvasLayer"]
|
||||
[node name="UI" type="Control" parent="CanvasLayer" node_paths=PackedStringArray("BossBar")]
|
||||
z_index = 128
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
|
@ -23,6 +24,7 @@ grow_vertical = 2
|
|||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("3_fe62s")
|
||||
BossBar = NodePath("Bottom/BossBar")
|
||||
|
||||
[node name="Top" type="HBoxContainer" parent="CanvasLayer/UI"]
|
||||
layout_mode = 1
|
||||
|
@ -41,7 +43,6 @@ layout_mode = 2
|
|||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Bottom" type="HBoxContainer" parent="CanvasLayer/UI"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
anchor_top = 1.0
|
||||
|
@ -53,4 +54,5 @@ grow_vertical = 0
|
|||
alignment = 1
|
||||
|
||||
[node name="BossBar" parent="CanvasLayer/UI/Bottom" instance=ExtResource("5_8njq4")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
|
Loading…
Reference in New Issue