From a55285b3c3ff19cbd2b933e60a6e2b4440937236 Mon Sep 17 00:00:00 2001 From: Kisuka Date: Fri, 11 Sep 2009 04:52:10 +0000 Subject: - Added quest log commands to all job quests. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14054 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-1/assassin.txt | 23 +++++++++++++++++- npc/jobs/2-1/blacksmith.txt | 58 ++++++++++++++++++++++++++++++++++++++++----- npc/jobs/2-1/hunter.txt | 48 ++++++++++++++++++++++++++++++------- npc/jobs/2-1/knight.txt | 37 ++++++++++++++++++++++++++++- npc/jobs/2-1/priest.txt | 20 +++++++++++++++- npc/jobs/2-1/wizard.txt | 18 +++++++++++++- 6 files changed, 186 insertions(+), 18 deletions(-) (limited to 'npc/jobs/2-1') diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index ff9e9bf14..f22c12dfa 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 3.2 +//= 3.3 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -45,6 +45,7 @@ //= 3.1a Follow up fix. Forgot to replace a label. [L0ne_W0lf] //= 3.1b Fixed waiting room not enabled in some situations [Zephyrus] //= 3.2 Fixed a question having all correct answers. [brianluau] +//= 3.3 Added Quest Log commands. [Kisuka] //============================================================ in_moc_16,19,33,1 script Guildsman#asn 55,{ @@ -123,10 +124,12 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart + changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; + completequest 8008; callfunc "Job_Change",Job_Assassin; callfunc "F_ClearJobVar"; // clears all job variables for the current player mes "[Assassin Expert 'Huey']"; @@ -250,6 +253,11 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ mes "you to the office."; close2; set ASSIN_Q,0; + if(checkquest(8000) != -1) { + changequest 8000,8001; + }else{ + setquest 8001; + } warp "in_moc_16",19,76; end; case 2: @@ -542,6 +550,7 @@ OnTouch: close2; set ASSIN_Q3,1; set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } @@ -564,6 +573,7 @@ OnTouch: close2; set ASSIN_Q3,2; set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } @@ -590,6 +600,7 @@ OnTouch: set ASSIN_Q,0; set ASSIN_Q3,0; set ASSIN_Q2,0; + erasequest 8001; warp "moc_fild16",206,229; end; } @@ -616,6 +627,7 @@ OnTouch: next; set ASSIN_Q3,1; set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } @@ -629,6 +641,7 @@ OnTouch: next; set ASSIN_Q3,2; set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } @@ -976,6 +989,7 @@ L_AskQuestions: mes "" + .@assassin_t + " percent..."; if (.@assassin_t > 80) { set ASSIN_Q2,5; + changequest 8002,8003; mes "Well done."; mes "You pass."; next; @@ -1012,6 +1026,7 @@ L_AskQuestions: mes "" + .@assassin_t + " points..."; if (.@assassin_t > 80) { set ASSIN_Q2,5; + changequest 8002,8003; next; mes "[The Anonymous One]"; mes "You didn't fail this time! But you're not done just yet. You have another test ahead of you. Once you proceed, you will be informed about your next trial."; @@ -1173,6 +1188,7 @@ OnTouch: set ASSIN_Q,0; set ASSIN_Q3,0; set ASSIN_Q2,0; + changequest 8003,8000; warp "in_moc_16",19,13; end; } @@ -1246,6 +1262,7 @@ OnMyMobDead: if (.MyMobs < 1) { mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; set ASSIN_Q,3; + changequest 8003,8004; donpcevent "timestopper#1::OnEnable"; donpcevent "Keeper of the Door#ASN::OnEnable"; donpcevent "Beholder#ASNTEST::OnResetmob"; @@ -1502,6 +1519,7 @@ OnTouch: set ASSIN_Q,0; set ASSIN_Q2,0; set ASSIN_Q3,0; + changequest 8004,8000; savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; donpcevent "Standby Room#ASNTEST::OnStart"; @@ -1569,6 +1587,7 @@ OnTouch: mes "You may now proceed to our Guildmaster's room. Good luck!!"; close2; set ASSIN_Q,5; + changequest 8004,8005; warp "in_moc_16",181,183; end; } @@ -1578,6 +1597,7 @@ OnTouch: if (ASSIN_Q == 5 || ASSIN_Q == 6) { warp "in_moc_16",181,183; set ASSIN_Q,ASSIN_Q+1; + changequest 8005,8006; } else { mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map; @@ -2100,6 +2120,7 @@ OnTouch: mes "You, " + strcharinfo(0) + ", have chosen to live as an Assassin. May you learn our ways and be an honorable example to others."; savepoint "morocc",100,100; getitem 1008,1; //Frozen_Heart + changequest 8006,8007; next; mes "[Guildmaster]"; mes "Okay, all of you may go back to your positions. I will send you to the entrance as well. Let's move..."; diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt index fad707f21..d09cb3a80 100644 --- a/npc/jobs/2-1/blacksmith.txt +++ b/npc/jobs/2-1/blacksmith.txt @@ -7,7 +7,7 @@ //= Optimized and further edited by kobra_k88. //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 2.6 +//= 2.7 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -38,6 +38,7 @@ //= 2.5 Krongast is in Lighthalzen. (DarkValmir) [L0ne_W0lf] //= 2.6 Fixed 4 bugs [Lupus] //= 2.6a Typo fix [Yommy] +//= 2.7 Added Quest Log commands. [Kisuka] //============================================================== ein_in01,18,28,4 script Guildsman#BLS 731,{ @@ -163,6 +164,7 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "One of our Blacksmiths in Einbech, ^8E6B23Geschupenschte^000000 has sent us word that he's short on help. Your first test of character will be to help him out."; next; set BSMITH_Q,1; + setquest 2000; mes "[Altiregen]"; mes "Be careful"; mes "and good luck!"; @@ -217,6 +219,7 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ next; if (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!") == 1) { set BSMITH_Q,16; + changequest 2013,2014; mes "[Altiregen]"; mes "I'm sorry, but I'm sure you understand, right? We can't just casually accept anybody into"; mes "our guild!"; @@ -246,6 +249,9 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ else if (BSMITH_Q == 17 && countitem(1005) > 0 && JobLevel > 39) { mes "[Altiregen]"; mes "Excellent, I can tell by the twinkle in your eye that you were successful. I can now bestow upon you the gift of the smithing, the art of the Blacksmith."; + if(checkquest(2015) != -1) { + changequest 2015,2016; + } next; set .@joblvl,JobLevel; callfunc "Job_Change",Job_Blacksmith; @@ -255,6 +261,7 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "and greed."; next; delitem 1005,1; //Hammer_Of_Blacksmith + completequest 2016; mes "[Altiregen]"; mes "Here is a little"; mes "gift to mark the"; @@ -458,6 +465,11 @@ L_AskQuestions: mes "Let's see...your score is..." + .@black_q + " points."; if (.@black_q == 100) { set BSMITH_Q,3; + if(checkquest(2001) != -1) { + changequest 2001,2002; + }else{ + changequest 2000,2002; + } mes "Oh ho ho~"; mes "You'll have"; mes "no problem"; @@ -470,6 +482,9 @@ L_AskQuestions: close; } set BSMITH_Q,2; + if(checkquest(2001) == -1) { + changequest 2000,2001; + } mes "............."; next; mes "[Geschupenschte]"; @@ -531,15 +546,15 @@ L_AskQuestions: next; switch(rand(1,5)) { //Steel, Rotten_Bandage, Blue_Gemstone, Arc_Wand - case 1: setarray .@items[0], 999,1, 930,1, 717,2, 1610,1, 4; break; + case 1: setarray .@items[0], 999,1, 930,1, 717,2, 1610,1, 4; changequest 2002,2003; break; //Sparkling_Dust, Skel_Bone, Zargon, Gladius - case 2: setarray .@items[0], 1001,2, 932,1, 912,1, 1219,1, 5; break; + case 2: setarray .@items[0], 1001,2, 932,1, 912,1, 1219,1, 5; changequest 2002,2004; break; //Coal, Shell, Boody_Red, Tsurugi - case 3: setarray .@items[0], 1003,1, 935,2, 990,2, 1119,1, 6; break; + case 3: setarray .@items[0], 1003,1, 935,2, 990,2, 1119,1, 6; changequest 2002,2005; break; //Iron_Ore, Eye_Bandage, Blue_Gemstone, Arbalest - case 4: setarray .@items[0], 1002,1, 2212,1, 717,2, 1713,1, 7; break; + case 4: setarray .@items[0], 1002,1, 2212,1, 717,2, 1713,1, 7; changequest 2002,2006; break; //Iron, Green_Herb, Animal's_Skin, Ring_Pommel_Saber - default: setarray .@items[0], 998,1, 511,1, 919,2, 1122,1, 8; break; + default: setarray .@items[0], 998,1, 511,1, 919,2, 1122,1, 8; changequest 2002,2007; break; } set BSMITH_Q,.@items[8]; mes "[Geschupenschte]"; @@ -618,6 +633,9 @@ L_AskQuestions: case 9: mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; getitem 1610,1; //Arc_Wand + if(checkquest(2003) != -1) { + changequest 2003,2008; + } next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -640,6 +658,9 @@ L_AskQuestions: case 10: mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; getitem 1219,1; //Gladius + if(checkquest(2004) != -1) { + changequest 2004,2009; + } next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -662,6 +683,9 @@ L_AskQuestions: Case 11: mes "Okay, now take this to ^8E6B23Krongast^000000 in Lighthalzen. Simply deliver it and bring me the receipt."; getitem 1119,1; //Tsurugi + if(checkquest(2005) != -1) { + changequest 2005,2010; + } next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -685,6 +709,9 @@ L_AskQuestions: case 12: mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; getitem 1713,1; //Arbalest + if(checkquest(2006) != -1) { + changequest 2006,2011; + } next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -706,6 +733,9 @@ L_AskQuestions: case 13: mes "Okay, now take this to ^8E6B23Bismarc^000000 in Hugel. Simply deliver this and bring back the receipt."; getitem 1122,1; //Ring_Pommel_Saber + if(checkquest(2007) != -1) { + changequest 2007,2012; + } next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -800,6 +830,21 @@ L_AskQuestions: if (countitem(1073) > 0) { set BSMITH_Q,15; delitem 1073,1; //Merchant_Voucher_1 + if(checkquest(2008) != -1) { + changequest 2008,2013; + } + else if(checkquest(2009) != -1) { + changequest 2009,2013; + } + else if(checkquest(2010) != -1) { + changequest 2010,2013; + } + else if(checkquest(2011) != -1) { + changequest 2011,2013; + } + else { + changequest 2012,2013; + } mes "[Geschupenschte]"; mes "Oh ho ho~"; mes "Great!"; @@ -1460,6 +1505,7 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "However, don't let your early success make you overconfident. A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; set BSMITH_Q,17; getitem 1005,1; //Hammer_Of_Blacksmith + changequest 2014,2015; next; mes "[Mitehmaeeuh]"; mes "Take this Hammer"; diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index b28599000..e643c81bf 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -5,7 +5,7 @@ //= Converted by kobra_k88 //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 3.4 +//= 3.5 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -50,6 +50,7 @@ //= 3.3 Added missing next. [L0ne_W0lf] //= 3.4 Corrected some Issues with the Waiting Room. (bugreport:1890) [Samuray22] //= -Deleted a Unnecesary Next; on Hunter Guildsman#hnt. (bugreports:1665,2239,2179) +//= 3.5 Added Quest Log commands. [Kisuka] //============================================================ // Notices in the old Hunter Guild. @@ -180,6 +181,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Tada~ Congratulations!"; mes "You look great as a Hunter!!"; set .@joblvl,joblevel; + completequest 4013; callfunc "Job_Change",Job_Hunter; callfunc "F_ClearJobVar"; // clears all job variables for the current player next; @@ -220,6 +222,9 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "shall we begin?"; next; if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { + if(checkquest(4000) == -1) { + setquest 4000; + } mes "[Hunter Sherin]"; mes "Listen carefully to the scenarios I describe. When I ask a question, you choose an answer. Pretty simple, don't you think?"; next; @@ -346,6 +351,7 @@ L_AskQuestions: next; if (.@hunter_t == 100) { set HNTR_Q,2; + changequest 4000,4001; mes "[Hunter Sherin]"; mes "Well done! Your answers show you've got the right outlook on life. You definitely have the right qualities to become a Hunter~"; next; @@ -355,6 +361,7 @@ L_AskQuestions: } else if (.@hunter_t == 90) { set HNTR_Q,2; + changequest 4000,4001; mes "[Hunter Sherin]"; mes "Well, I'm looking at your answers and your score isn't perfect. But I'll let you pass anyway. I don't know what our Guildmaster will think, though."; next; @@ -464,19 +471,19 @@ L_GiveQuestItems: next; switch(rand(1,7)) { //Claw_Of_Desert_Wolf, Wooden_Block, White_Herb - case 1: setarray .@items[0], 7030,5, 1019,5, 509,3, 3; break; + case 1: setarray .@items[0], 7030,5, 1019,5, 509,3, 3; changequest 4001,4002; break; //Bill_Of_Birds, Skel_Bonem Green_Herb - case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; break; + case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; changequest 4001,4003; break; //Posionous_Canine, Animal's_Skin, Red_Herb - case 3: setarray .@items[0], 937,3, 919,3, 507,5, 5; break; + case 3: setarray .@items[0], 937,3, 919,3, 507,5, 5; changequest 4001,4004; break; //Dokkaebi_Horn, Piece_Of_Egg_Shell, Fluff - case 4: setarray .@items[0], 1021,3, 7032,3, 914,10, 6; break; + case 4: setarray .@items[0], 1021,3, 7032,3, 914,10, 6; changequest 4001,4005; break; //Shell, Worm_Peelings, Yellow_Herb - case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; break; + case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; changequest 4001,4006; break; //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot - case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; break; + case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; changequest 4001,4007; break; //Porcupine_Spike, Yoyo_Tailm Acorn - case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; break; + case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; changequest 4001,4008; break; } mes "[Demon Hunter]"; mes "Hmm. ^660000"+.@items[1]+" "+getitemname(.@items[0])+"^000000 to use for arrow tips. ^660000"+.@items[3]+" "+getitemname(.@items[2])+"^000000 to use here and there. And ^660000"+.@items[5]+" "+getitemname(.@items[4])+"^000000 please."; @@ -532,6 +539,27 @@ L_GiveQuestItems: mes "[Demon Hunter]"; mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster who is currently in the Payon Central Palace."; set HNTR_Q,.@items[6]; + if(checkquest(4002) != -1) { + changequest 4002,4009; + } + else if(checkquest(4003) != -1) { + changequest 4003,4009; + } + else if(checkquest(4004) != -1) { + changequest 4004,4009; + } + else if(checkquest(4005) != -1) { + changequest 4005,4009; + } + else if(checkquest(4006) != -1) { + changequest 4006,4010; + } + else if(checkquest(4007) != -1) { + changequest 4007,4010; + } + else { + changequest 4008,4010; + } delitem .@items[0],.@items[1]; delitem .@items[2],.@items[3]; delitem .@items[4],.@items[5]; @@ -611,6 +639,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "[Hunter Guildmaster]"; mes "Well, then. Your arrows are probably still being made, so you can use mine to take the test."; set HNTR_Q,12; + changequest 4009,4011; getitem 1751,200; //Silver_Arrow close2; warp "job_hunte",176,22; @@ -697,6 +726,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ set HNTR_Q,17; savepoint "payon",104,99; getitem 1007,1; //Penetration + changequest 4012,4013; next; mes "[Hunter Guildmaster]"; mes "Okay, here it is. Now, go back to the Hunter Guild. I have some more business left to do here, but I hope you can become a Hunter soon."; @@ -773,6 +803,7 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Good luck."; set HNTR_Q,12; + changequest 4010,4011; warp "job_hunte",176,22; cutin "job_huntermaster",255; end; @@ -1207,6 +1238,7 @@ OnTouch: donpcevent "Manager#hnt::OnReset"; donpcevent "Waiting Room#hnt::OnStart"; set HNTR_Q,16; + changequest 4011,4012; savepoint "payon",104,99; if (rand(1)) warp "payon_in02",21,27; diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index 39e3c4d98..e7cc08a12 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -5,7 +5,7 @@ //= Converted by kobra_k88 //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 2.8 +//= 2.9 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -35,6 +35,7 @@ //= 2.7 Deleted unused variables. [Samuray22] //= 2.7a Corrected a Typo error ";;". [Samuray22] //= 2.8 Now uses enable and disable waitingroomevent. [L0ne_W0lf] +//= 2.9 Added Quest Log commands. [Kisuka] //============================================================ prt_in,88,101,4 script Chivalry Captain#knt 56,{ @@ -142,6 +143,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ close; } set KNIGHT_Q,1; + setquest 9000; mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; @@ -526,6 +528,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; + completequest 9012; callfunc "Job_Change",Job_Knight; callfunc "F_ClearJobVar"; // clears all job variables for the current player mes "[Captain Herman]"; @@ -667,6 +670,11 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ case 2: setarray .@items[0], 1042,5, 950,5, 1032,5, 966,5, 7031,5, 946,5, 3; break; } set KNIGHT_Q,.@items[12]; + if(KNIGHT_Q == 2) { + changequest 9000,9001; + }else{ + changequest 9000,9002; + } mes "^236B8E"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; mes "^236B8E"+.@items[3]+" "+getitemname(.@items[2])+"^000000,"; mes "^236B8E"+.@items[5]+" "+getitemname(.@items[4])+"^000000,"; @@ -712,6 +720,11 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ delitem .@items[6],.@items[7]; delitem .@items[8],.@items[9]; delitem .@items[10],.@items[11]; + if(KNIGHT_Q == 2) { + changequest 9001,9003; + }else{ + changequest 9002,9003; + } set KNIGHT_Q,4; mes "[Sir Andrew]"; mes "Please visit my fellow Knight, Sir Siracuse, and continue the tests with the dedication and loyalty you've shown to me this day."; @@ -1055,6 +1068,7 @@ L_AskQuestions: close; } set KNIGHT_Q,6; + changequest 9003,9004; mes "[Sir Siracuse]"; mes "Well then,"; mes "this is the"; @@ -1210,6 +1224,7 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ mes "..."; next; set KNIGHT_Q,7; + changequest 9004,9005; mes "[Sir Windsor]"; mes "..."; mes "......"; @@ -1284,6 +1299,9 @@ job_knt,89,106,4 script Knight Windsor#knt 733,{ next; mes "[Sir Windsor]"; mes ".........."; + if(checkquest(9006) == -1) { + changequest 9005,9006; + } close; case 2: mes "[Sir Windsor]"; @@ -1314,6 +1332,9 @@ job_knt,89,106,4 script Knight Windsor#knt 733,{ next; mes "[Sir Windsor]"; mes "..."; + if(checkquest(9006) == -1) { + changequest 9005,9006; + } close; case 3: mes "[Sir Windsor]"; @@ -1343,6 +1364,9 @@ OnStartArena: killmonster "job_knt", "Knight1::OnMyMobDead"; killmonster "job_knt", "Knight2::OnMyMobDead"; killmonster "job_knt", "Knight3::OnMyMobDead"; + if(checkquest(9006) == -1) { + changequest 9005,9006; + } warpwaitingpc "job_knt",43,146; donpcevent "Knight1::OnEnable"; disablewaitingroomevent; @@ -1513,6 +1537,9 @@ OnMyMobDead: mes "Amy Beatrice now."; close2; set KNIGHT_Q,8; + if(checkquest(9007) == -1) { + changequest 9006,9007; + } warp "prt_in",80,100; donpcevent "Knight3::OnDisable"; donpcevent "Windsor Benedict#knt::OnStart"; @@ -1642,6 +1669,9 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "come to Amy?"; next; if (select("Sir Windsor told me to--:Oh, nothing.") == 1) { + if(checkquest(9008) == -1) { + changequest 9007,9008; + } mes "[Lady Amy]"; mes "Oh!"; mes "No need to say"; @@ -1796,6 +1826,7 @@ L_AskQuestions: next; if (.@knight_t == 100) { set KNIGHT_Q,10; + changequest 9008,9009; mes "[Lady Amy]"; mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~"; next; @@ -1805,6 +1836,7 @@ L_AskQuestions: } else if (.@knight_t == 90) { set KNIGHT_Q,10; + changequest 9008,9009; mes "[Lady Amy]"; mes "Well, it wasn't perfect,"; mes "but I think you know enough"; @@ -2012,6 +2044,7 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "reverence."; close2; set KNIGHT_Q,11; + changequest 9009,9010; warp "job_knt",143,57; end; } @@ -2124,6 +2157,7 @@ OnInit: end; OnTouch: set KNIGHT_Q,12; + changequest 9010,9011; warp "prt_in",80,100; end; } @@ -2528,6 +2562,7 @@ L_AskQuestions: } else if (.@knight_t == 10) { set KNIGHT_Q,14; + changequest 9011,9012; mes "[Sir Gray]"; mes "I enjoyed talking with you. Although, there were some"; mes "things that bothered me..."; diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index d6aee0911..d2f90066b 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -5,7 +5,7 @@ //= Converted by: kobra_k88. //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 2.4b +//= 2.5 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -28,6 +28,7 @@ //= 2.4 Changed Marthilda to Mathilda. [L0ne_W0llf] //= 2.4a Deleted unused variables. [Samuray22] //= 2.4b Corrected a Typo error ";;". [Samuray22] +//= 2.5 Added Quest Log commands. [Kisuka] //========================================================== prt_church,16,41,4 script High Bishop#prst 60,{ @@ -240,6 +241,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } set PRIEST_Q,1; + setquest 8009; mes "[Bishop Paul]"; if (sex) mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Brother " + strcharinfo(0) + "."; @@ -269,6 +271,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "I have no doubt that you will do a good job by yourself. However, it will be easier with the aid of a Brother or Sister that has already become a Priest."; next; set PRIEST_Q,5; + changequest 8009,8011; mes "[Bishop Paul]"; mes "Well, are you ready for the Spiritual Training?"; next; @@ -309,6 +312,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God"; mes "bless you..."; + changequest 8009,8010; close; } mes "[Bishop Paul]"; @@ -388,6 +392,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ } else if (PRIEST_Q == 4) { set PRIEST_Q,5; + changequest 8010,8011; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -494,6 +499,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ next; mes "[Bishop Paul]"; mes "God, grant your power to your servant standing before you."; + changequest 8015,8016; if (sex) mes "Let him send your message throughout the ends of the earth."; else @@ -503,6 +509,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Make this servant of yours an instrument of your miraculous works..."; next; set .@joblvl,JobLevel; + completequest 8016; callfunc "Job_Change",Job_Priest; callfunc "F_ClearJobVar"; // clears all job variables for the current player mes "[Bishop Paul]"; @@ -700,6 +707,9 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } else if (PRIEST_Q == 7) { + if(checkquest(8014) == -1) { + changequest 8013,8014; + } mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; next; L_AskQuestions: @@ -825,6 +835,7 @@ L_AskQuestions: mes "......"; next; set PRIEST_Q,8; + changequest 8014,8015; mes "[Sister Cecilia]"; mes "You've come so far..."; mes "Why would you want"; @@ -954,6 +965,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; + changequest 8011,8012; warp "job_prist",24,44; donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; @@ -997,6 +1009,9 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Kill those"; mes "misbegotten creatures!"; close2; + if(checkquest(8012) == -1) { + changequest 8011,8012; + } warp "job_prist",24,44; donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; @@ -1716,6 +1731,9 @@ OnTouch: } else if (BaseClass == Job_Acolyte) { set PRIEST_Q,7; + if(checkquest(8012) != -1) { + changequest 8012,8013; + } warp "prt_church",16,37; donpcevent "Mummy_Generator::OnDisable"; } diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index 996ff952e..090108084 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -4,7 +4,7 @@ //= (Aegis) Translated by yoshiki, converted by kobra_k88 //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 2.9 +//= 3.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -23,6 +23,7 @@ //= 2.8 Fixed donpcevent to doevent. (bugreport:2311) [SoulBlaker] //= 2.9 Reverted the change of donpcevent to doevent. [L0ne_W0lf] //= Was probably cuased by a warp BEFORE a percentheal +//= 3.0 Added Quest Log commands. [Kisuka] //============================================================ gef_tower,111,37,4 script Wizard Guildsman 70,{ @@ -139,6 +140,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Go talk to the man in the corner and he will give you the remaining exams."; mes "Be careful. We have lost many Mages due to the difficulty of the exams."; set WIZ_Q,3; + setquest 9015; close; } mes "[Catherine]"; @@ -154,12 +156,14 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "The items you must collect are..."; if (rand(1)) { set WIZ_Q,1; + setquest 9013; mes "^3355FFRed Gemstone^000000 10 each,"; mes "^3355FFBlue Gemstone^000000 10 each,"; mes "^3355FFYellow Gemstone^000000 10 each,"; } else { set WIZ_Q,2; + setquest 9014; mes "^3355FFCrystal Blue^000000 5 each,"; mes "^3355FFGreen Live^000000 5 each,"; mes "^3355FFRed Blood^000000 5 each,"; @@ -196,6 +200,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 717,10; //Blue_Gemstone delitem 715,10; //Yellow_Gemstone set WIZ_Q,3; + changequest 9013,9015; mes "[Catherine]"; mes "Good for you! You passed the first test."; mes "But there are still two more left, so don't get too relaxed."; @@ -234,6 +239,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure set WIZ_Q,3; + changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; mes "But you still have two more tests to go, so don't get too laid back, because it only gets harder from here. ~Hehehe"; @@ -409,6 +415,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; + completequest 9018; callfunc "Job_Change",Job_Wizard; callfunc "F_ClearJobVar"; // clears all job variables for the current player mes "[Catherine]"; @@ -538,6 +545,9 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "[Raulel]"; mes "I'll give you 10 questions so give me the right answers."; mes "If you get something wrong, I won't tell you what it is!"; + if(checkquest(9016) == -1) { + changequest 9015,9016; + } next; mes "[Raulel]"; mes "*Cough* *cough* Then here go the questions!"; @@ -708,6 +718,7 @@ L_AskQuestions: mes "Your score is... " + .@wizard_t + "points....."; if (.@wizard_t == 100) { set WIZ_Q,5; + changequest 9016,9017; mes "Hahahahahahah~ Well done, you passed the second test."; mes "It wasn't done in one try like mine was, but I'll let you slide..."; next; @@ -718,6 +729,7 @@ L_AskQuestions: } else if (.@wizard_t == 90) { set WIZ_Q,5; + changequest 9016,9017; mes "Hahaha~ Since you only missed one problem, you passed the second test."; mes "It wasn't done in one try like mine was, but I'll let you slide..."; next; @@ -728,6 +740,7 @@ L_AskQuestions: } else if (.@wizard_t == 80) { set WIZ_Q,5; + changequest 9016,9017; mes "Sheez... You didn't do very well, but you passed the second test."; mes "It wasn't done in one try like mine was, but I'll let you slide..."; next; @@ -751,6 +764,7 @@ L_AskQuestions: mes "Your score is... " + .@wizard_t + " points!"; if (.@wizard_t == 100) { set WIZ_Q,5; + changequest 9016,9017; mes "*cough* *Cough* Well done, you passed the second test."; next; mes "[Raulel]"; @@ -760,6 +774,7 @@ L_AskQuestions: } else if (.@wizard_t == 90) { set WIZ_Q,5; + changequest 9016,9017; mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; next; mes "[Raulel]"; @@ -1528,6 +1543,7 @@ OnMyMobDead: if (.MyMobs < 1) { mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; set WIZ_Q,7; + changequest 9017,9018; donpcevent "Room of Fire#Door::OnDisable"; donpcevent "Test Helper#wiz::OnEnable"; stopnpctimer; -- cgit v1.2.3-70-g09d2