summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/map/progress.gd2
-rw-r--r--client/map/tiles/cutting_board.gd13
-rw-r--r--client/map/tiles/oven.gd4
-rw-r--r--client/map/tiles/oven.tscn10
-rw-r--r--client/map/tiles/sounds/chop.oggbin0 -> 22232 bytes
-rw-r--r--client/map/tiles/sounds/chop.ogg.import19
-rw-r--r--client/map/tiles/tile.gd2
7 files changed, 46 insertions, 4 deletions
diff --git a/client/map/progress.gd b/client/map/progress.gd
index 1a8bb3c0..d78c9e66 100644
--- a/client/map/progress.gd
+++ b/client/map/progress.gd
@@ -47,8 +47,6 @@ func update(new_position: float, new_speed: float, new_warn: bool):
var mat: ShaderMaterial = get_active_material(0)
mat.set_shader_parameter("progress", position_)
mat.set_shader_parameter("bad", warn)
-
- if warn and speed > 0.: ding_node.play_random()
func _process(delta: float):
position_ += delta * speed
diff --git a/client/map/tiles/cutting_board.gd b/client/map/tiles/cutting_board.gd
index e8f8897b..d59372de 100644
--- a/client/map/tiles/cutting_board.gd
+++ b/client/map/tiles/cutting_board.gd
@@ -17,19 +17,30 @@ class_name CuttingBoard
extends CounterBase
var board = load("res://map/tiles/cutting_board.tscn").instantiate()
+var chopping: AudioStreamPlayer3D = AudioStreamPlayer3D.new()
func _init(rename: String, neighbors: Array):
super(rename, neighbors)
+ chopping.stream = preload("res://map/tiles/sounds/chop.ogg")
+ add_child(chopping)
base.add_child(board)
func progress(position_: float, speed: float, warn: bool, acting_player):
super(position_, speed, warn, acting_player)
var knife: Node3D = board.get_node("Knife")
knife.visible = speed == 0
-
+
if acting_player != null:
var acting_character: Character = acting_player.character
acting_character.cutting = speed != 0
+ if not chopping.playing and speed != 0.:
+ chopping.play()
+ print(speed)
+
+func finish():
+ super()
+ chopping.stop()
+
static func interact_target() -> Vector3:
return Vector3(0., 0.575, 0.)
diff --git a/client/map/tiles/oven.gd b/client/map/tiles/oven.gd
index c5df63f8..9ab7fd75 100644
--- a/client/map/tiles/oven.gd
+++ b/client/map/tiles/oven.gd
@@ -29,3 +29,7 @@ func put_item(i: Item):
func take_item() -> Item:
oven.open()
return super()
+
+func finish():
+ super()
+ oven.ding()
diff --git a/client/map/tiles/oven.tscn b/client/map/tiles/oven.tscn
index d6c2785c..7db9b3c4 100644
--- a/client/map/tiles/oven.tscn
+++ b/client/map/tiles/oven.tscn
@@ -1,8 +1,10 @@
-[gd_scene load_steps=8 format=3 uid="uid://bil6eip7uwqvs"]
+[gd_scene load_steps=10 format=3 uid="uid://bil6eip7uwqvs"]
[ext_resource type="Script" path="res://map/tiles/oven_model.gd" id="1_3v43w"]
[ext_resource type="ArrayMesh" uid="uid://blc1q50d5ky86" path="res://map/tiles/oven_base.res" id="1_d1hwl"]
[ext_resource type="ArrayMesh" uid="uid://blb5oew3sh7ek" path="res://map/tiles/oven_door.res" id="2_i5vso"]
+[ext_resource type="PackedScene" uid="uid://bncx0wul2ikrg" path="res://audio/play_random.tscn" id="2_jw4df"]
+[ext_resource type="AudioStream" uid="uid://dkwpv708ihh4c" path="res://map/tiles/sounds/ding.ogg" id="3_arthu"]
[ext_resource type="Script" path="res://map/auto_setup/light_setup.gd" id="4_hjc80"]
[sub_resource type="Animation" id="Animation_yo2v1"]
@@ -42,6 +44,12 @@ _data = {
[node name="Oven" type="Node3D"]
script = ExtResource("1_3v43w")
+[node name="Ding" parent="." instance=ExtResource("2_jw4df")]
+
+[node name="Ding" type="AudioStreamPlayer3D" parent="Ding"]
+stream = ExtResource("3_arthu")
+volume_db = -3.0
+
[node name="Base" type="MeshInstance3D" parent="."]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
mesh = ExtResource("1_d1hwl")
diff --git a/client/map/tiles/sounds/chop.ogg b/client/map/tiles/sounds/chop.ogg
new file mode 100644
index 00000000..d537a330
--- /dev/null
+++ b/client/map/tiles/sounds/chop.ogg
Binary files differ
diff --git a/client/map/tiles/sounds/chop.ogg.import b/client/map/tiles/sounds/chop.ogg.import
new file mode 100644
index 00000000..e810856a
--- /dev/null
+++ b/client/map/tiles/sounds/chop.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cacduep52yibn"
+path="res://.godot/imported/chop.ogg-e2cabb258fe42a1cf48b6867c24ca411.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/tiles/sounds/chop.ogg"
+dest_files=["res://.godot/imported/chop.ogg-e2cabb258fe42a1cf48b6867c24ca411.oggvorbisstr"]
+
+[params]
+
+loop=true
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/client/map/tiles/tile.gd b/client/map/tiles/tile.gd
index 98be64aa..bd507760 100644
--- a/client/map/tiles/tile.gd
+++ b/client/map/tiles/tile.gd
@@ -60,6 +60,8 @@ func interact():
func progress(position_: float, speed: float, warn: bool, _acting_player):
if item != null:
item.progress(position_, speed, warn)
+ if speed == 0.: finish()
+
func finish():
if item != null: