最终整理版
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
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("开玩笑的。大部分是。")
|
||||
Reference in New Issue
Block a user