extends NpcScript const QUEST_ID = ProgressCommons.Quest.SANDSTORM_NATHAN_WATER # func OnStart(): Mes("你好,我是看守内森。平时我在港口站岗,今天被派来守这个快把人烤熟的矿洞入口。") Mes("如果我说话有点乱,那是太阳先动的手。") var questState : ProgressCommons.SANDSTORM_NATHAN_WATER = GetQuest(QUEST_ID) as ProgressCommons.SANDSTORM_NATHAN_WATER Choice("这里就是沙漠风暴矿洞入口?", OnEntrance) match questState: ProgressCommons.SANDSTORM_NATHAN_WATER.STARTED: Choice("关于那瓶水。", OnWaitingWater) ProgressCommons.SANDSTORM_NATHAN_WATER.REWARDS_WITHDREW: Choice("现在感觉好点了吗?", OnComplete) Choice("我先去别处看看。", Farewell) func Farewell(): Chat("小心脚下,沙子会把旧轨道盖得像没存在过一样。") # Default dialogue flow func OnEntrance(): Mes("没错。旧矿道就在这口井旁边,风从里面吹出来时会带着铁锈味。") Mes("以前矿工每天从这里进出。后来沙暴越来越重,沙蝎和别的东西也把下层当成了巢。") Mes("艾基努的人已经进去了,他们要确认矿道能不能重新开放。说实话,我更希望答案是不能。") Choice("我就是来加入侦察的。", OnJoinThem) func OnJoinThem(): Mes("真的?你看起来不像矿工。没有镐,也没有一脸认命的表情。") Choice("我不是来采矿的,只负责侦察。", OnJustScouting) func OnJustScouting(): Mes("明白了。那就进去吧,里面的人应该正等你。") Mes("先别急着深入。入口层确认安全后,再考虑往废弃矿层和更深处走。") Mes("如果你听见像石头在呼吸的声音,别逞强,先退回来。") Choice("谢谢,内森。", OnNiceDay) if GetQuest(QUEST_ID) == ProgressCommons.SANDSTORM_NATHAN_WATER.INACTIVE: Choice("有什么能帮你的吗?", OnJobEasier) func OnNiceDay(): Chat("等我能回港口看海,那才叫好日子。") # Water quest func OnJobEasier(): Mes("既然你问了,我确实想要一瓶水。") Mes("不是喝的,我还有一点能喝的。") Mes("我只是想把水倒在脸上,让自己别像挂在太阳底下的肉干。") Mes("这请求听起来很蠢,但在这里站半天后,你会理解的。") Choice("我理解,我会帮你找一瓶。", AcceptQuest) Choice("抱歉,我现在有更紧急的事。", RefuseQuest) func RefuseQuest(): Mes("没事,我懂。忘了我提过这事吧。") Mes("大概就是因为我太会抱怨,才被派到这里来。") Action(Farewell) func AcceptQuest(): Mes("我就知道你会懂。水是生命,浇脸上的水也是。") Narrate("内森低头看了看脚边被风埋住一半的靴子。") Mes("我会在这里等你。反正我想走也走不了。") SetQuest(QUEST_ID, ProgressCommons.SANDSTORM_NATHAN_WATER.STARTED) if HasItem(DB.GetCellHash("Water Bottle")): Choice("我身上正好有一瓶。", OnDeliverWater) Choice("我去找找。", Farewell) func OnWaitingWater(): Mes("是你啊。抱歉,风沙一大,我看谁都像会走路的土堆。") Mes("找到水瓶了吗?") if HasItem(DB.GetCellHash("Water Bottle")): Choice("找到了。", OnDeliverWater) Choice("还没有,我继续找。", Farewell) func OnDeliverWater(): var waterBottleHash : int = DB.GetCellHash("Water Bottle") if HasItem(waterBottleHash): RemoveItem(waterBottleHash) SetQuest(QUEST_ID, ProgressCommons.SANDSTORM_NATHAN_WATER.REWARDS_WITHDREW) Mes("谢谢你,朋友。终于能喘口气了。") Narrate("内森把你带来的水迅速倒在脸上和脖子上。") Narrate("水顺着盔甲缝隙流进沙地,很快就被热风带走。") AddExp(50) AddGP(100) Action(OnComplete) else: Action(Farewell) func OnComplete(): Mes("这正是我需要的。你不知道这有多救命。") Mes("现在我只需要再来一瓶。") Chat("开玩笑的。大部分是。")