summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/003-1-1/yetiking.txt28
-rw-r--r--npc/functions/marriage.txt3
2 files changed, 24 insertions, 7 deletions
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;
}
diff --git a/npc/functions/marriage.txt b/npc/functions/marriage.txt
index 7bcd69cc3..9422e5c6a 100644
--- a/npc/functions/marriage.txt
+++ b/npc/functions/marriage.txt
@@ -243,8 +243,7 @@ function script marriagedivorce {
{
case 1:
speech lg("Are you sure? It costs 800 GP.");
- if (askyesno() == ASK_YES)
- {
+ if (askyesno() == ASK_YES) {
if (Zeny < 800)
return;
if (divorce()) {