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