Vast improvements and a working finite state machine, working on new guild member registration.

This commit is contained in:
2025-07-24 08:41:19 -04:00
parent 90151369de
commit dc30d1b15c
100 changed files with 1987 additions and 194 deletions

35
guild.gd Normal file
View File

@@ -0,0 +1,35 @@
extends Node
const visitors = {
"test": {
"data":preload("res://test_adventurer.tscn"),
"sprite":preload("res://test_adventurer_sprite.tscn")
}
}
var members : Array[AdventurerData] = []
var quests : Dictionary[Quest,bool] = {}
var hall : Guildhall = null
var visitor_spawner : VisitorSpawner = null
func register_guild_member(member : AdventurerData) -> void:
members.append(member)
func add_quest(quest : Quest) -> void:
quests[quest] = false
Game.quest_log.add_entry(quest)
func assign_quest(member : AdventurerData, quest : Quest) -> void:
member.assign_quest(quest)
quests[quest] = true #Mark it as active
Game.add_quest_progress_bar(quest)
func spawn_visitor(pos : Vector2) -> void:
var visitor : AdventurerData = visitors["test"].data.instantiate()
var sprite : Adventurer = visitors["test"].sprite.instantiate()
sprite.data = visitor
hall.add_sprite(sprite)
sprite.global_position = pos