From ff8fa17c70610a61d6e5b9ceec31088cddb1b9a5 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 7 Jun 2018 09:46:20 -0300 Subject: I still need the Cave Of Trials, but this concept script is done --- npc/003-1-1/yetiking.txt | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'npc/003-1-1') diff --git a/npc/003-1-1/yetiking.txt b/npc/003-1-1/yetiking.txt index 681118fcc..09d2d5179 100644 --- a/npc/003-1-1/yetiking.txt +++ b/npc/003-1-1/yetiking.txt @@ -8,9 +8,10 @@ // TODO: OnPCDieEvent must reset quest // setnpcdisplay getarg(0), NPC_YETI_KING + 003-1-1,94,21,0 script #YetiKingSummon NPC_SUMMONING_CIRC,{ .@q=getq(HurnscaldQuest_Celestia); - if (.@q == 1) goto L_Summon; + if (.@q == 1 && !.inUse) goto L_Summon; end; L_Summon: @@ -25,7 +26,8 @@ L_Die: close; OnTimer1000: - setnpcdisplay getarg(0), NPC_YETI_KING; + setnpcdisplay .name$, NPC_YETI_KING; + .inUse=1; end; OnTimer2000: @@ -38,10 +40,11 @@ OnTimer5000: stopnpctimer; } else { npctalk("You're courageous to summon me, I'll give you that."); - areatimer 0, "006-1", 20, 20, 70, 60, 10, "#YetiKingSummon::OnSummonTalk"; + areatimer 0, "003-1-1", 93, 20, 97, 25,3000, "#YetiKingSummon::OnSummonTalk"; } end; +// You can only talk to him with SummonTalk. Only one player will summon. OnSummonTalk: .@q=getq(HurnscaldQuest_Celestia); if (.@q != 1) @@ -51,12 +54,15 @@ OnSummonTalk: mes ""; select l("I'm sorry, these words just came to my mind."), - l("Celestia asks for your help."); + l("I did not summon you, I'm just a passer-by. Sorry."), + rif(.@q == 1, l("Celestia asks for your help.")); mes ""; if (@menu == 1) goto L_Die; + if (@menu == 2) + close; mesn "Dah Yeti King!!"; mesq l("Yeah yeah yeah, you're not the first one to come talking about that to me."); @@ -81,11 +87,23 @@ OnSummonTalk: mesn "Dah Yeti King!!"; mesq l("I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!"); setq HurnscaldQuest_Celestia, 2; - initnpctimer; + areatimer 0, "003-1-1", 93, 20, 97, 25, 15000, "#YetiKingSummon::OnWarper"; + npctalk l("Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!", strcharinfo(0)); + close; + +OnWarper: + mes col("Warp to the Cave Of Trials? You still get EXP penalty!",9); + if (askyesno() == ASK_YES) { + warp "000-1", 0, 0; + } + setnpcdisplay .name$, NPC_SUMMONING_CIRC; + .inUse=0; + closedialog; close; OnInit: .sex = G_OTHER; .distance = 1; + .inUse=0; // Prevent multiple summons and etc. end; } -- cgit v1.2.3-60-g2f50