From 9d2966c97b0022d48baf4d95d12926be9dc5750c Mon Sep 17 00:00:00 2001 From: nokoe Date: Mon, 29 Sep 2025 21:26:09 +0200 Subject: add basket as item --- client/map/deep_fryer_basket.res | Bin 0 -> 14285 bytes client/map/item_factory.gd | 1 + client/map/items/basket.gd | 44 +++++++++++++++++++++++++++++++++ client/map/items/basket.gd.uid | 1 + client/map/items/basket.tscn | 9 +++++++ client/map/tiles/deep_fryer.gd | 2 +- client/map/tiles/deep_fryer.tscn | 7 +----- client/map/tiles/deep_fryer_basket.res | Bin 14285 -> 0 bytes 8 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 client/map/deep_fryer_basket.res create mode 100644 client/map/items/basket.gd create mode 100644 client/map/items/basket.gd.uid create mode 100644 client/map/items/basket.tscn delete mode 100644 client/map/tiles/deep_fryer_basket.res diff --git a/client/map/deep_fryer_basket.res b/client/map/deep_fryer_basket.res new file mode 100644 index 00000000..afcb1889 Binary files /dev/null and b/client/map/deep_fryer_basket.res differ diff --git a/client/map/item_factory.gd b/client/map/item_factory.gd index 9a4200e5..8261650d 100644 --- a/client/map/item_factory.gd +++ b/client/map/item_factory.gd @@ -62,6 +62,7 @@ static func produce(raw_name: String, owned_by: Node3D) -> Item: "dirty-plate": return Plate.new(owned_by, ["dirt"]) "pot": return Pot.new(owned_by, item.contents) + "basket": return Basket.new(owned_by, item.contents) "pan": return Pan.new(owned_by, item.contents) "foodprocessor": return FoodProcessor.new(owned_by, item.contents) "glass": return Glass.new(owned_by, item.contents) diff --git a/client/map/items/basket.gd b/client/map/items/basket.gd new file mode 100644 index 00000000..459d6b81 --- /dev/null +++ b/client/map/items/basket.gd @@ -0,0 +1,44 @@ +# Hurry Curry! - a game about cooking +# Copyright (C) 2025 Hurry Curry! contributors +# +# 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 . +# +class_name Basket +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/basket.tscn").instantiate()) + base.add_child(steam) + + for i in contents: + match i: + _: + base.add_child(ItemFactory.produce(i, self)) + +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 + +static func base_position() -> Vector3: + return Vector3(0.,0.015, 0.) diff --git a/client/map/items/basket.gd.uid b/client/map/items/basket.gd.uid new file mode 100644 index 00000000..deef2f3b --- /dev/null +++ b/client/map/items/basket.gd.uid @@ -0,0 +1 @@ +uid://c3aiw6tx8ebql diff --git a/client/map/items/basket.tscn b/client/map/items/basket.tscn new file mode 100644 index 00000000..c6f92a50 --- /dev/null +++ b/client/map/items/basket.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://bu0o7coy26rwx"] + +[ext_resource type="ArrayMesh" uid="uid://bqwi4qvtgjlk5" path="res://map/deep_fryer_basket.res" id="1_7yj46"] + +[node name="Basket" 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_7yj46") diff --git a/client/map/tiles/deep_fryer.gd b/client/map/tiles/deep_fryer.gd index c50f1fd0..b5951630 100644 --- a/client/map/tiles/deep_fryer.gd +++ b/client/map/tiles/deep_fryer.gd @@ -23,4 +23,4 @@ func _init(ctx: TileFactory.TileCC): base.add_child(deep_fryer) static func interact_target() -> Vector3: - return Vector3(0., 0.575, 0.) + return Vector3(0., 0.55, 0.) diff --git a/client/map/tiles/deep_fryer.tscn b/client/map/tiles/deep_fryer.tscn index f16e363e..cb854ec0 100644 --- a/client/map/tiles/deep_fryer.tscn +++ b/client/map/tiles/deep_fryer.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=5 format=3 uid="uid://bys6bffu5srpt"] +[gd_scene load_steps=4 format=3 uid="uid://bys6bffu5srpt"] [ext_resource type="ArrayMesh" uid="uid://bketpomfy35to" path="res://map/tiles/deep_fryer_base.res" id="1_e4g0d"] -[ext_resource type="ArrayMesh" uid="uid://bqwi4qvtgjlk5" path="res://map/tiles/deep_fryer_basket.res" id="2_kukwf"] [ext_resource type="ArrayMesh" uid="uid://c7k6gevpwdbv0" path="res://map/tiles/deep_fryer_fill.res" id="3_1rwcx"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1rwcx"] @@ -15,10 +14,6 @@ roughness = 0.1 transform = Transform3D(0.75, 0, 0, 0, -3.278354e-08, -0.75, 0, 0.75, -3.278354e-08, 0, 0.5, 0) mesh = ExtResource("1_e4g0d") -[node name="Basket" type="MeshInstance3D" parent="."] -transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0, 0.55, 0) -mesh = ExtResource("2_kukwf") - [node name="Fill" type="MeshInstance3D" parent="."] transform = Transform3D(0.75, 0, 0, 0, -3.278354e-08, -0.75, 0, 0.75, -3.278354e-08, 0, 0.5, 0) mesh = ExtResource("3_1rwcx") diff --git a/client/map/tiles/deep_fryer_basket.res b/client/map/tiles/deep_fryer_basket.res deleted file mode 100644 index afcb1889..00000000 Binary files a/client/map/tiles/deep_fryer_basket.res and /dev/null differ -- cgit v1.2.3-70-g09d2