courier/scripts/item.gd

52 lines
1.3 KiB
GDScript

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 = 600
Dialogue.DialogueLabel.text = "Running Shoes"
"Drill":
Cost = 1800
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()