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"