More work on taking quests

This commit is contained in:
2025-08-06 04:17:27 -04:00
parent 2c99ece532
commit d705ed0496
22 changed files with 270 additions and 72 deletions

36
quest_window.gd Normal file
View File

@@ -0,0 +1,36 @@
extends Window
var quest : Quest
func setup(qst : Quest, board : bool) -> void:
quest = qst
quest.status_changed.connect(_on_quest_status_changed)
%NameField.text = quest.name
%DifficultyField.text = quest.difficulty_name()
%LocationField.text = quest.location
if !board:
%AcceptButton.hide()
if quest.taken:
%StatusField.text = "Taken"
%AcceptButton.disabled = true
else:
%StatusField.text = "OPEN"
%AcceptButton.disabled = false
func _on_quest_status_changed(status : Quest.Status) -> void:
if status == Quest.Status.COMPLETED:
queue_free()
if quest.taken:
%StatusField.text = "Taken"
%AcceptButton.disabled = true
else:
%StatusField.text = "OPEN"
%AcceptButton.disabled = false
func _on_accept_pressed() -> void:
Guild.assign_quest(Game.player.data, quest)
func _on_close_button_pressed() -> void:
queue_free()