Quest restrictions (2/3) and current quest info
This commit is contained in:
parent
c6d8ae8be0
commit
9bff79e019
13 changed files with 53 additions and 16 deletions
|
|
@ -3,10 +3,7 @@ extends Node
|
|||
var base: Base
|
||||
|
||||
## Quest this node holds
|
||||
var quest: Quest:
|
||||
set(value):
|
||||
has_quest = value != null
|
||||
quest = value
|
||||
var quest: Quest
|
||||
|
||||
## Const of answer when quest is null
|
||||
const NO_QUEST = "BASE_TAKE_QUEST_FAILED"
|
||||
|
|
@ -23,8 +20,11 @@ const RESTRICTIONS = {
|
|||
Quest.Restriction.NoWeapon: "BASE_QUEST_RESTRICTION_NO_WEAPON",
|
||||
Quest.Restriction.Timer: "BASE_QUEST_RESTRICTION_TIMER"
|
||||
}
|
||||
var has_quest: bool = false
|
||||
|
||||
## Answer about fetching quest
|
||||
var answer: String = ""
|
||||
## Last quest info
|
||||
var info: String = ""
|
||||
|
||||
func _ready():
|
||||
get_tree().create_timer(0.05).timeout.connect(fetch_quest)
|
||||
|
|
@ -34,11 +34,17 @@ func fetch_quest():
|
|||
quest = base.quest
|
||||
make_answer(quest)
|
||||
|
||||
## Makes quest fetch answer
|
||||
func make_answer(quest: Quest):
|
||||
var has_quest = quest != null
|
||||
if !has_quest:
|
||||
answer = tr(NO_QUEST)
|
||||
return
|
||||
get_info(quest)
|
||||
answer = tr(HAS_QUEST).format({"quest_info": info})
|
||||
|
||||
## Gets quest info
|
||||
func get_info(quest: Quest):
|
||||
var quest_format = {}
|
||||
match quest.type:
|
||||
Quest.Type.Elimination:
|
||||
|
|
@ -52,11 +58,11 @@ func make_answer(quest: Quest):
|
|||
quest_format["restrictions"] = restrictions
|
||||
quest_format["reward"] = quest.reward_money
|
||||
var quest_info = tr(QUEST_TYPE[quest.type]).format(quest_format)
|
||||
var final_format = {"quest_info": quest_info}
|
||||
answer = tr(HAS_QUEST).format(final_format)
|
||||
info = quest_info
|
||||
|
||||
## Assigns quest to player by returning it and nullifying self quest
|
||||
func assign_to_player() -> Quest:
|
||||
quest.data["given_by"] = base.base_name
|
||||
quest.status = Quest.Status.Taken
|
||||
var temp_quest = quest
|
||||
quest = null
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue