extends Area2D @onready var Dialogue : Control = $Dialogue @onready var InteractibleManager = $InteractibleManager @onready var Sprite = $Sprite2D var Player : Node2D @export var Cost : int = 100 var playerItem : Dictionary = {"Drill" : preload("res://scenes/drill.tscn")} var Textures : Dictionary = {"Shoes" : preload("res://sprites/runningshoes.png"), "Drill" : preload("res://sprites/drill.png")} var items = ["Shoes", "Drill"] @onready var item = items.pick_random() # Called when the node enters the scene tree for the first time. func _ready() -> void: Player = get_tree().get_first_node_in_group("player") match item: "Shoes": Cost = 200 Dialogue.DialogueLabel.text = "Running Shoes" "Drill": Cost = 400 Dialogue.DialogueLabel.text = "Dirt Drill" Sprite.texture = Textures[item] Dialogue.DialogueLabel.text += " - $" + str(Cost) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: if Input.is_action_just_pressed("interact") and InteractibleManager.selected and Player.Money >= Cost: Player.Money -= Cost if item == "Shoes": Player.Speed += 300 Player.GUI.add_item("Shoes") if item == "Drill": var newDrill = playerItem["Drill"].instantiate() Player.add_child(newDrill) Player.GUI.add_item("Drill", 5) queue_free()