diff options
Diffstat (limited to 'client/map/items/pot_items.gd')
-rw-r--r-- | client/map/items/pot_items.gd | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/client/map/items/pot_items.gd b/client/map/items/pot_items.gd new file mode 100644 index 00000000..fae2ccaa --- /dev/null +++ b/client/map/items/pot_items.gd @@ -0,0 +1,130 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 metamuffin +# 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 PotItems + +class MochiDoughP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,1.,.3)) + +class RiceP extends Pot: + var fill: MeshInstance3D = load("res://map/items/rice_content.tscn").instantiate() + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,1.,.8)) + add_child(fill) + func set_color(c: Color): + var mat: BaseMaterial3D = fill.get_active_material(0) + mat.albedo_color = c + +class RiceFlourP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,1.,.8)) + +class TomatoJuiceP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,0.,0.)) + +class TomatoSoupP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,.3, .2)) + +class RawSteakP extends Pot: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(preload("res://map/items/raw_steak.tscn").instantiate()) + + func progress(p: float, warn: bool): + super(p, warn) + if sound_id == null: + sound_id = Sound.item_progress(self, preload("res://map/items/sounds/frying.ogg"), null) + +class LeekP extends Pot: + func _init(owned_by_: Node3D): + super(owned_by_) + var leek: Node3D = load("res://map/items/leek.tscn").instantiate() + leek.rotation_degrees = Vector3(14.5, 0, -25) + leek.position.x = .03 + base.add_child(leek) + +class LeekTomatoJuiceP extends TomatoJuiceP: + func _init(owned_by_: Node3D): + super(owned_by_) + var leek: Node3D = load("res://map/items/leek.tscn").instantiate() + leek.rotation_degrees = Vector3(14.5, 0, -25) + leek.position.x = .03 + base.add_child(leek) + +class CookedRiceP extends RiceP: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(1.,1.,1.)) + +class BurnedP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + steam.color = Color(0.,0.,0.) + set_color(Color(.1, .1, .1)) + + func _ready(): + steam.emitting = true + +class SteakP extends Pot: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/steak.tscn").instantiate()) + +class TomatoP extends Pot: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/tomato.tscn").instantiate()) + +class LeekTomatoP extends LeekP: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/tomato.tscn").instantiate()) + +class CurryP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color(.75, .45, .1)) + +class MilkP extends PotFill: + func _init(owned_by_: Node3D): + super(owned_by_) + set_color(Color8(250, 250, 250)) + +class LeekMilkP extends MilkP: + func _init(owned_by_: Node3D): + super(owned_by_) + var leek: Node3D = load("res://map/items/leek.tscn").instantiate() + leek.rotation_degrees = Vector3(14.5, 0, -25) + leek.position.x = .03 + base.add_child(leek) + +class LeekMilkTomatoP extends LeekMilkP: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/tomato.tscn").instantiate()) + +class MilkTomatoP extends MilkP: + func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/tomato.tscn").instantiate()) |