aboutsummaryrefslogtreecommitdiff
path: root/client/map
diff options
context:
space:
mode:
Diffstat (limited to 'client/map')
-rw-r--r--client/map/item_factory.gd4
-rw-r--r--client/map/items/burned.gd28
-rw-r--r--client/map/items/burned.resbin0 -> 7297 bytes
-rw-r--r--client/map/items/burned.tscn10
-rw-r--r--client/map/items/plate_fill.gd27
-rw-r--r--client/map/items/plate_fill.resbin0 -> 710 bytes
-rw-r--r--client/map/items/plate_fill.tscn12
-rw-r--r--client/map/items/tomato_soup_plate.gd21
8 files changed, 102 insertions, 0 deletions
diff --git a/client/map/item_factory.gd b/client/map/item_factory.gd
index 863a079d..86e69d1d 100644
--- a/client/map/item_factory.gd
+++ b/client/map/item_factory.gd
@@ -66,5 +66,9 @@ static func produce(name: String, owned_by: Node3D) -> Item:
return LeekTomatoJuicePot.new(owned_by)
"tomato-soup-pot":
return TomatoSoupPot.new(owned_by)
+ "tomato-soup-plate":
+ return TomatoSoupPlate.new(owned_by)
+ "burned":
+ return Burned.new(owned_by)
var t:
return GenericItem.new(owned_by, t)
diff --git a/client/map/items/burned.gd b/client/map/items/burned.gd
new file mode 100644
index 00000000..5c98817a
--- /dev/null
+++ b/client/map/items/burned.gd
@@ -0,0 +1,28 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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 Burned
+extends Item
+
+func _init(owned_by_: Node3D):
+ super(owned_by_)
+ var steam: CPUParticles3D = load("res://map/items/steam.tscn").instantiate()
+ steam.emitting = true
+ steam.color = Color(0., 0., 0.)
+ add_child(load("res://map/items/burned.tscn").instantiate())
+ base.add_child(steam)
+
+static func base_position() -> Vector3:
+ return Vector3(0., .2, 0.)
diff --git a/client/map/items/burned.res b/client/map/items/burned.res
new file mode 100644
index 00000000..b8150bc7
--- /dev/null
+++ b/client/map/items/burned.res
Binary files differ
diff --git a/client/map/items/burned.tscn b/client/map/items/burned.tscn
new file mode 100644
index 00000000..23cd450a
--- /dev/null
+++ b/client/map/items/burned.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=2 format=3 uid="uid://b48ximtiqbwvo"]
+
+[ext_resource type="ArrayMesh" uid="uid://bpndpup4f6g6v" path="res://map/items/burned.res" id="1_wu5eo"]
+
+[node name="Burned" type="Node3D"]
+
+[node name="Mesh" type="MeshInstance3D" parent="."]
+transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0, 0, 0)
+mesh = ExtResource("1_wu5eo")
+skeleton = NodePath("")
diff --git a/client/map/items/plate_fill.gd b/client/map/items/plate_fill.gd
new file mode 100644
index 00000000..ead71f11
--- /dev/null
+++ b/client/map/items/plate_fill.gd
@@ -0,0 +1,27 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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 PlateFill
+extends Plate
+
+var fill: MeshInstance3D = load("res://map/items/plate_fill.tscn").instantiate()
+
+func _init(owned_by_: Node3D):
+ super(owned_by_)
+ add_child(fill)
+
+func set_color(c: Color):
+ var mat: BaseMaterial3D = fill.get_active_material(0)
+ mat.albedo_color = c
diff --git a/client/map/items/plate_fill.res b/client/map/items/plate_fill.res
new file mode 100644
index 00000000..b21e4690
--- /dev/null
+++ b/client/map/items/plate_fill.res
Binary files differ
diff --git a/client/map/items/plate_fill.tscn b/client/map/items/plate_fill.tscn
new file mode 100644
index 00000000..0ecb2294
--- /dev/null
+++ b/client/map/items/plate_fill.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=3 format=3 uid="uid://btktb7yb1y0yq"]
+
+[ext_resource type="ArrayMesh" uid="uid://c8l6gbfjikyv3" path="res://map/items/plate_fill.res" id="1_dgygv"]
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5o82g"]
+resource_local_to_scene = true
+
+[node name="PlateFill" type="MeshInstance3D"]
+transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
+mesh = ExtResource("1_dgygv")
+skeleton = NodePath("")
+surface_material_override/0 = SubResource("StandardMaterial3D_5o82g")
diff --git a/client/map/items/tomato_soup_plate.gd b/client/map/items/tomato_soup_plate.gd
new file mode 100644
index 00000000..91b396c4
--- /dev/null
+++ b/client/map/items/tomato_soup_plate.gd
@@ -0,0 +1,21 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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 TomatoSoupPlate
+extends PlateFill
+
+func _init(owned_by_: Node3D):
+ super(owned_by_)
+ set_color(Color(1., .3, .2))