class_name Quest extends Object enum Status{ OPEN, TAKEN, IN_PROGRESS, COMPLETED } var name : String = "A Basic Quest" var desc : String = "The default quest, with no special anything." var difficulty : int = 1 var location : String var steps : int = 1 var rewards : Dictionary var step_outcomes : Array = [ {"pass":"I succeeded!", "fail":"I failed!"} ] var progress : float = 0 var current_step : int = 0 var taken : bool = false var questor : AdventurerData = null signal status_changed(status : Status) func _init() -> void: print("TEST!") func initiate(member : AdventurerData) -> void: questor = member taken = true status_changed.emit(Status.TAKEN) #TODO: Put in quest requirements func is_eligible(member : AdventurerData) -> bool: return !taken func difficulty_name() -> String: match(difficulty): 0: return "None" 1: return "Trivial" 2: return "Moderate" 3: return "Severe" 4: return "Extreme" 5: return "Legendary" _: return "Unknown"