aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-15 11:37:54 +0200
committertpart <tpart120@proton.me>2024-09-15 11:37:54 +0200
commit4ae13902faf58d34e3ee9167171b1e7dbbd0700e (patch)
tree3de7bd5e83688ef8d0621e7a571bbc70e9ac8867
parent1a42e49d6ed33bdce92e673f2d38f0d3104d1b6b (diff)
downloadhurrycurry-4ae13902faf58d34e3ee9167171b1e7dbbd0700e.tar
hurrycurry-4ae13902faf58d34e3ee9167171b1e7dbbd0700e.tar.bz2
hurrycurry-4ae13902faf58d34e3ee9167171b1e7dbbd0700e.tar.zst
Add pan model; Implement item
-rw-r--r--client/map/item_factory.gd1
-rw-r--r--client/map/items/pan.gd46
-rw-r--r--client/map/items/pan.resbin0 -> 12348 bytes
-rw-r--r--client/map/items/pan.tscn10
4 files changed, 57 insertions, 0 deletions
diff --git a/client/map/item_factory.gd b/client/map/item_factory.gd
index 97edd66f..fb7e1131 100644
--- a/client/map/item_factory.gd
+++ b/client/map/item_factory.gd
@@ -49,6 +49,7 @@ static func produce(full_name: String, owned_by: Node3D) -> Item:
"sliced-lettuce": return SlicedLettuce.new(owned_by)
"pot": return Pot.new(owned_by, contents)
+ "pan": return Pan.new(owned_by, contents)
"foodprocessor": return FoodProcessor.new(owned_by, contents)
"glass": return Glass.new(owned_by, contents)
"plate": return Plate.new(owned_by, contents)
diff --git a/client/map/items/pan.gd b/client/map/items/pan.gd
new file mode 100644
index 00000000..af245316
--- /dev/null
+++ b/client/map/items/pan.gd
@@ -0,0 +1,46 @@
+# Hurry Curry! - a game about cooking
+# Copyright 2024 nokoe
+# Copyright 2024 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
+# the Free Software Foundation, version 3 of the License only.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+class_name Pan
+extends Item
+
+var steam: CPUParticles3D = load("res://map/items/steam.tscn").instantiate()
+
+func _init(owned_by_: Node3D, contents: Array):
+ super(owned_by_)
+ add_child(load("res://map/items/pan.tscn").instantiate())
+ base.add_child(steam)
+ for c in contents:
+ base.add_child(ItemFactory.produce(c, owned_by_))
+
+func progress(position_: float, speed: float, warn: bool):
+ super(position_, speed, warn)
+ steam.emitting = true
+ if warn:
+ steam.color = Color(.2, .2, .2)
+ else:
+ steam.color = Color(1.,1.,1.)
+
+func finish():
+ super()
+ steam.emitting = false
+
+func setup_sounds():
+ take_sound.setup([preload("res://map/items/sounds/pot_take.ogg")])
+ put_sound.setup([preload("res://map/items/sounds/pot_put.ogg")])
+
+static func base_position() -> Vector3:
+ return Vector3(0.,0.015, 0.)
diff --git a/client/map/items/pan.res b/client/map/items/pan.res
new file mode 100644
index 00000000..03dcf8f9
--- /dev/null
+++ b/client/map/items/pan.res
Binary files differ
diff --git a/client/map/items/pan.tscn b/client/map/items/pan.tscn
new file mode 100644
index 00000000..661814d9
--- /dev/null
+++ b/client/map/items/pan.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=2 format=3 uid="uid://b1fuw04fcbko8"]
+
+[ext_resource type="ArrayMesh" uid="uid://be0d8a6no06na" path="res://map/items/pan.res" id="1_m08s2"]
+
+[node name="Pan" type="Node3D"]
+
+[node name="Mesh" type="MeshInstance3D" parent="."]
+transform = Transform3D(-2.18557e-08, 0, -0.5, 0, 0.5, 0, 0.5, 0, -2.18557e-08, 0, 0, 0)
+mesh = ExtResource("1_m08s2")
+skeleton = NodePath("")