Quest restrictions (2/3) and current quest info

This commit is contained in:
2ndbeam 2024-06-02 20:40:10 +03:00
commit 9bff79e019
13 changed files with 53 additions and 16 deletions

View file

@ -14,6 +14,11 @@ const TAKE_QUEST = "BASE_TAKE_QUEST"
const ACCEPT_QUEST = "BASE_QUEST_ACCEPT"
## This message will trigger quest node to take quest from player
const CANCEL_QUEST = "BASE_QUEST_CANCEL"
## This message will trigger quest node to get quest info
const QUEST_INFO = "BASE_QUEST_INFO"
## Quest progress template
const QUEST_PROGRESS = "{cur} / {max}"
@onready var dialogue = $DialogueView
@onready var buy_sell = $"../../BuySell"
@ -48,13 +53,22 @@ func send_message(msg: Message):
format["amount"] = actions_menu.buy_sell_amount
format["item_name"] = item_name
TAKE_QUEST:
quest.make_answer(quest.quest)
format["answer"] = quest.answer
if quest.answer == tr(quest.NO_QUEST):
get_tree().create_timer(0.05).timeout.connect(actions_menu.transit_menu.bind(0))
ACCEPT_QUEST:
actions_menu.player_ship.quest = quest.assign_to_player()
var player_ship = actions_menu.player_ship
player_ship.quest = quest.assign_to_player()
player_ship.quest.quest_failed.connect(player_ship.on_quest_failed)
CANCEL_QUEST:
actions_menu.player_ship.quest = null
QUEST_INFO:
var cur_quest = actions_menu.player_ship.quest
quest.get_info(cur_quest)
format["answer"] = quest.info
format["given_by"] = tr(cur_quest.data["given_by"])
format["progress"] = QUEST_PROGRESS.format({"cur": cur_quest.progress, "max": cur_quest.progress_max})
var new_msg = tr(msg.fact + "_RECEIVED").format(format)
var old_len = len(dialogue.get_parsed_text())