90 lines
2.1 KiB
GDScript
90 lines
2.1 KiB
GDScript
extends Quest
|
|
|
|
func _init():
|
|
questName = "Constellation of Baskets"
|
|
questScale = Quest.Scales.Moderate
|
|
questPointReward = 2
|
|
|
|
func get_progress_report():
|
|
var resultText = ""
|
|
|
|
if not SaveManager.get_save_value("ambiQuestStarted", false):
|
|
return "Talk to the Ambrose on the Beach"
|
|
|
|
if SaveManager.get_save_value("ambiQuestComplete", false):
|
|
return "QUEST COMPLETE!
|
|
I found the Basket Plans.
|
|
I arranged the Basket Formation.
|
|
I learned the Infinite Basket Technique."
|
|
|
|
if !notes_check():
|
|
return get_missing_notes_info()
|
|
else:
|
|
return "I need to set up 6 baskets near Ambrose, following his notes I found."
|
|
|
|
return resultText
|
|
|
|
func get_missing_notes_info():
|
|
var result = ""
|
|
if !note_check_1():
|
|
result += "I need to find a note that flew towards the Snak Shak."
|
|
else:
|
|
result += "I found the first note behind the Snak Shak."
|
|
|
|
if !note_check_2():
|
|
result += "\nI need to find a note that flew towards the rocky island."
|
|
else:
|
|
result += "\nI got the second note from Bradrek."
|
|
|
|
if !note_check_2():
|
|
result += "\nI need to find a note that flew north and got stuck in a log."
|
|
else:
|
|
result += "\nI got the third note from inside a mushroom-covered log."
|
|
|
|
return result
|
|
|
|
func notes_check():
|
|
if !note_check_1():
|
|
return false
|
|
if !note_check_2():
|
|
return false
|
|
if !note_check_3():
|
|
return false
|
|
|
|
return true
|
|
|
|
func note_check_1():
|
|
if InventoryManager.get_item_count_by_name("Basket Plan 1", "keyItems") > 0:
|
|
return true
|
|
return false
|
|
|
|
func note_check_2():
|
|
if InventoryManager.get_item_count_by_name("Basket Plan 2", "keyItems") > 0:
|
|
return true
|
|
return false
|
|
|
|
func note_check_3():
|
|
if InventoryManager.get_item_count_by_name("Basket Plan 3", "keyItems") > 0:
|
|
return true
|
|
return false
|
|
|
|
func get_completion_message():
|
|
return "Rewards
|
|
260 Basket Weaving XP
|
|
75 Scavenging XP
|
|
2 Quest Points"
|
|
|
|
func get_requirements_report():
|
|
return "Requirements
|
|
Level 22 Basket Weaving
|
|
Level 15 Scavenging"
|
|
|
|
func complete():
|
|
LevelManager.add_XP("basketWeaving", 2600)
|
|
LevelManager.add_XP("scavenging", 750)
|
|
|
|
func is_completed():
|
|
if SaveManager.get_save_value("ambiQuestComplete", false):
|
|
return true
|
|
return false
|