# 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 Pot 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/pot.tscn").instantiate()) base.add_child(steam) for i in contents: match i: "cheese-leek-soup": add_child(PotFill.new(self, Color(0.747, 0.77, 0.493))) "mochi-dough": add_child(PotFill.new(self, Color(1.,1.,.3))) "rice": add_child(load("res://map/items/rice_content.tscn").instantiate()) "rice-flour": add_child(PotFill.new(self, Color(1.,1.,.8))) "tomato-juice": add_child(PotFill.new(self, Color(1.,.0,.0))) "tomato-soup": add_child(PotFill.new(self, Color(1.,.3,.2))) "leek": var leek = ItemFactory.produce(i, self) leek.rotation_degrees = Vector3(-75.5, 0, -25) leek.position = Vector3(.03, .1, .25) base.add_child(leek) "cooked-rice": add_child(PotFill.new(self, Color(1.,1.,1.))) "curry": add_child(PotFill.new(self, Color(.75, .45, .1))) "milk": add_child(PotFill.new(self, Color8(250, 250, 250))) _: 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 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.)