extends NpcScript # const QUEST_ID : int = ProgressCommons.Quest.TULIMSHAR_OLD_FRIENDSHIP var sealedLettersID : int = DB.GetCellHash("Sealed Letters") var heavyEnvelopeID : int = DB.GetCellHash("Heavy Envelope") # func OnStart(): var questState : int = GetQuest(QUEST_ID) match questState: ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.INACTIVE: QuestInactive() ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.STARTED: QuestStarted() ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.ENVELOPES_FOUND: QuestEnvelopesFound() ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.LETTERS_DELIVERED: QuestRewards() ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.REWARDS_WITHDREW: QuestCompleted() func QuestInactive(): Mes("小心脚下,新的仙人掌刚冒头,刺比看起来更快。") Mes("抱歉,我不太习惯有人来这张长椅边聊天。离开宫里以后,访客就少多了。") Mes("我以前是宫廷顾问。几年前辞了职,那地方每个人肩上都压着太多东西。") Mes("现在这里只有我、土和仙人掌。至少种出来的东西能帮城里人熬过旱季。") Mes("你有没有反复想过同一个决定?如果当时换一种说法、晚一点开口,事情会不会完全不同?") Choice("你在想什么?", Lore) Choice("我该走了。", Dismiss) func QuestStarted(): Mes("还在找吗?西墙走廊不欢迎没有许可的人。") Choice("再说说博恩斯。", Lore) Choice("信在哪里?", Directions) Choice("我会处理。", Dismiss) func QuestEnvelopesFound(): Mes("你找到了。好,好。") Mes("把封好的信交给议员博恩斯。我刚才看见你离开后,他立刻进了走廊。") Mes("他的直觉一直很准。也可能是你太努力不被发现,反而弄出了动静。总之,他会在那里面。") func QuestRewards(): if HasItem(heavyEnvelopeID): Mes("你回来了。他说了什么。") Mes("这个信封,很重。") Mes("...") Mes("金币。他把金币放在这里,还写了我的名字。") Mes("女王 第一次把我们派到同一段城墙时,我们各自留了一份钱给对方。万一哪天事情糟到必须离开,至少还有路费。") Mes("我以为我走之后,他早就把这份用掉了。如果他真用了,我也不会怪他。") Mes("我配不上这封信。它该给一个比我更懂得做朋友的人。") Mes("拿着吧。你一个下午做成的事,比我们这些年做得都多。") RemoveItem(heavyEnvelopeID) AddGP(1000) SetQuest(QUEST_ID, ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.REWARDS_WITHDREW) else: Mes("你找到博恩斯了吗?他在西墙走廊里。") func QuestCompleted(): Mes("今年的仙人掌长势不错。看起来,只要根还在,很多东西都能重新开始。") Mes("我一直在想,我应该去那条走廊。不是今天,但我已经决定会去。") Mes("他一直留着那些信。这说明有些门并没有真的关死,对吧?") func Lore(): Mes("我曾经有个同僚,议员博恩斯。很聪明的人,什么都能修,什么都能造。") Mes("只是他话少。比起解释一堵墙为什么该重修,他宁愿直接把墙拆了再砌好。") Mes("而我负责和人打交道:排班、调解争执、让每个人知道下一步该做什么。") Mes("我们一起撑住这些城墙很多年。在 女王 手下,这不算小事。") Choice("后来发生了什么?", Conflict) Choice("我该走了。", Dismiss) func Conflict(): Mes("女王 的命令越来越多,而且永远要按她的方式做。") Mes("我开始制定规程。什么事都写流程,什么错误都加一条规则。我以为只要把一切整理清楚,压力就不会压垮大家。") Mes("博恩斯不这么看。他说我只是把更多压力堆到已经快撑不住的人身上。") Mes("可他也会直接动手、直接决定,不告诉我,也不告诉别人。我总是在事后才知道。") Mes("我们都想守住同一段墙。只是走着走着,我们不再讨论怎么守,而是在争谁的办法才算正确。") Mes("现在回头看,我犯过太多错,没资格说自己全对。但那时候,我们谁也不肯退一步。") Mes("最后他让我离开。我真的离开了。我不为这件事骄傲,只是当时觉得自己碍了所有人的路。") Mes("那已经是很多年前了,可我还是常常想起。") if GetQuest(QUEST_ID) == ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.INACTIVE: Choice("我能帮上什么吗?", Quest) Choice("听起来很遗憾。", Dismiss) func Quest(): Mes("其实,也许有。") Mes("就在我们左边的西墙走廊尽头,穿过议员博恩斯的巡逻区,有个小房间,里面有一排书架。") Mes("书架上有一个信封。那是我们当年被 女王 分派到不同岗位时写给彼此的信,在一切变坏之前。") Mes("我不知道它能不能改变什么。但也许他重新读到那些字,会想起我们并不总是这样。") Mes("走廊有守卫巡逻。贴着阴影走,别站进亮处。被发现的话,守卫会把你带出去。") Choice("我去取。", Accept) Choice("现在不行。", Decline) func Directions(): Mes("就在左边西墙走廊的尽头,图书架上方。") Mes("记住,别进亮处。守卫接到的是严格命令:没有许可的人一律带离。") func Accept(): SetQuest(QUEST_ID, ProgressCommons.TULIMSHAR_OLD_FRIENDSHIP.STARTED) Mes("谢谢你,真的。") Directions() func Decline(): Chat("我明白。这对陌生人来说,确实要求太多了。") func Dismiss(): Chat("好吧。仙人掌不会自己照顾自己。")