diff options
author | masao87 <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-07-30 00:22:47 +0000 |
---|---|---|
committer | masao87 <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-07-30 00:22:47 +0000 |
commit | ff2362c56f938be3004ecbc6debffc37a46e4eed (patch) | |
tree | 763ca9ff22d3afb07ae7a740bb4871eeca13fc6d /npc/re/jobs/2-2 | |
parent | ad1fe10309030768d4e680f1ee59213188c240af (diff) | |
download | hercules-ff2362c56f938be3004ecbc6debffc37a46e4eed.tar.gz hercules-ff2362c56f938be3004ecbc6debffc37a46e4eed.tar.bz2 hercules-ff2362c56f938be3004ecbc6debffc37a46e4eed.tar.xz hercules-ff2362c56f938be3004ecbc6debffc37a46e4eed.zip |
- Reverted all changes done to the job change quest files.
* Decided it'd be better to commit it all together when updating, fixing and optimization is done all at once.
Sorry guys and girls for the trouble! Big shame on me :-/ :(
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16533 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/re/jobs/2-2')
-rw-r--r-- | npc/re/jobs/2-2/alchemist.txt | 1994 | ||||
-rw-r--r-- | npc/re/jobs/2-2/bard.txt | 1327 | ||||
-rw-r--r-- | npc/re/jobs/2-2/crusader.txt | 2345 | ||||
-rw-r--r-- | npc/re/jobs/2-2/dancer.txt | 1327 | ||||
-rw-r--r-- | npc/re/jobs/2-2/rogue.txt | 2098 |
5 files changed, 3015 insertions, 6076 deletions
diff --git a/npc/re/jobs/2-2/alchemist.txt b/npc/re/jobs/2-2/alchemist.txt index 4e2dd611f..fd0f077f5 100644 --- a/npc/re/jobs/2-2/alchemist.txt +++ b/npc/re/jobs/2-2/alchemist.txt @@ -1,22 +1,27 @@ //===== rAthena Script ======================================= -// Alchemist Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Alchemist Job Quest +//===== By: ================================================== +//= nestor_zulueta (Fusion), converted by Darkchild //===== Current Version: ===================================== -//= 1.0 +//= 3.0 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Alchemist. +//= [Aegis Conversion] +//= Job quest for Alchemist classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 2.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_BlockHigh" +//= 2.6 Corrected a bug in advanced class checking. [L0ne_W0lf] +//= 2.7 Added missing checkweights. [L0ne_W0lf] +//= 2.8 Fixed minor typo in test section. [L0ne_W0lf] +//= 2.9 Added Quest Log commands. [Kisuka] +//= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf] //============================================================ -alde_alche,27,185,5 script Alchemist Guildsman 744,{ +alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ + mes "[Parmy Gianino]"; if (Upper == 1) { - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Unio--"; mes "I-Impossible! How c-can"; @@ -31,9 +36,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "feeling about you..."; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Parmy Gianino]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome, " + strcharinfo(0) + "."; mes "The Alchemist Union"; mes "is busy today, like always."; @@ -46,8 +50,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Everyone is hoping that the biotechnological studies will yield positive results. Speaking of which, I wonder how the Alchemists working on artificial life are doing..."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Parmy Gianino]"; + else if (BaseClass == Job_Novice) { mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -64,7 +67,6 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "as a Merchant first."; close; } - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -75,13 +77,12 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "If you know any exceptional Merchants, by all means, please refer them to us. Those types of people tend to have a talent for Alchemy and experimentation~"; close; } - if (ALCMST_Q == 0) { - mes "[Parmy Gianino]"; + if (ALCH_Q == 0) { mes "Welcome to the"; mes "Alchemist Union."; mes "How may I help you?"; next; - switch (select("I would like to learn about Alchemists.:I want to become an Alchemist.:Nothing.")) { + switch(select("I would like to learn about Alchemists.:I want to become an Alchemist.:Nothing.")) { case 1: mes "[Parmy Gianino]"; mes "Alchemists study and create new substances and items out of existing materials. Our knowledge allows us to change the properties of chemicals at the atomic level."; @@ -134,8 +135,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "you like to apply"; mes "for registration?"; next; - switch (select("I would like to apply.:I'll do it later.")) { - case 1: + if (select("I would like to apply.:I'll do it later.") == 1) { if (JobLevel < 40) { mes "[Parmy Gianino]"; mes "Hmmm..."; @@ -165,7 +165,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Please sign"; mes "the application."; next; - menu "",-; + select(strcharinfo(0)); mes "[Parmy Gianino]"; mes "Good, good. Now, if you have"; mes "the Zeny for your application fee ready, I will tell you which items you will need to bring. Now, pay attention."; @@ -177,22 +177,24 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Come back to me when you have 50,000 Zeny, otherwise we can't process your application."; close; } - set Zeny, Zeny - 50000; + set zeny,zeny-50000; mes "[Parmy Gianino]"; mes "Let's see."; - mes "" + strcharinfo(0) + ""; + mes "" + strcharinfo(0); mes "needs to bring..."; - set .@alche_m1, rand(1,3); - if (.@alche_m1 == 1) { - set ALCMST_Q,1; + switch(rand(1,3)) { + case 1: + set ALCH_Q,1; setquest 2028; mes "^551A8B7 Berserk Potions^000000."; - set ALCMST_Q,2; + break; + case 2: + set ALCH_Q,2; setquest 2029; mes "^551A8B100 Mini Furnaces^000000."; - } - else { - set ALCMST_Q,3; + break; + case 3: + set ALCH_Q,3; setquest 2030; mes "^551A8B7,500 Fire Arrows^000000."; } @@ -204,13 +206,12 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "as an Alchemist will begin."; mes "See you soon~"; close; - case 2: - mes "[Parmy Gianino]"; - mes "Talented Merchants"; - mes "are always welcome here."; - mes "Please come back soon."; - close; } + mes "[Parmy Gianino]"; + mes "Talented Merchants"; + mes "are always welcome here."; + mes "Please come back soon."; + close; case 3: mes "[Parmy Gianino]"; mes "Umm..."; @@ -219,9 +220,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ close; } } - if (ALCMST_Q == 1) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; + else if (ALCH_Q >= 1 && ALCH_Q <= 3) { + if (countitem(1006) > 0 && countitem(1005) > 0) { mes "Well now~!"; mes "You've brought an"; mes "Old Magic Book and"; @@ -234,66 +234,16 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "[Parmy Gianino]"; mes "Okay, now you need to learn"; mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2028,2031; - next; - mes "[Parmy Gianino]"; - mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; - next; - mes "[Parmy Gianino]"; - mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; - close; - } - if (countitem(657) > 6) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 657,7; //Berserk_Potion - mes "[Parmy Gianino]"; - mes "Okay, now you need to learn"; - mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2028,2031; - next; - mes "[Parmy Gianino]"; - mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; - next; - mes "[Parmy Gianino]"; - mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; - close; - } - mes "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B7 Berserk Potions^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCMST_Q == 2) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - mes "Well now~!"; - mes "You've brought an"; - mes "Old Magic Book and"; - mes "a Hammer of Blacksmith."; - mes "We'll put these items"; - mes "to good use."; - next; - delitem 1006,1; //Old_Magic_Book - delitem 1005,1; //Hammer_Of_Blacksmith - mes "[Parmy Gianino]"; - mes "Okay, now you need to learn"; - mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2029,2031; + set ALCH_Q,4; + if(checkquest(2028) != -1) { + changequest 2028,2031; + } + else if(checkquest(2029) != -1) { + changequest 2029,2031; + } + else { + changequest 2030,2031; + } next; mes "[Parmy Gianino]"; mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; @@ -302,77 +252,31 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; close; } - if (countitem(612) > 99) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 612,100; //Portable_Furnace - mes "[Parmy Gianino]"; - mes "Okay, now you need to learn"; - mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2029,2031; - next; - mes "[Parmy Gianino]"; - mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; - next; - mes "[Parmy Gianino]"; - mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; - close; + switch(ALCH_Q) { + case 1: setarray .@items[0],657,7; break; + case 2: setarray .@items[0],612,100; break; + case 3: setarray .@items[0],1752,7500; break; } - mes "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B100 Mini Furnaces^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCMST_Q == 3) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - mes "Well now~!"; - mes "You've brought an"; - mes "Old Magic Book and"; - mes "a Hammer of Blacksmith."; - mes "We'll put these items"; - mes "to good use."; - next; - delitem 1006,1; //Old_Magic_Book - delitem 1005,1; //Hammer_Of_Blacksmith - mes "[Parmy Gianino]"; - mes "Okay, now you need to learn"; - mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2030,2031; - next; - mes "[Parmy Gianino]"; - mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; - next; - mes "[Parmy Gianino]"; - mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; - close; - } - if (countitem(1752) > 7499) { - mes "[Parmy Gianino]"; + if (countitem(.@items[0]) >= .@items[1]) { mes "Seems like"; mes "you're all ready."; mes "The Union will put"; mes "these items to good use."; next; - delitem 1752,7500; //Fire_Arrow + delitem .@items[0],.@items[1]; mes "[Parmy Gianino]"; mes "Okay, now you need to learn"; mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines."; - set ALCMST_Q,4; - changequest 2030,2031; + set ALCH_Q,4; + if(checkquest(2028) != -1) { + changequest 2028,2031; + } + else if(checkquest(2029) != -1) { + changequest 2029,2031; + } + else { + changequest 2030,2031; + } next; mes "[Parmy Gianino]"; mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him..."; @@ -381,11 +285,10 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process."; close; } - mes "[Parmy Gianino]"; mes "Aren't you ready?"; mes "Like I said before,"; mes "you must bring"; - mes "^551A8B7500 Fire Arrows^000000."; + mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000."; next; mes "[Parmy Gianino]"; mes "Come back when you"; @@ -393,8 +296,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "required items."; close; } - if (ALCMST_Q == 4) { - mes "[Parmy Gianino]"; + else if (ALCH_Q == 4) { mes "Go and talk to"; mes "Mr. Raspuchin."; mes "He's involved in the"; @@ -407,22 +309,23 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "some simple questions."; close; } - mes "[Parmy Gianino]"; - mes "Ah, I'm sorry, but"; - mes "I'm busy right now~"; - next; - mes "[Parmy Gianino]"; - mes "Why don't you ask"; - mes "someone else if you're"; - mes "not sure who to visit"; - mes "next? Good luck~"; - close; + else { + mes "Ah, I'm sorry, but"; + mes "I'm busy right now~"; + next; + mes "[Parmy Gianino]"; + mes "Why don't you ask"; + mes "someone else if you're"; + mes "not sure who to visit"; + mes "next? Good luck~"; + close; + } } -alde_alche,175,107,3 script Fastidious Alchemist 749,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Raspuchin Gregory]"; +alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ + mes "[Raspuchin Gregory]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Heeheehee"; mes "keheheh~!"; mes "Eh? What do you want?!"; @@ -439,8 +342,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Alchemist Union!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Raspuchin Gregory]"; + else if (BaseClass == Job_Novice) { mes "Heeheehee"; mes "keheheh~!"; mes "How cute, you've come"; @@ -453,34 +355,34 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "expect to leave so easily..."; close; } - mes "[Raspuchin Gregory]"; - mes "What is it?!"; - mes "You're curious as"; - mes "to what I'm doing?"; - next; - mes "[Raspuchin Gregory]"; - mes "Heehee"; - mes "keheheh~!"; - mes "Why, I'm busy"; - mes "researching,"; - mes "of course!"; - next; - mes "[Raspuchin Gregory]"; - mes "Once this"; - mes "potion is complete..."; - mes "You can use it to take"; - mes "over an entire nation!"; - next; - mes "[Raspuchin Gregory]"; - mes "Hee hee hee!"; - mes "Something this"; - mes "dangerous has to"; - mes "be kept a secret!"; - mes "Understand?"; - close; + else { + mes "What is it?!"; + mes "You're curious as"; + mes "to what I'm doing?"; + next; + mes "[Raspuchin Gregory]"; + mes "Heehee"; + mes "keheheh~!"; + mes "Why, I'm busy"; + mes "researching,"; + mes "of course!"; + next; + mes "[Raspuchin Gregory]"; + mes "Once this"; + mes "potion is complete..."; + mes "You can use it to take"; + mes "over an entire nation!"; + next; + mes "[Raspuchin Gregory]"; + mes "Hee hee hee!"; + mes "Something this"; + mes "dangerous has to"; + mes "be kept a secret!"; + mes "Understand?"; + close; + } } - if (ALCMST_Q == 0) { - mes "[Raspuchin Gregory]"; + if (ALCH_Q == 0) { mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -496,8 +398,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "dark enterprise!"; close; } - if ((ALCMST_Q == 1) || (ALCMST_Q == 2) || (ALCMST_Q == 3)) { - mes "[Raspuchin Gregory]"; + else if (ALCH_Q >= 1 && ALCH_Q <= 3) { mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -513,469 +414,133 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Even if you tried studying for a thousand years, maybe even more, it'd be useless to you! Forget about it and just worry about your store!"; close; } - if (ALCMST_Q == 4) { - mes "[Raspuchin Gregory]"; - mes "Heeheehee"; - mes "keheheh~!"; - mes "What do you"; - mes "want, kid?"; - next; - mes "[Raspuchin Gregory]"; - mes "What...?"; - mes "Join the Union!?"; - mes "I don't like it..."; - mes "I just don't...!"; - next; - mes "[Raspuchin Gregory]"; - mes "Nowadays, anyone thinks they can"; - mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary."; - next; - mes "[Raspuchin Gregory]"; - mes "Heeheehee"; - mes "keheheh~!"; - mes "I plan on weeding out all the dumb and incompetent, and chase them"; - mes "all away! We don't need morons!"; - next; - if (JobLevel == 50) { - mes "[Raspuchin Gregory]"; - mes "Wait..."; - mes "Maybe I've"; - mes "misjudged you."; - if (Sex == 1) { - mes "You might be a pretty boy,"; - mes "but I can tell you're smart"; - mes "from your eyes."; - } - else { - mes "Huh. You're a cutie alright,"; - mes "but I can tell you've got brains."; - } - next; - mes "[Raspuchin Gregory]"; - mes "You're not just some stupid kid."; - mes "I can tell youve gone through some rough times as a Merchant. Excellent. Keh heh heh~"; - next; - mes "[Raspuchin Gregory]"; - mes "Fine, just so we don't insult each other's intelligence, I'll just let you pass the interview."; - next; - mes "[Raspuchin Gregory]"; - mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!"; - next; - mes "[Raspuchin Gregory]"; - mes "Now go to Darwin!"; - mes "He'll teach you how to do the experiments. Just tell him that"; - mes "I sent you."; - set ALCMST_Q,6; - changequest 2031,2032; - close; - } - mes "[Raspuchin Gregory]"; - mes "Surprised, are you?"; - mes "Keheheh~ If you thought"; - mes "becoming an Alchemist was"; - mes "just a matter of changing"; - mes "your clothes, then you're"; - mes "sadly mistaken."; - next; - mes "[Raspuchin Gregory]"; - mes "Now, try solving"; - mes "all these problems."; - mes "Let's see how smart"; - mes "really are."; - next; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 1) { - mes "[Raspuchin Gregory]"; - mes "12 + 23 + 34 + 45 = ?"; - next; - input .@input; - if (.@input != 114) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "1000 - 36 - 227 - 348 = ?"; - next; - input .@input; - if (.@input != 389) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "14 * 17 * 3 = ?"; - next; - input .@input; - if (.@input != 714) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "9765 / 3 / 5 / 7 = ?"; - next; - input .@input; - if (.@input != 93) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "(47 * 28) - (1376 / 4) = ?"; - next; - input .@input; - if (.@input != 972) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "(2646 / 7) + (13 * 28) = ?"; - next; - input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "How much do"; - mes "12 Red Potions,"; - mes "1 Butterfly Wing"; - mes "and 5 Fly Wings cost"; - mes "after a 24 % discount?"; - next; - input .@input; - if (.@input != 909) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total weight of"; - mes "3 Scimiters, 2 Helms"; - mes "and 1 Long Coat?"; - next; - input .@input; - if (.@input != 450) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total defense of"; - mes "a Biretta, Mantle,"; - mes "Opera Mask, Ribbon,"; - mes "Muffler, Boots, and"; - mes "Ear Muffs?"; - next; - input .@input; - if (.@input != 20) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "If you buy 5 Helms"; - mes "with a 24 % discount"; - mes "and sell it at 20 %,"; - mes "how much profit"; - mes "do you earn?"; - next; - input .@input; - if (.@input != 8800) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 2) { - mes "[Raspuchin Gregory]"; - mes "13 + 25 + 37 + 48 = ?"; - next; - input .@input; - if (.@input != 123) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "1000 - 58 - 214 - 416 = ?"; - next; - input .@input; - if (.@input != 312) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "12 * 24 * 3 = ?"; - next; - input .@input; - if (.@input != 864) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "10530 / 3 / 5 / 2 = ?"; - next; - input .@input; - if (.@input != 351) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "(35 * 19) - (1792 / 7) = ?"; - next; - input .@input; - if (.@input != 409) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "(2368 / 8) + (24 * 17) = ?"; - next; - input .@input; - if (.@input != 704) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "(2646 / 7) + (13 * 28) = ?"; - next; - input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total price of"; - mes "15 Green Potions,"; - mes "6 Magnifiers and"; - mes "4 Traps after"; - mes "a 24 % discount?"; - next; - input .@input; - if (.@input != 934) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total weight of"; - mes "3 Ring Pommel Sabers,"; - mes "4 Caps, and 2 Boots?"; - next; - input .@input; - if (.@input != 550) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total defense of"; - mes "a Buckler, Long Coat,"; - mes "Gas Mask, Big Ribbon,"; - mes "Cute Ribbon, Sakkat,"; - mes "and Glasses?"; - next; - input .@input; - if (.@input != 16) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "How much profit do you"; - mes "make if you buy Tights"; - mes "at a 24 % discount and"; - mes "sell it at 20 % of"; - mes "the normal price?"; - next; - input .@input; - if (.@input != 8520) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 3) { - mes "[Raspuchin Gregory]"; - mes "12 + 23 + 34 + 45 = ?"; - next; - input .@input; - if (.@input != 114) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "1000 - 58 - 214 - 416 = ?"; - next; - input .@input; - if (.@input != 312) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "14 * 17 * 3 = ?"; - next; - input .@input; - if (.@input != 714) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "10530 / 3 / 5 / 2 = ?"; + else if ((ALCH_Q == 4) || (ALCH_Q == 5)) { + if (ALCH_Q == 4) { + mes "Heeheehee"; + mes "keheheh~!"; + mes "What do you"; + mes "want, kid?"; next; - input .@input; - if (.@input != 351) { - set @w_point,@w_point + 1; - } mes "[Raspuchin Gregory]"; - mes "(47 * 28) - (1376 / 4) = ?"; + mes "What...?"; + mes "Join the Union!?"; + mes "I don't like it..."; + mes "I just don't...!"; next; - input .@input; - if (.@input != 972) { - set @w_point,@w_point + 1; - } mes "[Raspuchin Gregory]"; - mes "(2646 / 7) + (13 * 28) = ?"; + mes "Nowadays, anyone thinks they can"; + mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary."; next; - input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total cost of"; - mes "6 Red Potions,"; - mes "7 Green Potions,"; - mes "and 8 Fly Wings"; - mes "after a 24 % discount?"; - next; - input .@input; - if (.@input != 798) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total weight of"; - mes "2 Ring Pommel Sabers,"; - mes "3 Caps, and 3 boots?"; - next; - input .@input; - if (.@input != 480) { - set @w_point,@w_point + 1; - } - mes "[Raspuchin Gregory]"; - mes "What is the"; - mes "total defense of"; - mes "a Mirror Shield, Mr. Smile, Leather Jacket, Silk Robe, Wedding Veil, Muffler, and Eye Patch?"; - next; - input .@input; - if (.@input != 12) { - set @w_point,@w_point + 1; + mes "Heeheehee"; + mes "keheheh~!"; + mes "I plan on weeding out all the dumb and incompetent, and chase them"; + mes "all away! We don't need morons!"; + next; + if (JobLevel == 50) { + mes "[Raspuchin Gregory]"; + mes "Wait..."; + mes "Maybe I've"; + mes "misjudged you."; + if (sex == 1) { + mes "You might be a pretty boy,"; + mes "but I can tell you're smart"; + mes "from your eyes."; + } + else { + mes "Huh. You're a cutie alright,"; + mes "but I can tell you've got brains."; + } + next; + mes "[Raspuchin Gregory]"; + mes "You're not just some stupid kid."; + mes "I can tell youve gone through some rough times as a Merchant. Excellent. Keh heh heh~"; + next; + mes "[Raspuchin Gregory]"; + mes "Fine, just so we don't insult each other's intelligence, I'll just let you pass the interview."; + next; + mes "[Raspuchin Gregory]"; + mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!"; + next; + mes "[Raspuchin Gregory]"; + mes "Now go to Darwin!"; + mes "He'll teach you how to do the experiments. Just tell him that"; + mes "I sent you."; + set ALCH_Q,6; + close; } - mes "[Raspuchin Gregory]"; - mes "If you buy 4 Padded Armors"; - mes "at a 25% discount and sell"; - mes "them at 20% of the original"; - mes "price, how much profit would"; - mes "you make from this sale?"; - next; - input .@input; - if (.@input != 7680) { - set @w_point,@w_point + 1; + else { + mes "[Raspuchin Gregory]"; + mes "Surprised, are you?"; + mes "Keheheh~ If you thought"; + mes "becoming an Alchemist was"; + mes "just a matter of changing"; + mes "your clothes, then you're"; + mes "sadly mistaken."; + next; + mes "[Raspuchin Gregory]"; + mes "Now, try solving"; + mes "all these problems."; + mes "Let's see how smart"; + mes "really are."; } } - if (@w_point == 0) { - mes "[Raspuchin Gregory]"; - mes "Ooh..."; - mes "Excellent! Great!"; - mes "You got them all correct!?"; - mes "Keheheh, I have no choice but to acknowledge you..."; + else if (ALCH_Q == 5) { + mes "What...?!"; + mes "You want to take"; + mes "the test again?!"; + mes "I thought I told"; + mes "you to leave!"; next; - } - if (@w_point == 1) { mes "[Raspuchin Gregory]"; - mes "You got one wrong!"; - mes "But I'll let it slide."; - mes "You pass the interview!"; - next; - } - else { - set ALCMST_Q,5; - mes "[Raspuchin Gregory]"; - mes "Keheheh! Idiot!"; - mes "Just listening to your"; - mes "answers is making me feel"; - mes "stupider! You might as well"; - mes "have got them all wrong!"; - next; - mes "[Raspuchin Gregory]"; - mes "How can a person that"; - mes "can't even answer all of"; - mes "these simple questions think"; - mes "of becoming an Alchemist?!"; + mes "I don't like it..."; + mes "I don't like this!"; next; mes "[Raspuchin Gregory]"; - mes "Hm...?"; - mes "Did you get"; - mes "any right?"; + mes "Fine..."; + mes "I'll try to overlook your pitiful performance last time and give"; + mes "you another chance. Don't screw"; + mes "up again, got it?"; next; mes "[Raspuchin Gregory]"; - mes "Fool! Even if you make one little mistake, everything goes wrong"; - mes "in Alchemy! Now get out of here!"; - mes "You make me sick!"; - close; + mes "Now then,"; + mes "give me all the"; + mes "^551A8Bright^000000 answers"; + mes "this time."; } - mes "[Raspuchin Gregory]"; - mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!"; - next; - mes "[Raspuchin Gregory]"; - mes "Now go to Darwin!"; - mes "He'll teach you how to do the experiments. Just tell him that"; - mes "I sent you."; - set ALCMST_Q,6; - changequest 2031,2032; - close; - } - if (ALCMST_Q == 5) { - mes "[Raspuchin Gregory]"; - mes "What...?!"; - mes "You want to take"; - mes "the test again?!"; - mes "I thought I told"; - mes "you to leave!"; - next; - mes "[Raspuchin Gregory]"; - mes "I don't like it..."; - mes "I don't like this!"; next; - mes "[Raspuchin Gregory]"; - mes "Fine..."; - mes "I'll try to overlook your pitiful performance last time and give"; - mes "you another chance. Don't screw"; - mes "up again, got it?"; - next; - mes "[Raspuchin Gregory]"; - mes "Now then,"; - mes "give me all the"; - mes "^551A8Bright^000000 answers"; - mes "this time."; - next; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 1) { + switch(rand(1,3)) { + case 1: mes "[Raspuchin Gregory]"; mes "12 + 23 + 34 + 45 = ?"; next; input .@input; - if (.@input != 114) { - set @w_point,@w_point + 1; - } + if (.@input != 114) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "1000 - 36 - 227 - 348 = ?"; next; input .@input; - if (.@input != 389) { - set @w_point,@w_point + 1; - } + if (.@input != 389) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "14 * 17 * 3 = ?"; next; input .@input; - if (.@input != 714) { - set @w_point,@w_point + 1; - } + if (.@input != 714) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "9765 / 3 / 5 / 7 = ?"; next; input .@input; - if (.@input != 93) { - set @w_point,@w_point + 1; - } + if (.@input != 93) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(47 * 28) - (1376 / 4) = ?"; next; input .@input; - if (.@input != 972) { - set @w_point,@w_point + 1; - } + if (.@input != 972) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(2646 / 7) + (13 * 28) = ?"; next; input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much do"; mes "12 Red Potions,"; @@ -984,9 +549,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 909) { - set @w_point,@w_point + 1; - } + if (.@input != 909) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -994,9 +557,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and 1 Long Coat?"; next; input .@input; - if (.@input != 450) { - set @w_point,@w_point + 1; - } + if (.@input != 450) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -1006,71 +567,53 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Ear Muffs?"; next; input .@input; - if (.@input != 20) { - set @w_point,@w_point + 1; - } + if (.@input != 20) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "If you buy 5 Helms"; mes "with a 24 % discount"; - mes "and sell it at 20 %,"; + mes "and sell it at 20"; mes "how much profit"; mes "do you earn?"; next; input .@input; - if (.@input != 8800) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 2) { + if (.@input != 8800) set .@w_point,.@w_point+1; + break; + case 2: mes "[Raspuchin Gregory]"; mes "13 + 25 + 37 + 48 = ?"; next; input .@input; - if (.@input != 123) { - set @w_point,@w_point + 1; - } + if (.@input != 123) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "1000 - 58 - 214 - 416 = ?"; next; input .@input; - if (.@input != 312) { - set @w_point,@w_point + 1; - } + if (.@input != 312) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "12 * 24 * 3 = ?"; next; input .@input; - if (.@input != 864) { - set @w_point,@w_point + 1; - } + if (.@input != 864) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "10530 / 3 / 5 / 2 = ?"; next; input .@input; - if (.@input != 351) { - set @w_point,@w_point + 1; - } + if (.@input != 351) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(35 * 19) - (1792 / 7) = ?"; next; input .@input; - if (.@input != 409) { - set @w_point,@w_point + 1; - } + if (.@input != 409) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(2368 / 8) + (24 * 17) = ?"; next; input .@input; - if (.@input != 704) { - set @w_point,@w_point + 1; - } + if (.@input != 704) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(2646 / 7) + (13 * 28) = ?"; next; input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total price of"; @@ -1080,9 +623,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "a 24 % discount?"; next; input .@input; - if (.@input != 934) { - set @w_point,@w_point + 1; - } + if (.@input != 934) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -1090,9 +631,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "4 Caps, and 2 Boots?"; next; input .@input; - if (.@input != 550) { - set @w_point,@w_point + 1; - } + if (.@input != 550) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -1102,9 +641,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and Glasses?"; next; input .@input; - if (.@input != 16) { - set @w_point,@w_point + 1; - } + if (.@input != 16) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much profit do you"; mes "make if you buy Tights"; @@ -1113,53 +650,39 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "the normal price?"; next; input .@input; - if (.@input != 8520) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 3) { + if (.@input != 8520) set .@w_point,.@w_point+1; + break; + case 3: mes "[Raspuchin Gregory]"; mes "12 + 23 + 34 + 45 = ?"; next; input .@input; - if (.@input != 114) { - set @w_point,@w_point + 1; - } + if (.@input != 114) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "1000 - 58 - 214 - 416 = ?"; next; input .@input; - if (.@input != 312) { - set @w_point,@w_point + 1; - } + if (.@input != 312) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "14 * 17 * 3 = ?"; next; input .@input; - if (.@input != 714) { - set @w_point,@w_point + 1; - } + if (.@input != 714) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "10530 / 3 / 5 / 2 = ?"; next; input .@input; - if (.@input != 351) { - set @w_point,@w_point + 1; - } + if (.@input != 351) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(47 * 28) - (1376 / 4) = ?"; next; input .@input; - if (.@input != 972) { - set @w_point,@w_point + 1; - } + if (.@input != 972) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "(2646 / 7) + (13 * 28) = ?"; next; input .@input; - if (.@input != 742) { - set @w_point,@w_point + 1; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total cost of"; @@ -1169,9 +692,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 798) { - set @w_point,@w_point + 1; - } + if (.@input != 798) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -1179,31 +700,25 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "3 Caps, and 3 boots?"; next; input .@input; - if (.@input != 480) { - set @w_point,@w_point + 1; - } + if (.@input != 480) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; mes "a Mirror Shield, Mr. Smile, Leather Jacket, Silk Robe, Wedding Veil, Muffler, and Eye Patch?"; next; input .@input; - if (.@input != 12) { - set @w_point,@w_point + 1; - } + if (.@input != 12) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "If you buy 4 Padded Armors"; - mes "at a 25% discount and sell"; + mes "at a 24% discount and sell"; mes "them at 20% of the original"; mes "price, how much profit would"; mes "you make from this sale?"; next; input .@input; - if (.@input != 7680) { - set @w_point,@w_point + 1; - } + if (.@input != 7680) set w_point,w_point+1; } - if (@w_point == 0) { + if (.@w_point == 0) { mes "[Raspuchin Gregory]"; mes "Ooh..."; mes "Excellent! Great!"; @@ -1211,14 +726,14 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Keheheh, I have no choice but to acknowledge you..."; next; } - if (@w_point == 1) { + else if (.@w_point == 1) { mes "[Raspuchin Gregory]"; mes "You got one wrong!"; mes "But I'll let it slide."; mes "You pass the interview!"; next; } - if (@w_point == 2) { + else if (.@w_point == 2 && ALCH_Q == 5) { mes "[Raspuchin Gregory]"; mes "You've got serious"; mes "weaknesses in math,"; @@ -1226,7 +741,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ next; } else { - set ALCMST_Q,5; + set ALCH_Q,5; mes "[Raspuchin Gregory]"; mes "Keheheh! Idiot!"; mes "Just listening to your"; @@ -1258,11 +773,11 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Now go to Darwin!"; mes "He'll teach you how to do the experiments. Just tell him that"; mes "I sent you."; - set ALCMST_Q,6; + set ALCH_Q,6; + changequest 2031,2032; close; } - if (ALCMST_Q == 6) { - mes "[Raspuchin Gregory]"; + else if (ALCH_Q == 6) { mes "What are you doing?"; mes "Go and find Darwin now."; next; @@ -1271,14 +786,13 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Don't think this is the end of it!"; close; } - mes "[Raspuchin Gregory]"; mes "Keheheheheheheheh~"; mes "Don't think this is the end of it!"; close; } -alde_alche,13,15,7 script Studying Man 750,{ - if (checkweight(1201,3) == 0) { +alde_alche,13,15,7 script Studying Man#am 750,{ + if (checkweight(1201,1) == 0) { mes "- Wait a minute! -"; mes "- Currently you are carrying -"; mes "- too many items with you. -"; @@ -1286,9 +800,9 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "- after you store some items into kafra storage. -"; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Darwin]"; + mes "[Darwin]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Ah..."; mes "You..."; mes "You've become"; @@ -1308,28 +822,28 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "My love..."; close; } - mes "[Darwin]"; - mes "When you have"; - mes "your dreams, you"; - mes "have everything."; - mes "Without them, you have"; - mes "nothing more to lose."; - next; - mes "[Darwin]"; - mes "These cursed eyes..."; - mes "They've lost sight of"; - mes "my dreams a long time ago."; - mes "Ha ha ha ha..."; - next; - mes "[Darwin]"; - mes "Does paradise"; - mes "really exist...?"; - mes "Not without my love..."; - mes "Not without Harmona..."; - close; + else { + mes "When you have"; + mes "your dreams, you"; + mes "have everything."; + mes "Without them, you have"; + mes "nothing more to lose."; + next; + mes "[Darwin]"; + mes "These cursed eyes..."; + mes "They've lost sight of"; + mes "my dreams a long time ago."; + mes "Ha ha ha ha..."; + next; + mes "[Darwin]"; + mes "Does paradise"; + mes "really exist...?"; + mes "Not without my love..."; + mes "Not without Harmona..."; + close; + } } - if (ALCMST_Q == 6) { - mes "[Darwin]"; + if (ALCH_Q == 6) { mes "..."; next; mes "[Darwin]"; @@ -1342,7 +856,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Who is it...?"; next; monster "alde_alche",13,15,"Wolf",1013,1; - killmonster "alde_alche","Studying Man::OnMyMobDead"; + killmonsterall "alde_alche"; mes "[Darwin]"; mes "A wolf?"; mes "Or a human?"; @@ -1369,7 +883,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "What brings you"; mes "to this kind of place?"; next; - switch (select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) { + switch(select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) { case 1: mes "[Darwin]"; mes "You wish to"; @@ -1400,7 +914,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "^551A8B1 Red Herb^000000,"; mes "^551A8B1 Yellow Herb^000000 and"; mes "^551A8B1 White Herb^000000."; - set ALCMST_Q,7; + set ALCH_Q,7; changequest 2032,2033; next; mes "[Darwin]"; @@ -1461,8 +975,7 @@ alde_alche,13,15,7 script Studying Man 750,{ close; } } - if (ALCMST_Q == 7) { - mes "[Darwin]"; + else if (ALCH_Q == 7) { mes "..."; mes "......"; next; @@ -1501,8 +1014,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "as to let me have this flower?"; mes "I'm sure that this is the Moonlight Flower that I've been seeking!"; next; - switch (select("Sorry, I can't give it to you.:I brought it to give to you.")) { - case 1: + if (select("Sorry, I can't give it to you.:I brought it to give to you.") == 1) { mes "[Darwin]"; mes "I understand."; mes "You can't give"; @@ -1518,73 +1030,71 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "somewhere else. It brings"; mes "back too many memories..."; close; - case 2: - mes "[Darwin]"; - mes "Are you"; - mes "serious?!"; - mes "Thank you!"; - mes "Such a precious flower."; - mes "Ah, Harmona, my love..."; - next; - mes "[Darwin]"; - mes "Yes..."; - mes "I shall repay you for this."; - mes "I shall plant all of my knowledge of Alchemy directly into your mind..."; - next; - mes "[Darwin]"; - mes "Open your eyes wide,"; - mes "and look into my eyes!!"; - mes "Don't stop until the end!!"; - next; - mes "Lorem ipsum dolor sit amet,"; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Aenean fermentum ullamcorper."; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Aenean fermentum ullamcorper."; - mes "Vestibulum ante ipsum primis in"; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Aenean fermentum ullamcorper."; - mes "Vestibulum ante ipsum primis in"; - mes "faucibus orci luctus et ultrices"; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Aenean fermentum ullamcorper."; - mes "Vestibulum ante ipsum primis in"; - mes "faucibus orci luctus et ultrices"; - mes "posuere cubilia Curae; Morbi"; - next; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Aenean fermentum ullamcorper."; - mes "Vestibulum ante ipsum primis in"; - mes "faucibus orci luctus et ultrices"; - mes "posuere cubilia Curae; Morbi"; - mes "massa, fermentum vitae..."; - next; - delitem 710,1; //Illusion_Flower - mes "[Darwin]"; - mes "^666666*Gasp...*^000000"; - mes "You are now"; - mes "an Alchemist!!"; - mes "Go to the Union"; - mes "and cast away the last"; - mes "vestiges of Merchant life!!"; - set ALCMST_Q,40; - changequest 2033,2034; - close; } + mes "[Darwin]"; + mes "Are you"; + mes "serious?!"; + mes "Thank you!"; + mes "Such a precious flower."; + mes "Ah, Harmona, my love..."; + next; + mes "[Darwin]"; + mes "Yes..."; + mes "I shall repay you for this."; + mes "I shall plant all of my knowledge of Alchemy directly into your mind..."; + next; + mes "[Darwin]"; + mes "Open your eyes wide,"; + mes "and look into my eyes!!"; + mes "Don't stop until the end!!"; + next; + mes "Lorem ipsum dolor sit amet,"; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Aenean fermentum ullamcorper."; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Aenean fermentum ullamcorper."; + mes "Vestibulum ante ipsum primis in"; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Aenean fermentum ullamcorper."; + mes "Vestibulum ante ipsum primis in"; + mes "faucibus orci luctus et ultrices"; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Aenean fermentum ullamcorper."; + mes "Vestibulum ante ipsum primis in"; + mes "faucibus orci luctus et ultrices"; + mes "posuere cubilia Curae; Morbi"; + next; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Aenean fermentum ullamcorper."; + mes "Vestibulum ante ipsum primis in"; + mes "faucibus orci luctus et ultrices"; + mes "posuere cubilia Curae; Morbi"; + mes "massa, fermentum vitae..."; + next; + delitem 710,1; //Illusion_Flower + mes "[Darwin]"; + mes "^666666*Gasp...*^000000"; + mes "You are now"; + mes "an Alchemist!!"; + mes "Go to the Union"; + mes "and cast away the last"; + mes "vestiges of Merchant life!!"; + set ALCH_Q,40; + close; } - if ((countitem(7134) > 2) && (countitem(713) > 2) && (countitem(507) > 0) && (countitem(508) > 0) && (countitem(509) > 0)) { + else if (countitem(7134) > 2 && countitem(713) > 2 && countitem(507) > 0 && countitem(508) > 0 && countitem(509) > 0) { mes "[Darwin]"; mes "Seems like you have everything ready. As promised, I will teach you how to make simple medicine."; next; @@ -1611,27 +1121,27 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Now, make some medicine"; mes "using the simple procedure"; mes "I just explained to you."; - set @w_point,0; + set w_point,0; next; - switch (select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) { + switch(select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) { case 1: break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "What...?"; next; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "No!"; next; break; } - switch (select("Put some dirt in the Medicine Bowl.:Put some Herbs in the Medicine Bowl.:Put a Harp in the Medicine Bowl.")) { + switch(select("Put some dirt in the Medicine Bowl.:Put some Herbs in the Medicine Bowl.:Put a Harp in the Medicine Bowl.")) { case 1: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "...Eh!?"; mes "That's not"; @@ -1641,7 +1151,7 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "A Harp?"; mes "And how would"; @@ -1649,18 +1159,18 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { + switch(select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { case 1: break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Wh-What are"; mes "you doing!?"; next; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Agh...!"; mes "What do you"; @@ -1669,16 +1179,16 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Spray clean water.:Drink clean water.:Pour clean water.")) { + switch(select("Spray clean water.:Drink clean water.:Pour clean water.")) { case 1: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Huh?"; mes "What are you doing?"; next; break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "W-wait..."; mes "Are you"; @@ -1688,11 +1198,11 @@ alde_alche,13,15,7 script Studying Man 750,{ case 3: break; } - switch (select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) { + switch(select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) { case 1: break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Eat the Herbs?"; mes "I think you need"; @@ -1701,7 +1211,7 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Singing and"; mes "dancing? Alchemists"; @@ -1710,9 +1220,9 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) { + switch(select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) { case 1: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "We're Alchemists,"; mes "not restaurant chefs."; @@ -1721,14 +1231,14 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Huh..."; mes "Pretty sloppy..."; next; break; } - if (@w_point > 0) { + if (.@w_point > 0) { mes "[Darwin]"; mes "..."; mes "......"; @@ -1745,7 +1255,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "[Darwin]"; mes "Good job."; mes "It came out pretty well considering it's your first time. Go ahead and keep the medicines that you've just made."; - set ALCMST_Q,8; + set ALCH_Q,8; changequest 2033,2035; next; mes "[Darwin]"; @@ -1759,28 +1269,29 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "what is most precious to you."; close; } - mes "[Darwin]"; - mes "Have you forgotten"; - mes "what you need to bring?"; - mes "Let me remind you once"; - mes "again. You must come"; - mes "back with..."; - next; - mes "[Darwin]"; - mes "^551A8B3 Medicine Bowls^000000,"; - mes "^551A8B3 Empty Bottle^000000,"; - mes "^551A8B1 Red Herb^000000,"; - mes "^551A8B1 Yellow Herb^000000 and"; - mes "^551A8B1 White Herb^000000."; - next; - mes "[Darwin]"; - mes "Come back"; - mes "when you are"; - mes "ready..."; - close; + else { + mes "[Darwin]"; + mes "Have you forgotten"; + mes "what you need to bring?"; + mes "Let me remind you once"; + mes "again. You must come"; + mes "back with..."; + next; + mes "[Darwin]"; + mes "^551A8B3 Medicine Bowls^000000,"; + mes "^551A8B3 Empty Bottle^000000,"; + mes "^551A8B1 Red Herb^000000,"; + mes "^551A8B1 Yellow Herb^000000 and"; + mes "^551A8B1 White Herb^000000."; + next; + mes "[Darwin]"; + mes "Come back"; + mes "when you are"; + mes "ready..."; + close; + } } - if (ALCMST_Q == 8) { - mes "[Darwin]"; + else if (ALCH_Q == 8) { mes "I said to go"; mes "to Van Helmont."; mes "I'd like to teach you"; @@ -1793,8 +1304,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "withers as well.."; close; } - if (ALCMST_Q == 40) { - mes "[Darwin]"; + else if (ALCH_Q == 40) { mes "I have already given you all of my knowledge and have nothing more"; mes "to teach you."; next; @@ -1803,31 +1313,32 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "you do that, your life as an Alchemist will begin."; close; } - mes "[Darwin]"; - mes "When you have"; - mes "your dreams, you"; - mes "have everything."; - mes "Without them, you have"; - mes "nothing more to lose."; - next; - mes "[Darwin]"; - mes "These cursed eyes..."; - mes "They've lost sight of"; - mes "my dreams a long time ago."; - mes "Ha ha ha ha..."; - next; - mes "[Darwin]"; - mes "Does paradise"; - mes "really exist...?"; - mes "Not without my love..."; - mes "Not without Harmona..."; - close; + else { + mes "When you have"; + mes "your dreams, you"; + mes "have everything."; + mes "Without them, you have"; + mes "nothing more to lose."; + next; + mes "[Darwin]"; + mes "These cursed eyes..."; + mes "They've lost sight of"; + mes "my dreams a long time ago."; + mes "Ha ha ha ha..."; + next; + mes "[Darwin]"; + mes "Does paradise"; + mes "really exist...?"; + mes "Not without my love..."; + mes "Not without Harmona..."; + close; + } } -alde_alche,79,19,5 script Experiment Expert 748,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Van Helmont]"; +alde_alche,79,19,5 script Experiment Expert#am 748,{ + mes "[Van Helmont]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "What do you want?"; mes "I'm busy!! Don't"; mes "bother me and get"; @@ -1842,25 +1353,25 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Reading science journals and performing experiments. That's what Alchemy is all about. Now, let me get back to work!"; close; } - mes "[Van Helmont]"; - mes "Just a little..."; - mes "A little bit more..."; - mes "Nooo! Just a little"; - mes "bit more and it"; - mes "would've been done!"; - next; - mes "[Van Helmont]"; - mes "Why...?!"; - mes "Why, another failure?!"; - mes "My calculations were"; - mes "all correct! W-Wait...!"; - next; - mes "[Van Helmont]"; - mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work...!"; - close; + else { + mes "Just a little..."; + mes "A little bit more..."; + mes "Nooo! Just a little"; + mes "bit more and it"; + mes "would've been done!"; + next; + mes "[Van Helmont]"; + mes "Why...?!"; + mes "Why, another failure?!"; + mes "My calculations were"; + mes "all correct! W-Wait...!"; + next; + mes "[Van Helmont]"; + mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work...!"; + close; + } } - if (ALCMST_Q == 8) { - mes "[Van Helmont]"; + if (ALCH_Q == 8) { mes "Arrrrgh...!"; mes "Why isn't this formula working? What's wrong? In theory, it's all correct, but there must be an error in the formula somewhere..."; next; @@ -1882,20 +1393,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Um..."; mes "Who are you?"; next; - switch (select("I want to become an Alchemist.:.......")) { - case 1: - mes "[Van Helmont]"; - mes "You...?"; - mes "An Alchemist?"; - mes "What a funny Merchant."; - next; - mes "[Van Helmont]"; - mes "Well, that's nice, but I have very urgent experiments that require"; - mes "my attention, so don't get"; - mes "in the way."; - next; - break; - case 2: + if (select("I want to become an Alchemist.:.......") == 2) { mes "[Van Helmont]"; mes "Hmm...?"; mes "What, did you just want to watch? Fine, fine, but do it quietly and leave right when you're done."; @@ -1904,8 +1402,17 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Stay out of my way and don't go around touching stuff. There might be some volatile materials, so it'd be dangerous to have any accidents."; close; } - switch (select("Teach me something.:...")) { - case 1: + mes "[Van Helmont]"; + mes "You...?"; + mes "An Alchemist?"; + mes "What a funny Merchant."; + next; + mes "[Van Helmont]"; + mes "Well, that's nice, but I have very urgent experiments that require"; + mes "my attention, so don't get"; + mes "in the way."; + next; + if (select("Teach me something.:...") == 1) { mes "[Van Helmont]"; mes "Argh...!"; mes "Didn't I just tell you not to bother me? What's so hard to understand about that?"; @@ -1925,41 +1432,39 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "You don't need to bring anything. Just go watch him at work and have him tell you how he makes those solutions. Got it?"; next; mes "[Van Helmont]"; - set ALCMST_Q,9; + set ALCH_Q,9; changequest 2035,2036; mes "Well then, see you later."; mes "You'd better get going as"; mes "soon as you can."; close; - case 2: - mes "[Van Helmont]"; - mes "..."; - next; - mes "[Van Helmont]"; - mes "..."; - mes "......"; - next; - mes "[Van Helmont]"; - mes "..."; - mes "......"; - next; - mes "[Van Helmont]"; - mes "So if I recalibrate the combustion rate of this compound, that should negate any cohesive tendencies in this particle flux..."; - next; - mes "[Van Helmont]"; - mes "But what am I going to do"; - mes "about all of this spontaneous"; - mes "crystallization?! I can't very well remove this matrix, I need it for the catalyst to reach the triple point."; - next; - mes "[Van Helmont]"; - mes "Damn!"; - mes "What am"; - mes "I going to do?!"; - close; } - } - if (ALCMST_Q == 9) { mes "[Van Helmont]"; + mes "..."; + next; + mes "[Van Helmont]"; + mes "..."; + mes "......"; + next; + mes "[Van Helmont]"; + mes "..."; + mes "......"; + next; + mes "[Van Helmont]"; + mes "So if I recalibrate the combustion rate of this compound, that should negate any cohesive tendencies in this particle flux..."; + next; + mes "[Van Helmont]"; + mes "But what am I going to do"; + mes "about all of this spontaneous"; + mes "crystallization?! I can't very well remove this matrix, I need it for the catalyst to reach the triple point."; + next; + mes "[Van Helmont]"; + mes "Damn!"; + mes "What am"; + mes "I going to do?!"; + close; + } + else if (ALCH_Q == 9) { mes "Alright, if I make an incision here in the Tentacle, and add a Jellopy and Sticky Mucus solution into the... Where the hell did my Medicine Bowl go?"; next; mes "[Van Helmont]"; @@ -1973,19 +1478,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "......"; mes "Who are you?"; next; - switch (select("I want to become an Alchemist?:.......")) { - case 1: - mes "[Van Helmont]"; - mes "Ah, of course. The Merchant from before. So what did you learn from Molgenstein? I didn't just send you there for fun, you know."; - next; - mes "[Van Helmont]"; - mes "Let me ask you"; - mes "some questions to"; - mes "check what you've"; - mes "learned."; - next; - break; - case 2: + if (select("I want to become an Alchemist?:.......") == 2) { mes "[Van Helmont]"; mes "Hmm...?"; mes "What, did you just want to watch? Fine, fine, but do it quietly and leave right when you're done."; @@ -1994,39 +1487,29 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Stay out of my way and don't go around touching stuff. There might be some volatile materials, so it'd be dangerous to have any accidents."; close; } - set @w_point,0; - if (molgenstain == 3) { + mes "[Van Helmont]"; + mes "Ah, of course. The Merchant from before. So what did you learn from Molgenstein? I didn't just send you there for fun, you know."; + next; + mes "[Van Helmont]"; + mes "Let me ask you"; + mes "some questions to"; + mes "check what you've"; + mes "learned."; + next; + if(MISC_QUEST & 4) { mes "[Van Helmont]"; mes "Which item is not"; mes "necessary to make"; mes "a Counteragent?"; next; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + if (select("Karvodailnirol:Detrimindexta:Alcohol") != 1) set .@w_point,.@w_point+1; mes "[Van Helmont]"; mes "What item is not"; mes "necessary to make"; mes "a Mixture?"; next; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - break; - case 3: - set @w_point,@w_point + 1; - break; - } - if (@w_point > 0) { + if (select("Karvodailnirol:Detrimindexta:Alcohol") != 2) set .@w_point,.@w_point+1; + if (.@w_point > 0) { mes "[Van Helmont]"; mes "Weren't you listening to Molgenstein at all? Maybe you"; mes "have to watch him make it again."; @@ -2044,7 +1527,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Go out and find the room next"; mes "to this one and talk to Nicholas. He'll continue your training."; next; - set ALCMST_Q,20; + set ALCH_Q,20; changequest 2036,2037; mes "[Van Helmont]"; mes "What are you"; @@ -2060,33 +1543,13 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "you need to make"; mes "a Counteragent?"; next; - switch (select("Feather:Sticky Mucus:Animal Gore")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + select("Feather:Sticky Mucus:Animal Gore"); mes "[Van Helmont]"; mes "What item do"; mes "you need to make"; mes "a Mixture?"; next; - switch (select("Monster Feed:Ancient Lips:Rotten Bandage")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + select("Monster Feed:Ancient Lips:Rotten Bandage"); mes "[Van Helmont]"; mes "Be honest. You don't know, do you?! Didn't I say to go to Molgenstein and have him teach you?!"; next; @@ -2095,8 +1558,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ close; } } - if (ALCMST_Q == 20) { - mes "[Van Helmont]"; + else if (ALCH_Q == 20) { mes "What...?"; mes "I thought I told you to"; mes "talk to Nicholas next door?"; @@ -2106,28 +1568,29 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "and you need to finish becoming an Alchemist. Come on, get moving!"; close; } - mes "[Van Helmont]"; - mes "Just a little..."; - mes "A little bit more..."; - mes "Nooo! Just a little"; - mes "bit more and it"; - mes "would've been done!"; - next; - mes "[Van Helmont]"; - mes "Why...?!"; - mes "Why, another failure?!"; - mes "My calculations were"; - mes "all correct! Wait..."; - next; - mes "[Van Helmont]"; - mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work..."; - close; + else { + mes "Just a little..."; + mes "A little bit more..."; + mes "Nooo! Just a little"; + mes "bit more and it"; + mes "would've been done!"; + next; + mes "[Van Helmont]"; + mes "Why...?!"; + mes "Why, another failure?!"; + mes "My calculations were"; + mes "all correct! Wait..."; + next; + mes "[Van Helmont]"; + mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work..."; + close; + } } -alde_alche,101,184,4 script Master Alchemist 122,{ +alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "job_alche_vincent",2; + mes "[Vincent Carsciallo]"; if (Upper == 1) { - mes "[Vincent Carsciallo]"; mes "You have transcended..."; mes "Excellent, excellent."; next; @@ -2138,9 +1601,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Vincent Carsciallo]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome!"; mes "So how is your"; mes "research coming along?"; @@ -2151,12 +1613,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ mes "[Vincent Carsciallo]"; mes "If you discover something new,"; mes "come and tell us. Don't forget that we are all working together to unlock the mysteries of science!"; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Vincent Carsciallo]"; + else if (BaseClass == Job_Novice) { mes "Hm..."; mes "A Novice?"; mes "You shouldn't be"; @@ -2166,27 +1624,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ mes "[Vincent Carsciallo]"; mes "There are a lot of volatile chemicals and dangerous"; mes "materials in this building. It'd be a lot better if you just played outside."; - close2; - cutin "",255; - end; } - mes "[Vincent Carsciallo]"; - mes "Hmm...?"; - mes "What's an adventurer"; - mes "doing here in the"; - mes "Alchemist Union?"; - next; - mes "[Vincent Carsciallo]"; - mes "I'm afraid there's"; - mes "not much we can offer"; - mes "you here if you're not"; - mes "a member of our Union."; + else { + mes "Hmm...?"; + mes "What's an adventurer"; + mes "doing here in the"; + mes "Alchemist Union?"; + next; + mes "[Vincent Carsciallo]"; + mes "I'm afraid there's"; + mes "not much we can offer"; + mes "you here if you're not"; + mes "a member of our Union."; + } close2; cutin "",255; end; } - if (ALCMST_Q == 0) { - mes "[Vincent Carsciallo]"; + if (ALCH_Q == 0) { mes "Hmm...?"; mes "A Merchant?"; mes "Are you interested"; @@ -2206,18 +1661,16 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if (ALCMST_Q == 40) { + else if (ALCH_Q == 40) { if (JobLevel < 40) { - set ALCMST_Q,0; - mes "[Vincent Carsciallo]"; + set ALCH_Q,0; mes "Hmm...you don't seem to be qualified yet."; mes "Remember, you must reach at least job level 40 to become an Alchemist."; close2; cutin "",255; end; } - if (SkillPoint != 0) { - mes "[Vincent Carsciallo]"; + if (SkillPoint) { mes "Ah, you're almost"; mes "ready to become an"; mes "Alchemist, but you must"; @@ -2233,86 +1686,62 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; + if(checkquest(2039) != -1) { + changequest 2039,2040; + } mes "Ah, well done."; mes "I can see that you"; mes "have learned all of"; mes "the basics of Alchemy."; next; - if (JobLevel == 50) { - set ALCMST_Q,0; - changequest 2034,2040; - changequest 2039,2040; - completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } - mes "[Vincent Carsciallo]"; - mes "Henceforth, you are"; - mes "now a member of our"; - mes "illustrious Union."; - mes "I hope you learn a lot..."; - next; - getitem 7133,1; //Slim_Potion_Create_Book - mes "[Vincent Carsciallo]"; - mes "Let me give you"; - mes "something special."; - mes "You can use this to"; - mes "begin your life"; - mes "of research."; - next; - mes "[Vincent Carsciallo]"; - mes "I'll see"; - mes "you later then..."; - mes "Remember to carry"; - mes "yourself with pride"; - mes "as an Alchemist!"; - close2; - cutin "",255; - end; - } - set ALCMST_Q,0; - changequest 2034,2040; - changequest 2039,2040; + set ALCH_Q,0; completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } + set .@jlevel,JobLevel; + callfunc "Job_Change",Job_Alchemist; + callfunc "F_ClearJobVar"; mes "[Vincent Carsciallo]"; mes "Henceforth, you are"; mes "now a member of our"; mes "illustrious Union."; mes "I hope you learn a lot..."; next; - set .@alche_m2, rand(1,6); - if (.@alche_m2 == 1) { - getitem 7127,1; //Alcol_Create_Book - } - else if (.@alche_m2 == 2) { - getitem 7128,1; //FireBottle_Create_Book - } - else if (.@alche_m2 == 3) { - getitem 7129,1; //Acid_Create_Book - } - else if (.@alche_m2 == 4) { - getitem 7130,1; //Plant_Create_Book - } - else if (.@alche_m2 == 5) { - getitem 7131,1; //Mine_Create_Book + + if (.@jlevel == 50) { + getitem 7133,1; //Slim_Potion_Create_Book + mes "[Vincent Carsciallo]"; + mes "Let me give you"; + mes "something special."; + mes "You can use this to"; + mes "begin your life"; + mes "of research."; } else { - getitem 7144,1; //Normal_Potion_Book + switch(rand(1,6)) { + case 1: + getitem 7127,1; //Alcol_Create_Book + break; + case 2: + getitem 7128,1; //FireBottle_Create_Book + break; + case 3: + getitem 7129,1; //Acid_Create_Book + break; + case 4: + getitem 7130,1; //Plant_Create_Book + break; + case 5: + getitem 7131,1; //Mine_Create_Book + break; + case 6: + getitem 7144,1; //Normal_Potion_Book + } + mes "[Vincent Carsciallo]"; + mes "And..."; + mes "Here's a little"; + mes "something to help"; + mes "you begin your"; + mes "research."; } - mes "[Vincent Carsciallo]"; - mes "And..."; - mes "Here's a little"; - mes "something to help"; - mes "you begin your"; - mes "research."; next; mes "[Vincent Carsciallo]"; mes "I'll see"; @@ -2324,23 +1753,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; - mes "Ah..."; - mes "I believe you've"; - mes "already registered"; - mes "for training to become"; - mes "an Alchemist."; - next; - mes "[Vincent Carsciallo]"; - mes "Please listen to the"; - mes "other Alchemists and follow their instructions carefully. You will learn much from them."; - close2; - cutin "",255; - end; + else { + mes "Ah..."; + mes "I believe you've"; + mes "already registered"; + mes "for training to become"; + mes "an Alchemist."; + next; + mes "[Vincent Carsciallo]"; + mes "Please listen to the"; + mes "other Alchemists and follow their instructions carefully. You will learn much from them."; + close2; + cutin "",255; + end; + } } -alde_alche,145,19,1 script Chief Researcher 57,{ - if (checkweight(1201,3) == 0) { +alde_alche,145,19,1 script Chief Researcher#am 57,{ + if (checkweight(1201,1) == 0) { mes "- Wait a minute! -"; mes "- Currently you are carrying -"; mes "- too many items with you. -"; @@ -2348,8 +1778,8 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "- after you store some items into kafra storage. -"; close; } - if ((ALCMST_Q > 19) && (ALCMST_Q < 22)) { - if (ALCMST_Q == 20) { + if (ALCH_Q > 19 && ALCH_Q < 22) { + if (ALCH_Q == 20) { mes "[Nicholas Flamel]"; mes "Ooh..."; mes "You're the upstart"; @@ -2376,201 +1806,55 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "choose the word"; mes "that is ^551A8BIN^000000 the puzzle."; next; - set .@alche_puz, rand(1,3); - if (.@alche_puz == 1) { + switch(rand(1,3)) { + case 1: mes "t m y a n y e o b n e g p r i"; next; - set @alch_q, 0; - switch (select("Brake:Brass:Bug:Broken:Brigan?")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } - mes "o n c u d a p j l e r s v m u"; + if (select("Brake:Brass:Bug:Broken:Brigan?") == 5) set .@alch_t,.@alch_t+10; + mes "o n c u t a p j l e r s v m u"; next; - switch (select("vendor:storage:weapon:simple:streetshop")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + if (select("vendor:storage:weapon:simple:streetshop") == 1) set .@alch_t,.@alch_t+10; mes "t v a r m e g p h e u b o y l"; next; - switch (select("molasses:party:leader:sweets:treacle")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + if (select("molasses:party:leader:sweets:treacle") == 2) set .@alch_t,.@alch_t+10; mes "q z a h n a i n b r d p t n c"; next; - switch (select("partisan:partizan:pato:paros:pack")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } - } - else if (.@alche_puz == 2) { + if (select("partisan:partizan:pato:paros:pack") == 2) set .@alch_t,.@alch_t+10; + break; + case 2: mes "m p d i c f a r o g n k w a s"; next; - set @alch_q, 0; - switch (select("packman:sunshine:ragnarok:wonderland:frost")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + if (select("packman:sunshine:ragnarok:wonderland:frost") == 1) set .@alch_t,.@alch_t+10; mes "g b n o p r e f a r e t a s k"; next; - switch (select("purple:smoker:ragnarok:bolt:burnt wood")) { - case 1: - break; - case 2: - break; - case 3: - set @alch_q, @alch_q + 10; - break; - case 4: - break; - case 5: - break; - } + if (select("purple:smoker:ragnarok:bolt:burnt wood") == 3) set .@alch_t,.@alch_t+10; mes "u g n i s j e k c e o g n d p"; next; - switch (select("scab:kinship:donate:source:opening")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } + if (select("scab:kinship:donate:source:opening") == 5) set .@alch_t,.@alch_t+10; mes "r o e h n r o m c a i n p t t"; next; - switch (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } - } - else { + if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) set .@alch_t,.@alch_t+10; + break; + case 3: mes "s m i e x b w u n e t a g l r"; next; - set @alch_q, 0; - switch (select("tiger:wolf:pumpkin:tripped:tore")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + if (select("tiger:wolf:pumpkin:tripped:tore") == 1) set .@alch_t,.@alch_t+10; mes "n i e g b o p d s o a u w r v"; next; - switch (select("bash:provoke:endure:stun:abracadabra")) { - case 1: - break; - case 2: - break; - case 3: - set @alch_q, @alch_q + 10; - break; - case 4: - break; - case 5: - break; - } + if (select("bash:provoke:endure:stun:abracadabra") == 3) set .@alch_t,.@alch_t+10; mes "l r m g r e x t a v i n e d e"; next; - switch (select("alberta:latifoliate:crimson:maple:evergreen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } + if (select("alberta:latifoliate:crimson:maple:evergreen") == 5) set .@alch_t,.@alch_t+10; mes "r o e h n r o m c a i n p t t"; next; - switch (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) set .@alch_t,.@alch_t+10; + break; } mes "[Nicholas Flamel]"; mes "Ah, you finished."; mes "Now, let's see..."; - if (@alch_q > 30) { - set ALCMST_Q,22; + if (.@alch_t > 30) { + set ALCH_Q,22; mes "Excellent job!"; next; mes "[Nicholas Flamel]"; @@ -2587,23 +1871,27 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "^551A8Bplenty of room in your inventory^000000."; close; } - set ALCMST_Q,21; - mes "^666666*Gasp!*^000000 H-horrible!"; - next; - mes "[Nicholas Flamel]"; - mes "Judging from these results, you obviously have a problem with concentrating."; - next; - mes "[Nicholas Flamel]"; - mes "If you can't even solve these easy word puzzles, how can you keep track of your experiments and research?"; - next; - mes "[Nicholas Flamel]"; - mes "Why don't you relax"; - mes "and rest a bit before"; - mes "you take the test again?"; - close; + else { + set ALCH_Q,21; + mes "^666666*Gasp!*^000000 H-horrible!"; + next; + mes "[Nicholas Flamel]"; + mes "Judging from these results, you obviously have a problem with concentrating."; + next; + mes "[Nicholas Flamel]"; + mes "If you can't even solve these easy word puzzles, how can you keep track of your experiments and research?"; + next; + mes "[Nicholas Flamel]"; + mes "Why don't you relax"; + mes "and rest a bit before"; + mes "you take the test again?"; + close; + + } } - if (ALCMST_Q == 22) { - if ((MaxWeight - Weight) < 1370) { + else if (ALCH_Q == 22) { + set .@now_weight,MaxWeight-Weight; + if (.@now_weight < 1370) { mes "[Nicholas Flamel]"; mes "Whoa..."; mes "You're carrying too much stuff! First, put some of your things in Kafra Storage."; @@ -2623,7 +1911,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "Come back here to me after you"; mes "help them out. They'll need all of these items to continue their experiments."; next; - set ALCMST_Q,23; + set ALCH_Q,23; changequest 2037,2038; mes "[Nicholas Flamel]"; mes "1 Mixture,"; @@ -2644,7 +1932,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "one piece."; close; } - if (ALCMST_Q == 23) { + else if (ALCH_Q == 23) { mes "[Nicholas Flamel]"; mes "Didn't I say to"; mes "go to Juno and help"; @@ -2652,8 +1940,8 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "their Alchemy research?"; close; } - if (ALCMST_Q == 24) { - set ALCMST_Q,40; + else if (ALCH_Q == 24) { + set ALCH_Q,40; changequest 2038,2039; mes "[Nicholas Flamel]"; mes "Ah, you're back!"; @@ -2671,24 +1959,44 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "All you have to do now is speak to the Union Leader on the 2nd floor! Congratulations, you'll become an Alchemist very soon!"; close; } - if ((ALCMST_Q == 40) && (Class == Job_Baby_Merchant || Class == Job_Merchant)) { + else if (ALCH_Q == 40 && BaseJob == Job_Merchant) { mes "[Nicholas Flamel]"; mes "All you have to do now is speak to the Union Leader on the 2nd floor! Congratulations, you'll become an Alchemist very soon!"; close; } - mes "[Nicholas Flamel]"; - mes "Lorem ipsum dolor sit amet,"; - mes "consectetuer adipiscing elit."; - mes "Vivamus sem. Sed metus"; - mes "lacus, viverra id, rutrum eget,"; - mes "rhoncus sit amet, lectus."; - next; - mes "[Nicholas Flamel]"; - mes "Suspendisse sit amet urna in"; - mes "nisl fringilla faucibus. Nulla scelerisque eros..."; - mes "^666666*Mumble Mumble*^000000"; - close; + else { + mes "[Nicholas Flamel]"; + mes "Lorem ipsum dolor sit amet,"; + mes "consectetuer adipiscing elit."; + mes "Vivamus sem. Sed metus"; + mes "lacus, viverra id, rutrum eget,"; + mes "rhoncus sit amet, lectus."; + next; + mes "[Nicholas Flamel]"; + mes "Suspendisse sit amet urna in"; + mes "nisl fringilla faucibus. Nulla scelerisque eros..."; + mes "^666666*Mumble Mumble*^000000"; + close; + } } -alde_alche,19,171,0 warp alche#3 1,1,aldebaran,68,56 -alde_alche,42,171,0 warp alche#4 1,1,aldebaran,56,68
\ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= v1.0 Working. +//= npc/quests/counteragent_mixture.txt Also Needed +//= npc/quests/quests_yuno.txt Also Needed [Darkchild] +//= v1.1 Fixed some minor bugs. Optimized some lines. Re-organized the script a bit. +//= Giving Parmry NPC, Hammer and Old Book now waves the 50000 fee. (based of mRO website) +//= Having a joblvl of 50 allows you to skip Rasputin's test. (based of mRO website) [kobra_k88] +//= 1.2 fixed a few typos (have to hunt more) [Lupus] +//= 1.3 Added Baby Class Support [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 1.6a fixed some wrong answers, thanks to zlider for info [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.2 Got rid of 'al_morgen' var. Now uses (MISC_QUEST & 4) [Lupus] +//= 2.3 Optimized, changed job numbers to constants. Fixed some spelling [Lupus] +//= 2.4 Added alternative prizes according to JobLevel [Lupus] +//= 2.4a Fixed 2 wrong answers in Rasputin's test [Lupus] diff --git a/npc/re/jobs/2-2/bard.txt b/npc/re/jobs/2-2/bard.txt index 839a61ad5..a4b158ec8 100644 --- a/npc/re/jobs/2-2/bard.txt +++ b/npc/re/jobs/2-2/bard.txt @@ -1,21 +1,33 @@ //===== rAthena Script ======================================= -// Bard Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Bard Job Quest +//===== By: ================================================== +//= Muad_Dib(The Prometheus Project), Lupus, Samuray22 //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[M] -> Bard. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= [Aegis Conversion] +//= Job quest for Bard class +//===== Additional Comments: ================================= +//= 2.1b Updated to the Official One. [Samuray22] +//= 2.2 Fixed BUG when baby classes weren't able to get a job, +//= - fixed bug with final prize [Lupus] HAVE TO CHANE ALL ITEMS to numeric IDs +//= 2.3 Updated NPC dialogs and cutins using Aegis 10.3 files. [L0ne_W0lf] +//= - Fixed error with the present checking. (Lupus beat me to committing) +//= - Changed the reward checking to use callsub (fixed the flow of the script) +//= - Optimized and changed the flow of things slightly. +//= - Temporary character variables "@" are now ".@" +//= - Fixed some indentation. +//= - Changed item names to item IDs +//= 2.4 Fixed hang up on bard quest. ($kiN.) [L0ne_W0lf] +//= 2.5 Added Quest Log commands. [Kisuka] +//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf] +//============================================================ -comodo,226,123,5 script Roaming Bard 741,{ - if (Upper == 1) { +//=============== Ayealo ============================ +comodo,226,123,5 script Wandering Bard 741,{ + if(Upper == 1) { mes "[Lalo]"; mes "Chosen ones who are destined to become Gods"; mes "are so many in this era"; @@ -28,11 +40,11 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Tell them they are wasting their time..."; mes "Tell them they forget the most important goal of the life..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + else if(BaseJob != Job_Archer) { + if(BaseJob == Job_Bard) { mes "[Lalo]"; mes "Ooh hey! How's your singing these days?"; mes "I wonder if your voice got any better."; @@ -44,11 +56,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Never forget to have a positive attitude and the meaning of joy."; mes "Our songs are supposed to deliver happiness and joy to everyone."; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if(Class == Job_Novice) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "The sadness that overcomes my heart.. "; @@ -64,51 +73,43 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Heh... try asking someone else."; mes "I'm trying to compose a new song."; - close2; - cutin "",255; - end; - } - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Lalala, lalala. Beautiful Comodo."; - mes "Always full of happy moments~"; - next; - mes "[Lalo]"; - if (Sex == 1) { - mes "Forget about your worries~"; - mes "And enjoy everything~"; } else { - mes "Cute lady, shall we dance~"; + cutin "job_bard_aiolo01",2; + mes "[Lalo]"; + mes "Lalala, lalala. Beautiful Comodo."; + mes "Always full of happy moments~"; + next; + mes "[Lalo]"; + if (sex) { + mes "Forget about your worries~"; + mes "And enjoy everything~"; + } + else mes "Cute lady, shall we dance~"; + mes "Youth never repeats itself~"; } - mes "Youth never repeats itself~"; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (BRD_Q == 0) { + else if(BARD_Q == 0) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; - if (Sex == 1) { - mes "Hi! Delightful Archer."; - } - else { - mes "Hello! Beautiful Archer Lady."; - } + if (sex) mes "Hi! Delightful Archer."; + else mes "Hello! Beautiful Archer Lady."; mes "How can a wanderer like me help you?"; next; - switch (select("You have a nice voice.:Could you sing for me, please?:Nothing.")) { + switch(select("You have a nice voice.:Could you sing for me, please?:Nothing.")) { case 1: mes "[Lalo]"; mes "Hahaha! Of course!"; - mes "If you sing with a happy heart, your voice always gets better."; + mes "if you sing with a happy heart, your voice always gets better."; next; mes "[Lalo]"; mes "But, to Bards your voice is your life."; mes "Sometimes your voice will go, but you must be careful."; - close2; - cutin "",255; - end; + break; + case 2: mes "[Lalo]"; mes "A song... let's see."; @@ -143,38 +144,32 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Hmm... that's always a good song to sing."; mes "How was it? Don't you think it's a nice song?"; next; - switch (select("Yes, it was very nice.:No, not really...")) { - case 1: + if (select("Yes, it was very nice.:No, not really...") == 1) { mes "[Lalo]"; - mes "Thanks! If you enjoyed my song, it makes me happy, too."; + mes "Thanks! if you enjoyed my song, it makes me happy, too."; next; - if ((Sex == 1) && (JobLevel > 39)) { + if (Sex == 1 && JobLevel > 39) { mes "[Lalo]"; mes "It would be nice if more people went around and sang..."; mes "Well, it's quite ok as it is now... hmmhmm."; - set BRD_Q,1; + set BARD_Q,1; setquest 3000; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } mes "[Lalo]"; - mes "If you ever want to hear my song again, just ask."; - close2; - cutin "",255; - end; - case 2: - cutin "job_bard_aiolo02",2; - mes "[Lalo]"; - mes "Hmm... Did I lose my senses, I'll have to try harder."; - mes "Anyways.. Thanks for listening."; + mes "if you ever want to hear my song again, just ask."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - close2; - cutin "",255; - end; + cutin "job_bard_aiolo02",2; + mes "[Lalo]"; + mes "Hmm... Did I lose my senses, I'll have to try harder."; + mes "Anyways.. Thanks for listening."; + break; + case 3: cutin "job_bard_aiolo02",2; mes "[Lalo]"; @@ -184,25 +179,25 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Hunting is good... but you can't forget to relax once in a while."; mes "Youth is short and won't come again once it passes by.."; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo02",255; + end; } - if (BRD_Q == 1) { + else if(BARD_Q == 1) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "Hey there Archer fellow."; mes "How can a wanderer like me help you?"; next; - switch (select("You have a nice voice.:Could you sing for me, please?:Nothing.")) { + switch(select("You have a nice voice.:Could you sing for me, please?:Nothing.")) { case 1: mes "[Lalo]"; mes "Hoho, your voice is rather nice as well?"; mes "Ever think about singing?"; next; - switch (select("Of course!:I can't quite possibly...")) { - case 1: + if (select("Of course!:I can't quite possibly...") == 1) { mes "[Lalo]"; mes "Haha, nice attitude. You have to be like that to become a Bard."; mes "I'll help you become a Bard then."; @@ -214,23 +209,21 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "It doesn't really matter which Flower, but try to bring one that I like."; mes "And don't just buy any random Flower, ok?"; - set BRD_Q,2; + set BARD_Q,2; changequest 3000,3001; close2; - cutin "",255; - end; - case 2: - mes "[Lalo]"; - mes "Haha, what a timid one."; - mes "Don't think so little of yourself."; - next; - mes "[Lalo]"; - mes "You have plenty of talent."; - mes "Come again if you change your mind."; - close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } + mes "[Lalo]"; + mes "Haha, what a timid one."; + mes "Don't think so little of yourself."; + next; + mes "[Lalo]"; + mes "You have plenty of talent."; + mes "Come again if you change your mind."; + break; + case 2: mes "[Lalo]"; mes "Hmm... seems like you have some singing talents?"; @@ -239,9 +232,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Try enjoying your life as a Bard."; mes "You go from town to town, singing to the people. Doesn't it sound great?"; - close2; - cutin "",255; - end; + break; + case 3: mes "[Lalo]"; mes "Hmm... I'm not sure what's what, but enjoy life."; @@ -249,30 +241,30 @@ comodo,226,123,5 script Roaming Bard 741,{ next; mes "[Lalo]"; mes "Well then~ Have a great time~"; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo01",255; + end; } - if (BRD_Q == 2) { + else if(BARD_Q == 2) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "Welcome! Archer friend."; mes "Did you bring a Flower? Let me see."; next; + mes "[Lalo]"; + //Good Flowers if (countitem(629) > 0) { - mes "[Lalo]"; mes "Ooh! It's a Singing Flower!"; mes "It's full of my memories..."; next; - delitem 629,1; //Singing_Flower + delitem 629,1; //Singing Flower mes "[Lalo]"; mes "My friend Tchaikovsky used to like it."; mes "I wonder what he's doing now..."; - next; } - if (countitem(703) > 0) { - mes "[Lalo]"; + else if(countitem(703) > 0) { mes "Aah... the cute Hinelle..."; mes "It doesn't have a scent but it's a very moderate cute flower."; next; @@ -280,10 +272,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The leaves gave me strength when I used to fall."; mes "I really like this flower, thank you."; - next; } - else if (countitem(704) > 0) { - mes "[Lalo]"; + else if(countitem(704) > 0) { mes "Aloe... This is a rare flower."; mes "How'd you get it? Rather skilled, eh?"; next; @@ -291,10 +281,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The leaves are good and Aloe Vera is delicious, too.."; mes "but it's defnitely the most beautiful when it's a flower."; - next; } - if (countitem(708) > 0) { - mes "[Lalo]"; + else if(countitem(708) > 0) { mes "Ment... You can forget about all your hardships with one of these."; mes "Nice to see it in such a long time!"; next; @@ -302,10 +290,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "I heard you can make Anodyne with it..."; mes "But that would be a slight waste.. thanks!"; - next; } - if (countitem(709) > 0) { - mes "[Lalo]"; + else if(countitem(709) > 0) { mes "Ooh, isn't this an Izidor?"; mes "It's a dangerous yet beautiful flower..."; next; @@ -313,10 +299,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The deep purple charms a person.. "; mes "Thank you, I really like this flower."; - next; } - if (countitem(748) > 0) { - mes "[Lalo]"; + else if(countitem(748) > 0) { mes "Ooh, a Witherless Rose. The strong flower that doesn't wither."; mes "Great to give to a girlfriend."; next; @@ -324,10 +308,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "I wonder if it would be ok for a wanderer like me to accept it."; mes "Haha, it should be ok.. right?"; - next; } - if (countitem(749) > 0) { - mes "[Lalo]"; + else if(countitem(749) > 0 ) { mes "Frozen Rose... you can't really call this a flower,"; mes "But it is still beautiful... a clear Rose."; next; @@ -335,10 +317,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "You can call it a flower even though it doesn't have a scent anymore."; mes "Then I'll greatly take this."; - next; } - if (countitem(710) > 0) { - mes "[Lalo]"; + else if(countitem(710) > 0) { mes "Oh, isn't this an Illusion Flower!?"; mes "Wow, how did you obtain such a rare flower!!"; next; @@ -346,11 +326,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Than you very much, aah... I feel like heaven is in front of my eyes."; mes "What a wonderful feeling! I'm really happy!"; - next; } - if (countitem(712) > 0) { + //Bad Flowers + else if(countitem(712) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Eh? This is just a normal flower."; mes "I like it... but it's not enough."; next; @@ -358,11 +337,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "You can get this flower from the girl in Prontera."; mes "Please bring me a different flower."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(744) > 0) { - mes "[Lalo]"; + else if(countitem(744) > 0) { mes "Oh no, you brought a Bouquet?"; mes "You can't bring me something like this."; next; @@ -370,12 +348,11 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Go give this to a graduating Sage or something."; mes "Since it's great as that kind of gift... Bring a different flower."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(745) > 0) { + else if(countitem(745) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Oy oy... did you go to a wedding or something?"; mes "What do you expect a guy to do with a Wedding Bouquet?"; next; @@ -383,11 +360,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "It's not me. Go give it to a lady or something."; mes "This isn't the type of flower I wanted."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(2207) > 0) { - mes "[Lalo]"; + else if(countitem(2207) > 0) { mes "Mmm... a Fancy Flower."; mes "It's nice... but this isn't good enough."; next; @@ -395,25 +371,23 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "I like flowers that have a scent and are beautiful."; mes "I don't like fake flowers that go on top of heads."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(1032) > 0) { + else if(countitem(1032) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "...Agh, why'd you bring such a hideous thing?"; mes "Are you thinking at all?"; next; mes "[Lalo]"; - mes "If you were trying to be funny, it was a good attempt..."; + mes "if you were trying to be funny, it was a good attempt..."; mes "but bring a normal flower now."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } else { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Hmm? What... you didnt' bring anything."; mes "Didn't I ask you to bring a flower?"; next; @@ -421,9 +395,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Well... if you want to learn on your own, then so be it."; mes "Anyone can just go out and sing."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } + next; cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "As I promised, I'll help you become a Bard."; @@ -434,39 +409,74 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "You must also keep up with all the things going on in different villages..."; next; mes "[Lalo]"; - mes "There' s a talking snowman in a town called Lutie."; + mes "There's a talking snowman in a town called Lutie."; mes "Go there and bring back a present."; next; - set BRD_Q,3; + set BARD_Q,3; changequest 3001,3002; set xmas_npc,1; mes "[Lalo]"; - mes "If you become friends with ^008800Jack Frost^000000, you will receive something."; + mes "if you become friends with ^008800Jack Frost^000000, you will receive something."; mes "And also talk to the townspeople while you're at it..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (BRD_Q == 3) { - if (xmas_npc > 10) { + else if ((BARD_Q >= 3) || (BARD_Q <= 5)) { + if (BARD_Q == 3) { + if(xmas_npc > 10) { //this var is set in LUTIE.TXT + cutin "job_bard_aiolo01",2; + mes "[Lalo]"; + mes "How was the trip? Did you meet a lot of people?"; + mes "You should have been able to learn something more important than a gift."; + next; + mes "[Lalo]"; + mes "Then, do you want to try singing...?"; + mes "I'll sing a short melody..."; + mes "and you try after."; + if(checkquest(3003) == -1) { + changequest 3002,3003; + } + next; + mes "[Lalo]"; + mes "Here I go."; + mes "Ehem *clears throat*"; + mes "1, 2, 3, 4"; + next; + } + else { + cutin "job_bard_aiolo01",2; + set xmas_npc,1; + mes "[Lalo]"; + mes "Eh, you still haven't become his friend?"; + mes "Talking will not be enough."; + next; + mes "[Lalo]"; + mes "if you become friends with ^008800Jack Frost^000000, you will receive something."; + mes "And talk with the village people, too..."; + close2; + cutin "job_bard_aiolo01",255; + end; + } + } + else if (BARD_Q == 4) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; - mes "How was the trip? Did you meet a lot of people?"; - mes "You should have been able to learn something more important than a gift."; + mes "Hmm... this time you can do better, right?"; + mes "Let's try again, you can do it."; next; - changequest 3002,3003; mes "[Lalo]"; - mes "Then, do you want to try singing...?"; - mes "I'll sing a short melody..."; - mes "and you try after."; + mes "I'll sing one part..."; + mes "and you try it after."; next; mes "[Lalo]"; - mes "Here I go."; - mes "Ehem *clears throat*"; + mes "Here we go."; + mes "*Ehem*"; mes "1, 2, 3, 4"; next; + } + if (BARD_Q != 5) { set .@bard_s, rand(1,5); - set @w_point, 0; if (.@bard_s == 1) { mes "^3377FFThere was a man^000000"; mes "who was said to be immortal."; @@ -475,10 +485,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "There was a man") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "There was a man") + set .@w_point,.@w_point+1; + mes "^3377FFThere was a man"; mes "who was said to be immortal.^000000"; mes "His name Jichfreid,"; @@ -486,10 +496,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "who was said to be immortal.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "who was said to be immortal.") + set .@w_point,.@w_point+1; + mes "^3377FFThere was a man"; mes "who was said to be immortal."; mes "His name Jichfreid,^000000"; @@ -497,10 +507,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "His name Jichfreid,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "His name Jichfreid,") + set .@w_point,.@w_point+1; + mes "^3377FFThere was a man"; mes "who was said to be immortal."; mes "His name Jichfreid,"; @@ -508,10 +518,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "Son of the hero Jichmunt.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Son of the hero Jichmunt.") + set .@w_point,.@w_point+1; + mes "^3377FFThere was a man"; mes "who was said to be immortal."; mes "His name Jichfreid,"; @@ -519,10 +529,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,^000000"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "The evil giant Papner,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "The evil giant Papner,") + set .@w_point,.@w_point+1; + mes "^3377FFThere was a man"; mes "who was said to be immortal."; mes "His name Jichfreid,"; @@ -530,10 +540,9 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Turned into a dragon and ate him.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Turned into a dragon and ate him.") + set .@w_point,.@w_point+1; } else if (.@bard_s == 2) { mes "^3377FFA Merchant without money or equipment,^000000"; @@ -543,10 +552,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "A Merchant without money or equipment,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "A Merchant without money or equipment,") + set .@w_point,.@w_point+1; + mes "^3377FFA Merchant without money or equipment,"; mes "a Merchant that couldn't sell anything.^000000"; mes "But he was too proud to beg."; @@ -554,10 +563,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "a Merchant that couldn't sell anything.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "a Merchant that couldn't sell anything.") + set .@w_point,.@w_point+1; + mes "^3377FFA Merchant without money or equipment,"; mes "a Merchant that couldn't sell anything."; mes "But he was too proud to beg.^000000"; @@ -565,10 +574,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "But he was too proud to beg.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "But he was too proud to beg.") + set .@w_point,.@w_point+1; + mes "^3377FFA Merchant without money or equipment,"; mes "a Merchant that couldn't sell anything."; mes "But he was too proud to beg."; @@ -576,10 +585,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "So he gathered some money selling items.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "So he gathered some money selling items.") + set .@w_point,.@w_point+1; + mes "^3377FFA Merchant without money or equipment,"; mes "a Merchant that couldn't sell anything."; mes "But he was too proud to beg."; @@ -587,10 +596,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions.^000000"; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "At first he only sold Red Potions.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "At first he only sold Red Potions.") + set .@w_point,.@w_point+1; + mes "^3377FFA Merchant without money or equipment,"; mes "a Merchant that couldn't sell anything."; mes "But he was too proud to beg."; @@ -598,91 +607,89 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Some say he sold Sweet Potatoes, too.") + set .@w_point,.@w_point+1; } else if (.@bard_s == 3) { mes "^3377FFAll Gods never age.^000000"; - mes "The ever so beautiful Goddess Eden,"; + mes "The ever so Beautiful Goddess Eden,"; mes "Beautiful and graceful Goddess Eden,"; mes "Odin's daughter-in-law and Bragi's wife."; mes "Her sweet apples in her basket,"; mes "All thanks to her sweet apples."; next; - input .@inputstr$; - if (.@inputstr$ != "All Gods never age.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "All Gods never age.") + set .@w_point,.@w_point+1; + mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,^000000"; + mes "The ever so Beautiful Goddess Eden,^000000"; mes "Beautiful and graceful Goddess Eden,"; mes "Odin's daughter-in-law and Bragi's wife."; mes "Her sweet apples in her basket,"; mes "All thanks to her sweet apples."; next; - input .@inputstr$; - if (.@inputstr$ != "The ever so beautiful Goddess Eden,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "The ever so Beautiful Goddess Eden,") + set .@w_point,.@w_point+1; + mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; + mes "The ever so Beautiful Goddess Eden,"; mes "Beautiful and graceful Goddess Eden,^000000"; mes "Odin's daughter-in-law and Bragi's wife."; mes "Her sweet apples in her basket,"; mes "All thanks to her sweet apples."; next; - input .@inputstr$; - if (.@inputstr$ != "Beautiful and graceful Goddess Eden,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Beautiful and graceful Goddess Eden,") + set .@w_point,.@w_point+1; + mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; + mes "The ever so Beautiful Goddess Eden,"; mes "Beautiful and graceful Goddess Eden,"; mes "Odin's daughter-in-law and Bragi's wife.^000000"; mes "Her sweet apples in her basket,"; mes "All thanks to her sweet apples."; next; - input .@inputstr$; - if (.@inputstr$ != "Odin's daughter-in-law and Bragi's wife.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Odin's daughter-in-law and Bragi's wife.") + set .@w_point,.@w_point+1; + mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; + mes "The ever so Beautiful Goddess Eden,"; mes "Beautiful and graceful Goddess Eden,"; mes "Odin's daughter-in-law and Bragi's wife."; mes "Her sweet apples in her basket,^000000"; mes "All thanks to her sweet apples."; next; - input .@inputstr$; - if (.@inputstr$ != "Her sweet apples in her basket,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Her sweet apples in her basket,") + set .@w_point,.@w_point+1; + mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; + mes "The ever so Beautiful Goddess Eden,"; mes "Beautiful and graceful Goddess Eden,"; mes "Odin's daughter-in-law and Bragi's wife."; mes "Her sweet apples in her basket,"; mes "All thanks to her sweet apples.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "All thanks to her sweet apples.") + set .@w_point,.@w_point+1; } else if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^000000"; + mes "^3377FFBragi, Bragi,^000000"; mes "Forever call the poets name."; mes "My songs are his breath,"; mes "My mind is his will,"; mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "Bragi, Bragi,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Bragi, Bragi,") + set .@w_point,.@w_point+1; + mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name.^000000"; mes "My songs are his breath,"; @@ -690,10 +697,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "Forever call the poets name.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Forever call the poets name.") + set .@w_point,.@w_point+1; + mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name."; mes "My songs are his breath,^000000"; @@ -701,10 +708,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My songs are his breath,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "My songs are his breath,") + set .@w_point,.@w_point+1; + mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name."; mes "My songs are his breath,"; @@ -712,10 +719,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My mind is his will,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "My mind is his will,") + set .@w_point,.@w_point+1; + mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name."; mes "My songs are his breath,"; @@ -723,10 +730,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,^000000"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != " All wandering poets are his people,") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "All wandering poets are his people,") + set .@w_point,.@w_point+1; + mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name."; mes "My songs are his breath,"; @@ -734,10 +741,9 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "And all praise shall go to him.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "And all praise shall go to him.") + set .@w_point,.@w_point+1; } else { mes "^3377FFLouder, louder, louder.^000000"; @@ -747,10 +753,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Louder, louder, louder.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Louder, louder, louder.") + set .@w_point,.@w_point+1; + mes "^3377FFLouder, louder, louder."; mes "Give strength to the warriors!^000000"; mes "Shake the sky and roar through the land."; @@ -758,10 +764,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Give strength to the warriors!") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Give strength to the warriors!") + set .@w_point,.@w_point+1; + mes "^3377FFLouder, louder, louder."; mes "Give strength to the warriors!"; mes "Shake the sky and roar through the land.^000000"; @@ -769,10 +775,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Shake the sky and roar through the land.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Shake the sky and roar through the land.") + set .@w_point,.@w_point+1; + mes "^3377FFLouder, louder, louder."; mes "Give strength to the warriors!"; mes "Shake the sky and roar through the land."; @@ -780,10 +786,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Make my heart pound again!") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Make my heart pound again!") + set .@w_point,.@w_point+1; + mes "^3377FFLouder, louder, louder."; mes "Give strength to the warriors!"; mes "Shake the sky and roar through the land."; @@ -791,10 +797,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring.^000000"; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Let the castle walls ring.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Let the castle walls ring.") + set .@w_point,.@w_point+1; + mes "^3377FFLouder, louder, louder."; mes "Give strength to the warriors!"; mes "Shake the sky and roar through the land."; @@ -802,12 +808,12 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "This day will never come again!") + set .@w_point,.@w_point+1; } - if (@w_point > 0) { + + if (.@w_point) { cutin "job_bard_aiolo02",2; mes "[Lalo]"; mes "Oy, You got the lyrics wrong!"; @@ -817,14 +823,13 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Your pronunciation is very unclear."; mes "Do a better job next time."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } mes "[Lalo]"; mes ".........."; next; - set BRD_Q,5; - changequest 3003,3004; + set BARD_Q,5; mes "[Lalo]"; mes "Wonderful! Finished it in one try!"; mes "You can become a great Bard. "; @@ -837,455 +842,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Do you want to just change jobs now?"; mes "Or do you want a present."; next; - switch (select("Just change my job please.:I'd be thankful for a present.")) { - case 1: - if (SkillPoint != 0) { - changequest 3003,3004; - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Ah... Everything is good, but you still have some skill points left."; - mes "Go learn the rest of the skills and come back."; - next; - mes "[Lalo]"; - mes "And I am going to give you a small present..."; - mes "So bring some trunks."; - mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; - close2; - cutin "",255; - end; - } - completequest 3004; - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - mes "[Lalo]"; - mes "Very well! Hope you sing happy enjoyable songs."; - mes "Live like the wind and the clouds!"; - next; - mes "[Lalo]"; - mes "See you again next time!"; - close2; - cutin "",255; - end; - case 2: - changequest 3003,3004; - mes "[Lalo]"; - mes "Hmm... very well, bring some trunks."; - mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; - next; - mes "[Lalo]"; - mes "I will give you a gift once you bring them."; - mes "Have a safe trip."; - close2; - cutin "",255; - end; - } - } - cutin "job_bard_aiolo01",2; - set xmas_npc,1; - mes "[Lalo]"; - mes "Eh, you still haven't become his friend?"; - mes "Talking will not be enough."; - next; - mes "[Lalo]"; - mes "If you become friends with ^008800Jack Frost^000000, you will receive something."; - mes "And talk with the village people, too..."; - close2; - cutin "",255; - end; - } - if (BRD_Q == 4) { - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Hmm... this time you can do better, right?"; - mes "Let's try again, you can do it."; - next; - mes "[Lalo]"; - mes "I'll sing one part..."; - mes "and you try it after."; - next; - mes "[Lalo]"; - mes "Here we go."; - mes "*Ehem*"; - mes "1, 2, 3, 4"; - next; - set .@bard_s,rand(1,5); - set @w_point,0; - if (.@bard_s == 1) { - mes "^3377FFThere was a man^000000"; - mes "who was said to be immortal."; - mes "His name Jichfreid,"; - mes "Son of the hero Jichmunt."; - mes "The evil giant Papner,"; - mes "Turned into a dragon and ate him."; - next; - input .@inputstr$; - if (.@inputstr$ != "There was a man") { - set @w_point, @w_point + 1; - } - mes "^3377FFThere was a man"; - mes "who was said to be immortal.^000000"; - mes "His name Jichfreid,"; - mes "Son of the hero Jichmunt."; - mes "The evil giant Papner,"; - mes "Turned into a dragon and ate him."; - next; - input .@inputstr$; - if (.@inputstr$ != "who was said to be immortal.") { - set @w_point, @w_point + 1; - } - mes "^3377FFThere was a man"; - mes "who was said to be immortal."; - mes "His name Jichfreid,^000000"; - mes "Son of the hero Jichmunt."; - mes "The evil giant Papner,"; - mes "Turned into a dragon and ate him."; - next; - input .@inputstr$; - if (.@inputstr$ != "His name Jichfreid,") { - set @w_point, @w_point + 1; - } - mes "^3377FFThere was a man"; - mes "who was said to be immortal."; - mes "His name Jichfreid,"; - mes "Son of the hero Jichmunt.^000000"; - mes "The evil giant Papner,"; - mes "Turned into a dragon and ate him."; - next; - input .@inputstr$; - if (.@inputstr$ != "Son of the hero Jichmunt.") { - set @w_point, @w_point + 1; - } - mes "^3377FFThere was a man"; - mes "who was said to be immortal."; - mes "His name Jichfreid,"; - mes "Son of the hero Jichmunt."; - mes "The evil giant Papner,^000000"; - mes "Turned into a dragon and ate him."; - next; - input .@inputstr$; - if (.@inputstr$ != "The evil giant Papner,") { - set @w_point, @w_point + 1; - } - mes "^3377FFThere was a man"; - mes "who was said to be immortal."; - mes "His name Jichfreid,"; - mes "Son of the hero Jichmunt."; - mes "The evil giant Papner,"; - mes "Turned into a dragon and ate him.^000000"; - next; - input .@inputstr$; - if (.@inputstr$ != "Turned into a dragon and ate him.") { - set @w_point, @w_point + 1; - } - } - else if (.@bard_s == 2) { - mes "^3377FFA Merchant without money or equipment,^000000"; - mes "a Merchant that couldn't sell anything."; - mes "But he was too proud to beg."; - mes "So he gathered some money selling items."; - mes "At first he only sold Red Potions."; - mes "Some say he sold Sweet Potatoes, too."; - next; - input .@inputstr$; - if (.@inputstr$ != "A Merchant without money or equipment,") { - set @w_point, @w_point + 1; - } - mes "^3377FFA Merchant without money or equipment,"; - mes "a Merchant that couldn't sell anything.^000000"; - mes "But he was too proud to beg."; - mes "So he gathered some money selling items."; - mes "At first he only sold Red Potions."; - mes "Some say he sold Sweet Potatoes, too."; - next; - input .@inputstr$; - if (.@inputstr$ != "a Merchant that couldn't sell anything.") { - set @w_point, @w_point + 1; - } - mes "^3377FFA Merchant without money or equipment,"; - mes "a Merchant that couldn't sell anything."; - mes "But he was too proud to beg.^000000"; - mes "So he gathered some money selling items."; - mes "At first he only sold Red Potions."; - mes "Some say he sold Sweet Potatoes, too."; - next; - input .@inputstr$; - if (.@inputstr$ != "But he was too proud to beg.") { - set @w_point, @w_point + 1; - } - mes "^3377FFA Merchant without money or equipment,"; - mes "a Merchant that couldn't sell anything."; - mes "But he was too proud to beg."; - mes "So he gathered some money selling items.^000000"; - mes "At first he only sold Red Potions."; - mes "Some say he sold Sweet Potatoes, too."; - next; - input .@inputstr$; - if (.@inputstr$ != "So he gathered some money selling items.") { - set @w_point, @w_point + 1; - } - mes "^3377FFA Merchant without money or equipment,"; - mes "a Merchant that couldn't sell anything."; - mes "But he was too proud to beg."; - mes "So he gathered some money selling items."; - mes "At first he only sold Red Potions.^000000"; - mes "Some say he sold Sweet Potatoes, too."; - next; - input .@inputstr$; - if (.@inputstr$ != "At first he only sold Red Potions.") { - set @w_point, @w_point + 1; - } - mes "^3377FFA Merchant without money or equipment,"; - mes "a Merchant that couldn't sell anything."; - mes "But he was too proud to beg."; - mes "So he gathered some money selling items."; - mes "At first he only sold Red Potions."; - mes "Some say he sold Sweet Potatoes, too.^000000"; - next; - input .@inputstr$; - if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { - set @w_point, @w_point + 1; - } - } - else if (.@bard_s == 3) { - mes "^3377FFAll Gods never age.^000000"; - mes "The ever so beautiful Goddess Eden,"; - mes "Beautiful and graceful Goddess Eden,"; - mes "Odin's daughter-in-law and Bragi's wife."; - mes "Her sweet apples in her basket,"; - mes "All thanks to her sweet apples."; - next; - input .@inputstr$; - if (.@inputstr$ != "All Gods never age.") { - set @w_point, @w_point + 1; - } - mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,^000000"; - mes "Beautiful and graceful Goddess Eden,"; - mes "Odin's daughter-in-law and Bragi's wife."; - mes "Her sweet apples in her basket,"; - mes "All thanks to her sweet apples."; - next; - input .@inputstr$; - if (.@inputstr$ != "The ever so beautiful Goddess Eden,") { - set @w_point, @w_point + 1; - } - mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; - mes "Beautiful and graceful Goddess Eden,^000000"; - mes "Odin's daughter-in-law and Bragi's wife."; - mes "Her sweet apples in her basket,"; - mes "All thanks to her sweet apples."; - next; - input .@inputstr$; - if (.@inputstr$ != "Beautiful and graceful Goddess Eden,") { - set @w_point, @w_point + 1; - } - mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; - mes "Beautiful and graceful Goddess Eden,"; - mes "Odin's daughter-in-law and Bragi's wife.^000000"; - mes "Her sweet apples in her basket,"; - mes "All thanks to her sweet apples."; - next; - input .@inputstr$; - if (.@inputstr$ != "Odin's daughter-in-law and Bragi's wife.") { - set @w_point, @w_point + 1; - } - mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; - mes "Beautiful and graceful Goddess Eden,"; - mes "Odin's daughter-in-law and Bragi's wife."; - mes "Her sweet apples in her basket,^000000"; - mes "All thanks to her sweet apples."; - next; - input .@inputstr$; - if (.@inputstr$ != "Her sweet apples in her basket,") { - set @w_point, @w_point + 1; - } - mes "^3377FFAll Gods never age."; - mes "The ever so beautiful Goddess Eden,"; - mes "Beautiful and graceful Goddess Eden,"; - mes "Odin's daughter-in-law and Bragi's wife."; - mes "Her sweet apples in her basket,"; - mes "All thanks to her sweet apples.^000000"; - next; - input .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } - } - else if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^000000"; - mes "Forever call the poets name."; - mes "My songs are his breath,"; - mes "My mind is his will,"; - mes "All wandering poets are his people,"; - mes "And all praise shall go to him."; - next; - input .@inputstr$; - if (.@inputstr$ != "Bragi, Bragi,") { - set @w_point, @w_point + 1; - } - mes "^3377FFBragi, Bragi,"; - mes "Forever call the poets name.^000000"; - mes "My songs are his breath,"; - mes "My mind is his will,"; - mes "All wandering poets are his people,"; - mes "And all praise shall go to him."; - next; - input .@inputstr$; - if (.@inputstr$ != "Forever call the poets name.") { - set @w_point, @w_point + 1; - } - mes "^3377FFBragi, Bragi,"; - mes "Forever call the poets name."; - mes "My songs are his breath,^000000"; - mes "My mind is his will,"; - mes "All wandering poets are his people,"; - mes "And all praise shall go to him."; - next; - input .@inputstr$; - if (.@inputstr$ != "My songs are his breath,") { - set @w_point, @w_point + 1; - } - mes "^3377FFBragi, Bragi,"; - mes "Forever call the poets name."; - mes "My songs are his breath,"; - mes "My mind is his will,^000000"; - mes "All wandering poets are his people,"; - mes "And all praise shall go to him."; - next; - input .@inputstr$; - if (.@inputstr$ != "My mind is his will,") { - set @w_point, @w_point + 1; - } - mes "^3377FFBragi, Bragi,"; - mes "Forever call the poets name."; - mes "My songs are his breath,"; - mes "My mind is his will,"; - mes "All wandering poets are his people,^000000"; - mes "And all praise shall go to him."; - next; - input .@inputstr$; - if (.@inputstr$ != " All wandering poets are his people,") { - set @w_point, @w_point + 1; - } - mes "^3377FFBragi, Bragi,"; - mes "Forever call the poets name."; - mes "My songs are his breath,"; - mes "My mind is his will,"; - mes "All wandering poets are his people,"; - mes "And all praise shall go to him.^000000"; - next; - input .@inputstr$; - if (.@inputstr$ != "And all praise shall go to him.") { - set @w_point, @w_point + 1; - } - } - else { - mes "^3377FFLouder, louder, louder.^000000"; - mes "Give strength to the warriors!"; - mes "Shake the sky and roar through the land."; - mes "Make my heart pound again!"; - mes "Let the castle walls ring."; - mes "This day will never come again!"; - next; - input .@inputstr$; - if (.@inputstr$ != "Louder, louder, louder.") { - set @w_point, @w_point + 1; - } - mes "^3377FFLouder, louder, louder."; - mes "Give strength to the warriors!^000000"; - mes "Shake the sky and roar through the land."; - mes "Make my heart pound again!"; - mes "Let the castle walls ring."; - mes "This day will never come again!"; - next; - input .@inputstr$; - if (.@inputstr$ != "Give strength to the warriors!") { - set @w_point, @w_point + 1; - } - mes "^3377FFLouder, louder, louder."; - mes "Give strength to the warriors!"; - mes "Shake the sky and roar through the land.^000000"; - mes "Make my heart pound again!"; - mes "Let the castle walls ring."; - mes "This day will never come again!"; - next; - input .@inputstr$; - if (.@inputstr$ != "Shake the sky and roar through the land.") { - set @w_point, @w_point + 1; - } - mes "^3377FFLouder, louder, louder."; - mes "Give strength to the warriors!"; - mes "Shake the sky and roar through the land."; - mes "Make my heart pound again!^000000"; - mes "Let the castle walls ring."; - mes "This day will never come again!"; - next; - input .@inputstr$; - if (.@inputstr$ != "Make my heart pound again!") { - set @w_point, @w_point + 1; - } - mes "^3377FFLouder, louder, louder."; - mes "Give strength to the warriors!"; - mes "Shake the sky and roar through the land."; - mes "Make my heart pound again!"; - mes "Let the castle walls ring.^000000"; - mes "This day will never come again!"; - next; - input .@inputstr$; - if (.@inputstr$ != "Let the castle walls ring.") { - set @w_point, @w_point + 1; - } - mes "^3377FFLouder, louder, louder."; - mes "Give strength to the warriors!"; - mes "Shake the sky and roar through the land."; - mes "Make my heart pound again!"; - mes "Let the castle walls ring."; - mes "This day will never come again!^000000"; - next; - input .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } + set .@selection,select("Just change my job please.:I'd be thankful for a present."); } - if (@w_point > 0) { - mes "[Lalo]"; - mes "Oy, You got the lyrics wrong!"; - mes "Can't you even sing along..?"; - next; - mes "[Lalo]"; - mes "Your pronunciation is very unclear."; - mes "Do a better job next time."; - close2; - cutin "",255; - end; - } - mes "[Lalo]"; - mes ".........."; - next; - set BRD_Q,5; - changequest 3003,3004; - mes "[Lalo]"; - mes "Wonderful! Although it was not in one try!"; - mes "Good enough to become a good Bard"; - next; - mes "[Lalo]"; - mes "Mmm... So you will not become a Bard."; - mes "But I want to give you a souvenir..."; - next; - mes "[Lalo]"; - mes "Do you want to just change jobs now?"; - mes "Or do you want a present."; - next; - switch (select("Just change my job please.:I'd be thankful for a present.")) { - case 1: - if (SkillPoint != 0) { + if ((.@selection == 1) || (BARD_Q == 5)) { + if(SkillPoint) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "Ah... Everything is good, but you still have some skill points left."; @@ -1296,243 +856,96 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "So bring some trunks."; mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - completequest 3004; - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - mes "[Lalo]"; - mes "Very well! Hope you sing happy enjoyable songs."; - mes "Live like the wind and the clouds!"; - next; - mes "[Lalo]"; - mes "See you again next time!"; - close2; - cutin "",255; - end; - case 2: - mes "[Lalo]"; - mes "Hmm... very well, bring some ^3355FFtrunks^000000."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; - next; - mes "[Lalo]"; - mes "I will give you a gift once you bring them."; - mes "Have a safe trip."; - close2; - cutin "",255; - end; - } - } - if (BRD_Q == 5) { - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - mes "[Lalo]"; - mes "Ah... Everything is good, but you still have some skill points left."; - mes "Go learn the rest of the skills and come back."; - next; - mes "[Lalo]"; - mes "And I am going to give you a small present..."; - mes "So don't forget the trunks."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; - close2; - cutin "",255; - end; - } - if (countitem(1019) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - mes "[Lalo]"; - mes "Good job. I will make you a job change souvenir with this."; - mes "Wait just a moment."; - next; - mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - next; - delitem 1019,60; //Wooden_Block - getitem 1901,1; //Violin - completequest 3004; - mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; - next; - mes "[Lalo]"; - mes "See you next time!"; - close2; - cutin "",255; - end; - } - if (countitem(1068) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - mes "[Lalo]"; - mes "Good job. I will make you a job change souvenir with this."; - mes "Wait just a moment."; - next; - mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - next; - delitem 1068,60; //Tree_Of_Archer_3 - getitem 1903,1; //Mandolin - completequest 3004; - mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; - next; - mes "[Lalo]"; - mes "See you next time!"; - close2; - cutin "",255; - end; - } - if (countitem(1067) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - mes "[Lalo]"; - mes "Good job. I will make you a job change souvenir with this."; - mes "Wait just a moment."; - next; - mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - next; - delitem 1067,60; //Tree_Of_Archer_2 - getitem 1903,1; //Mandolin - mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; - next; - mes "[Lalo]"; - mes "See you next time!"; - close2; - cutin "",255; - end; - } - if (countitem(1066) > 59) { - if (JobLevel > 49) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; + else { + switch(BARD_Q) { + case 5: + if(countitem(1019) > 59) callsub S_ChangeJob,1019,1901; + else if(countitem(1068) > 59) callsub S_ChangeJob,1068,1903; + else if(countitem(1067) > 59) callsub S_ChangeJob,1067,1903; + else if(countitem(1066) > 59) { + if(JobLevel > 49) callsub S_ChangeJob,1066,1910; + else callsub S_ChangeJob,1066,1905; + } + cutin "job_bard_aiolo01",2; + mes "[Lalo]"; + mes "Mmm? Seems like you haven't prepared all trunks the yet? "; + mes "Do you want to just change jobs anyways?"; + next; + if (select("Yes, just change my job already.:No, I'll go prepare them.") == 2) + break; + default: + completequest 3003; + callfunc "Job_Change",Job_Bard; + callfunc "F_ClearJobVar"; //clears all job variables for the current player + mes "[Lalo]"; + mes "Very well! Hope you sing happy enjoyable songs."; + mes "Live like the wind and the clouds!"; + next; + mes "[Lalo]"; + mes "See you again next time!"; + close2; + cutin "job_bard_aiolo01",255; + end; } - mes "[Lalo]"; - mes "Good job. I will make you a job change souvenir with this."; - mes "Wait just a moment."; - next; - mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1910,1; //Harp_ - completequest 3004; - mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; - next; - mes "[Lalo]"; - mes "See you next time!"; - close2; - cutin "",255; - } - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; } - mes "[Lalo]"; - mes "Good job. I will make you a job change souvenir with this."; - mes "Wait just a moment."; - next; - mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1905,1; //Lute - completequest 3004; - mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; - next; - mes "[Lalo]"; - mes "See you next time!"; - close2; - cutin "",255; - end; } - cutin "job_bard_aiolo01",2; + changequest 3003,3004; mes "[Lalo]"; - mes "Mmm? Seems like you haven't prepared all trunks the yet? "; - mes "Do you want to just change jobs anyways?"; + mes "Hmm... very well, bring some trunks."; + mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; next; - switch (select("Yes, just change my job already.:No, I'll go prepare them.")) { - case 1: - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - mes "[Lalo]"; - mes "Ah... it's all good, but you still have some skill points left."; - mes "Let me know when you've used them all."; - next; - mes "[Lalo]"; - mes "Oh, and also I have a souvenir for you, too... "; - mes "So bring back some trunks."; - mes "Doesn't matter what kind, just 60 of the same sort..."; - close2; - cutin "",255; - end; - } - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - completequest 3004; - mes "[Lalo]"; - mes "Wonderful! Sing happy enjoyable songs."; - mes "Live like the winds and clouds!"; - next; - mes "[Lalo]"; - mes "See you again next time!"; - close2; - cutin "",255; - end; - case 2: - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Hmm... ok, bring some ^3355FFtrunks^000000."; - mes "Doesn't matter what kind, as long as they are 60 of the same sort."; - next; - mes "[Lalo]"; - mes "I'll give you a present if you bring them."; - mes "Then see you soon."; - close2; - cutin "",255; - end; - } + mes "[Lalo]"; + mes "I will give you a gift once you bring them."; + mes "Have a safe trip."; + close2; + cutin "job_bard_aiolo01",255; + end; } cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "Whee~ whee~ whee~"; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; -}
\ No newline at end of file + +S_ChangeJob: + completequest 3004; + callfunc "Job_Change",Job_Bard; + callfunc "F_ClearJobVar"; + mes "[Lalo]"; + mes "Good job. I will make you a job change souvenir with this."; + mes "Wait just a moment."; + next; + mes "[Lalo]"; + mes "^3355FFScrape Scrape Tang Tang^000000"; + mes "^3355FFSqueak Squeak Scratch Scratch^000000"; + delitem getarg(0),60; + getitem getarg(1),1; + next; + mes "[Lalo]"; + mes "Here you go, a souvenir. It is useful when you sing."; + mes "Hope you sing happy songs."; + next; + mes "[Lalo]"; + mes "See you next time!"; + close2; + cutin "job_bard_aiolo01",255; + end; +} + +//============================================================ +// Old changelog +//============================================================ +//= 07/06/05 : Added 1st Version. [Muad_Dib] +//= Converted to rAthena format by Dr.Evil +//= Info about gifts and other info --> http://www.ragnainfo.net/forums/viewtopic.php?t=51467&start=0 +//= 1.1 Optimized, changed some stuff, fixed some bugs [Lupus] +//= 1.1a minor song test fix [Lupus] +//= 1.2 Fixed wrong item ID, added missing commands [Lupus] +//= 1.3 Updated flower sub-quest according to official [Lupus] +//= 1.4 Changed priority for the gifts. Now you can win the 1st +//= prize, too. Added Izidor flower [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] diff --git a/npc/re/jobs/2-2/crusader.txt b/npc/re/jobs/2-2/crusader.txt index 931b132b2..5f0cebf45 100644 --- a/npc/re/jobs/2-2/crusader.txt +++ b/npc/re/jobs/2-2/crusader.txt @@ -1,40 +1,60 @@ //===== rAthena Script ======================================= -// Crusader Job change Quest +//= Crusader Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Made by: Black Dragon +//= Converted by: Shin //===== Current Version: ===================================== -//= 1.0 +//= 3.3 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Crusader. +//= [Aegis Conversion] +//= Job quest for Crusader classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ - +//= 2.2 Updated All NPCs to the officials one [Samuray22] +//= -Based on the ASB 4.0 Package. +//=-Maybe need be checked the monsters in the test 2 and 4. +//= 2.3 Fixed some bugs that prevented from going further. [SinSloth] +//= 2.4 Updated NPC dialogs using Aegis 10.3 files. [L0ne_W0lf] +//= - Fixed logic error with job change reward for job 50 swordies. +//= - Completely redid the 1st and third tests. +//= - Optimized first four NPC scripts slightly. +//= - Temporary character variables "@" are now ".@" +//= - Fixed some indentation. +//= 2.5 Fixed some spelling and grammar in crusader quest. [L0ne_W0lf] +//= 2.6 Fixed bug (about totally blocked baby class), optimized, +//= made some NPC more unique names: Monster Summon#cr1 [Lupus] +//= 2.7 Fixed Some variables like ".@item", and changed to "@item". [Samuray22] +//= 2.8 Fixed a little minor bug. [Samuray22] +//= 2.9 Minor fixes, typos, an incorrect answer. Thanks to yyCC. [L0ne_W0lf] +//= 2.9a Deleted unused variables. [Samuray22] +//= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf] +//= 3.1 Adding Hermemton's changes. [L0ne_W0lf] +//= 3.2 Added Quest Log commands. [Kisuka] +//= 3.3 Removed the need for use of 'goto.' [L0ne_W0lf] +//============================================================ + + +//=============== Senior Crusader: 1st Collect Items Test============================ prt_castle,45,169,5 script Senior Crusader 752,{ - if (Upper == 1) { - mes "[Michael Halig]"; + mes "[Michael Halig]"; + if (Upper == 1) { //the baby classes were totally blocked... due to missing == 1 mes "Go and train yourself in preparation for the holy war that is coming. Victory will be in the hands of those who are most ready to receive it."; next; mes "[Michael Halig]"; mes "You don't belong here, my friend."; - mes "Be adviced to continue practicing yourself."; + mes "Be advised to continue practicing yourself."; close; - } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Michael Halig]"; + } + else if(BaseJob != Job_Swordman) { + if(BaseJob == Job_Crusader) { mes "Go and train yourself in preparation for the holy war that is coming. Victory will be in the hands of those who are most ready to receive it."; next; mes "[Michael Halig]"; mes "Chaos will one day arise to challenge our principles of peace, justice and order. Until we have eliminated evil and created our ideal world, we must not cease training."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Michael Halig]"; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors preparing"; mes "to fight in the Holy War."; @@ -43,23 +63,34 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "If you wish to join us, you must first learn the Swordsman discipline and train yourself thoroughly..."; close; } - mes "[Michael Halig]"; mes "We are Crusaders,"; mes "warriors preparing"; mes "to fight in the Holy War."; next; mes "[Michael Halig]"; - mes "As it happened one thousand years ago, evil forces will one day attacking in droves in an attempt to take over the world once again."; + mes "As it happened one thousand years ago, evil forces will one day attack in droves in an attempt to take over the world once again."; close; - } - if (CRSDR_Q == 0) { + } + else if(CRUS_Q <= 3 && countitem(1004) && countitem(1009)) { + mes "Ah..."; + mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities."; + next; + mes "[Michael Halig]"; + mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; + next; + delitem 1004, 1; + delitem 1009, 1; + set CRUS_Q,4; mes "[Michael Halig]"; + mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; + close; + } + else if(CRUS_Q == 0) { mes "We are Crusaders, warriors preparing for the Holy War."; mes "What brings you"; mes "to this place?"; next; - switch (select("I want to prepare for the Holy War!:Nothing in particular.")) { - case 1: + if (select("I want to prepare for the Holy War!:Nothing in particular.") == 1) { mes "[Michael Halig]"; mes "You wish to become"; mes "a Crusader...?"; @@ -70,7 +101,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "I am Michael Halig. I am one of but many Crusaders preparing for the Holy War. We continuously train ourselves with sincere faith and endless loyalty."; next; mes "[Michael Halig]"; - mes "We recruit Swordsman that express exceptional faith, or those who were born as warriors"; + mes "We recruit Swordsmen that express exceptional faith, or those who were born as warriors"; mes "by Odin's will."; next; mes "[Michael Halig]"; @@ -83,9 +114,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "I don't know what type of person you are right now though. But"; mes "I shall test you if you desire. Are you willing to endure these tests in preparation for the Holy War?"; next; - switch (select("Yes, I do.:I'd like to think about it.")) { - case 1: - if (JobLevel < 40) { + if (select("Yes, I do.:I'd like to think about it.") == 1) { + if(JobLevel < 40) { mes "[Michael Halig]"; mes "Wait..."; mes "You're not ready yet."; @@ -96,8 +126,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "[Michael Halig]"; mes "Train yourself more as a Swordsman and wait for your calling. I understand your intent, but as of now, you cannot join us."; close; - } - if (SkillPoint != 0) { + } + if (Skillpoint) { mes "[Michael Halig]"; mes "You haven't finished learning everything as a Swordsman. Use all of your remaining skill points, and then return to me."; close; @@ -111,7 +141,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "" + strcharinfo(0) + "...?"; mes "Let's see..."; next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { + if (countitem(1004) && countitem(1009)) { mes "[Michael Halig]"; mes "Ah..."; mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities."; @@ -119,9 +149,9 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "[Michael Halig]"; mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; next; - delitem 1004,1; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; + delitem 1004, 1; + delitem 1009, 1; + set CRUS_Q,4; setquest 3009; mes "[Michael Halig]"; mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; @@ -134,188 +164,77 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "Now..."; mes "This is my test for you. Bring me the following items and prove your determination to me."; next; - set .@cru_m1, rand(1,3); - if (.@cru_m1 == 1) { - set CRSDR_Q,1; + mes "[Michael Halig]"; + set .@cru_m1,rand(1,3); + if(.@cru_m1 == 1) { + set CRUS_Q, 1; setquest 3006; - mes "[Michael Halig]"; - mes "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^000000."; + mes "10 ^3355FF"+getitemname(957)+"^000000"; + mes "10 ^3355FF"+getitemname(959)+"^000000"; + mes "10 ^3355FF"+getitemname(1099)+"^000000"; + mes "10 ^3355FF"+getitemname(901)+"^000000"; next; - mes "[Michael Halig]"; - mes "Show me the strength of your will by gathering these items. If you prove successful, you will progress to the next test. May Odin protect you."; - close; } - if (.@cru_m1 == 2) { - set CRSDR_Q,2; + else if(.@cru_m1 == 2) { + set CRUS_Q, 2; setquest 3007; - mes "[Michael Halig]"; - mes "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^000000."; + mes "10 ^3355FF"+getitemname(932)+"^000000"; + mes "10 ^3355FF"+getitemname(1043)+"^000000"; + mes "10 ^3355FF"+getitemname(1098)+"^000000"; + mes "10 ^3355FF"+getitemname(1094)+"^000000"; + next; + } + else { + set CRUS_Q, 3; + setquest 3008; + mes "10 ^3355FF"+getitemname(958)+"^000000"; + mes "10 ^3355FF"+getitemname(930)+"^000000"; + mes "10 ^3355FF"+getitemname(1041)+"^000000"; + mes "10 ^3355FF"+getitemname(1062)+"^000000"; next; - mes "[Michael Halig]"; - mes "Show me the strength of your will by gathering these items. If you prove successful, you will progress to the next test. May Odin protect you."; - close; } - set CRSDR_Q,3; - setquest 3008; - mes "[Michael Halig]"; - mes "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^000000."; - next; mes "[Michael Halig]"; mes "Show me the strength of your will by gathering these items. If you prove successful, you will progress to the next test. May Odin protect you."; close; - case 2: - mes "[Michael Halig]"; - mes "Nobody knows when the Holy War will come. We must prepare in advance and cannot afford to slacken"; - mes "our training."; - next; - mes "[Michael Halig]"; - mes "If you feel that participating in the Holy War is your calling, please come back right away and take the test to become"; - mes "a Crusader."; - close; - } - case 2: - mes "[Michael Halig]"; - if (Sex == 1) { - mes "If you, too, are a man of the sword, constantly train and prepare yourself. No one knows when the Holy War may begin."; - } - else { - mes "As a woman of the sword, you must train diligently and constantly. Prepare yourself, for no one knows when the Holy War may be coming."; } - close; - } - } - if (CRSDR_Q == 1) { - mes "[Michael Halig]"; - mes "Have you proven your determination with the task I have given you, or do you possess the items proving that you have received your calling?"; - next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - mes "[Michael Halig]"; - mes "Ah..."; - mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities."; - next; - mes "[Micheal Halig]"; - mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; - next; - delitem 1004,1; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - changequest 3006,3009; - mes "[Michael Halig]"; - mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; - close; - } - if ((countitem(957) > 9) && (countitem(959) > 9) && (countitem(1099) > 9) && (countitem(901) > 9)) { - mes "[Michael Halig]"; - mes "Ah, well done."; - mes "I must acknowledge your efforts and determination. You may now proceed to take the next test."; - next; - mes "[Michael Halig]"; - mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; - next; - delitem 957,10; //Decayed_Nail - delitem 959,10; //Rotten_Scale - delitem 1099,10; //Worn_Out_Prison_Uniform - delitem 901,10; //Danggie - set CRSDR_Q,4; - changequest 3006,3009; - mes "[Michael Halig]"; - mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; - close; - } - mes "[Michael Halig]"; - mes "Ah, you still have not completed the task I have given to you. Bring me the following items, and prove your will to become a Crusader to me..."; - next; - mes "[Michael Halig]"; - mes "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^000000."; - next; - mes "[Michael Halig]"; - mes "If you put forth the effort, you'll be able to accomplish this task. May Odin protect you on your journeys."; - close; - } - if (CRSDR_Q == 2) { - mes "[Michael Halig]"; - mes "Have you proven your determination with the task I have given you, or do you possess the items proving that you have received your calling?"; - next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - mes "[Michael Halig]"; - mes "Ah..."; - mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities."; - next; - mes "[Micheal Halig]"; - mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; - next; - delitem 1004,1; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - changequest 3007,3009; - mes "[Michael Halig]"; - mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; - close; - } - if ((countitem(932) > 9) && (countitem(1043) > 9) && (countitem(1098) > 9) && (countitem(1094) > 9)) { mes "[Michael Halig]"; - mes "Ah, well done."; - mes "I must acknowledge your efforts and determination. You may now proceed to take the next test."; + mes "Nobody knows when the Holy War will come. We must prepare in advance and cannot afford to slacken"; + mes "our training."; next; mes "[Michael Halig]"; - mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; - next; - delitem 932,10; //Skel_Bone - delitem 1043,10; //Nail_Of_Orc - delitem 1098,10; //Manacles - delitem 1094,10; //Short_Daenggie - set CRSDR_Q,4; - changequest 3007,3009; - mes "[Michael Halig]"; - mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; + mes "If you feel that participating in the Holy War is your calling, please come back right away and take the test to become"; + mes "a Crusader."; close; } mes "[Michael Halig]"; - mes "Ah, you still have not completed the task I have given to you. Bring me the following items, and prove your will to become a Crusader to me..."; - next; - mes "[Michael Halig]"; - mes "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^000000."; - next; - mes "[Michael Halig]"; - mes "If you put forth the effort, you'll be able to accomplish this task. May Odin protect you on your journeys."; + if (sex) mes "If you, too, are a man of the sword, constantly train and prepare yourself. No one knows when the Holy War may begin."; + else mes "As a woman of the sword, you must train diligently and constantly. Prepare yourself, for no one knows when the Holy War may be coming."; close; } - if (CRSDR_Q == 3) { - mes "[Michael Halig]"; + else if(CRUS_Q >= 1 && CRUS_Q <= 3) { mes "Have you proven your determination with the task I have given you, or do you possess the items proving that you have received your calling?"; next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - mes "[Michael Halig]"; - mes "Ah..."; - mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities."; - next; - mes "[Micheal Halig]"; - mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; - next; - delitem 1004,1; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - changequest 3008,3009; - mes "[Michael Halig]"; - mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; - close; + switch(CRUS_Q) { + case 1: + set @item1, 957; + set @item2, 959; + set @item3, 1099; + set @item4, 901; + break; + Case 2: + set @item1, 932; + set @item2, 1043; + set @item3, 1098; + set @item4, 1094; + break; + Case 3: + set @item1, 958; + set @item2, 930; + set @item3, 1041; + set @item4, 1062; + break; } - if ((countitem(958) > 9) && (countitem(930) > 9) && (countitem(1041) > 9) && (countitem(1062) > 9)) { + if (countitem(@item1) > 9 && countitem(@item2) > 9 && countitem(@item3) > 9 && countitem(@item4) > 9) { mes "[Michael Halig]"; mes "Ah, well done."; mes "I must acknowledge your efforts and determination. You may now proceed to take the next test."; @@ -323,12 +242,20 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "[Michael Halig]"; mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first."; next; - delitem 958,10; //Horrendous_Mouth - delitem 930,10; //Rotten_Bandage - delitem 1041,10; //Lantern - delitem 1062,10; //Pumpkin_Head - set CRSDR_Q,4; - changequest 3008,3009; + delitem @item1, 10; + delitem @item2, 10; + delitem @item3, 10; + delitem @item4, 10; + set CRUS_Q, 4; + if(checkquest(3006) != -1) { + changequest 3006,3009; + } + else if(checkquest(3007) != -1) { + changequest 3007,3009; + } + else { + changequest 3008,3009; + } mes "[Michael Halig]"; mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests..."; close; @@ -337,94 +264,42 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "Ah, you still have not completed the task I have given to you. Bring me the following items, and prove your will to become a Crusader to me..."; next; mes "[Michael Halig]"; - mes "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^000000."; + mes "10 ^3355FF"+getitemname(@item1)+"^000000"; + mes "10 ^3355FF"+getitemname(@item2)+"^000000"; + mes "10 ^3355FF"+getitemname(@item3)+"^000000"; + mes "10 ^3355FF"+getitemname(@item4)+"^000000"; next; mes "[Michael Halig]"; mes "If you put forth the effort, you'll be able to accomplish this task. May Odin protect you on your journeys."; close; } - if (CRSDR_Q == 10) { - if (JobLevel < 40) { - set CRSDR_Q,0; - mes "[Michael Halig]"; - mes "Wait ... You can not sign up."; - mes "You must reach job level 40 before you can apply."; - next; - mes "[Michael Halig]"; - mes "Train as a Swordsman and wait for the call of Odin."; - mes "I know your feelings, but you can not join us now..."; - close; - } - if (SkillPoint != 0) { - mes "[Michael Halig]"; + else if(CRUS_Q == 10) { + if(SkillPoint) { mes "You haven't finished learning everything as a Swordsman. Use all of your remaining skill points, and then return to me."; close; } - if (JobLevel == 50) { - mes "[Michael Halig]"; - mes "Congratulations on completing all of your tests. You are truly worthy of fighting alongside side us in the Holy War as a Crusader."; - next; - mes "[Michael Halig]"; - mes "Together, let us ready ourselves and be victorious over evil and tyranny!"; - next; - completequest 3015; - set CRSDR_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } - mes "[Michael Halig]"; - mes "Behold...!"; - mes "You are now a Crusader!"; - mes "When the Holy War comes, we shall fight side by side against the forces of evil."; - next; - mes "[Michael Halig]"; - mes "Now you are"; - mes "one of us!"; - if (Sex == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } - next; - getitem 504,12; //White_Potion - mes "[Michael Halig]"; - mes "And use this in times of dire peril. It will give you strength when your wounds are most grievous."; - next; - mes "[Michael Halig]"; - mes "Never forget that the Holy War is approaching. We must be prepare for the inevitable tide of evil that will sweep this world. Now, go forth and fight for the principles of freedom and justice!"; - close; - } - mes "[Michael Halig]"; mes "Congratulations on completing all of your tests. You are truly worthy of fighting alongside side us in the Holy War as a Crusader."; next; mes "[Michael Halig]"; mes "Together, let us ready ourselves and be victorious over evil and tyranny!"; next; + set .@Joblevel,JobLevel; completequest 3015; - set CRSDR_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } + callfunc "Job_Change",Job_Crusader; + callfunc "F_ClearJobVar"; //clears all job variables for the current player mes "[Michael Halig]"; mes "Behold...!"; mes "You are now a Crusader!"; - mes "When the Holy War comes, we shall fight side by side against the forces of evil. Now you are one of us!"; - if (Sex == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } + mes "When the Holy War comes, we shall fight side by side against the forces of evil."; next; - getitem 504,6; //White_Potion + mes "[Michael Halig]"; + mes "Now you are"; + mes "one of us!"; + if (sex) mes "...Brother."; + else mes "...Comrade."; + next; + if(.@JobLevel != 50) getitem 504, 6; + else getitem 504, 12; mes "[Michael Halig]"; mes "And use this in times of dire peril. It will give you strength when your wounds are most grievous."; next; @@ -432,7 +307,6 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "Never forget that the Holy War is approaching. We must be prepare for the inevitable tide of evil that will sweep this world. Now, go forth and fight for the principles of freedom and justice!"; close; } - mes "[Michael Halig]"; mes "It seems that you have not yet completed all of the testing. You will not be ready to become a Crusader until you have completed the tests set before you."; next; mes "[Michael Halig]"; @@ -440,15 +314,15 @@ prt_castle,45,169,5 script Senior Crusader 752,{ close; } +//===================== Suffering Man: 2nd Endurance Test =============================================== prt_castle,164,32,1 script Man in Anguish 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Murnak Mijoul]"; + mes "[Murnak Mijoul]"; + if(BaseJob != Job_Swordman) { + if (BaseJob == Job_Crusader) { mes "Don't linger around in a place like this and forge your own path towards discovering your own strengths. The day that we will join hands in battle will come soon."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Murnak Mijoul]"; + else if(BaseJob == Job_Novice) { mes "A Novice...?"; mes "So green, and yet,"; mes "so much potential."; @@ -457,12 +331,10 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me assure you that I'm no criminal. I'm here merely to train myself. Perhaps as you become stronger, you will understand."; close; } - mes "[Murnak Mijoul]"; mes "Hm. You have no business in a place like this. Please leave, and do not interrupt my training."; close; } - if (CRSDR_Q == 0) { - mes "[Murnak Mijoul]"; + else if(CRUS_Q >= 0 && CRUS_Q <= 3) { mes "What do you want...?"; mes "If you have no business here,"; mes "then please leave. A tranquil state of mind is essential in self training..."; @@ -471,49 +343,13 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "I wish to improve the sense of serenity in my heart in preparation for the Holy War that is to come. So please, do not disturb me."; close; } - if (CRSDR_Q == 1) { - mes "[Murnak Mijoul]"; - mes "What do you want...?"; - mes "If you have no business here,"; - mes "then please leave. A tranquil state of mind is essential in self training..."; - next; - mes "[Murnak Mijoul]"; - mes "I wish to improve the sense of serenity in my heart in preparation for the Holy War that is to come. So please, do not disturb me."; - close; - } - if (CRSDR_Q == 2) { - mes "[Murnak Mijoul]"; - mes "What do you want...?"; - mes "If you have no business here,"; - mes "then please leave. A tranquil state of mind is essential in self training..."; - next; - mes "[Murnak Mijoul]"; - mes "I wish to improve the sense of serenity in my heart in preparation for the Holy War that is to come. So please, do not disturb me."; - close; - } - if (CRSDR_Q == 3) { - mes "[Murnak Mijoul]"; - mes "What do you want...?"; - mes "If you have no business here,"; - mes "then please leave. A tranquil state of mind is essential in self training..."; - next; - mes "[Murnak Mijoul]"; - mes "I wish to improve the sense of serenity in my heart in preparation for the Holy War that is to come. So please, do not disturb me."; - close; - } - if (CRSDR_Q == 4) { - mes "[Murnak Mijoul]"; + else if(CRUS_Q == 4) { mes "What is it...?"; mes "Do you have business"; - if (Sex == 1) { - mes "with me, man of the sword?"; - } - else { - mes "with me, woman of the sword?"; - } + if (sex) mes "with me, man of the sword?"; + else mes "with me, woman of the sword?"; next; - switch (select("I'd like to take the Crusader test.:Nothing.")) { - case 1: + if (select("I'd like to take the Crusader test.:Nothing.") == 1) { mes "[Murnak Mijoul]"; mes "You wish to become a Crusader...? Hm, fighting in the Holy War is an admirable goal we may both share."; next; @@ -523,7 +359,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me take"; mes "a look at your face."; next; - if (!isequipped(2608)) { + if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Murnak Mijoul]"; mes "Hmm. You wish to become a Crusader, but do not wear a Rosary? I have no business with you if you cannot uphold our customs."; close; @@ -542,7 +378,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "But..."; mes "You must keep one thing in mind. Under no condition are you allowed to kill the monsters."; next; - set CRSDR_Q,5; + set CRUS_Q,5; changequest 3009,3010; mes "[Murnak Mijoul]"; mes "Well then..."; @@ -550,24 +386,21 @@ prt_castle,164,32,1 script Man in Anguish 733,{ close2; warp "job_cru",98,40; end; - case 2: - mes "[Murnak Mijoul]"; - mes "You seem to have a lot of time on your hands. Why don't you do something more productive, like pick Jellopy off the streets or something?"; - close; } - } - if (CRSDR_Q == 5) { mes "[Murnak Mijoul]"; + mes "You seem to have a lot of time on your hands. Why don't you do something more productive, like pick Jellopy off the streets or something?"; + close; + } + else if(CRUS_Q == 5) { mes "What is it...?"; mes "You're the Swordman from before. What happened, did you fail?"; next; - switch (select("Let me retake the test.:What kind of test was that?!")) { - case 1: + if (select("Let me retake the test.:What kind of test was that?!") == 1) { mes "[Murnak Mijoul]"; mes "I'll let you retake the test as much as you like. But if you continuously fail, there's an inherent problem with your"; mes "state of mind."; next; - if (!isequipped(2608)) { + if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Murnak Mijoul]"; mes "Wait..."; mes "Where have you left your Rosary? You can't let that lie around just anywhere. We are supposed to be warriors of holiness."; @@ -587,42 +420,38 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "[Murnak Mijoul]"; mes "No matter what you do, do not kill any of the monsters. This time, think carefully before you draw your sword."; next; - set CRSDR_Q,5; + set CRUS_Q,5; mes "[Murnak Mijoul]"; mes "Well then..."; mes "Good luck."; close2; warp "job_cru",98,40; - end; - case 2: - mes "[Murnak Mijoul]"; - mes "Who are you to say that you don't like my test? With that kind of attitude, you'll never become a Crusader."; - next; - mes "[Murnak Mijoul]"; - mes "I can understand if you are easily frustrated, but you must overcome your frustration to pass this test."; - close; } - } - if (CRSDR_Q == 6) { mes "[Murnak Mijoul]"; + mes "Who are you to say that you don't like my test? With that kind of attitude, you'll never become a Crusader."; + next; + mes "[Murnak Mijoul]"; + mes "I can understand if you are easily frustrated, but you must overcome your frustration to pass this test."; + close; + } + else if(CRUS_Q == 6) { mes "Hmm, seems like you did well. It shouldn't have been too hard. You no longer have any business"; mes "with me."; next; - changequest 3010,3011; mes "[Murnak Mijoul]"; mes "For your next test, go look for Gabriel Valentine in the Prontera Sanctuary. Well then, I'll see you around."; close; } - mes "[Murnak Mijoul]"; mes "Hmmm..."; mes "You still have tests to complete if you want to become a Crusader, don't you?"; close; } -prt_church,95,127,5 script Crusader 745,{ - if ((Class != Job_Baby_Swordmann) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Gabriel Valentine]"; +//===================== Gabriel Valentine: 3rd Knowledge Test ================================= +prt_church,95,127,3 script Crusader 745,{ + mes "[Gabriel Valentine]"; + if(BaseJob != Job_Swordman) { + if (BaseJob == Job_Crusader) { mes "Welcome, fellow Crusader."; mes "How is your training"; mes "coming along?"; @@ -631,8 +460,7 @@ prt_church,95,127,5 script Crusader 745,{ mes "You must not forget to train everyday, and prepare for the day the Holy War will come upon us."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Gabriel Valentine]"; + else if(BaseJob == Job_Novice) { mes "Welcome, I am a Crusader."; mes "I am preparing for the"; mes "foretold Holy War"; @@ -643,9 +471,8 @@ prt_church,95,127,5 script Crusader 745,{ next; mes "[Gabriel Valentine]"; mes "We are located in the Prontera Central Palace, so if you have time, it wouldn't hurt to stop by."; - close2; + close; } - mes "[Gabriel Valentine]"; mes "Welcome, we are Crusaders."; mes "We are preparing for the"; mes "foretold Holy War"; @@ -655,8 +482,7 @@ prt_church,95,127,5 script Crusader 745,{ mes "I hope you will train yourself in preparation for the future as well."; close; } - if (CRSDR_Q == 0) { - mes "[Gabriel Valentine]"; + else if(CRUS_Q == 0) { mes "Welcome. We are Crusaders."; mes "We are preparing for the"; mes "foretold Holy War"; @@ -666,454 +492,226 @@ prt_church,95,127,5 script Crusader 745,{ mes "If you would like to become a Crusader, please speak with our leader in the Prontera Central Palace."; close; } - if (CRSDR_Q == 6) { - mes "[Gabriel Valentine]"; - mes "Welcome."; - mes "Did you do well"; - mes "on those painful tests?"; - mes "I will be conducting your next test."; - next; - mes "[Gabriel Valentine]"; - mes "My name is Gabriel Valentine. I, too, am preparing for the Holy War. For the time being, I act as guard for this church."; - next; - mes "[Gabriel Valentine]"; - mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader."; - mes "We can't very well win the Holy War just by swinging a sword."; - next; - set .@cru_m, rand(1,3); - set @cru_t, 0; - mes "[Gabriel Valentine]"; - mes "I will give"; - mes "you 10 questions."; - mes "Answer them correctly."; - next; + else if((CRUS_Q == 6) || (CRUS_Q == 7)) { + if(CRUS_Q == 6) { + mes "Welcome."; + mes "Did you do well"; + mes "on those painful tests?"; + mes "I will be conducting your next test."; + next; + mes "[Gabriel Valentine]"; + mes "My name is Gabriel Valentine. I, too, am preparing for the Holy War. For the time being, I act as guard for this church."; + next; + mes "[Gabriel Valentine]"; + mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader."; + mes "We can't very well win the Holy War just by swinging a sword."; + next; + mes "[Gabriel Valentine]"; + mes "I will give"; + mes "you 10 questions."; + mes "Answer them correctly."; + next; + } + else if(CRUS_Q == 7) { + mes "Welcome back~"; + mes "Did you prepare"; + mes "well for this test?"; + mes "Let's try again,"; + mes "shall we...?"; + next; + mes "[Gabriel Valentine]"; + mes "Once again, I'm going"; + mes "to give you 10 questions"; + mes "Listen carefully, and"; + mes "choose the correct answer."; + next; + } + set .@cru_m,rand(1,3); if (.@cru_m == 1) { mes "[Gabriel Valentine]"; mes "1. Which attribute is the most effective in atttacking the Undead?"; next; - switch (select("Neutral:Earth:Undead:Holy")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + if (select("Neutral:Earth:Undead:Holy") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "2. If the monster is a Level 2 Undead, how much more damage does a Holy attack do compared to Fire?"; next; - switch (select("25 %:50 %:75 %:100 %")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("25 %:50 %:75 %:100 %") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "3. What item can you not get from an Evil Druid?"; next; - switch (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "4. Which Undead monster"; mes "has the highest HP?"; next; - switch (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + if (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "5. Which of the following monsters is a different size than the others?"; next; - switch (select("Wraith:Khalitzburg:Drake:Evil Druid")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "6. Which card grants you tolerance to Undead property attacks?"; next; - switch (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "7. What was the relationship between Munak and Bongun before they passed away?"; next; - switch (select("Big Brother and Little Sister:Childhood friends in the same village:Stepbrother and sister:Complete strangers")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Big Brother and Little Sister:Childhood friends in the same village:Stepbrother and sister:Complete strangers") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "8. Which of the following monsters is not aggressive?"; next; - switch (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "9. What is the name of the shield in which a Munak Card has been inserted?"; next; - switch (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "10. Which of the following monsters does not drop Memento?"; next; - switch (select("Munak:Ghoul:Mummy:Soldier Skeleton")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) + set .@cru_t,.@cru_t+10; } - if (.@cru_m == 2) { + else if (.@cru_m == 2) { mes "[Gabriel Valentine]"; mes "1. Which of the following monsters is a different attribute than the others?"; next; - switch (select("Karat:Wind Ghost:Isis:Wanderer")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Carat:Wind Ghost:Isis:Wanderer") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "2. Which sword is effective in attacking Demon monsters?"; next; - switch (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "3. Which item is NOT dropped by Dokebi?"; next; - switch (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "4. Which Demon monster has the most HP?"; next; - switch (select("Giearth:Magnolia:Dokebi:Marionette")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + if (select("Giearth:Magnolia:Dokebi:Marionette") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "5. Which Demon monster is a different size than the others?"; next; - switch (select("Ghostring:Whisper:Deviruchi:Baphomet Junior")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "6. Which shield reduces damage inflicted by Demon monsters?"; next; - switch (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "7. Which attribute is the most effective on the Wind Ghost?"; next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Water:Earth:Fire:Wind") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "8. Which monster is different from the other Demon monsters?"; next; - switch (select("Sohee:Isis:Dokebi:Whisper")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + if (select("Sohee:Isis:Dokebi:Whisper") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "9. What effect does the Marionette Card have?"; next; - switch (select("Increase defense against Shadow attacks by 30 %:Increase defense against poison attacks by 30 %:Increase defense against Ghost attacks by 30 %:Increase defense against Neutral attacks by 30 %")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Increase defense against Shadow attacks by 30 %:Increase defense against poison attacks by 30 %:Increase defense against Ghost attacks by 30 %:Increase defense against Neutral attacks by 30 %") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "10. Which of the following is an effective way to react when encountering a demon monster?"; next; - switch (select("Scream, 'Evil one, go away!':Offer your soul and get a deal.:Put Holy Water on a weapon and attack.:Put on a Deviruchi hat.")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Scream, 'Evil one, go away!':Offer your soul and get a deal.:Put Holy Water on a weapon and attack.:Put on a Deviruchi hat.") == 3) + set .@cru_t,.@cru_t+10; } else { mes "[Gabriel Valentine]"; mes "1. What level of 'Divine Protection' do you need to learn 'Demon Bane?'"; next; - switch (select("Level 1:Level 2:Level 3:Level 4")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + if (select("Level 1:Level 2:Level 3:Level 4") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "2. If your INT is 30, including INT bonuses from quipment, at level 55, how much HP does Level 5 Heal recover?"; next; - switch (select("396:440:484:528")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("396:440:484:528") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "3. With Level 7 Divine Protection, by how much is your defense against the Undead increased?"; next; - switch (select("21:22:23:24")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("21:22:23:24") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "4. Which of the following spears can attack Nightmare, which is endowed with the Ghost attribute?"; next; - switch (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + if (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "5. What level of 'Heal' do you need to learn 'Cure?'"; next; - switch (select("Level 1:Level 2:Level 3:Level 4")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Level 1:Level 2:Level 3:Level 4") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "6. What is the attack speed when Level 3 Cavalier Mastery is learned?"; next; - switch (select("70 % of normal speed:80 % of normal speed:90 % of normal speed:100 % of normal speed")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("70 % of normal speed:80 % of normal speed:90 % of normal speed:100 % of normal speed") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "7. Which of the following is not correct of the Demon Bane skill?"; next; - switch (select("Increase attack on Undead:Only Acolytes can learn the skill:When mastered, + 30 increase:Passive Skill")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Increase attack on Undead:Only Acolytes can learn the skill:When mastered, + 30 increase:Passive Skill") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "8. How much SP does Level 7 Heal use?"; next; - switch (select("30:31:33:35")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("30:31:33:35") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "9. What status cannot be"; mes "cured with the Cure skill?"; next; - switch (select("Curse:Silence:Chaos:Blind")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Curse:Silence:Chaos:Blind") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; mes "10. What best describes a Crusader?"; next; - switch (select("One preparing for matrimony.:One preparing for the Holy War.:One preparing consummation.:One preparing potions.")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("One preparing for matrimony.:One preparing for the Holy War.:One preparing consummation.:One preparing potions.") == 2) + set .@cru_t,.@cru_t+10; + } mes "[Gabriel Valentine]"; mes "Good work~"; @@ -1122,9 +720,9 @@ prt_church,95,127,5 script Crusader 745,{ next; mes "[Gabriel Valentine]"; mes " " + strcharinfo(0) + "'s score"; - mes "is " + @cru_t + " points..."; - if (@cru_t == 100) { - set CRSDR_Q,8; + mes "is " + .@cru_t + " points..."; + if(.@cru_t == 100) { + set CRUS_Q, 8; changequest 3011,3013; mes "Superb! Now, it's time for"; mes "you to take the next test."; @@ -1136,8 +734,8 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - if (@cru_t == 90) { - set CRSDR_Q,8; + else if(.@cru_t == 90) { + set CRUS_Q, 8; changequest 3011,3013; mes "Well done~ Now, it's time for"; mes "you to take the next test."; @@ -1149,495 +747,9 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - set CRSDR_Q,7; - changequest 3011,3012; - mes "Hmmm... What a pity."; - mes "Go study some more and"; - mes "take this test again, okay?"; - next; - mes "[Gabriel Valentine]"; - mes "Don't stress, you need to know a lot in order to pass this test. In any case, I'll be waiting right here. When you think you're ready, come back, alright?"; - close; - } - if (CRSDR_Q == 7) { - mes "[Gabriel Valentine]"; - mes "Welcome back~"; - mes "Did you prepare"; - mes "well for this test?"; - mes "Let's try again,"; - mes "shall we...?"; - next; - set .@cru_m, rand(1,3); - set @cru_t, 0; - mes "[Gabriel Valentine]"; - mes "Once again, I'm going"; - mes "to give you 10 questions"; - mes "Listen carefully, and"; - mes "choose the correct answer."; - next; - if (.@cru_m == 1) { - mes "[Gabriel Valentine]"; - mes "1. Which attribute is the most effective in atttacking the Undead?"; - next; - switch (select("Neutral:Earth:Undead:Holy")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "2. If the monster is a level 2 Undead, how much more damage does a Holy attack do compared to Fire?"; - next; - switch (select("25%:50%:75%:100%")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. What item can you not get from an Evil Druid?"; - next; - switch (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which Undead monster has the highest HP?"; - next; - switch (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. Which of the following is a different size?"; - next; - switch (select("Wraith:Khalitzburg:Drake:Evil Druid")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. Which card is immune to undead attacks?"; - next; - switch (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. What was teh relationship between Munak and Bongun before they passed away?"; - next; - switch (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "8. Which monster is a different type of undead monster?"; - next; - switch (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "9. What is the name of a shield with a Munak Card?"; - next; - switch (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "10. Which of the following monsters does not drop its article left at death?"; - next; - switch (select("Munak:Ghoul:Mummy:Soldier Skeleton")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@cru_m == 2) { - mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters has a different attribute?"; - next; - switch (select("Carat:Wind Ghost:Isis:Wanderer")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "2. Which sword is effective in attacking demon monsters?"; - next; - switch (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. Which item does the Dokebi NOT drop?"; - next; - switch (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which demon monster has the most HP?"; - next; - switch (select("Giearth:Magnolia:Dokebi:Marionette")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. Which demon monster is a different size?"; - next; - switch (select("Ghostring:Whisper:Deviruchi:Baphomet Junior")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. Which shield decreases attacks from demon monsters?"; - next; - switch (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. Which attribute is the most effective on the Wind Ghost?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "8. Which monster is different from the other demon monsters?"; - next; - switch (select("Sohee:Isis:Dokebi:Whisper")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "9. What effect does the Marionette Card have?"; - next; - switch (select("Increase defense against shadow attacks by 30%:Increase defense against poison attacks by 30%:Increase defense against ghost attacks by 30%:Increase defense against neutral attacks by 30%")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "10. Which of the following is an effective way to react when encountering a demon monster?"; - next; - switch (select("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on weapon and attack.:Put on a Deviruchi hat.")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - } - else { - mes "[Gabriel Valentine]"; - mes "1. What level of 'Divine Protection' do you need to learn 'Demon Bane'?"; - next; - switch (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "2. If your INT is 30 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; - next; - switch (select("396:440:484:528")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; - next; - switch (select("21:22:23:24")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which of the following spears can attack the Nightmare with ghost attributes?"; - next; - switch (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. What level of 'Heal' do you need to learn 'Cure'?"; - next; - switch (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. What is the attack speed with Cavalier Mastery Lv.3?"; - next; - switch (select("70% of normal speed:80% of normal speed:90% of normal speed:100% of normal speed")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. Which of the following is not a correction description of Demon Bane?"; - next; - switch (select("Increase attack on Undead:Only Acolytes can learn the skill.:When mastered, +30 increase.:Passive Skill")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "8. How much SP does Heal Lv. 7 use?"; - next; - switch (select("30:31:33:35")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "9. When can you cure with Cure?"; - next; - switch (select("Curse:Silence:Chaos:Blind")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "10. What best describes a Crusader?"; - next; - switch (select("One preparing a cookie.:One preparing for the Holy War.:One preparing to drink.:One preparing potions.")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - } - mes "[Gabriel Valentine]"; - mes "Good work~"; - mes "Well, first let me"; - mes "look at your results."; - next; - mes "[Gabriel Valentine]"; - mes "" + strcharinfo(0) + "'s score"; - mes "is " + @cru_t + " points..."; - if (@cru_t == 100) { - set CRSDR_Q,8; - changequest 3012,3013; - mes "Superb! Now, it's time for"; - mes "you to take the next test."; - next; - mes "[Gabriel Valentine]"; - mes "Go to Prontera Castle"; - mes "and meet Bliant Piyord."; - mes "I will inform him that"; - mes "he will be testing you next."; - close; - } - if (@cru_t == 90) { - set CRSDR_Q,8; - changequest 3012,3013; - mes "Well done~ Now, it's time for"; - mes "you to take the next test."; - next; - mes "[Gabriel Valentine]"; - mes "Go to Prontera Castle"; - mes "and meet Bliant Piyord."; - mes "I will inform him that"; - mes "he will be testing you next."; - close; - } - if (@cru_t == 80) { - set CRSDR_Q,8; - changequest 3012,3013; + else if (.@cru_t == 80 && CRUS_Q == 7) { + set CRUS_Q,8; + changequest 3011,3013; mes "Seems like you prepared a lot so I'll let you pass this time."; mes "Hurry now and go take the next test."; next; @@ -1646,33 +758,29 @@ prt_church,95,127,5 script Crusader 745,{ mes "I will inform him to prepare the next test."; close; } - set CRSDR_Q,7; - mes "Aww, what a pity. Come again after studying some more."; + set CRUS_Q,7; + if(checkquest(3011) != -1) { + changequest 3011,3012; + } + mes "Hmmm... What a pity."; + mes "Go study some more and"; + mes "take this test again, okay?"; next; mes "[Gabriel Valentine]"; - mes "I shall wait since there is a lot of preparation required."; - mes "Come back when you believe you are ready..."; - close; - } - if (CRSDR_Q == 8) { - mes "[Gabriel Valentine]"; - mes "Like I mentioned before, you should go to Prontera Castle and meet with Bliant Piyord to take your next test. Good luck, and become a Crusder soon, alright?"; + mes "Don't stress, you need to know a lot in order to pass this test. In any case, I'll be waiting right here. When you think you're ready, come back, alright?"; close; - } - if (CRSDR_Q == 9) { - mes "[Gabriel Valentine]"; + } + else if(CRUS_Q == 8 || CRUS_Q == 9) { mes "Like I mentioned before, you should go to Prontera Castle and meet with Bliant Piyord to take your next test. Good luck, and become a Crusder soon, alright?"; close; } - if (CRSDR_Q == 10) { - mes "[Gabriel Valentine]"; + else if(CRUS_Q == 10) { mes "What are you still doing here? You've already completed all the tests. Go talk to our leader, you're pretty much ready to become a Crusader now."; next; mes "[Gabriel Valentine]"; mes "You will soon join us in our preparations for the Holy War. Continue to live with faith after becoming a Crusader."; close; } - mes "[Gabriel Valentine]"; mes "Mmm...?"; mes "It seems that you're"; mes "an aspiring Crusader..."; @@ -1687,21 +795,20 @@ prt_church,95,127,5 script Crusader 745,{ close; } -prt_castle,35,151,5 script Patron Kinght 751,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Bliant Piyord]"; - mes "Welcome."; +//===================== Crusader: 4th Purification Test ===================================================== +prt_castle,35,151,5 script Patron Knight 751,{ + mes "[Bliant Piyord]"; + mes "Welcome."; + if(BaseJob != Job_Swordman) { + if(BaseJob == Job_Crusader) { mes "How goes"; mes "your training?"; next; mes "[Bliant Piyord]"; mes "Develop your faith. From faith springs strength and discipline. Day after day, train yourself and become a great Crusader."; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1716,8 +823,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "Train as a Swordsman and come to us when you think you are ready. If you have been called by Odin to become a Crusader, that would be even better."; close; } - mes "[Bliant Piyord]"; - mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1725,9 +830,7 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "Even in these relatively peaceful times, our training is ceaseless. We must be ready for the day with the tides of darkness shall rush against mankind..."; close; } - if (CRSDR_Q == 0) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(CRUS_Q == 0) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1746,102 +849,43 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "be with you..."; close; } - if (CRSDR_Q == 8) { - mes "[Bliant Piyord]"; - mes "Welcome. "; - mes "It's nice"; - mes "to meet you."; - mes "It is now time"; - mes "for your final test."; - next; - mes "[Bliant Piyord]"; - mes "My name is Bliant Piyord and I too, am preparing for the Holy War. It must've been quite a hassle to come all this way."; - next; - mes "[Bliant Piyord]"; - mes "This test will gauge your skills in battle. Only those with great fighting ability can become Crusaders."; - next; - mes "[Bliant Piyord]"; - mes "To take the battle test, bring"; - mes "1 ^3355FFHoly Water^000000. This will be used to purify you prior to taking the test."; - next; - mes "[Bliant Piyord]"; - mes "Well then..."; - mes "Shall we"; - mes "begin right away?"; - mes "Or do you need time"; - mes "to prepare yourself?"; - next; - switch (select("I would like to begin.:Give me some time to prepare.")) { - case 1: - if (!isequipped(2608)) { - set CRSDR_Q,9; - changequest 3013,3014; - mes "[Bliant Piyord]"; - mes "Just a second, you do not have a Rosary equipped. As a Crusader, you must always have a Rosary on your person."; - next; - mes "[Bliant Piyord]"; - mes "Come back and take"; - mes "the test after you"; - mes "have a Rosary."; - close; - } - if (countitem(523) > 0) { + else if(CRUS_Q == 8 || CRUS_Q == 9) { + if (CRUS_Q == 8) { + mes "It's nice"; + mes "to meet you."; + mes "It is now time"; + mes "for your final test."; + next; + mes "[Bliant Piyord]"; + mes "My name is Bliant Piyord and I too, am preparing for the Holy War. It must've been quite a hassle to come all this way."; + next; + mes "[Bliant Piyord]"; + mes "This test will gauge your skills in battle. Only those with great fighting ability can become Crusaders."; + next; + mes "[Bliant Piyord]"; + mes "To take the battle test, bring"; + mes "1 ^3355FFHoly Water^000000. This will be used to purify you prior to taking the test."; + if(checkquest(3013) != -1) { changequest 3013,3014; - set CRSDR_Q,9; - delitem 523,1; //Holy_Water - mes "[Bliant Piyord]"; - mes "Then, I'll start"; - mes "the test. You will"; - mes "be purified with the"; - mes "Holy Water you prepared."; - next; - mes "[Bliant Piyord]"; - mes "..............."; - next; - mes "[Bliant Piyord]"; - mes "Let's begin."; - mes "Go and enter"; - mes "the waiting room."; - mes "Defeat the monsters"; - mes "that appear in"; - mes "the 4 stages."; - close2; - warp "job_cru",24,169; - end; } - set CRSDR_Q,9; - changequest 3013,3014; - mes "[Bliant Piyord]"; - mes "Prepare 1 ^3355FFHoly Water^000000 to take the battle test. As I've said, it will be used to purify you prior to taking the test."; next; mes "[Bliant Piyord]"; - mes "Come back and take"; - mes "the test after you"; - mes "have prepared"; - mes "1 Holy Water."; - mes "I shall be"; - mes "waiting."; - close; - case 2: + mes "Well then..."; + mes "Shall we"; + mes "begin right away?"; + mes "Or do you need time"; + mes "to prepare yourself?"; + } + else { + mes "Are you prepared"; + mes "for the test now?"; + next; mes "[Bliant Piyord]"; - mes "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; + mes "Would you like to begin now, or do you still need time to make preparations?"; } - } - if (CRSDR_Q == 9) { - mes "[Bliant Piyord]"; - mes "Welcome."; - mes "Are you prepared"; - mes "for the test now?"; next; - mes "[Bliant Piyord]"; - mes "Would you like to begin now, or do you still need time to make preparations?"; - next; - switch (select("I would like to begin.:Give me some time to prepare.")) { - case 1: - if (!isequipped(2608)) { + if (select("I would like to begin.:Give me some time to prepare.") == 1) { + if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Bliant Piyord]"; mes "Just a second, you do not have a Rosary equipped. As a Crusader, you must always have a Rosary on your person."; next; @@ -1851,49 +895,50 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "have a Rosary."; close; } - if (countitem(523) > 0) { - delitem 523,1; //Holy_Water + else if(countitem(523) < 1) { mes "[Bliant Piyord]"; - mes "Then, I'll start"; - mes "the test. You will"; - mes "be purified with the"; - mes "Holy Water you prepared."; + mes "For the battle test, please prepare one ^3355FFHoly water^000000."; + mes "I told you just to purify the candidates."; next; mes "[Bliant Piyord]"; - mes "..............."; - next; - mes "[Bliant Piyord]"; - mes "Let's begin."; - mes "Go and enter"; - mes "the waiting room."; - mes "Defeat the monsters"; - mes "that appear in"; - mes "the 4 stages."; - close2; - warp "job_cru",24,169; - end; + mes "Get prepares and come back to here."; + mes "I will wait for you."; + close; } + delitem 523, 1; //Holy Water mes "[Bliant Piyord]"; - mes "Prepare 1 ^3355FFHoly Water^000000 to take the battle test. As I've said, it will be used to purify you prior to taking the test."; + mes "Then, I'll start"; + mes "the test. You will"; + mes "be purified with the"; + mes "Holy Water you prepared."; next; mes "[Bliant Piyord]"; - mes "Come back and take"; - mes "the test after you"; - mes "have prepared"; - mes "1 Holy Water."; - mes "I shall be"; - mes "waiting."; - close; - case 2: + mes "..............."; + next; mes "[Bliant Piyord]"; - mes "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; + mes "Let's begin."; + mes "Go and enter"; + mes "the waiting room."; + mes "Defeat the monsters"; + mes "that appear in"; + mes "the 4 stages."; + close2; + warp "job_cru",24,169; + end; } - } - if (CRSDR_Q == 10) { mes "[Bliant Piyord]"; + mes "Prepare 1 ^3355FFHoly Water^000000 to take the battle test. As I've said, it will be used to purify you prior to taking the test."; + next; + mes "[Bliant Piyord]"; + mes "Come back and take"; + mes "the test after you"; + mes "have prepared"; + mes "1 Holy Water."; + mes "I shall be"; + mes "waiting."; + close; + } + else if(CRUS_Q == 10) { mes "Congratulations."; mes "You have completed"; mes "all the tests to"; @@ -1908,8 +953,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "coming Holy War."; close; } - mes "[Bliant Piyord]"; - mes "Welcome."; mes "Are you not one of the ones in the process of becoming a Crusader?"; next; mes "[Bliant Piyord]"; @@ -1925,247 +968,245 @@ prt_castle,35,151,5 script Patron Kinght 751,{ close; } -job_cru,1,1,1 script Summoner#1 107,{ - end; + +//=== Actual tests ======================================== +//=== Endurance Test ====================================== +job_cru,1,1,1 script Summoner#cr1 -1,{ OnTimer300000: - donpcevent "Summoner#1::OnReset"; + donpcevent "Summoner#cr1::OnReset"; end; OnTimer300500: - donpcevent "Summoner#1::OnDisable"; + donpcevent "Summoner#cr1::OnEnd"; end; OnTimer301000: - donpcevent "Summoner#1::OnEnable"; + donpcevent "Summoner#cr1::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + enablenpc "Summoner#cr1"; + monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#cr1::OnDead"; initnpctimer; end; -OnEnable: - hideoffnpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; +OnStart: + enablenpc "Summoner#cr1"; + monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#cr1::OnDead"; + monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#cr1::OnDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#1::OnMyMobDead"; + killmonster "job_cru","Summoner#cr1::OnDead"; end; -OnDisable: - hideonnpc "Summoner#1"; +OnEnd: + disablenpc "Summoner#cr1"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,2,1 script Summoner#2 107,1,1,{ - end; - +job_cru,1,2,1 script Summoner#cr2 -1,{ OnTimer345000: - donpcevent "Summoner#2::OnReset"; + donpcevent "Summoner#cr2::OnReset"; end; OnTimer345500: - donpcevent "Summoner#2::OnDisable"; + donpcevent "Summoner#cr2::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#2::OnEnable"; + donpcevent "Summoner#cr2::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + enablenpc "Summoner#cr2"; + monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead"; initnpctimer; end; -OnEnable: - hideoffnpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; +OnStart: + enablenpc "Summoner#cr2"; + monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead"; + monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#2::OnMyMobDead"; + killmonster "job_cru","Summoner#cr2::OnDead"; end; -OnDisable: - hideonnpc "Summoner#2"; +OnEnd: + disablenpc "Summoner#cr2"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#3 107,1,1,{ - end; - +job_cru,1,3,1 script Summoner#cr3 -1,{ OnTimer345000: - donpcevent "Summoner#3::OnReset"; + donpcevent "Summoner#cr3::OnReset"; end; OnTimer345500: - donpcevent "Summoner#3::OnDisable"; + donpcevent "Summoner#cr3::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#3::OnEnable"; + donpcevent "Summoner#cr3::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#3"; - monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; - end; - -OnEnable: - hideoffnpc "Summoner#3"; - monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; + enablenpc "Summoner#cr3"; + monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + Initnpctimer; + end; + +OnStart: + enablenpc "Summoner#cr3"; + monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,50,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#cr3::OnDead"; + Initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#3::OnMyMobDead"; + killmonster "job_cru","Summoner#cr3::OnDead"; end; -OnDisable: - hideonnpc "Summoner#3"; +OnEnd: + disablenpc "Summoner#cr3"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#4 107,1,1,{ - end; - -OnTimer185000: - donpcevent "Summoner#4::OnReset"; +job_cru,1,4,1 script Summoner#cr4 -1,{ +OnTimer345000: + donpcevent "Summoner#cr4::OnReset"; end; -OnTimer185500: - donpcevent "Summoner#4::OnDisable"; +OnTimer345500: + donpcevent "Summoner#cr4::OnEnd"; end; -OnTimer186000: - donpcevent "Summoner#4::OnEnable"; +OnTimer346000: + donpcevent "Summoner#cr4::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; + enablenpc "Summoner#cr4"; + monster "job_cru",98,50,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,55,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,60,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,65,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,70,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,75,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,80,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,85,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,90,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#cr3::OnDead"; + monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#cr3::OnDead"; initnpctimer; end; -OnEnable: - hideoffnpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; +OnStart: + enablenpc "Summoner#cr4"; + monster "job_cru",98,50,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,55,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,60,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,65,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,70,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,75,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,80,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,85,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",98,90,"Familiar",1005,1,"Summoner#cr3::OnDead"; + monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#cr3::OnDead"; + monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#cr3::OnDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#4::OnMyMobDead"; + killmonster "job_cru","Summoner#cr4::OnDead"; end; -OnDisable: - hideonnpc "Summoner#4"; +OnEnd: + disablenpc "Summoner#cr4"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,98,105,0 script Summoner#5 45,4,3,{ +job_cru,98,105,4 script Summoner#cr5 45,3,3,{ OnTouch: - set CRSDR_Q,6; + set CRUS_Q,6; + changequest 3010,3011; warp "prt_castle",164,28; end; } -job_cru,24,187,4 script Patron Knight 751,{ +//=== Purification Test =================================== +job_cru,24,187,4 script Patron Knight#2 751,{ mes "[Bliant Piyord]"; mes "Welcome."; mes "You will take"; @@ -2182,29 +1223,27 @@ job_cru,24,187,4 script Patron Knight 751,{ close; } -job_cru,24,187,2 script Waiting Room#1 700,1,1,{ +job_cru,24,187,2 script Waiting Room#cr1 700,{ end; OnInit: - hideonnpc "Waiting Room#1"; -// setarenaeventsize 1 -// makewaitingroom "Waiting Room" 20 -// enablearena + disablenpc "Waiting Room#cr1"; + waitingroom "Waiting Room",20,"Waiting Room#cr1::OnStartArena",1; + enablewaitingroomevent; end; OnStartArena: -// warpwaitingpctoarena "job_cru" 168 17 - donpcevent "Monster Summon#0::OnEnable"; -// disablearena + warpwaitingpc "job_cru",168,21; + donpcevent "Monster Summon#cr0::OnStart"; + disablewaitingroomevent; end; -OnEnable: -// enablearena +OnStart: + enablewaitingroomevent; end; } -job_cru,168,17,0 script Zombie Guide 139,2,2,{ - +job_cru,168,17,0 script Zombie Guide -1,2,2,{ OnTouch: mes "[Bliant Piyord]"; mes "Go forth and defeat all"; @@ -2216,218 +1255,202 @@ OnTouch: mes "You will be given"; mes "4 minutes. Go forth"; mes "and do your best..."; - close2; - end; + close; } -job_cru,2,1,1 script Monster Summon#0 110,1,1,{ - end; - +job_cru,2,1,1 script Monster Summon#cr0 -1,{ OnInit: - hideonnpc "Monster Summon#0"; + disablenpc "Monster Summon#cr0"; end; -OnEnable: - hideoffnpc "Monster Summon#0"; - donpcevent "Monster Summon#1::OnEnable"; - donpcevent "Monster Summon#2::OnEnable"; - donpcevent "Monster Summon#3::OnEnable"; - donpcevent "Monster Summon#4::OnEnable"; - donpcevent "Monster Summon#6::OnEnable"; +OnStart: + set .MyMonsterCount,0; + enablenpc "Monster Summon#cr0"; + donpcevent "Monster Summon#cr1::OnStart"; + donpcevent "Monster Summon#cr2::OnStart"; + donpcevent "Monster Summon#cr3::OnStart"; + donpcevent "Monster Summon#cr4::OnStart"; + donpcevent "Monster Summon#cr6::OnStart"; end; -OnM1: - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; +OnMonster1: + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead"; end; -OnM2: - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; +OnMonster2: + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead"; end; -OnM3: - monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#0::OnMyMobDead"; +OnMonster3: + monster "job_cru",168,110,"Archer Skeleton",1016,1,"Monster Summon#cr0::OnDead"; + monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#cr0::OnDead"; end; -OnMyMobDead: - if (mobcount ("job_cru","Monster Summon#0::OnMyMobDead") < 1) { - set CRSDR_Q,10; +OnDead: + set .MyMonsterCount,.MyMonsterCount+1; + if (.MyMonsterCount >= 10) { + set CRUS_Q,10; changequest 3014,3015; } end; -OnDisable: - hideonnpc "Monster Summon#0"; +OnEnd: + disablenpc "Monster Summon#cr0"; end; OnReset: - killmonster "job_cru","Monster Summon#0::OnMyMobDead"; + killmonster "job_cru","Monster Summon#cr0::OnDead"; end; } -job_cru,168,45,0 script Monster Summon#1 139,15,1,{ - -OnTouch: - donpcevent "Monster Summon#0::OnM1"; - donpcevent "Monster Summon#1::OnDisable"; - end; - +job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#1"; + disablenpc "Monster Summon#cr1"; end; -OnEnable: - hideoffnpc "Monster Summon#1"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster1"; + donpcevent "Monster Summon#cr1::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#1"; +OnStart: + enablenpc "Monster Summon#cr1"; end; -} - -job_cru,168,80,0 script Monster Summon#2 139,15,1,{ -OnTouch: - donpcevent "Monster Summon#0::OnM2"; - donpcevent "Monster Summon#2::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr1"; end; +} +job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#2"; + disablenpc "Monster Summon#cr2"; end; -OnEnable: - hideoffnpc "Monster Summon#2"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster2"; + donpcevent "Monster Summon#cr2::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#2"; +OnStart: + enablenpc "Monster Summon#cr2"; end; -} - -job_cru,168,115,0 script Monster Summon#3 139,15,1,{ -OnTouch: - monster "job_cru",168,110,"Archer Skeleton",1016,1; - donpcevent "Monster Summon#0::OnM3"; - donpcevent "Monster Summon#3::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr2"; end; +} +job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#3"; + disablenpc "Monster Summon#cr3"; end; -OnEnable: - hideoffnpc "Monster Summon#3"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster3"; + donpcevent "Monster Summon#cr3::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#3"; +OnStart: + enablenpc "Monster Summon#cr3"; end; -} - -job_cru,168,150,0 script Monster Summon#4 139,15,1,{ -OnTouch: - monster "job_cru",168,150,"Ghoul",1036,1; - donpcevent "Monster Summon#4::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr3"; end; +} +job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#4"; + disablenpc "Monster Summon#cr4"; end; -OnMyMobDead: - donpcevent "Monster Summon#5::OnEnable"; +OnTouch: + monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead"; + donpcevent "Monster Summon#cr4::OnEnd"; end; -OnEnable: - hideoffnpc "Monster Summon#4"; +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; -OnReset: - killmonster "job_cru","Monster Summon#4::OnMyMobDead"; +OnStart: + enablenpc "Monster Summon#cr4"; end; -OnDisable: - hideonnpc "Monster Summon#4"; - end; -} - -job_cru,168,180,0 script Monster Summon#5 45,4,3,{ - -OnTouch: - warp "prt_castle",35,147; - donpcevent "Monster Summon#0::OnReset"; - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#6::OnStop"; - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Monster Summon#5::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; +OnReset: + killmonster "job_cru","Monster Summon#cr4-a::OnDead"; end; -OnInit: - hideonnpc "Monster Summon#5"; +OnEnd: + disablenpc "Monster Summon#cr4"; end; -OnEnable: - hideoffnpc "Monster Summon#5"; - end; +} -OnDisable: - hideonnpc "Monster Summon#5"; +job_cru,168,150,0 script Monster Summon#cr4-a -1,{ +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; } -job_cru,2,2,1 script Monster Summon#6 110,1,1,{ +job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{ +OnInit: + disablenpc "Monster Summon#cr5"; end; -OnTimer60000: - donpcevent "Monster Summon#8::OnEnable"; +OnTouch: + warp "prt_castle",35,147; + donpcevent "Monster Summon#cr0::OnReset"; + donpcevent "Monster Summon#cr4::OnReset"; + donpcevent "Monster Summon#cr0::OnEnd"; + donpcevent "Monster Summon#cr4::OnEnd"; + donpcevent "Monster Summon#cr5::OnEnd"; + donpcevent "Monster Summon#cr6::OnStop"; + donpcevent "Monster Summon#cr6::OnEnd"; + donpcevent "Waiting Room#cr1::OnStart"; end; -OnTimer61000: - donpcevent "Monster Summon#8::OnDisable"; +OnStart: + enablenpc "Monster Summon#cr5"; end; -OnTimer240000: - donpcevent "Monster Summon#7::OnEnable"; +OnEnd: + disablenpc "Monster Summon#cr5"; end; +} +job_cru,2,2,1 script Monster Summon#cr6 -1,{ OnTimer241000: - donpcevent "Monster Summon#0::OnReset"; - donpcevent "Monster Summon#4::OnReset"; - end; - -OnTimer242000: - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#4::OnDisable"; - donpcevent "Monster Summon#7::OnDisable"; - end; - -OnTimer243000: - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; - stopnpctimer; + areawarp "job_cru",160,14,175,178,"job_cru",24,169; + donpcevent "Monster Summon#cr0::OnReset"; + donpcevent "Monster Summon#cr4::OnReset"; + donpcevent "Monster Summon#cr0::OnEnd"; + donpcevent "Monster Summon#cr4::OnEnd"; + donpcevent "Monster Summon#cr5::OnEnd"; + donpcevent "Monster Summon#cr6::OnStop"; + donpcevent "Monster Summon#cr6::OnEnd"; + donpcevent "Waiting Room#cr1::OnStart"; end; OnInit: - hideonnpc "Monster Summon#6"; + disablenpc "Monster Summon#cr6"; end; -OnEnable: - hideoffnpc "Monster Summon#6"; +OnStart: + enablenpc "Monster Summon#cr6"; initnpctimer; end; -OnDisable: - hideonnpc "Monster Summon#6"; +OnEnd: + disablenpc "Monster Summon#cr6"; end; OnStop: @@ -2435,40 +1458,28 @@ OnStop: end; } -job_cru,168,110,0 script Monster Summon#7 139,14,82,{ - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - hideonnpc "Monster Summon#7"; - end; - -OnEnable: - hideoffnpc "Monster Summon#7"; - end; - -OnDisable: - hideonnpc "Monster Summon#7"; - end; -} - -job_cru,168,17,0 script Monster Summon#8 139,14,5,{ - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - hideonnpc "Monster Summon#8"; - end; - -OnEnable: - hideoffnpc "Monster Summon#8"; - end; +//============================================================ +// mapflag +//============================================================ -OnDisable: - hideonnpc "Monster Summon#8"; - end; -}
\ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= Need optimalization and fixing +//= thanks to Komurka, KiLLaLeN, Lupus (fixing error) +//= just a temp Job Quest +//= 1.2 minor fix of announcement by Freya people +//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward +//= also fixed too common script names [Lupus] +//= 1.3a fixed "dead lock" bugs [Lupus] +//= 1.3b changed monsters ID in patience test [Komurka] +//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka) +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 1.7 Updated names and required items, Chivalry Emblem + +//= Hand of God allow to skip item gathering [DracoRPG] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Fixed endless loop, wrong condition check [Lupus] +//= also changed all job numbers to constants, fixed logic diff --git a/npc/re/jobs/2-2/dancer.txt b/npc/re/jobs/2-2/dancer.txt index 48bc44e65..db81f1a17 100644 --- a/npc/re/jobs/2-2/dancer.txt +++ b/npc/re/jobs/2-2/dancer.txt @@ -1,18 +1,26 @@ //===== rAthena Script ======================================= -// Dancer Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Dancer Job Quest +//===== By: ================================================== +//= Kalen - Original jAthena +//= Fredzilla - Converted, Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.7 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[F] -> Dancer. +//= [Aegis Conversion] +//= Job quest for Dancer classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= 3.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_BlockHigh" +//= 3.2a Deleted unused variables. [Samuray22] +//= 3.3 Updated waiting room. (Removes global var) [L0ne_W0lf] +//= 3.4 Fixed bad variables, bugreport:1685 [Brainstorm] +//= 3.5 Minor corrections to script. (bugreport:1766) [L0ne_W0lf] +//= 3.6 Applied Correction bug with for loop. [L0ne_W0lf] +//= 3.6a Fixed a little Exploit to bug the quest with a timeout. (bugreport:2252) [Samuray22] +//= 3.7 Added Quest Log commands. [Kisuka] +//============================================================ comodo,180,153,4 script Sonotora#1 90,{ mes "[Athena Sonotora]"; @@ -51,25 +59,23 @@ comodo,193,151,4 script Bor Robin#1 86,{ mes "to go, too?"; mes "It's a good opportunity to watch the Dancer job change test."; next; - switch (select("Go to the Job Change Area:Cancel")) { - case 1: + if (select("Go to the Job Change Area:Cancel") == 1) { mes "[Bor Robin]"; mes "Yaay~~"; mes "Let's go!"; close2; warp "job_duncer",70,49; end; - case 2: - mes "[Bor Robin]"; - mes "Huh..."; - mes "Well, I can't"; - mes "help it if you don't"; - mes "want to accompany me."; - close; } + mes "[Bor Robin]"; + mes "Huh..."; + mes "Well, I can't"; + mes "help it if you don't"; + mes "want to accompany me."; + close; } -job_duncer,43,93,4 script Aile 724,{ +job_duncer,43,93,4 script Aile#da 724,{ if (Upper == 1) { mes "[Aile]"; mes "One two three four,"; @@ -92,8 +98,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer) && (Sex == 1)) { - if (Class == Job_Bard) { + if (BaseJob != Job_Archer) { + if (BaseJob == Job_Bard) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -103,8 +109,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { - cutin "job_dancer_eir01",2; + else if (BaseJob == Job_Dancer) { + cutin "",2; mes "[Aile]"; mes "Welcome~!"; mes "How are you"; @@ -126,7 +132,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((DNCR_Q == 0) && (Sex == 0) && (Class == Job_Archer)) { + if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -150,8 +156,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "So what do"; mes "you want to do~?"; next; - switch (select("Fill out the application.:I'll pass.")) { - case 1: + if (select("Fill out the application.:I'll pass.") == 1) { if (JobLevel > 39) { cutin "job_dancer_eir02",2; mes "[Aile]"; @@ -163,7 +168,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "..."; mes "......"; next; - mes "^3355FF * Shuffle Shuffle * ^000000"; + mes "^3355FF*Shuffle Shuffle*^000000"; next; cutin "job_dancer_eir01",2; mes "[Aile]"; @@ -172,37 +177,38 @@ job_duncer,43,93,4 script Aile 724,{ mes "Wow! What a pretty name! Just a moment, I have to show this to the director, so come back in a little bit, okay?"; close2; cutin "",255; - set DNCR_Q,1; + set DANC_Q,1; setquest 7000; end; } - cutin "job_dancer_eir01",2; - mes "[Aile]"; - mes "Mmm..."; - mes "It seems that"; - mes "you aren't quite qualified to enroll in our school yet. You need to be at least Job Level 40."; - next; - mes "[Aile]"; - mes "Well, I hope"; - mes "that you apply"; - mes "again when you meet"; - mes "the requirements."; - close2; - cutin "",255; - end; - case 2: - cutin "job_dancer_eir01",2; - mes "[Aile]"; - mes "Aww~"; - mes "Just think about it."; - mes "Don't forget to come back"; - mes "if you change your mind."; - close2; - cutin "",255; - end; + else { + cutin "job_dancer_eir01",2; + mes "[Aile]"; + mes "Mmm..."; + mes "It seems that"; + mes "you aren't quite qualified to enroll in our school yet. You need to be at least Job Level 40."; + next; + mes "[Aile]"; + mes "Well, I hope"; + mes "that you apply"; + mes "again when you meet"; + mes "the requirements."; + close2; + cutin "",255; + end; + } } + cutin "job_dancer_eir01",2; + mes "[Aile]"; + mes "Aww~"; + mes "Just think about it."; + mes "Don't forget to come back"; + mes "if you change your mind."; + close2; + cutin "",255; + end; } - if (Sex == 1) { + else if (sex == 1) { cutin "job_dancer_eir03",2; mes "[Aile]"; mes "Welco--Mmm?"; @@ -216,7 +222,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q == 1) { + else if (DANC_Q == 1) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Good."; @@ -225,9 +231,9 @@ job_duncer,43,93,4 script Aile 724,{ mes "[Aile]"; mes "We're short on some supplies, but you'll be using them for yourself anyway. Just think of it as part of the tuition, so don't worry too much."; next; - set .@item_nd, rand(1,10); - if ((.@item_nd > 0) && (.@item_nd < 3)) { - set DNCR_Q,2; + set .@item_nd,rand(1,10); + if (.@item_nd > 0 && .@item_nd < 3) { + set DANC_Q,2; changequest 7000,7001; mes "[Aile]"; mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, you'll about ^CD688920 Sticky Mucus^000000 for shoe polish."; @@ -243,8 +249,8 @@ job_duncer,43,93,4 script Aile 724,{ mes "^CD68895 Red Potions^000000 and"; mes "^CD68891 Shoes^000000."; } - if (.@item_nd == 4) { - set DNCR_Q,3; + else if (.@item_nd == 4) { + set DANC_Q,3; changequest 7000,7002; mes "[Aile]"; mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68895 Earthworm Peelings^000000 for polishing the floor and, of course, a pair of ^CD6889Boots^000000."; @@ -256,7 +262,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "^CD68891 Boots^000000."; } else { - set DNCR_Q,4; + set DANC_Q,4; changequest 7000,7003; mes "[Aile]"; mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68892 Clam Shells^000000 for your costume, ^CD68895 Yellow Potions^000000 and ^CD688920 Jellopy^000000 to treat foot injuries."; @@ -279,49 +285,28 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q == 2) { - if ((Zeny > 9999) && (countitem(938) > 19) && (countitem(909) > 2) && (countitem(501) > 4) && (countitem(2403) > 0)) { - cutin "job_dancer_eir02",2; - mes "[Aile]"; - mes "Oh...!"; - mes "You brought"; - mes "everything!"; - mes "Alright then,"; - mes "let me take your"; - mes "tuition fee."; - next; - cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; - mes "[Aile]"; - mes "Next, go to ^CD6889Bijou^000000, who is in charge of the interviewing process. She will have a couple of things she'll need to ask you."; - set DNCR_Q,5; - changequest 7001,7004; - close2; - cutin "",255; - end; + else if (DANC_Q >= 2 && DANC_Q <= 4) { + switch(DANC_Q) { + case 2: + setarray .@item[0], 938,909,501,2403; + setarray .@count[0], 20,3,5,1; + break; + case 3: + setarray .@item[0], 1055,2405; + setarray .@count[0], 5,1; + break; + case 4: + setarray .@item[0], 965,503,909,1020,2401; + setarray .@count[0], 2,5,20,10,1; + break; } - cutin "job_dancer_eir01",2; - mes "[Aile]"; - mes "Mmm...?"; - mes "You don't have"; - mes "everything yet?"; - mes "Let me remind you"; - mes "so you can bring"; - mes "what you need next time."; - next; - mes "[Aile]"; - mes "Bring..."; - mes "^CD688910,000 Zeny^000000,"; - mes "^CD688920 Sticky Mucus^000000,"; - mes "^CD68893 Jellopy^000000,"; - mes "^CD68895 Red Potions^000000 and"; - mes "^CD68891 Shoes^000000."; - close2; - cutin "",255; - end; - } - if (DNCR_Q == 3) { - if ((Zeny > 9999) && (countitem(1055) > 4) && (countitem(2405) > 0)) { + set .@size, getarraysize(.@item); + for( set .@i, 0; .@i < .@size; set .@i,.@i+1 ) { + if( countitem(.@item[.@i]) < .@count[.@i] ) { + break; + } + } + if( .@i == .@size && Zeny > 9999 ) { cutin "job_dancer_eir02",2; mes "[Aile]"; mes "Oh...!"; @@ -332,77 +317,59 @@ job_duncer,43,93,4 script Aile 724,{ mes "tuition fee."; next; cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; + set zeny,zeny-10000; mes "[Aile]"; mes "Next, go to ^CD6889Bijou^000000, who is in charge of the interviewing process. She will have a couple of things she'll need to ask you."; - set DNCR_Q,5; - changequest 7002,7004; + set DANC_Q,5; + if(checkquest(7001) != -1) { + changequest 7001,7004; + } + else if(checkquest(7002) != -1) { + changequest 7002,7004; + } + else { + changequest 7003,7004; + } close2; cutin "",255; end; } - cutin "job_dancer_eir01",2; - mes "[Aile]"; - mes "Mmm...?"; - mes "You don't have"; - mes "everything yet?"; - mes "Let me remind you"; - mes "so you can bring"; - mes "what you need next time."; - next; - mes "[Aile]"; - mes "Bring..."; - mes "^CD688910,000 Zeny^000000,"; - mes "^CD68895 Earthworm Peelings^000000 and "; - mes "^CD68891 Boots^000000."; - close; - cutin "",255; - end; - } - if (DNCR_Q == 4) { - if ((Zeny > 9999) && (countitem(965) > 1) && (countitem(503) > 4) && (countitem(909) > 19) && (countitem(1020) > 9) && (countitem(2401) > 0)) { - cutin "job_dancer_eir02",2; + else { + cutin "job_dancer_eir01",2; mes "[Aile]"; - mes "Oh...!"; - mes "You brought"; - mes "everything!"; - mes "Alright then,"; - mes "let me take your"; - mes "tuition fee."; + mes "Mmm...?"; + mes "You don't have"; + mes "everything yet?"; + mes "Let me remind you"; + mes "so you can bring"; + mes "what you need next time."; next; - cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; mes "[Aile]"; - mes "Next, go to ^CD6889'Bijou'^000000"; - mes "who is in charge of the interviews."; - mes "She has a couple of things to ask you."; - set DNCR_Q,5; - changequest 7003,7004; + mes "Bring..."; + mes "^CD688910,000 Zeny^000000,"; + if (DANC_Q == 2) { + mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,"; + mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,"; + mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000 and"; + mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000."; + } + else if (DANC_Q == 3) { + mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000 and"; + mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000."; + } + else { + mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,"; + mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,"; + mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000,"; + mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000 and"; + mes "^CD6889"+.@count[4]+" "+getitemname(.@item[4])+"^000000."; + } close2; cutin "",255; end; } - cutin "job_dancer_eir01",2; - mes "[Aile]"; - mes "Mmm...?"; - mes "You don't have"; - mes "everything yet?"; - mes "Let me remind you"; - mes "so you can bring"; - mes "what you need next time."; - next; - mes "[Aile]"; - mes "^CD688910,000 Zeny^000000,"; - mes "^CD68892 Clam Shells^000000,"; - mes "^CD68895 Yellow Potions^000000,"; - mes "^CD688920 Jellopy^000000,"; - mes "^CD688910 Black Hairs^000000 and"; - mes "^CD6889Sandals^000000."; - close2; - cutin "",255; - end; } - if (DNCR_Q == 5) { + else if (DANC_Q == 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Hmm...?"; @@ -416,7 +383,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q > 5) { + else if (DANC_Q > 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "I'll be looking"; @@ -426,22 +393,24 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - cutin "job_dancer_eir03",2; - mes "[Aile]"; - mes "Welcom--Hm?"; - mes "Hey, only authorized"; - mes "personnel are allowed"; - mes "in here."; - next; - mes "[Aile]"; - mes "If you want to watch, be quiet and don't disturb the performers. Everyone here is busy practicing so that they can become fine Dancers."; - close2; - cutin "",255; - end; + else { + cutin "job_dancer_eir03",2; + mes "[Aile]"; + mes "Welcom--Hm?"; + mes "Hey, only authorized"; + mes "personnel are allowed"; + mes "in here."; + next; + mes "[Aile]"; + mes "If you want to watch, be quiet and don't disturb the performers. Everyone here is busy practicing so that they can become fine Dancers."; + close2; + cutin "",255; + end; + } } -job_duncer,95,93,4 script Bijou 101,{ - if (SkillPoint != 0) { +job_duncer,95,93,4 script Bijou#da 101,{ + if (SkillPoint) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -449,14 +418,14 @@ job_duncer,95,93,4 script Bijou 101,{ mes "and come back later."; close; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + if (BaseJob != Job_Archer) { + if (BaseJob == Job_Bard) { mes "[Bijou]"; mes "Welcome~"; mes "Ooh, a Bard! Do you have any new songs to show us? We can always use some musical accompaniment for our dances."; close; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { + else if (BaseJob == Job_Dancer) { mes "[Bijou]"; mes "Oh my...!"; mes "Welcome back~"; @@ -478,7 +447,7 @@ job_duncer,95,93,4 script Bijou 101,{ mes "I'm sorry, but I've retired. Now I'm focusing on training new Dancers. If you go to the Center Stage, you can watch my students~"; close; } - if (DNCR_Q < 5) { + else if (DANC_Q < 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -489,8 +458,8 @@ job_duncer,95,93,4 script Bijou 101,{ mes "I know you're excited, but the first step is the application. Go over to the left side of the stage where Aile can help you with that."; close; } - if ((DNCR_Q > 4) && (DNCR_Q < 7)) { - if (DNCR_Q == 5) { + else if (DANC_Q > 4 && DANC_Q < 7) { + if (DANC_Q == 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -529,97 +498,49 @@ job_duncer,95,93,4 script Bijou 101,{ mes "pass this time, okay?"; next; } - set .@dancer_q, rand(1,3); - set @da_score,0; - if (.@dancer_q == 1) { + switch(rand(1,3)) { + case 1: mes "[Bijou]"; mes "1. The Dancer's dance, ^CD6889Lady Luck^000000,"; mes "increases which of the following?"; next; - switch (select("Intelligence (INT):Dexterity (DEX):Vitality (VIT):Critical Attack Rate")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Intelligence (INT):Dexterity (DEX):Vitality (VIT):Critical Attack Rate") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "2. Of the following,"; mes "which can you not consider"; mes "to be a dance?"; next; - switch (select("Tango:Tap Dance:HIP-HOP:Hip Shaker:Lightning Bolt")) { - case 1: - set @da_score,@da_score - 10; - break; - case 2: - set @da_score,@da_score - 10; - break; - case 3: - set @da_score,@da_score - 10; - break; - case 4: - set @da_score,@da_score - 10; + switch(select("Tango:Tap Dance:HIP-HOP:Hip Shaker:Lightning Bolt")) { + default: + set .@da_score,.@da_score-10; break; case 5: - set @da_score,@da_score + 10; + set .@da_score,.@da_score+10; break; } mes "[Bijou]"; mes "3. Which of the following"; mes "best describes a Dancer?"; next; - switch (select("Person who yells.:A loud person.:A person who dances.:A person who sings.")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("Person who yells.:A loud person.:A person who dances.:A person who sings.") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "4. Which of the following"; mes "cannot be associated with Comodo?"; next; - switch (select("Beach city.:Dancer Job Change.:Always dark like the night.:Dungeons in 3 directions.:A lot of Thieves.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @da_score,@da_score + 10; - break; - } + if (select("Beach city.:Dancer Job Change.:Always dark like the night.:Dungeons in 3 directions.:A lot of Thieves.") == 5) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "5. Before Comodo, what is the region name of the region NorthEast of Pharoah's Lighthouse Island?"; next; - switch (select("Elmeth Plateau:Comuko Beach:Comodo Beach:Ginai Swamp")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("Elmeth Plateau:Comuko Beach:Comodo Beach:Ginai Swamp") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "6. Who is the most"; mes "beautiful dancer?"; next; - switch (select("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Aile:Bonjour")) { case 1: mes "[Bijou]"; mes "..."; @@ -628,15 +549,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; - break; - case 3: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -644,97 +563,43 @@ job_duncer,95,93,4 script Bijou 101,{ mes "who can perform together"; mes "with a Dancer?"; next; - switch (select("Assassin:Bard:Alchemist:Sage")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Assassin:Bard:Alchemist:Sage") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "8. Which of the following"; mes "is not a specialty of Comodo?"; next; - switch (select("Berserk Potion:Clam Shell:Crab Shell:Shining Stone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Berserk Potion:Clam Shell:Crab Shell:Shining Stone") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "9. Who is the manager"; mes "of the Comodo Casino?"; next; - switch (select("Yoo:Moo:Hoon:Roul")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Yoo:Moo:Hoon:Roul") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "10. Who accepts the"; mes "Dancer job change"; mes "applications?"; next; - switch (select("Bijou:Aile:Athena:Sonotora")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } - } - if (.@dancer_q == 2) { + if (select("Bijou:Aile:Athena:Sonotora") == 2) + set .@da_score,.@da_score+10; + break; + case 2: mes "[Bijou]"; mes "1. What is the effect"; mes "of the combined skill,"; mes "^CD6889Mental Sensing^000000?"; next; - switch (select("Instant monster death.:Doubles damage.:Increases experience.:Increases attack speed.")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("Instant monster death.:Doubles damage.:Increases experience.:Increases attack speed.") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "2. Which is considered"; mes "bad etiquette on the dance"; mes "floor after a dance?"; next; - switch (select("Thank your partner.:Praise your partner's dance.:Ask to dance a different dance.:Criticize your partner.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Thank your partner.:Praise your partner's dance.:Ask to dance a different dance.:Criticize your partner.") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "3. Which is not an"; mes "appropriate response"; @@ -742,69 +607,33 @@ job_duncer,95,93,4 script Bijou 101,{ mes "a mistake while you"; mes "are dancing together?"; next; - switch (select("Smile at each other and continue dancing.:Point out the mistake.:Ignore it if the dancer does not realize it.:Give them a smile.")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Smile at each other and continue dancing.:Point out the mistake.:Ignore it if the dancer does not realize it.:Give them a smile.") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "4. In which town"; mes "can you change jobs"; mes "to a Dancer?"; next; - switch (select("Cocomo:Sandarman:Comudo:Comodo")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Cocomo:Sandarman:Comudo:Comodo") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "5. How many dungeons"; mes "are directly connected"; mes "to Comodo?"; next; - switch (select("1:2:3:4")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("1:2:3:4") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "6. Which of the following"; mes "is not a Cute Pet monster?"; next; - switch (select("Isis:Argiope:Dokebi:Deviruchi")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Isis:Argiope:Dokebi:Deviruchi") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "7. Who is the most"; mes "graceful dancer?"; next; - switch (select("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Mercy Bokou")) { case 1: mes "[Bijou]"; mes "..."; @@ -813,15 +642,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; - break; - case 3: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -829,62 +656,31 @@ job_duncer,95,93,4 script Bijou 101,{ mes "exact name of the"; mes "Kafra in Comodo?"; next; - switch (select("Kafra Headquarters:Kafra West Headquarters:Kafra Service:Kafra Headquarters_ Western Branch")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Kafra Headquarters:Kafra West Headquarters:Kafra Service:Kafra Headquarters: Western Branch") == 4) + set .@da_score,.@da_score+10; mes "[......]"; mes "9. What is my name?"; next; - switch (select("Borjuis:Bourgeois:Bijou:Beruberu")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("Borjuis:Bourgeois:Bijou:Beruberu") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "10. What is the"; mes "effect of ^CD6889Lullaby^000000?"; next; - switch (select("Casts the Blind effect in the area.:Casts the Sleep effect on the area.:Puts a night effect on the area.:Freezes the area.")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } - } - else { + if (select("Casts the Blind effect in the area.:Casts the Sleep effect on the area.:Puts a night effect on the area.:Freezes the area.") == 2) + set .@da_score,.@da_score+10; + break; + case 3: mes "[Bijou]"; mes "1. What is the effect"; mes "of the skill ^CD6889Dance Lessons^000000?"; next; - switch (select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.")) { - case 1: + switch(select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.")) { + default: break; case 2: - set @da_score,@da_score + 10; - break; case 3: - set @da_score,@da_score + 10; - break; - case 4: + set .@da_score,.@da_score+10; break; } mes "[Bijou]"; @@ -894,52 +690,25 @@ job_duncer,95,93,4 script Bijou 101,{ mes "their feet and taps the"; mes "ground to create a rhythm?"; next; - switch (select("Tap Dance:Improve Concentration:Tango:Double Strafing")) { - case 1: - set @da_score,@da_score + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Tap Dance:Improve Concentration:Tango:Double Strafing") == 1) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "3. Which of the following"; mes "is not a characteristic of a Dancer?"; next; - switch (select("Uses Dance skills. :Attacks from a distance.:Uses Whips.:Uses Two-handed swords.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Uses Dance skills. :Attacks from a distance.:Uses Whips.:Uses Two-handed swords.") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "4. Which town has"; mes "the most Dancers?"; next; - switch (select("Al De Baran:Juno:Morroc:Comodo")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + if (select("Al De Baran:Juno:Morroc:Comodo") == 4) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "5. Of the following,"; mes "who dances most beautifully?"; next; - switch (select("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -948,15 +717,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; + set .@da_score,.@da_score+10; break; - case 3: - break; - case 4: + default: break; } mes "[Bijou]"; @@ -964,77 +731,33 @@ job_duncer,95,93,4 script Bijou 101,{ mes "better at than the other"; mes "job classes?"; next; - switch (select("Health:Acting :Dancing :Magic ")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + if (select("Health:Acting :Dancing :Magic ") == 3) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "7. Who is the manager"; mes "of the Comodo Casino?"; next; - switch (select("Ryu:Moo:Roul:Hoon")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Ryu:Moo:Roul:Hoon") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "8. What item cannot"; mes "be equipped by a Dancer?"; next; - switch (select("Kitty Band :Two-handed Sword:Sandals:Earring")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Kitty Band :Two-handed Sword:Sandals:Earring") == 2) + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "9. Do you think you"; mes "can say this quiz is"; mes "frustrating and annoying?"; next; - switch (select("Yes:No")) { - case 1: - set @da_score,@da_score + 10; - break; - case 2: - set @da_score,@da_score + 10; - break; - } + select("Yes:No"); + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "10. Which of the following"; mes "is not a Jazz musician?"; next; - switch (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @da_score,@da_score + 10; - break; - } + if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5) + set .@da_score,.@da_score+10; } mes "[Bijou]"; mes "Good job~"; @@ -1045,9 +768,9 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "Let's see..."; mes "Your score is"; - mes "" + @da_score + " points..."; - if (@da_score == 100) { - set DNCR_Q,7; + mes "" + .@da_score + " points..."; + if (.@da_score == 100) { + set DANC_Q,7; mes "Very well done!"; mes "A perfect score!"; next; @@ -1059,21 +782,22 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Now you only have the Dance Test. While we prepare the test, why don't you rest a bit? Ho ho ho~"; close; } - if (@da_score > 70) { - set DNCR_Q,7; + else if (.@da_score > 70) { + set DANC_Q,7; mes "It wasn't perfect, but I'll let you pass."; close; } - set DNCR_Q,6; - mes "That's enough to pass!"; - mes "You.. You failed!"; - next; - mes "[Bijou]"; - mes "Was it too hard?"; - mes "When I was young, everyone knew at least enough to pass thet test. Go and study some more before coming back, okay?"; - close; + else { + set DANC_Q,6; + mes "You.. You failed!"; + next; + mes "[Bijou]"; + mes "Was it too hard?"; + mes "When I was young, everyone knew at least enough to pass this test. Go and study some more before coming back, okay?"; + close; + } } - if (DNCR_Q == 7) { + else if (DANC_Q == 7) { mes "[Bijou]"; mes "Okay..."; mes "Are you ready"; @@ -1081,8 +805,7 @@ job_duncer,95,93,4 script Bijou 101,{ mes "If you like, I can"; mes "explain the instructions."; next; - switch (select("Listen to instructions.:Go to the testing area.")) { - case 1: + if (select("Listen to instructions.:Go to the testing area.") == 1) { mes "[Bijou]"; mes "First of all, each person gets ^CD68891 minute^000000 for the test, and everyone dances ^CD6889one at a time^000000. Don't worry if you've never danced before~"; next; @@ -1104,18 +827,17 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "Remember, ^CD6889you will be disqualified if you don't perform the steps with the right timing^000000. Be careful, the test is very strict~"; close; - case 2: - mes "[Bijou]"; - mes "Well then~"; - mes "Good luck...!!"; - set DNCR_Q,8; - changequest 7004,7005; - close2; - warp "job_duncer",105,109; - end; } + mes "[Bijou]"; + mes "Well then~"; + mes "Good luck...!!"; + changequest 7004,7005; + set DANC_Q,8; + close2; + warp "job_duncer",105,109; + end; } - if (DNCR_Q == 8) { + else if (DANC_Q == 8) { mes "[Bijou]"; mes "Oh my..."; mes "Did you"; @@ -1126,8 +848,8 @@ job_duncer,95,93,4 script Bijou 101,{ warp "job_duncer",105,109; end; } - if (DNCR_Q == 9) { - if (SkillPoint != 0) { + else if (DANC_Q == 9) { + if (SkillPoint) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -1147,19 +869,11 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "With the blessing of our goddess, you shall be reborn as a Dancer. From now on, no one will leave your presense without a smile~"; next; - if (JobLevel == 50) { - set .@dancer_joblevel,2; - } - else { - set .@dancer_joblevel,1; - } + set .@jlevel,JobLevel; mes "[Bijou]"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Dancer; - } else { - jobchange Job_Dancer; - } completequest 7006; + callfunc "Job_Change",Job_Dancer; + callfunc "F_ClearJobVar"; mes "Ooh...!"; mes "You look great"; mes "as a Dancer~"; @@ -1170,38 +884,36 @@ job_duncer,95,93,4 script Bijou 101,{ mes "gift from me."; mes "Please take it."; mes "May your performances always bring joy to your audience~"; - if (.@dancer_joblevel == 2) { + if (.@jlevel == 50) getitem 1953,1; //Line_ - } - else { + else getitem 1950,1; //Rope - } close; } -} +} +// Waiting Room +//============================================================ job_duncer,32,154,1 script Waiting Room#dance 66,{ - end; - OnInit: -// makewaitingroom "Waiting Room" 20 -// enablearena + waitingroom "Waiting Room",20,"Waiting Room#dance::OnStartArena",1; + enablewaitingroomevent; end; OnStartArena: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; donpcevent "dance#return::OnDisable"; -// warpwaitingpctoarena "job_duncer" 69 110 + warpwaitingpc "job_duncer",69,110,1; donpcevent "Bijou#dance_timer::OnEnable"; -// disablearena + disablewaitingroomevent; end; -OnReset: -// enablearena +OnEnable: + enablewaitingroomevent; end; } @@ -1217,21 +929,17 @@ job_duncer,32,154,1 script Waiting Room#click 66,{ mes "are curious about"; mes "the test can watch"; mes "backstage."; - close2; - playBGM "Oops.wav"; - end; + close; } -job_duncer,69,105,0 script Bijou#dance_timer 139,{ - end; - +// Dance Timer +//============================================================ +job_duncer,69,105,0 script Bijou#dance_timer -1,{ OnEnable: - playBGM "dancer_jun01.wav"; initnpctimer; end; OnDisable: - playBGM "dancer_jun01.wav"; stopnpctimer; end; @@ -1244,83 +952,83 @@ OnTimer5000: end; OnTimer7000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer8000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; OnTimer11000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer12000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left~!",bc_map; end; OnTimer15000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer16000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left, then Right~!",bc_map; end; OnTimer19000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer20000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Back to the Center~ !",bc_map; end; OnTimer23000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer23500: @@ -1339,29 +1047,29 @@ OnTimer28500: OnTimer30000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer34000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer35000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; @@ -1370,317 +1078,233 @@ OnTimer38500: end; OnTimer40000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; - mapannounce "job_duncer","Hold it~",bc_map; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; + mapannounce "job_duncer"," Hold it~",bc_map; end; OnTimer43000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left, Center, Right, Up!",bc_map; end; OnTimer49000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer50000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Right!",bc_map; end; OnTimer53000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer54000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left, Center, Down, Up~! ",bc_map; end; OnTimer60000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer61000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Once again~ Left, Center, Down, Up~ ! ",bc_map; end; OnTimer66000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer67000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down~!",bc_map; end; OnTimer69000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer70000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer74000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer75000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Center!",bc_map; end; OnTimer80000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer81000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Okay, Finish~ 'Arrow Shower!'",bc_map; end; OnTimer82000: - playBGM "dancer_jun01.wav"; donpcevent "dance#poring::OnEnable"; end; OnTimer89000: + donpcevent "dance#poring::OnDisable"; donpcevent "dance#return::OnEnable"; - donpcevent "dance#poring::OnReset"; - stopnpctimer; end; } -job_duncer,69,110,0 script dance#return 139,1,4,{ - +job_duncer,69,110,0 script dance#return -1,1,4,{ OnTouch: mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map; - set DNCR_Q,9; + set DANC_Q,9; changequest 7005,7006; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#return"; + disablenpc "dance#return"; donpcevent "dance#return#2::OnDisable"; donpcevent "dance#return#3::OnDisable"; end; OnEnable: - hideoffnpc "dance#return"; + enablenpc "dance#return"; donpcevent "dance#return#2::OnEnable"; end; } -job_duncer,66,110,0 script dance#return#2 139,1,1,{ - +job_duncer,66,110,0 script dance#return#2 -1,1,1,{ OnTouch: - set DNCR_Q,9; - changequest 7005,7006; + set DANC_Q,9; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#return#2"; + disablenpc "dance#return#2"; end; OnEnable: - hideoffnpc "dance#return#2"; + enablenpc "dance#return#2"; donpcevent "dance#return#3::OnEnable"; end; } -job_duncer,72,110,0 script dance#return#3 139,1,1,{ - +job_duncer,72,110,0 script dance#return#3 -1,1,1,{ OnTouch: - set DNCR_Q,9; - changequest 7005,7006; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#return#3"; - end; - -OnEnable: - hideoffnpc "dance#return#3"; - donpcevent "Waiting Room#dance::OnReset"; - end; -} - -job_duncer,69,113,0 script dance#up 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; + set DANC_Q,9; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#up"; + disablenpc "dance#return#3"; end; OnEnable: - hideoffnpc "dance#up"; + enablenpc "dance#return#3"; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; end; } -job_duncer,69,107,0 script dance#down 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#down"; - end; - -OnEnable: - hideoffnpc "dance#down"; - end; -} - -job_duncer,66,110,0 script dance#left 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#left"; - end; - -OnEnable: - hideoffnpc "dance#left"; - end; -} - -job_duncer,72,110,0 script dance#right 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#right"; - end; - -OnEnable: - hideoffnpc "dance#right"; - end; -} - -job_duncer,69,110,0 script dance#cen 139,1,1,{ - +// Dance Move Triggers +//============================================================ +- script dancestep::StepTrigger -1,1,1,{ OnTouch: - donpcevent "Backdancer#1::OnHuk"; + donpcevent "Backdancer#1::OnOmg"; mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; + set DANC_Q,8; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; warp "comodo",188,162; end; - -OnDisable: - hideonnpc "dance#cen"; - end; - -OnEnable: - hideoffnpc "dance#cen"; - end; } -job_duncer,10,10,0 script dance#poring 139,{ - end; +job_duncer,69,113,0 duplicate(StepTrigger) dance#up -1,1,1 +job_duncer,69,107,0 duplicate(StepTrigger) dance#down -1,1,1 +job_duncer,66,110,0 duplicate(StepTrigger) dance#left -1,1,1 +job_duncer,72,110,0 duplicate(StepTrigger) dance#right -1,1,1 +job_duncer,69,110,0 duplicate(StepTrigger) dance#cen -1,1,1 +job_duncer,10,10,0 script dance#poring -1,{ OnEnable: monster "job_duncer",69,106,"Poring",1002,1,"dance#poring::OnMyMobDead"; end; @@ -1689,26 +1313,29 @@ OnMyMobDead: mapannounce "job_duncer"," Good! Well done! ",bc_map; end; -OnReset: - killmonster "job_duncer","dance#poring::OnMyMobDead"; +OnDisable: + killmonsterall "job_duncer"; end; + } -job_duncer,63,110,4 script Backdancer#1 724,{ +// Backup Dancers +//============================================================ +job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; donpcevent "Backdancer#2::OnSmile"; donpcevent "Backdancer#3::OnSmile"; donpcevent "Backdancer#4::OnSmile"; end; -OnHuk: - emotion e_omg; - donpcevent "Backdancer#2::OnHuk"; - donpcevent "Backdancer#3::OnHuk"; - donpcevent "Backdancer#4::OnHuk"; +OnOmg: + Emotion e_omg; + donpcevent "Backdancer#2::OnOmg"; + donpcevent "Backdancer#3::OnOmg"; + donpcevent "Backdancer#4::OnOmg"; end; } @@ -1716,11 +1343,11 @@ job_duncer,66,113,4 script Backdancer#2 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1728,11 +1355,11 @@ job_duncer,72,113,4 script Backdancer#3 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1740,12 +1367,34 @@ job_duncer,75,110,4 script Backdancer#4 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } -job_duncer,69,43,0 warp warp_dance 1,1,comodo,185,156
\ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= 1.1 Removed the warp I left here my accident, added a check for using +//= Improved Concentration and arrow shower, people could get away with it +//= [Fredzilla] +//= 1.0 I tried to keep as much the same from the Jap version as possible +//= this turned out to be quite hard, but on the whole it is the same script +//= I have added some new things, and changed some of the used commands, +//= along with some optimization. [Fredzilla] +//= 1.5 Added Baby Class Support [Fredzilla] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Script check #1. [Lance] +//= 2.2 Fixed unpassable part, thx2 Alis [Lupus] +//= 2.3 Updated initnpctimer to attach player to jobDq script [Skotlex] +//= 2.4 Attached chrid to be able obtain player's SP on mobs death, optimized a bit [Lupus] +//= 2.5 Final fix of chrid issues, changed 'Improved +//= Concentration' to 'Attention Concentrate' [Lupus] +//= 3.0 Some optimization, typos, added missing dialogues (4Kb lighter) [Lupus] +//= 3.1 Implemented JOBLVL as in other quests [Lupus] diff --git a/npc/re/jobs/2-2/rogue.txt b/npc/re/jobs/2-2/rogue.txt index 70567fd77..6d9ffe14f 100644 --- a/npc/re/jobs/2-2/rogue.txt +++ b/npc/re/jobs/2-2/rogue.txt @@ -1,20 +1,29 @@ //===== rAthena Script ======================================= -// Rogue Job change Quest +//= Rogue Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 2.9 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Rogue. +//= [Aegis Conversion] +//= Job quest for Rogue classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 2.4 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_BlockHigh" +//= 2.4a Deleted unused variables. [Samuray22] +//= 2.4b Changed a Problem with JobLevel what made +//= impossible get a Gladius [3]. (bugreport:481) [Samuray22] +//= 2.4c Corrected a Typo error ";;" and a typo error with "rouge". (bugreport:909) [Samuray22] +//= 2.5 Added dummy "OnMyMobDead" labels. (bugreport:1100) [L0ne_W0lf] +//= 2.6 Fixed a few bugs in the Rogue Guildsman. [L0ne_W0lf] +//= 2.7 Fixed a bug on Markie question 5, bugreport:1600 [Brainstorm] +//= 2.8 Moved "Thug" to Morroc Ruins. [L0ne_W0lf] +//= 2.9 Added Quest Log commands. [Kisuka] //============================================================ -morocc,100,104,1 script Thug 118,{ +moc_ruins,86,103,1 script Thug#rg 118,{ mes "[Thug]"; mes "*Sigh...*"; mes "What is life?"; @@ -27,27 +36,25 @@ morocc,100,104,1 script Thug 118,{ mes "What the hell"; mes "are you lookin' at?"; next; - switch (select("Me? N-nothing!':........")) { - case 1: + if (select("Me? N-nothing!':........") == 1) { mes "[Thug]"; mes "Then get the"; mes "hell out of my face!"; mes "Didn't you hear me?"; mes "Get lost!"; close; - case 2: - mes "[Thug]"; - mes "Hmmm..."; - mes "Maybe I'll swing by the ^0000FFRogue Guild^000000 in ^0000FFParos Lighthouse^000000..."; - next; - mes "[Thug]"; - mes "I needz my money,"; - mes "and they best have it..."; - close; } + mes "[Thug]"; + mes "Hmmm..."; + mes "Maybe I'll swing by the ^0000FFRogue Guild^000000 in ^0000FFParos Lighthouse^000000..."; + next; + mes "[Thug]"; + mes "I needz my money,"; + mes "and they best have it..."; + close; } -in_rogue,363,122,4 script Rogue Guildsman 747,{ +in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ if (Upper == 1) { mes "[Markie]"; mes "Eh? You...you...?!"; @@ -65,28 +72,27 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "I never misunderstand people...oh well, be safe anyway!"; close; } - if (Class == Job_Baby_Thief || Class == Job_Thief) { - if (SkillPoint != 0) { + if (BaseJob == Job_Thief) { + if (SkillPoint) { mes "[Rogue Guildsman]"; mes "Yo, what are you doin'?!"; mes "You can't change your job if you got unused skill points, so use 'em all up. You bettah check yo-self before you wreck yo-self."; close; } if (JobLevel > 39) { - if (RGE_Q == 0) { + if (ROGUE_Q == 0) { mes "[Rogue Guildsman]"; mes "So what's a kid"; mes "like you doin' here?"; - if (Sex == 1) { + if (sex == 1) { mes "Oh, I get it now..."; mes "The widdle boy wants"; - mes "to be a ^800000Rogue^000000."; } else { mes "Oh, I see..."; mes "Lil' cutie wants "; - mes "to be a ^800000Rogue^000000."; } + mes "to be a ^800000Rogue^000000."; next; mes "[Rogue Guildsman]"; mes "Eh, nice meetin' you, I guess. I'm Markie, and I do work for the Rogue Guild, a philanthro-- *ahem* a ^800000feelanthropist^000000 group, as you can see. So what's your name?"; @@ -102,7 +108,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "So why you wanna join up with the Rogues? I guess you gave me your real name, so you'd be an honest Rogue. Not many of those around, heh heh~"; next; mes "[Markie]"; - mes "Rule number 1 for Rouges..."; + mes "Rule number 1 for Rogues..."; mes "Never give out your real identity to most people, most of the time. It's just a little backup measure we like to use."; next; mes "[Markie]"; @@ -113,14 +119,14 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Let's get started!"; next; } - if (RGE_Q == 1) { + else if (ROGUE_Q == 1) { mes "[Markie]"; mes "You again?"; mes "Okay, you probably screwed up last time 'cuz you were way too nervous. So just chill and pass"; mes "this test, okay?"; next; } - if (RGE_Q == 2) { + else if (ROGUE_Q == 2) { mes "[Markie]"; mes "Go talk to Smith. His test might be pretty hard. He's one of the guys who makes sure that people pay up their debts to us. So yeah, he might be a bit of a hard case."; next; @@ -129,7 +135,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "That guy can be pretty anal, but we need a guy like him in our guild. Anyway, be careful. Lots of luck to you, pal."; close; } - if ((RGE_Q > 2) && (RGE_Q < 16)) { + else if (ROGUE_Q > 2 && ROGUE_Q < 16) { mes "[Markie]"; mes "Hey yo..."; mes "Do your best."; @@ -140,70 +146,33 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "a cinch to--Wait! Er, I wasn't talkin' about you! I meant the other fresh meat~"; close; } - if (RGE_Q == 17) { - mes "[Markie]"; - mes "Oh! It's you!"; - mes "You were actually able to put up with that guy? Good stuff! Must've had a rough time collect all those items, eh?"; - if (JobLevel == 50) { - set @dancer_joblevel,2; - } - else { - set @dancer_joblevel,1; - } - next; - mes "[Markie]"; - mes "Hey hey~"; - mes "Congrats!"; - mes "You've been"; - mes "doin' a great job~"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; - } + else if (ROGUE_Q == 16 || ROGUE_Q == 17) { changequest 2026,2027; - completequest 2027; - next; - mes "[Markie]"; - mes "Now..."; - mes "It's time"; - mes "for me to make"; - mes "a speech~ *Ahem*"; - next; mes "[Markie]"; - mes "Enjoy your freedom as a Rogue. Just remember that you gotta be free and responsible at the same time. So treat other guys the way you wanna be treated, kay? Alright, seeya round."; - close2; - if (@dancer_joblevel == 2) { - getitem 1220,1; //Gladius_ - } - else { - getitem 1219,1; //Gladius - } - end; - } - if (RGE_Q == 16) { - if (JobLevel == 50) { - set @dancer_joblevel,2; + if (ROGUE_Q == 16) { + mes "Oh hey, it's you!"; + mes "You did a good job, guy."; + mes "Now, lemme change your"; + mes "job to Rogue. You earned it!"; + next; + mes "[Markie]"; + mes "Congrats~!"; + mes "You look"; + mes "sooo dope!"; } else { - set @dancer_joblevel,1; - } - mes "[Markie]"; - mes "Oh hey, it's you!"; - mes "You did a good job, guy."; - mes "Now, lemme change your"; - mes "job to Rogue. You earned it!"; - next; - mes "[Markie]"; - mes "Congrats~!"; - mes "You look"; - mes "sooo dope!"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; + mes "Oh! It's you!"; + mes "You were actually able to put up with that guy? Good stuff! Must've had a rough time collect all those items, eh?"; + next; + mes "[Markie]"; + mes "Hey hey~"; + mes "Congrats!"; + mes "You've been"; + mes "doin' a great job~"; } - changequest 2026,2027; + set .@jlevel,JobLevel; + callfunc "Job_Change",Job_Rogue; + callfunc "F_ClearJobVar"; completequest 2027; next; mes "[Markie]"; @@ -215,18 +184,14 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "[Markie]"; mes "Enjoy your freedom as a Rogue. Just remember that you gotta be free and responsible at the same time. So treat other guys the way you wanna be treated, kay? Alright, seeya round."; close2; - if (@dancer_joblevel == 2) { + if (.@jlevel == 50) { getitem 1220,1; //Gladius_ - } - else { + } else { getitem 1219,1; //Gladius } end; } - switch (select("I'm ready.:Hold on, I need to get ready!")) { - case 1: - break; - case 2: + if (select("I'm ready.:Hold on, I need to get ready!") == 2) { mes "[Markie]"; mes "Get ready...?"; mes "Fine, fine."; @@ -237,445 +202,214 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ close; } next; - set .@assassin_quiz, rand(1,3); - set @assassin_t,0; mes "[Markie]"; mes "Listen carefully, and"; mes "pick the right answer."; mes "Capish? Now, lemme"; mes "read these questions..."; next; - if (.@assassin_quiz == 1) { + switch(rand(1,3)) { + case 1: mes "[Markie]"; mes "1. Choose the skill necessary for learning ^880000Stalk^000000."; next; - switch (select("^880000Hiding^000000:^880000Steal^000000:^880000Improve Dodge^000000:^880000Bash^000000")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("^880000Hiding^000000:^880000Steal^000000:^880000Improve Dodge^000000:^880000Bash^000000") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "2. In comparison to the Merchant's Level 10 ^880000Discount^000000 skill, how much more of a discount, in terms of percent, can a Rogue get with Level 10 ^880000Haggle^000000 skill?"; next; - switch (select("3 %:2 %:1 %:0 %")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("3 %:2 %:1 %:0 %") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "3. What is the correct description for the skill, ^880000Mug^000000?"; next; - switch (select("Steal items from players:Steal items from monsters:Steal Zeny from monsters:Steal Zeny from players")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Steal items from players:Steal items from monsters:Steal Zeny from monsters:Steal Zeny from players") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "4. How many Rogues does it require to activate the skill, ^880000Slyness^000000?"; next; - switch (select("1 Rogues + 2 Assassin:1 Thief + 2 Rogue:4 Thieves:2 Rogues")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("1 Rogues + 2 Assassin:1 Thief + 2 Rogue:4 Thieves:2 Rogues") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "5. Choose the skill that you can learn at Level 5 ^880000Divest Helm^000000."; next; - switch (select("^880000Envenom^000000:^880000Strip Tease^000000:^880000Venom Splasher^000000:^880000Divest Shield^000000")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("^880000Envenom^000000:^880000Strip Tease^000000:^880000Venom Splasher^000000:^880000Divest Shield^000000") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "6. Choose the skill which allows its user to move while hiding."; next; - switch (select("^880000Hiding^000000:^880000Back Slide^000000:^880000Stalk^000000:^880000Sand Attack^000000")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("^880000Hiding^000000:^880000Back Slide^000000:^880000Stalk^000000:^880000Sand Attack^000000") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "7. Choose the card that increases the accuracy rate of its owner."; next; - switch (select("Andre Card.:Familiar Card.:Mummy Card.:Marina Card.")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Andre Card.:Familiar Card.:Mummy Card.:Marina Card.") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "8. Choose the monster that receives more damage when it's attacked by a weapon with the Vadon card (20 % more damage on Fire property)."; next; - switch (select("Vadon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Vadon:Deviruchi:Elder Willow:Baphomet") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "9. How much SP does the skill ^880000Double Attack^000000 require when used with a Dagger?"; next; - switch (select("15:Passive skill, no SP required.:Passive skill, 10 SP:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("15:Passive skill, no SP required.:Passive skill, 10 SP:54") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "10. Choose the most efficient dagger to use in the Byalan Dungeon."; next; - switch (select("Wind Main-Gauche:Ice Main-Gauche:Earth Main-Gauche:Fire Main-Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { + if (select("Wind Main-Gauche:Ice Main-Gauche:Earth Main-Gauche:Fire Main-Gauche") == 1) + set .@assassin_t,.@assassin_t+10; + break; + case 2: mes "[Markie]"; mes "1. Which monster drops a slotted Gladius?"; next; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Kobold")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Thief Bug:Peco Peco:Desert Wolf:Kobold") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "2. Which monster drops a slotted Main-Gauche?"; next; - switch (select("Hornet:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("Hornet:Desert Wolf:Marionette:Myst") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "3. Choose the class that is able to create unique potions."; next; - switch (select("Merchant:Alchemist:Blacksmith:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Merchant:Alchemist:Blacksmith:Priest") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "4. Choose the weapon that Rogues aren't allowed to use."; next; - switch (select("Gakkung:Crossbow:Gladius:Katar")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Gakkung:Crossbow:Gladius:Katar") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "5. Choose the property that the monster Hode possesses."; next; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Water:Fire:Wind:Earth") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "6. Choose the monster that is unable to be tamed for as a Cute Pet."; next; - switch (select("Poporing:Creamy:Orc:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Poporing:Creamy:Orc:Poison Spore") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "7. Choose the monster that receives more damage from a Dagger with the Fire property."; next; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "8. Choose the town that doesn't have any guild castles."; next; - switch (select("Prontera:Al De Baran:Alberta:Payon")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Prontera:Al De Baran:Alberta:Payon") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "9. Choose the plant that drops Blue Herbs."; next; - switch (select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) { - case 1: - break; - case 2: + switch(select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) { + default: break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; } mes "[Markie]"; mes "10. Choose the monster that does not have the Undead property."; next; - switch (select("Zombie:Megalodon:Familiar:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { + if (select("Zombie:Megalodon:Familiar:Khalitzburg") == 3) + set .@assassin_t,.@assassin_t+10; + break; + case 3: mes "[Markie]"; mes "1. By what percentage is the flee rate increased when a Thief masters the ^880000Improve Dodge^000000?"; next; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("30:40:160:20") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "2. Choose the monster that detects a characters using the Hiding or Cloaking skill."; next; - switch (select("Worm Tail:Argos:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Worm Tail:Argos:Mummy:Soldier Skeleton") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "3. Choose the location where Thieves can change their jobs to Rogues."; next; - switch (select("Comodo:Kokomo Beach:Paros Lighthouse:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Comodo:Kokomo Beach:Paros Lighthouse:Morroc") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "4. In which town can Novices change their jobs to Thieves?"; next; - switch (select("Comodo:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Comodo:Lutie:Alberta:Morroc") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "5. Choose the card that does not affect the DEX stat."; next; - switch (select("Rocker Card:Mummy Card:Zerom Card:Drops Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Rocker Card:Mummy Card:Zerom Card:Drops Card") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "6. So what's cool about being a Rogue?"; next; - switch (select("Being totally badass.:The clothes, the style.:Getting to call other people, 'foo'':Excellent attack strength")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + select("Being totally badass.:The clothes, the style.:Getting to call other people, 'foo'':Excellent attack strength"); + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "7. When is it possible to change jobs from Thief to Rogue?"; next; - switch (select("At job Level 30:At job Level 35:At Job Level 40:At Job Level 50")) { - case 1: - break; - case 2: + switch(select("At job Level 30:At job Level 35:At Job Level 40:At Job Level 50")) { + default: break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; } mes "[Markie]"; mes "8. You want to dye your hair blue. What town do you go to, and in which direction, with 12 o' clock being North."; next; - switch (select("Morroc, 7 o'clock:Prontera, 7 o'clock:Morroc, 5 o'clock:Prontera, 1 o'clock")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Morroc, 7 o'clock:Prontera, 7 o'clock:Morroc, 5 o'clock:Prontera, 1 o'clock") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[Markie]"; mes "9. Choose the mushroom that is required on the Thief job change quest."; next; - switch (select("Orange Gooey Mushroom:Red Hairy Mushroom:Orange Net Mushroom:Orange Sticky Mushroom")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: + switch(select("Orange Gooey Mushroom:Red Hairy Mushroom:Orange Net Mushroom:Orange Sticky Mushroom")) { + default: break; + case 1: case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: + set .@assassin_t,.@assassin_t+10; break; } mes "[Markie]"; mes "10. Choose the card that least benefits the Rogue class."; next; - switch (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card") == 2) + set .@assassin_t,.@assassin_t+10; } mes "[Markie]"; mes "*Whew~*"; @@ -685,9 +419,9 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "[Markie]"; mes "Let's see."; mes "You got..."; - mes "" + @assassin_t + " points."; - if (@assassin_t > 80) { - set RGE_Q,2; + mes "" + .@assassin_t + " points."; + if (.@assassin_t > 80) { + set ROGUE_Q,2; setquest 2017; mes "Good. You passed."; mes "We don't gotta"; @@ -701,26 +435,28 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Go find Smith and finish up this test, yeah? Be careful though, Smith's a pretty anal guy."; close; } - set RGE_Q,1; - mes "Aw crud... You failed!"; - next; - mes "[Markie]"; - mes "Man, you shoulda learned more when you had the chance. Thanks for wasting my time."; - next; - mes "[Markie]"; - mes "*Sigh...* Lemme give you some tips, yeah? I'm supposed to tell you about some kind of ^990000iro.ragnarokonline.com^000000 to help you learn what you need to know."; - next; - mes "[Markie]"; - mes "Of course, I don't know what the heck it means, but if you understand it, it'll probably help you out a lot."; - close; + else { + set ROGUE_Q,1; + mes "Aw crud... You failed!"; + next; + mes "[Markie]"; + mes "Man, you shoulda learned more when you had the chance. Thanks for wasting my time."; + next; + mes "[Markie]"; + mes "*Sigh...* Lemme give you some tips, yeah? I'm supposed to tell you about some kind of ^990000iro.ragnarokonline.com^000000 to help you learn what you need to know."; + next; + mes "[Markie]"; + mes "Of course, I don't know what the heck it means, but if you understand it, it'll probably help you out a lot."; + close; + } } - if (JobLevel < 40) { + else if (JobLevel < 40) { mes "[Rogue Guildsman]"; mes "Whoa, slow down newbie. We only accept people who are at least Thief Job Level 40. I ain't risking myself by letting you in before you're ready. Got it?"; close; } } - if (Class == Job_Assassin) { + else if (BaseJob == Job_Assassin) { mes "[Rogue Guildsman]"; mes "Huh...?"; mes "What's an Assassin doin' here? Uh, you haven't been assigned to kill someone in the Rogue Guild, are you?"; @@ -732,7 +468,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Don't get it, huh? It's something I always used to say to Huey. If you're in the Assassin Guild, you oughta have met him..."; close; } - if (Class == RGE_Q) { + else if (BaseJob == Job_Rogue) { mes "[Markie]"; mes "Hey hey~"; mes "Long time no see."; @@ -742,17 +478,19 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "check back again later."; close; } - mes "[Rogue Guildsman]"; - mes "Hey you..."; - mes "Get your ugly"; - mes "ass out of here"; - mes "before I redecorate"; - mes "that face of yours!"; - close; + else { + mes "[Rogue Guildsman]"; + mes "Hey you..."; + mes "Get your ugly"; + mes "ass out of here"; + mes "before I redecorate"; + mes "that face of yours!"; + close; + } } -in_rogue,376,23,1 script Mr. Smith 57,{ - if (RGE_Q == 2) { +in_rogue,376,23,1 script Mr. Smith#rg 57,{ + if (ROGUE_Q == 2) { mes "[Mr. Smith]"; mes "Welcome to"; mes "the Rogue guild."; @@ -770,101 +508,14 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "[Mr. Smith]"; mes "What you have to understand is that the Rogue Guild does a lot of business, ^666666sometimes illegally^000000, that needs financial backup."; next; - set .@item_need, rand(1,15); - if ((.@item_need > 0) && (.@item_need < 6)) { - mes "[Mr. Smith]"; - mes "First, the"; - mes "application fee:"; - mes "^FF000010,000 zeny^000000."; - next; - mes "[Mr. Smith]"; - mes "We also need"; - mes "you to bring"; - mes "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - set RGE_Q,3; - changequest 2017,2018; - next; - mes "[Mr. Smith]"; - mes "Hmm...?"; - mes "What was that?"; - mes "Did you just say that"; - mes "you're willing to donate"; - mes "more for the guild?"; - next; - mes "[Mr. Smith]"; - mes "That sounds sweet,"; - mes "I appreciate that."; - mes "But come back when"; - mes "you're ready."; - close; - } - if ((.@item_need > 5) && (.@item_need < 11)) { - mes "[Mr. Smith]"; - mes "First, the"; - mes "application fee:"; - mes "^FF000010,000 zeny^000000."; - next; - mes "[Mr. Smith]"; - mes "We also need"; - mes "you to bring"; - mes "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - set RGE_Q,4; - changequest 2017,2019; - next; - mes "[Mr. Smith]"; - mes "Hmm...?"; - mes "What was that?"; - mes "Did you just say that"; - mes "you're willing to donate"; - mes "more for the guild?"; - next; - mes "[Mr. Smith]"; - mes "That sounds sweet,"; - mes "I appreciate that."; - mes "But come back when"; - mes "you're ready."; - close; - } - if ((.@item_need > 10) && (.@item_need < 15)) { - mes "[Mr. Smith]"; - mes "First, the"; - mes "application fee:"; - mes "^FF000010,000 zeny^000000."; - next; - mes "[Mr. Smith]"; - mes "We also need"; - mes "you to bring"; - mes "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - set RGE_Q,5; - changequest 2017,2020; - next; - mes "[Mr. Smith]"; - mes "Hmm...?"; - mes "What was that?"; - mes "Did you just say that"; - mes "you're willing to donate"; - mes "more for the guild?"; - next; - mes "[Mr. Smith]"; - mes "That sounds sweet,"; - mes "I appreciate that."; - mes "But come back when"; - mes "you're ready."; - close; - } - if (.@item_need == 15) { + set .@item_need,rand(1,15); + if (.@item_need > 0 && .@item_need < 6) callsub S_Req,"10 Skel-bone","6 Blue Herb","10 Decayed Nail","10 Horrendous Mouth",3; + else if (.@item_need > 5 && .@item_need < 11) callsub S_Req,"10 Green Herb","10 Crab Shell","10 Snake Scale","10 Garlet",4; + else if (.@item_need > 10 && .@item_need < 15) callsub S_Req,"10 Yellow Herb","10 Shell","10 Grasshopper's Leg","10 Bear's Footskin",5; + else if (.@item_need == 15) { mes "[Mr. Smith]"; mes "I will let you know..."; - set RGE_Q,6; + set ROGUE_Q,6; changequest 2017,2021; next; mes "[Mr. Smith]"; @@ -981,7 +632,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } - if (RGE_Q < 2) { + else if (ROGUE_Q < 2) { mes "[Mr. Smith]"; mes "Three thousand, two hundred seventy two. Three thousand, two hundred seventy three. Three thousand, two hundred seventy four..."; next; @@ -1000,121 +651,19 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "I lost count!"; close; } - if (RGE_Q > 2) { - if (RGE_Q == 3) { - if ((Zeny > 9999) && (countitem(932) > 9) && (countitem(510) > 5) && (countitem(957) > 9) && (countitem(958) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, 10 Skel-Bone, 6 Blue Herb, 10 Decayed Nail and 10 Horrendous Mouth..."; - set Zeny, Zeny - 10000; - delitem 932,10; //Skel_Bone - delitem 510,6; //Blue_Herb - delitem 957,10; //Decayed_Nail - delitem 958,10; //Horrendous_Mouth - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while"; - mes "I prepare these things. Let's see... Your next test is..."; - close; - } - mes "[Mr. Smith]"; - mes "What the f$@k!? You didn't bring all the required items?! Are you telling me that you need to check the requirements again!?"; - next; - mes "[Mr. Smith]"; - mes "Now listen...!"; - mes "Bring ^FF000010,000 zeny^000000,"; - mes "and the following items..."; - next; - mes "[Mr. Smith]"; - mes "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - mes "You got it this time?"; - close; - } - if (RGE_Q == 4) { - if ((Zeny > 9999) && (countitem(511) > 9) && (countitem(964) > 9) && (countitem(926) > 9) && (countitem(910) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, 10 Green Herb, 10 Crab Shell, 10 Snake Scale and 10 Garlet."; - set Zeny, Zeny - 10000; - delitem 511,10; //Green_Herb - delitem 964,10; //Crap_Shell - delitem 926,10; //Scale_Of_Snakes - delitem 910,10; //Garlet - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while I prepare these things. Let's see... Your next test is..."; - close; - } - mes "[Mr. Smith]"; - mes "What the f$@k!? You didn't bring all the required items?! Are you telling me that you need to check the requirements again!?"; - next; - mes "[Mr. Smith]"; - mes "Now listen...!"; - mes "Bring ^FF000010,000 zeny^000000,"; - mes "and the following items..."; - next; - mes "[Mr. Smith]"; - mes "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - mes "Don't forget this time!"; - close; - } - if (RGE_Q == 5) { - if ((Zeny > 9999) && (countitem(508) > 9) && (countitem(935) > 9) && (countitem(940) > 9) && (countitem(948) > 9)) { - mes "[Mr. Smith]"; - mes "Let's see, you've brought the application fee, 10 Yellow Herb, 10 Shell, 10 Grasshopper's Leg and 10 Bear's Footskin..."; - set Zeny, Zeny - 10000; - delitem 508,10; //Yellow_Herb - delitem 935,10; //Shell - delitem 940,10; //Grasshopper's_Leg - delitem 948,10; //Bear's_Foot - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while I prepare these things. Let's see... Your next test is..."; - close; - } - mes "[Mr. Smith]"; - mes "What the f$@k!? You didn't bring all the required items?! Are you telling me that you need to check the requirements again!?"; - next; - mes "[Mr. Smith]"; - mes "Now listen...!"; - mes "Bring ^FF000010,000 zeny^000000,"; - mes "and the following items..."; - next; - mes "[Mr. Smith]"; - mes "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - mes "Got it? Don't forget this time!"; - close; - } - if (RGE_Q == 6) { - if ((Zeny > 9999) && (countitem(915) > 4) && (countitem(713) > 4) && (countitem(1002) > 4) && (countitem(953) > 4) && (countitem(507) > 4) && (countitem(919) > 4) && (countitem(715) > 4) && (countitem(913) > 4) && (countitem(904) > 4) && (countitem(942) > 4) && (countitem(528) > 4) && (countitem(914) > 4) && (countitem(705) > 4) && (countitem(916) > 4) && (countitem(917) > 4) && (countitem(908) > 4) && (countitem(945) > 4)) { + else if (ROGUE_Q > 2) { + if (ROGUE_Q == 3) callsub S_CheckItems,510,6,932,10,957,10,958,10; + else if (ROGUE_Q == 4) callsub S_CheckItems,511,10,910,10,926,10,964,10; + else if (ROGUE_Q == 5) callsub S_CheckItems,508,10,948,10,935,10,940,10; + else if (ROGUE_Q == 6) { + if (zeny > 9999 && countitem(915) > 4 && countitem(713) > 4 && countitem(1002) > 4 && + countitem(953) > 4 && countitem(507) > 4 && countitem(919) > 4 && countitem(715) > 4 && + countitem(913) > 4 && countitem(904) > 4 && countitem(942) > 4 && countitem(528) > 4 && + countitem(914) > 4 && countitem(705) > 4 && countitem(916) > 4 && countitem(917) > 4 && + countitem(908) > 4 && countitem(945) > 4) { mes "[Mr. Smith]"; mes "Ummm...let's see..."; - set Zeny, Zeny - 10000; + set zeny,zeny-10000; delitem 915,5; //Chrysalis delitem 713,5; //Empty_Bottle delitem 1002,5; //Iron_Ore @@ -1132,13 +681,15 @@ in_rogue,376,23,1 script Mr. Smith 57,{ delitem 917,5; //Talon delitem 908,5; //Spawn delitem 945,5; //Raccoon_Leaf - set RGE_Q,8; + set ROGUE_Q,8; next; mes "[Mr. Smith]"; mes "Wow, you've brought each and every single thing I asked you to. Good work... I salute you."; next; mes "^CCCCCC- Middle Finger -^000000'"; mes "*Grins*"; + set ROGUE_Q,8; + changequest 2021,2025; next; mes "[Mr. Smith]"; mes "Since you showed such great effort, I'm going to write a recommendation letter for you. I usually don't do that, you know."; @@ -1200,17 +751,23 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "without them!"; close; } - if (RGE_Q == 7) { - set .@ro_q, rand(1,3); - if (.@ro_q == 1) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,9; - changequest 2018,2022; - changequest 2019,2022; - changequest 2020,2022; + else if (ROGUE_Q == 7) { + mes "[Mr. Smith]"; + mes "Let me see..."; + mes "Who would should"; + mes "I send you to...?"; + switch(rand(1,3)) { + case 1: + set ROGUE_Q,9; + if(checkquest(2018) != -1) { + changequest 2018,2022; + } + else if(checkquest(2019) != -1) { + changequest 2019,2022; + } + else { + changequest 2020,2022; + } next; mes "[Mr. Smith]"; mes "Right! I know"; @@ -1237,16 +794,17 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "[Mr. Smith]"; mes "Well, I will wish you luck. His place isn't that far from here, so come back as soon as possible. Being swift... That is the spirit of the Rogue."; close; - } - if (.@ro_q == 2) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,10; - changequest 2018,2023; - changequest 2019,2023; - changequest 2020,2023; + case 2: + set ROGUE_Q,10; + if(checkquest(2018) != -1) { + changequest 2018,2023; + } + else if(checkquest(2019) != -1) { + changequest 2019,2023; + } + else { + changequest 2020,2023; + } next; mes "[Mr. Smith]"; mes "Hmm..."; @@ -1272,50 +830,52 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "[Mr. Smith]"; mes "Ah, you might want to remember the password to meet him in person. The password is ^0000FFAntonio doesn't enjoy destroying upgrade items^000000."; close; + case 3: + set ROGUE_Q,11; + if(checkquest(2018) != -1) { + changequest 2018,2024; + } + else if(checkquest(2019) != -1) { + changequest 2019,2024; + } + else { + changequest 2020,2024; + } + next; + mes "[Mr. Smith]"; + mes "Hmm..."; + mes "This guy might be"; + mes "good for you, but..."; + mes "He's a little dangerous."; + next; + mes "[Mr. Smith]"; + mes "His name is"; + mes "Hollgrehenn Junior,"; + mes "a genius at manipulation."; + next; + mes "[Mr. Smith]"; + mes "However, because of something his father did long ago, people ahve been trying to kill him. Because of this, he is very high strung and will throw daggers at people he doesn't trust."; + next; + mes "[Mr. Smith]"; + mes "Our leader has been able to get him to join our guild, and his brilliant mind has been an asset to us. Once you get to know him, he'll take care of your Rogue training really well."; + next; + mes "[Mr. Smith]"; + mes "Ah, you might want to remember the password to meet him in person. The password is ^0000FFMy father never hoarded upgrade items^000000."; + close; } - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,11; - changequest 2018,2024; - changequest 2019,2024; - changequest 2020,2024; - next; - mes "[Mr. Smith]"; - mes "Hmm..."; - mes "This guy might be"; - mes "good for you, but..."; - mes "He's a little dangerous."; - next; - mes "[Mr. Smith]"; - mes "His name is"; - mes "Hollgrehenn Junior,"; - mes "a genius at manipulation."; - next; - mes "[Mr. Smith]"; - mes "However, because of something his father did long ago, people have been trying to kill him. Because of this, he is very high strung and will throw daggers at people he doesn't trust."; - next; - mes "[Mr. Smith]"; - mes "Our leader has been able to get him to join our guild, and his brilliant mind has been an asset to us. Once you get to know him, he'll take care of your Rogue training really well."; - next; - mes "[Mr. Smith]"; - mes "Ah, you might want to remember the password to meet him in person. The password is ^0000FFMy father never hoarded upgrade items^000000."; - close; } - if (RGE_Q == 8) { + else if (ROGUE_Q == 8) { mes "[Mr. Smith]"; mes "Alright... Now that I've calmed down, I can inform you of your next destination. *Whew*"; next; mes "[Mr. Smith]"; - mes "Go and find Hermanthorn Junior, who is living near ^0000FFthe checkpoint of Paros Lighthouse^000000, which is at the border between Morroc and Comodo."; + mes "Go and find Hermanthorn Junior, who is living near the ^0000FFthe checkpoint of Paros Lighthouse^000000, which is at the border between Morroc and Comodo."; next; mes "[Mr. Smith]"; mes "Ah...almost forgot, keep in mind not to mention anything about upgrading items. This is very important."; - changequest 2021,2025; close; } - if (RGE_Q == 9) { + else if (ROGUE_Q == 9) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1329,7 +889,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFAragham never hoarded upgrade items^000000."; close; } - if (RGE_Q == 10) { + else if (ROGUE_Q == 10) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1347,7 +907,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FF'Antonio doesn't enjoy destroying upgrade items'^000000."; close; } - if (RGE_Q == 11) { + else if (ROGUE_Q == 11) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1361,7 +921,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFMy father never hoarded upgrade items^000000."; close; } - if (RGE_Q > 11) { + else if (ROGUE_Q > 11) { mes "[Mr. Smith]"; mes "Hmmm...?"; mes "Don't you have"; @@ -1371,23 +931,94 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } -} -cmd_fild09,106,195,0 script Warp#1 45,1,1,{ -OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; +S_Req: + mes "[Mr. Smith]"; + mes "First, the"; + mes "application fee:"; + mes "^FF000010,000 zeny^000000."; + next; + mes "[Mr. Smith]"; + mes "We also need"; + mes "you to bring"; + mes "^FF0000"+getarg(0)+"^000000,"; + mes "^FF0000"+getarg(1)+"^000000,"; + mes "^FF0000"+getarg(2)+"^000000 and"; + mes "^FF0000"+getarg(3)+"^000000."; + set ROGUE_Q,getarg(4); + if(getarg(4) == 3) { + changequest 2017,2018; + } + else if(getarg(4) == 4) { + changequest 2017,2019; + } + else { + changequest 2017,2020; + } + next; + mes "[Mr. Smith]"; + mes "Hmm...?"; + mes "What was that?"; + mes "Did you just say that"; + mes "you're willing to donate"; + mes "more for the guild?"; + next; + mes "[Mr. Smith]"; + mes "That sounds sweet,"; + mes "I appreciate that."; + mes "But come back when"; + mes "you're ready."; + close; + + +S_CheckItems: + if (Zeny > 9999 && countitem(getarg(0)) >= getarg(1) && countitem(getarg(2)) >= getarg(3) && countitem(getarg(4)) >= getarg(5) && countitem(getarg(6)) >= getarg(7)) { + mes "[Mr. Smith]"; + mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, "+getarg(1)+" "+getitemname(getarg(0))+", "+getarg(3)+" "+getitemname(getarg(2))+", "+getarg(5)+" "+getitemname(getarg(4))+" and "+getarg(7)+" "+getitemname(getarg(6))+"..."; + set zeny,zeny-10000; + delitem getarg(0),getarg(1); + delitem getarg(2),getarg(3); + delitem getarg(4),getarg(5); + delitem getarg(6),getarg(7); + set ROGUE_Q,7; + next; + mes "[Mr. Smith]"; + mes "Great, great..."; + mes "I think you"; + mes "brought everything."; + set ROGUE_Q,7; + next; + mes "[Mr. Smith]"; + mes "Alright, wait just a moment while"; + mes "I prepare these things. Let's see... Your next test is..."; close; } + mes "[Mr. Smith]"; + mes "What the f$@k!? You didn't bring all the required items?! Are you telling me that you need to check the requirements again!?"; + next; + mes "[Mr. Smith]"; + mes "Now listen...!"; + mes "Bring ^FF000010,000 zeny^000000,"; + mes "and the following items..."; + next; + mes "[Mr. Smith]"; + mes "^FF0000 "+getarg(1)+" "+getitemname(getarg(0))+"^000000,"; + mes "^FF0000 "+getarg(3)+" "+getitemname(getarg(2))+"^000000,"; + mes "^FF0000 "+getarg(5)+" "+getitemname(getarg(4))+"^000000,"; + mes "^FF0000 "+getarg(7)+" "+getitemname(getarg(6))+"^000000,"; + mes "You got it this time?"; + close; +} + +cmd_fild09,106,195,0 script Warp#1 45,1,1,{ +OnTouch: mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; @@ -1395,7 +1026,7 @@ OnTouch: case 2: mes "[" + strcharinfo(0) + "]"; mes "Aragham"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 3: mes "[" + strcharinfo(0) + "]"; @@ -1406,87 +1037,62 @@ OnTouch: mes "Legolas"; break; } - switch (select("did not:didn't:never:ever")) { - case 1: - mes "did not"; - break; - case 2: - mes "didn't"; - break; + switch(select("did not:didn't:never:ever")) { + case 1: mes "did not"; break; + case 2: mes "didn't"; break; case 3: mes "never"; - set @rogue_t,@rogue_t + 10; - break; - case 4: - mes "ever"; + set .@rogue_t,.@rogue_t+10; break; + case 4: mes "ever"; break; } - switch (select("hoard:hoarded:hide:took:take")) { - case 1: - mes "hoard"; - break; + switch(select("hoard:hoarded:hide:took:take")) { + case 1: mes "hoard"; break; case 2: mes "hoarded"; - set @rogue_t,@rogue_t + 10; - break; - case 3: - mes "hide"; - break; - case 4: - mes "took"; - break; - case 5: - mes "take"; + set .@rogue_t,.@rogue_t+10; break; + case 3: mes "hide"; break; + case 4: mes "took"; break; + case 5: mes "take"; break; } - switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { + switch(select("upgrade items.:forging items.:refining item.:upgrade item.")) { case 1: mes "upgrade items."; - set @rogue_t,@rogue_t + 10; - break; - case 2: - mes "forging items."; - break; - case 3: - mes "refining item."; - break; - case 4: - mes "upgrade item."; + set .@rogue_t,.@rogue_t+10; break; + case 2: mes "forging items."; break; + case 3: mes "refining item."; break; + case 4: mes "upgrade item."; break; } next; - if (@rogue_t > 30) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",246,25; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild09,335,143,0 script Warp#2 45,1,1,{ - OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 2: mes "[" + strcharinfo(0) + "]"; @@ -1501,83 +1107,58 @@ OnTouch: mes "Legolas"; break; } - switch (select("did not:didn't:never:ever")) { - case 1: - mes "did not"; - break; - case 2: - mes "didn't"; - break; + switch(select("did not:didn't:never:ever")) { + case 1: mes "did not"; break; + case 2: mes "didn't"; break; case 3: mes "never"; - set @rogue_t,@rogue_t + 10; - break; - case 4: - mes "ever"; + set .@rogue_t,.@rogue_t+10; break; + case 4: mes "ever"; break; } - switch (select("hoard:takes:hide:took:hoarded")) { - case 1: - mes "hoard"; - break; - case 2: - mes "takes"; - break; - case 3: - mes "hide"; - break; - case 4: - mes "took"; - break; + switch(select("hoard:takes:hide:took:hoarded")) { + case 1: mes "hoard"; break; + case 2: mes "takes"; break; + case 3: mes "hide"; break; + case 4: mes "took"; break; case 5: mes "hoarded"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; } - switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { + switch(select("upgrade items.:forging items.:refining item.:upgrade item.")) { case 1: mes "upgrade items."; - set @rogue_t,@rogue_t + 10; - break; - case 2: - mes "forging items."; - break; - case 3: - mes "refining item."; - break; - case 4: - mes "upgrade item."; + set .@rogue_t,.@rogue_t+10; break; + case 2: mes "forging items."; break; + case 3: mes "refining item."; break; + case 4: mes "upgrade item."; break; } next; - if (@rogue_t > 30) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",169,34; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild04,304,180,0 script Warp#3 45,1,1,{ - OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("Anntonio:Aragham:Antonio:Hollgrehenn")) { + switch(select("Anntonio:Aragham:Antonio:Hollgrehenn")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "Anntonio"; @@ -1589,82 +1170,60 @@ OnTouch: case 3: mes "[" + strcharinfo(0) + "]"; mes "Antonio"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "Hollgrehenn"; + mes "Hollgrehenn"; break; } - switch (select("enjoys:doesn't enjoy:likes:doesn't like")) { - case 1: - mes "enjoys"; - break; + switch(select("enjoys:doesn't enjoy:likes:doesn't like")) { + case 1: mes "enjoys"; break; case 2: mes "doesn't enjoy"; - set @rogue_t,@rogue_t + 10; - break; - case 3: - mes "likes"; - break; - case 4: - mes "doesn't like"; + set .@rogue_t,.@rogue_t+10; break; + case 3: mes "likes"; break; + case 4: mes "doesn't like"; break; } - switch (select("damaging:destroying:fixing:forging")) { - case 1: - mes "damaging"; - break; + switch(select("damaging:destroying:fixing:forging")) { + case 1: mes "damaging"; break; case 2: mes "destroying"; - set @rogue_t,@rogue_t + 10; - break; - case 3: - mes "fixing"; - break; - case 4: - mes "forging"; + set .@rogue_t,.@rogue_t+10; break; + case 3: mes "fixing"; break; + case 4: mes "forging"; break; } - switch (select("forging item.:refining items.:upgrade items.:refined items.:upgraded items.:forged items.")) { - case 1: - mes "forging item."; - break; - case 2: - mes "refining items."; - break; + switch(select("forging item.:refining items.:upgrade items.:refined items.:upgraded items.:forged items.")) { + case 1: mes "forging item."; break; + case 2: mes "refining items."; break; case 3: mes "upgrade items."; - set @rogue_t,@rogue_t + 10; - break; - case 4: - mes "refined items."; - break; - case 5: - mes "upgraded items."; - break; - case 6: - mes "forged items."; + set .@rogue_t,.@rogue_t+10; break; + case 4: mes "refined items."; break; + case 5: mes "upgraded items."; break; + case 6: mes "forged items."; break; } next; - if (@rogue_t > 30) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",164,106; end; } - mes "[???]"; - mes ".....Get lost!"; - close; + else { + mes "[???]"; + mes ".....Get lost!"; + close; + } } -cmd_fild07,355,286,0 warp warp_nervrogue 1,1,in_rogue,247,126 - -in_rogue,272,135,1 script Hermanthorn Jr 85,{ - if (RGE_Q == 8) { - mes "[Hermanthorn Jr.]"; +in_rogue,272,135,1 script Hermanthorn Jr#rg 85,{ + if (ROGUE_Q == 8) { + mes "[HermanthornJr.]"; mes "I see..."; mes "You must be from"; mes "the Rogue guild."; @@ -1672,170 +1231,169 @@ in_rogue,272,135,1 script Hermanthorn Jr 85,{ mes "ones Mr. Smith wasn't"; mes "too happy with..."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "He threw a fit and you brought him all the items he asked for, didn't you? Well, I can see that you're still pretty naive. Hahaha~"; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "I suppose he suckered you into gathering those items, and then passed you on to me. Sad, really."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "Well, since you were tortured by him, I'll try to be especially generous to you. My test for you will be simple, so simple."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "All you have to do is go through a underground tunnel, and walk all the way back to the Rogue Guild."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "There is one thing I should tell you, though. You might want to be careful inside, alright?"; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "A bunch of pricks have been throwing Dead Branches and casting Hocus Pocus all over the place..."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "Well..."; mes "Just make it back to the Rogue Guild alive. That's all you have to do!"; - set RGE_Q,12; + set ROGUE_Q,12; changequest 2025,2026; - close2; + close; } - if (RGE_Q == 12) { - mes "[Hermanthorn Jr.]"; + else if (ROGUE_Q == 12) { + mes "[HermanthornJr.]"; mes "Oh right. This is really important. You need a password to enter the tunnel. To unlock the door, the four number combination is ^0000FF3019^000000."; close; } - mes "[Hermanthorn Jr.]"; - mes "Huh...?"; - mes "What the hell"; - mes "are you doing here."; - mes "Scram, why don't you?"; - close; + else { + mes "[HermanthornJr.]"; + mes "Huh...?"; + mes "What the hell"; + mes "are you doing here."; + mes "Scram, why don't you?"; + close; + } } -in_rogue,270,130,0 script he_to_rogue 45,1,1,{ - +in_rogue,270,130,0 script he_to_rogue#rg 45,1,1,{ OnTouch: - if (RGE_Q == 12) { - mes "^3355FFThe door is locked. You'll need to enter the four number combination to open it.^000000"; - next; - input .@input; - if (.@input < 1 || .@input > 10000) { + mes "^3355FFThe door is locked. You'll need to enter the four number combination to open it.^000000"; + next; + input .@input; + if (.@input < 1 || .@input > 10000) { + if (ROGUE_Q == 12) mes "^3355FFIt didn't work. Please re-enter the four number combination.^000000"; - close; - } - if (.@input == 3019) { + else + mes "^3355FFPlease enter a combination of four numbers.^000000"; + close; + } + else if (.@input == 3019) { + if (ROGUE_Q == 12) { mes "^3355FFThe door"; mes "has opened.^000000"; close2; warp "in_rogue",10,21; - set RGE_Q,12; + set ROGUE_Q,12; end; } + else { + mes "[HermanthornJr.]"; + mes "Well..."; + mes "Didn't I tell you"; + mes "that I changed the"; + mes "password? *Wink Wink*"; + close; + } + } + else { mes "^3355FFThe door"; mes "is still locked.^000000"; close; } - mes "^3355FFThe door is locked. It seems a four number combination is required to open it.^000000"; - next; - input .@input; - if (.@input < 1 || .@input > 10000) { - mes "^3355FFPlease enter a combination of four numbers.^000000"; - close; - } - if (.@input == 3019) { - mes "[Hermanthorn Jr.]"; - mes "Well..."; - mes "Didn't I tell you"; - mes "that I changed the"; - mes "password? *Wink Wink*"; - close; - } - mes "^3355FFThe door"; - mes "is still locked.^000000"; - close; } -in_rogue,200,389,0 script gen_ro#1 139,3,3,{ - +in_rogue,200,389,0 script gen_ro#1 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Zombie",1015,1; - monster "in_rogue",201,389,"Zombie",1015,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",200,389,"Zombie",1015,1,"gen_ro#1::OnMyMobDead"; + monster "in_rogue",201,389,"Zombie",1015,1,"gen_ro#1::OnMyMobDead"; donpcevent "gen_ro#2::OnDisable"; donpcevent "gen_ro#3::OnDisable"; donpcevent "gen_ro#4::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#1::OnMyMobDead"; end; -} -in_rogue,100,389,0 script gen_ro#2 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,100,389,0 script gen_ro#2 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",100,389,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",100,389,"Mummy",1041,1,"gen_ro#2::OnMyMobDead"; donpcevent "gen_ro#1::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#2::OnMyMobDead"; end; -} -in_rogue,150,389,0 script gen_ro#3 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,150,389,0 script gen_ro#3 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",145,389,"Zombie",1015,1; - monster "in_rogue",143,389,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",145,389,"Zombie",1015,1,"gen_ro#3::OnMyMobDead"; + monster "in_rogue",143,389,"Mummy",1041,1,"gen_ro#3::OnMyMobDead"; donpcevent "gen_ro#2::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#3::OnMyMobDead"; end; -} -in_rogue,250,389,0 script gen_ro#4 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,250,389,0 script gen_ro#4 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Abysmal Knight",1219,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",200,389,"Abysmal Knight",1219,1,"gen_ro#4::OnMyMobDead"; donpcevent "gen_ro#3::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#4::OnMyMobDead"; end; + +OnMyMobDead: + end; } in_rogue,9,389,0 script oneway_to_gu 45,1,1,{ - OnTouch: donpcevent "gen_ro#4::OnDisable"; - set RGE_Q,17; + set ROGUE_Q,17; warp "in_rogue",367,10; end; } -in_rogue,244,39,1 script Aragham Junior 99,{ - if (RGE_Q == 9) { +in_rogue,244,39,1 script Aragham Junior#rg 99,{ + if (ROGUE_Q == 9) { mes "[Aragham Jr.]"; mes "Oh, you must be"; mes "from the Rogue Guild..."; @@ -1861,47 +1419,43 @@ in_rogue,244,39,1 script Aragham Junior 99,{ mes "[Aragham Jr.]"; mes "There will be a few monsters, but don't worry. I know you're strong. Alright, are you ready to go or what?"; next; - switch (select("Yes, let's go.:Nah~")) { - case 1: - changequest 2022,2026; + if (select("Yes, let's go.:Nah~") == 1) { mes "[Aragham Jr.]"; mes "Alright..."; mes "Good luck, then."; close2; warp "in_rogue",15,105; - set RGE_Q,13; + set ROGUE_Q,13; + changequest 2022,2026; end; - case 2: - mes "[Aragham Jr.]"; - mes "Fine, fine."; - mes "Take your time"; - mes "and come back"; - mes "when you're ready."; - close; } + mes "[Aragham Jr.]"; + mes "Fine, fine."; + mes "Take your time"; + mes "and come back"; + mes "when you're ready."; + close; } - if (RGE_Q == 13) { + else if (ROGUE_Q == 13) { mes "[Aragham Jr.]"; mes "Oh, you're back."; mes "I think you'll do well this time. Another motto Rogues have is '^0000FFFailure teaches success^000000.' Well, then again..."; next; - switch (select("Re-Test:Cancel")) { - case 1: + if (select("Re-Test:Cancel") == 1) { mes "[Aragham Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; end; - case 2: - mes "[Aragham Jr.]"; - mes "Fine, fine."; - mes "Take your time"; - mes "and come back"; - mes "when you're ready."; - close; } + mes "[Aragham Jr.]"; + mes "Fine, fine."; + mes "Take your time"; + mes "and come back"; + mes "when you're ready."; + close; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Aragham Jr.]"; mes "Huh...?"; mes "Who are you?!"; @@ -1912,20 +1466,20 @@ in_rogue,244,39,1 script Aragham Junior 99,{ mes "You've come here to kill me, haven't you? N-no! I'm can't die yet! Get lost! Otherwise, I'll kill you first!"; close; } - mes "[Aragham Jr.]"; - mes "Hey..."; - mes "what brings"; - mes "you back here?"; - mes "Why don't you"; - mes "take a rest"; - mes "before you leave?"; - close; + else { + mes "[Aragham Jr.]"; + mes "Hey..."; + mes "what brings"; + mes "you back here?"; + mes "Why don't you"; + mes "take a rest"; + mes "before you leave?"; + close; + } } -in_rogue,244,21,0 warp out#01 1,1,cmd_fild09,106,191 - -in_rogue,160,34,1 script Hollgrehenn Junior 85,{ - if (RGE_Q == 11) { +in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ + if (ROGUE_Q == 11) { mes "[Hollgrehenn Jr.]"; mes "Huh..."; mes "From the"; @@ -1947,45 +1501,41 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "[Hollgrehenn Jr.]"; mes "There are some monsters there, but that'll be part of your training. Now, are you ready to go or not?"; next; - switch (select("Yes, I am.:Nah~")) { - case 1: - changequest 2024,2026; + if (select("Yes, I am.:Nah~") == 1) { mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; - set RGE_Q,15; + set ROGUE_Q,15; + changequest 2024,2026; end; - case 2: - mes "[Hollgrehenn Jr.]"; - mes "Take your time."; - mes "Come back here"; - mes "when you're ready."; - close; } + mes "[Hollgrehenn Jr.]"; + mes "Take your time."; + mes "Come back here"; + mes "when you're ready."; + close; } - if (RGE_Q == 15) { + else if (ROGUE_Q == 15) { mes "[Hollgrehenn Jr.]"; mes "Huh."; mes "You failed."; mes "Gonna try again?"; next; - switch (select("Re-Test:Cancel.")) { - case 1: + if (select("Re-Test:Cancel.") == 1) { mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; end; - case 2: - mes "[Hollgrehenn Jr.]"; - mes "Take your time."; - mes "Come back here"; - mes "when you're ready."; - close; } + mes "[Hollgrehenn Jr.]"; + mes "Take your time."; + mes "Come back here"; + mes "when you're ready."; + close; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Hollgrehenn Jr.]"; mes "Huh...?"; mes "You're not from"; @@ -2004,18 +1554,18 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "about killing you."; close; } - mes "[Hollgrehenn Jr.]"; - mes "Hey..."; - mes "Come to visit?"; - mes "We Rogues gotta"; - mes "stick together, huh?"; - close; + else { + mes "[Hollgrehenn Jr.]"; + mes "Hey..."; + mes "Come to visit?"; + mes "We Rogues gotta"; + mes "stick together, huh?"; + close; + } } -in_rogue,172,34,0 warp out#02 1,1,cmd_fild09,341,143 - -in_rogue,177,109,1 script Antonio Junior 88,{ - if (RGE_Q == 10) { +in_rogue,177,109,1 script Antonio junior#rg 88,{ + if (ROGUE_Q == 10) { mes "[Antonio Jr.]"; mes "You're from"; mes "the Rogue guild?"; @@ -2035,37 +1585,34 @@ in_rogue,177,109,1 script Antonio Junior 88,{ mes "[Antonio Jr.]"; mes "There are monsters there, but if you avoid the strong and be malicious to the weak, you'll be fine."; next; - switch (select("Let's go!:W-wait~")) { - case 1: + if (select("Let's go!:W-wait~") == 1) { mes "[Antonio Jr.]"; mes "I hope you do"; mes "not fail this test"; mes "You can only become"; mes "a Rogue if you pass..."; - changequest 2023,2026; close2; warp "in_rogue",15,105; - set RGE_Q,14; + set ROGUE_Q,14; + changequest 2023,2026; end; - case 2: - mes "[Antonio Jr.]"; - mes "I don't have time"; - mes "to fool around with"; - mes "you. Hurry up, get"; - mes "ready, then take"; - mes "the test."; - close; } + mes "[Antonio Jr.]"; + mes "I don't have time"; + mes "to fool around with"; + mes "you. Hurry up, get"; + mes "ready, then take"; + mes "the test."; + close; } - if (RGE_Q == 14) { + else if (ROGUE_Q == 14) { mes "[Antonio Jr.]"; mes "You failed...?"; mes "I guess that's life."; mes "Are you gonna try"; mes "again or what?"; next; - switch (select("Re-test:Cancel")) { - case 1: + if (select("Re-test:Cancel") == 1) { mes "[Antonio Jr.]"; mes "Remember, I'm doing"; mes "you a favor here..."; @@ -2074,17 +1621,16 @@ in_rogue,177,109,1 script Antonio Junior 88,{ close2; warp "in_rogue",15,105; end; - case 2: - mes "[Antonio Jr.]"; - mes "I don't have time"; - mes "to fool around with"; - mes "you. Hurry up, get"; - mes "ready, then take"; - mes "the test."; - close; } + mes "[Antonio Jr.]"; + mes "I don't have time"; + mes "to fool around with"; + mes "you. Hurry up, get"; + mes "ready, then take"; + mes "the test."; + close; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "Huh...?"; mes "Who are you?!"; mes "You're not from"; @@ -2094,343 +1640,344 @@ in_rogue,177,109,1 script Antonio Junior 88,{ mes "You've come here to kill me?! I won't let you!! Come on, give me your best shot! You can't fight if I rip out your eyes!"; close; } - mes "[Antonio Jr.]"; - mes "Hey, how's it goin'?"; - mes "Take it easy, and just"; - mes "relax before you leave."; - close; + else { + mes "[Antonio Jr.]"; + mes "Hey, how's it goin'?"; + mes "Take it easy, and just"; + mes "relax before you leave."; + close; + } } -in_rogue,161,103,0 warp out#1 1,1,cmd_fild04,302,177 - in_rogue,370,320,0 script quest_out 45,1,1,{ - OnTouch: - set RGE_Q,16; - changequest 2026,2027; + set ROGUE_Q,16; warp "in_rogue",378,113; end; } -in_rogue,15,184,0 script mob_rogue#1 139,8,1,{ - +in_rogue,15,184,0 script mob_rogue#1 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",14,187,"Zombie",1015,1; - monster "in_rogue",15,188,"Zombie",1015,1; - monster "in_rogue",16,189,"Zombie",1015,1; - monster "in_rogue",17,187,"Zombie",1015,1; - monster "in_rogue",18,188,"Zombie",1015,1; - monster "in_rogue",19,189,"Zombie",1015,1; - } - else { + if (BaseJob == Job_Thief) { + monster "in_rogue",14,187,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + monster "in_rogue",15,188,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + monster "in_rogue",16,189,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + monster "in_rogue",17,187,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + monster "in_rogue",18,188,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + monster "in_rogue",19,189,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead"; + } + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#1::OnMyMobDead"; end; -} -in_rogue,15,273,0 script mob_rogue#2 139,8,1,{ +OnMyMobDead: + end; +} +in_rogue,15,273,0 script mob_rogue#2 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,276,"Mummy",1041,1; - monster "in_rogue",13,276,"Mummy",1041,1; - monster "in_rogue",11,276,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",15,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead"; + monster "in_rogue",13,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead"; + monster "in_rogue",11,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#2::OnMyMobDead"; end; -} -in_rogue,15,333,0 script mob_rogue#3 139,8,1,{ +OnMyMobDead: + end; +} +in_rogue,15,333,0 script mob_rogue#3 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - } - else { + if (BaseJob == Job_Thief) { + monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead"; + monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead"; + monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead"; + monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead"; + donpcevent "mob_rogue#4::OnDisable"; + donpcevent "mob_rogue#7::OnDisable"; + donpcevent "mob_rogue#8::OnDisable"; + } + else warp "mag_dun02",181,176; - } end; -OnReset: - killmonster "in_rogue","mob_rogue#3::OnMyMobDead"; +OnDisable: + killmonster "in_rogue","mob_rogue#3::OnMyMObDead"; + end; + +OnMyMobDead: end; } -in_rogue,39,341,0 script mob_rogue#4 139,1,8,{ - +in_rogue,39,341,0 script mob_rogue#4 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",39,341,"Mummy",1041,1; - monster "in_rogue",40,341,"Ghoul",1036,1; - monster "in_rogue",41,341,"Abysmal Knight",1219,1; - monster "in_rogue",42,341,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",39,341,"Mummy",1041,1,"mob_rogue#4::OnMyMobDead"; + monster "in_rogue",40,341,"Ghoul",1036,1,"mob_rogue#4::OnMyMobDead"; + monster "in_rogue",41,341,"Abysmal Knight",1219,1,"mob_rogue#4::OnMyMobDead"; + monster "in_rogue",42,341,"Mummy",1041,1,"mob_rogue#4::OnMyMobDead"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#4::OnMyMobDead"; end; -} -in_rogue,102,334,0 script mob_rogue#5 139,1,4,{ +OnMyMobDead: + end; +} +in_rogue,102,334,0 script mob_rogue#5 -1,1,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",92,334,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; + if (BaseJob == Job_Thief) { + monster "in_rogue",92,334,"Khalitzburg",1132,1,"mob_rogue#5::OnMyMobDead"; + donpcevent "mob_rogue#1::OnDisable"; + donpcevent "mob_rogue#2::OnDisable"; + donpcevent "mob_rogue#3::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#5::OnMyMobDead"; end; -} -in_rogue,58,309,0 script mob_rogue#6 139,4,1,{ +OnMyMobDead: + end; +} +in_rogue,58,309,0 script mob_rogue#6 -1,4,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",57,301,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; + if (BaseJob == Job_Thief) { + monster "in_rogue",57,301,"Khalitzburg",1132,1,"mob_rogue#6::OnMyMobDead"; + donpcevent "mob_rogue#1::OnDisable"; + donpcevent "mob_rogue#2::OnDisable"; + donpcevent "mob_rogue#3::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#6::OnMyMobDead"; end; -} -in_rogue,101,264,0 script mob_rogue#7 139,5,5,{ +OnMyMobDead: + end; +} +in_rogue,101,264,0 script mob_rogue#7 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",101,264,"Abysmal Knight",1219,1; - monster "in_rogue",102,264,"Abysmal Knight",1219,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",101,264,"Abysmal Knight",1219,1,"mob_rogue#7::OnMyMobDead"; + monster "in_rogue",102,264,"Abysmal Knight",1219,1,"mob_rogue#7::OnMyMobDead"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#7::OnMyMobDead"; end; -} -in_rogue,140,312,0 script mob_rogue#8 139,5,5,{ +OnMyMobDead: + end; +} +in_rogue,140,312,0 script mob_rogue#8 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",140,312,"Abysmal Knight",1219,1; - } - else { + if (BaseJob == Job_Thief) + monster "in_rogue",140,312,"Abysmal Knight",1219,1,"mob_rogue#8::OnMyMobDead"; + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#8::OnMyMobDead"; end; -} -in_rogue,139,246,0 script mob_rogue#9 139,4,4,{ +OnMyMobDead: + end; +} +in_rogue,139,246,0 script mob_rogue#9 -1,4,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",139,246,"Zombie",1015,1; - monster "in_rogue",149,246,"Zombie",1015,1; - monster "in_rogue",140,246,"Zombie",1015,1; - monster "in_rogue",141,246,"Zombie",1015,1; - monster "in_rogue",150,246,"Zombie",1015,1; - monster "in_rogue",151,246,"Zombie",1015,1; - } - else { + if (BaseJob == Job_Thief) { + monster "in_rogue",139,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + monster "in_rogue",149,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + monster "in_rogue",140,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + monster "in_rogue",141,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + monster "in_rogue",150,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + monster "in_rogue",151,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead"; + } + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#9::OnMyMobDead"; end; -} -in_rogue,197,249,0 script mob_rogue#10 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,197,249,0 script mob_rogue#10 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",176,211,"Ghoul",1036,1; - monster "in_rogue",176,212,"Zombie",1015,1; - monster "in_rogue",176,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Abysmal Knight",1219,1; - monster "in_rogue",177,211,"Zombie",1015,1; - monster "in_rogue",177,212,"Zombie",1015,1; - monster "in_rogue",177,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Zombie",1015,1; - monster "in_rogue",178,211,"Zombie",1015,1; - monster "in_rogue",178,212,"Zombie",1015,1; - monster "in_rogue",178,213,"Zombie",1015,1; - monster "in_rogue",178,214,"Archer Skeleton",1016,1; - monster "in_rogue",179,211,"Zombie",1015,1; - monster "in_rogue",179,212,"Zombie",1015,1; - monster "in_rogue",179,213,"Zombie",1015,1; - monster "in_rogue",179,214,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - } - else { + if (BaseJob == Job_Thief) { + monster "in_rogue",176,211,"Ghoul",1036,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",176,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",176,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",177,214,"Abysmal Knight",1219,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",177,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",177,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",177,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",177,214,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",178,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",178,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",178,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",178,214,"Archer Skeleton",1016,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",179,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",179,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",179,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + monster "in_rogue",179,214,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead"; + donpcevent "mob_rogue#4::OnDisable"; + donpcevent "mob_rogue#5::OnDisable"; + donpcevent "mob_rogue#6::OnDisable"; + } + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#10::OnMyMobDead"; end; -} -in_rogue,96,205,0 script mob_rogue#11 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,96,205,0 script mob_rogue#11 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; + if (BaseJob == Job_Thief) { + donpcevent "mob_rogue#7::OnDisable"; + donpcevent "mob_rogue#8::OnDisable"; + donpcevent "mob_rogue#9::OnDisable"; + donpcevent "mob_rogue#10::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; } -in_rogue,86,187,0 script mob_rogue#12 139,1,8,{ - +in_rogue,86,187,0 script mob_rogue#12 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",90,187,"Mummy",1041,1; - monster "in_rogue",90,183,"Mummy",1041,1; - monster "in_rogue",90,190,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",90,187,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead"; + monster "in_rogue",90,183,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead"; + monster "in_rogue",90,190,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: + +OnDisable: killmonster "in_rogue","mob_rogue#12::OnMyMobDead"; end; -} -in_rogue,223,187,0 script mob_rogue#13 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,223,187,0 script mob_rogue#13 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",236,186,"Abysmal Knight",1219,1; - monster "in_rogue",238,186,"Abysmal Knight",1219,1; - monster "in_rogue",234,186,"Abysmal Knight",1219,1; - donpcevent "mob_rogue#12::OnReset"; + if (BaseJob == Job_Thief) { + monster "in_rogue",236,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead"; + monster "in_rogue",238,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead"; + monster "in_rogue",234,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead"; + donpcevent "mob_rogue#12::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#13::OnMyMobDead"; end; -} -in_rogue,233,207,0 script mob_rogue#14 139,8,3,{ +OnMyMobDead: + end; +} +in_rogue,233,207,0 script mob_rogue#14 -1,8,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#13::OnReset"; - } - else { + if (BaseJob == Job_Thief) + donpcevent "mob_rogue#13::OnDisable"; + else warp "mag_dun02",181,176; - } end; } -in_rogue,244,319,0 script mob_rogue#15 139,1,8,{ - +in_rogue,244,319,0 script mob_rogue#15 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - } - else { + if (BaseJob == Job_Thief) { + monster "in_rogue",240,319,"Mummy",1041,1,"mob_rogue#15::OnMyMobDead"; + monster "in_rogue",259,319,"Archer Skeleton",1016,1,"mob_rogue#15::OnMyMobDead"; + monster "in_rogue",259,320,"Ghoul",1036,1,"mob_rogue#15::OnMyMobDead"; + monster "in_rogue",240,319,"Mummy",1041,1,"mob_rogue#15::OnMyMobDead"; + monster "in_rogue",259,319,"Archer Skeleton",1016,1,"mob_rogue#15::OnMyMobDead"; + monster "in_rogue",259,320,"Ghoul",1036,1,"mob_rogue#15::OnMyMobDead"; + } + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#15::OnMyMobDead"; end; -} -in_rogue,334,319,0 script mob_rogue#16 139,8,8,{ +OnMyMobDead: + end; +} +in_rogue,334,319,0 script mob_rogue#16 -1,8,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#15::OnReset"; - } - else { + if (BaseJob == Job_Thief) + donpcevent "mob_rogue#15::OnDisable"; + else warp "mag_dun02",181,176; - } end; } -in_rogue,3,3,0 script resetter#rogue 139,{ - end; - +in_rogue,3,3,0 script resetter#rogue -1,{ OnTimer500000: - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; + donpcevent "mob_rogue#1::OnDisable"; + donpcevent "mob_rogue#2::OnDisable"; + donpcevent "mob_rogue#3::OnDisable"; + donpcevent "mob_rogue#4::OnDisable"; + donpcevent "mob_rogue#5::OnDisable"; + donpcevent "mob_rogue#6::OnDisable"; + donpcevent "mob_rogue#7::OnDisable"; + donpcevent "mob_rogue#8::OnDisable"; + donpcevent "mob_rogue#9::OnDisable"; + donpcevent "mob_rogue#10::OnDisable"; + donpcevent "mob_rogue#12::OnDisable"; + donpcevent "mob_rogue#13::OnDisable"; + donpcevent "mob_rogue#15::OnDisable"; initnpctimer; end; @@ -2443,34 +1990,45 @@ OnInit: end; } -in_rogue,375,33,0 warp warp_rogue#1 1,1,in_rogue,380,125 -in_rogue,375,125,0 warp warp_rogue#2 1,1,in_rogue,379,33 -in_rogue,375,46,0 warp warp_rogue#3 1,1,cmd_fild07,196,117 -cmd_fild07,193,117,0 warp warp_rogue#4 1,1,in_rogue,379,46 -in_rogue,247,122,0 warp cmd=fild07 1,1,cmd_fild07,349,285 - in_rogue,399,286,1 script switch#rogreset 88,{ + mes "^F08080Tah dah~"; + mes "Monsters for the"; + mes "Rogue Job Change"; + mes "have been reset^000000."; + donpcevent "mob_rogue#1::OnDisable"; + donpcevent "mob_rogue#2::OnDisable"; + donpcevent "mob_rogue#3::OnDisable"; + donpcevent "mob_rogue#4::OnDisable"; + donpcevent "mob_rogue#5::OnDisable"; + donpcevent "mob_rogue#6::OnDisable"; + donpcevent "mob_rogue#7::OnDisable"; + donpcevent "mob_rogue#8::OnDisable"; + donpcevent "mob_rogue#9::OnDisable"; + donpcevent "mob_rogue#10::OnDisable"; + donpcevent "mob_rogue#12::OnDisable"; + donpcevent "mob_rogue#13::OnDisable"; + donpcevent "mob_rogue#15::OnDisable"; + donpcevent "resetter#rogue::OnEnable"; + close; +} - if(getgmlevel() == 99){ - mes "^F08080Tah dah~"; - mes "Monsters for the"; - mes "Rogue Job Change"; - mes "have been reset^000000."; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; - donpcevent "resetter#rogue::OnEnable"; - close; - } - end; -}
\ No newline at end of file +//============================================================ +// mapflag +//============================================================ + +//============================================================ +// Old changelog +//============================================================ +//= 1.1 fixed 3 wrong questions, added missing lines [Lupus] +//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus] +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged JFunc [Lupus] +//= 2.3 Added a possibility for players doing Meginjyard quest +//= to enter Rogue guild as there's a NPC inside [SinSloth] +//= 2.3a fixed test4 person interaction, let BABY thieves pass +//= the test, too [Lupus] |