diff options
author | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-17 22:05:04 +0000 |
---|---|---|
committer | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-17 22:05:04 +0000 |
commit | 3e909f3c4a25d5f550dccf1b7a98922c80a90416 (patch) | |
tree | e1eab2ec4f3754e9c15084a2258349cac5572ca1 /npc | |
parent | cdc99369d200c9e168d2dda2200fc64202285a66 (diff) | |
download | hercules-3e909f3c4a25d5f550dccf1b7a98922c80a90416.tar.gz hercules-3e909f3c4a25d5f550dccf1b7a98922c80a90416.tar.bz2 hercules-3e909f3c4a25d5f550dccf1b7a98922c80a90416.tar.xz hercules-3e909f3c4a25d5f550dccf1b7a98922c80a90416.zip |
* Updated Rune Knight and Ranger job quests to their latest versions. This completes the recent third job updates (r17024, r17010, r16991, r16990).
* Fixed quest_db name typos (bugreport:7011).
* Added Wolf Flute Trader script to re\merchants\falcon_flute.txt, and renamed to re\merchants\flute.txt.
* Optimized Falcon Flute Trader script.
* Added constants in El Dicastes quests.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17028 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r-- | npc/kafras/functions_kafras.txt | 17 | ||||
-rw-r--r-- | npc/re/jobs/3-1/ranger.txt | 2282 | ||||
-rw-r--r-- | npc/re/jobs/3-1/rune_knight.txt | 3467 | ||||
-rw-r--r-- | npc/re/jobs/3-2/genetic.txt | 3 | ||||
-rw-r--r-- | npc/re/jobs/3-2/shadow_chaser.txt | 18 | ||||
-rw-r--r-- | npc/re/merchants/falcon_flute.txt | 123 | ||||
-rw-r--r-- | npc/re/merchants/flute.txt | 141 | ||||
-rw-r--r-- | npc/re/quests/quests_dicastes.txt | 24 | ||||
-rw-r--r-- | npc/re/scripts_athena.conf | 2 |
9 files changed, 1764 insertions, 4313 deletions
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt index c8ea55644..c1e7d25ee 100644 --- a/npc/kafras/functions_kafras.txt +++ b/npc/kafras/functions_kafras.txt @@ -5,7 +5,7 @@ //= Darlskies, Darkchild, Syrus22, Lupus, kobra_k88 (2.0) //= L0ne_W0lf //===== Current Version: ===================================== -//= 6.6 +//= 6.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -61,6 +61,7 @@ //= 6.4 Removed unofficial Guide function. [Daegaladh] //= 6.5 Optimized. [Joseph] //= 6.6 Added Warp Points / View Points Function. [Joseph] +//= 6.7 Added Rune Knight Kafra. [Euphy] //============================================================ //=== Main Function ======================================================== @@ -135,11 +136,13 @@ function script F_Kafra { // No save, or teleport. (Common) case 5: setarray @K_Menu0$[0],"Use Storage","Rent a Pushcart","Check Other Information","Cancel"; break; // Storage and Check Other Information only. - case 6: setarray @K_Menu0$[0],"Use Storage","Check Other Information","Cancel"; break; + case 6: setarray @K_Menu0$[0],"Use Storage","Check Other Information","Cancel"; break; // Save, Storage, and Pushcart only (Kafra Warehouse) case 7: setarray @K_Menu0$[0],"Save","Use Storage","Rent a Pushcart","Cancel"; break; // Save, Storage, Other Check information. (Turbo track) case 8: setarray @K_Menu0$[0],"Save","Use Storage","Check Other Information","Cancel"; break; + // No Save (Rune Knight) + case 9: setarray @K_Menu0$[0],"Use Storage","Rent a Pushcart","Use Teleport Service","Check Other Information","Cancel"; break; // Default message (obsolete) default: setarray @K_Menu0$[0],"Save","Use Storage","Use Teleport Service","Rent a Pushcart","Check Other Information","Cancel"; break; } @@ -327,7 +330,7 @@ function script F_KafTele { //=================================================== function script F_KafCart { // Ensure that the class wanting to rent a pushcart is a merchant - if(baseClass != Job_Merchant){ + if(BaseClass != Job_Merchant){ mes "[Kafra Employee]"; mes "I'm sorry, but the"; mes "Pushcart rental service"; @@ -378,7 +381,8 @@ function script F_KafInfo { // Uncomment next line to block Kafra Storage Protection // set .@block, 1; setarray .@m$, "Check Special Reserve Points.","Storage Password Service","Kafra Employee Locations","Cancel"; - if (.@block) deletearray .@m$[1],1; + if (getarg(0) == 2) deletearray .@m$[1],2; // Rune Knight + else if (.@block) deletearray .@m$[1],1; while (1) { set .@j, select(implode(.@m$,":")) - 1; if (.@m$[.@j] == "Check Special Reserve Points.") { @@ -622,9 +626,12 @@ function script F_KafSet { setarray @wrpP[0], 1200; setarray @viewpX[0], 328, 278, 153, 0; setarray @viewpY[0], 108, 221, 187, 0; + } else if (strnpcinfo(4) == "job3_rune01") { + setarray @wrpD$[0], "Izlude", "Geffen", "Payon", "Morroc", "Alberta"; + setarray @wrpP[0], 600, 1200, 1200, 1200, 1800; } for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1) setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]"); setd "@wrpC$["+getarraysize(@wrpC$)+"]","Cancel"; return; -}
\ No newline at end of file +}
\ No newline at end of file diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt index c04b36ba6..ab6371cfd 100644 --- a/npc/re/jobs/3-1/ranger.txt +++ b/npc/re/jobs/3-1/ranger.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,22 +12,21 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Masao] //= 1.1 Updated SC_STONE duration from 2 Seconds to 2 Minutes -//= and fixed Mercenary check. -//= 1.2 Fixed first Quest so that when a false poring got killed -//= it decreases the total points by 1 also commented the SC_STONE -//= part until M_DESERT_WOLF_B Mercenary is fully working. +//= and fixed Mercenary check. +//= 1.2 Fixed first quest so that when a false poring got killed +//= it decreases the total points by 1, commented the SC_STONE +//= part until M_DESERT_WOLF_B Mercenary is fully working. //= 1.3 Fixed waves not being announced and counted [Elias] //= 1.3a Little beauty fix, changed break; to next; . [Masao] //= 1.4 Some optimization. [Euphy] +//= 1.5 Updated script, optimized. [Euphy] //============================================================ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ - - if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter) - { - if (job_ranger01 < 1) - { - mes "[Survival Instructor, Rescue]"; + mes "[Survival Instructor, Rescue]"; + if (BaseJob == Job_Hunter) { + if (job_ranger01 < 1) { + mes "eeeeei~ ha!"; mes "The weather is really great."; next; mes "[Survival Instructor, Rescue]"; @@ -35,8 +34,7 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "The monsters here are a"; mes "little tough so be careful."; next; - if(select("I came here to become a Ranger.:I just came to look around.") == 2) - { + if(select("I came here to become to a Ranger.:I just came to look around.") == 2) { mes "[Survival Instructor, Rescue]"; mes "Oh ya?"; mes "The weather is really great. Shall we take a picture to commemorate it?"; @@ -48,19 +46,12 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ } mes "[Survival Instructor, Rescue]"; mes "Huh?"; - mes "How did you find me?"; + mes "How did you come again and find me?"; next; mes "[Survival Instructor, Rescue]"; mes "Well, it's a passing mark that you recognize me... let me see."; next; - if ((BaseLevel > 98) && (JobLevel > 49)) - { - mes "[Survival Instructor, Rescue]"; - mes "Ok!"; - mes "It looks like you have"; - mes "enough experience."; - next; - }else{ + if (BaseLevel < 99 || JobLevel < 50) { mes "[Survival Instructor, Rescue]"; mes "No."; mes "I can tell just by looking at you that you seem to be inexperienced."; @@ -70,8 +61,13 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ close; } mes "[Survival Instructor, Rescue]"; + mes "Ok!"; + mes "It looks like you have"; + mes "enough experience."; + next; + mes "[Survival Instructor, Rescue]"; mes "Good."; - mes "First of all,let me tell you the job change qualifications to be a Ranger."; + mes "First of all, let me tell you the job change qualifications to be a Ranger."; next; mes "[Survival Instructor, Rescue]"; mes "I've already checked the first qualification that you've experienced enough to make an aura as a Hunter or a Sniper."; @@ -79,16 +75,15 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "[Survival Instructor, Rescue]"; mes "For the second qualification to judge one's ability exactly, you need to lighten your body and mind."; next; - if (Class == Job_Hunter || Class == Job_Baby_Hunter) - { + if (Class == Job_Hunter || Class == Job_Baby_Hunter) { mes "[Survival Instructor, Rescue]"; mes "Ah wait, before that."; - mes "When you change jobs into a Ranger from a Hunter, you won't get any chance to learn the skills of a Sniper, is that okay with you?"; + mes "When you change a job into a Ranger from a Hunter,"; + mes "you won't get any chance to learn the skills of a Sniper, would that be okay?"; next; - switch(select("I'll think about it more.:I want to be a Ranger already.")) - { + switch(select("I'll think about it more.:I want to be a Ranger already.")) { case 1: - mes "[Survival Instructor]"; + mes "[Survival Instructor, Rescue]"; mes "Okay."; mes "Take your time to think, if it's okay then come back."; close; @@ -97,17 +92,16 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "All right."; mes "You are ready then."; next; - break; } mes "[Survival Instructor, Rescue]"; mes "Well let's continue our conversation."; mes "Before you change into a Ranger, even though you reached the highest level of a Hunter, it is not the best evaluation of your abilities."; next; - mes "[Survival Instructor]"; - mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~";; + mes "[Survival Instructor, Rescue]"; + mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~"; next; } else { - mes "[Survival Instructor]"; + mes "[Survival Instructor, Rescue]"; mes "Before you change into a Ranger, even though you reached the highest level of a Sniper, it is not the best evaluation of your abilities."; next; mes "[Survival Instructor]"; @@ -122,13 +116,9 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ close2; warp "alberta",117,57; end; - } - else if (job_ranger01 == 1) - { - if (Weight < 1) - { - mes "[Survival Instructor, Rescue]"; - mes "Wow you've come back so quickly."; + } else if (job_ranger01 == 1) { + if (Weight < 1) { + mes "Wow, you've come back so quickly."; next; mes "[Survival Instructor, Rescue]"; mes "Ok, now I'll talk about the requirements to take the test to become a Ranger."; @@ -159,34 +149,23 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ changequest 8254,8255; close; } - mes "[Survival Instructor, Rescue]"; mes "Before you change into a Ranger, I'll need to evaluate your pure abilities."; next; mes "[Survival Instructor, Rescue]"; mes "To do this you need to be cleansed of body and soul."; mes "Make sure that your weight equals 0 to continue."; - close2; - warp "alberta",117,57; - end; - } - else if (job_ranger01 == 2) - { - if (Weight < 1) - { - mes "[Survival Instructor, Rescue]"; + close; + } else if (job_ranger01 == 2) { + if (Weight < 1) { mes "Um. That you talked to me again means that you are determined to change into a Ranger and take the survival power test."; next; - switch(select("I'll think about it more:I'll take the test")) - { - case 1: + if(select("I'll think about it more:I'll take the test") == 1) { mes "[Survival Instructor, Rescue]"; mes "Prepare yourself very well before taking this test."; next; mes "[Survival Instructor, Rescue]"; mes "Think about it well and come back."; close; - case 2: - break; } mes "[Survival Instructor, Rescue]"; mes "If you are determined, then there's nothing to wait for."; @@ -203,8 +182,7 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "Remember that you don't have any other equipment on, so be careful of the monsters."; mes "Ready to start?"; next; - if(select("Wait a second:Yes, I'm ready") == 1) - { + if(select("Wait a second:Yes, I'm ready") == 1) { mes "[Survival Instructor, Rescue]"; mes "What kind of preparation can be so long."; next; @@ -218,12 +196,11 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "Do your best."; set job_ranger01,3; changequest 8255,8256; - getitem 1703,1; - getitem 12323,10; - getitem 1750,500; + getitem 1703,1; //Bow__ + getitem 12323,10; //N_Fly_Wing + getitem 1750,500; //Arrow close; } - mes "[Survival Instructor, Rescue]"; mes "I knew it."; next; mes "[Survival Instructor, Rescue]"; @@ -233,16 +210,11 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "[Survival Instructor, Rescue]"; mes "If you don't make your weight 0, you wouldn't be able to take the test."; close; - } - else if (job_ranger01 == 3) - { - mes "[Survival Instructor, Rescue]"; + } else if (job_ranger01 == 3) { mes "Umm?"; mes "What are you waiting for?"; next; - switch(select("Tell me the mission again.:I just wanted to talk.")) - { - case 1: + if(select("Tell me the mission again.:I just wanted to talk.") == 1) { mes "[Survival Instructor, Rescue]"; mes "Oh, ya."; mes "Is this the mind of a person who's going to take the test?"; @@ -258,8 +230,7 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "As you don't have any equipment on, be careful of the monsters in the field."; mes "Well, shall we start?"; next; - if(select("Wait a minute:I will start") == 1) - { + if(select("Wait a minute:I will start") == 1) { mes "[Survival Instructor, Rescue]"; mes "What kind of preparation can be so long."; next; @@ -271,8 +242,6 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "Okay, let's start."; mes "There's no time to hesitate, so do your best."; close; - case 2: - break; } mes "[Survival Instructor, Rescue]"; mes "I don't think you have the time for that."; @@ -280,27 +249,20 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "[Survival Instructor, Rescue]"; mes "Hurry up and finish the test."; close; - } - else if ((job_ranger01 > 3) && (job_ranger01 < 7)) - { - mes "[Survival Instructor, Rescue]"; + } else if (job_ranger01 > 3 && job_ranger01 < 7) { mes "Are you still wandering about here?"; next; mes "[Survival Instructor, Rescue]"; mes "Well, if you are an easy person, that's none of my business but if you decided once, wouldn't it be better to take the practical test in a minute and meet me after becoming a Ranger?"; close; - } - else if (job_ranger01 == 7) - { - mes "[Survival Instructor, Rescue]"; + } else if (job_ranger01 == 7) { mes "Oh, hey. What are you doing here?"; next; mes "[Survival Instructor, Rescue]"; mes "Because you've disappeared suddenly, the Ranger Master was looking for you."; - mes "Dou you want to go to him now?"; + mes "Do you want to go to him now?"; next; - switch(select("Don't go:Go")) - { + switch(select("Don't go:Go")) { case 1: mes "[Survival Instructor, Rescue]"; mes "Are you busy with something else?"; @@ -313,21 +275,7 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ end; } } - else if (job_ranger01 > 7) - { - mes "[Survival Instructor, Rescue]"; - mes "Umm, who's there?"; - next; - mes "[Survival Instructor, Rescue]"; - mes "Hey, you look great."; - mes "Congratulations on becoming a Ranger~"; - next; - mes "[Survival Instructor, Rescue]"; - mes "Next time, try not to intimidate other people."; - close; - } - mes "[Survival Instructor, Rescue]"; - mes "Umm, who's there?"; + mes "Oh, hey. Who's this?"; next; mes "[Survival Instructor, Rescue]"; mes "Hey, you look great."; @@ -337,37 +285,29 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "Next time, try not to intimidate other people."; close; } - else if (Class == 4056 || Class == 4062) - { - if (job_ranger01 == 8) - { - mes "[Survival Instructor, Rescue]"; - mes "Umm, who's there?"; - mes "You really look like a talented..."; + if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + if (job_ranger01 == 8) { + mes "Ho. Who's this~"; + mes "You really look talented..."; next; mes "[Survival Instructor, Rescue]"; mes "Next time, try not to intimidate other people."; close; } } - mes "[Survival Instructor, Rescue]"; mes "Ha ~ ha."; mes "The weather is really great."; next; mes "[Survival Instructor, Rescue]"; mes "What's up?"; - mes "The monsters here are a"; - mes "little tough so be careful."; + mes "The monsters here are a little tough so be careful."; close; } tur_dun01,91,169,3 script Test Instructor#jr02 732,{ - - if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter) - { - if (job_ranger01 < 3) - { - mes "[Test Instructor, Teardrop]"; + mes "[Test Instructor, Teardrop]"; + if (BaseJob == Job_Hunter) { + if (job_ranger01 < 3) { mes "Good to goooooo!!!!!!!"; next; mes "[Test Instructor, Teardrop]"; @@ -380,20 +320,16 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "Then he will tell you the requirement for the job change test!!!"; close; - } - else if (job_ranger01 == 3) - { - mes "[Test Instructor, Teardrop]"; + } else if (job_ranger01 == 3) { mes "Good to goooooo!!!!!!!"; next; mes "[Test Instructor, Teardrop]"; - mes "Huh? Who are you? What are you wandering about here, you baby archer."; + mes "Huh? Who are you? What are you doing here, you baby archer."; next; mes "[Test Instructor, Teardrop]"; mes "That you are coming and going bugs me so, would you please stop?!"; next; - if(select("Ranger practical test building?:I came for the test.") == 1) - { + if(select("Ranger practical test building?:I came for the test.") == 1) { mes "[Test Instructor, Teardrop]"; mes "What, what are you...?"; next; @@ -410,11 +346,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "But, can you be sure that there wasn't any cheating?"; next; - if (Weight > 501) - { - mes "[Test Instructor, Teardrop]"; - mes "Hmm. It's doubtful..."; - next; + if (Weight > 500) { mes "[Test Instructor, Teardrop]"; mes "See, I knew it."; next; @@ -430,6 +362,9 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ end; } mes "[Test Instructor, Teardrop]"; + mes "Hmm. It's doubtful..."; + next; + mes "[Test Instructor, Teardrop]"; mes "I don't smell any signs of cheating. For now..."; next; mes "[Test Instructor, Teardrop]"; @@ -448,14 +383,9 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ set job_ranger01,4; changequest 8256,8257; close; - } - else if(job_ranger01 == 4) - { - if (checkquest(8257) == 1) - { - if (countitem(7064) > 0) - { - mes "[Test Instructor, Teardrop]"; + } else if (job_ranger01 == 4) { + if (checkquest(8257,HUNTING) == 2) { + if (countitem(7064) > 0) { mes "Oh! Oh! Woooooow!"; mes "You've brought it! Let me see..."; next; @@ -469,30 +399,12 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "Well, before I explain, could you please give me that Dragonfly wing?"; mes "You've heard the saying, 'in any situation, eating comes first'?"; - delitem 7064,1; + delitem 7064,1; //Dragon_Fly_Wing set job_ranger01,5; changequest 8257,8258; close; } - mes "[Test Instructor, Teardrop]"; - mes "What are you doing there? Standing with a blank look."; - next; - mes "[Test Instructor, Teardrop]"; - mes "I'm hungry."; - mes "Before taking the practical test, I want to eat something."; - next; - mes "[Test Instructor, Teardrop]"; - mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me."; - next; - mes "[Test Instructor, Teardrop]"; - mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Dragon Fly Wing^000000."; - next; - mes "[Test Instructor, Teardrop]"; - mes "If you run out of the provided items, we cannot support more so take care."; - mes "Consider this as an extension of the survival power test."; - close; } - mes "[Test Instructor, Teardrop]"; mes "What are you doing there? Standing with a blank look."; next; mes "[Test Instructor, Teardrop]"; @@ -509,16 +421,12 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "If you run out of the provided items, we cannot support more so take care."; mes "Consider this as an extension of the survival power test."; close; - } - else if (job_ranger01 == 5) - { - mes "[Test Instructor, Teardrop]"; + } else if (job_ranger01 == 5) { mes "Awooo. Yumyum."; mes "Eh? What are you looking at?"; mes "You want to eat some?"; next; - switch(select("Oh, just eat up:...")) - { + switch(select("Oh, just eat up:...")) { case 1: mes "[Test Instructor, Teardrop]"; mes "Why aren't you eating?"; @@ -577,9 +485,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "[Test Instructor, Teardrop]"; mes "Now, I will enter you into the practical test field, is your preparation all done?"; next; - switch(select("Please wait a little:Let's go to the practical test field!")) - { - case 1: + if(select("Please wait a little:Let's go to the practical test field!") == 1) { mes "[Test Instructor, Teardrop]"; mes "Um? Aren't you ready?"; next; @@ -587,63 +493,10 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "Well. To be careful is good."; mes "Come back when you are ready."; close; - case 2: - if (getmercinfo(1) > 0) - { - mes "[Test Instructor, Teardrop]"; - mes "Stop!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "Where do you think you're going with the mercenary?!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!"; - close; - } - if (Weight > 501) - { - mes "[Test Instructor, Teardrop]"; - mes "See, for the last time, I warn you that cheating is strictly banned."; - next; - mes "[Test Instructor, Teardrop]"; - mes "Well, then let's gooooooooo.... oo,um?"; - next; - mes "[Test Instructor, Teardrop]"; - mes "Hey, what are you hiding there?"; - mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "You'd better lighten your weight."; - close; - } } - if (countitem(1750) > 99) - { - mes "[Test Instructor, Teardrop]"; - mes "Good luck."; - mes "Be a ranger and we shall meet again."; - set job_ranger01,6; - changequest 8258,8259; - close2; - warp "job3_rang01",30,36; - end; - } - mes "[Test Instructor, Teardrop]"; - mes "Okay, once again I'll provide you with arrows, then I'll let you in."; - next; - mes "[Test Instructor, Teardrop]"; - mes "Good luck."; - mes "Be a ranger and we shall meet again."; - set job_ranger01,6; - changequest 8258,8259; - getitem 1750,100; + callsub L_Start,0; close; - warp "job3_rang01",30,36; - end; - } - else if (job_ranger01 == 6) - { - mes "[Test Instructor, Teardrop]"; + } else if (job_ranger01 == 6) { mes "Good to goooooo!!!!!!!"; next; mes "[Test Instructor, Teardrop]"; @@ -651,15 +504,14 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "Why are you walking about here? What about the test?"; next; mes "[Test Instructor, Teardrop]"; - mes "Aha.. You've failed the middle!"; + mes "Aha... You've failed the middle!"; mes "You are such a fool."; - emotion 4; + emotion e_gg; next; mes "[Test Instructor, Teardrop]"; mes "So what are you going to do? Try again?"; next; - switch(select("Wait a minute:Go to the practical test field!:I give up the job change.")) - { + switch(select("Wait a minute:Go to the practical test field!:I give up the job change.")) { case 1: mes "[Test Instructor, Teardrop]"; mes "Um? Aren't you ready yet?"; @@ -669,62 +521,8 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "Come when you are ready."; close; case 2: - if (getmercinfo(1) > 0) - { - mes "[Test Instructor, Teardrop]"; - mes "Stop!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "Where do you think you're going with the mercenary?!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!"; - close; - } - if (countitem(12380) > 0) - { - mes "[Test Instructor, Teardrop]"; - mes "What, What is this?"; - mes "You shouldn't keep this around!"; - delitem 12380,countitem(12380); - close; - } - if(countitem(12258) > 0) - { - mes "[Test Instructor, Teardrop]"; - mes "What, What is this, a Bombring Capsule."; - mes "You shouldn't keep such a dangerous thing!"; - delitem 12258,countitem(12258); - close; - } - if(countitem(6156) > 0) - { - mes "[Test Instructor, Teardrop]"; - mes "What, what are all these Documents?"; - mes "I think I know. You were going to send this to Caution, right?"; - next; - mes "[Test Instructor, Teardrop]"; - mes "If you hold such thing it would disturb your practical test so I'll take this."; - delitem 6156,countitem(6156); - close; - } - if (Weight > 501) - { - mes "[Test Instructor, Teardrop]"; - mes "See, for the last time, I warn you that cheating is strictly banned."; - next; - mes "[Test Instructor, Teardrop]"; - mes "Well, then let's gooooooooo.... oo,um?"; - next; - mes "[Test Instructor, Teardrop]"; - mes "Hey, what are you hiding there?"; - mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!"; - next; - mes "[Test Instructor, Teardrop]"; - mes "You'd better lighten your weight."; - close; - } - break; + callsub L_Start,1; + close; case 3: mes "[Test Instructor, Teardrop]"; mes "Um? What, you're kidding huh?"; @@ -733,147 +531,148 @@ tur_dun01,91,169,3 script Test Instructor#jr02 732,{ mes "Think again."; mes "Do you really want to give up the job change to become a Ranger?"; next; - switch(select("No, I'll try again:I give up!")) - { + switch(select("No, I'll try again:I give up!")) { case 1: - break; + mes "[Test Instructor, Teardrop]"; + mes "Hey. You were kidding after all?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "It's not funny so don't do that kind of joke again."; + close; case 2: mes "[Test Instructor, Teardrop]"; mes "You don't have as many guts as I thought."; nude; next; - if (countitem(1703) > 0) - { + if (countitem(1703) > 0) { mes "[Test Instructor, Teardrop]"; mes "Okay. I'll respect your opinion."; mes "I'll cancel the job change request from "+strcharinfo(0)+"."; - delitem 1703,1; + delitem 1703,1; //Bow__ set job_ranger01,0; - erasequest 8254; - erasequest 8255; - erasequest 8256; - erasequest 8257; - erasequest 8258; - erasequest 8259; - erasequest 8260; - erasequest 8261; - erasequest 8262; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; close; } mes "[Test Instructor, Teardrop]"; - mes "Huh? I gave you a Bow for your practical tests. Where is it?"; + mes "Huh? Where's the bow that I gave you for the practical tests?"; next; mes "[Test Instructor, Teardrop]"; - mes "If you don't give it to me, I can't cancel you job change request."; + mes "If you don't return it, I can't cancel you job change request."; close; } - mes "[Test Instructor, Teardrop]"; - mes "Hey. You were kidding after all?"; - next; - mes "[Test Instructor, Teardrop]"; - mes "It's not funny so don't do that kind of joke again."; - close; - } - if (countitem(1750) > 99) - { - mes "[Test Instructor, Teardrop]"; - mes "Good luck."; - mes "Be a ranger and we shall meet again."; - erasequest 8260; - erasequest 8261; - set job_ranger01,6; - close2; - warp "job3_rang01",30,36; - end; } - mes "[Test Instructor, Teardrop]"; - mes "Okay, once again I'll provide you with arrows, then I'll let you in."; - next; - mes "[Test Instructor, Teardrop]"; - mes "Good luck."; - mes "Be a ranger and we shall meet again."; - erasequest 8260; - erasequest 8261; - set job_ranger01,6; - getitem 1750,100; - close2; - warp "job3_rang01",30,36; - end; - } - else if (job_ranger01 == 7) - { - mes "[Test Instructor, Teardrop]"; + } else if (job_ranger01 == 7) { mes "Oh, hey. What are you doing here?"; next; mes "[Test Instructor, Teardrop]"; mes "Because you've disappeared suddenly, the Ranger Master was looking for you."; - mes "Dou you want to go to him now?"; + mes "Do you want to go to him now?"; next; - if(select("Don't go:Go") == 1) - { + switch(select("Don't go:Go")) { + case 1: mes "[Test Instructor, Teardrop]"; mes "Are you busy with something else?"; close; + case 2: + mes "[Test Instructor, Teardrop]"; + mes "Then I'll send you, please be well."; + close2; + warp "job3_rang01",89,38; + end; } + } + mes "Wow. Who's this?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "It seems that your dull eyes became somewhat keen now?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Then, enjoy an adventure well as a Ranger."; + close; + } + mes "Good to gooooooooooooooo!!!!!!"; + next; + mes "[Test Instructor]"; + mes "Huh? What are you? Where are you from?"; + mes "Don't hang around here doing nothing. This is my area!"; + close; +L_Start: + if (getmercinfo(1)) { + mes "[Test Instructor, Teardrop]"; + mes "Stop!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Where do you think you're going with that mercenary?!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!"; + close; + } + if (getarg(0) == 1) { + if (countitem(12380)) { mes "[Test Instructor, Teardrop]"; - mes "Then I'll send you, please be well."; - close; - warp "job3_rang01",89,38; - end; + mes "What, what is this?"; + mes "You shouldn't keep this around!"; + delitem 12380,countitem(12380); //Desert_Wolf_Babe_Scroll + next; + } + if (countitem(12258)) { + mes "[Test Instructor, Teardrop]"; + mes "What, what is this, a Bombring Capsule."; + mes "You shouldn't keep such a dangerous thing!"; + delitem 12258,countitem(12258); //Bombring_Box + next; } - else if(job_ranger01 > 7) - { + if (countitem(6156)) { mes "[Test Instructor, Teardrop]"; - mes "Good to gooooooooooooooo!!!!!!"; + mes "What, what are all these Documents?"; + mes "I think I know. You were going to send this to Caution, right?"; next; mes "[Test Instructor, Teardrop]"; - mes "Huh? What are you? Where you from?"; - mes "Don't hang around here doing nothing. This is my area!"; - close; + mes "If you hold such thing it would disturb your practical test so I'll take this."; + delitem 6156,countitem(6156); //Approval_Report + next; } + } + if (Weight > 500) { + mes "[Test Instructor, Teardrop]"; + mes "Well, then let's gooooooooo.... oo,um?"; + next; mes "[Test Instructor, Teardrop]"; - mes "Good to gooooooooooooooo!!!!!!"; + mes "Hey, what are you hiding there?"; + mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!"; next; mes "[Test Instructor, Teardrop]"; - mes "Huh? What are you? Where you from?"; - mes "Don't hang around here doing nothing. This is my area!"; + mes "You'd better lighten your weight."; close; } - mes "[Test Instructor]"; - mes "No way !!!!"; + mes "[Test Instructor, Teardrop]"; + mes "See, for the last time, I warn you that cheating is strictly banned."; next; - mes "[Test Instructor]"; - mes "Huh? What are you? Where you from?"; - mes "Don't hang around here doing nothing. This is my area!"; - close; -} - -job3_rang01,30,40,3 script Practical Test 111,{ - -OnInit: - disablenpc "Practical Test"; - waitingroom "Practical Test Waiting Room",20,"Practical Test::OnStartArena",1; - enablewaitingroomevent; - end; - -OnStartArena: - warpwaitingpc "job3_rang02",45,48; - donpcevent "Test Supervisor#jr_04::OnEnable"; - disablewaitingroomevent; - end; - -OnEnable: - enablewaitingroomevent; - end; - -OnDisable: - disablewaitingroomevent; + if (countitem(1750) < 100) { + mes "[Test Instructor, Teardrop]"; + mes "Okay, once again I'll provide you with arrows, then I'll let you in."; + set .@arrow,1; + next; + } + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Become a Ranger and we shall meet again."; + set job_ranger01,6; + if (getarg(0) == 0) + changequest 8258,8259; + else { + erasequest 8260; + erasequest 8261; + } + if (.@arrow) getitem 1750,100; //Arrow + close2; + warp "job3_rang01",30,36; end; } job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{ - - mes "[Staff DTS]"; mes "Please wait at the practical test waiting room to start the test process."; next; @@ -881,8 +680,7 @@ job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{ mes "In the order you enter, you can take the practical test one by one."; mes "There's 3 kinds of a Ranger job change practical tests, it takes a total of about 10 minutes."; next; - switch(select("Test explanation:Cancel:I give up the Ranger test")) - { + switch(select("Test explanation:Cancel:I give up the Ranger test")) { case 1: break; case 2: @@ -897,167 +695,169 @@ job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{ mes "Please think about it again."; mes "If you give up here, your job change request will be cancelled. Do you really want to give up the job change to a Ranger?"; next; - if(select("No, I'll continue with the test:I give up the Ranger job change") == 2) - { + switch(select("No, I'll continue with the test:I give up the Ranger job change")) { + case 1: + mes "[Staff DTS]"; + mes "If you want to continue with the practical test, please enter into the chat room."; + close; + case 2: mes "[Staff DTS]"; mes "You don't have as many guts as I thought."; nude; next; - if (countitem(1703) > 0) - { + if (countitem(1703) > 0) { mes "[Staff DTS]"; mes "Okay. I'll respect your opinion."; mes "I'll cancel the job change request from "+strcharinfo(0)+"."; - delitem 1703,1; + delitem 1703,1; //Bow__ set job_ranger01,0; - erasequest 8254; - erasequest 8255; - erasequest 8256; - erasequest 8257; - erasequest 8258; - erasequest 8259; - erasequest 8260; - erasequest 8261; - erasequest 8262; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; + close; close2; warp "alberta",117,57; end; } mes "[Staff DTS]"; - mes "Where is your test Bow?"; + mes "Huh? Where's the bow that I gave you for the practical tests?"; next; - mes "[Staff DTS]"; - mes "Return it to me, or I can't cancel your job change request."; + mes "[Test Instructor, Teardrop]"; + mes "If you don't return it, I can't cancel you job change request."; close; } - mes "[Staff DTS]"; - mes "If you want to continue with the practical test, please enter into the chat room."; - close; } - mes "[Staff DTS]"; - mes "I'll explain the Ranger job change practical test."; - mes "Among the 1st, 2nd, and 3rd practical tests, which one's test method are you curious of?"; - next; - switch(select("1st Test:2nd Test:3rd Test:Cancel")) - { - case 1: - mes "[Staff DTS]"; - mes "For the 1st test, we test your eyesight and accuracy."; - next; - mes "[Staff DTS]"; - mes "Monsters appear randomly from 8 sides of the left, right, up and down of the player, among them if you get rid of a monster named 'Poring' you get a point."; - next; + while (1) { mes "[Staff DTS]"; - mes "^0000ffWhatever the form looks like, you need to kill the monster named 'Poring' to get a point, and if you get rid of others your points get deducted, so be careful.^000000"; + mes "I'll explain the Ranger job change practical test."; + mes "Among the 1st, 2nd, and 3rd practical tests, which one's test method are you curious of?"; next; - mes "[Staff DTS]"; - mes "The 1st test progressing time will be about 3 minutes. When you get 15 points or more over 20, you are sent to 2nd test field."; - close; - case 2: - mes "[Staff DTS]"; - mes "The 2nd test is to test the mission performance ability and the efficient use of a trap."; - next; - mes "[Staff DTS]"; - mes "The attendant receives 10 'Bombring Capsules'. When you consume the Bombring Capsule, a Bombring is summoned near and after the summoning when you reach a certain time, the Bombring explodes."; - next; - mes "[Staff DTS]"; - mes "^0000ffThe Bombring explosion affects you, so be careful not to get involved in the explosion. You need to get rid of the monster by using the Bombring Capsule, accomplish the mission and come out alive.^000000"; - next; - mes "[Staff DTS]"; - mes "The 2nd test progressing time will be about 3 minutes. When you consume all the Bombring Capsules, collect a hidden equipment, and survive, you will be sent to the 3rd test field."; - close; - case 3: - mes "[Staff DTS]"; - mes "The 3rd is to test how you can efficiently use a warg which is given Rangers."; - next; - mes "[Staff DTS]"; - mes "The tester is provided with disposable warg summoning flute. Remove all bombs that are dispersed here and there by controlling the summoned warg and you get a point."; - next; - mes "[Staff DTS]"; - mes "^0000ffThe tester cannot move while the test is going on and the test is completed when he or she removes the bombs quickly and accurately in time by using only the warg.^000000"; - next; - mes "[Staff DTS]"; - mes "The 3rd test progressing time would be about 3 minutes, when you get 10 or more over 20, all the practical tests are completed."; - close; - case 4: - mes "[Staff DTS]"; - mes "When you want to progress with the practical test, please enter into the chat room."; - close; + switch(select("1st Test:2nd Test:3rd Test:Cancel")) { + case 1: + mes "[Staff DTS]"; + mes "For the 1st test, we test your eyesight and accuracy."; + next; + mes "[Staff DTS]"; + mes "Monsters appear randomly from 8 sides of the left, right, up and down of the player, among them if you get rid of a monster named 'Poring' you get a point."; + next; + mes "[Staff DTS]"; + mes "^0000ffWhatever the form looks like, you need to kill the monster named 'Poring' to get a point, and if you get rid of others your points get deducted, so be careful.^000000"; + next; + mes "[Staff DTS]"; + mes "The 1st test progressing time will be about 3 minutes. When you get 15 points or more over 20, you are sent to 2nd test field."; + next; + break; + case 2: + mes "[Staff DTS]"; + mes "The 2nd test is to test the mission performance ability and the efficient use of a trap."; + next; + mes "[Staff DTS]"; + mes "The attendant receives 10 'Bombring Capsules'. When you consume the Bombring Capsule, a Bombring is summoned near and after the summoning when you reach a certain time, the Bombring explodes."; + next; + mes "[Staff DTS]"; + mes "^0000ffThe Bombring explosion affects you, so be careful not to get involved in the explosion. You need to get rid of the monster by using the Bombring Capsule, accomplish the mission and come out alive.^000000"; + next; + mes "[Staff DTS]"; + mes "The 2nd test progressing time will be about 3 minutes. When you consume all the Bombring Capsules, collect hidden equipment, and survive, you will be sent to the 3rd test field."; + next; + break; + case 3: + mes "[Staff DTS]"; + mes "The 3rd is to test how you can efficiently use a wolf which is given Rangers."; + next; + mes "[Staff DTS]"; + mes "The tester is provided with disposable wolf summoning flute. Remove all bombs that are dispersed here and there by controlling the summoned warg and you get a point."; + next; + mes "[Staff DTS]"; + mes "^0000ffThe tester cannot move while the test is going on and the test is completed when he or she removes the bombs quickly and accurately in time by using only the warg.^000000"; + next; + mes "[Staff DTS]"; + mes "The 3rd test progressing time would be about 3 minutes, when you get 10 or more over 20, all the practical tests are completed."; + next; + break; + case 4: + mes "[Staff DTS]"; + mes "When you want to progress with the practical test, please enter into the chat room."; + close; + } } + end; +OnInit: + waitingroom "Practical Test Waiting Room",20,"Test Waiting Room#jr_03::OnStartArena",1; + enablewaitingroomevent; + end; +OnStartArena: + warpwaitingpc "job3_rang02",45,48; + donpcevent "Test Supervisor#jr_04::OnEnable"; + disablewaitingroomevent; + end; +OnEnable: + enablewaitingroomevent; + end; +OnDisable: + disablewaitingroomevent; + end; } job3_rang02,100,95,0 script Test Supervisor#jr_04 139,{ - OnInit: set $@job_rang_point01,0; disablenpc "Test Supervisor#jr_04"; end; - OnEnable: - set $@job_rang_point01,0; enablenpc "Test Supervisor#jr_04"; + set $@job_rang_point01,0; initnpctimer; end; - OnDisable: stopnpctimer; disablenpc "Test Supervisor#jr_04"; end; - OnStart: stopnpctimer; - disablenpc "Test Supervisor#jr_04"; + donpcevent "CallCorrectAnswer#jr::OnEnable"; + donpcevent "CallWrongAnswer#jr::OnEnable"; donpcevent "First Test Timer#jr_05::OnEnable"; + disablenpc "Test Supervisor#jr_04"; end; - OnTimer3000: - mapannounce "job3_rang02","Test Supervisor, Notice : Welcome to the Ranger Job Change Test. I am Test Supervisor, Notice.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : Welcome to the Ranger Job Change Test. I am Test Supervisor, Notice.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer6000: - mapannounce "job3_rang02","Test Supervisor, Notice : The first test is to test your eyesight and accuracy.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : The 1st test is to test your eyesight and accuracy.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer9000: - mapannounce "job3_rang02","Test Supervisor, Notice : The test method is, to kill monsters named 'Poring' amongst the random spawned monsters on 8 locations.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : The test method is, to kill monsters named 'Poring' amongst the random spawned monsters on 8 locations.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer12000: - mapannounce "job3_rang02","Test Supervisor, Notice : Whatever it may look like, you need to kill the monster named 'Poring' to get a point, and if you kill others you will lose points, so be careful.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : Whatever it may look like, you need to kill the monster named 'Poring' to get a point, and if you kill others you will lose points, so be careful.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer15000: - mapannounce "job3_rang02","Test Supervisor, Notice : The test progression time would be around 3 minutes. You need to get 15 points or more to qualify for the next test.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : The test progression time would be around 3 minutes. You need to get 15 points or more to qualify for the next test.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer18000: stopnpctimer; - mapannounce "job3_rang02","Test Supervisor, Notice : Then let's begin the test. Good luck.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : Then let's begin the test. Good luck.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 donpcevent "Test Supervisor#jr_04::OnStart"; end; } job3_rang02,102,95,0 script First Test Timer#jr_05 139,{ - OnInit: disablenpc "First Test Timer#jr_05"; end; - OnEnable: + enablenpc "First Test Timer#jr_05"; set $@job_rang_point01,0; set $@job_rang_text01,0; setarray .text$[1], "First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh", "Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth","Last"; - enablenpc "First Test Timer#jr_05"; initnpctimer; end; - OnDisable: stopnpctimer; disablenpc "First Test Timer#jr_05"; end; - OnTimer8000: OnTimer15000: OnTimer22000: @@ -1078,10 +878,9 @@ OnTimer120000: OnTimer127000: OnTimer134000: OnTimer141000: - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; + donpcevent "CallCorrectAnswer#jr::OnReset"; + donpcevent "CallWrongAnswer#jr::OnReset"; end; - OnTimer3000: OnTimer10000: OnTimer17000: @@ -1103,346 +902,290 @@ OnTimer122000: OnTimer129000: OnTimer136000: set $@job_rang_text01,$@job_rang_text01+1; - mapannounce "job3_rang02","Test Supervisor, Notice : "+.text$[$@job_rang_text01]+" Wave! Kill the Poring!",bc_map; - donpcevent "Correct Monster Summon::OnStart"; + mapannounce "job3_rang02","Test Supervisor, Notice : "+.text$[$@job_rang_text01]+" Wave! Kill the Poring!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent "CallCorrectAnswer#jr::OnStart"; end; - OnTimer143000: - mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer146000: - set .total_point01,$@job_rang_point01; - if(.total_point01 < 1) - { - set .total_point01,0; - } - mapannounce "job3_rang02","Test Supervisor, Notice : I'll announce the test result. The number of Porings you killed out of 20 is ..."+.total_point01+"!",bc_map; + if ($@job_rang_point01 < 1) + set $@job_rang_point01,0; + mapannounce "job3_rang02","Test Supervisor, Notice : I'll announce the test result. The number of Porings you killed out of 20 is ..." + $@job_rang_point01 + "!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer149000: - if (.total_point01 > 14) - { - mapannounce "job3_rang02","Test Supervisor, Notice : Congratulations! You've killed "+.total_point01+" out of 20 Porings total, so you've passed the 1st test. I will send you to the 2nd test field.",bc_map; + if ($@job_rang_point01 > 14) { + mapannounce "job3_rang02","Test Supervisor, Notice : Congratulations! You've killed " + $@job_rang_point01 + " out of 20 Porings total, so you've passed the 1st test. I will send you to the 2nd test field.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","job3_rang02",113,58; - stopnpctimer; donpcevent "Second Test Timer#jr_08::OnEnable"; - } else { - mapannounce "job3_rang02","Test Supervisor, Notice : You couldn't kill 15 Porings or more on a total of 20 total, so you've failed the 1st test... I am sorry but please try again.",bc_map; - } + stopnpctimer; + } else + mapannounce "job3_rang02","Test Supervisor, Notice : You couldn't kill 15 Porings or more on a total of 20 total, so you've failed the 1st test... I am sorry but please try again.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer151000: - mapannounce "job3_rang02","Test Supervisor, Notice : The adventurer's 1st test ends now. Please make yourself more capable. Goodbye.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Notice : The adventurer's 1st test ends now. Please make yourself more capable. Goodbye.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer154000: mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::OnDisable"; end; - OnTimer157000: + stopnpctimer; mapwarp "job3_rang02","tur_dun01",93,165; set $@job_rang_point01,0; set $@job_rang_text01,0; - stopnpctimer; donpcevent "Test Supervisor#jr_04::OnDisable"; - donpcevent "Practical Test::OnEnable"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; donpcevent "First Test Timer#jr_05::OnDisable"; end; } -job3_rang02,104,95,0 script Correct Monster Summon 139,{ - +job3_rang02,104,95,0 script CallCorrectAnswer#jr 139,{ +OnInit: OnDisable: - disablenpc "Correct Monster Summon"; + disablenpc "CallCorrectAnswer#jr"; + end; +OnEnable: + enablenpc "CallCorrectAnswer#jr"; end; - OnStart: - setarray .@job_ranger_n01$[0],"OnOne","OnTwo","OnThree","OnFour","OnFive","OnSix","OnSeven","OnEight"; - setarray .@job_ranger_lx01[0],35,44,54,35,54,35,44,54; - setarray .@job_ranger_ly01[0],58,58,58,49,49,39,39,39; - setarray .@job_ranger_lm01[0],1002,1031,1242,1113; + setarray .@label$[0],"OnOne","OnTwo","OnThree","OnFour","OnFive","OnSix","OnSeven","OnEight"; + setarray .@x[0],35,44,54,35,54,35,44,54; + setarray .@y[0],58,58,58,49,49,39,39,39; + setarray .@id[0],1002,1031,1242,1113; set .@i, rand(8); - donpcevent "False Monster Summon::"+.@job_ranger_n01$[.@i]; - monster "job3_rang02",.@job_ranger_lx01[.@i],.@job_ranger_ly01[.@i],"Poring",.@job_ranger_lm01[rand(4)],1,"Correct Monster Summon::OnMyMobDead"; + donpcevent "CallWrongAnswer#jr::"+.@label$[.@i]; + monster "job3_rang02",.@x[.@i],.@y[.@i],"Poring",.@id[rand(4)],1,"CallCorrectAnswer#jr::OnMyMobDead"; end; - OnReset: - killmonster "job3_rang02","Correct Monster Summon::OnMyMobDead"; + killmonster "job3_rang02","CallCorrectAnswer#jr::OnMyMobDead"; end; - OnMyMobDead: specialeffect2 EF_POTION_CON; - set $@job_rang_point01,$@job_rang_point01+1; - mapannounce "job3_rang02","Test Supervisor, Notice : Correct Target! You have very good eyesight!",bc_map; + set $@job_rang_point01, $@job_rang_point01+1; + mapannounce "job3_rang02","Test Supervisor, Notice : Correct Target! You have very good eyesight!",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; } -job3_rang02,106,95,0 script False Monster Summon 139,{ - +job3_rang02,106,95,0 script CallWrongAnswer#jr 139,{ +OnInit: OnDisable: - disablenpc "False Monster Summon"; + disablenpc "CallWrongAnswer#jr"; + end; +OnEnable: + enablenpc "CallWrongAnswer#jr"; end; - OnOne: - monster "job3_rang02",44,58,"Poing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Horing",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Puring",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Poriring",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Poing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Horing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Puring",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Poriring",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Marine",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Dropporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnTwo: - monster "job3_rang02",35,58,"Poyong",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Puding",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Porin",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Poja",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Poporing",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Poyong",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Puding",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Poporing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnThree: - monster "job3_rang02",35,58,"Poporing",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Podaegi",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Poing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Poja",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Maporing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Poporing",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Podaegi",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Maporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnFour: - monster "job3_rang02",35,58,"Poing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Hoing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Marine",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Drops",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Puding",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Poing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Hoing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Marine",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Drops",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Puding",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Droporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Marine",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnFive: - monster "job3_rang02",35,58,"Popuri",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Mariring",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Poyong",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Marine",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Hoing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Popuri",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Mariring",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poyong",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Marine",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Hoing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnSix: - monster "job3_rang02",35,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Drops",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Poja",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Horing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Marun",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Drawing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Pork",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Drops",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Poja",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Horing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Marun",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Drawing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnSeven: - monster "job3_rang02",35,58,"Marine",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Porin",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Poporing",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Horin",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Marine",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Pororing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Pork",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Poporing",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Horin",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,39,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnEight: - monster "job3_rang02",35,58,"Marun",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,58,"Poja",1113,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,58,"Drops",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,49,"Poing",1242,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",54,49,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",35,39,"Horing",1031,1,"False Monster Summon::OnMyMobDead"; - monster "job3_rang02",44,39,"Poporing",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,58,"Marun",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,58,"Poja",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,58,"Drops",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1242,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",54,49,"Puding",1002,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",35,39,"Horing",1031,1,"CallWrongAnswer#jr::OnMyMobDead"; + monster "job3_rang02",44,39,"Poporing",1113,1,"CallWrongAnswer#jr::OnMyMobDead"; end; - OnReset: - killmonster "job3_rang02","False Monster Summon::OnMyMobDead"; + killmonster "job3_rang02","CallWrongAnswer#jr::OnMyMobDead"; end; - OnMyMobDead: specialeffect2 EF_DEVIL; - set $@job_rang_point01,$@job_rang_point01-1; - mapannounce "job3_rang02","Test Supervisor, Notice : Wrong Target! Pull yourself together!",bc_map; + set $@job_rang_point01, $@job_rang_point01-1; + mapannounce "job3_rang02","Test Supervisor, Notice : Wrong Target! Pull yourself together!",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; } job3_rang02,100,93,0 script Second Test Timer#jr_08 139,{ - OnInit: disablenpc "Second Test Timer#jr_08"; end; - OnEnable: enablenpc "Second Test Timer#jr_08"; initnpctimer; donpcevent "Test Supervisor#jr_04::OnDisable"; donpcevent "First Test Timer#jr_05::OnDisable"; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::OnDisable"; end; - OnDisable: stopnpctimer; disablenpc "Second Test Timer#jr_08"; end; - OnStop: stopnpctimer; end; - OnTimer3000: - mapannounce "job3_rang02","Test Supervisor, Caution : Yeah. Congrats on you passing the 1st practical test. I am the 2nd practical test supervisor Caution.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Yeah. Congrats on you passing the 1st practical test. I am the 2nd practical test supervisor Caution.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer6000: - mapannounce "job3_rang02","Test Supervisor, Caution : The Second Test is about test performance ability and the effective usage of traps.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : The Second Test is about test performance ability and the effective usage of traps.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer9000: - mapannounce "job3_rang02","Test Supervisor, Caution : When the test begins, you'll recive 'Bombring Caspule's' from a staff member near you, and kill the monsters in your way.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : When the test begins, you'll recive 'Bombring Caspule's' from a staff member near you, and kill the monsters in your way.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer11000: - mapannounce "job3_rang02","Test Supervisor, Caution : When you use a 'Bombring Capsule' a Bombring is summoned near you, and after 3 seconds it will explode.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : When you use a 'Bombring Capsule' a Bombring is summoned near you, and after 3 seconds it will explode.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer14000: - mapannounce "job3_rang02","Test Supervisor, Caution : The explosive range of the Bombring is a 5x5 cell around the Bombring, so be carefull not to be caught in the explosion.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : The explosive range of the Bombring is a 5x5 cell around the Bombring, so be carefull not to be caught in the explosion.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer17000: - mapannounce "job3_rang02","Test Supervisor, Caution : Whilst progressing, if you complete the mission given by an staff member come and see me, then you will pass the 2nd practical test!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Whilst progressing, if you complete the mission given by an staff member come and see me, then you will pass the 2nd practical test!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer20000: - mapannounce "job3_rang02","Test Supervisor, Caution : Oh! When you come and see me, all 'Bombring Capsules' have to been used up.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Oh! When you come and see me, all 'Bombring Capsules' have to been used up.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer23000: - mapannounce "job3_rang02","Test Supervisor, Caution : The test period will take 3 minutes in total! Copmplete the mission in 3 minutes and stay alive! Then come to see me!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : The test period will take 3 minutes in total! Copmplete the mission in 3 minutes and stay alive! Then come to see me!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer26000: - mapannounce "job3_rang02","Test Supervisor, Caution : Well the test begins now!! Start going!!!!!!",bc_map; - donpcevent "Staff Rust#job_ranger09::OnEnable"; + mapannounce "job3_rang02","Test Supervisor, Caution : Well the test begins now!! Start going!!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent "Staff Rust#jr_09::OnEnable"; end; - OnTimer80000: - mapannounce "job3_rang02","Test Supervisor, Caution : 1 Minute has passed. You are coming to see me, right?",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Minute has passed. You are coming to see me, right?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer83000: - mapannounce "job3_rang02","Test Supervisor, Caution : Don't be too brave to rush and get yourself killed, be slow and careful.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Don't be too brave to rush and get yourself killed, be slow and careful.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer140000: - mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes have passed. Getting here on time should be your top priority.?",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes have passed. Getting here on time should be your top priority.?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer143000: - mapannounce "job3_rang02","Test Supervisor, Caution : However, you need to be alive in order to make the time limit, right? Please watch out.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : However, you need to be alive in order to make the time limit, right? Please watch out.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer170000: - mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes and 30 Seconds have passed. There's not much time left!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes and 30 Seconds have passed. There's not much time left!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer173000: - mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer200000: - mapannounce "job3_rang02","Test Supervisor, Caution : 3 Minutes have passed! 3 Minutes!!!! I'll be a little easy on you, so hurry up!!!!!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 3 Minutes have passed! 3 Minutes!!!! I'll be a little easy on you, so hurry up!!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer205000: - mapannounce "job3_rang02","Test Supervisor, Caution : 5 Seconds remaining!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 5 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer206000: - mapannounce "job3_rang02","Test Supervisor, Caution : 4 Seconds remaining!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 4 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer207000: - mapannounce "job3_rang02","Test Supervisor, Caution : 3 Seconds remaining!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 3 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer208000: - mapannounce "job3_rang02","Test Supervisor, Caution : 2 Seconds remaining!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Seconds remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer209000: - mapannounce "job3_rang02","Test Supervisor, Caution : 1 Second remaining!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Second remaining!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer210000: - mapannounce "job3_rang02","Test Supervisor, Caution : Ugh... What are you doing? Your time is up!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Ugh... What are you doing? Your time is up!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer213000: - mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer217000: - mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer220000: - mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; - donpcevent "Staff Rust#job_ranger09::OnDisable"; - donpcevent "Plant Summon#jr_10::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; donpcevent "Test Supervisor#jr_11::OnDisable"; end; - OnTimer223000: - donpcevent "Practical Test::OnEnable"; - donpcevent "Second Test Timer#jr_08::OnDisable"; stopnpctimer; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Second Test Timer#jr_08::OnDisable"; end; } -job3_rang02,111,56,3 script Staff Rust#job_ranger09 89,{ - - - if (job_ranger01 == 6) - { - if (countitem(12258) < 1) - { - if (countitem(6156) < 1) - { - set .@ranger_weight01,MaxWeight - Weight; - set .@gift_paper01,(.@ranger_weight01 - 2000) / 10; - percentheal 100,0; - specialeffect2 EF_ABSORBSPIRITS; - mes "[Staff Rust]"; - mes "I'll give you the 'Bombring Capsules'."; - mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind."; - next; - emotion 55; - mes "[Staff Rust]"; - mes "And the mission is.... to deliver these documents to the supervisor, Caution. He won't take what I give..."; - setquest 8260; - getitem 6156,.@gift_paper01; - getitem 12258,10; - getitem 569,100; - close; - } +job3_rang02,111,56,3 script Staff Rust#jr_09 89,{ + if (job_ranger01 == 6) { + if (countitem(12258) < 1) { percentheal 100,0; specialeffect2 EF_ABSORBSPIRITS; mes "[Staff Rust]"; mes "I'll give you the 'Bombring Capsules."; mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind."; - getitem 12258,5; + if (countitem(6156)) { + getitem 12258,5; //Bombring_Box + close; + } + next; + emotion e_an; + mes "[Staff Rust]"; + mes "And the mission is.... to deliver these documents to the supervisor, Caution. He won't take what I give..."; + setquest 8260; + getitem 6156, (MaxWeight-Weight-2000)/10; //Approval_Report + getitem 12258,10; //Bombring_Box + getitem 569,100; //Novice_Potion close; } mes "[Staff Rust]"; @@ -1450,144 +1193,132 @@ job3_rang02,111,56,3 script Staff Rust#job_ranger09 89,{ close; } mes "[Staff Rust]"; - mes "I'm sorry, but how did you get in?"; + mes "Excuse me, but how did you get in?"; next; mes "[Staff Rust]"; mes "If you are not here for the job change test, please leave."; close; - OnInit: - disablenpc "Staff Rust#job_ranger09"; + disablenpc "Staff Rust#jr_09"; end; - OnEnable: - enablenpc "Staff Rust#job_ranger09"; - donpcevent "Plant Summon#jr_10::OnEnable"; + enablenpc "Staff Rust#jr_09"; + donpcevent "Summon Monster#jr_10::OnEnable"; donpcevent "Test Supervisor#jr_11::OnEnable"; end; - OnDisable: - disablenpc "Staff Rust#job_ranger09"; + disablenpc "Staff Rust#jr_09"; end; } -job3_rang02,136,21,5 script Plant Summon#jr_10 139,5,5,{ - +job3_rang02,136,21,0 script Summon Monster#jr_10 139,5,5,{ OnInit: - disablenpc "Plant Summon#jr_10"; + disablenpc "Summon Monster#jr_10"; end; - OnEnable: - enablenpc "Plant Summon#jr_10"; - monster "job3_rang02",112,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",114,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",116,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",110,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",112,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",114,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",116,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",116,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",114,40,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",112,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",111,34,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",117,22,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",114,21,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",115,23,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",135,25,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",135,23,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",138,20,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",137,36,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",139,34,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",144,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",152,41,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",168,49,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",165,48,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",160,56,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",158,56,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",159,55,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",170,53,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",168,56,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",174,63,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",176,60,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",170,59,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; - monster "job3_rang02",126,19,"Nepenthes",1988,1,"Plant Summon#jr_10::OnMyMobDead"; + enablenpc "Summon Monster#jr_10"; + monster "job3_rang02",112,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,45,"Mandragora",1020,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",110,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",112,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,30,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",116,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",112,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",111,34,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",117,22,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",114,21,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",115,23,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",135,25,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",135,23,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",137,36,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",139,34,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",144,41,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",152,41,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",168,49,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",165,48,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",160,56,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",158,56,"Drosera",1781,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",170,53,"Flora",1118,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",168,56,"Parasite",1500,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",174,63,"Muscipular",1780,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",176,60,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",170,59,"Geographer",1368,1,"Summon Monster#jr_10::OnMyMobDead"; + monster "job3_rang02",126,19,"Nepenthes",1988,1,"Summon Monster#jr_10::OnMyMobDead"; end; - OnDisable: - disablenpc "Plant Summon#jr_10"; - killmonster "job3_rang02","Plant Summon#jr_10::OnMyMobDead"; + killmonster "job3_rang02","Summon Monster#jr_10::OnMyMobDead"; + disablenpc "Summon Monster#jr_10"; end; - OnTouch: percentheal 10,0; specialeffect2 EF_ABSORBSPIRITS; - mapannounce "job3_rang02","Test Supervisor, Caution : You are doing well! If you come closer a little more, you should be able to see me.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : You are doing well! If you come closer a little more, you should be able to see me.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnMyMobDead: end; } job3_rang02,180,78,3 script Test Supervisor#jr_11 882,1,1,{ - + mes "[Test Supervisor, Caution]"; + mes "Come, come near, nearer, nearer!!"; + close; +OnInit: + disablenpc "Test Supervisor#jr_11"; + end; +OnEnable: + enablenpc "Test Supervisor#jr_11"; + end; +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_11"; + end; OnTouch: - if (job_ranger01 == 6) - { - if (countitem(12258) < 1) - { - if (countitem(6156) > 0) - { - mes "[Test Supervisor, Caution]"; - mes "You've arrived safely!!!"; - donpcevent "Second Test Timer#jr_08::OnDisable"; - donpcevent "Staff Rust#job_ranger09::OnDisable"; - donpcevent "Plant Summon#jr_10::OnDisable"; - initnpctimer; - next; - mes "[Test Supervisor, Caution]"; - mes "What are those documents?"; - emotion 74; - next; - menu "Mr. Rust asked me to give this to you.",-; - mes "[Test Supervisor, Caution]"; - mes "Haaaaaaaah!!"; - mes "I've been avoiding him so much!!"; - delitem 6156,countitem(6156); - erasequest 8260; - next; - mes "[Test Supervisor, Caution]"; - mes "I've never imagined this could be a test..."; - emotion 28; - next; - mes "[Test Supervisor, Caution]"; - mes "Anyway you've passed the 2nd test very well."; - next; - mes "[Test Supervisor, Caution]"; - mes "Pass the 3rd one and you will become a great ranger."; - close2; - warp "job3_rang02",250,49; - donpcevent "Test Supervisor#jr_13::OnEnable"; - end; - } + if (job_ranger01 == 6) { + if (countitem(12258)) { mes "[Test Supervisor, Caution]"; - mes "You've arrived safely......uh?"; + mes "No, no!"; + mes "You need to use all the 'Bombring Capsules'?!"; next; mes "[Test Supervisor, Caution]"; - mes "Didn't Rust give you something?"; + mes "Use it all and come back!"; + mes "Time is ticking so you'd better hurry."; + close; + } + if (countitem(6156) > 0) { + mes "[Test Supervisor, Caution]"; + mes "You've arrived safely!!!"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + initnpctimer; next; mes "[Test Supervisor, Caution]"; - mes "Where did you lose that?"; - mes "Pick it up quickly!"; - close; + mes "What are those documents?"; + emotion e_no; + next; + select("Mr. Rust asked me to give this to you."); + mes "[Test Supervisor, Caution]"; + mes "Haaaaaaaah!!"; + mes "I've been avoiding him so much!!"; + delitem 6156,countitem(6156); //Approval_Report + erasequest 8260; + next; + mes "[Test Supervisor, Caution]"; + mes "I've never imagined this could be a test..."; + emotion e_sob; + next; + mes "[Test Supervisor, Caution]"; + mes "Anyway you've passed the 2nd test very well."; + next; + mes "[Test Supervisor, Caution]"; + mes "Pass the 3rd one and you will become a great ranger."; + close2; + warp "job3_rang02",250,49; + donpcevent "Test Supervisor#jr_13::OnEnable"; + end; } - mes "[Test Supervisor, Caution]"; - mes "No, no!"; - mes "You need to use all the 'Bombring Capsules'?!"; - next; - mes "[Test Supervisor, Caution]"; - mes "Use it all and come back!"; - mes "Time is ticking so you'd better hurry."; - close; } mes "[Test Supervisor, Caution]"; mes "You've arrived safely......uh?"; @@ -1598,78 +1329,63 @@ OnTouch: mes "[Test Supervisor, Caution]"; mes "Where did you lose that?"; mes "Pick it up quickly!"; - close2; - end; - + close; OnTimer60000: - mapannounce "job3_rang02","Test Supervisor, Caution : Come here, you don't have to rush your test, but why are you delaying the test?",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Come here, you don't have to rush your test, but why are you delaying the test?",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer63000: - mapannounce "job3_rang02","Test Supervisor, Caution : I hate people that make me wait! if you don't talk to me in 30 seconds to continue the test, I will end your test progress!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : I hate people that make me wait! if you don't talk to me in 30 seconds to continue the test, I will end your test progress!",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer93000: - mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0 end; - OnTimer96000: - mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer99000: - mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidity! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer102000: - mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidity! Start over from the beginning! You fool!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; - donpcevent "Staff Rust#job_ranger09::OnDisable"; - donpcevent "Plant Summon#jr_10::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; donpcevent "Second Test Timer#jr_08::OnDisable"; end; - OnTimer105000: - donpcevent "Practical Test::OnEnable"; - donpcevent "Test Supervisor#jr_11::OnDisable"; stopnpctimer; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; end; +} +job3_rang02,104,93,0 script Third Test Timer#jr_12 139,{ OnInit: - disablenpc "Test Supervisor#jr_11"; + disablenpc "Third Test Timer#jr_12"; end; - OnEnable: - enablenpc "Test Supervisor#jr_11"; + enablenpc "Third Test Timer#jr_12"; + initnpctimer; end; - OnDisable: stopnpctimer; - disablenpc "Test Supervisor#jr_11"; + set $@job_rang_point03,0; + disablenpc "Third Test Timer#jr_12"; end; - -} - -job3_rang02,104,93,0 script Third Test Timer#jr_12 139,{ - OnTimer3000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Well, then let's start the 3rd practical test! Are you ready?",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Well, then let's start the 3rd practical test! Are you ready?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer6000: - mapannounce "job3_rang02","Test Supervisor, Freeze : From now on, every 3 seconds an 'Egg Bomb' will appear! Look at it carefully, and have your wolf attack the egg bomb to dismantle it!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : From now on, every 3 seconds an 'Egg Bomb' will appear! Look at it carefully, and have your wolf attack the egg bomb to dismantle it!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer9000: - mapannounce "job3_rang02","Test Supervisor, Freeze : You can control the wolf by pressing the alt key and left click the surface, the wolf then moves to that point! Then you target the bomb and click on more time, it will then attack it!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : You can control the wolf by pressing the alt key and left click the surface, the wolf then moves to that point! Then you target the bomb and click on more time, it will then attack it!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer12000: - mapannounce "job3_rang02","Test Supervisor, Freeze : The 'Egg Bombs' will spawn 20 times! Each time you successfully dismantle one, you get 1 point! If you get 10 ore more points, you pass the preactical test, so go for it! Then I'll start!!!!!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : The 'Egg Bombs' will spawn 20 times! Each time you successfully dismantle one, you get 1 point! If you get 10 or more points, you pass the practical test, so go for it! Then I'll start!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 set .n,14; end; - OnTimer15000: OnTimer20000: OnTimer25000: @@ -1690,81 +1406,51 @@ OnTimer95000: OnTimer100000: OnTimer105000: OnTimer110000: - donpcevent "Egg Bomb#job_ranger"+(.n+rand(3))+"::OnEnable"; + donpcevent "Egg Bomb#"+(.n+rand(3))+"::OnEnable"; if (.n == 26) set .n,14; - else set .n, .n+3; + else set .n,.n+3; end; - OnTimer113000: - mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map; - for(set .@i,14; .@i<29; set .@i,.@i+1) - donpcevent "Egg Bomb#job_ranger"+.@i+"::OnDisable"; + mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + for(set .@i,14; .@i<=28; set .@i,.@i+1) + donpcevent "Egg Bomb#"+.@i+"::OnDisable"; set .n,0; end; - OnTimer116000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Well let's see the result?!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Well let's see the result?!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer119000: - set .point_result01,$@job_rang_point03; - mapannounce "job3_rang02","Test Supervisor, Freeze : Your score is ..."+.point_result01+" out of 20!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Your score is ..." + $@job_rang_point03 + " out of 20!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer121000: - if (.point_result01 > 9) - { - mapannounce "job3_rang02","Test Supervisor, Freeze : You have been successful so far! You've passed all practical tests! Let's move to the waitingroom!!!!!",bc_map; + if ($@job_rang_point03 > 9) { + mapannounce "job3_rang02","Test Supervisor, Freeze : You have been successful so far! You've passed all practical tests! Let's move to the waitingroom!!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","job3_rang01",89,38; - }else - { - mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad but you couldn't pass the 10 points, so you failed!!!!",bc_map; - } + } else + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad but you couldn't pass the 10 points, so you failed!!!!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer124000: - mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer127000: - mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 set $@job_rang_point03,0; mapwarp "job3_rang02","tur_dun01",93,165; donpcevent "Test Supervisor#jr_13::OnDisable"; end; - OnTimer130000: - set $@job_rang_point03,0; - donpcevent "Practical Test::OnEnable"; - donpcevent "Third Test Timer#jr_12::OnDisable"; stopnpctimer; - end; - -OnInit: - set $@job_rang_point03,0; - disablenpc "Third Test Timer#jr_12"; - end; - -OnEnable: - enablenpc "Third Test Timer#jr_12"; - initnpctimer; - end; - -OnDisable: set $@job_rang_point03,0; - stopnpctimer; - disablenpc "Third Test Timer#jr_12"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + donpcevent "Third Test Timer#jr_12::OnDisable"; end; } job3_rang02,251,49,3 script Test Supervisor#jr_13 732,{ - - if (job_ranger01 == 6) - { - if (checkquest(8261) == -1) - { - mes "[Test Supervisor, Freeze]"; + mes "[Test Supervisor, Freeze]"; + if (job_ranger01 == 6) { + if (checkquest(8261) == -1) { mes "Congrats for passing the 2nd practical test! I am the 3rd practical test supervisor Freeze!"; next; mes "[Test Supervisor, Freeze]"; @@ -1785,611 +1471,172 @@ job3_rang02,251,49,3 script Test Supervisor#jr_13 732,{ next; mes "[Test Supervisor, Freeze]"; mes "Well, then first get this Wolf' flutes and after summoning the wolf, talk to me!"; - getitem 12380,1; + getitem 12380,1; //Desert_Wolf_Babe_Scroll setquest 8261; close; } - else if (checkquest(8261) == 1) - { - if (getmercinfo(1) == 2034) - { - erasequest 8261; - mes "[Test Supervisor, Freeze]"; - mes "Good! Then I'll start the test right now!"; - next; - mes "[Test Supervisor, Freeze]"; - mes "Keep in mind! You need to remove the egg bomb before it gets exploded by only using a wolf!"; - next; - mes "[Test Supervisor, Freeze]"; - mes "Then, Good luck!"; - sc_start SC_STONE,120000,10; - close2; - donpcevent "Test Supervisor#jr_13::OnDisable"; - donpcevent "Third Test Timer#jr_12::OnEnable"; - end; - }else if (countitem(12380) < 1) - { - mes "[Test Supervisor, Freeze]"; - mes "Huh?! There's no wolf, no Test Flute, where did you get rid of them?!"; - next; - mes "[Test Supervisor, Freeze]"; - mes "I'll give you one more time specially, so hold yourself together!"; - next; - mes "[Test Supervisor, Freeze]"; - mes "Summon the wolf quickly, and talk to me again!"; - getitem 12380,1; - close; - } + if (getmercinfo(1) == 2034) { + erasequest 8261; + mes "Good! Then I'll start the test right now!"; + next; mes "[Test Supervisor, Freeze]"; - mes "Ha? What are you doing?"; + mes "Keep in mind! You need to remove the egg bomb before it gets exploded by only using a wolf!"; next; mes "[Test Supervisor, Freeze]"; - mes "Play the Test Flute quickly to summon the wolf and talk to me!"; + mes "Then, good luck!"; + sc_start SC_STONE,120000,10; + close2; + donpcevent "Test Supervisor#jr_13::OnDisable"; + donpcevent "Third Test Timer#jr_12::OnEnable"; + end; + } + if (countitem(12380) < 1) { + mes "Huh?! There's no wolf, no Test Flute, where did you get rid of them?!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "I'll give you one more time specially, so hold yourself together!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Summon the wolf quickly, and talk to me again!"; + getitem 12380,1; //Desert_Wolf_Babe_Scroll close; } + mes "Ha? What are you doing?"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Play the Test Flute quickly to summon the wolf and talk to me!"; + close; } - mes "[Test Supervisor, Freeze]"; mes "Who are you?"; next; mes "[Test Supervisor, Freeze]"; mes "This area is for the Ranger Job Change test!"; - mes "And not for Outsiders such as you, so get out!"; + mes "You are not authorized to be here, please get out!"; close; - +OnInit: + disablenpc "Test Supervisor#jr_13"; + end; +OnEnable: + enablenpc "Test Supervisor#jr_13"; + initnpctimer; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#jr_09::OnDisable"; + donpcevent "Summon Monster#jr_10::OnDisable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_13"; + end; OnTimer3000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Welcome to the 3rd practical test field! I am the 3rd pratcical Test Supervisor Freeze!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Welcome to the 3rd practical test field! I am the 3rd practical Test Supervisor Freeze!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer6000: - mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 2 minutes to start the 3rd test, the test will end!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 2 minutes to start the 3rd test, the test will end!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer9000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer60000: - mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 1 minute to start the 3rd test, the test will end!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 1 minute to start the 3rd test, the test will end!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer63000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer120000: - mapannounce "job3_rang02","Test Supervisor, Freeze : Why aren't you starting the test?",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : Why aren't you starting the test?",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer123000: - mapannounce "job3_rang02","Test Supervisor, Freeze : You weren't on time for the test, so I am ending the 3rd practical test!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : You weren't on time for the test, so I am ending the 3rd practical test!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnTimer127000: set $@job_rang_point03,0; - mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer130000: - mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 mapwarp "job3_rang02","tur_dun01",93,165; end; - OnTimer133000: + stopnpctimer; donpcevent "Third Test Timer#jr_12::OnDisable"; - donpcevent "Practical Test::OnEnable"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; donpcevent "Test Supervisor#jr_13::OnDisable"; - stopnpctimer; - end; - -OnInit: - disablenpc "Test Supervisor#jr_13"; - end; - -OnEnable: - enablenpc "Test Supervisor#jr_13"; - initnpctimer; - donpcevent "Second Test Timer#jr_08::OnDisable"; - donpcevent "Staff Rust#job_ranger09::OnDisable"; - donpcevent "Plant Summon#jr_10::OnDisable"; - donpcevent "Test Supervisor#jr_11::OnDisable"; - end; - -OnDisable: - stopnpctimer; - disablenpc "Test Supervisor#jr_13"; end; } -job3_rang02,246,42,0 script Egg Bomb#job_ranger14 139,{ - +- script Egg Bomb#0 -1,{ OnInit: - disablenpc "Egg Bomb#job_ranger14"; + disablenpc strnpcinfo(0); end; - OnEnable: - enablenpc "Egg Bomb#job_ranger14"; + enablenpc strnpcinfo(0); initnpctimer; - monster "job3_rang02",246,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger14::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger14::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger14"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; - donpcevent "Egg Bomb#job_ranger14::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger14::OnDisable"; - end; -} - -job3_rang02,249,46,0 script Egg Bomb#job_ranger15 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger15"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger15"; - initnpctimer; - monster "job3_rang02",249,46,"Egg Bomb",1047,1,"Egg Bomb#job_ranger15::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger15::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger15"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; - donpcevent "Egg Bomb#job_ranger15::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger15::OnDisable"; - end; -} - -job3_rang02,256,43,0 script Egg Bomb#job_ranger16 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger16"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger16"; - initnpctimer; - monster "job3_rang02",256,43,"Egg Bomb",1047,1,"Egg Bomb#job_ranger16::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger16::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger16"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; - donpcevent "Egg Bomb#job_ranger16::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger16::OnDisable"; - end; -} - -job3_rang02,243,54,0 script Egg Bomb#job_ranger17 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger17"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger17"; - initnpctimer; - monster "job3_rang02",243,54,"Egg Bomb",1047,1,"Egg Bomb#job_ranger17::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger17::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger17"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; - donpcevent "Egg Bomb#job_ranger17::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger17::OnDisable"; - end; -} - -job3_rang02,246,58,0 script Egg Bomb#job_ranger18 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger18"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger18"; - initnpctimer; - monster "job3_rang02",246,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger18::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger18::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger18"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; - donpcevent "Egg Bomb#job_ranger18::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger18::OnDisable"; - end; -} - -job3_rang02,255,56,0 script Egg Bomb#job_ranger19 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger19"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger19"; - initnpctimer; - monster "job3_rang02",255,56,"Egg Bomb",1047,1,"Egg Bomb#job_ranger19::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger19::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger19"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; - donpcevent "Egg Bomb#job_ranger19::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger19::OnDisable"; - end; -} - -job3_rang02,260,48,0 script Egg Bomb#job_ranger20 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger20"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger20"; - initnpctimer; - monster "job3_rang02",260,48,"Egg Bomb",1047,1,"Egg Bomb#job_ranger20::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger20::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger20"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; - donpcevent "Egg Bomb#job_ranger20::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger20::OnDisable"; - end; -} - -job3_rang02,244,53,0 script Egg Bomb#job_ranger21 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger21"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger21"; - initnpctimer; - monster "job3_rang02",244,53,"Egg Bomb",1047,1,"Egg Bomb#job_ranger21::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger21::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger21"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; - donpcevent "Egg Bomb#job_ranger21::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger21::OnDisable"; - end; -} - -job3_rang02,254,50,0 script Egg Bomb#job_ranger22 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger22"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger22"; - initnpctimer; - monster "job3_rang02",254,50,"Egg Bomb",1047,1,"Egg Bomb#job_ranger22::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger22::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger22"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; - donpcevent "Egg Bomb#job_ranger22::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger22::OnDisable"; - end; -} - -job3_rang02,241,41,0 script Egg Bomb#job_ranger23 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger23"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger23"; - initnpctimer; - monster "job3_rang02",241,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger23::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger23::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger23"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; - donpcevent "Egg Bomb#job_ranger23::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger23::OnDisable"; - end; -} - -job3_rang02,259,41,0 script Egg Bomb#job_ranger24 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger24"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger24"; - initnpctimer; - monster "job3_rang02",259,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger24::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger24::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger24"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; - donpcevent "Egg Bomb#job_ranger24::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger24::OnDisable"; - end; -} - -job3_rang02,256,52,0 script Egg Bomb#job_ranger25 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger25"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger25"; - initnpctimer; - monster "job3_rang02",256,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger25::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger25::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger25"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; - donpcevent "Egg Bomb#job_ranger25::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger25::OnDisable"; - end; -} - -job3_rang02,259,58,0 script Egg Bomb#job_ranger26 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger26"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger26"; - initnpctimer; - monster "job3_rang02",259,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger26::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger26::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger26"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; - donpcevent "Egg Bomb#job_ranger26::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger26::OnDisable"; - end; -} - -job3_rang02,254,52,0 script Egg Bomb#job_ranger27 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger27"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger27"; - initnpctimer; - monster "job3_rang02",254,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger27::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; - end; - -OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger27::OnMyMobDead"; - stopnpctimer; - disablenpc "Egg Bomb#job_ranger27"; - end; - -OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; - donpcevent "Egg Bomb#job_ranger27::OnDisable"; - end; - -OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger27::OnDisable"; - end; -} - -job3_rang02,247,42,0 script Egg Bomb#job_ranger28 139,{ - -OnInit: - disablenpc "Egg Bomb#job_ranger28"; - end; - -OnEnable: - enablenpc "Egg Bomb#job_ranger28"; - initnpctimer; - monster "job3_rang02",247,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger28::OnMyMobDead"; - mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; + getmapxy(.@map$,.@x,.@y,1); + monster "job3_rang02",.@x,.@y,"Egg Bomb",1047,1,strnpcinfo(0)+"::OnMyMobDead"; + switch(atoi(strnpcinfo(2))%3) { + case 0: set .@str$,"Hey, I am going to explode. What are you going to do?"; break; + case 1: set .@str$,"I... no, I can't stand anymore!!"; break; + case 2: set .@str$,"I am almost done now... Don't stop me."; break; + } + mapannounce "job3_rang02","Egg Bomb : "+.@str$,bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 end; - OnDisable: - killmonster "job3_rang02","Egg Bomb#job_ranger28::OnMyMobDead"; stopnpctimer; - disablenpc "Egg Bomb#job_ranger28"; + killmonster "job3_rang02",strnpcinfo(0)+"::OnMyMobDead"; + disablenpc strnpcinfo(0); end; - OnMyMobDead: - set $@job_rang_point03,$@job_rang_point03+1; - mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; - donpcevent "Egg Bomb#job_ranger28::OnDisable"; + set $@job_rang_point03, $@job_rang_point03+1; + switch(atoi(strnpcinfo(2))%3) { + case 0: set .@str$,"The world is meaningless and my dream is so far away..."; break; + case 1: set .@str$,"Don't be relieved. Misery always comes from carelessness."; break; + case 2: set .@str$,"Alas, it was only a dream for a short time..."; break; + } + mapannounce "job3_rang02","Egg Bomb : "+.@str$,bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0 + donpcevent strnpcinfo(0)+"::OnDisable"; end; - OnTimer10000: - mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; - donpcevent "Egg Bomb#job_ranger28::OnDisable"; + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!",bc_map,"0xFF9900"; //FW_NORMAL 12 0 0 + donpcevent strnpcinfo(0)+"::OnDisable"; end; } +job3_rang02,246,42,0 duplicate(Egg Bomb#0) Egg Bomb#14 139 +job3_rang02,249,46,0 duplicate(Egg Bomb#0) Egg Bomb#15 139 +job3_rang02,256,43,0 duplicate(Egg Bomb#0) Egg Bomb#16 139 +job3_rang02,243,54,0 duplicate(Egg Bomb#0) Egg Bomb#17 139 +job3_rang02,246,58,0 duplicate(Egg Bomb#0) Egg Bomb#18 139 +job3_rang02,255,56,0 duplicate(Egg Bomb#0) Egg Bomb#19 139 +job3_rang02,260,48,0 duplicate(Egg Bomb#0) Egg Bomb#20 139 +job3_rang02,244,53,0 duplicate(Egg Bomb#0) Egg Bomb#21 139 +job3_rang02,254,50,0 duplicate(Egg Bomb#0) Egg Bomb#22 139 +job3_rang02,241,41,0 duplicate(Egg Bomb#0) Egg Bomb#23 139 +job3_rang02,259,41,0 duplicate(Egg Bomb#0) Egg Bomb#24 139 +job3_rang02,256,52,0 duplicate(Egg Bomb#0) Egg Bomb#25 139 +job3_rang02,259,58,0 duplicate(Egg Bomb#0) Egg Bomb#26 139 +job3_rang02,254,52,0 duplicate(Egg Bomb#0) Egg Bomb#27 139 +job3_rang02,247,42,0 duplicate(Egg Bomb#0) Egg Bomb#28 139 job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ - - if (job_ranger01 < 6) - { - mes "[Ranger Master, Neveragain]"; + mes "[Ranger Master, Neveragain]"; + if (job_ranger01 < 6) { mes "... ...Huh?"; - mes "Strange... ...how did you get here?"; + mes "It's weird... How did you get here?"; next; mes "[Ranger Master, Neveragain]"; mes "You don't seem to belong here..."; next; mes "[Ranger Master, Neveragain]"; - mes "Leave this place,"; - mes "You shouldn't have come here."; + mes "Go away."; + mes "You are not supposed to be here."; close2; warp "alberta",117,57; end; - }else if (job_ranger01 == 6) - { - if (BaseLevel < 99 || JobLevel < 50) - { - mes "[Ranger Master, Neveragain]"; + } else if (job_ranger01 == 6 || job_ranger01 == 7) { + if (BaseLevel < 99 || JobLevel < 50) { mes "No."; - mes "I can tell just by looking at you that you seem to be to unexperienced."; + mes "I can tell just by looking at you that you seem to be inexperienced."; next; mes "[Ranger Master, Neveragain]"; mes "Have more pride in your job and get more experience, and then when you grow as a Hunter or a Sniper you can make an aura by yourself, please come back again."; @@ -2397,124 +1644,110 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ warp "alberta",117,57; end; } - changequest 8259,8262; - mes "[Ranger Master, Neveragain]"; mes "Congratulations!"; mes "You've completed all the rough practical tests!"; + if (job_ranger01 == 6) { + set job_ranger01,7; + changequest 8259,8262; + } next; mes "[Ranger Master, Neveragain]"; - mes "Well, You've had enough experience so I won't need to drag on."; + mes "Well, you've had enough experience so I won't need to drag on."; next; mes "[Ranger Master, Neveragain]"; - mes "Before you do a job change ^0000ffDismiss your Falcon^000000, and check if you've used all of your ^0000ffSkill Points^000000."; + mes "Before you do a job change ^0000ffdismiss your Falcon^000000, and check if you've used all of your ^0000ffSkill Points^000000."; next; - switch(select("Wait a minute:I am ready")) - { - case 1: + if(select("Wait a minute:I am ready") == 1) { mes "[Ranger Master, Neveragain]"; mes "I am not running away so take your time."; close; - case 2: - if (checkfalcon() == 0) - { - if (SkillPoint > 0) - { - mes "[Ranger Master, Neveragain]"; - mes "It seems you haven't used all skill points."; - next; - mes "[Ranger Master, Neveragain]"; - mes "Please use your skill points, and come back to me."; - close; - } - mes "[Ranger Master, Neveragain]"; - mes "Good. No falcon and you've used up all your skill points."; - next; - }else{ - mes "[Ranger Master, Neveragain]"; - mes "Didn't you dismiss your falcon??"; - next; - mes "[Ranger Master, Neveragain]"; - mes "Please dismiss your falcon, and come back to me."; - close; - } } mes "[Ranger Master, Neveragain]"; + if (checkfalcon()) { + mes "Didn't you dismiss your falcon??"; + next; + mes "[Ranger Master, Neveragain]"; + mes "Please dismiss your falcon, and come back to me."; + close; + } + if (SkillPoint != 0) { + mes "I think you need to learn more."; + next; + mes "[Ranger Master Neveragain]"; + mes "Use up all of your skill points before continuing on."; + close; + } + mes "Good. No falcon and you've used up all your skill points."; + next; + mes "[Ranger Master, Neveragain]"; mes "Okay, before you really change the job into a ranger, I'll ask you on more time."; mes "Do you really want to become a ranger?"; next; - if(select("No:Yes!") == 1) - { + if(select("No:Yes!") == 1) { mes "[Ranger Master, Neveragain]"; - mes "Umm? That's not the answer that I was waiting for..."; + mes "...Um? That's not the answer that I was waiting for..."; next; mes "[Ranger Master, Neveragain]"; mes "Even after passing through all the rough practical tests, you don't want to become a ranger... are you sure?"; close; } - if (Class == Job_Hunter || Class == Job_Sniper || Job_Baby_Hunter) - { - mes "[Ranger Master, Neveragain]"; - mes "Your firm answer seems very trustworthy!"; - next; - nude; - if (countitem(1703) > 0) - { - mes "[Ranger Master, Neveragain]"; - mes "From now on be active as a splendid Ranger!"; - mes "I wish you luck in your future!"; - delitem 1703,1; - set job_ranger01,7; - completequest 8262; - jobchange roclass(eaclass()|EAJL_THIRD); - getitem 5748,1; - getitem 2795,1; - getitem 6124,1; - close; - } - mes "[Ranger Master, Neveragain]"; - mes "...However,"; - mes "You have to return your test items."; - mes "What did you do with your testing Bow?"; + mes "[Ranger Master, Neveragain]"; + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; close; - }else - { - mes "[Ranger Master, Neveragain]"; - mes "...Huh? Who are you?"; + } + if (BaseJob != Job_Hunter) { + mes "Wait, who are you?"; mes "You are not a Hunter or a Sniper?!"; next; mes "[Ranger Master, Neveragain]"; mes "What are you doing here?"; - mes "You shouldn't have come here. Get out!"; + mes "You are not supposed to be here. Get out!"; set job_ranger01,0; - erasequest 8254; - erasequest 8255; - erasequest 8256; - erasequest 8257; - erasequest 8258; - erasequest 8259; - erasequest 8260; - erasequest 8261; - erasequest 8262; + for(set .@i,8254; .@i<=8262; set .@i,.@i+1) + if (checkquest(.@i) > -1) erasequest .@i; close2; warp "alberta",117,57; end; } - }else{ - mes "[Ranger Master, Neveragain]"; - mes "Hey, you look great."; - mes "What are you doing here?"; + mes "Your firm answer seems very trustworthy!"; next; - if(select("I just came by:Please let me be out") == 1) - { + nude; + if (countitem(1703) < 1) { mes "[Ranger Master, Neveragain]"; - mes "Well, there's nothing to see and you came."; - next; - mes "[Ranger Master, Neveragain]"; - mes "Take a rest as long as you want."; - mes "It's the place where you can have a tea easily."; + mes "Umm?"; + mes "You need to return the borrowed stuff."; + mes "Where is the bow that was given to you for the job change test?"; close; } mes "[Ranger Master, Neveragain]"; + mes "From now on be active as a splendid Ranger!"; + mes "I wish you luck in your future!"; + delitem 1703,1; //Bow__ + set job_ranger01,8; + completequest 8262; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 5748,1; //Sniper_Goggle + getitem 2795,1; //Green_Apple_Ring + getitem 6124,1; //Wolf's_Flute + close; + } + mes "Hey, you look great."; + mes "What are you doing here?"; + next; + switch(select("I just came by:Please let me be out")) { + case 1: + mes "[Ranger Master, Neveragain]"; + mes "Well, there's nothing to see and you came."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Take a rest as long as you want."; + mes "It's the place where you can have a tea easily."; + close; + case 2: + mes "[Ranger Master, Neveragain]"; mes "It was good to see you."; mes "Don't lose the dignity as a Ranger wherever you go."; close2; @@ -2523,51 +1756,50 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ } } -job3_rang01,58,1,0 script Test#job_ranger 88,{ - - if(getgmlevel() > 98) - { - switch(select("Enable Waiting Room:Disable Waiting Room:Enable 1st Test:Disable 1st Test:Enable 2nd Test:Disable 2nd Test:Enable 3rd Test:Disable 3rd Test:Cancel")) - { - case 1: - mes "Enabled Waiting Room"; - donpcevent "Practical Test::OnEnable"; - close; - case 2: - mes "Disabled Waiting Room"; - donpcevent "Practical Test::OnDisable"; - close; - case 3: - mes "1st Test Enabled"; - donpcevent "Test Supervisor#jr_04::OnEnable"; - close; - case 4: - mes "1st Test Disabled"; - donpcevent "Test Supervisor#jr_04::OnDisable"; - donpcevent "First Test Timer#jr_05::OnDisable"; - donpcevent "Correct Monster Summon::OnReset"; - donpcevent "False Monster Summon::OnReset"; - close; - case 5: - mes "2nd Test Enabled"; - donpcevent "Second Test Timer#jr_08::OnEnable"; - close; - case 6: - mes "2nd Test Disabled"; - donpcevent "Second Test Time#job_ranger08::OnDisable"; - close; - case 7: - mes "3rd Test has been Enabled"; - donpcevent "3rd Test Timer#job_ranger12::OnEnable"; - close; - case 8: - mes "3rd Test has been Disabled"; - donpcevent "Third Test Timer#jr_12::OnDisable"; - for(set .@i,14; .@i<29; set .@i,.@i+1) - donpcevent "Egg Bomb#job_ranger"+.@i+"::OnDisable"; - close; - case 9: - close; - } +/* +job3_rang01,58,1,0 script Worker#job_ranger 88,{ + switch(select("Enable Waiting Room:Disable Waiting Room:Enable 1st Test:Disable 1st Test:Enable 2nd Test:Disable 2nd Test:Enable 3rd Test:Disable 3rd Test:Cancel")) { + case 1: + mes "Enabled Waiting Room"; + donpcevent "Test Waiting Room#jr_03::OnEnable"; + close; + case 2: + mes "Disabled Waiting Room"; + donpcevent "Test Waiting Room#jr_03::OnDisable"; + close; + case 3: + mes "1st Test Enabled"; + donpcevent "Test Supervisor#jr_04::OnEnable"; + close; + case 4: + mes "1st Test Disabled"; + donpcevent "Test Supervisor#jr_04::OnDisable"; + donpcevent "First Test Timer#jr_05::OnDisable"; + donpcevent "CallCorrectAnswer#jr::OnReset"; + donpcevent "CallWrongAnswer#jr::OnReset"; + donpcevent "CallCorrectAnswer#jr::OnDisable"; + donpcevent "CallWrongAnswer#jr::OnDisable"; + close; + case 5: + mes "2nd Test Enabled"; + donpcevent "Second Test Timer#jr_08::OnEnable"; + close; + case 6: + mes "2nd Test Disabled"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + close; + case 7: + mes "3rd Test has been Enabled"; + donpcevent "Third Test Timer#jr_12::OnEnable"; + close; + case 8: + mes "3rd Test has been Disabled"; + donpcevent "Third Test Timer#jr_12::OnDisable"; + for(set .@i,14; .@i<=28; set .@i,.@i+1) + donpcevent "Egg Bomb#"+.@i+"::OnDisable"; + close; + case 9: + close; } -}
\ No newline at end of file +} +*/
\ No newline at end of file diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt index 5f9f8db02..5cdbaea11 100644 --- a/npc/re/jobs/3-1/rune_knight.txt +++ b/npc/re/jobs/3-1/rune_knight.txt @@ -1,10 +1,9 @@ //===== rAthena Script ======================================= //= Rune Knight Job Quest //===== By: ================================================== -//= L0ne_W0lf -//= Credits: Gepard, Muad_Dib +//= L0ne_W0lf, Muad_Dib //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,15 +11,14 @@ //===== Additional Comments: ================================= //= 1.0 First version. //= 1.1 Added forgoten Header. [Masao] -//= 1.2 Added Energy Rune item reward after finishing the -//= job change quest and changed an close2; to close; command. [Masao] +//= 1.2 Added Energy Rune item reward. [Masao] +//= 1.3 Updated script, optimized. [Euphy] //============================================================ -prt_in,162,24,3 script Splendid-Looking Knight 470,{ - +prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{ + mes "[Rune Knight Manuel]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Rune Knight Manuel]"; - mes "Your are now a member of our select brethren. I can still remember when I first met you."; + mes "You are now a member of our select brethren. I can still remember when I first met you."; next; mes "[Rune Knight Manuel]"; mes "Strive to live the way of the sword with honor..."; @@ -30,91 +28,84 @@ prt_in,162,24,3 script Splendid-Looking Knight 470,{ close; } if (job_rune_edq == 0) { - mes "[Rune Knight Manuel]"; mes "There are many paths one can take in the world. Most people can see their path but don't really follow it..."; next; mes "[Rune Knight Manuel]"; mes "Anyway the drinks here are really good. Would you like to have one?"; next; - switch (select("Sure, let's have a drink.:I refuse.")) { - case 1: - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if(select("Sure, let's have a drink.:I refuse.") == 2) { + mes "[Rune Knight Manuel]"; + mes "Are you sure? You don't know the true elegance of these drinks..."; + close; + } + mes "[Rune Knight Manuel]"; + if (BaseJob == Job_Knight) { + mes "You walk the way of sword too don't you? Then we can understand each other. Drinks taste better when it's with a fellow Swordman."; + next; + mes "[Rune Knight Manuel]"; + mes "I'll buy this round."; + mes "A toast to friendship~"; + next; + mes "[Rune Knight Manuel]"; + if (BaseLevel > 98 && JobLevel > 49) { + mes "In my opinion you seem to be ready to start a new way..."; + next; + mes "[Rune Knight Manuel]"; + mes "Walking the way of the sword is a perpetual battle. From now on you may have a rough journey ahead of you..."; + next; + mes "[Rune Knight Manuel]"; + mes "If you want to walk on your new way and surpass your current limits, I'm willing to help you."; + next; mes "[Rune Knight Manuel]"; - mes "You walk the way of sword too don't you? Then we can understand each other. Drinks taste better when it's with a fellow Swordman."; + mes "The true way of a Swordman who learned harmony to break the limit of a sword is a Rune Knight."; next; mes "[Rune Knight Manuel]"; - mes "I'll buy this round."; - mes "A toast to friendship~"; + mes "Won't you join our brethren? You look like you're fully qualified to become one of us."; next; - if ((BaseLevel > 98) && (JobLevel > 49)) { + mes "[Rune Knight Manuel]"; + mes "If you are interested, I'll introduce you to the masters who will guide you to the way of the Rune Knight with my recommendation."; + next; + switch(select("I am not ready yet.:I'm ready to be a Rune Knight.")) { + case 1: mes "[Rune Knight Manuel]"; - mes "In my opinion you seem to be ready to start a new way..."; + mes "Right. Every challenge always needs preparation. Okay, I'll wait for you."; next; mes "[Rune Knight Manuel]"; - mes "Walking the way of the sword is a perpetual battle. From now on you may have a rough journey ahead of you..."; - next; + mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight."; + close; + case 2: mes "[Rune Knight Manuel]"; - mes "If you want to walk on your new way and surpass your current limits, I'm willing to help you."; + mes "You're sure now?"; + mes "Let me send a dispatch to my comrades that you are willing to join our ranks."; next; + set job_rune_edq,1; + setquest 3200; mes "[Rune Knight Manuel]"; - mes "The true way of a Swordman who learned harmony to break the limit of a sword is a Rune Knight."; + mes "You know the place called Glast Heim? There's a Rune Knight waiting for you there, he will guide you to the entrance of Glast Heim Tower."; next; mes "[Rune Knight Manuel]"; - mes "Won't you join our brethren? You look like you're fully qualified to become one of us."; + mes "My name is Manuel. I am called the Rune Knight of Brilliance. When you tell him that you are a Rune Knight candidate with my recommendation, he will handle the rest."; next; mes "[Rune Knight Manuel]"; - mes "If you are interested, I'll introduce you to the masters who will guide you to the way of the Rune Knight with my recommendation."; - next; - switch (select("I am not ready yet.:I'm ready to be a Rune Knight.")) { - case 1: - mes "[Rune Knight Manuel]"; - mes "Right. Every challenge always needs preparation. Okay, I'll wait for you."; - next; - mes "[Rune Knight Manuel]"; - mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight."; - close; - case 2: - mes "[Rune Knight Manuel]"; - mes "You're sure now?"; - mes "Let me send a dispatch to my comrades that you are willing to join our ranks."; - next; - set job_rune_edq,1; - setquest 3200; - mes "[Rune Knight Manuel]"; - mes "You know the place called Glast Heim? There's a Rune Knight waiting for you there, he will guide you to the entrance of Glast Heim Tower."; - next; - mes "[Rune Knight Manuel]"; - mes "My name is Manuel. I am called the Rune Knight of Brilliance. When you tell him that you are a Rune Knight candidate with my recommendation, he will handle the rest."; - next; - mes "[Rune Knight Manuel]"; - mes "I will wait for the day that you become our comrade as a true Rune Knight."; - close; - } + mes "I will wait for the day that you become our comrade as a true Rune Knight."; + close; } - mes "[Rune Knight Manuel]"; - mes "If you continually walk the way of the sword, you will eventually feel the limits of your powers. Like myself before..."; - next; - mes "[Rune Knight Manuel]"; - mes "When the time comes there will be a way to help you surpass that limit. Until the day that your strength has grown comes, we can at least still have a drink together."; - next; - mes "[Rune Knight Manuel]"; - mes "A toast to the day that your strength can withstand the powers of a Rune Knight!"; - close; } - mes "[Rune Knight Manuel]"; - mes "I believe that the wind of change is not always a good one."; + mes "If you continually walk the way of the sword, you will eventually feel the limits of your powers. Like myself before..."; next; mes "[Rune Knight Manuel]"; - mes "Just like the taste of this drink. I wish the taste of this drink is kept here forever."; - close; - case 2: + mes "When the time comes there will be a way to help you surpass that limit. Until the day that your strength has grown comes, we can at least still have a drink together."; + next; mes "[Rune Knight Manuel]"; - mes "Are you sure? You don't know the true elegance of these drinks..."; + mes "A toast to the day that your strength can withstand the powers of a Rune Knight!"; close; } - } - if (job_rune_edq == 1) { + mes "I believe that the wind of change is not always a good one."; + next; mes "[Rune Knight Manuel]"; + mes "Just like the taste of this drink. I wish the taste of this drink is kept here forever."; + close; + } else if (job_rune_edq == 1) { mes "The Rune Knight is waiting for you at Glast Heim. He will guide you to the entrance of Glast Heim Tower."; next; mes "[Rune Knight Manuel]"; @@ -124,7 +115,6 @@ prt_in,162,24,3 script Splendid-Looking Knight 470,{ mes "I will wait for the day you become our comrade as a true Rune Knight."; close; } - mes "[Rune Knight Manuel]"; mes "Don't you have things to do right now?"; next; mes "[Rune Knight Manuel]"; @@ -133,11 +123,10 @@ prt_in,162,24,3 script Splendid-Looking Knight 470,{ close; } -glast_01,44,363,3 script Guide, Jungberg 468,{ - +glast_01,44,363,3 script Guide, Jungberg 468,2,2,{ + mes "[Guide, Jungberg]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Guide, Jungberg]"; - mes "Oh you must be, "+strcharinfo(0)+"."; + mes "Oh, you must be "+strcharinfo(0)+"."; mes "Welcome."; next; mes "[Guide, Jungberg]"; @@ -146,7 +135,7 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ mes "[Guide, Jungberg]"; mes "So, What can I help you with?"; next; - switch (select("I want to go to the gathering place.:Nothing.")) { + switch(select("I want to go to the gathering place.:Nothing.")) { case 1: mes "[Guide, Jungberg]"; mes "Right. I'll send you right now. I'll see you soon."; @@ -157,51 +146,32 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ close; } } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob != Job_Knight) { + mes "I am the only knight who's keeping the way of the Swordsman in this cursed place Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path."; + close; + } + if (job_rune_edq < 2) { + mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?"; + next; + mes "[Guide, Jungberg]"; + mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone."; + next; if (job_rune_edq == 0) { - mes "[Guide, Jungberg]"; - mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?"; - next; - mes "[Guide, Jungberg]"; - mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone."; - next; - switch (select("Who are you?:What are you doing here?:Cancel.")) { + switch(select("Who are you?:What are you doing here?:Cancel.")) { case 1: - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - mes "[Guide, Jungberg]"; - mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; - next; - mes "[Guide, Jungberg]"; - mes "If you also follow the way of the Swordman our paths will most certainly cross again when you have reached your full potential."; - close; - } mes "[Guide, Jungberg]"; - mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; + mes "I am the only knight who's keeping the way of the Swordsman in this cursed place Glast Heim."; next; mes "[Guide, Jungberg]"; - mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path."; + mes "If you also follow the way of the Swordsman our paths will most certainly cross again when you have reached your full potential."; close; case 2: - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - mes "[Guide, Jungberg]"; - mes "I am a man walking the way of the Sword. But I'm not exactly the same as the likes of you, Rune-Midgart knight."; - next; - mes "[Guide, Jungberg]"; - mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet."; - next; - mes "[Guide, Jungberg]"; - mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword."; - next; - mes "[Guide, Jungberg]"; - mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose."; - next; - mes "[Guide, Jungberg]"; - mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword."; - next; - mes "[Guide, Jungberg]"; - mes "If you wish to join the Rune Knights. Please get a recommendation from one of the guides and come to me again."; - close; - } + mes "[Guide, Jungberg]"; + mes "I am a man walking the way of the Sword. But I'm not exactly the same as the likes of you, Rune-Midgart knight."; + next; mes "[Guide, Jungberg]"; mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet."; next; @@ -212,24 +182,16 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose."; next; mes "[Guide, Jungberg]"; - mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword."; + mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune-Midgard. They are looking for a people who will join the true way of the Sword."; next; mes "[Guide, Jungberg]"; - // custom translation - mes "Unfortunately, you are pursuing a different path than our people...I hope you can follow their path and convictions."; + mes "If you wish to join the Rune Knights. Please get a recommendation from one of the guides and come to me again."; close; case 3: close; } - } - if (job_rune_edq == 1) { - mes "[Guide, Jungberg]"; - mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?"; - next; - mes "[Guide, Jungberg]"; - mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone."; - next; - switch (select("I came to be a Rune Knight.:Cancel.")) { + } else if (job_rune_edq == 1) { + switch(select("I came to be a Rune Knight.:Cancel.")) { case 1: mes "[Guide, Jungberg]"; mes "Um... Are you the Rune Knight candidate that Manuel talked about?"; @@ -238,7 +200,7 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ mes "Your name is "+strcharinfo(0)+", right? I can see clearly that you are qualified to become our comrade."; next; mes "[Guide, Jungberg]"; - mes "Good. I don't have to ask anymore about your qualification to join our brethren....1.S...Now I'll give you your first assignment."; + mes "Good. I don't have to ask any more about your qualification to join our brethren....1.S... Now I'll give you your first assignment."; next; mes "[Guide, Jungberg]"; mes "Find our Rune Knight gathering place hidden inside of Glast Heim."; @@ -250,7 +212,7 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ mes "If you can find it, there'll be a person waiting to greet you, so let's start."; next; mes "[Guide, Jungberg]"; - mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate."; + mes "Of course your life might be at risk by the ghosts of Glast Heim... but overcoming the risk shouldn't be hard for a Rune Knight candidate."; set job_rune_edq,2; changequest 3200,3201; close; @@ -258,49 +220,39 @@ glast_01,44,363,3 script Guide, Jungberg 468,{ close; } } - if (job_rune_edq == 2) { - mes "[Guide, Jungberg]"; - mes "The 1st assignment is to find out our Rune Knight gathering place hidden inside of Glast Heim."; - next; - mes "[Guide, Jungberg]"; - mes "There's a place that leads to the Rune Knights' secret gathering place inside Glast Heim Chivalry. Find that place by yourself."; - next; - mes "[Guide, Jungberg]"; - mes "If you can find it, there'll be a person waiting to greet you, so let's start."; - next; - mes "[Guide, Jungberg]"; - mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate."; - close; - } + } else if (job_rune_edq == 2) { + mes "The 1st assignment is to find out our Rune Knight gathering place hidden inside of Glast Heim."; + next; mes "[Guide, Jungberg]"; - mes "It seems that you are still taking the test. Do your best and pass all the tests."; + mes "There's a place that leads to the Rune Knights' secret gathering place inside Glast Heim Chivalry. Find that place by yourself."; next; - switch (select("I want to go to the gathering place.:Quit the conversation.")) { - case 1: - mes "[Guide, Jungberg]"; - mes "All right. I'll send you right away. I'll check you later."; - close2; - warp "job3_rune01",80,65; - end; - case 2: - close; - } + mes "[Guide, Jungberg]"; + mes "If you can find it, there'll be a person waiting to greet you, so let's start."; + next; + mes "[Guide, Jungberg]"; + mes "Of course your life might be at risk by the ghosts of Glast Heim... but overcoming the risk shouldn't be hard for a Rune Knight candidate."; + close; } - mes "[Guide, Jungberg]"; - mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; + mes "It seems that you are still taking the test. Do your best and pass all the tests."; next; - mes "[Guide, Jungberg]"; - mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path."; - close; + switch(select("I want to go to the gathering place.:Quit the conversation.")) { + case 1: + mes "[Guide, Jungberg]"; + mes "All right. I'll send you right away. I'll check you later."; + close2; + warp "job3_rune01",80,65; + end; + case 2: + close; + } } -gl_knt02,150,55,3 script Rune Knight Staff 83,{ - +gl_knt02,150,55,3 script Rune Knight Staff 83,2,2,{ + mes "[Rune Knight Staff]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Rune Knight Staff]"; - mes "Welcome, " + strcharinfo(0) + ". Are you going to the gathering place?"; + mes "Welcome, "+strcharinfo(0)+". Are you going to the gathering place?"; next; - switch (select("Yes, take me there.:I'm on other business.:Cancel.")) { + switch(select("Yes, take me there.:I'm on other business.:Cancel.")) { case 1: mes "[Rune Knight Staff]"; mes "Okay, come in. I'll guide you."; @@ -315,21 +267,17 @@ gl_knt02,150,55,3 script Rune Knight Staff 83,{ close; } } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - if ((job_rune_edq > 0) && (job_rune_edq < 2)) { - // custom translation - mes "[Rune Knight Staff]"; - mes "Ah...this area is off limits, you are prohibited to be here. Please do not do anything to hinder our efforts."; + if (BaseJob == Job_Knight) { + if (job_rune_edq == 1) { + mes "Ah... this area is off limits, you are prohibited to be here. Please do not do anything to hinder our efforts."; next; mes "[Rune Knight Staff]"; - mes "although...you seem to have the potential to become a companion to those who follow the path of the sword."; + mes "Although... you seem to have the potential to become a companion to those who follow the path of the sword."; next; mes "[Rune Knight Staff]"; mes "I'm sure we'll be crossing paths before long. I believe we will meet again."; close; - } - if (job_rune_edq > 1) { - mes "[Rune Knight Staff]"; + } else if (job_rune_edq > 1) { mes "You found this place correctly. Jungberg sent me to send you to the gathering place."; next; mes "[Rune Knight Staff]"; @@ -341,77 +289,56 @@ gl_knt02,150,55,3 script Rune Knight Staff 83,{ warp "job3_rune01",80,65; end; } - close; } - mes "[Rune Knight Staff]"; - mes "Wait! This place is prohibited. I don't mind you going around but, don't ever disturb me again."; + mes "Wait! This place is prohibited. I don't mind you wandering about but, don't ever disturb me again."; close; } -job3_rune01,80,60,3 script Rune Knight Captain 470,{ - - if (checkweight(1201,1) == 0) { - mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight."; - close; - } - if ((MaxWeight - Weight) < 1000) { +job3_rune01,80,60,3 script Rune Knight Captain 470,2,2,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight."; close; } if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Captain Tigris]"; if (job_rune_edq == 23) { - mes "[Captain Tigris]"; mes "Oh, I see... Please wait a moment."; next; mes "[Captain Tigris]"; - mes "I forgot to check if you are qualified to get the celebration gift for changing your job.."; + mes "I forgot to check if you are qualified to get the celebration gift for changing your job..."; next; mes "[Captain Tigris]"; mes "Let me check the report from the instructors who took care of your tests."; next; + mes "[Captain Tigris]"; if (job_rune_edq3 == 0) { - // custom translation - mes "[Captain Tigris]"; - mes "Ah...perfect. This result is truely rare."; - next; - mes "[Captain Tigris]"; - mes "Well, take this. This is a present that I've kept to give to my juniors like you."; - getitem 2140,1; //Energy_Rune_Guard - set job_rune_edq,24; - close; + mes "Hm... This is perfect. You've come here with very rare good records."; + set .@item,2140; //Energy_Rune_Guard + } else if (job_rune_edq3 > 2 && job_rune_edq3 < 6) { + mes "Hmm... This is great. You've come here with decent records."; + set .@item,2794; //Magic_Stone_Ring + } else { + mes "Hmm, not bad. It's not a great record but you tried your best."; + set .@item,15002; //Rune_Plate } - else if ((job_rune_edq3 > 2) && (job_rune_edq3 < 6)) { - // custom translation - mes "[Captain Tigris]"; - mes "Ah, what a high score. Your results were very good."; - next; - mes "[Captain Tigris]"; - mes "Well, take this. This is a present that I've kept to give to my juniors like you."; - getitem 2794,1; //Magic_Stone_Ring - set job_rune_edq,24; - close; - } - mes "[Captain Tigris]"; - mes "Umm, not bad. It's not a great record but you tried your best."; next; mes "[Captain Tigris]"; - mes "Well, take this. This is a present that I've kept to give to my juniors like you."; - getitem 15002,1; //Rune_Plate + mes "Here, take this. It's a gift that I like to give to the younger generation like yourself."; + getitem .@item,1; //Energy_Rune_Guard set job_rune_edq,24; close; } - mes "[Captain Tigris]"; mes "Hey, long time no see, "+strcharinfo(0)+". I don't think you've got any important matters to discuss but make yourself comfortable."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob == Job_Knight) { if (job_rune_edq == 2) { mes "A man wearing glorious armor and passion in his eyes is standing in front of me."; next; mes "He stares at me with an absent look and after a while he begins to talk."; next; mes "[Captain Tigris]"; - mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is??"; + mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is?"; next; mes "[Captain Tigris]"; mes "Oh, I've heard it before but I've forgotten it. Right, were you "+strcharinfo(0)+"? I truly welcome you from the heart for coming here."; @@ -447,8 +374,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ mes "[Captain Tigris]"; mes "Well then, I'll be waiting here so take the test."; close; - } - if (job_rune_edq == 3) { + } else if (job_rune_edq == 3) { mes "[Captain Tigris]"; mes "Now the test begins. First, you'll get the 1st test from that beautiful icy lady, so please try your best."; next; @@ -458,8 +384,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ mes "[Captain Tigris]"; mes "Well then, I'll be waiting here so take the test."; close; - } - if ((job_rune_edq > 3) && (job_rune_edq < 6)) { + } else if (job_rune_edq > 3 && job_rune_edq < 6) { mes "[Captain Tigris]"; mes "Hey you, weren't you testing? Lunarea, what happened? Is the test all done?"; next; @@ -480,13 +405,12 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ mes "[Captain Tigris]"; mes "Whoa don't look at me like that. Okay, you see that? Aspiring Rune Knight. Go back to Lunarea and take the test as she says. That'll be good for you."; close; - } - if (job_rune_edq == 6) { + } else if (job_rune_edq == 6) { mes "[Captain Tigris]"; mes "Umm, it seems that you've passed Lunarea's test? I guess I won't have to test more for the basics."; next; mes "[Captain Tigris]"; - mes "Undeniably our Rune Knights have some differences but we should not forget our Swordman roots."; + mes "Undeniably our Rune Knights have some differences but we should not forget our Swordsman roots."; next; mes "[Captain Tigris]"; mes "From now on, this will be the real test as a Rune Knight that you want to be. You'll need to prepare to take next test."; @@ -505,8 +429,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ set job_rune_edq,7; changequest 3204,3205; close; - } - if ((job_rune_edq > 6) && (job_rune_edq < 16)) { + } else if (job_rune_edq > 6 && job_rune_edq < 16) { mes "[Captain Tigris]"; mes "Now, this will be the real test as a Rune Knight. You've got to prepare to take the next test."; next; @@ -522,8 +445,7 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ mes "[Captain Tigris]"; mes "Go to that fiery lady in the library room to get the next test done and come back."; close; - } - if (job_rune_edq == 16) { + } else if (job_rune_edq == 16) { mes "[Captain Tigris]"; mes "Oh, I heard that you've passed Renoa's test which only few people could pass."; next; @@ -545,16 +467,14 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ set job_rune_edq,17; changequest 3215,3216; close; - } - if ((job_rune_edq > 16) && (job_rune_edq < 22)) { + } else if (job_rune_edq > 16 && job_rune_edq < 22) { mes "[Captain Tigris]"; mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side."; next; mes "[Captain Tigris]"; mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight. So please do your best."; close; - } - if (job_rune_edq == 22) { + } else if (job_rune_edq == 22) { mes "[Captain Tigris]"; mes "Congratulations. Now you've passed all the tests and can walk the way of a Rune Knight."; next; @@ -576,135 +496,90 @@ job3_rune01,80,60,3 script Rune Knight Captain 470,{ mes "[Captain Tigris]"; mes "Lastly, there are several things to be aware of as a Knight who's experienced a job change to a Lord Knight in Valhalla."; next; - mes "[Captain Tigris]"; - mes "If there's any equipment that you are wearing now, or anything you're holding, please empty it for your job change moment."; - next; - mes "[Captain Tigris]"; - mes "Visit the Kafra Employee to use the storage."; - next; - mes "[Captain Tigris]"; - mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again."; - next; - mes "[Captain Tigris]"; - mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points."; - next; + callsub L_Warning; mes "[Captain Tigris]"; mes "Well, my job is done now. Would you like to start your new life as a Rune Knight?"; next; - switch (select("Every preparation is done.:I need more time to think.")) { + switch(select("Every preparation is done.:I need more time to think.")) { case 1: - if (Weight > 0 || checkcart() || SkillPoint != 0 || checkfalcon() || checkriding()) { + if (SkillPoint != 0 || checkriding()) { mes "[Captain Tigris]"; mes "Weren't you listening?"; next; - mes "[Captain Tigris]"; - mes "If there's any equipment that you are wearing now, or anything you're holding. Please empty it for your job change moment."; - next; - mes "[Captain Tigris]"; - mes "Talk to the Kafra Employee to use the storage."; - next; - mes "[Captain Tigris]"; - mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again."; - next; - mes "[Captain Tigris]"; - mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points."; - next; + callsub L_Warning; mes "[Captain Tigris]"; mes "If you understood, then make your preparations and come back."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))) { + if (BaseLevel < 99 || JobLevel < 50) { mes "[Captain Tigris]"; - mes "Our Master, Beljeve... and the Great Sage, Serpeone..."; - next; + mes "It seems not enough?"; + close; + } + if (ismounting()) { mes "[Captain Tigris]"; - mes "This Knight is going to walk the way of the Rune Knights with us, so please give your blessing."; - next; - if (Class == Job_Baby_Knight) { - getitem 5746,1; //Rune_Circlet - getitem 2795,1; //Green_Apple_Ring - getitem 2140,1; //Energy_Rune - set job_rune_edq,23; - completequest 3219; - jobchange Job_Baby_Rune; - mes "[Captain Tigris]"; - mes "Remember this moment forever for you are now a Rune Knight."; - next; - mes "[Captain Tigris]"; - mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; - next; - mes "[Captain Tigris]"; - mes "Give me a second to get the royal gift and talk to me again."; - close; - } - else if (Class == Job_Knight) { - getitem 5746,1; //Rune_Circlet - getitem 2795,1; //Green_Apple_Ring - getitem 2140,1; //Energy_Rune - set job_rune_edq,23; - completequest 3219; - jobchange Job_Rune_Knight; - mes "[Captain Tigris]"; - mes "Remember this moment forever for you are now a Rune Knight."; - next; - mes "[Captain Tigris]"; - mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; - next; - mes "[Captain Tigris]"; - mes "Give me a second to get the royal gift and talk to me again."; - close; - } - else if (Class == Job_Lord_Knight) { - getitem 5746,1; //Rune_Circlet - getitem 2795,1; //Green_Apple_Ring - getitem 2140,1; //Energy_Rune - set job_rune_edq,23; - completequest 3219; - jobchange Job_Rune_Knight_T; - mes "[Captain Tigris]"; - mes "Remember this moment forever for you are now a Rune Knight."; - next; - mes "[Captain Tigris]"; - mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; - next; - mes "[Captain Tigris]"; - mes "Give me a second to get the royal gift and talk to me again."; - close; - } + mes "Please unequip your mount and come back again."; + close; } - // custom translation mes "[Captain Tigris]"; - mes "You seem to be missing something?"; + mes "Our Master, Beljeve... and the Great Sage, Serpeone..."; + next; + mes "[Captain Tigris]"; + mes "This Knight is going to walk the way of the Rune Knights with us, so please give your blessing."; + next; + getitem 5746,1; //Rune_Circlet + getitem 2795,1; //Green_Apple_Ring + set job_rune_edq,23; + completequest 3219; + jobchange roclass(eaclass()|EAJL_THIRD); + mes "[Captain Tigris]"; + mes "Congratulations."; + mes "You are now an honorable Rune Knight."; + mes "Remember this day from this day forth!"; + next; + mes "[Captain Tigris]"; + mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; + next; + mes "[Captain Tigris]"; + mes "Give me a second to get the royal gift and talk to me again."; close; case 2: close; } } } - // custom translation mes "[Captain Tigris]"; - mes "I don't know how you got here...but you should not have come here."; + mes "I don't know how you were able to get here. But it looks like you've come to a place where you shouldn't be."; next; mes "[Captain Tigris]"; - mes "Go back to where came from."; + mes "Go back to where you belong."; close2; warp "gl_knt02",150,55; end; +L_Warning: + mes "[Captain Tigris]"; + mes "If there's any equipment that you are wearing now, or anything you're holding. Please empty it for your job change moment."; + next; + mes "[Captain Tigris]"; + mes "Talk to the Kafra Employee to use the storage."; + next; + mes "[Captain Tigris]"; + mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again."; + next; + mes "[Captain Tigris]"; + mes "One more thing. If you have any remaining skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points."; + next; + return; } -job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ - +job3_rune01,90,50,3 script Rune Knight Lunarea 469,2,2,{ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { mes "She holds up her chin quietly, nods lightly and notices me."; next; mes "Then after a moment she puts her face down and seems absorbed with other thoughts."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - if (job_rune_edq < 3) { - mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence"; - close; - } + if (BaseJob == Job_Knight) { if (job_rune_edq == 3) { mes "She finally opens her mouth and begins to talk."; next; @@ -723,36 +598,14 @@ job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ mes "[Rune Knight, Lunarea]"; mes "When you are ready to go to the test field talk to me."; next; - switch (select("Move to the test field now.:Give me time to get ready.")) { + switch(select("Move to the test field now.:Give me time to get ready.")) { case 1: - if ($@job_rune_test1 == 0) { - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - set job_rune_edq, 4; - changequest 3202,3203; - set $@job_rune_test1,1; - close2; - warp "job3_rune02",38,40; - end; - } - // custom translation - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - next; - mes "But her expression suddenly changed a bit as she looked at to speak."; - next; - mes "[Rune Knight, Lunarea]"; - mes "Now...the testing room is currently occupied..."; - next; - mes "[Rune Knight, Lunarea]"; - mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; - next; - mes "[Rune Knight, Lunarea]"; - mes "Just wait over 5 minutes and it should be your turn."; + callsub L_Test,0; close; case 2: close; } - } - if (job_rune_edq == 4) { + } else if (job_rune_edq == 4) { mes "[Rune Knight, Lunarea]"; mes "Did you fail? But, there's no limitation to the number of times you can try."; next; @@ -765,33 +618,8 @@ job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ mes "[Rune Knight, Lunarea]"; mes "If you are ready to move to the test field talk to me."; next; - switch (select("Move to the test field now.:Please give me time to prepare.")) { + switch(select("Move to the test field now.:Please give me time to prepare.")) { case 1: - if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) { - if ($@job_rune_test1 == 0) { - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - set $@job_rune_test1,1; - erasequest 3220; - setquest 3220; - close2; - warp "job3_rune02",38,40; - end; - } - // custom translation - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - next; - mes "But her expression suddenly changed a bit as she looked at to speak."; - next; - mes "[Rune Knight, Lunarea]"; - mes "Now...the testing room is currently occupied..."; - next; - mes "[Rune Knight, Lunarea]"; - mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; - next; - mes "[Rune Knight, Lunarea]"; - mes "Just wait over 5 minutes and it should be your turn."; - close; - } if (checkquest(3220,PLAYTIME) == 1) { mes "[Rune Knight, Lunarea]"; mes "Once someone enters into the test field you cannot enter directly. The test is taken one by one."; @@ -800,37 +628,12 @@ job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ mes "When it's your turn to enter you will be sent there directly."; close; } - if (checkquest(3220,PLAYTIME) == 2) { - erasequest 3220; - if ($@job_rune_test1 == 0) { - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - set $@job_rune_test1,1; - erasequest 3220; - setquest 3220; - close2; - warp "job3_rune02",38,40; - end; - } - // custom translation - mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; - next; - mes "But her expression suddenly changed a bit as she looked at to speak."; - next; - mes "[Rune Knight, Lunarea]"; - mes "Now...the testing room is currently occupied..."; - next; - mes "[Rune Knight, Lunarea]"; - mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; - next; - mes "[Rune Knight, Lunarea]"; - mes "It will be your turn when the time is up."; - close; - } + callsub L_Test,1; + close; case 2: close; } - } - if (job_rune_edq == 5) { + } else if (job_rune_edq == 5) { mes "[Rune Knight, Lunarea]"; mes "Was your test successful?"; next; @@ -841,8 +644,7 @@ job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ set job_rune_edq,6; changequest 3203,3204; close; - } - if (job_rune_edq > 5) { + } else if (job_rune_edq > 5) { mes "[Rune Knight, Lunarea]"; mes "This portion of the test is over. Go talk to Captain Tigris."; next; @@ -850,16 +652,43 @@ job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ mes "There are other tests you need to complete. I hope you do a good job."; close; } - end; } mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence"; close; +L_Test: + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + if ($@job_rune_test1 == 0) { + if (getarg(0) == 0) { + set job_rune_edq,4; + changequest 3202,3203; + setquest 3220; // ? + } else if (checkquest(3220) > -1) { + erasequest 3220; + setquest 3220; + } + set $@job_rune_test1,1; + close2; + warp "job3_rune02",38,40; + end; + } + // Custom translation + next; + mes "But her expression suddenly changed a bit as she looked at to speak."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Now... the testing room is currently occupied..."; + next; + mes "[Rune Knight, Lunarea]"; + mes "You'll have to wait... it is regulation that the test must take place one by one."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Just wait 5 minutes and it should be your turn."; + close; } -job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ - +job3_rune01,55,50,3 script Rune Knight, Renoa 469,2,2,{ + mes "[Rune Knight, Renoa]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Rune Knight, Renoa]"; mes "Congratulations for becoming one of us. Junior Rune Knight, "+strcharinfo(0)+"."; next; mes "[Rune Knight, Renoa]"; @@ -869,9 +698,8 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "Until then, I'll be here to discover more candidates just like you."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob == Job_Knight) { if (job_rune_edq < 7) { - mes "[Rune Knight, Renoa]"; mes "Are you the one who wants to be a Rune Knight? There have been so many today."; next; mes "[Rune Knight, Renoa]"; @@ -880,9 +708,7 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "[Rune Knight, Renoa]"; mes "If you are taking the Rune Knight test I hope that you try your best. This won't be as easy to pass as Lunarea's test ok?"; close; - } - if (job_rune_edq == 7) { - mes "[Rune Knight, Renoa]"; + } else if (job_rune_edq == 7) { mes "Finally! Is it my turn? I'm so happy."; next; mes "[Rune Knight, Renoa]"; @@ -908,9 +734,7 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ set job_rune_edq,8; changequest 3205,3206; close; - } - if (job_rune_edq == 8) { - mes "[Rune Knight, Renoa]"; + } else if (job_rune_edq == 8) { mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books."; next; mes "[Rune Knight, Renoa]"; @@ -922,9 +746,7 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "[Rune Knight, Renoa]"; mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either."; close; - } - if (job_rune_edq == 11) { - mes "[Rune Knight, Renoa]"; + } else if (job_rune_edq == 11) { mes "Have you read all the books from the library? It won't be easy to read but if you are determined to be a Rune Knight, you have to have this kind of basic knowledge."; next; mes "[Rune Knight, Renoa]"; @@ -934,7 +756,7 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "Therefore, jobs such as Wizard and Sage have come out and the magic became their own sacred field."; next; mes "[Rune Knight, Renoa]"; - mes "The leader of the Rune Knights, Beljeve, is known to have been in touch with the fairies even before the dimensional door of the Ash Vacuum was made when Satan Morroc resurrected."; + mes "The leader of the Rune Knights, Beljeve, is known to have been in touch with the fairies even before the dimensional door of the Ash-Vacuum was made when Satan Morroc resurrected."; next; mes "[Rune Knight, Renoa]"; mes "I heard a story from the magical scholars about the technology that can substantialize the essence of magic. I began a study to substantialize it to a rune by getting their help."; @@ -946,40 +768,39 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "You look like you don't understand why I'm repeating the teaching of the story already written in the book."; next; mes "[Rune Knight, Renoa]"; - mes "So for the second test, you need to visit the Laphine magical scholars who had given the direct help to the birth of Rune Knights at Ash Vacuum."; + mes "So for the second test, you need to visit the Laphine magical scholars who had given the direct help to the birth of Rune Knights at Ash-Vacuum."; next; mes "[Rune Knight, Renoa]"; - mes "Find the sage, Serpeone who's been studying and helping the Rune Knights who are out in the Rune Midgard's camp at Ash Vacuum."; + mes "Find the sage, Serpeone who's been studying and helping the Rune Knights who are out in the Rune-Midgard's camp at Ash-Vacuum."; next; mes "[Rune Knight, Renoa]"; mes "The sage has already been in touch with us for a long time so you don't need to worry about understanding Serpeone's language.c"; next; mes "[Rune Knight, Renoa]"; mes "If you are ready I'll guide you to the warp that moves you directly to Serpeone. Meet her and get instructions from her."; + set job_rune_edq_book,0; set job_rune_edq,12; changequest 3206,3207; close; - } - if ((job_rune_edq > 11) && (job_rune_edq < 14)) { - mes "[Rune Knight, Renoa]"; - mes "If you are ready I'll open the way to the sage, Serpeone who's in the Rune Midgard post at Ash Vacuum. Are you prepared?"; + } else if (job_rune_edq > 11 && job_rune_edq < 14) { + mes "If you are ready I'll open the way to the sage, Serpeone who's in the Rune-Midgard post at Ash-Vacuum. Are you prepared?"; next; - switch (select("Yes, I am prepared.:Not yet.")) { + switch(select("Yes, I am prepared.:Not yet.")) { case 1: mes "[Rune Knight, Renoa]"; mes "Good. Then I'll send you there now. But, there's one thing I need to tell you."; next; mes "[Rune Knight, Renoa]"; - mes "You will be sent to the Ash Vacuum. The people dispatched to the Rune Midgard post are certified adventurers and officials."; + mes "You will be sent to the Ash-Vacuum. The people dispatched to the Rune-Midgard post are certified adventurers and officials."; next; mes "[Rune Knight, Renoa]"; mes "Beljeve has an agreement with the other alliance countries that the free behavior of our Rune Knights is guaranteed but..."; next; mes "[Rune Knight, Renoa]"; - mes "If you want to move freely through all of Ash Vacuum, you'll have to go through the normal route which is acquiring qualification with the Rune Midgard alliance. It has nothing to do with us."; + mes "If you want to move freely through all of Ash-Vacuum, you'll have to go through the normal route which is acquiring qualification with the Rune-Midgard alliance. It has nothing to do with us."; next; mes "[Rune Knight, Renoa]"; - mes "The agreement only allows us to send candidates to the Rune Midgard camp and nowhere else."; + mes "The agreement only allows us to send candidates to the Rune-Midgard camp and nowhere else."; next; mes "[Rune Knight, Renoa]"; mes "Good luck."; @@ -991,16 +812,14 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "If you are ready talk to me again. I'm free anytime."; close; } - } - if (job_rune_edq == 14) { - mes "[Rune Knight, Renoa]"; - mes "Umm, you're back? How's it like in the Ash Vacuum?"; + } else if (job_rune_edq == 14) { + mes "Umm, you're back? How's it like in the Ash-Vacuum?"; next; mes "[Rune Knight, Renoa]"; mes "Well, a person of your strength must have been there already no?"; next; mes "[Rune Knight, Renoa]"; - mes "Now its time to take the test concerning runes. I know that you have been through quite a complicated process."; + mes "Now it's time to take the test concerning runes. I know that you have been through quite a complicated process."; next; mes "[Rune Knight, Renoa]"; mes "I am going to give you a test that allows you to deal with runes directly."; @@ -1017,12 +836,10 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "[Rune Knight, Renoa]"; mes "The total number of rune stones you need to make is 20."; mes "Remember that well."; - set job_rune_edq, 15; + set job_rune_edq,15; changequest 3213,3214; close; - } - if (job_rune_edq == 15) { - mes "[Rune Knight, Renoa]"; + } else if (job_rune_edq == 15) { mes "In this test you will be making a rune stone yourself which is going to be used for your last test."; next; mes "[Rune Knight, Renoa]"; @@ -1034,1099 +851,123 @@ job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ mes "[Rune Knight, Renoa]"; mes "The number of total rune stones you need to make is exactly 20. Remember that well."; next; - switch (select("Check number of made runes?:I've made all the 20 rune stones.")) { + switch(select("Check number of made runes?:I've made all the 20 rune stones.")) { case 1: mes "[Rune Knight, Renoa]"; - mes "The number of rune stones made 'til now is "+job_rune_edq2+"."; + mes "The number of rune stones made 'til now is " + job_rune_edq2 + "."; close; case 2: - if (job_rune_edq2 == 20) { - mes "[Rune Knight, Renoa]"; - mes "You've brought just the right amount. I'll hand over all the finished rune stones to Captain Tigris."; - next; - mes "[Rune Knight, Renoa]"; - mes "Because there is a test waiting for you that uses these rune stones."; - next; - mes "[Rune Knight, Renoa]"; - mes "Here, you've passed. Go back to Captain Tigris and complete the next test."; - next; + if (job_rune_edq2 < 20) { mes "[Rune Knight, Renoa]"; - mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now."; - set job_rune_edq,16; - changequest 3214,3215; + mes "Hey! I think I told you to make at least 20."; close; } - if (job_rune_edq2 > 20) { - mes "[Rune Knight, Renoa]"; - mes "Wow! What's this? You've made over 20. It's ok for now but remember to follow directions next time."; - next; - mes "[Rune Knight, Renoa]"; - mes "You've brought just the right amount. I'll hand over all the made rune stones to Captain Tigris."; - next; + if (job_rune_edq2 == 20) { mes "[Rune Knight, Renoa]"; - mes "Because there a test waiting for you to use these rune stones."; + mes "You've brought just the right amount. I'll hand over all the finished rune stones to Captain Tigris."; next; + } else { mes "[Rune Knight, Renoa]"; - mes "Here, you've passed. Go back to Captain Tigris and complete the next test."; + mes "Wow! What's this? You've made over 20. It's ok for now but remember to follow directions next time."; + mes "I'll hand over all the made rune stones to Captain Tigris."; next; - mes "[Rune Knight, Renoa]"; - mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now."; - set job_rune_edq,16; - close; } mes "[Rune Knight, Renoa]"; - mes "Hey! I think I told you to make at least 20."; + mes "Because there is a test waiting for you that uses these rune stones."; + next; + mes "[Rune Knight, Renoa]"; + mes "Here, you've passed. Go back to Captain Tigris and complete the next test."; + next; + mes "[Rune Knight, Renoa]"; + mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now."; + set job_rune_edq,16; + if (job_rune_edq2 == 20) + changequest 3214,3215; close; } } - mes "[Rune Knight, Renoa]"; mes "Become a proud Rune Knight."; close; } - // custom translation - mes "[Rune Knight, Renoa]"; - mes "HOw...how did you get in here?! Captain we have a spy!"; + mes "How... how did you get in here?! Captain, we have a spy!"; next; mes "[Captain Tigris]"; - mes "Ah? What are you talking about, Renoa? Do not talk in such a manner! You make us sound like criminals."; + mes "Ah? What are you talking about, Renoa? Don't talk in such a manner! You make us sound like criminals."; next; mes "[Rune Knight, Renoa]"; - mes "Well, there is an unidentified individual here."; + mes "Well, there is an unidentified person here."; next; mes "[Captain Tigris]"; - mes "Ah...hey, friend, come over here and let us talk a moment..."; + mes "Ah... hey, friend, come over here and let us talk for a minute..."; close; } job3_rune01,58,51,1 script Rune Furnace 844,{ - if (job_rune_edq < 15) { mes "[Rune Knight Renoa]"; mes "You don't want to touch that thing. Believe me, I'm not kidding."; close; - } - if (job_rune_edq == 15) { - set @job_rune_success,job_rune_edq2; - set @job_rune_miss,job_rune_edq3; - set @job_rune_crash,5; - set @job_rune_book_test_action,0; - set @job_rune_test_rand,rand(1,24); + } else if (job_rune_edq == 15) { mes "I can see a hole under the huge Rune Stone Statue behind Renoa. Clearly this is a mass-produced rune heating furnace that I read in the book."; next; - switch (select("Use the Rune Heating Furnace:Stop.")) { - case 1: - if (@job_rune_test_rand == 1) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "This red hot spiral is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Ehwaz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Eiwaz rune was made normally."; - set @job_rune_success,job_rune_edq2; - set @job_rune_success_check,@job_rune_success+1; - set job_rune_edq2,@job_rune_success_check; - close; - } - set @job_rune_miss,job_rune_edq3; - set @job_rune_miss_check,@job_rune_miss+1; - set @job_rune_crash_check,@job_rune_crash+@job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - // occurances of this line are all custom. I couldn't get the damn thing to fail and give me the line. - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Eiwaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss,job_rune_edq3; - set @job_rune_miss_check,@job_rune_miss+1; - set job_rune_edq3,@job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 2) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this violet oblique line shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Osilla") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Othlia rune was made normally."; - set @job_rune_success,job_rune_edq2; - set @job_rune_success_check,@job_rune_success+1; - set job_rune_edq2,@job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Othlia rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 3) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "This live emerald diamond rune is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Mannaz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Mannaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Mannaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 4) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with an emerald round shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Ansuz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Ansuz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Ansuz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 5) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this skyblue star shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Hagalaz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Hagalaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Hagalaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 6) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "This flashing with a red diamond shape rune is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Kano") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Kano rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Kano rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 7) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this skyblue oblique line shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Rhydo") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Raido rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Raido rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 8) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this yellow round shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Turisus") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Thurisaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Thurisaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 9) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this emerald spiral line shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Dagaz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Dagaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Dagaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 10) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this skyblue fan-shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Sowilo") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Sowilo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Sowilo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 11) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this yellow diamond shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Laguz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Laguz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Laguz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 12) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this violet spiral line is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Isia") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Isa rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Isa rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 13) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this silver spiral shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Pertz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Perth rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Perth rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 14) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this gold star shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Verkana") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Berkana rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Berkana rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 15) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this yellow cone shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Gebo") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Gebo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Gebo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 16) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this emerald oblique line is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Algiz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Algiz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Algiz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 17) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this gray diamond is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Arwez") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 ewaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 ewaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 18) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this gold round is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Teiwaz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Teiwaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Teiwaz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 19) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this emerald star shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Wunjo") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Wunjo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Wunjo rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 20) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this yellow round is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Jera") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Jara rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Jara rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 21) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this yellow fan-shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Nosiege") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Nauthiz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Nauthiz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 22) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this violet diamond shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Ingz") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Inguz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Inguz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 23) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this silver round shape is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Fehu") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Fehu rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Fehu rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - if (@job_rune_test_rand == 24) { - progressbar "ffff00",5; - mes "The magical power of the rune pitches and tosses while it is getting shaped."; - next; - mes "The rune flashing with this violet spiral is..."; - next; - input .@inputstr$; - if (.@inputstr$ == "Urj") { - mes "[Rune Knight Renoa]"; - mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Uruz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; - if (rand(1,@job_rune_crash_check) == 3) { - mes "[Rune Knight Renoa]"; - mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; - next; - mes "[Rune Knight Renoa]"; - mes "1 Uruz rune was made normally."; - set @job_rune_success, job_rune_edq2; - set @job_rune_success_check, @job_rune_success + 1; - set job_rune_edq2, @job_rune_success_check; - close; - } - mes "[Rune Knight Renoa]"; - mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; - next; - mes "[Rune Knight Renoa]"; - mes "Refining the rune stone is a failure... Please try again."; - set @job_rune_miss, job_rune_edq3; - set @job_rune_miss_check, @job_rune_miss + 1; - set job_rune_edq3, @job_rune_miss_check; - close; - } - case 2: + if(select("Use the Rune Heating Furnace:Stop.") == 2) close; + switch(rand(24)) { + case 0: setarray .@str$[0],"Ehwaz","This red hot spiral is..."; break; + case 1: setarray .@str$[0],"Osilla","The rune flashing with this violet oblique line shape is..."; break; + case 2: setarray .@str$[0],"Mannaz","This live emerald diamond rune is..."; break; + case 3: setarray .@str$[0],"Ansuz","The rune flashing with an emerald round shape is..."; break; + case 4: setarray .@str$[0],"Hagalaz","The rune flashing with this sky-blue star shape is..."; break; + case 5: setarray .@str$[0],"Kano","The rune flashing with a red diamond shape is..."; break; + case 6: setarray .@str$[0],"Rhydo","The rune flashing with this sky-blue oblique line shape is..."; break; + case 7: setarray .@str$[0],"Turisus","The rune flashing with this yellow round shape is..."; break; + case 8: setarray .@str$[0],"Dagaz","The rune flashing with this emerald spiral line shape is..."; break; + case 9: setarray .@str$[0],"Sowilo","The rune flashing with this sky-blue fan-shape is..."; break; + case 10: setarray .@str$[0],"Laguz","The rune flashing with this yellow diamond shape is..."; break; + case 11: setarray .@str$[0],"Isia","The rune flashing with this violet spiral line is..."; break; + case 12: setarray .@str$[0],"Pertz","The rune flashing with this silver spiral shape is..."; break; + case 13: setarray .@str$[0],"Verkana","The rune flashing with this gold star shape is..."; break; + case 14: setarray .@str$[0],"Gebo","The rune flashing with this yellow cone shape is..."; break; + case 15: setarray .@str$[0],"Algiz","The rune flashing with this emerald oblique line is..."; break; + case 16: setarray .@str$[0],"Arwez","The rune flashing with this gray diamond is..."; break; + case 17: setarray .@str$[0],"Teiwaz","The rune flashing with this gold sphere is..."; break; + case 18: setarray .@str$[0],"Wunjo","The rune flashing with this emerald star shape is..."; break; + case 19: setarray .@str$[0],"Jera","The rune flashing with this yellow sphere is..."; break; + case 20: setarray .@str$[0],"Nosiege","The rune flashing with this yellow fan-shape is..."; break; + case 21: setarray .@str$[0],"Ingz","The rune flashing with this violet diamond shape is..."; break; + case 22: setarray .@str$[0],"Fehu","The rune flashing with this silver round shape is..."; break; + case 23: setarray .@str$[0],"Urj","The rune flashing with this violet spiral is..."; break; + } + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes .@str$[1]; + next; + input .@inputstr$; + if (.@inputstr$ == .@str$[0]) { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modeled rune stone match perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 "+.@str$[0]+" rune was created normally."; + set job_rune_edq2, job_rune_edq2+1; close; } + if (rand(1,(6 + job_rune_edq3)) == 3) { + mes "[Rune Knight Renoa]"; + mes "I was lucky. The image of the rune stone in my head and the modelled rune stone didn't match but it's made normally. This case is rare."; + next; + mes "[Rune Knight Renoa]"; + mes "1 "+.@str$[0]+" rune was created normally."; + set job_rune_edq2, job_rune_edq2+1; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modeled rune stone didn't match so the success rate just got lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone has failed... Please try again."; + set job_rune_edq3, job_rune_edq3+1; + close; } mes "[Rune Knight Renoa]"; mes "You don't want to touch that thing. Believe me, I'm not kidding."; @@ -2134,314 +975,277 @@ job3_rune01,58,51,1 script Rune Furnace 844,{ } job3_rune01,40,54,1 script Runes and Rune Knights 844,{ - if (job_rune_edq < 8) { mes "[Rune Knight Renoa]"; mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; next; mes "[Captain Tigris]"; - mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + mes "Hey Renoa, go easy on that Knight. You there too, you'd better stop touching stuff here without permission."; close; } - if (job_rune_edq > 7) { - while (1) { - switch (select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) { - case 1: - set @job_rune_book1_1, @job_rune_book1_1 + 1; - mes "Rune Knights are the gathering of evolved swordmen who have achieved the harmony of sword and magic."; - next; - mes "It had been achieved by the legendary swordman Beljeve who's been known as a Sword Master and a founder of dispensable expenditure."; - next; - mes "Rune Knights use rune stones as a medium for magic power rather than using the magical energy made directly within the body."; - next; - mes "Magic power could only previously be used by those who can harness magic power within their bodies through a long time of research"; - next; - mes "However, for the direct research on the rune magical power which had broken the human's normal concept is now ongoing."; - next; - mes "It's known that the Sword Master Beljeve felt the limit of his power, so he studied the way to overcome the physical limitation of mortals."; - next; - mes "We guess he had been already in touch with the Laphine tribe long before the dimensional rift was discovered to get to the Ash Vacuum."; - next; - mes "The Laphine tribe are the fairies from the Ash Vacuum and are known to have a close relationship to the birth of the Rune Knights."; - next; - mes "Now it's possible for those who are normally unsuitted to using magic power to carry a medium that can carry magic that normal mortals could not wield before."; - next; - mes "The result of studying these techniques are the rune stones tuned in harmony with the physical power of swords."; - next; - mes "Beljeve's disciples who started to learn the way to harmoze their swords with rune stones became known as Rune Knights."; - next; - break; - case 2: - set @job_rune_book1_2, @job_rune_book1_2 + 1; - mes "A jewel called as a Rune is a medium that contains the formless existence, the magical power and the essence of it can be used directly."; - next; - mes "The Laphine Sage, Serpeone and the founder of Rune Knights Beljeve co-researched runes and the result of their research has only recently become to be known to the world."; - next; - mes "It's a limitless alternative energy source and research on them is still ongoing. "; - next; - mes "Unlike humans, the living things in the Ash Vacuum preserve magical energy by holding it in their bodies."; - next; - mes "The discovery of transvering this magical power into runes was refined by Beljeve and Serpeone and shared with the Rune Knights."; - next; - break; - case 3: - if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 8)) { - set job_rune_edq,9; - } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 9)) { - set job_rune_edq,10; - } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 10)) { - set job_rune_edq,11; - } - break; - } + while(1) { + switch(select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) { + case 1: + set .@book1,1; + mes "Rune Knights are the gathering of evolved swordmen who have achieved the harmony of sword and magic."; + next; + mes "It had been achieved by the legendary swordsman Beljeve who's been known as a Sword Master and a founder of dispensable expenditure."; + next; + mes "Rune Knights use rune stones as a medium for magic power rather than using the magical energy made directly within the body."; + next; + mes "Magic power could only previously be used by those who can harness magic power within their bodies through a long time of research"; + next; + mes "However, for the direct research on the rune magical power which had broken the human's normal concept is now ongoing."; + next; + mes "It's known that the Sword Master Beljeve felt the limit of his power, so he studied the way to overcome the physical limitation of mortals."; + next; + mes "We guess he had been already in touch with the Laphine tribe long before the dimensional rift was discovered to get to the Ash-Vacuum."; + next; + mes "The Laphine tribe are the fairies from the Ash-Vacuum and are known to have a close relationship to the birth of the Rune Knights."; + next; + mes "Now it's possible for those who are normally unsuited to using magic power to carry a medium that can carry magic that normal mortals could not wield before."; + next; + mes "The result of studying these techniques are the rune stones tuned in harmony with the physical power of swords."; + next; + mes "Beljeve's disciples who started to learn the way to imbue their swords with rune stones became known as Rune Knights."; + next; + break; + case 2: + set .@book2,1; + mes "A jewel called as a Rune is a medium that contains the formless existence, the magical power and the essence of it can be used directly."; + next; + mes "The Laphine Sage, Serpeone and the founder of Rune Knights Beljeve co-researched runes and the result of their research has only recently become to be known to the world."; + next; + mes "It's a limitless alternative energy source and research on them is still ongoing. "; + next; + mes "Unlike humans, the living things in the Ash-Vacuum preserve magical energy by holding it in their bodies."; + next; + mes "The discovery of transvering this magical power into runes was refined by Beljeve and Serpeone and shared with the Rune Knights."; + next; break; + case 3: + if (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 1) == 0) { + set job_rune_edq_book, job_rune_edq_book | 1; + set job_rune_edq, job_rune_edq+1; + } + close; } - close; } - end; } job3_rune01,43,44,1 script The Principles of Runes 844,{ - if (job_rune_edq < 8) { mes "[Rune Knight Renoa]"; mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; next; mes "[Captain Tigris]"; - mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + mes "Hey Renoa, go easy on that Knight. You there too, you'd better stop touching stuff here without permission."; close; } - if (job_rune_edq > 7) { - while (1) { - switch (select("The principle use of Runes:The types of Runes:Stop Reading")) { - case 1: - set @job_rune_book2_1, @job_rune_book2_1 + 1; - mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles."; - next; - mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles."; - next; - mes "Runes are used as a symbol system, however, by the story handed down orally, it's known to be used for fortune-telling or used to draw out the human subconsciousness."; - next; - mes "Runes have their own system and types and can draw out various powers according to how they are arranged. But their power level can't currently be measured by known means."; - next; - mes "It is fortunate that the Rune Knights discovered their use for positive means. Runes have not been used for dark magic but it is certainly possible for their power to be misused if in the wrong hands."; - next; - break; - case 2: - set @job_rune_book2_2, @job_rune_book2_2 + 1; - mes "The runes are created from a a total of 25 small stones and they are very fragile to physical shock. So they require special care when being handled."; - next; - mes "The 25 stones have different meanings and among these, 14 when counter-positioned can have entirely different power and meaning from the original so it's essential to study the exceptional aspects."; - next; - mes "The other 11 runes have consistent power, not influenced by any position so if you don't master all 11 ordinary runes and the 14 inverse runes, you cannot draw out all the complete power."; - next; - mes "Among the 11 ordinary runes, the blank rune is an exception."; - next; - mes "The names of the 25 rune stones are the following:"; - next; - mes "Ehwaz, Osilia, Mannaz, Ansuz, Hagalas, Kano, Rhydo, Turisus, Dagaz, Sowilo, Laguz, Isia, Pertz, Verkana, Gebo, Algiz, Arwez, Teiwaz, Wunjo, Jera, Nosiege, Ingz, Fehu, Urj."; - next; - break; - case 3: - if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 8)) { - set job_rune_edq,9; - }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 9)) { - set job_rune_edq,10; - }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 10)) { - set job_rune_edq,11; - } - break; - } + while(1) { + switch(select("The principle use of Runes:The types of Runes:Stop Reading")) { + case 1: + set .@book1,1; + mes "A rune is a kind of symbol that's been used on the Rune-Midgard continent since ancient times. Up until now it has only been used by occult circles."; + next; + mes "A rune is a kind of symbol that's been used on the Rune-Midgard continent since ancient times. Up until now it has only been used by occult circles."; + next; + mes "Runes are used as a symbol system, however, by the story handed down orally, it's known to be used for fortune-telling or used to draw out the human sub consciousness."; + next; + mes "Runes have their own system and types and can draw out various powers according to how they are arranged. But their power level can't currently be measured by known means."; + next; + mes "It is fortunate that the Rune Knights discovered their use for positive means. Runes have not been used for dark magic but it is certainly possible for their power to be misused if in the wrong hands."; + next; break; + case 2: + set .@book2,1; + mes "The runes are created from a a total of 25 small stones and they are very fragile to physical shock. So they require special care when being handled."; + next; + mes "The 25 stones have different meanings and among these, 14 when counter-positioned can have entirely different power and meaning from the original so it's essential to study the exceptional aspects."; + next; + mes "The other 11 runes have consistent power, not influenced by any position so if you don't master all 11 ordinary runes and the 14 inverse runes, you cannot draw out all the complete power."; + next; + mes "Among the 11 ordinary runes, the blank rune is an exception."; + next; + mes "The names of the 25 rune stones are the following:"; + next; + mes "Ehwaz, Osilia, Mannaz, Ansuz, Hagalas, Kano, Rhydo, Turisus, Dagaz, Sowilo, Laguz, Isia, Pertz, Verkana, Gebo, Algiz, Arwez, Teiwaz, Wunjo, Jera, Nosiege, Ingz, Fehu, Urj."; + next; + break; + case 3: + if (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 2) == 0) { + set job_rune_edq_book, job_rune_edq_book | 2; + set job_rune_edq, job_rune_edq+1; + } + close; } - close; } - end; } job3_rune01,50,36,1 script Runes, Make & Use 844,{ - if (job_rune_edq < 8) { mes "[Rune Knight Renoa]"; mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; next; mes "[Captain Tigris]"; - mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + mes "Hey Renoa, go easy on that Knight. You there too, you'd better stop touching stuff here without permission."; close; } - if (job_rune_edq > 7) { - while (1) { - switch (select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) { + while(1) { + switch(select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) { + case 1: + set .@book1,1; + mes "The making of Rune stones is achieved through a skill called rune mastery which is learned when one becomes a Rune Knight."; + next; + mes "Rune Mastery is like a code that's been put into the body as a mark of a Rune Knight."; + next; + mes "Ordinary people can also learn this skill and it needs its own machine called a Rune Furnace."; + next; + mes "When you making a Rune stone with a Rune Furnace, the type of rune is determined by the magical energy put into it, and it cannot be changed."; + next; + mes "When making a rune stone by using Rune Mastery, it can be made into the rune property that you want but it's classified as a Rune Knights' own ability. "; + next; + mes "When you operate the Rune Furnace , the magical energy of the body gets concentrated through it and it enables the change into a Rune Stone."; + next; + break; + case 2: + set .@book2,1; + switch(select("Chapter One:Chapter Two:Chapter Three:Chapter Four:Stop Reading")) { case 1: - set @job_rune_book3_1, @job_rune_book3_1 + 1; - mes "The making of Rune stones is achieved through a skill called rune mastery which is learned when one becomes a Rune Knight."; + mes "Ehwaz - This rune means the enhancement of luck and positive power. It shapes the source in the form of a red spiral in a Rune Furnace."; next; - mes "Rune Mastery is like a code that's been put into the body as a mark of a Rune Knight."; + mes "Osilia - This rune is an equivalent exchangement which means that you lose one and you gain one, and it also means the power that needs a cost. This is shaped into the form of a violet oblique line in a Rune Furnace."; next; - mes "Ordinary people can also learn this skill and it needs its own machine called a Rune Furnace."; + mes "Mannaz - This rune means hope and a new start and also the positive power that can reverse a desperate situation. This is shaped into the form of an emerald diamond in a Rune Furnace."; next; - mes "When you making a Rune stone with a Rune Furnace, the type of rune is determined by the magical energy put into it, and it cannot be changed."; + mes "Ansuz - This rune means preparation or arrangement and the power that can overcome the uneasiness of the coming future. This is shaped into the form of an emerald round in a Rune Furnace. "; next; - mes "When making a rune stone by using Rune Mastery, it can be made into the rune property that you want but it's classified as a Rune Knights' own ability. "; + mes "Hagalas - This rune means the freedom and the power that resists restraint. This is shaped into the form of a sky-blue colored star-shape in a Rune Furnace."; next; - mes "When you operate the Rune Furnace , the magical energy of the body gets concentrated through it and it enables the change into a Rune Stone."; + mes "Kano - This rune means flame and passion, and the power that ends everything. The source of it is shaped into the form of a red diamond in a Rune Furnace."; next; break; case 2: - set @job_rune_book3_2, @job_rune_book3_2 + 1; - switch (select("Chapter One:Chapter Two:Chapter Three:Chapter Four:Stop Reading")) { - case 1: - mes "Ehwaz - This rune means the enhancement of luck and positive power. It shapes the source in the form of a red spiral in a Rune Furnace."; - next; - mes "Osilia - This rune is an equivalent exchangement which means that you lose one and you gain one, and it also means the power that needs a cost. This is shaped into the form of a violet oblique line in a Rune Furnace."; - next; - mes "Mannaz - This rune means hope and a new start and also the positive power that can reverse a desperate situation. This is shaped into the form of an emerald diamond in a Rune Furnace."; - next; - mes "Ansuz - This rune means preparation or arrangement and the power that can overcome the uneasiness of the coming future. This is shaped into the form of an emerald round in a Rune Furnace. "; - next; - mes "Hagalas - This rune means the freedom and the power that resists restraint. This is shaped into the form of a skyblue colored star-shape in a Rune Furnace."; - next; - mes "Kano - This rune means flame and passion, and the power that ends everything. The source of it is shaped into the form of a red diamond in a Rune Furnace."; - next; - break; - case 2: - mes "Rhydo - This rune means the combination and recombination and the power of completion. This is shaped into the skyblue oblique line in a Rune Furnace."; - next; - mes "Turisus - This rune means the border and the power of limitation. This is shaped into a yellow round in a Rune Furnace."; - next; - mes "Dagaz - This rune means the talent and the power of enduring adversity. This is shaped into an emerald spiral in a Rune Furnace."; - next; - mes "Sowilo - This rune means victory and success and the power of arrangement and cessation. This is shaped into the form of a skyblue fan-shape in a Rune Furnace."; - next; - mes "Laguz -This rune means uncertainty and the power that protects the inside. This is shaped into a form of a yellow diamond in a Rune Furnace."; - next; - mes "Isia - This rune means the power that stops everything. This is shaped into a violet spiral in a Rune Furnace."; - next; - break; - case 3: - mes "Pertz - This rune means revelation and the power of chance. This is shaped into the form of silver spiral in a Rune Furnace."; - next; - mes "Verkana - This rune means richness, birth and the power of defense and protection. This is shaped into the form of a gold-color star in a Rune Furnace."; - next; - mes "Gebo - This rune means cooperation and the power of harmony. This is shaped into the form of a yellow cone in a Rune Furnace."; - next; - mes "Algiz - This rune means chance and the power of challenge. This is shaped into the form of an emerald oblique line in a Rune Furnace."; - next; - mes "Arwez - This rune means change, convulsion and the power of movement. This is shaped into the form of a gray diamond in a Rune Furnace."; - next; - mes "Teiwaz - This rune means perfect victory and the power of absolute solution. This is shaped into the form of a gold round in a Rune Furnace."; - next; - break; - case 4: - mes "Wunjo - This rune means intelligence and the power of wisdom. This is shaped into the form of an emerald star in a Rune Furnace."; - next; - mes "Jera - This rune means comfort and the power of rest. This is shaped into the form of a yellow round in a Rune Furnace."; - next; - mes "Nosiege - This rune means weakness and the power of attenuating. This is shaped into the form of a yellow fan-shape in a Rune Furnace."; - next; - mes "Ingz - This rune means disruption and the power of separation. This is shaped into the form of a violet diamond in a Rune Furnace."; - next; - mes "Fehu - This rune means attainment and the power of materialization. This is shaped into the form of a silver round in a Rune Furnace."; - next; - mes "Urj - This rune means destiny and the power of restriction. This is shaped into the form of a violet spiral line in a Rune Furnace."; - next; - break; - case 5: - close; - } + mes "Rhydo - This rune means the combination and recombination and the power of completion. This is shaped into the sky-blue oblique line in a Rune Furnace."; + next; + mes "Turisus - This rune means the border and the power of limitation. This is shaped into a yellow round in a Rune Furnace."; + next; + mes "Dagaz - This rune means the talent and the power of enduring adversity. This is shaped into an emerald spiral in a Rune Furnace."; + next; + mes "Sowilo - This rune means victory and success and the power of arrangement and cessation. This is shaped into the form of a sky-blue fan-shape in a Rune Furnace."; + next; + mes "Laguz -This rune means uncertainty and the power that protects the inside. This is shaped into a form of a yellow diamond in a Rune Furnace."; + next; + mes "Isia - This rune means the power that stops everything. This is shaped into a violet spiral in a Rune Furnace."; + next; break; case 3: - if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 8)) { - set job_rune_edq,9; - }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 9)) { - set job_rune_edq,10; - }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 10)) { - set job_rune_edq,11; - } + mes "Pertz - This rune means revelation and the power of chance. This is shaped into the form of silver spiral in a Rune Furnace."; + next; + mes "Verkana - This rune means richness, birth and the power of defense and protection. This is shaped into the form of a gold-color star in a Rune Furnace."; + next; + mes "Gebo - This rune means cooperation and the power of harmony. This is shaped into the form of a yellow cone in a Rune Furnace."; + next; + mes "Algiz - This rune means chance and the power of challenge. This is shaped into the form of an emerald oblique line in a Rune Furnace."; + next; + mes "Arwez - This rune means change, convulsion and the power of movement. This is shaped into the form of a gray diamond in a Rune Furnace."; + next; + mes "Teiwaz - This rune means perfect victory and the power of absolute solution. This is shaped into the form of a gold round in a Rune Furnace."; + next; break; + case 4: + mes "Wunjo - This rune means intelligence and the power of wisdom. This is shaped into the form of an emerald star in a Rune Furnace."; + next; + mes "Jera - This rune means comfort and the power of rest. This is shaped into the form of a yellow round in a Rune Furnace."; + next; + mes "Nosiege - This rune means weakness and the power of attenuating. This is shaped into the form of a yellow fan-shape in a Rune Furnace."; + next; + mes "Ingz - This rune means disruption and the power of separation. This is shaped into the form of a violet diamond in a Rune Furnace."; + next; + mes "Fehu - This rune means attainment and the power of materialization. This is shaped into the form of a silver round in a Rune Furnace."; + next; + mes "Urj - This rune means destiny and the power of restriction. This is shaped into the form of a violet spiral line in a Rune Furnace."; + next; + break; + case 5: + close; } break; + case 3: + if (.@book1 && .@book2 && job_rune_edq < 11 && (job_rune_edq_book & 4) == 0) { + set job_rune_edq_book, job_rune_edq_book | 4; + set job_rune_edq, job_rune_edq+1; + } + close; } - close; } - end; } -mid_camp,238,250,3 script Rune Knight Sage Guard 468,{ - +mid_camp,238,250,3 script Rune Knight Sage Guard 468,2,2,{ + mes "[Rune Knight Sage Guard]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Rune Knight Sage Guard]"; mes "The sage Serpeone is the one who has been with us since the beginning of the Rune Knights."; next; mes "[Rune Knight Sage Guard]"; mes "I am very proud as a Rune Knight to serve beside her."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob == Job_Knight) { if (job_rune_edq < 11) { - mes "[Rune Knight Sage Guard]"; mes "You might be walking the way of the sword but you are not a Rune Knight yet. Don't wander around here too much if you know what I mean."; close; } - if (job_rune_edq > 10) { - mes "[Rune Knight Sage Guard]"; - mes "Splendide is the land of the Laphine. We are offering a convenience by an agreement between the Rune Knights and the expeditionary team."; - next; - mes "[Rune Knight Sage Guard]"; - mes "Our agents are opening the way to Splendide only for the trainees who are taking the Rune Knight job change test."; - next; - mes "[Rune Knight Sage Guard]"; - mes "But when you become a Rune Knight, you'll need to make sure that you join the expeditionary team in order to fully explore the Ash Vacuum."; - close; - } + mes "Splendide is the land of the Laphine. We are offering a convenience by an agreement between the Rune Knights and the expeditionary team."; + next; + mes "[Rune Knight Sage Guard]"; + mes "Our agents are opening the way to Splendide only for the trainees who are taking the Rune Knight job change test."; + next; + mes "[Rune Knight Sage Guard]"; + mes "But when you become a Rune Knight, you'll need to make sure that you join the expeditionary team in order to fully explore the Ash-Vacuum."; + close; } - mes "[Rune Knight Sage Guard]"; mes "Hanging around this man won't be good for you. Keep going the way you were heading."; close; } -mid_camp,13,138,3 script Dispatched Rune Knight 83,{ - +mid_camp,13,138,3 script Dispatched Rune Knight#1 83,2,2,{ + mes "[Dispatched Rune Knight]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Dispatched Rune Knight]"; mes "Thanks for your work. We will continue our mission for the Rune Knight testers."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - if (job_rune_edq < 11) { - mes "[Dispatched Rune Knight]"; - mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; - close; - } - if (job_rune_edq > 10) { - mes "[Dispatched Rune Knight]"; - mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone."; - next; - mes "[Dispatched Rune Knight]"; + if (BaseJob == Job_Knight && job_rune_edq > 10) { + mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone."; + next; + mes "[Dispatched Rune Knight]"; + if (strnpcinfo(0) == "Dispatched Rune Knight#1") { mes "Do you want to go out to the Splendide field?"; next; - switch (select("Move to Splendide field:Cancel.")) { - case 1: + if(select("Move to Splendide field:Cancel.") == 1) warp "spl_fild01",355,325; - end; - case 2: - close; - } + close; + } else if (strnpcinfo(0) == "Dispatched Rune Knight#2") { + mes "Do you want to go back to the expeditionary team's post?"; + next; + if(select("Yes please.:Not yet.") == 1) + warp "mid_camp",50,153; + close; } + close; } - mes "[Dispatched Rune Knight]"; mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; close; } +spl_fild01,361,327,3 duplicate(Dispatched Rune Knight#1) Dispatched Rune Knight#2 83,2,2 -spl_fild02,13,241,0 script #roadblock1 139,10,10,{ - +spl_fild02,13,241,0 script #Barricade1 139,10,10,{ + end; OnTouch: - if ((job_rune_edq > 0) && (job_rune_edq < 23)) { - mes "-Whispers of the sage Serpeone are delivered to my mind.-"; + if (job_rune_edq > 0 && job_rune_edq < 23) { + mes "- Whispers of the sage Serpeone are delivered to my mind. -"; next; mes "[Sage Serpeone]"; - mes "Until you become an honorable Rune Knight I cannot help you control your powers in Rune Midgard."; + mes "Until you become an honorable Rune Knight I cannot help you control your powers in Rune-Midgard."; next; mes "[Sage Serpeone]"; mes "Please understand this and be devoted to this test."; @@ -2452,45 +1256,9 @@ OnTouch: end; } -spl_fild01,361,327,3 script Dispatched Rune Knight#2 83,{ - - if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Dispatched Rune Knight]"; - mes "Thanks for your work. We will continue our mission for the Rune Knight testers."; - close; - } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { - if (job_rune_edq < 11) { - mes "[Dispatched Rune Knight]"; - mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; - close2; - } - if (job_rune_edq > 10) { - mes "[Dispatched Rune Knight]"; - mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone."; - next; - mes "[Dispatched Rune Knight]"; - mes "Do you want to go back to the expeditionary team's post?"; - next; - switch (select("Yes please.:Not yet.")) { - case 1: - warp "mid_camp",50,153; - end; - case 2: - close; - } - } - end; - } - mes "[Dispatched Rune Knight]"; - mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; - close; -} - -mid_camp,235,250,3 script Sage Serpeone 435,{ - +mid_camp,235,250,3 script Sage Serpeone 435,2,2,{ + mes "[Sage Serpeone]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { - mes "[Sage Serpeone]"; mes "Finally you are an honorable Rune Knight. I'm happy to help you."; next; mes "[Sage Serpeone]"; @@ -2500,9 +1268,8 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ mes "Please be devoted to the Runes and hopefully your life will be illuminated by it."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob == Job_Knight) { if (job_rune_edq < 12) { - mes "[Sage Serpeone]"; mes "It must be surprising that I, a Laphine, am here in your people's base."; next; mes "[Sage Serpeone]"; @@ -2517,9 +1284,7 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ mes "[Sage Serpeone]"; mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp."; close; - } - if (job_rune_edq == 12) { - mes "[Sage Serpeone]"; + } else if (job_rune_edq == 12) { mes "Welcome, you are the one taking the job training test of the Rune Knights. I am Serpeone."; next; mes "[Sage Serpeone]"; @@ -2532,7 +1297,7 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ mes "The magical power that the Rune Knights use are not technically the same as the magical power made in the human world."; next; mes "[Sage Serpeone]"; - mes "Right this place... our sphere where you call as Ash Vacuum...it's the magical power made with"; + mes "Right this place... our sphere where you call as Ash-Vacuum...it's the magical power made with"; next; mes "[Sage Serpeone]"; mes "The living things in this place have been preserving the magical energy in our bodies unlike the living things in the human world."; @@ -2573,17 +1338,15 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ setquest 3211; setquest 3212; close; - } - if (job_rune_edq == 13) { - mes "[Sage Serpeone]"; + } else if (job_rune_edq == 13) { mes "Are you gathering enough magical energy? Or do you have any questions?"; next; - switch (select("I've gathered enough energy.:To the gathering place.:Stop the conversation.")) { + switch(select("I've gathered enough energy.:To the gathering place.:Stop the conversation.")) { case 1: mes "[Sage Serpeone]"; mes "Is it so? Then let's check this out."; next; - if ((checkquest(3209,HUNTING) == 2) && (checkquest(3210,HUNTING) == 2) && (checkquest(3211,HUNTING) == 2) && (checkquest(3212,HUNTING) == 2)) { + if (checkquest(3209,HUNTING) == 2 && checkquest(3210,HUNTING) == 2 && checkquest(3211,HUNTING) == 2 && checkquest(3212,HUNTING) == 2) { mes "[Sage Serpeone]"; mes "Umm, this is great. Enough amount of living body magical energy has accumulated in your body."; next; @@ -2601,7 +1364,7 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ completequest 3210; completequest 3211; completequest 3212; - close2; + close; } mes "[Sage Serpeone]"; mes "You haven't collected enough magical energy yet."; @@ -2616,50 +1379,31 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ mes "[Sage Serpeone]"; mes "Do you want to go back the Rune Knight gathering place?"; next; - switch (select("I want to go back.:I want to cancel.")) { - case 1: + if(select("I want to go back.:I want to cancel.") == 1) warp "job3_rune01",80,65; - end; - case 2: - close; - } + close; case 3: close; } - } - if (job_rune_edq == 14) { - mes "[Sage Serpeone]"; + } else if (job_rune_edq == 14) { mes "Are you ready to go back to the Rune Knight gathering place?"; next; - switch (select("I want to go back now.:I am not ready yet.")) { - case 1: - warp "job3_rune01",80,65; - end; - case 2: - close; - } - } - if (job_rune_edq > 14) { - mes "[Sage Serpeone]"; - mes "Are the preparations going well?"; - next; - mes "[Sage Serpeone]"; - mes "Aren't you in the wrong state right now?"; - next; - mes "[Sage Serpeone]"; - mes "Then I'll send you to the Rune Knight gathering place where you should be."; - next; - switch (select("I'll go back now.:I'll stay.")) { - case 1: + if(select("I want to go back now.:I am not ready yet.") == 1) warp "job3_rune01",80,65; - end; - case 2: - close; - } + close; } - end; + mes "Are the preparations going well?"; + next; + mes "[Sage Serpeone]"; + mes "Aren't you in the wrong state right now?"; + next; + mes "[Sage Serpeone]"; + mes "Then I'll send you to the Rune Knight gathering place where you should be."; + next; + if(select("I'll go back now.:I'll stay.") == 1) + warp "job3_rune01",80,65; + close; } - mes "[Sage Serpeone]"; mes "It must be surprising that I, a Laphine, am here in your people's base."; next; mes "[Sage Serpeone]"; @@ -2677,21 +1421,12 @@ mid_camp,235,250,3 script Sage Serpeone 435,{ } job3_rune01,114,50,3 script Rune Knight Velpino 468,{ - - set .@strRetPart1,getequipisequiped(EQI_HEAD_TOP); - set .@strRetPart2,getequipisequiped(EQI_ARMOR); - set .@strRetPart5,getequipisequiped(EQI_GARMENT); - set .@strRetPart6,getequipisequiped(EQI_SHOES); - set .@strRetPart7,getequipisequiped(EQI_ACC_L); - set .@strRetPart8,getequipisequiped(EQI_ACC_R); - set .@strRetPart10,getequipisequiped(EQI_HEAD_MID); - set .@strRetPart11,getequipisequiped(EQI_HEAD_LOW); if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { mes "[Rune Knight Velpino]"; mes "You still smell like a fledging. Bring honor to the Rune Knights and raise your power..."; close; } - if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (BaseJob == Job_Knight) { if (job_rune_edq < 17) { mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; next; @@ -2700,8 +1435,7 @@ job3_rune01,114,50,3 script Rune Knight Velpino 468,{ mes "[Captain Tigris]"; mes "Hey... What about me? I'm not like that!"; close; - } - if (job_rune_edq == 17) { + } else if (job_rune_edq == 17) { mes "[Rune Knight Velpino]"; mes "I didn't think that a candidate would make it to me today..."; next; @@ -2727,134 +1461,74 @@ job3_rune01,114,50,3 script Rune Knight Velpino 468,{ mes "The magical monsters are the 3 kinds of magic monsters from Glast Heim that you might already know... It won't be an easy fight but if you just undergo this final suffering, you'll walk the path of a Rune Knight."; next; mes "[Rune Knight Velpino]"; - mes "To help the preparation we've made a contract with the Kafra center in Aldebaran by employing a kafra especially for this gathering place. So it would be good to visit her."; + mes "To help the preparation we've made a contract with the Kafra headquarters in Al De Baran by employing a Kafra Employee especially for this gathering place. So it would be good to visit her."; next; mes "[Rune Knight Velpino]"; mes "If you are ready just talk to me again."; set job_rune_edq,18; changequest 3216,3217; close; - } - if ((job_rune_edq > 17) && (job_rune_edq < 21)) { - set .@rune_crush,countitem(12388); - set .@rune_storm,countitem(12389); - set .@rune_millenium,countitem(12390); - set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium; - if (.@rune_check == 0) { + } else if (job_rune_edq > 17 && job_rune_edq < 21) { + if (countitem(12388)+countitem(12389)+countitem(12390) == 0) { mes "[Rune Knight Velpino]"; mes "If all of your preparations are done, I'll send you to the final test field."; set job_rune_edq,18; next; - switch (select("Enter the final test field.:I'm not ready yet.")) { - case 1: - if ((.@strRetPart1 == 0) && (.@strRetPart2 == 0) && (.@strRetPart5 == 0) && (.@strRetPart6 == 0) && (.@strRetPart7 == 0) && (.@strRetPart8 == 0) && (.@strRetPart10 == 0) && (.@strRetPart11 == 0)) { - if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) { - if ($@job_rune_test1 == 0) { - if (Weight < 4001) { - set $@job_rune_test1,1; - //ConsumeSpecialItem Rune_Kn_Test_Int - getitem 12389,30; //Runstone_Storm - getitem 12390,30; //Runstone_Millennium - erasequest 3220; - setquest 3220; - warp "job3_rune02",38,40; - end; - } - mes "[Rune Knight Velpino]"; - mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center."; - close; - } - // custom translation - mes "[Rune Knight Velpino]"; - mes "Looks like there is already an applicant in the test room."; - next; - mes "[Rune Knight Velpino]"; - mes "Be patient and wait your turn,"; - close; - } - if (checkquest(3220,PLAYTIME) == 1) { - mes "[Rune Knight Velpino]"; - mes "Haven't you failed at the test... If you fail once, you cannot enter again for 10 minutes."; - next; - mes "[Rune Knight Velpino]"; - mes "It's a consideration for the other testers who are waiting for the test, just like you, so come back after the designated time."; - close; - } - if (checkquest(3220,PLAYTIME) == 2) { - if ($@job_rune_test1 == 0) { - if (Weight < 4001) { - set $@job_rune_test1,1; - //ConsumeSpecialItem Rune_Kn_Test_Int - getitem 12389,30; //Runstone_Storm - getitem 12390,30; //Runstone_Millennium - erasequest 3220; - setquest 3220; - warp "job3_rune02",38,40; - end; - } - mes "[Rune Knight Velpino]"; - mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones."; - next; - mes "[Rune Knight Velpino]"; - mes "The remained stuff you are holding should be kept by the Kafra employee in the middle."; - close; - } - // custom translation - mes "[Rune Knight Velpino]"; - mes "Looks like there is already an applicant in the test room."; - next; - mes "[Rune Knight Velpino]"; - mes "Be patient and wait your turn,"; - close; - } - } + if(select("Enter the final test field.:I'm not ready yet.") == 2) close; + if (getequipisequiped(EQI_HEAD_TOP) || getequipisequiped(EQI_ARMOR) || getequipisequiped(EQI_GARMENT) || getequipisequiped(EQI_SHOES) || + getequipisequiped(EQI_ACC_L) || getequipisequiped(EQI_ACC_R) || getequipisequiped(EQI_HEAD_MID) || getequipisequiped(EQI_HEAD_LOW)) { mes "[Rune Knight Velpino]"; mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center."; close; - case 2: + } + if (checkquest(3220,PLAYTIME) == 1) { + mes "[Rune Knight Velpino]"; + mes "Haven't you failed at the test... If you fail once, you cannot enter again for 10 minutes."; + next; + mes "[Rune Knight Velpino]"; + mes "It's a consideration for the other testers who are waiting for the test, just like you, so come back after the designated time."; close; } - } - set .@rune_crush,countitem(12388); - set .@rune_storm,countitem(12389); - set .@rune_millenium,countitem(12390); - if (.@rune_crush > 0) { - mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12388,.@rune_crush; //Runstone_Crush - next; - mes "[Rune Knight Velpino]"; - mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; - close; - } - if (.@rune_storm > 0) { - mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12389,.@rune_storm; //Runstone_Storm - next; - mes "[Rune Knight Velpino]"; - mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; - close; - } - if (.@rune_millenium > 0) { + if ($@job_rune_test1 == 0) { + if (Weight < 4001) { + set $@job_rune_test1,1; + sc_start SC_INCINT,300000,40; + getitem 12389,30; //Runstone_Storm + getitem 12390,30; //Runstone_Millennium + if (checkquest(3220) > -1) erasequest 3220; + setquest 3220; + warp "job3_rune02",38,40; + end; + } + mes "[Rune Knight Velpino]"; + mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones."; + next; + mes "[Rune Knight Velpino]"; + mes "The remaining stuff you are holding should be kept by the Kafra employee in the middle."; + close; + } + // Custom translation mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12390,.@rune_millenium; //Runstone_Millennium + mes "Looks like there is already an applicant in the test room."; next; mes "[Rune Knight Velpino]"; - mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; + mes "Be patient and wait your turn."; close; } - } - if (job_rune_edq == 21) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + if (countitem(12388)) delitem 12388,countitem(12388); //Runstone_Crush + if (countitem(12389)) delitem 12389,countitem(12389); //Runstone_Storm + if (countitem(12390)) delitem 12390,countitem(12390); //Runstone_Millennium + next; + mes "[Rune Knight Velpino]"; + mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; + close; + } else if (job_rune_edq == 21) { mes "[Rune Knight Velpino]"; mes "You've been very successful up to the last test."; next; - set .@rune_crush,countitem(12388); - set .@rune_storm,countitem(12389); - set .@rune_millenium,countitem(12390); - set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium; - if (.@rune_check == 0) { + if (countitem(12388)+countitem(12389)+countitem(12390) == 0) { mes "[Rune Knight Velpino]"; mes "Now all the tests you need to take are over. Go back to Captain Tigris and inform him of this test result, and then feel the deep emotion of being born again as a Rune Knight."; next; @@ -2865,39 +1539,16 @@ job3_rune01,114,50,3 script Rune Knight Velpino 468,{ changequest 3218,3219; close; } - set .@rune_crush, countitem(12388); - set .@rune_storm, countitem(12389); - set .@rune_millenium, countitem(12390); - if (.@rune_crush > 0) { - mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12388,.@rune_crush; //Runstone_Crush - next; - mes "[Rune Knight Velpino]"; - mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; - close; - } - if (.@rune_storm > 0) { - mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12389,.@rune_storm; //Runstone_Storm - next; - mes "[Rune Knight Velpino]"; - mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; - close; - } - if (.@rune_millenium > 0) { - mes "[Rune Knight Velpino]"; - mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; - delitem 12390,.@rune_millenium; //Runstone_Millennium - next; - mes "[Rune Knight Velpino]"; - mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; - close; - } + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + if (countitem(12388)) delitem 12388,countitem(12388); //Runstone_Crush + if (countitem(12389)) delitem 12389,countitem(12389); //Runstone_Storm + if (countitem(12390)) delitem 12390,countitem(12390); //Runstone_Millennium + next; + mes "[Rune Knight Velpino]"; + mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; + close; } - mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; - close; } mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; close; @@ -2905,73 +1556,60 @@ job3_rune01,114,50,3 script Rune Knight Velpino 468,{ job3_rune02,38,40,0 script #RK Test Hidden Portal 1 139,15,15,{ end; - -OnInit: - hideoffnpc "#RK Test Hidden Portal 1"; - end; - OnEnable: - hideoffnpc "#RK Test Hidden Portal 1"; + enablenpc "#RK Test Hidden Portal 1"; end; - OnDisable: - hideonnpc "#RK Test Hidden Portal 1"; + disablenpc "#RK Test Hidden Portal 1"; end; - OnTouch: if (job_rune_edq == 4) { donpcevent "job_rune_edq#1st_tb::OnEnable"; donpcevent "#RK Test Hidden Portal 1::OnDisable"; end; - } - if ((job_rune_edq > 17) && (job_rune_edq < 21)) { + } else if (job_rune_edq > 17 && job_rune_edq < 21) { donpcevent "job_rune_edq#3rd_tb::OnEnable"; donpcevent "#RK Test Hidden Portal 1::OnDisable"; end; + } else { + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + donpcevent "job_rune_edq#3rd_tc::OnDisable"; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + mapwarp "job3_rune02","job3_rune01",80,65; + end; } - donpcevent "#RK Test Hidden Portal 1::OnDisable"; - donpcevent "job_rune_edq#1st_tb::OnDisable"; - donpcevent "job_rune_edq#1st_tc::OnDisable"; - donpcevent "job_rune_edq#1st_tcmc::OnDisable"; - donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; - donpcevent "job_rune_edq#1st_tcnc::OnDisable"; - donpcevent "job_rune_edq#3rd_tb::OnDisable"; - donpcevent "job_rune_edq#3rd_tc::OnDisable"; - set $@job_rune_test1,0; - set $@job_rune_test2,0; - donpcevent "#RK Test Hidden Portal 1::OnEnable"; - mapwarp "job3_rune02","job3_rune01",80,65; - end; } job3_rune02,1,1,0 script job_rune_edq#1st_tb 139,{ end; - OnInit: - hideonnpc "job_rune_edq#1st_tb"; + disablenpc "job_rune_edq#1st_tb"; end; - OnEnable: + enablenpc "job_rune_edq#1st_tb"; initnpctimer; end; - OnDisable: stopnpctimer; - hideonnpc "job_rune_edq#1st_tb"; + disablenpc "job_rune_edq#1st_tb"; end; - OnTimer5000: mapannounce "job3_rune02","I'll start the first test of the Rune Knight Job Change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer8000: mapannounce "job3_rune02","The content of the test is to get rid of all the monsters for 5 minutes and survive.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer11000: mapannounce "job3_rune02","If you fail to survive or cannot get rid of all the monsters within the time limit, I'll consider it a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer14000: mapannounce "job3_rune02","Now let's start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 donpcevent "job_rune_edq#1st_tc::OnEnable"; @@ -2981,27 +1619,23 @@ OnTimer14000: job3_rune02,1,2,0 script job_rune_edq#1st_tc 139,{ end; - OnInit: - hideonnpc "job_rune_edq#1st_tc"; + disablenpc "job_rune_edq#1st_tc"; end; - OnEnable: + enablenpc "job_rune_edq#1st_tc"; initnpctimer; donpcevent "job_rune_edq#1st_tcmc::OnEnable"; donpcevent "job_rune_edq#1st_tcnc::OnEnable"; end; - OnDisable: stopnpctimer; - hideonnpc "job_rune_edq#1st_tc"; + disablenpc "job_rune_edq#1st_tc"; end; - OnTimer300000: killmonster "job3_rune02","job_rune_edq#1st_tc::OnMyMobDead"; mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer305000: donpcevent "#RK Test Hidden Portal 1::OnDisable"; donpcevent "job_rune_edq#1st_tb::OnDisable"; @@ -3021,204 +1655,89 @@ OnTimer305000: job3_rune02,3,10,0 script job_rune_edq#1st_tcmc 139,{ end; - OnInit: - hideonnpc "job_rune_edq#1st_tcmc"; + disablenpc "job_rune_edq#1st_tcmc"; end; - OnEnable: - hideoffnpc "job_rune_edq#1st_tcmc"; + enablenpc "job_rune_edq#1st_tcmc"; initnpctimer; end; - OnDisable: killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; stopnpctimer; - hideonnpc "job_rune_edq#1st_tcmc"; + disablenpc "job_rune_edq#1st_tcmc"; end; - OnReset: killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; end; - OnTimer5000: monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,2,"job_rune_edq#1st_tcmc::OnMyMobDead"; end; - OnTimer50000: - set .@job_rune_p,rand(1,6); - if (.@job_rune_p == 1) { - monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 2 || .@job_rune_p == 4) { - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 3 || .@job_rune_p == 5) { - monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 6) { - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - end; - OnTimer100000: - set .@job_rune_p,rand(1,6); - if (.@job_rune_p == 1) { - monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 2 || .@job_rune_p == 4) { - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 3 || .@job_rune_p == 5) { - monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 6) { - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - end; - OnTimer150000: - set .@job_rune_p,rand(1,6); - if (.@job_rune_p == 1) { - monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 2 || .@job_rune_p == 4) { - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 3 || .@job_rune_p == 5) { - monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - else if (.@job_rune_p == 6) { - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - end; - } - end; - OnTimer200000: - set .@job_rune_p,rand(1,6); - if (.@job_rune_p == 1) { + switch(rand(6)) { + case 0: monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,2,"job_rune_edq#1st_tcmc::OnMyMobDead"; end; - } - else if (.@job_rune_p == 2 || .@job_rune_p == 4) { - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + case 1: + case 2: + monster "job3_rune02",0,0,"Rideword",1478,4,"job_rune_edq#1st_tcmc::OnMyMobDead"; end; - } - else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + case 3: + case 4: monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; end; - } - else if (.@job_rune_p == 6) { - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + case 5: + monster "job3_rune02",0,0,"Wraith Dead",1475,4,"job_rune_edq#1st_tcmc::OnMyMobDead"; end; } end; - OnTimer250000: killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; donpcevent "job_rune_edq#1st_tcmc2::OnEnable"; donpcevent "job_rune_edq#1st_tcmc::OnDisable"; end; - OnMyMobDead: end; } job3_rune02,3,11,0 script job_rune_edq#1st_tcmc2 139,{ end; - OnInit: - hideonnpc "job_rune_edq#1st_tcmc2"; + disablenpc "job_rune_edq#1st_tcmc2"; end; - OnEnable: - hideoffnpc "job_rune_edq#1st_tcmc2"; - initnpctimer; - set .@job_rune_p,rand(1,6); - if (.@job_rune_p == 1) { + enablenpc "job_rune_edq#1st_tcmc2"; + switch(rand(6)) { + case 0: monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,2,"job_rune_edq#1st_tcmc2::OnMyMobDead"; end; - } - else if (.@job_rune_p == 2 || .@job_rune_p == 4) { - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + case 1: + case 2: + monster "job3_rune02",0,0,"Rideword",1478,4,"job_rune_edq#1st_tcmc2::OnMyMobDead"; end; - } - else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + case 3: + case 4: monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; end; - } - else if (.@job_rune_p == 6) { - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; - monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + case 5: + monster "job3_rune02",0,0,"Wraith Dead",1475,4,"job_rune_edq#1st_tcmc2::OnMyMobDead"; end; } end; - OnDisable: killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead"; - stopnpctimer; - hideonnpc "job_rune_edq#1st_tcmc2"; + disablenpc "job_rune_edq#1st_tcmc2"; end; - OnMyMobDead: - if (mobcount ("job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead") < 1) { + if (mobcount("job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead") < 1) { set job_rune_edq,5; erasequest 3220; killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead"; @@ -3239,28 +1758,24 @@ OnMyMobDead: job3_rune02,1,10,0 script job_rune_edq#1st_tcnc 139,{ end; - OnInit: - hideonnpc "job_rune_edq#1st_tcnc"; + disablenpc "job_rune_edq#1st_tcnc"; end; - OnEnable: - hideoffnpc "job_rune_edq#1st_tcnc"; + enablenpc "job_rune_edq#1st_tcnc"; initnpctimer; end; - OnDisable: - hideonnpc "job_rune_edq#1st_tcnc"; + stopnpctimer; set $@job_rune_test2,0; donpcevent "Captain Tigris#jrt1::OnDisable"; donpcevent "Rune Knight Lunarea#jrt1::OnDisable"; donpcevent "Rune Knight Renoa#jrt1::OnDisable"; donpcevent "Rune Knight Velpino#jrt1::OnDisable"; - stopnpctimer; + disablenpc "job_rune_edq#1st_tcnc"; end; - OnUse: - mapannounce "job3_rune02","Captain Tigris : Gentleman, Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + mapannounce "job3_rune02","Captain Tigris : Gentlemen, let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 stopnpctimer; set $@job_rune_test2,0; donpcevent "Captain Tigris#jrt1::OnDisable"; @@ -3269,7 +1784,6 @@ OnUse: donpcevent "Rune Knight Velpino#jrt1::OnDisable"; donpcevent "job_rune_edq#1st_tcnc::OnEnable"; end; - OnTimer30000: mapannounce "job3_rune02","Captain Tigris : Rune Knight Candidates... If you want to borrow our power talk to one of us.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 donpcevent "Captain Tigris#jrt1::OnEnable"; @@ -3277,7 +1791,6 @@ OnTimer30000: donpcevent "Rune Knight Renoa#jrt1::OnEnable"; donpcevent "Rune Knight Velpino#jrt1::OnEnable"; end; - OnTimer60000: mapannounce "job3_rune02","Captain Tigris : It seems you don't need our help... Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 stopnpctimer; @@ -3289,68 +1802,48 @@ OnTimer60000: end; } -job3_rune02,34,46,5 script Captain Tigris#jrt1 470,{ - - set .@tigris,rand(1,6); - set .@rune_test2,$@job_rune_test2; - if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { - if (.@tigris == 1) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_BLESSING,24000,10; - initnpctimer; - end; - } - else if ((.@tigris == 2) || (.@tigris == 4)) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - percentheal 100,100; - skilleffect "AL_HEAL",1500; - initnpctimer; - end; - } - else if (.@tigris == 3) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Captain Tigris : Evil spirits! Return to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - specialeffect2 EF_METEORSTORM; - donpcevent "job_rune_edq#1st_tcmc::OnReset"; - initnpctimer; - end; - } - else if (.@tigris == 5) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_STUN,10000,0; - initnpctimer; - end; - } - else if (.@tigris == 6) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_BLEEDING,10000,0; - initnpctimer; - end; - } +job3_rune02,34,46,5 script Captain Tigris#jrt1 470,2,2,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; } - donpcevent "job_rune_edq#1st_tcnc::OnUse"; + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 34 0 0 0 + unitskilluseid getnpcid(0),"AL_BLESSING",10,getcharid(3); + break; + case 1: + case 2: + mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 28 8 70 99 + percentheal 100,100; + skilleffect "AL_HEAL",9999; + break; + case 3: + mapannounce "job3_rune02","Captain Tigris : Evil demons! I will send you back to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_METEORSTORM; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + break; + case 4: + mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_STUN,10000,0; + break; + case 5: + mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_BLEEDING,10000,0; + break; + } + set $@job_rune_test2,1; + initnpctimer; end; - OnInit: - hideonnpc "Captain Tigris#jrt1"; +OnDisable: + disablenpc "Captain Tigris#jrt1"; end; - OnEnable: - hideoffnpc "Captain Tigris#jrt1"; - end; - -OnDisable: - hideonnpc "Captain Tigris#jrt1"; + enablenpc "Captain Tigris#jrt1"; end; - OnTimer5000: donpcevent "job_rune_edq#1st_tcnc::OnUse"; set $@job_rune_test2,0; @@ -3359,64 +1852,47 @@ OnTimer5000: } job3_rune02,43,46,3 script Rune Knight Lunarea#jrt1 469,2,2,{ - set .@tigris,rand(1,6); - set .@rune_test2,$@job_rune_test2; - if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { - if (.@tigris == 1) { - set $@job_rune_test2, 1; - // custom translation - mapannounce "job3_rune02","Rune Knight Lunarea : Quickly...find and strike at the enemy's vital points!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_INCREASEAGI,24000,10; - initnpctimer; - end; - } - else if (.@tigris == 2 || .@tigris == 4) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - percentheal 100,100; - skilleffect "AL_HEAL",1500; - initnpctimer; - end; - } - else if (.@tigris == 3) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Rune Knight Lunarea : Everything shall return from whence it came!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - //UseSkillToPC 35 0 0 0 - skilleffect "AL_CURE",0; - initnpctimer; - end; - } - else if (.@tigris == 5) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_POISON,30000,0; - initnpctimer; - end; - } - else if (.@tigris == 6) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_CURSE,30000,0; - initnpctimer; - end; - } + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; } - donpcevent "job_rune_edq#1st_tcnc::OnUse"; + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Rune Knight Lunarea : Quickly... find and strike at the enemy's weakness!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 29 0 0 0 + unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + break; + case 1: + case 2: + mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 28 8 60 90 + percentheal 100,100; + skilleffect "AL_HEAL",9999; + break; + case 3: + mapannounce "job3_rune02","Rune Knight Lunarea : Everything starts from the beginning!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 35 0 0 0 + unitskilluseid getnpcid(0),"AL_CURE",1,getcharid(3); + break; + case 4: + mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_POISON,30000,0; + break; + case 5: + mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_CURSE,30000,0; + break; + } + set $@job_rune_test2,1; + initnpctimer; end; - OnInit: - hideonnpc "Rune Knight Lunarea#jrt1"; +OnDisable: + disablenpc "Rune Knight Lunarea#jrt1"; end; - OnEnable: - hideoffnpc "Rune Knight Lunarea#jrt1"; + enablenpc "Rune Knight Lunarea#jrt1"; end; - -OnDisable: - hideonnpc "Rune Knight Lunarea#jrt1"; - end; - OnTimer5000: donpcevent "job_rune_edq#1st_tcnc::OnUse"; set $@job_rune_test2,0; @@ -3425,64 +1901,47 @@ OnTimer5000: } job3_rune02,43,34,1 script Rune Knight Renoa#jrt1 469,2,2,{ - set .@tigris, rand(1,6); - set .@rune_test2, $@job_rune_test2; - if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { - if (.@tigris == 1) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Rune Knight Renoa : The rune of Blast! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_INCREASEAGI,24000,10; - initnpctimer; - end; - } - else if (.@tigris == 2 || .@tigris == 4) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Renoa : The rune of birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - percentheal 100,100; - skilleffect "AL_HEAL",1500; - initnpctimer; - end; - } - else if (.@tigris == 3) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Rune Knight Renoa : I am faster than others! Stronger than others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - specialeffect2 EF_PIERCESELF; - donpcevent "job_rune_edq#1st_tcmc::OnReset"; - initnpctimer; - end; - } - else if (.@tigris == 5) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_POISON,30000,0; - initnpctimer; - end; - } - else if (.@tigris == 6) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_CURSE,30000,0; - initnpctimer; - end; - } + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; } - donpcevent "job_rune_edq#1st_tcnc::OnUse"; + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Rune Knight Renoa : The rune of Wind! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 29 0 0 0 + unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + break; + case 1: + case 2: + mapannounce "job3_rune02","Rune Knight Renoa : The rune of Birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 28 8 60 90 + percentheal 100,100; + skilleffect "AL_HEAL",9999; + break; + case 3: + mapannounce "job3_rune02","Rune Knight Renoa : I am faster than all of them! Different then the others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_PIERCESELF; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + break; + case 4: + mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_POISON,30000,0; + break; + case 5: + mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_CURSE,30000,0; + break; + } + set $@job_rune_test2,1; + initnpctimer; end; - OnInit: - hideonnpc "Rune Knight Renoa#jrt1"; +OnDisable: + disablenpc "Rune Knight Renoa#jrt1"; end; - OnEnable: - hideoffnpc "Rune Knight Renoa#jrt1"; - end; - -OnDisable: - hideonnpc "Rune Knight Renoa#jrt1"; + enablenpc "Rune Knight Renoa#jrt1"; end; - OnTimer5000: set $@job_rune_test2,0; donpcevent "job_rune_edq#1st_tcnc::OnUse"; @@ -3490,66 +1949,48 @@ OnTimer5000: end; } -job3_rune02,34,34,7 script Rune Knight Velpino#jrt1 468,{ - - set .@tigris,rand(1,6); - set .@rune_test2,$@job_rune_test2; - if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { - if (.@tigris == 1) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - percentheal 100,100; - skilleffect "AL_HEAL",1500; - initnpctimer; - end; - } - else if (.@tigris == 2 || .@tigris == 4) { - set $@job_rune_test2, 1; - // custom translation - mapannounce "job3_rune02","Rune Knight Velpino : Charge! Knock them all down!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_INCREASEAGI,24000,10; - initnpctimer; - end; - } - else if (.@tigris == 3) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_BLESSING,24000,10; - initnpctimer; - end; - } - else if (.@tigris == 5) { - set $@job_rune_test2,1; - // custom translation - mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Do not hesitate in the face of this test!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_FREEZE,10000,0; - initnpctimer; - end; - } - else if (.@tigris == 6) { - set $@job_rune_test2,1; - mapannounce "job3_rune02","Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 - sc_start SC_SLEEP,10000,0; - initnpctimer; - end; - } +job3_rune02,34,34,7 script Rune Knight Velpino#jrt1 468,2,2,{ + if (job_rune_edq != 4 || $@job_rune_test2 != 0) { + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; } - donpcevent "job_rune_edq#1st_tcnc::OnUse"; + switch(rand(6)) { + case 0: + mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 28 8 60 90 + percentheal 100,100; + skilleffect "AL_HEAL",9999; + break; + case 1: + case 2: + mapannounce "job3_rune02","Rune Knight Velpino : Move on! There are obstacles to overcome.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 29 0 0 0 + unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + break; + case 3: + mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 +// UseSkillToPC 34 0 0 0 + unitskilluseid getnpcid(0),"AL_BLESSING",10,getcharid(3); + break; + case 4: + mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Don't give in to the pain!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_FREEZE,10000,0; + break; + case 5: + mapannounce "job3_rune02","Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_SLEEP,10000,0; + break; + } + set $@job_rune_test2,1; + initnpctimer; end; - OnInit: - hideonnpc "Rune Knight Velpino#jrt1"; +OnDisable: + disablenpc "Rune Knight Velpino#jrt1"; end; - OnEnable: - hideoffnpc "Rune Knight Velpino#jrt1"; - end; - -OnDisable: - hideonnpc "Rune Knight Velpino#jrt1"; + enablenpc "Rune Knight Velpino#jrt1"; end; - OnTimer5000: set $@job_rune_test2,0; donpcevent "job_rune_edq#1st_tcnc::OnUse"; @@ -3559,32 +2000,26 @@ OnTimer5000: job3_rune02,2,1,0 script job_rune_edq#3rd_tb 139,{ end; - OnInit: - hideonnpc "job_rune_edq#3rd_tb"; + disablenpc "job_rune_edq#3rd_tb"; end; - OnEnable: + enablenpc "job_rune_edq#3rd_tb"; initnpctimer; end; - OnDisable: stopnpctimer; - hideonnpc "job_rune_edq#3rd_tb"; + disablenpc "job_rune_edq#3rd_tb"; end; - OnTimer5000: mapannounce "job3_rune02","I'll start the last test of the Rune Knight Job change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer8000: mapannounce "job3_rune02","Get rid of monsters appearing here within 8 minutes by using the provided rune stones.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer11000: mapannounce "job3_rune02","If you die or can't get rid of all the monsters within the time limit, I'll consider the try as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer14000: mapannounce "job3_rune02","Now I'll start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 donpcevent "job_rune_edq#3rd_tc::OnEnable"; @@ -3594,28 +2029,25 @@ OnTimer14000: job3_rune02,2,2,0 script job_rune_edq#3rd_tc 139,{ end; - OnInit: - hideonnpc "job_rune_edq#3rd_tc"; + disablenpc "job_rune_edq#3rd_tc"; end; - OnEnable: + enablenpc "job_rune_edq#3rd_tc"; initnpctimer; donpcevent "job_rune_edq#3rd_tc1::OnEnable"; end; - OnDisable: stopnpctimer; donpcevent "job_rune_edq#3rd_tc1::OnDisable"; donpcevent "job_rune_edq#3rd_tc2::OnDisable"; donpcevent "job_rune_edq#3rd_tc3::OnDisable"; - hideonnpc "job_rune_edq#3rd_tc"; + disablenpc "job_rune_edq#3rd_tc"; end; - OnTimer480000: + killmonster "job3_rune02","job_rune_edq#3rd_tc::OnMyMobDead"; mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 end; - OnTimer482000: mapwarp "job3_rune02","job3_rune01",80,65; donpcevent "job_rune_edq#1st_tb::OnDisable"; @@ -3634,23 +2066,19 @@ OnTimer482000: job3_rune02,2,3,0 script job_rune_edq#3rd_tc1 139,{ end; - OnInit: - hideonnpc "job_rune_edq#3rd_tc1"; + disablenpc "job_rune_edq#3rd_tc1"; end; - OnEnable: - hideoffnpc "job_rune_edq#3rd_tc1"; + enablenpc "job_rune_edq#3rd_tc1"; monster "job3_rune02",40,40,"Executioner",2039,1,"job_rune_edq#3rd_tc1::OnMyMobDead"; end; - OnDisable: killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead"; - hideonnpc "job_rune_edq#3rd_tc1"; + disablenpc "job_rune_edq#3rd_tc1"; end; - OnMyMobDead: - if (mobcount ("job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead") < 1) { + if (mobcount("job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead") < 1) { set job_rune_edq,19; killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead"; donpcevent "job_rune_edq#3rd_tc2::OnEnable"; @@ -3662,23 +2090,19 @@ OnMyMobDead: job3_rune02,2,4,0 script job_rune_edq#3rd_tc2 139,{ end; - OnInit: - hideonnpc "job_rune_edq#3rd_tc2"; + disablenpc "job_rune_edq#3rd_tc2"; end; - OnEnable: - hideoffnpc "job_rune_edq#3rd_tc2"; + enablenpc "job_rune_edq#3rd_tc2"; monster "job3_rune02",40,40,"Ogretooth",2040,1,"job_rune_edq#3rd_tc2::OnMyMobDead"; end; - OnDisable: killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead"; - hideonnpc "job_rune_edq#3rd_tc2"; + disablenpc "job_rune_edq#3rd_tc2"; end; - OnMyMobDead: - if (mobcount ("job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead") < 1) { + if (mobcount("job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead") < 1) { set job_rune_edq,20; killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead"; donpcevent "job_rune_edq#3rd_tc3::OnEnable"; @@ -3690,28 +2114,24 @@ OnMyMobDead: job3_rune02,2,5,0 script job_rune_edq#3rd_tc3 139,{ end; - OnInit: - hideonnpc "job_rune_edq#3rd_tc3"; + disablenpc "job_rune_edq#3rd_tc3"; end; - OnEnable: - hideoffnpc "job_rune_edq#3rd_tc3"; + enablenpc "job_rune_edq#3rd_tc3"; monster "job3_rune02",40,40,"Mysteltainn",2041,1,"job_rune_edq#3rd_tc3::OnMyMobDead"; end; - OnDisable: killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead"; - hideonnpc "job_rune_edq#3rd_tc3"; + disablenpc "job_rune_edq#3rd_tc3"; end; - OnMyMobDead: - if (mobcount ("job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead") < 1) { + if (mobcount("job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead") < 1) { set job_rune_edq,21; changequest 3217,3218; erasequest 3220; killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead"; - mapannounce "job3_rune02","Congratulations. You've passed the second test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + mapannounce "job3_rune02","Congratulations. You've passed the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 mapwarp "job3_rune02","job3_rune01",80,65; donpcevent "job_rune_edq#1st_tb::OnDisable"; donpcevent "job_rune_edq#1st_tc::OnDisable"; @@ -3728,260 +2148,33 @@ OnMyMobDead: end; } -job3_rune01,92,62,3 script Kafra Employee#job3 114,{ +job3_rune01,92,62,3 script Kafra Employee::kaf_rune 114,{ cutin "kafra_04",2; - mes "[Kafra Employee]"; - mes "Hello. Kafra Service are always with you."; - mes "What can I help you with?"; - next; - switch(select("Use Storage:Rent a Pushcart:Use Teleport Service:Check Other Information:Cancel")) { - case 1: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ - mes "[Kafra Employee]"; - mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; - mes "use the Storage Service."; - } - else if ((countitem(7059) != 0) || (Zeny >= 50)) { - if (countitem(7059) != 0) - delitem 7059,1; //Cargo_Free_Ticket - else { - set RESRVPTS,RESRVPTS+5; - set zeny,zeny-80; - } - mes "[Kafra Employee]"; - mes "Here, let me open"; - mes "your Storage for you."; - mes "Thank you for using"; - mes "the Kafra Service."; - close2; - cutin "kafra_04",255; - openstorage; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't"; - mes "have enough zeny to use"; - mes "the Storage Service. Our"; - mes "Storage access fee is 80 zeny."; - } - break; - case 2: - if (BaseClass != Job_Merchant) { - mes "[Kafra Employee]"; - mes "I'm sorry, but the"; - mes "Pushcart rental service"; - mes "is only available to Merchants,"; - mes "Blacksmiths, Master Smiths,"; - mes "Alchemists, Biochemists,"; - mes "Mechanics and Geneticists."; - } - else if (checkcart()) { - mes "[Kafra Employee]"; - mes "You already have"; - mes "a Pushcart equipped."; - mes "Unfortunately, we can't"; - mes "rent more than one to"; - mes "each customer at a time."; - } - else { - if (!getskilllv("MC_CART")) { - mes "[Kafra Employee]"; - mes "You do not have the skill level required to rent a Pushcart."; - } - if (countitem(7061) != 0) - delitem 7061,1; //Cart_Free_Ticket - else { - mes "[Kafra Employee]"; - mes "The Pushcart rental"; - mes "fee is 700 zeny. Would"; - mes "you like to rent a Pushcart?"; - next; - switch(select("Rent a Pushcart.:Cancel")) { - case 1: - if (Zeny >= 700) { - set RESRVPTS,RESRVPTS+85; - set zeny,zeny-700; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you"; - mes "don't have enough"; - mes "zeny to pay the Pushcart"; - mes "rental fee of 700 zeny."; - } - break; - case 2: - break; - } - } - setcart; - } - break; - case 3: - mes "[Kafra Employee]"; - mes "Please tell me the destination."; - next; - switch(select("Izlude -> 600 z:Geffen -> 1200 z:Payon -> 1200 z:Morroc -> 1200 z:Alberta -> 1800 z:Cancel.")) { - case 1: - if ((countitem(7060) != 0) || (Zeny >= 600)) { - if (countitem(7060) != 0) - delitem 7060,1; //Warp_Free_Ticket - else { - set zeny,zeny-600; - set RESRVPTS,RESRVPTS+60; - } - cutin "kafra_04",255; - warp "izlude",91,105; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Izlude is 600 zeny."; - } - break; - case 2: - if ((countitem(7060) != 0) || (Zeny >= 1200)) { - if (countitem(7060) != 0) - delitem 7060,1; //Warp_Free_Ticket - else { - set zeny,zeny-1200; - set RESRVPTS,RESRVPTS+120; - } - cutin "kafra_04",255; - warp "geffen",120,39; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Geffen is 1,200 zeny."; - } - break; - case 3: - if ((countitem(7060) != 0) || (Zeny >= 1200)) { - if (countitem(7060) != 0) { - delitem 7060,1; //Warp_Free_Ticket - } - else { - set zeny,zeny-1200; - set RESRVPTS,RESRVPTS+120; - } - cutin "kafra_04",255; - warp "payon",161,58; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Payon is 1,200 zeny."; - } - break; - case 4: - if ((countitem(7060) != 0) || (Zeny >= 1200)) { - if (countitem(7060) != 0) - delitem 7060,1; //Warp_Free_Ticket - else { - set zeny,zeny-1200; - set kf_100_pit,kf_100_pit+1; - set kf_10_pit,kf_10_pit+2; - } - cutin "kafra_04",255; - warp "morocc",156,46; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Morroc is 1,200 zeny."; - } - break; - case 5: - if ((countitem(7060) != 0) || (Zeny >= 1800)) { - if (countitem(7060) != 0) - delitem 7060,1; //Warp_Free_Ticket - else { - set zeny,zeny-1800; - set RESRVPTS,RESRVPTS+180; - } - cutin "kafra_04",255; - warp "alberta",117,56; - end; - } - else { - mes "[Kafra Employee]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Alberta is 1,800 zeny."; - } - break; - case 6: - break; - } - break; - case 4: - switch(select("Check Special Reserve Points.:Cancel")) { - case 1: - mes "[Kafra Employee]"; - mes "Let's see..."; - mes "" + strcharinfo(0) + "..."; - mes "Ah, you have a total of"; - mes "" + RESRVPTS + " Special Reserve Points."; - next; - mes "[Kafra Employee]"; - mes "You can exchange your"; - mes "Special Reserve Points for"; - mes "rewards at the Kafra Main Office in Al De Baran. Please use our"; - mes "convenient services to see the benefits of our rewards program."; - break; - case 2: - break; - } - break; - case 5: - mes "[Kafra Employee]"; - mes "We, here at Kafra Corporation,"; - mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; - break; - } - close2; - cutin "kafra_04",255; - end; + callfunc "F_KafSet"; + callfunc "F_Kafra",0,9,2,80,700; + callfunc "F_KafEnd",0,0; } /* -sec_in02,34,167,3 script 符文骑士转职入场管理员 470,{ - mes "请输入密码。"; +sec_in02,34,167,3 script R.Knight Job Manager 470,1,1,{ + mes "Enter the Password."; next; input .@inputstr$; if (.@inputstr$ == "1854") { - mes "符文骑士转职管理模块开始"; + mes "Rune Knight Job Change Managing Module Start"; next; - switch (select("检查全局变量:修改全局变量")) { + switch(select("GlobalVar check:GlobalVar Oneshot Modification")) { case 1: - set .@rune_global, $@job_rune_test1; - mes "当前符文骑士转职变量是 "+.@rune_global+" 。"; - mes "当前符文骑士考场中的人数为 "+getmapusers("job3_rune02")+ "人。"; + mes "Rune Knight Job Change GlobalVar right now is " + $@job_rune_test1 + "."; + mes "The number of Rune Knight Test field right now is... " + getmapusers("job3_rune02") + "."; close; case 2: - set .@rune_global, $@job_rune_test1; - set $@job_rune_test1, 0; - mes "将符文骑士转职全局变量修改为0。考场可以使用。"; + set $@job_rune_test1,0; + mes "Rune Knight Job Change GlobalVar is modified to 0. The use of the test field is now available."; close; } } close; } +job3_rune01,1,1,3 duplicate(R.Knight Job Manager) #renshucheck 844 */
\ No newline at end of file diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt index ccd880a1d..9375fc4ea 100644 --- a/npc/re/jobs/3-2/genetic.txt +++ b/npc/re/jobs/3-2/genetic.txt @@ -953,7 +953,8 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ mes "- There are so many scattered things on the floor that the lab is in chaos. -"; next; mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; + set job_gen, job_gen+1; + specialeffect EF_BASH; disablenpc strnpcinfo(0); initnpctimer; close; diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt index 231e52835..4f0fd02b6 100644 --- a/npc/re/jobs/3-2/shadow_chaser.txt +++ b/npc/re/jobs/3-2/shadow_chaser.txt @@ -264,11 +264,11 @@ L_Code: next; mes "[Urupa]"; mes "The numbers have to be paired."; - mes "3511543433!"; - mes "35 11 54 34 33 break down into 5 pairs!"; + mes "3511543433"; + mes "35 11 54 34 33 breaks down into 5 pairs!"; next; mes "[Urupa]"; - mes "So the pairs mean."; + mes "So the pairs mean:"; mes "35 - P, 11 - A,"; mes "54 - Y, 34 - O, 33 - N."; next; @@ -555,7 +555,7 @@ L_Code: next; mes "[Graham]"; mes "Let's see. For example."; - mes "13 15 18 15 3 3 18 21 9 14 = "; + mes "13 15 18 15 3 3 18 21 9 14 ="; mes "M O R O C C R U I N"; next; mes "[Graham]"; @@ -935,7 +935,7 @@ s_atelier,167,129,3 script Manager#sc06_yuno 806,{ } else if (job_sha == 19) { mes "[Haled]"; mes "What?"; - mes "You want to walk with me?"; + mes "You want to talk with me?"; mes "How about you just hand over that key to me?"; next; callsub L_Code; @@ -2153,9 +2153,9 @@ job3_sha01,73,80,0 script ????#keybox03 844,{ next; break; case 3: - mes "You shake it slowly"; - mes "you can hear a noise"; - mes "But nothing's coming out."; + mes "You shake it slowly."; + mes "You can hear a noise,"; + mes "but nothing's coming out."; next; mes "["+strcharinfo(0)+"]"; mes "That's not it."; @@ -2174,7 +2174,7 @@ job3_sha01,73,80,0 script ????#keybox03 844,{ mes "["+strcharinfo(0)+"]"; mes "What? A key again!"; mes "Haled will be disappointed."; - mes "I better to go back."; + mes "I better go back."; set job_sha,25; setquest 7176; getitem 6268,1; //Mirth_Key diff --git a/npc/re/merchants/falcon_flute.txt b/npc/re/merchants/falcon_flute.txt deleted file mode 100644 index 738275d73..000000000 --- a/npc/re/merchants/falcon_flute.txt +++ /dev/null @@ -1,123 +0,0 @@ -//===== rAthena Script ======================================= -//= Falcon Flute Trader -//===== By: ================================================== -//= Masao -//= Credits to Muad_Dib for the translation & Ziu for the -//= Item ID of the Falcon Flute. -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= rAthena -//===== Description: ========================================= -//= An NPC which sells you a Falcon Flute so you're able to -//= summon a Falcon wherever you are. -//===== Additional Comments: ================================= -//= 1.0 First Version. [Masao] -//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao] -//============================================================ - -- script Falcon Flute Trader::fflute -1,{ - - if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Ranger || Class == Job_Ranger || Class == Job_Ranger_T) { - mes "[Falcon Flute Trader]"; - mes "Do you need a Falcon?"; - mes "With a magical Flute, you can call your Falcon from anywhere!"; - next; - mes "[Falcon Flute Trader]"; - mes "It's marvelous, isn't it? Ha ha ha!"; - next; - mes "[Falcon Flute Trader]"; - mes "Why I'm selling these Falcon Flutes?"; - mes "It's because I have no clue how they work."; - mes "Ha ha ha!"; - next; - mes "[Falcon Flute Trader]"; - mes "Of course, you'll need the Skill ^ff0000Falcon Mastery^000000."; - mes "I don't have the Skill, so I don't know how to handle Falcons."; - mes "As it's for now, I may never have a Falcon."; - next; - mes "[Falcon Flute Trader]"; - mes "But I can't give you one for free!"; - mes "I have to make money since i also need to eat!"; - next; - mes "[Falcon Flute Trader]"; - mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?"; - next; - if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper) { - switch (select("Don't buy one:Buy a Falcon Flute")) { - case 1: - mes "[Falcon Flute Trader]"; - mes "That's too bad. If you need one, come back!"; - close; - case 2: - if (Zeny >= 12500) { - if (countitem(12848) >= 1) { - mes "[Falcon Flute Trader]"; - mes "As i can see you already have an Falcon Flute!"; - mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again"; - mes "since the Falcon Flute won't disappear upon usage, isn't that great?"; - close; - } - mes "[Falcon Flute Trader]"; - mes "Here, take this Flute."; - mes "With it you can whistle for your Falcon from anywhere."; - set Zeny, Zeny - 12500; - getitem 12848,1; // Falcon Flute - next; - mes "[Falcon Flute Trader]"; - mes "Just a reminder."; - mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!"; - close; - } - mes "[Falcon Flute Trader]"; - mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!"; - close; - } - } - mes "[Falcon Flute Trader]"; - mes "For Rangers however, I have a special Price of 10,000 zeny!"; - next; - switch (select("Don't buy one:Buy a Falcon flute")) { - case 1: - mes "[Falcon Flute Trader]"; - mes "That's too bad. If you need one, come back!"; - close; - case 2: - if (Zeny >= 10000) { - if (countitem(12848) >= 1) { - mes "[Falcon Flute Trader]"; - mes "As i can see you already have an Falcon Flute!"; - mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again"; - mes "since the Falcon Flute won't disappear upon usage, isn't that great?"; - close; - } - mes "[Falcon Flute Trader]"; - mes "Here take this Flute."; - mes "With it you can whistle for your Falcon from anywhere."; - set Zeny, Zeny - 10000; - getitem 12848,1; // Falcon Flute - next; - mes "[Falcon Flute Trader]"; - mes "Just a reminder."; - mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!"; - close; - } - mes "[Falcon Flute Trader]"; - mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!"; - close; - } - } - if (Class == Job_Baby_Archer || Class == Job_Archer) { - mes "[Falcon Flute Trader]"; - mes "Hello young one!"; - mes "Currently i can't help you,"; - mes "but why don't you return to me when you've become an great Hunter and learned how to handle Falcons properly?"; - close; - } - mes "[Falcon Flute Trader]"; - mes "Isn't it a beautiful Day today?"; - close; -} - -hu_in01,386,306,3 duplicate(fflute) Falcon Flute Trader#fft 51 -pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 51 diff --git a/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt new file mode 100644 index 000000000..a9b9c2367 --- /dev/null +++ b/npc/re/merchants/flute.txt @@ -0,0 +1,141 @@ +//===== rAthena Script ======================================= +//= Falcon & Wolf Flute Trader +//===== By: ================================================== +//= Masao, Muad_Dib, Ziu +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Sells Falcon Flute and Wolf Flute. +//===== Additional Comments: ================================= +//= 1.0 First Version. [Masao] +//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao] +//= 1.2 Added Wolf Flute trader, optimized. [Euphy] +//============================================================ + +- script Falcon Flute Trader::fflute -1,{ + mes "[Falcon Flute Trader]"; + if (BaseJob == Job_Hunter || Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + mes "Do you need a Falcon?"; + mes "With a magical Flute, you can call your Falcon from anywhere!"; + next; + mes "[Falcon Flute Trader]"; + mes "It's marvelous, isn't it? Ha ha ha!"; + next; + mes "[Falcon Flute Trader]"; + mes "Why I'm selling these Falcon Flutes?"; + mes "It's because I have no clue how they work."; + mes "Ha ha ha!"; + next; + mes "[Falcon Flute Trader]"; + mes "Of course, you'll need the Skill ^ff0000Falcon Mastery^000000."; + mes "I don't have the Skill, so I don't know how to handle Falcons."; + mes "As it's for now, I may never have a Falcon."; + next; + mes "[Falcon Flute Trader]"; + mes "But I can't give you one for free!"; + mes "I have to make money since i also need to eat!"; + next; + mes "[Falcon Flute Trader]"; + mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?"; + next; + if (BaseJob == Job_Hunter) + set .@price,12500; + else { + mes "[Falcon Flute Trader]"; + mes "For Rangers, however, I have a special price of 10,000 zeny!"; + set .@price,10000; + next; + } + if(select("Don't buy one:Buy a Falcon Flute") == 1) { + mes "[Falcon Flute Trader]"; + mes "That's too bad. If you need one, come back!"; + close; + } + if (Zeny >= .@price) { + if (countitem(12848) >= 1) { + mes "[Falcon Flute Trader]"; + mes "As I can see you already have a Falcon Flute!"; + mes "Don't worry, my young friend, once you've purchased the Falcon Flute you won't need to do so again"; + mes "since the Falcon Flute won't disappear upon usage, isn't that great?"; + close; + } + mes "[Falcon Flute Trader]"; + mes "Here, take this flute."; + mes "With it you can whistle for your Falcon from anywhere."; + set Zeny, Zeny - .@price; + getitem 12848,1; // Falcon Flute + next; + mes "[Falcon Flute Trader]"; + mes "Just a reminder."; + mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!"; + close; + } + mes "[Falcon Flute Trader]"; + mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!"; + close; + } + if (Class == Job_Baby_Archer || Class == Job_Archer) { + mes "Hello, young one!"; + mes "Currently I can't help you,"; + mes "but why don't you return to me when you've become a great Hunter and learned how to handle Falcons properly?"; + close; + } + mes "Isn't it a beautiful day today?"; + close; +} +hu_in01,386,306,3 duplicate(fflute) Falcon Flute Trader#fft 51 +pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 51 + +tur_dun01,89,170,5 script Expert Flute Crafter 59,{ + if (Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) { + if (countitem(6124)) { + mes "[Expert Flute Crafter]"; + mes "The Wolf Flute you have is crafted by myself, with wood."; + mes "You can come back here and find me if you lose your Wolf flute!"; + next; + mes "[Expert Flute Crafter]"; + mes "The flute can only be crafted by me."; + mes "It is just a little matter for me to craft another flute!!"; + close; + } + mes "[Expert Flute Crafter]"; + mes "Do you need anything?"; + mes "A new Wolf Flute?"; + next; + switch(select("Please give me a new Wolf Flute.:No.")) { + case 1: + if (countitem(7150) && Zeny >= 100000) { + mes "[Expert Flute Crafter]"; + mes "Have you brought all the materials?"; + mes "Wow! All your materials are not bad!"; + mes "That's good enough."; + next; + mes "[Expert Flute Crafter]"; + mes "Here's the new Wolf Flute."; + mes "Hope you are ready to use it."; + delitem 7150,1; //Bamboo_Cut + set Zeny, Zeny-100000; + getitem 6124,1; //Wolf's_Flute + close; + } + mes "[Expert Flute Crafter]"; + mes "If you want to craft a new Wolf Flute, I need you to bring me ^4d4dff1 Bamboo Cut and 100,000 zeny.^000000"; + next; + mes "[Expert Flute Crafter]"; + mes "^4d4dffBamboo Cut can be obtained from Kapha or Karakasa.^000000"; + close; + case 2: + mes "[Expert Flute Crafter]"; + mes "If you do not summon a wolf, then you don't need the Wolf Flute."; + mes "You can come back here and find me if you change your mind."; + mes "Isn't that right?"; + close; + } + } + mes "[Expert Flute Crafter]"; + mes "Eeehh? You are not a Ranger?"; + mes "Then this flute is totally useless for you!"; + close; +}
\ No newline at end of file diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt index ddc87b114..779e8f218 100644 --- a/npc/re/quests/quests_dicastes.txt +++ b/npc/re/quests/quests_dicastes.txt @@ -444,7 +444,7 @@ function script que_dic { } getexp getarg(2),0; erasequest getarg(1); - specialeffect2 18; + specialeffect2 EF_STEAL; getitem 6304,1; close; } @@ -1003,7 +1003,7 @@ dic_in01,40,193,1 script Papyrus#0001 453,{ mes "Ugh... feel dizzy from simply staring at the document. Will come back after cooling down"; close; } - specialeffect2 235; + specialeffect2 EF_DISPELL; progressbar "ffff00",4; set .@doc,rand(1,70); if (.@doc > 50 && .@doc <= 60) { @@ -1075,7 +1075,7 @@ dic_in01,40,193,1 script Papyrus#0001 453,{ mes "^660066"+getarg(3)+"^000000"; next; mes "You've found a document about ^990099"+getarg(1)+"^000000. Check for details in the ^800080Quest Window^000000."; - specialeffect2 18; + specialeffect2 EF_STEAL; setquest getarg(0); close; } @@ -1093,17 +1093,17 @@ function script unknown_d { mes "You see some traces of digging"; close; } - specialeffect2 310; - specialeffect2 830; + specialeffect2 EF_SPRINKLESAND; + specialeffect2 EF_BEGINSPELL_N1; progressbar "ffff00",4; erasequest getarg(0); mes "You were able to find information on the "+getitemname(getarg(1))+"."; - specialeffect2 18; + specialeffect2 EF_STEAL; getitem getarg(1),rand(1,4); if (!rand(2)) { next; mes "In addition, you've obtained an unknown relic to report back to the Saphas."; - specialeffect2 18; + specialeffect2 EF_STEAL; getitem 6308,1; //Unidentified_Relic } close; @@ -3844,8 +3844,8 @@ dic_in01,245,119,4 script Shay#ep133_13 884,{ next; mes "[Shay]"; mes "Stop!!!!!!!!!!!!!"; - specialeffect2 0; - specialeffect2 1; + specialeffect2 EF_HIT1; + specialeffect2 EF_HIT2; percentheal -30,0; next; mes "-Shay got all upset and threw something sticky and smelly."; @@ -7084,7 +7084,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{ mes "Then, take the equipment off first."; close; } - specialeffect2 128; + specialeffect2 EF_OVERTHRUST; mes .@n$; if (.@re$ == "Brare") mes "I've collected all equipment and erased all records as you requested. Now all your equipment and records are clean."; else mes "I only do what I'm asked to do. I've retrieved all equipment and cancelled all records."; @@ -7163,7 +7163,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{ mes "Please come back again"; close; } - specialeffect2 128; + specialeffect2 EF_OVERTHRUST; mes .@n$; mes "I have erased all previous records"; mes "of upgrades to start all over with"; @@ -7195,7 +7195,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{ mes .@n$; mes "Then let's start."; next; - specialeffect2 101; + specialeffect2 EF_REPAIRWEAPON; progressbar "ffff00",3; delitem 6304,.@req; if (getd("ep13_3_"+.@v$) == 0) { diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 6fe2c30ac..79e5e4534 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -45,7 +45,7 @@ npc: npc/re/kafras/kafras_brasilis.txt // -------------------------- Merchant -------------------------- npc: npc/re/merchants/3rd_trader.txt npc: npc/re/merchants/diamond.txt -npc: npc/re/merchants/falcon_flute.txt +npc: npc/re/merchants/flute.txt npc: npc/re/merchants/inn.txt npc: npc/re/merchants/renters.txt npc: npc/re/merchants/shops.txt |