Cow_Life_Sim_RPG/Quests/Moderate/ConstellationOfBaskets.gd

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