REM/scripts/cooking_pot.gd
2026-03-26 20:37:29 -06:00

39 lines
1.3 KiB
GDScript

extends Node3D
@onready var player: Node3D = get_tree().get_first_node_in_group("player")
@onready var player_ray: Node3D = get_tree().get_first_node_in_group("player_ray")
#var ingredients = {"Pot": "pristine_key"}
var ingredients = []
var dialogue
func _ready() -> void:
## Load in the correct dialogue tree for the character
dialogue = load("res://dialogue/" + self.name.to_lower() + ".dialogue")
func _physics_process(_delta: float) -> void:
if has_node("InteractLabel"):
if player_ray.is_colliding() and player_ray.get_collider() == self:
$InteractLabel.show()
else:
$InteractLabel.hide()
func interact():
#if Global.dialogue_wait == false:
#DialogueManager.show_dialogue_balloon(dialogue, "start")
#print("res://dialogue/" + self.name + ".dialogue")
if player.keys.has("pristine_key") and not ingredients.has("pristine_key"):
ingredients.append("pristine_key")
print(ingredients)
##TODO Ideally find way to not have to for loop
##TODO Make screen asking player what they want to put in the pot
##Creates a rusty key if the player puts the right ingredients into the pot
if player.keys.has("pristine_key") and player.inventory.has("hydrogen_peroxide") and player.inventory.has("vinegar"):
for i in player.keys.size():
if player.keys[i] == "pristine_key":
player.keys[i] = "rusty_key"