summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/map/tile_factory.gd4
-rw-r--r--client/map/tiles/counter_window.gd29
-rw-r--r--client/map/tiles/counter_window.resbin0 -> 5279 bytes
-rw-r--r--client/map/tiles/counter_window.tscn10
-rw-r--r--client/map/tiles/wall_tile.gd3
-rw-r--r--data/map.yaml15
6 files changed, 52 insertions, 9 deletions
diff --git a/client/map/tile_factory.gd b/client/map/tile_factory.gd
index 9869270d..a9fae032 100644
--- a/client/map/tile_factory.gd
+++ b/client/map/tile_factory.gd
@@ -46,7 +46,9 @@ static func produce(tile_name: String, node_name: String, neighbors: Array) -> T
return Table.new(node_name, neighbors)
"floor":
return Floor.new(node_name, neighbors)
- "window":
+ "counter-window":
+ return CounterWindow.new(node_name, neighbors)
+ "wall-window":
return WallWindow.new(node_name, neighbors)
"door":
return Door.new(node_name, neighbors)
diff --git a/client/map/tiles/counter_window.gd b/client/map/tiles/counter_window.gd
new file mode 100644
index 00000000..233be1fc
--- /dev/null
+++ b/client/map/tiles/counter_window.gd
@@ -0,0 +1,29 @@
+# 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 CounterWindow
+extends WallTile
+
+static func interact_target() -> Vector3:
+ return Vector3(0, 0.625, 0)
+
+func _init(rename: String, neighbors: Array):
+ super(rename, neighbors)
+ match kind:
+ WallKind.STRAIGHT:
+ base.add_child(load("res://map/tiles/counter_window.tscn").instantiate())
+ WallKind.OUTER_CORNER:
+ push_warning("There is no corner counter window!")
+ base.add_child(load("res://map/tiles/counter_window.tscn").instantiate())
diff --git a/client/map/tiles/counter_window.res b/client/map/tiles/counter_window.res
new file mode 100644
index 00000000..2cb0f059
--- /dev/null
+++ b/client/map/tiles/counter_window.res
Binary files differ
diff --git a/client/map/tiles/counter_window.tscn b/client/map/tiles/counter_window.tscn
new file mode 100644
index 00000000..8ae5a54d
--- /dev/null
+++ b/client/map/tiles/counter_window.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=2 format=3 uid="uid://bwgkd65215m7e"]
+
+[ext_resource type="ArrayMesh" uid="uid://lywflqnpelc7" path="res://map/tiles/counter_window.res" id="1_gyddt"]
+
+[node name="CounterWindow" 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_gyddt")
+skeleton = NodePath("")
diff --git a/client/map/tiles/wall_tile.gd b/client/map/tiles/wall_tile.gd
index 08d3c080..b876990e 100644
--- a/client/map/tiles/wall_tile.gd
+++ b/client/map/tiles/wall_tile.gd
@@ -18,7 +18,8 @@ extends FullTile
const WALLS: Array = [
"wall",
- "window",
+ "wall-window",
+ "counter-window",
"door"
]
diff --git a/data/map.yaml b/data/map.yaml
index 36378d1c..207a4f90 100644
--- a/data/map.yaml
+++ b/data/map.yaml
@@ -16,16 +16,16 @@
map:
- "'''''*'''*'''''*'''*'''*'''*''*'"
- "'''*''''*'*'**'''*''**''**''*'''"
- - "''████████████████████████████*'"
- - "''█ctc.ctc.ctc.ctc.ctc█⌷....s█**"
+ - "''██v███v███v███v███v███v██v██*'"
+ - "''vctc.ctc.ctc.ctc.ctc█⌷....sv**"
- "''█.....c.............█⌷....s█''"
- - "'*█c...c...████www██dd█⌷.⌷.⌷⌷█*'"
+ - "'*vc...c...████www██dd█⌷.⌷.⌷⌷v*'"
- "*'█tc.ctc..█⌷.C...ff..d..⌷..H█''"
- "''█c...c...█⌷.C.....~.d..⌷..R█'*"
- - "*'█c.......w..⌷⌷⌷⌷⌷⌷⌷⌷█⌷.⌷..T█*'"
+ - "*'vc.......w..⌷⌷⌷⌷⌷⌷⌷⌷█⌷.⌷..Tv*'"
- "'*█tc......w..........d..⌷..F█*'"
- - "''█c.....ct█⌷S⌷S⌷S⌷⌷oo█⌷⌷⌷..X█*'"
- - "*'████dd██████████████████████*'"
+ - "''vc.....ct█⌷S⌷S⌷S⌷⌷oo█⌷⌷⌷..Xv*'"
+ - "*'██v█dd█v███v██████v███v██v██*'"
- "''''''__''''''''''''''''''''''''"
- "*'''''___________________!______"
- "''''''__________________________"
@@ -35,7 +35,8 @@ tiles:
"⌷": counter
"f": counter
"t": table
- "w": window
+ "w": counter-window
+ "v": wall-window
"s": sink
"o": oven
"S": stove