// TMW2 Scripts // Author: // Jesusalva // Description: // Celestia Yeti King's quest. Designed so if you're with 4 players, all 4 can // summon the Yeti King, helping you while doing the quest by themselves. // 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 && .@q < 99) setq HurnscaldQuest_Celestia, 1; if (.@q == 1 && !.inUse) goto L_Summon; end; L_Summon: dispbottom l("Emoc otem itey gnik!"); // come to me yeti king, spelled backwards. Sorry. initnpctimer; end; L_Die: percentheal(-100, -100); npctalk3 l("You're playing with fire. Or ice. Or whatever."); closedialog; close; OnTimer1000: setnpcdisplay .name$, NPC_YETI_KING; .inUse=1; end; OnTimer2000: npctalk("Whom dares to disturb my slumber?!"); end; OnTimer5000: if (getareausers("003-1-1", 5) < 2) { npctalk("A lone adventurer? Pft. I'm back to my slumber!"); stopnpctimer; } else { npctalk("You're courageous to summon me, I'll give you that."); 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 you had to return, erase quest progress if (.@q > 1 && .@q < 99) setq HurnscaldQuest_Celestia, 1; if (.@q != 1) end; mesn "Dah Yeti King!!"; mesq l("Why do you summon me? Speak."); mes ""; select l("I'm sorry, these words just came to my mind."), 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."); next; mesn "Dah Yeti King!!"; mesq l("My answer is a no, and it'll say like that. Don't test my patience any further."); next; select l("You'll come with me!"), l("I can prove you my worth!"), l("Sorry! Sorry!"); mes ""; if (@menu == 1) goto L_Die; if (@menu == 2) close; mesn "Dah Yeti King!!"; mesq l("Well, then I'll give you a task. We may meet again in Soren Village."); next; 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; 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: // If you had to return, erase quest progress if (.@q > 2 && .@q < 99) setq HurnscaldQuest_Celestia, 2; mes col("Warp to the Cave Of Trials? There is no EXP penalty, but if you die, you need to start everything again!",9); if (askyesno() == ASK_YES) { warp "001-6", 27, 180; } setnpcdisplay .name$, NPC_SUMMONING_CIRC; .inUse=0; closedialog; close; OnInit: .sex = G_OTHER; .distance = 1; .inUse=0; // Prevent multiple summons and etc. end; }