feat(rooms): add RoomChest nodes to Floor 2 and Home rooms

Add UltrasoundCart, DeliveryCabinet, NurseryShelf, GardenTable, GardenStorage
chest nodes to their respective scenes. All 10 new tests pass (196 total).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Steven Wroblewski
2026-05-09 01:24:18 +02:00
parent 9aded82dbb
commit cd3ce7bf6e
5 changed files with 100 additions and 4 deletions
+7 -1
View File
@@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://cozypaw_deliveryroom"] [gd_scene load_steps=5 format=3 uid="uid://cozypaw_deliveryroom"]
[ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"]
[ext_resource type="PackedScene" path="res://scenes/objects/DeliveryBed.tscn" id="2_deliverybed"] [ext_resource type="PackedScene" path="res://scenes/objects/DeliveryBed.tscn" id="2_deliverybed"]
[ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"]
[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"]
[node name="DeliveryRoom" type="Node2D"] [node name="DeliveryRoom" type="Node2D"]
@@ -42,3 +43,8 @@ position = Vector2(880, 540)
position = Vector2(540, 480) position = Vector2(540, 480)
script = ExtResource("3_snap") script = ExtResource("3_snap")
pose = "lying" pose = "lying"
[node name="DeliveryCabinet" type="Node2D" parent="."]
position = Vector2(150.0, 400.0)
script = ExtResource("4_chest")
chest_id = "delivery_cabinet"
+7 -1
View File
@@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://cozypaw_nursery"] [gd_scene load_steps=5 format=3 uid="uid://cozypaw_nursery"]
[ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"]
[ext_resource type="PackedScene" path="res://scenes/objects/Cradle.tscn" id="2_cradle"] [ext_resource type="PackedScene" path="res://scenes/objects/Cradle.tscn" id="2_cradle"]
[ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"]
[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"]
[node name="Nursery" type="Node2D"] [node name="Nursery" type="Node2D"]
@@ -66,3 +67,8 @@ position = Vector2(860, 240)
script = ExtResource("3_snap") script = ExtResource("3_snap")
pose = "lying" pose = "lying"
baby_only = true baby_only = true
[node name="NurseryShelf" type="Node2D" parent="."]
position = Vector2(640.0, 260.0)
script = ExtResource("4_chest")
chest_id = "nursery_shelf"
+7 -1
View File
@@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://cozypaw_ultrasound"] [gd_scene load_steps=5 format=3 uid="uid://cozypaw_ultrasound"]
[ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"]
[ext_resource type="PackedScene" path="res://scenes/objects/UltrasoundMachine.tscn" id="2_ultrasound"] [ext_resource type="PackedScene" path="res://scenes/objects/UltrasoundMachine.tscn" id="2_ultrasound"]
[ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"]
[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"]
[node name="Ultrasound" type="Node2D"] [node name="Ultrasound" type="Node2D"]
@@ -57,3 +58,8 @@ position = Vector2(480, 450)
position = Vector2(470, 480) position = Vector2(470, 480)
script = ExtResource("3_snap") script = ExtResource("3_snap")
pose = "lying" pose = "lying"
[node name="UltrasoundCart" type="Node2D" parent="."]
position = Vector2(150.0, 400.0)
script = ExtResource("4_chest")
chest_id = "ultrasound_cart"
+12 -1
View File
@@ -1,9 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://cozypaw_gardenparty"] [gd_scene load_steps=6 format=3 uid="uid://cozypaw_gardenparty"]
[ext_resource type="PackedScene" path="res://scenes/objects/GiftBox.tscn" id="1_giftbox"] [ext_resource type="PackedScene" path="res://scenes/objects/GiftBox.tscn" id="1_giftbox"]
[ext_resource type="PackedScene" path="res://scenes/objects/TeaPot.tscn" id="2_teapot"] [ext_resource type="PackedScene" path="res://scenes/objects/TeaPot.tscn" id="2_teapot"]
[ext_resource type="PackedScene" path="res://scenes/objects/HomeButton.tscn" id="3_homebtn"] [ext_resource type="PackedScene" path="res://scenes/objects/HomeButton.tscn" id="3_homebtn"]
[ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="4_snap"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="4_snap"]
[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="5_chest"]
[node name="GardenParty" type="Node2D"] [node name="GardenParty" type="Node2D"]
@@ -93,3 +94,13 @@ script = ExtResource("4_snap")
[node name="SnapTableRight" type="Node2D" parent="."] [node name="SnapTableRight" type="Node2D" parent="."]
position = Vector2(750, 455) position = Vector2(750, 455)
script = ExtResource("4_snap") script = ExtResource("4_snap")
[node name="GardenTable" type="Node2D" parent="."]
position = Vector2(200.0, 400.0)
script = ExtResource("5_chest")
chest_id = "garden_table"
[node name="GardenStorage" type="Node2D" parent="."]
position = Vector2(900.0, 400.0)
script = ExtResource("5_chest")
chest_id = "garden_storage"
+67
View File
@@ -0,0 +1,67 @@
## Tests for RoomChest presence and item counts in Floor 2 and Home rooms.
extends GutTest
func test_ultrasound_has_chest_ultrasound_cart() -> void:
var room: Node = preload("res://scenes/rooms/floor2/Ultrasound.tscn").instantiate()
add_child_autofree(room)
assert_not_null(room.get_node_or_null("UltrasoundCart"))
func test_ultrasound_cart_has_three_items() -> void:
var room: Node = preload("res://scenes/rooms/floor2/Ultrasound.tscn").instantiate()
add_child_autofree(room)
var chest: RoomChest = room.get_node_or_null("UltrasoundCart") as RoomChest
assert_eq(chest.get_item_config_count(), 3)
func test_delivery_room_has_chest_delivery_cabinet() -> void:
var room: Node = preload("res://scenes/rooms/floor2/DeliveryRoom.tscn").instantiate()
add_child_autofree(room)
assert_not_null(room.get_node_or_null("DeliveryCabinet"))
func test_delivery_cabinet_has_three_items() -> void:
var room: Node = preload("res://scenes/rooms/floor2/DeliveryRoom.tscn").instantiate()
add_child_autofree(room)
var chest: RoomChest = room.get_node_or_null("DeliveryCabinet") as RoomChest
assert_eq(chest.get_item_config_count(), 3)
func test_nursery_has_chest_nursery_shelf() -> void:
var room: Node = preload("res://scenes/rooms/floor2/Nursery.tscn").instantiate()
add_child_autofree(room)
assert_not_null(room.get_node_or_null("NurseryShelf"))
func test_nursery_shelf_has_three_items() -> void:
var room: Node = preload("res://scenes/rooms/floor2/Nursery.tscn").instantiate()
add_child_autofree(room)
var chest: RoomChest = room.get_node_or_null("NurseryShelf") as RoomChest
assert_eq(chest.get_item_config_count(), 3)
func test_garden_party_has_chest_garden_table() -> void:
var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate()
add_child_autofree(room)
assert_not_null(room.get_node_or_null("GardenTable"))
func test_garden_table_has_two_items() -> void:
var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate()
add_child_autofree(room)
var chest: RoomChest = room.get_node_or_null("GardenTable") as RoomChest
assert_eq(chest.get_item_config_count(), 2)
func test_garden_party_has_chest_garden_storage() -> void:
var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate()
add_child_autofree(room)
assert_not_null(room.get_node_or_null("GardenStorage"))
func test_garden_storage_has_two_items() -> void:
var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate()
add_child_autofree(room)
var chest: RoomChest = room.get_node_or_null("GardenStorage") as RoomChest
assert_eq(chest.get_item_config_count(), 2)