51 lines
2.3 KiB
GDScript
51 lines
2.3 KiB
GDScript
extends NpcScript
|
|
|
|
#
|
|
const QUEST_ID : int = ProgressCommons.Quest.TULIMSHAR_OLD_FRIENDSHIP
|
|
var sealedLettersID : int = DB.GetCellHash("Sealed Letters")
|
|
|
|
#
|
|
func OnStart():
|
|
var questState : int = GetQuest(QUEST_ID)
|
|
match questState:
|
|
ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.ENVELOPES_FOUND:
|
|
ReceiveLetters()
|
|
ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.LETTERS_DELIVERED, \
|
|
ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.REWARDS_WITHDREW:
|
|
FreeRoaming()
|
|
_:
|
|
TulimsharWestWallLightTrigerGlobal.CallGuard(own)
|
|
|
|
func ReceiveLetters():
|
|
if HasItem(sealedLettersID):
|
|
Mes("你是谁?")
|
|
Choice("弗罗斯特让我来的。他让我把这些给你。", GiveLetters)
|
|
else:
|
|
Mes("你看起来有话要说。可你手里什么都没有。")
|
|
Mes("有东西要给我时再回来。我还有墙要巡。")
|
|
|
|
func GiveLetters():
|
|
Mes("什么。他让你带这些来?")
|
|
Narrate("议员博恩斯翻看那些信,手指在封口处停了很久。")
|
|
Mes("我认得这笔迹。")
|
|
Mes("很旧了。那时 女王 还把我们分派在不同岗位,我们甚至还没守同一段墙。")
|
|
Mes("弗罗斯特处理人。我处理石头。分工就是这样。")
|
|
Mes("有一阵子,这办法很好。")
|
|
Mes("后来 女王 不断加压。更多命令,更多临时要求,而且永远不能只把事情做好。")
|
|
Mes("弗罗斯特开始给一切立规程。我说,我们已经够难了,不需要再多一层压力。")
|
|
Mes("他说我把他关在外面,总是不告诉任何人就做决定。")
|
|
Mes("也许他说得对。语言不是我的工具,从来不是。")
|
|
Mes("我只想把东西建好,然后让别人停止争论我为什么这么建。")
|
|
Mes("最后我叫他走。他走了。故事到此为止。")
|
|
Mes("...")
|
|
Mes("显然并没有。否则我不会还在这里,守着一段没人真的想攻破的墙。")
|
|
Mes("除了你。不过既然弗罗斯特让你来,那另当别论。")
|
|
RemoveItem(sealedLettersID)
|
|
SetQuest(QUEST_ID, ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.LETTERS_DELIVERED)
|
|
Mes("把这个信封带回去给他。他会知道里面是什么。")
|
|
Mes("再告诉他,城墙还在。就这句。他会明白。")
|
|
|
|
func FreeRoaming():
|
|
Mes("又是你。走廊现在对你开放,我说话算数。")
|
|
Mes("我旁边的图书架后有条通道,可以通到城墙外。知道的人不多,别让它变成市场传闻。")
|