aboutsummaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
Diffstat (limited to 'client/player')
-rw-r--r--client/player/angry.svg.import37
-rw-r--r--client/player/angry.tscn37
-rw-r--r--client/player/angry.webpbin0 -> 5022 bytes
-rw-r--r--client/player/angry.webp.import35
-rw-r--r--client/player/character/character.gd14
-rw-r--r--client/player/character/character.tscn33
-rw-r--r--client/player/effect.gd13
-rw-r--r--client/player/effect.tscn25
-rw-r--r--client/player/player.gd2
-rw-r--r--client/player/sounds/angry1.oggbin0 -> 8491 bytes
-rw-r--r--client/player/sounds/angry1.ogg.import19
-rw-r--r--client/player/sounds/angry2.oggbin0 -> 6622 bytes
-rw-r--r--client/player/sounds/angry2.ogg.import19
-rw-r--r--client/player/sounds/step1.oggbin0 -> 4037 bytes
-rw-r--r--client/player/sounds/step1.ogg.import19
-rw-r--r--client/player/sounds/step2.oggbin0 -> 3840 bytes
-rw-r--r--client/player/sounds/step2.ogg.import19
-rw-r--r--client/player/sounds/step3.oggbin0 -> 3757 bytes
-rw-r--r--client/player/sounds/step3.ogg.import19
-rw-r--r--client/player/sounds/woosh1.oggbin0 -> 6730 bytes
-rw-r--r--client/player/sounds/woosh1.ogg.import19
-rw-r--r--client/player/sounds/woosh2.oggbin0 -> 6767 bytes
-rw-r--r--client/player/sounds/woosh2.ogg.import19
23 files changed, 324 insertions, 5 deletions
diff --git a/client/player/angry.svg.import b/client/player/angry.svg.import
new file mode 100644
index 00000000..4f1afd25
--- /dev/null
+++ b/client/player/angry.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dk36vvlrg0t15"
+path="res://.godot/imported/angry.svg-20686ccd97ba20a3d660573cae3108bc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://player/angry.svg"
+dest_files=["res://.godot/imported/angry.svg-20686ccd97ba20a3d660573cae3108bc.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/client/player/angry.tscn b/client/player/angry.tscn
new file mode 100644
index 00000000..56fa4d05
--- /dev/null
+++ b/client/player/angry.tscn
@@ -0,0 +1,37 @@
+[gd_scene load_steps=6 format=3 uid="uid://cvty1rwt52anq"]
+
+[ext_resource type="Texture2D" uid="uid://unjbxplj845n" path="res://player/angry.webp" id="1_5op6v"]
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ysmnk"]
+transparency = 1
+shading_mode = 0
+vertex_color_use_as_albedo = true
+albedo_texture = ExtResource("1_5op6v")
+billboard_mode = 2
+billboard_keep_scale = true
+
+[sub_resource type="QuadMesh" id="QuadMesh_5nim7"]
+material = SubResource("StandardMaterial3D_ysmnk")
+
+[sub_resource type="Curve" id="Curve_0rju1"]
+_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.51927, 1), 0.0, 0.0, 0, 0]
+point_count = 2
+
+[sub_resource type="Gradient" id="Gradient_lmymu"]
+offsets = PackedFloat32Array(0, 0.711828, 1)
+colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
+
+[node name="Angry" type="CPUParticles3D"]
+emitting = false
+amount = 5
+lifetime = 2.0
+one_shot = true
+explosiveness = 1.0
+mesh = SubResource("QuadMesh_5nim7")
+direction = Vector3(0, 1, 0)
+spread = 30.0
+gravity = Vector3(0, 0, 0)
+initial_velocity_min = 1.0
+initial_velocity_max = 1.5
+scale_amount_curve = SubResource("Curve_0rju1")
+color_ramp = SubResource("Gradient_lmymu")
diff --git a/client/player/angry.webp b/client/player/angry.webp
new file mode 100644
index 00000000..866ba92c
--- /dev/null
+++ b/client/player/angry.webp
Binary files differ
diff --git a/client/player/angry.webp.import b/client/player/angry.webp.import
new file mode 100644
index 00000000..989ff542
--- /dev/null
+++ b/client/player/angry.webp.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://unjbxplj845n"
+path.s3tc="res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://player/angry.webp"
+dest_files=["res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/client/player/character/character.gd b/client/player/character/character.gd
index 36ff1323..11db638f 100644
--- a/client/player/character/character.gd
+++ b/client/player/character/character.gd
@@ -39,6 +39,9 @@ var current_animation := "idle"
"E. Parsley": $Main/Head/Hair3
}
+@onready var step_sounds: PlayRandom = $Steps
+@onready var boost_sounds: PlayRandom = $Boosts
+
func _ready():
play_animation("idle")
@@ -61,7 +64,11 @@ func _process(delta):
next_animation = "idle"
walking_particles.emitting = walking
- boosting_particles.emitting = boosting and walking and not was_boosting
+ if boosting and walking and not was_boosting:
+ boosting_particles.emitting = true
+ boost_sounds.play_random()
+ else:
+ boosting_particles.emitting = false
was_boosting = boosting and walking
if current_animation != next_animation:
@@ -81,6 +88,11 @@ func select_hairstyle(id: int):
func play_animation(name_: String):
current_animation = name_
hand_animations.play(name_)
+
+ if name_ == "walk":
+ step_sounds.start_autoplay()
+ else:
+ step_sounds.stop_autoplay()
func _on_hand_animations_animation_finished(_name):
hand_animations.play(current_animation)
diff --git a/client/player/character/character.tscn b/client/player/character/character.tscn
index e4a2af66..f09ec2cf 100644
--- a/client/player/character/character.tscn
+++ b/client/player/character/character.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=18 format=3 uid="uid://b3hhir2fvnunu"]
+[gd_scene load_steps=24 format=3 uid="uid://b3hhir2fvnunu"]
[ext_resource type="Script" path="res://player/character/character.gd" id="1_12lbh"]
[ext_resource type="ArrayMesh" uid="uid://bnmm01yjwultj" path="res://player/character/main.res" id="2_lxdbd"]
@@ -9,6 +9,12 @@
[ext_resource type="ArrayMesh" uid="uid://dx7jswwaesok4" path="res://player/character/hair_2.res" id="7_0551e"]
[ext_resource type="ArrayMesh" uid="uid://c2qnwt44x8ujl" path="res://player/character/tie.res" id="7_knv6q"]
[ext_resource type="ArrayMesh" uid="uid://c5qsthvtf3cta" path="res://player/character/hair_3.res" id="8_2bc5u"]
+[ext_resource type="AudioStream" uid="uid://bxiorkb4xb8t1" path="res://player/sounds/step1.ogg" id="10_qpd6x"]
+[ext_resource type="AudioStream" uid="uid://l2fd8u7rq3cq" path="res://player/sounds/step2.ogg" id="11_2dmo8"]
+[ext_resource type="AudioStream" uid="uid://d353uwy83crca" path="res://player/sounds/step3.ogg" id="12_bj5ue"]
+[ext_resource type="Script" path="res://audio/play_random.gd" id="14_3rb6x"]
+[ext_resource type="AudioStream" uid="uid://1jsqpnk3igj3" path="res://player/sounds/woosh1.ogg" id="14_ikcec"]
+[ext_resource type="AudioStream" uid="uid://cwme7eatip0jc" path="res://player/sounds/woosh2.ogg" id="15_iv4wu"]
[sub_resource type="Animation" id="Animation_tdhvg"]
length = 0.001
@@ -655,4 +661,29 @@ scale_amount_min = 0.5
scale_amount_max = 0.75
scale_amount_curve = SubResource("Curve_7ml8g")
+[node name="Steps" type="Node3D" parent="."]
+script = ExtResource("14_3rb6x")
+volume_db = -12.0
+enable_attenuations = false
+
+[node name="Step1" type="AudioStreamPlayer3D" parent="Steps"]
+stream = ExtResource("10_qpd6x")
+
+[node name="Step2" type="AudioStreamPlayer3D" parent="Steps"]
+stream = ExtResource("11_2dmo8")
+
+[node name="Step3" type="AudioStreamPlayer3D" parent="Steps"]
+stream = ExtResource("12_bj5ue")
+
+[node name="Boosts" type="Node3D" parent="."]
+script = ExtResource("14_3rb6x")
+volume_db = -12.0
+enable_attenuations = false
+
+[node name="Woosh1" type="AudioStreamPlayer3D" parent="Boosts"]
+stream = ExtResource("14_ikcec")
+
+[node name="Woosh2" type="AudioStreamPlayer3D" parent="Boosts"]
+stream = ExtResource("15_iv4wu")
+
[connection signal="animation_finished" from="HandAnimations" to="." method="_on_hand_animations_animation_finished"]
diff --git a/client/player/effect.gd b/client/player/effect.gd
index ae6a6756..8371d99d 100644
--- a/client/player/effect.gd
+++ b/client/player/effect.gd
@@ -1,5 +1,5 @@
# Undercooked - a game about cooking
-# Copyright 2024 nokoe
+# Copyright 2024 nokoe, tpart
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -17,13 +17,22 @@ class_name Effect
extends Node3D
@onready var success = $Success
+@onready var failure = $Failure
+@onready var angry_grunt: PlayRandom = $AngryGrunt
+@onready var stars = $Stars
+@onready var angry = $Angry
+
func set_effect(e: String):
clear_effect()
match e:
"satisfied":
- $Stars.emitting = true
+ stars.emitting = true
success.play()
+ "angry":
+ angry.emitting = true
+ angry_grunt.play_random()
+ failure.play()
_:
push_warning("effect %s unknown" % e)
diff --git a/client/player/effect.tscn b/client/player/effect.tscn
index fec019c2..748aa20e 100644
--- a/client/player/effect.tscn
+++ b/client/player/effect.tscn
@@ -1,8 +1,13 @@
-[gd_scene load_steps=4 format=3 uid="uid://dn2ne30t81ame"]
+[gd_scene load_steps=9 format=3 uid="uid://dn2ne30t81ame"]
[ext_resource type="Script" path="res://player/effect.gd" id="1_aqsk6"]
[ext_resource type="PackedScene" uid="uid://yaed1vnhd0aa" path="res://player/stars.tscn" id="2_shb5l"]
[ext_resource type="AudioStream" uid="uid://camy77x26mmpv" path="res://menu/sounds/success.ogg" id="3_favyn"]
+[ext_resource type="AudioStream" uid="uid://cv4isy6po6pqd" path="res://menu/sounds/failure.ogg" id="4_j38qf"]
+[ext_resource type="PackedScene" uid="uid://cvty1rwt52anq" path="res://player/angry.tscn" id="4_uxxex"]
+[ext_resource type="Script" path="res://audio/play_random.gd" id="5_t2upj"]
+[ext_resource type="AudioStream" uid="uid://c3gatgrsb0npf" path="res://player/sounds/angry1.ogg" id="6_ou7uy"]
+[ext_resource type="AudioStream" uid="uid://cty282m6ckt62" path="res://player/sounds/angry2.ogg" id="7_r21iy"]
[node name="Effect" type="Node3D"]
script = ExtResource("1_aqsk6")
@@ -12,3 +17,21 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="Success" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_favyn")
+
+[node name="Failure" type="AudioStreamPlayer" parent="."]
+stream = ExtResource("4_j38qf")
+volume_db = -8.0
+
+[node name="Angry" parent="." instance=ExtResource("4_uxxex")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
+
+[node name="AngryGrunt" type="Node3D" parent="."]
+script = ExtResource("5_t2upj")
+volume_db = -8.0
+enable_attenuations = false
+
+[node name="Angry1" type="AudioStreamPlayer3D" parent="AngryGrunt"]
+stream = ExtResource("6_ou7uy")
+
+[node name="Angry2" type="AudioStreamPlayer3D" parent="AngryGrunt"]
+stream = ExtResource("7_r21iy")
diff --git a/client/player/player.gd b/client/player/player.gd
index 33606bc4..1df80d94 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -91,10 +91,12 @@ func take_item(tile: Tile):
if hand != null:
push_error("already holding an item")
var i = tile.take_item()
+ i.take()
set_item(i)
func put_item(tile: Tile):
var i = remove_item()
+ i.put()
tile.put_item(i)
func _process(delta):
diff --git a/client/player/sounds/angry1.ogg b/client/player/sounds/angry1.ogg
new file mode 100644
index 00000000..9876f3da
--- /dev/null
+++ b/client/player/sounds/angry1.ogg
Binary files differ
diff --git a/client/player/sounds/angry1.ogg.import b/client/player/sounds/angry1.ogg.import
new file mode 100644
index 00000000..1fbbfb2e
--- /dev/null
+++ b/client/player/sounds/angry1.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://c3gatgrsb0npf"
+path="res://.godot/imported/angry1.ogg-89dfe7562e07a5f538e60fe56615fd53.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/angry1.ogg"
+dest_files=["res://.godot/imported/angry1.ogg-89dfe7562e07a5f538e60fe56615fd53.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/angry2.ogg b/client/player/sounds/angry2.ogg
new file mode 100644
index 00000000..805b6c48
--- /dev/null
+++ b/client/player/sounds/angry2.ogg
Binary files differ
diff --git a/client/player/sounds/angry2.ogg.import b/client/player/sounds/angry2.ogg.import
new file mode 100644
index 00000000..fb529c5c
--- /dev/null
+++ b/client/player/sounds/angry2.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cty282m6ckt62"
+path="res://.godot/imported/angry2.ogg-cc281b5bbc23e0a935c56ccbfcbd60a0.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/angry2.ogg"
+dest_files=["res://.godot/imported/angry2.ogg-cc281b5bbc23e0a935c56ccbfcbd60a0.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/step1.ogg b/client/player/sounds/step1.ogg
new file mode 100644
index 00000000..563d6444
--- /dev/null
+++ b/client/player/sounds/step1.ogg
Binary files differ
diff --git a/client/player/sounds/step1.ogg.import b/client/player/sounds/step1.ogg.import
new file mode 100644
index 00000000..409919f6
--- /dev/null
+++ b/client/player/sounds/step1.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://bxiorkb4xb8t1"
+path="res://.godot/imported/step1.ogg-fb18c712af8c20437bc3716795beb323.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/step1.ogg"
+dest_files=["res://.godot/imported/step1.ogg-fb18c712af8c20437bc3716795beb323.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/step2.ogg b/client/player/sounds/step2.ogg
new file mode 100644
index 00000000..a6ec7103
--- /dev/null
+++ b/client/player/sounds/step2.ogg
Binary files differ
diff --git a/client/player/sounds/step2.ogg.import b/client/player/sounds/step2.ogg.import
new file mode 100644
index 00000000..2a6f9789
--- /dev/null
+++ b/client/player/sounds/step2.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://l2fd8u7rq3cq"
+path="res://.godot/imported/step2.ogg-cac7b3cbd2fc698c0ac3ca59fb818e5d.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/step2.ogg"
+dest_files=["res://.godot/imported/step2.ogg-cac7b3cbd2fc698c0ac3ca59fb818e5d.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/step3.ogg b/client/player/sounds/step3.ogg
new file mode 100644
index 00000000..27dfa368
--- /dev/null
+++ b/client/player/sounds/step3.ogg
Binary files differ
diff --git a/client/player/sounds/step3.ogg.import b/client/player/sounds/step3.ogg.import
new file mode 100644
index 00000000..c01a5b7d
--- /dev/null
+++ b/client/player/sounds/step3.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://d353uwy83crca"
+path="res://.godot/imported/step3.ogg-2d825d8675e6dad3253d34dfcabf3b0e.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/step3.ogg"
+dest_files=["res://.godot/imported/step3.ogg-2d825d8675e6dad3253d34dfcabf3b0e.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/woosh1.ogg b/client/player/sounds/woosh1.ogg
new file mode 100644
index 00000000..284fc480
--- /dev/null
+++ b/client/player/sounds/woosh1.ogg
Binary files differ
diff --git a/client/player/sounds/woosh1.ogg.import b/client/player/sounds/woosh1.ogg.import
new file mode 100644
index 00000000..38b1c435
--- /dev/null
+++ b/client/player/sounds/woosh1.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://1jsqpnk3igj3"
+path="res://.godot/imported/woosh1.ogg-1f4b2fe1be72c87cf944d6c0761e71c8.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/woosh1.ogg"
+dest_files=["res://.godot/imported/woosh1.ogg-1f4b2fe1be72c87cf944d6c0761e71c8.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/sounds/woosh2.ogg b/client/player/sounds/woosh2.ogg
new file mode 100644
index 00000000..0a94ec9a
--- /dev/null
+++ b/client/player/sounds/woosh2.ogg
Binary files differ
diff --git a/client/player/sounds/woosh2.ogg.import b/client/player/sounds/woosh2.ogg.import
new file mode 100644
index 00000000..c38bf1fe
--- /dev/null
+++ b/client/player/sounds/woosh2.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cwme7eatip0jc"
+path="res://.godot/imported/woosh2.ogg-adc164c3f2035f82c8c508e981753d03.oggvorbisstr"
+
+[deps]
+
+source_file="res://player/sounds/woosh2.ogg"
+dest_files=["res://.godot/imported/woosh2.ogg-adc164c3f2035f82c8c508e981753d03.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4