Files
pomchronicles/quest.gd
2025-08-07 01:02:48 -04:00

52 lines
983 B
GDScript

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"