From 0c5213b87e15f3a513bd24ab7da5fc1d94c47180 Mon Sep 17 00:00:00 2001 From: euphyy Date: Thu, 28 Jun 2012 04:44:17 +0000 Subject: * Standardized and added Shadow Chaser job quest! (bugreport:5834) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16350 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/pre-re/mob_db.txt | 6 +- db/re/mob_db.txt | 6 +- npc/custom/jobmaster.txt | 4 +- npc/jobs/3-2/shadow_chaser.txt | 2346 ++++++++++++++++++++++++++++++++++++++++ npc/scripts_jobs.conf | 2 +- npc/warps/other/jobquests.txt | 10 +- npc/warps/other/s_workshop.txt | 11 +- sql-files/mob_db.sql | 6 +- sql-files/mob_db_re.sql | 6 +- 9 files changed, 2379 insertions(+), 18 deletions(-) create mode 100644 npc/jobs/3-2/shadow_chaser.txt diff --git a/db/pre-re/mob_db.txt b/db/pre-re/mob_db.txt index 3b4450b2e..4ceb4823d 100644 --- a/db/pre-re/mob_db.txt +++ b/db/pre-re/mob_db.txt @@ -1133,9 +1133,9 @@ 2073,TOUCAN,Toucan,Toucan,70,3640,0,659,544,1,166,201,3,10,54,14,40,35,44,10,10,12,0,2,44,0x3885,155,1450,960,480,0,0,0,0,0,0,0,917,3000,7053,1000,2612,200,508,100,510,50,0,0,0,0,0,0,0,0,0,0 2074,CURUPIRA,Curupira,Curupira,68,3096,0,622,450,1,140,175,9,10,32,23,38,20,45,10,10,12,1,6,22,0x118B,250,530,530,384,0,0,0,0,0,0,0,517,3000,7267,500,757,250,1505,100,1011,10,0,0,0,0,0,0,0,0,0,0 //2075,E_VADON_X,Vadon,Vadon,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2076,S_WIND_GHOST,Wind Ghost,Wind Ghost,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2077,S_SKOGUL,Skogul,Skogul,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2078,S_SUCCUBUS,Succubus,Succubus,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2076,S_WIND_GHOST,Shadow of Deception,Shadow of Deception,105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2077,S_SKOGUL,Shadow of Illusion,Shadow of Illusion,105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2078,S_SUCCUBUS,Shadow of Pleasure,Shadow of Pleasure,105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2079,CRYSTAL_H,Crystal,Crystal,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2080,CRYSTAL_L,Crystal,Crystal,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2081,E_HYDRA,Suspicious Hydra,Strange Hydra,34,854,1,0,0,7,1,2,100,100,1,1,1,1,1,1,10,12,0,3,41,0x0,1000,800,432,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/db/re/mob_db.txt b/db/re/mob_db.txt index cd4108da1..9dbef8b86 100644 --- a/db/re/mob_db.txt +++ b/db/re/mob_db.txt @@ -1186,9 +1186,9 @@ 2075,E_VADON_X,Ragunta,Ragunta,150,25000000,0,9999999,9999999,1,7000,10000,500,500,100,100,100,100,100,100,10,12,2,5,88,0x37B5,150,1632,432,540,4999999,0,0,0,0,0,0,960,5000,7095,3000,7093,3000,984,1000,985,500,7444,50,617,10,0,0,0,0,6414,9000 // Additional Monsters -//2076,S_WIND_GHOST,Wind Ghost,Wind Ghost,105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2077,S_SKOGUL,Skogul,Skogul,105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -//2078,S_SUCCUBUS,Succubus,Succubus,105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2076,S_WIND_GHOST,Shadow of Deception,Shadow of Deception,105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2077,S_SKOGUL,Shadow of Illusion,Shadow of Illusion,105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2078,S_SUCCUBUS,Shadow of Pleasure,Shadow of Pleasure,105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2079,CRYSTAL_H,Crystal,Crystal,77,7777777,1,3777777,3777777,0,17777,25554,77,77,1,7,7,77,77,77,0,0,2,0,60,0x120,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2080,CRYSTAL_L,Crystal,Crystal,7,77,1,7,7,0,7,14,7,7,1,7,7,7,7,77,0,0,2,0,60,0x120,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2081,E_HYDRA,Suspicious Hydra,Strange Hydra,34,854,1,0,0,7,1,2,100,100,1,1,1,1,1,1,10,12,0,3,41,0x0,1000,800,432,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt index 1256ec653..4580ba148 100644 --- a/npc/custom/jobmaster.txt +++ b/npc/custom/jobmaster.txt @@ -9,7 +9,7 @@ //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= -//= 1.1 Fixed reset on Baby job change. +//= 1.1 Fixed reset on Baby job change. [Euphy] //============================================================ prontera,153,193,6 script Job Master 123,{ @@ -99,7 +99,7 @@ function Job_Menu { if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777Go back^000000")==1) { mes "[Job Master]"; mes "You are now "+A_An(jobname(.@i))+"!"; - if (.@i==4001) if (.LastJob) set lastJob, Class; + if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 338; specialeffect2 432; diff --git a/npc/jobs/3-2/shadow_chaser.txt b/npc/jobs/3-2/shadow_chaser.txt new file mode 100644 index 000000000..2792134e2 --- /dev/null +++ b/npc/jobs/3-2/shadow_chaser.txt @@ -0,0 +1,2346 @@ +//===== rAthena Script ======================================= +// Shadow Chaser Job change Quest +//===== By: ================================================== +//= ultragunner +//= Credits: Oshinoke +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena +//===== Description: ========================================= +//= Job change Quest from Rogue / Stalker -> Shadow Chaser. +//= Based on Official pRO server +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Standardized. [Euphy] +//============================================================ + +morocc,156,70,3 script Girl#H-1 93,{ + mes "[Girl]"; + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (BaseLevel == 99 && JobLevel > 49) { + if (job_sha == 0) { + mes "Hey! Stop!"; + mes "Are you interested in hearing a funny story?"; + next; + select("What story?"); + mes "[Girl]"; + mes "Have you been to the guild recently?"; + mes "Some interesting things have happened lately."; + mes "Maybe new guests..."; + next; + mes "[Girl]"; + mes "I heard it has to do with something called a Shadow Chaser."; + mes "You should go and check it out."; + next; + mes "[Girl]"; + mes "Everytime they visit us, they are on new missions."; + mes "What missions are they doing I wonder?"; + set job_sha,1; + } else if (job_sha == 1) { + mes "If you have any interest... just go! Do you know where the guild is?"; + next; + mes "[Girl]"; + mes "It is in a fortress under Pharos lighthouse."; + mes "Sigh...."; + mes "You must visit there!"; + } else if (job_sha > 1 && job_sha < 28) { + mes "Wow, you look busy."; + mes "Have you heard that there are visitors?"; + mes "They're on a treasure hunt!"; + next; + mes "[Girl]"; + mes "It must be fun."; + mes "I wanna try!"; + } + close; + } else { + mes "You're not ready."; + close; + } + } + mes "Eh..."; + mes "I don't have anything for you..."; + close; +} + +in_rogue,378,103,3 script Scary Man#H-10 810,{ + if (job_sha == 1) { + mes "[Urupa]"; + mes "We give a quiz and nobody has yet to solve it."; + mes "You want it to be solved?"; + mes "This is a code."; + mes "Look at it."; + next; + mes "- The message is -"; + mes "- written in a cipher. -"; + mes "The mission seems to be to break the code..."; + next; + mes "[Urupa]"; + mes "This is the code."; + mes "It is just numbering a cipher to make the message make sense."; + mes "For example..."; + next; + callsub L_Code,1; + mes "[Urupa]"; + mes "Now here's what needs to be to solved."; + mes "Decipher the code and go where it tells you..."; + next; + mes "[Urupa]"; + mes "Here we go!"; + next; + callsub L_Code,2; + next; + set job_sha,2; + setquest 7160; + mes "[Urupa]"; + mes "So write this down!"; + mes "I expected that you would take this adventure!"; + close; + } else if (job_sha > 1 && job_sha < 3) { + mes "[Urupa]"; + mes "You want one more explanation?"; + mes "Or do you just want the code?"; + next; + switch(select("More explanation.:Get the code.")) { + case 1: + callsub L_Code,1; + mes "[Urupa]"; + mes "Now it's up to you!"; + mes "So go! Go!"; + close; + case 2: + mes "[Urupa]"; + mes "Let me show you the code again..."; + next; + mes "[Urupa]"; + mes "Here we go!"; + next; + callsub L_Code,2; + close; + } + } else if (job_sha > 2 && job_sha < 28) { + mes "[Urupa]"; + mes "Ok, have you solved it yet?"; + mes "Good luck!"; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Urupa]"; + mes "Nothing special?"; + mes "As you see... I am ok here!"; + close; + } + mes "[Scary man]"; + mes "What's your business?"; + mes "I don't have anything to do with you."; + mes "I don't care for people like you."; + mes "I just deal with the extraordinary."; + close; + +L_Code: + if (getarg(0)==1) { + mes "[Urupa]"; + mes "3511543433"; + mes "This means PAYON."; + next; + mes "[Urupa]"; + mes "The numbers have to be paired."; + mes "3511543433"; + mes "35 11 54 34 33 breaks down into 5 pairs!"; + next; + mes "[Urupa]"; + mes "So the pairs mean:"; + mes "35-P, 11-A,"; + mes "54-Y, 34-O, 33-N."; + next; + mes "[Urupa]"; + mes "Here are the numbers all in a row."; + mes "33, 34, 35!"; + mes "N, O, P?"; + next; + } else { + mes " "; + mes "^aaaaff43231114345243^000000"; + mes "^aaaaff11441531241542^000000"; + mes "^aaaaff2433^000000"; + mes "^aaaaff3542343344154211^000000"; + next; + mes "[Urupa]"; + mes "Could you do that?"; + mes "If you visit there, you might be surprised..."; + } + return; +} + +function script sc_gldmes { + if (getarg(0)==1) { + mes "[Vin]"; + mes "Ah? What's this?"; + mes "Lotte, you know what this means?"; + next; + mes "[Lotte]"; + mes "Hmm '3847147298' this is the only thing I've used on..."; + mes "Then, why'd they use numbers to name the villages?"; + next; + mes "[Lotte]"; + mes "Vin! This is crap!"; + next; + mes "[Vin]"; + mes "What?"; + next; + mes "[Scary man]"; + mes "Hey there!?"; + next; + switch(select("Yes? Me?:Sorry, I am busy...")) { + case 1: + mes "[Scary man]"; + mes "Yes! You there!"; + mes "Let me introduce myself to you."; + mes "My name is Urupa."; + mes "If you are interested, could you come over here?"; + close; + case 2: + mes "[Scary man]"; + mes "What? You're just going to give up like that?"; + mes "So disappointing..."; + close; + } + } else { + mes "[Vin]"; + mes "Ah? What's this?"; + next; + mes "[Lotte]"; + mes "Hmm '3847147298' this is the only"; + mes "thing I've used on..."; + mes "Then, why'd they use numbers to"; + mes "name the villages?"; + next; + mes "[Lotte]"; + mes "Vin! This is crap!"; + next; + mes "[Vin]"; + mes "What?"; + next; + mes "[Scary man]"; + mes "You are supposed to figure this one out!"; + mes "But you are still so... weak."; + close; + } +} + +in_rogue,375,102,5 script Guild Member#H-11 828,{ + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (job_sha == 1) callfunc "sc_gldmes",1; + else if (job_sha > 1) && (job_sha < 28) { + mes "[Vin]"; + mes "Yes..."; + mes "Sooner or later I'll solve it"; + mes "myself if I dare to get the"; + mes "map...!"; + close; + } + else callfunc "sc_gldmes",2; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Vin]"; + mes "Huh! This is a Shadow Chaser!"; + mes "How unbelievable!"; + mes "But it seems familiar, doesn't it?"; + next; + mes "[Vin]"; + mes "Hmm......"; + mes ".........."; + mes "Oh my! I can't remember...!"; + close; + } + mes "[Vin]"; + mes "Ah? Who's there?"; + mes "We are flooded with guests"; + mes "today..."; + close; +} + +in_rogue,378,100,2 script Guild Member#H-12 747,{ + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (job_sha == 1) callfunc "sc_gldmes",1; + else if (job_sha > 1) && (job_sha < 28) { + mes "[Lotte]"; + mes "What?"; + mes "Damn..."; + next; + mes "[Lotte]"; + mes "I just hate numbers!"; + close; + } + else callfunc "sc_gldmes",2; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Lotte]"; + mes "Wow!"; + mes "You are the one!"; + mes "The extraordinarily smart and emotionally advanced..."; + next; + mes "[Lotte]"; + mes "SHADOW CHASER!"; + mes "Wow, when could I become one?"; + close; + } + mes "[Lotte]"; + mes "I don't need anything."; + close; +} + +s_atelier,65,123,4 script Manager#H-2 903,{ + if (job_sha == 2) { + mes "[Manager]"; + mes "Where's Max!?"; + mes "Damn, there're so many strangers around."; + mes "Hey..."; + next; + switch(select("Show the deciphered code!:...")) { + case 1: + mes "[Manager]"; + mes "Wow, you deciphered it?"; + mes "So, what's the right answer?"; + next; + input .@SCAtelier$; + mes "[Manager]"; + if (.@SCAtelier$ != "shadows atelier in prontera") { + mes "Remember to put the code exactly as it should be deciphered."; + mes "Maybe you should try again..."; + close; + } + mes "Good."; + mes "You just got it."; + mes "Then why have you come over here?"; + next; + select("The code says here's the one..."); + mes "[Manager]"; + mes "So you are the one."; + mes "Could you wait for a sec?"; + set job_sha,3; + close; + case 2: + mes "[Manager]"; + mes "Only allowed for people"; + mes "involved...."; + mes "Could you ask the clerk at the shop?"; + close; + } + } else if (job_sha == 3) { + mes "[Graham]"; + mes "Now let me introduce myself to you!"; + mes "I am Graham, the manager of this shadow gallery..."; + next; + mes "[Graham]"; + mes "You may have already guessed."; + mes "This is an additional facility for rogues."; + mes "We adopt things like art and other historical stuff."; + next; + mes "[Graham]"; + mes "These things are illegal."; + mes "Such things you guys bring us from historical places..."; + mes "Ok."; + next; + mes "[Graham]"; + mes "So we've got to know things"; + mes "like..."; + mes "special codes and information where the treasures are."; + next; + mes "[Graham]"; + mes "We need you guys..."; + mes "So we've asked assistance from the Rogue guild."; + next; + select("Any other places you guys work?"); + mes "[Graham]"; + mes "Ah, yes..."; + mes "We are in Prontera, Juno, Rachel, and Lighthalzen."; + mes "Ok?"; + next; + mes "[Graham]"; + mes "Anyway...."; + mes "We all really want to know where the treasures are."; + mes "So the code is to break into each of those places."; + next; + mes "[Graham]"; + mes "You seem like the right one."; + mes "So I will give you the code."; + mes "Please find the treasure!"; + next; + set job_sha,4; + switch(select("No way!:I'll give it a try!")) { + case 1: + mes "[Graham]"; + mes "What the hell?"; + mes "If you are not going to help then I'll just find someone else."; + close; + case 2: + mes "[Graham]"; + mes "You are so powerful!"; + mes "So here..."; + next; + callsub L_Code; + } + } else if (job_sha == 4) { + mes "[Graham]"; + mes "Are you interested in it now?"; + next; + switch(select("Not at all.:Hmm, I'll take it.")) { + case 1: + mes "[Graham]"; + mes "Damn it."; + close; + case 2: + mes "[Graham]"; + mes "You are just so picky..."; + mes "Here..."; + next; + callsub L_Code; + } + } else if (job_sha > 4 && job_sha < 8) { + mes "[Graham]"; + mes "Did you find something?"; + next; + switch(select("I need an explanation.:What's the code again?")) { + case 1: + mes "[Graham]"; + mes "You are so powerful!"; + next; + callsub L_Code,1; + case 2: + mes "[Graham]"; + mes "I've given you the code."; + mes "So crazy..."; + mes "Don't you have a memo of it?"; + close; + } + } else if (job_sha == 8) { + mes "[Graham]"; + mes "So, any improvements?"; + next; + select("Show him the key."); + mes "[Graham]"; + mes "Deception!"; + mes "You are deceiving me!"; + next; + mes "[Graham]"; + mes "This is all?"; + mes "Only one key."; + mes "How deceptive!"; + mes "Just as I thought, it's a kind of treasure."; + next; + mes "[Graham]"; + mes "You just gave me a shock."; + mes "Ok..."; + mes "The code is kept in galleries."; + next; + mes "[Graham]"; + mes "Ok there's more galleries than this one..."; + mes "Juno and Rachel have the codes..."; + next; + mes "[Graham]"; + mes "This is just what I was guessing."; + mes "The codes kept by other galleries aren't treasures at all..."; + next; + mes "[Graham]"; + mes "Go to Rachel..."; + next; + mes "[Graham]"; + mes "Find the gallery in Rachel..."; + mes "Tell 'em that you just came from Graham and ask for the code."; + next; + erasequest 7165; + setquest 7166; + set job_sha,9; + mes "[Graham]"; + mes "Ok?"; + mes "Then go there!"; + close; + } else if (job_sha > 8 && job_sha < 11) { + mes "[Graham]"; + mes "There're four galleries..."; + mes "Prontera, Rachel, Juno, and Lighthalzen."; + next; + mes "[Graham]"; + mes "One of the codes kept by the galleries is already deciphered."; + mes "It's just one key...."; + next; + mes "[Graham]"; + mes "But here's what I am guessing."; + mes "The codes are linked to each other."; + mes "And the purpose is different for each one."; + next; + mes "[Graham]"; + mes "For example..."; + mes "If one is just a key then the others are things requiring the key."; + next; + mes "[Graham]"; + mes "The key must be for opening the box."; + mes "Can you guess what's inside?"; + next; + select("Umm, treasure?"); + mes "[Graham]"; + mes "YES."; + mes "That's why we're here!"; + next; + mes "[Graham]"; + mes "People think that we are just trading the stuff..."; + mes "But we are here for very special things."; + next; + mes "[Graham]"; + mes "Go to ^aaaaffRachel Gallery^000000 and get the code..."; + mes "They will support you if you explain everything."; + mes "Ok?"; + close; + } else if (job_sha > 10 && job_sha < 27) { + mes "[Graham]"; + mes "How about everything?"; + mes "We are dying to know about the key."; + mes "So you got support from the other galleries..."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser || job_sha == 27) { + mes "[Graham]"; + mes "Shadow Chaser!!"; + mes "Ah!"; + next; + mes "[Graham]"; + mes "It's not intentionally deceiving..."; + mes "Hahaha!!"; + next; + mes "[Graham]"; + mes "Isn't it interesting?"; + mes "It's more than just taking exams."; + mes "We got to know about you and figured out who you are."; + next; + mes "[Graham]"; + mes "How's my acting?"; + mes "It worked?"; + next; + mes "[Graham]"; + mes "If you need anything just ask them what you want."; + close; + } + mes "[Manager]"; + mes "Only allowed for people involved..."; + mes "Could you ask the clerk at the shop?"; + close; + +L_Code: + mes "-note."; + mes "^aaaaff13 15 18 15 3 3 18 21 9 14^000000"; + mes "key: 0-"; + next; + select("These are just numbers..."); + mes "[Graham]"; + mes "The only difference from the one from the Rogue Guild is that you don't need to match them in pairs."; + next; + mes "[Graham]"; + mes "Also here's the keyword."; + mes "This case is... 0."; + next; + mes "[Graham]"; + mes "Let's see."; + 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]"; + mes "Look at this... C = 3."; + mes "C is the third letter right?"; + next; + mes "[Graham]"; + mes "Do you get it?"; + mes "But this won't be given with keyword 0. When I give you the keyword you can figure it out for yourself."; + if (getarg(0,0)) close; + next; + mes "[Graham]"; + mes "Now let's think about the mission."; + mes "Here's the things we've got."; + next; + erasequest 7160; + setquest 7163; + set job_sha,5; + mes "^aaaaff5 15 24 8^000000"; + mes "^aaaaff9 12 21 8^000000"; + mes "^aaaaff12 17^000000"; + mes "^aaaaff23 24 21 23 15 8^000000"; + mes "^aaaaff12 22 15 4 17 7^000000"; + mes "^aaaaff23 11 12 21 7^000000"; + mes "^aaaaff9 15 18 18 21^000000"; + mes "^aaaaffkey: 3.^000000"; + next; + mes "[Graham]"; + mes "You just take it."; + mes "I have a bad memory."; + mes "You have all the information so you are on your own now."; + next; + mes "[Graham]"; + mes "Once you get something come over here."; + next; + mes "- You take the memo from Graham."; + mes "Don't forget it! -"; + close; +} + +s_atelier,168,65,5 script Manager#H-3 923,{ + if (job_sha == 9) { + mes "[Manager]"; + mes "Who are you?"; + mes "This place isn't for you."; + next; + switch(select("Give me your password!:I was sent by Graham.")) { + case 1: + mes "[Manager]"; + mes "You need my password?"; + mes "How much would you pay me?"; + next; + mes "[Manager]"; + mes "10 million zeny?"; + mes "Ok, I'll take that then!"; + next; + mes "[Manager]"; + mes "Yeah, right!"; + mes "Who the hell are you?"; + mes "How dare you just ask for my password?"; + close; + case 2: + mes "[Manager]"; + mes "Graham?"; + mes "Why?"; + next; + mes "[Manager]"; + mes "So this key was sent by him."; + next; + select("No, I found it as the clue."); + mes "[Manager]"; + mes "Ah?"; + mes "So doesn't that mean that one code could be exchanged as a treasure?"; + next; + select("Maybe."); + mes "[Manager]"; + mes ".........."; + mes "Hmm...."; + next; + mes "[Manager]"; + mes "Hmm..."; + next; + mes "- The manager seems -"; + mes "- to be thinking about -"; + mes "- something. Then he -"; + mes "- hands over a paper. -"; + next; + mes "[Manager]"; + mes "No way."; + mes "Here's the clue."; + mes "Try to find it."; + next; + mes "[Manager]"; + mes "Anyway, my name is Paul."; + mes ".........."; + next; + mes "[Paul]"; + mes "Naturally..."; + mes "I've already solved the clue."; + next; + mes "- Here's the paper that -"; + mes "- Paul handed over. -"; + next; + mes "R-E-N-N-N-D"; + mes "L-N-N-W-W-N-D"; + next; + mes "[Paul]"; + mes "Isn't it so simple?"; + mes "What do you think?"; + mes "RENNND / LNNWWND can mean only one thing."; + next; + switch(select("I think I got it.:I have no clue.")) { + case 1: + erasequest 7166; + setquest 7167; + set @job_sc_chest2,rand(1,3); + goto L_icedun; + case 2: + erasequest 7166; + setquest 7167; + set job_sha,10; + mes "[Paul]"; + mes "What? You don't know it?"; + mes "Then you'd better think about it more."; + mes "It's so easy."; + close; + } + } + } else if (job_sha == 10) { + mes "[Paul]"; + mes "So did you get what it means?"; + next; + switch(select("Yes!:No I don't think so.")) { + case 1: + erasequest 7166; + setquest 7167; + set @job_sc_chest2,rand(1,3); + goto L_icedun; + case 2: + mes "[Paul]"; + mes "Is it that hard?"; + next; + select("I can't do it..."); + mes "[Paul]"; + mes "No way"; + mes "Can I give you a hint?"; + mes "Compass!"; + close; + } + } +L_icedun: + if (job_sha < 11) { + if (@job_sc_chest2 && @job_sc_chest2 < 4) { + mes "[Paul]"; + mes "Really? Then I don't need to give you the answer."; + mes "Could you interpret the meaning of each letter?"; + next; + select("It's kinda the combination of the places."); + mes "[Paul]"; + mes "So?"; + next; + select("E-N means East - North"); + mes "[Paul]"; + mes "Ok, enough."; + mes "Then go and find out."; + next; + mes "Memorize this."; + mes "You might need it. It could be a clue for you."; + next; + mes "[Paul]"; + switch(@job_sc_chest2) { + case 1: + mes "[S E E D]"; + mes "It's seed."; + break; + case 2: + mes "[F O O T]"; + mes "It's foot."; + break; + case 3: + mes "[C O L D]"; + mes "It's cold."; + break; + } + mes "I don't know what it really means, but it would be helpful to you to figure it out."; + set job_sha,11; + set job_chest2, @job_sc_chest2; + changequest 7167, @job_sc_chest2+7167; + close; + } + } else if (job_sha > 10 && job_sha < 13) { + mes "[Paul]"; + mes "I've already given you all the info you need."; + next; + mes "[Paul]"; + mes "I've given you one more clue."; + mes "Isn't it enough?"; + next; + mes "[Paul]"; + mes "As you and Graham mentioned..."; + mes "Go and find it out."; + next; + mes "[Paul]"; + mes "If you find real things like treasure,"; + mes "come back here."; + close; + } else if (job_sha == 14) { + mes "[Paul]"; + mes "I was dying waiting for you."; + mes "So what did you find out?"; + next; + select("I found the key.:Hmm..."); + mes "- You hand over the 'Illusion Key' that you found in the ice cave. -"; + next; + mes "[Paul]"; + mes "Illusion! Haha!"; + mes "After deception is illusion!"; + mes "So are you lying to me?"; + next; + mes "[Paul]"; + mes "I can feel how Graham felt it...."; + mes "We don't dare to get that tiny key..."; + next; + mes "[Paul]"; + mes "The young guy in Lighthalzen is quite challenging to deal with..."; + mes "So we'd better request assistance from Haled..."; + next; + mes "[Paul]"; + mes "Hey..."; + mes "if you go to Juno..."; + mes "There's a gallery..."; + next; + mes "[Paul]"; + mes "So could you ask him to get the password?"; + mes "Hmm..."; + next; + mes "[Paul]"; + mes "I feel like the red hair guy in the main gallery is teasing me..."; + mes "Anyway..."; + mes "So I really like to know the password and the identity of the key..."; + next; + erasequest 7168; + erasequest 7169; + erasequest 7170; + erasequest 7172; + setquest 7173; + set job_sha,15; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^aaaaffI know what you did last summer!^000000"; + mes "You shouldn't be wrong...!?"; + close; + } else if (job_sha > 14 && job_sha < 18) { + mes "[Paul]"; + mes "You could ask him to get the key..."; + mes "He will help you if you tell him something..."; + next; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^aaaaffI know what you did last summer!^000000"; + close; + } else if (job_sha > 16 && job_sha < 27) { + mes "[Paul]"; + mes "So you are still looking for the treasure... right?"; + mes "I would look for it..."; + close; + } else if (job_sha == 27) { + // Is this correct? + mes "[Paul]"; + mes "Kkkkkkkkkkkkkkkk!"; + next; + mes "[Paul]"; + mes "Now I almost guessed what would happen later..."; + mes "It can't happen!"; + next; + mes "[Paul]"; + mes "Are you shocked?"; + mes "Don't think worse."; + mes "You could get a good person."; + mes "Hahaha..."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Paul]"; + mes "Do you need a painting tool?"; + mes "You can request that to the assistant."; + mes "We always have it just in case."; + close; + } + mes "[Manager]"; + mes "Who are you?"; + mes "This place isn't for you."; + next; + mes "[Manager]"; + mes "What are they doing up there?"; + mes "Bleh..."; + close; +} + +s_atelier,168,129,3 script Manager#H-4 806,{ + if (job_sha == 15) { + mes "[Manager]"; + mes "What?"; + mes "If you've come here for some money, you are wrong."; + mes "This isn't a pawnshop."; + next; + select("You are... Haled?"); + mes "[Haled]"; + mes "Hmm? I'm the manager of this workplace in Juno. What's the matter?"; + next; + mes "[Haled]"; + mes "Hmm. You were sent by Graham and Paul?"; + mes "I thought that you just came here to beg for money with fossil pieces."; + next; + mes "[Haled]"; + mes "It's a classic way that poor scholars use."; + mes "Sometimes I buy good stuff so some people know that this is a pawnshop."; + next; + mes "[Haled]"; + mes "Let me hear your story."; + next; + mes "- You explain everything so far and show the key of arrogance. -"; + next; + mes "[Haled]"; + mes "So..."; + mes "I totally understand."; + mes "It's this key's location that shared the information!"; + next; + mes "[Haled]"; + mes "Anyway. Two are keys and the treasure that I have to open with this key, what can I do?"; + next; + mes "[Haled]"; + mes "We will investigate Juno's workplace, so give it to me?"; + next; + mes "- Haled doesn't want to cooperate with you."; + mes "Remember what Paul said. -"; + next; + goto L_Paul; + } else if (job_sha == 16) { + mes "[Haled]"; + mes "What?"; + mes "You want to talk with me?"; + mes "How about you just hand over that key to me?"; + next; + goto L_Paul; + } else if (job_sha == 17) { + mes "[Haled]"; + mes "Got it."; + mes "Ok."; + mes "You need to know where the place with the code is?"; + next; + mes "[Haled]"; + mes "I don't have a choice."; + mes "Listen carefully to this poem."; + next; + mes "[Haled]"; + mes "^aaaaffThe end of thin root of life-giving water.^000000"; + mes "^aaaaffIt's all of tears and signs of living people.^000000"; + mes "^aaaaffThey are us but also not us.^000000"; + mes "^aaaaffResidents of forgotten night play the waltz of despair.^000000"; + next; + mes "[Haled]"; + mes "Do you know where it is?"; + mes "You know where it is right?"; + mes "It's only my opinion, but..."; + mes "It can't be possible..."; + next; + mes "[Haled]"; + mes "Anyway, if you want to do it, go ahead."; + mes "If you know what this poem means."; + next; + erasequest 7173; + setquest 7174; + set job_sha,18; + mes "[Haled]"; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + mes "I'm going to write it down so that you won't forget."; + close; + } else if (job_sha > 17 && job_sha < 22) { + mes "[Haled]"; + mes "I won't be surprised with whatever you find."; + mes "You have to find the place that the poem speaks of."; + next; + mes "[Haled]"; + mes "^aaaaffThe end of thin root of life-giving water.^000000"; + mes "^aaaaffIt's all of tears and signs of living people.^000000"; + mes "^aaaaffThey are us but also not us.^000000"; + mes "^aaaaffResidents of forgotten night play the waltz of despair.^000000"; + next; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + close; + } + if (job_sha == 22) { + mes "[Haled]"; + mes "Did you find something?"; + next; + select("Show the Key of Pleasure."); + mes "[Haled]"; + mes "Ha...........akkk."; + mes "Another key?"; + mes "Is it the only key?!"; + next; + mes "[Haled]"; + mes "Then... do I have to ask help from the young man from Lighthalzen?"; + mes "............"; + mes "Ah..."; + next; + mes "[Haled]"; + mes "I have no choice."; + mes "Go to Lighthalzen with the three keys."; + mes "Meet Vicente, who is master of the store in Lighthalzen, and tell him everything."; + next; + mes "[Haled]"; + mes "I told you that the old man is persistent and he ruins everything."; + next; + mes "[Haled]"; + mes "You have to have all your facts straight to send information to the guild."; + mes "First you have to work together in one accord."; + next; + mes "[Haled]"; + mes "The thing you find can belong to the workplace."; + mes "It can be shared."; + next; + mes "[Haled]"; + mes "I thought that it was a very simple thing."; + mes "We couldn't share that stuff together."; + next; + mes "[Haled]"; + mes "All of the information that I got fromworkplace are key."; + mes "There must be something to use three key with."; + next; + mes "[Haled]"; + mes "Anyway it has to do with deceit and pleasure..."; + mes "Is it teasing me..."; + next; + erasequest 7176; + setquest 7177; + set job_sha,23; + mes "[Haled]"; + mes "Ok. Let me finish."; + mes "Go to Vicente in Lighthalzen."; + close; + } else if (job_sha > 22 && job_sha < 24) { + mes "[Haled]"; + mes "Shadow workplace in lighthalzen"; + mes "The manager's name is Vicente."; + mes "Tell him everything and get one last information."; + close; + } else if (job_sha == 24) { + mes "[Haled]"; + mes "Hey, you!"; + mes "Was Vicente helpful?"; + mes "You have something important..."; + mes "So you have to find out what is it."; + next; + mes "[Haled]"; + mes "Keep trying."; + close; + } else if (job_sha == 27) { + mes "[Haled]"; + mes "Hey, you!"; + mes "What's going on?"; + mes "What? Shadow Chaser?"; + next; + mes "[Haled]"; + mes "Did I know that fact?"; + mes "Sure. I heard a little bit before I used to do work like this."; + next; + mes "[Haled]"; + mes "It's honor to me cause It's for to pick a person up belongs to us."; + mes "Just accept that. You are going to be a good Shadow Chaser."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Haled]"; + mes "I like your face."; + mes "We don't have any special thing."; + mes "An assistant sells some paint and tool."; + close; + } + mes "[Manager]"; + mes "What?"; + mes "If you've come here for some money,"; + mes "you are wrong."; + mes "This isn't a pawnshop."; + close; + +L_Paul: + mes "["+strcharinfo(0)+"]"; + mes "Paul said...."; + next; + input .@psaid$; + if (.@psaid$ != "I know what you did last summer!") { + set job_sha,16; + mes "[Haled]"; + mes "So what?"; + mes "He's a wild-eyed person."; + mes "Did you just speak to me in a threatening tone?"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "Paul said...."; + mes "I know what you did last summer!"; + next; + mes "[Haled]"; + mes "Ekk... He..."; + mes "Knew everything..."; + mes "Hmm..."; + mes "I can help."; + mes "I will cooperate."; + next; + set job_sha,17; + mes "[Haled]"; + mes "I need some time to collect my thoughts."; + mes "Wait for me a bit."; + close; +} + +tur_dun03,38,209,5 script Blue Flame#H-19 802,{ + if (job_sha == 5) { + mes "A blue flame is roaring."; + mes "The deciphered code means..."; + next; + input .@BLFnpc$; + if (.@BLFnpc$ != "blue fire in turtle island third floor") { + mes "["+strcharinfo(0)+"]"; + mes "What was it?"; + mes "I guess I have to make sure I don't use any capital letters."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "^aaaaffblue fire in turtle island third floor^000000"; + mes "It's clearly pointing to this."; + next; + mes "You murmur the sentence when the flame begins growing."; + next; + mes "[Unknown voice]"; + mes "Hm? Someone is coming?"; + mes "You are the one who wants to have my treasure?"; + mes "But your limitation is over."; + next; + mes "The flame is talking."; + mes "The voice is snake-like."; + mes "In the middle of blue flame, there are two marble eyes."; + next; + select("Pick it up."); + mes "[Unknown voice]"; + mes "You are in a hurry."; + mes "Hahaha, humans usually do things like that."; + mes "They can't see the truth."; + next; + mes "[Unknown voice]"; + mes "How about you?"; + mes "I don't expect that you will do harm to this blue flame."; + mes "It's the only one with two..."; + next; + select("Who are you?"); + mes "[Shadow of Deception]"; + mes "Me? I'm a deception."; + mes "I sneer at people who are stupid."; + mes "I laugh behind their backs."; + mes "HahaHaha..."; + next; + erasequest 7163; + setquest 7164; + set job_sha,6; + mes "The Blue Flame is growing and rolling."; + mes "They seem to be related."; + close; + } else if (job_sha == 6) { + if (checkquest(7164,HUNTING) != 2) { + mes "The flame is still rolling with a"; + mes "strong spell."; + mes "You have to cut the relation with it."; + close; + } + else if (checkquest(7164,HUNTING) == 2) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick them up, you can feel that your weight is lightened."; + close2; + set job_sha,7; + erasequest 7164; + warp "job3_sha01",22,82; + end; + } + } else if (job_sha == 7) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick it up, you can feel that your weight is lightened."; + close2; + warp "job3_sha01",22,82; + end; + } + mes "The flame is rolling."; + close; +} + +ice_dun02,206,223,5 script Red Flame#H-20 802,{ + if (job_sha == 11) { + mes "The red flame is roaring."; + mes "It changed to a woman in black."; + next; + mes "[Woman in black]"; + mes "Can you hear me?"; + mes "Huhu."; + mes "Can you see me?"; + next; + mes "[Woman in black]"; + mes "You are the chosen one?"; + mes "You can know that."; + mes "There is a soul that is the same as me."; + next; + mes "[Woman in black]"; + mes "I'm a shadow."; + mes "A wandering shadow."; + mes "Sad soul."; + mes "A shadow of illusion without truth."; + next; + setquest 7171; + set job_sha,12; + mes "[Shadow of Illusion]"; + mes "What do you want?"; + mes "Do you want treasure?"; + mes "Then pick it up."; + mes "Tear my soul and"; + mes "show the truth."; + close; + } else if (job_sha == 12) { + if (checkquest(7171,HUNTING) != 2) { + mes "[Shadow of Illusion]"; + mes "Huhu."; + mes "What's wrong?"; + mes "You couldn't find the half of my soul?"; + mes "Huhu..."; + next; + mes "[Shadow of Illusion]"; + mes "Ah, hurry and give me rest."; + mes "I want to die softly."; + mes "I want to give up the phony life."; + next; + mes "[Shadow of Illusion]"; + mes "Huhu..."; + mes "When the false shadow is gone, you can see the truth."; + mes "Please, tear the false to dazzle who are blind..."; + mes "without any trace.."; + close; + } else if (checkquest(7171,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + set job_sha,13; + erasequest 7171; + warp "job3_sha01",22,33; + end; + } + } else if (job_sha == 13) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",22,33; + end; + } else if (job_sha > 13 && job_sha < 28) { + mes "The flame is rolling."; + mes "You can't see well because of the light of ice."; + close; + } + mes "An unknown red flame is roaring."; + close; +} + +niflheim,230,276,5 script Red Flame#H-21 802,{ + if (job_sha == 18) { + mes "["+strcharinfo(0)+"]"; + mes "The poem that Haled told me was pointing to Niflheim."; + mes "There is a flame that looks like the one from turtle island and ice dungeon."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The end of living tree's roots."; + mes "Tears of all living people."; + mes "Sign of all dead people."; + next; + mes "["+strcharinfo(0)+"]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "Residents of the night forgotten..."; + next; + select("Who is playing that?"); + mes "[Someone's voice]"; + mes "Who is playing the waltz of desperation?"; + mes "....."; + next; + mes "[Someone's voice]"; + mes "Ha..."; + mes "You came here to dig the secret of death."; + mes "Can you play the waltz of death for me?"; + next; + mes "[Someone's voice]"; + mes "I don't to be subject to restraint and be with sign of dead people."; + next; + mes "[Shadow of Pleasure]"; + mes "I'm a shadow."; + mes "I show that best of the pleasure in this world."; + mes "Illusions such that you don't want to be awaken from the dream."; + next; + mes "[Shadow of Pleasure]"; + mes "The soul got tangled by cold chains"; + mes "I can't see the dream and the shadow lost the pleasure that will be lasting forever."; + next; + mes "[Shadow of Pleasure]"; + mes "Please, help me."; + mes "Give me two hands to escape from here!"; + next; + mes "[Shadow of Pleasure]"; + mes "Can you stifle me with two hands?"; + mes "The other side of my senses gas for breath."; + next; + mes "[Shadow of Pleasure]"; + mes "That's the evidence that I live."; + mes "That's the evidence that I cross over the line."; + mes "With start of life the last pleasure."; + next; + mes "[Shadow of Pleasure]"; + mes "Show me the sweet death."; + next; + erasequest 7174; + setquest 7175; + set job_sha,19; + mes "The flame is dying."; + mes "You should handle the shadow of pleasure."; + close; + } else if (job_sha == 19) { + if (checkquest(7175,HUNTING) != 2) { + mes "You can feel a strong soul in the flame."; + mes "You should handle the shadow of pleasure."; + close; + } else if (checkquest(7175,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + set job_sha,20; + erasequest 7175; + close2; + warp "job3_sha01",73,87; + end; + } + } else if (job_sha == 20) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",73,87; + end; + } else if (job_sha > 21 && job_sha < 27) { + mes "There is a flame."; + mes "You can't feel anything from it."; + close; + } + mes "That's a mysterious flame."; + mes "It looks like cursing."; + mes "Go away from that"; + close; +} + +tha_t01,149,228,0 script #shadowc07 45,1,1,{ + if ((Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) && job_sha == 24){ + mes "You can feel weird power."; + mes "You are getting dizzy."; + close2; + warp "job3_sha01",71,36; + end; + } + mes "You can feel weird power."; + mes "You don't know what it is."; + close; +} + +job3_sha01,22,78,5 script ????#H-22 844,{ + if (job_sha == 7) { + setarray .@Codes1$[1],"EFDFJWF","FGEGKXG","GHFHLYH","HIGIMZI","IJHJNAJ","JKIKOBK","KLJLPCL","LMKLQDM"; + setarray .@Codes2$[1],"IPOFTUZ","JQPGUVA","IRQHVWB","LSRIWXC","MTSJXYD","NUTKYZE","OVULZAF","PWVMABG"; + set @job_sc_chest1,rand(1,8); + mes "It's a small box made of a hard turtle's shell."; + mes "The middle of it..."; + next; + select("Touch the middle.:Push the middle."); + mes "When you touch it, something comes out!"; + next; + mes "DECEIVE"; + next; + mes ""+@job_sc_chest1; + next; + mes .@Codes1$[@job_sc_chest1]; + next; + mes "It shows some letters and numbers."; + mes " "; + mes "Deceive,"; + mes "then "+@job_sc_chest1+","; + mes "and "+.@Codes1$[@job_sc_chest1]+"."; + next; + select("What does it mean?"); + mes "["+strcharinfo(0)+"]"; + mes "Is it also code."; + mes "It must be a kind of rule of code?"; + mes "Ah, something is shown again...?"; + next; + mes "- You can see some letters on the turtle's shell. -"; + next; + mes "HONESTY"; + mes "And also letters. They are"; + mes "blinking as if waiting for a code to be input."; + next; + input .@sccst1$; + if (.@sccst1$ == .@Codes2$[@job_sc_chest1]) { + mes "When you put the correct"; + mes "answer in there, the box opens."; + mes "There is a small key inside."; + next; + getitem 6266,1; + setquest 7165; + set job_sha,8; + mes "- You get the Key of Deception. -"; + close; + } + mes "- You put the answer -"; + mes "- but it doesn't work. -"; + mes "- You have failed. -"; + close; + } + mes "You don't have to stay in here."; + next; + switch(select("Go outside.:Stay here.")) { + case 1: warp "tur_dun03",42,204; + case 2: close; + } +} + +job3_sha01,25,28,5 script ????#H-23 844,{ + if (job_sha == 13) { + setarray .@Words$[1],"SEED","FOOT","COLD"; + setarray .@Numbers[1],24,25,20; + mes "There are lots of boxes"; + mes "with numbers on them."; + next; + mes "1 2 3 4 5"; + mes "6 7 8 9 0"; + mes " [][]"; + next; + mes "When you touched that number, it moved."; + mes "You find the empty space."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I guess I have to put the number in the empty space..."; + mes "I have two empty squares to put two numbers."; + mes "What will it be good for?"; + next; + select("I think it's related to the word given by Paul."); + mes "["+strcharinfo(0)+"]"; + mes "I got "+.@Words$[job_chest2]+"."; + mes "Now I have to convert it into a number..."; + next; + switch(select("Input the answer.:I can't get it.")) { + case 1: + input .@sccst2; + if (.@sccst2 == .@Numbers[job_chest2]) { + mes "You put 2 and "+(.@Numbers[job_chest2]-20)+"."; + mes "The box opens and you get one key."; + next; + mes "You picked up the Key of Illusion."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's not a treasure."; + mes "The Key of Illusion? Is it related to the Shadow of Illusion?"; + mes "I got the Key of Deception after I handled Deception..."; + next; + getitem 6267,1; + setquest 7172; + set job_sha,14; + set job_chest2,0; + mes "["+strcharinfo(0)+"]"; + mes "Anyway, Paul will be disappointed."; + mes "A key again...."; + mes "How can I escape from here?"; + next; + mes "When you push the box, it opens a door leading outside."; + close2; + warp "ice_dun02",209,219; + end; + } + mes "When you enter the number, it goes back to the first."; + close; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Hmm."; + mes "I can't get it..."; + mes "Is it the same code as the Prontera workplace...?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "According to that method..."; + mes "A means 11 and B means 12."; + close; + } + } + // Custom Translation + mes "You don't have to stay in here."; + close2; + warp "ice_dun02",209,219; + end; +} + +job3_sha01,73,80,5 script ????#H-24 844,{ + if (job_sha == 20) { + mes "There is a box that looks like a house."; + mes "There's a small paper in the chimmney."; + next; + mes "It says:"; + mes "-----------------"; + mes "20 21 18 14"; + mes "1 14 4"; + mes "19 8 1 11 5"; + mes "-----------------"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think it's another code."; + mes "I should solve it the same way as before."; + next; + mes "["+strcharinfo(0)+"]"; + mes "There are no clues..."; + mes "1 could equal A,"; + mes "And the the answer is..."; + next; + input .@sccst3$; + set job_sha,21; + if (.@sccst3$ != "TURN AND SHAKE") { + mes "["+strcharinfo(0)+"]"; + mes "..."+.@sccst3$+"....?"; + mes "What does that mean?"; + close; + } + } else if (job_sha == 21) { + mes "["+strcharinfo(0)+"]"; + mes "Let me think again..."; + mes "20 21 18 14"; + mes "1 14 4"; + mes "19 8 1 11 5"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's the same as before."; + mes "There's no code, so 1 should be A."; + mes "And the answer is..."; + next; + input .@sccst3$; + if (.@sccst3$ != "TURN AND SHAKE") { + mes "["+strcharinfo(0)+"]"; + mes "..."+.@sccst3$+"....?"; + mes "Again? I don't get it."; + close; + } + } + if (job_sha == 21) { + mes "["+strcharinfo(0)+"]"; + mes "Turn... Turn... and"; + mes "Shake? Shake?"; + mes "For what?"; + next; + L_chest32: + switch(select("Turn the roof.:Turn the house.:Turn the handle.")) { + case 1: + mes "You turn the roof."; + next; + switch(select("Shake the roof.:Shake the house.")) { + case 1: + mes "Even though you shake the roof, nothing happens."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm..."; + next; + goto L_chest32; + case 2: + mes "You tried to shake the house but it doesn't do anything."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's wrong."; + mes "I'll put it back"; + mes "and try again..."; + next; + goto L_chest32; + } + case 2: + mes "You grab the whole house and turn it."; + next; + switch(select("Shake up and down.:Shake back and forth.:Turn 'round and 'round and shake.:Roll it upside down.")) { + case 1: + case 2: + mes "Nothing happens."; + mes "You think there is something inside, but it won't come out."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm."; + next; + goto L_chest32; + case 3: + 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."; + mes "Hmm."; + next; + goto L_chest32; + case 4: + mes "Rolling it upside down causes something inside to move."; + next; + mes "You shake it slowly."; + mes "You can hear some noise."; + mes "Something's coming out."; + next; + mes "- You got the Key of Pleasure. -"; + next; + getitem 6268,1; + erasequest 7175; + setquest 7176; + set job_sha,22; + mes "["+strcharinfo(0)+"]"; + mes "What? A key again!"; + mes "Haled will be disappointed..."; + mes "I better go back."; + close; + } + case 3: + mes "You tried to turn the small handle but it doesn't work."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What should I do now?"; + next; + goto L_chest32; + } + } + mes "You don't have to stay in here."; + mes "You put the box down and see that there is a door leading outside."; + close2; + warp "niflheim",230,270; + end; +} + +job3_sha01,72,28,5 script ????#H-25 844,{ + if (countitem(6266) == 1 && countitem(6267) == 1 && countitem(6268) == 1) { + if (job_sha == 24) { + mes "There is a stone that looks like a small casket with a fabulous pattern around it."; + next; + mes "But you can't feel any power from it."; + mes "You find three holes in there."; + next; + mes "Inscribed next to the holes is written Deception, Illusion, and Pleasure."; + next; + select("Place the key in the holes."); + mes "["+strcharinfo(0)+"]"; + mes "At first, Deception..."; + mes "then Illusion..."; + mes "and Pleasure..."; + mes "Let me see."; + next; + mes "When you put the keys in, something comes out."; + next; + delitem 6266,1; + delitem 6267,1; + delitem 6268,1; + getitem 6269,1; + erasequest 7178; + setquest 7179; + set job_sha,25; + mes "- You got a brush with a fabulous pattern on it. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What???"; + mes "A brush!!!"; + mes "This isn't treasure!!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahahhah!!!"; + mes "*sniff*"; + mes "It's not treasure!"; + next; + select("Now I'm pissed off."); + mes "["+strcharinfo(0)+"]"; + mes "*Sigh*"; + mes "Guess I should bring this to ^aaaaffVicente^000000!"; + close; + } + } + mes "It's an empty stone statue."; + close; +} + +s_atelier,25,75,3 script Manager#H-5 899,{ + if (job_sha == 23) { + mes "[Vicente]"; + mes "Welcome."; + mes "I've been waiting for you."; + next; + select("For me?"); + mes "[Vicente]"; + mes "I wondered when you would visit."; + mes "I've been waiting a long time for you."; + mes "Huhu..."; + next; + mes "[Vicente]"; + mes "How were Graham, Paul and Haled?"; + mes "They are not easy people to deal with, huh?"; + next; + select("You know everything?"); + mes "[Vicente]"; + mes "Sure."; + mes "They ignore me because they think that I'm too young."; + mes "As if they were all perfect."; + mes "Hahaha..."; + next; + mes "[Vicente]"; + mes "Did you bring all of the keys?"; + mes "There should be three."; + mes "You came here to find out how to use them I assume, right?"; + next; + select("Yeah, you're right!"); + mes "[Vicente]"; + mes "You don't have to be surprised."; + mes "I can't find how long it took for those three men to investigate before."; + mes "I already finished my work."; + next; + mes "[Vicente]"; + mes "When I went to the final location I found a stone statue."; + mes "But it needed keys."; + next; + mes "[Vicente]"; + mes "Three of them."; + mes "- Vicente smiles. -"; + next; + mes "[Vicente]"; + mes "At first, the information that was"; + mes "given from the guild meant only one thing."; + mes "Because of the saying that they respect the right of our"; + mes "possessions,"; + mes "we shared our information."; + next; + mes "[Vicente]"; + mes "So we had to wait for it."; + mes "I thought the last man would never give it to me..."; + next; + mes "[Vicente]"; + mes "They thought I wanted to have the treasure for myself."; + mes "So that's why I've just been"; + mes "waiting for you."; + next; + mes "[Vicente]"; + mes "Then let's make a point!"; + mes "Do you know of the Thanatos Tower?"; + next; + switch(select("Sure.:The tower of death?")) { + case 1: + mes "[Vicente]"; + mes "You know that."; + mes "Then you can understand easily."; + next; + break; + case 2: + mes "[Vicente]"; + mes "Yes, that tower in northern Juno."; + mes "There are huge monsters there."; + next; + break; + } + mes "[Vicente]"; + mes "You told me that you went to the final place with the information?"; + mes "That's the Thanatos Tower."; + next; + mes "[Vicente]"; + mes "Fortunately, the location is the 1st floor of that tower."; + mes "So I'm going to tell what you have to do."; + next; + mes "[Vicente]"; + mes "At the 1st floor of the Thanatos Tower, there are members from the Rekenber Corporation."; + mes "Go north from their desk..."; + next; + mes "[Vicente]"; + mes "And you can find stairs and a location where light comes out of."; + mes "That's the location of the"; + mes "information that I have."; + next; + mes "[Vicente]"; + mes "Now you know the location you have to go to with the three keys."; + mes "Find out the secret of the stone statue."; + next; + erasequest 7177; + setquest 7178; + set job_sha,24; + mes "[Vicente]"; + mes "You can't imagine what kind of things you might find."; + mes "That's the final destination of all of the keys."; + next; + mes "[Vicente]"; + mes "Good luck."; + close; + } else if (job_sha == 24) { + mes "[Vicente]"; + mes "Listen carefully."; + mes "The location you need to find is"; + mes "north from the middle of the 1st floor in the Thanatos Tower."; + mes "You can find stairs and a location where light comes out."; + next; + mes "[Vicente]"; + mes "If you find something, come back here."; + mes "Actually, I want to get the key from you, but..."; + next; + mes "[Vicente]"; + mes "I just respect your opinion."; + mes "If you find something, come back here. Got it?"; + close; + } else if (job_sha == 25) { + mes "[Vicente]"; + mes "You're back?"; + mes "Did you find anything?"; + next; + switch(select("Throw the brush.:Grab him by the collar.:Drop the brush.")) { + case 1: + mes "[Vicente]"; + mes "Hey, what are you doing?"; + mes "This brush..."; + mes "Is this the treasure hidden in the Thanatos Tower?"; + next; + break; + case 2: + mes "[Vicente]"; + mes "What's wrong with you?"; + mes "You can't tell me more details?"; + close; + case 3: + mes "[Vicente]"; + mes "What's the matter?"; + mes "Are you ok?"; + next; + mes "- Vicente looks at me with a surprised face. -"; + next; + select("Point at the brush."); + mes "[Vicente]"; + mes "Is this the treasure hidden in thanatos tower?"; + next; + break; + } + mes "Vicente looks surprised after taking a look at it."; + next; + mes "[Vicente]"; + mes "Haha!!"; + mes "Ahahahaha!!!!!"; + mes "I get it now!"; + mes "Congratulations."; + next; + mes "[Vicente]"; + mes "It's treasure."; + mes "You found a big treasure!"; + mes "Talk to me for bit, won't you?"; + next; + erasequest 7179; + setquest 7180; + set job_sha,26; + mes "[Vicente]"; + mes "There is someone who has been waiting for you."; + mes "He's been waiting for someone to bring this brush back."; + mes "Let's go inside."; + close; + } else if (job_sha > 25 && job_sha < 28) { + mes "[Vicente]"; + mes "I'm going to listen to your story."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Vicente]"; + mes "I'm expecting your work from now on."; + mes "You'll be a good Shadow Chaser."; + mes "I'm sure of it."; + close; + } + mes "[Manager]"; + mes "You are?"; + mes "Sorry, but we don't trade old art goods."; + mes "If you need something, then ask an assistant."; + close; +} + +s_atelier,73,65,3 script Vicente#H-18 899,{ + mes "[Vicente]"; + if (job_sha > 25 && job_sha < 27) { + mes "This way."; + mes "He's been waiting for you for a while."; + mes "Not me, Dumk."; + close; + } else if (job_sha == 27) { + mes "Dumk wants to have you as a Shadow Chaser."; + mes "Big news, right?"; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "I don't have any special reason to visit here."; + mes "An assistant sells tools and paints."; + close; + } + mes "If you don't have anything special"; + mes "to do here, you'd better leave."; + mes "No trespassing!"; + close; +} + +s_atelier,70,66,5 script Dumk 481,{ + mes "[Dumk]"; + if ((Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) && !countitem(6269)) { + mes "What is it?"; + mes "Have you been enjoying your new skills?"; + next; + mes "[Dumk]"; + mes "If you want to improve your skills, you have to seek out new uses for paints."; + next; + mes "[Dumk]"; + mes "Don't forget."; + mes "We are Shadow Chasers."; + mes "Huhu..."; + mes "HuhuHuhu..."; + close; + } + if (!countitem(6269)) { + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + mes "Vicente, no soliciting!"; + next; + mes "[Vicente]"; + mes "A solicitor?"; + mes "I don't think so. That's our colleage."; + next; + mes "[Dumk]"; + mes "...Ah?"; + close; + } + mes "........"; + mes "Heh."; + next; + mes "[Vicente]"; + mes "I'm sorry."; + mes "He is not interested in other people."; + mes "But you can't enter this space."; + mes "You can get tools at the store."; + close; + } + // Not sure if this is placed correctly... + if (BaseLevel != 99 || JobLevel < 50) { + mes "Sorry, but make sure that you're"; + mes "Base Lvl. 99 / Job Lvl. 50 minimun and set all your Skillpoints."; + close; + } + if (SkillPoint) { + mes "You are still green!"; + mes "Did you expect to learn the dark arts with your ability?"; + mes "You are wrong!"; + next; + mes "[Vicente]"; + mes "Haha..."; + mes "Please, understand. Dumk has very bad communication skills."; + mes "He doesn't talk to anyone who isn't at a high enough level."; + next; + mes "[Vicente]"; + mes "And to those who are not ready..."; + mes "^aaaaffYou might not be ready for him.^000000"; + next; + mes "[Dumk]"; + mes "You talk too much."; + mes "Heh."; + next; + mes "[Vicente]"; + mes "- He is pleased. -"; + mes "Hey."; + mes "He could be ashamed."; + close; + } + // Not sure if this is correct either... + if ((MaxWeight - Weight) < 1000) { + mes "Sorry, but you're overweight."; + mes "Please store some of your items first."; + close; + } + if (job_sha == 27) { + mes "So, do you want me to keep talking about Shadow Chasers?"; + next; + switch(select("What is a Shadow Chaser?:Change me to Shadow Chaser.:I'll come back later.")) { + case 1: + mes "[Dumk]"; + mes "Most spells are exclusively for Wizards and their kind."; + mes "But Knight has since been able to use a kind of magic with things called Runes."; + next; + mes "[Dumk]"; + mes "So we tried finding a medium for spells that suit our characteristics."; + next; + mes "[Dumk]"; + mes "So finally..."; + mes "We found paint!"; + next; + mes "[Dumk]"; + mes "Paint gives us lots of feelings."; + mes "We can feel peaceful and happy or it can give us feelings of sorrow and fear."; + next; + mes "[Dumk]"; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "The effects on our enemies are similar to that of magic spells."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create blackholes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + select("Then what is the Master Brush?"); + mes "[Dumk]"; + mes "Ah?"; + mes "That was a brush who was a master of dark arts."; + mes "Now we are looking for someone who can be Shadow Chaser."; + next; + mes "[Dumk]"; + mes "This is kind of game."; + mes "If there is someone who wants to become a Shadow Chaser,"; + mes "we just look the process to find this brush."; + next; + mes "[Dumk]"; + mes "We put the codes to make sure that you can think outside of the box."; + mes "Did you have fun?"; + close; + case 2: + mes "[Dumk]"; + mes "You decided!"; + mes "As your case, you can master the art of psychological warfare using paint!"; + mes "The art created is beautiful but dangerous."; + next; + mes "[Dumk]"; + mes "We use paint as a medium for spells."; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create blackholes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + mes "[Dumk]"; + mes "You performed your duties diligently and found the brush."; + mes "So you are qualified to be a Shadow Chaser."; + next; + jobchange roclass(eaclass()|EAJL_THIRD); + set JobLevel, 1; + nude; + getitem 6121,1; + getitem 6122,1; + getitem 2795,1; + getitem 5750,1; + delitem 6269,1; + mes "[Dumk]"; + mes "Congratulations."; + mes "Welcome to your new life."; + completequest 7180; + set job_sha,28; + next; + mes "[Dumk]"; + mes "It's a fashionable uniform."; + mes "It uses patterns of leopard and feathers."; + mes "The fashion world will be shocked."; + next; + mes "[Dumk]"; + mes "This shadow peacock I designed myself."; + mes "It's too hard to create something that absorbs my art sense."; + mes "Then about this part..."; + next; + mes "Dumk keeps talking about fashion, art sense, paint and feeling."; + mes "He's obviously in his own world."; + next; + select("About this brush..."); + mes "[Vicente]"; + mes "Ah, I'll explain."; + mes "We need tools for painting."; + next; + mes "[Vicente]"; + mes "The make-up brush is used for face painting."; + mes "You can get paint from the workplace."; + next; + mes "[Vicente]"; + mes "The paint brush is used for painting big spaces."; + mes "You can get paint from the workplace too."; + next; + mes "[Vicente]"; + mes "Don't you remember the location of the workplace?"; + mes "Juno, Prontera, Rachel and Lighthalzen."; + next; + mes "[Vicente]"; + mes "If you need paint, go to an assistant."; + mes "^aaaaffIf you don't have any tools, you can use skill needed paints.^000000"; + next; + mes "[Vicente]"; + mes "Congratulations to be our person."; + close; + case 3: + mes "[Dumk]"; + mes "What?"; + mes "Why not?"; + mes "You don't want to be a Shadow Chaser?"; + mes "I can teach you so much about painting."; + next; + mes "[Dumk]"; + mes "You really won't understand until you become one."; + next; + mes "[Dumk]"; + mes "Don't you want to learn how to harness a power stronger than what you know?"; + mes "...."; + next; + mes "Dumk seemed to be disappointed that you didn't answer him."; + close; + } + } + mes "It's you? You are the one who found the brush?"; + next; + select("Show the brush to him."); + mes "[Dumk]"; + mes "That's it."; + mes "Did you find it by yourself?"; + next; + switch(select("Yes.:With my friends.")) { + case 1: + mes "[Dumk]"; + mes "Hmm..."; + mes "You have a high ability."; + mes "Breaking the codes should have been tough."; + mes "But it wasn't for you."; + next; + break; + case 2: + mes "[Dumk]"; + mes "Hmm..."; + mes "That's your other skill."; + mes "People who have no friends must be lonely."; + next; + mes "[Dumk]"; + mes "To us, relationships are very important."; + mes "You get more people, you get more help."; + next; + break; + } + mes "[Dumk]"; + mes "It's time to introduce myself."; + mes "I'm Dumk."; + next; + select("You are....."); + mes "[Vicente]"; + mes "Chicken! How about the chicken for this supper?"; + next; + mes "[Dumk]"; + mes "Why chicken?"; + mes "Why are you interrupting?"; + mes "You wanna be fired?"; + next; + mes "[Vicente]"; + mes "Sorry..."; + mes "(He turns to you and says it's taboo to talk about chicken.)"; + next; + mes "[Dumk]"; + mes "Anyway, let's make a point."; + mes "You."; + mes "Will you yield to the will of the brush?"; + next; + select("Yield to? What?"); + mes "[Dumk]"; + mes "This brush was used by the master."; + mes "Paintings by him have mysterious power."; + next; + mes "[Dumk]"; + mes "I can't tell you the root of the power."; + mes "Someday you will find out."; + mes "He sublimates power through the medium of his paintings."; + next; + select("I don't get it...?"); + mes "[Dumk]"; + mes "We walk in darkness without moonlight."; + mes "And find out our shining days are over."; + next; + mes "[Dumk]"; + mes "We follow to other shadows and we can be real Shadow Chasers!"; + next; + select("What are you talking about?"); + mes "[Vicente]"; + mes "So, he suggests that you become a Shadow Chaser."; + next; + mes "[Vicente]"; + mes "In out guild, there is a special group that have unique skills."; + mes "They are Shadow Chasers."; + mes "They usually hide their figure and they think they are different from others."; + next; + mes "[Dumk]"; + mes "Don't be so sarcastic, Vicente!"; + mes "I told you."; + mes "You are qualified to be a Shadow Chaser!"; + next; + mes "[Dumk]"; + mes "Give that brush to me."; + mes "I need it again."; + mes "I'm so thirsty."; + mes "Wait a minute."; + set job_sha,27; + close; +} + +s_atelier,29,119,3 script Max#H-13 97,{ + mes "[Max]"; + mes "Welcome~"; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are a member of the Rogue guild!"; + mes "What can I help you with?"; + next; + switch(select("I need a make-up brush.:I need a paint brush.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Max]"; + if (countitem(6122-.@i)) { + mes "Are you kidding me?"; + mes "you already have it? you don't need anything else."; + next; + mes "[Max]"; + mes "Visit later and use what you have!"; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Max]"; + mes "If you need more,"; + mes "just visit me!"; + close; + } + } + mes "We sell all art related things here~"; + next; + switch(select("Paint!?:Where's the manager?")) { + case 1: + mes "[Max]"; + mes "You are asking for paint?"; + mes "Could you just ask them to get the paint?~"; + close; + case 2: + mes "[Max]"; + mes "There's our manager."; + mes "Right over there."; + mes "**points**"; + mes "Are you blind?"; + close; + } +} + +s_atelier,124,128,3 script RimiGX#H-14 862,{ + mes "[RimiGX]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + switch(select("Make a new blush for make-up.:Make a new blush for painting:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[RimiGX]"; + if (countitem(6122-.@i)) { + mes "I can't offer extra stuff."; + mes "Visit here when you've lost stuff."; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[RimiGX]"; + mes "Visit me again."; + close; + } + } + mes "It's the shadow workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[RimiGX]"; + mes "Paint?"; + mes "Ask an assistant that works over there."; + close; + case 2: + mes "[RimiGX]"; + mes "Manager? He's in inside the workplace."; + mes "But when you visit him, you should have something to tell him..."; + close; + } +} + +s_atelier,136,70,3 script Titika#H-15 914,{ + mes "[Titika]"; + mes "Welcome~"; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are in a guild."; + mes "What can I help you with?"; + next; + switch(select("Make a new make-up brush.:Make a new paint brush.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Titika]"; + if (countitem(6122-.@i)) { + mes "You already have a paint brush?"; + mes "I think it's enough..."; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Titika]"; + mes "Visit me again."; + close; + } + } + mes "This is the Shadow Chaser workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Titika]"; + mes "You want paint?"; + mes "Talk to the assistant and ask about the paint tool."; + close; + case 2: + mes "[Titika]"; + mes "My manager is inside the workplace."; + mes "If you visit him without a special reason, he will ignore you."; + close; + } +} + +s_atelier,26,68,3 script Vito#H-16 904,{ + mes "[Vito]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + switch(select("Make a new brush for make-up.:Make a new brush for painting.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Vito]"; + if (countitem(6122-.@i)) { + mes "We offer only one brush per person."; + mes "We can't give out extra brushes."; + close; + } + mes "[Vito]"; + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Vito]"; + mes "Whenever you need a brush, visit me."; + mes "See you!"; + close; + } + } + mes "It's the shadow workplace."; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Vito]"; + mes "Paint?"; + mes "Ask the assistant standing over there."; + close; + case 2: + mes "[Vito]"; + mes "The man standing in front of the counter is the manager."; + close; + } +} + +// Quest Mob Spawn +tur_dun03,0,0,0,0 monster Shadow of Deception 2076,1,0,0 +ice_dun02,0,0,0,0 monster Shadow of Illusion 2077,1,0,0 +niflheim,0,0,0,0 monster Shadow of Pleasure 2078,1,0,0 \ No newline at end of file diff --git a/npc/scripts_jobs.conf b/npc/scripts_jobs.conf index fb2ff2491..e65d83ada 100644 --- a/npc/scripts_jobs.conf +++ b/npc/scripts_jobs.conf @@ -67,7 +67,7 @@ npc: npc/jobs/3-2/wanderer.txt npc: npc/jobs/3-2/royal_guard.txt npc: npc/jobs/3-2/sorcerer.txt npc: npc/jobs/3-2/sura.txt -//npc: npc/jobs/3-2/shadowchaser.txt +npc: npc/jobs/3-2/shadow_chaser.txt npc: npc/jobs/3-2/genetic.txt // -------------------------------------------------------------- // ------------------------ Skill Quests ------------------------ diff --git a/npc/warps/other/jobquests.txt b/npc/warps/other/jobquests.txt index 13b2da8ea..fc922f819 100644 --- a/npc/warps/other/jobquests.txt +++ b/npc/warps/other/jobquests.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Athena (1.0) //===== Current Version: ===================================== -//= 2.0 +//= 2.1 //===== Compatible With: ===================================== //= Any Athena Version; RO Version Ep4+ //===== Description: ========================================= @@ -21,8 +21,9 @@ //= 1.6 removed swordman quest map warps. They are now contained in the swordman quest. [L0ne_W0lf] //= 1.7 Updated some 2-2 job quest related warps. [L0ne_W0lf] //= 1.8 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 1.9 Added Gungslinger and NInja warps. [L0ne_W0lf] +//= 1.9 Added Gungslinger and Ninja warps. [L0ne_W0lf] //= 2.0 Updated Novice warps to use correct maps. [L0ne_W0lf] +//= 2.1 Added one Shadow Chaser job warp. [Euphy] //============================================================ @@ -123,3 +124,8 @@ que_ng,10,183,0 warp ninja03 1,1,que_ng,33,64 que_ng,37,64,0 warp ninja04 1,1,que_ng,15,182 que_ng,30,37,0 warp ninja05 1,1,que_ng,67,28 que_ng,63,30,0 warp ninja06 1,1,que_ng,25,37 + +//============================================================================== +//Shadow Chaser +//============================================================================== +job3_sha01,71,19,0 warp shadowc1 1,1,tha_t01,149,224 \ No newline at end of file diff --git a/npc/warps/other/s_workshop.txt b/npc/warps/other/s_workshop.txt index 3514171ff..884d77202 100644 --- a/npc/warps/other/s_workshop.txt +++ b/npc/warps/other/s_workshop.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= Chilly //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Warp Points for Shadow Workshop //===== Additional Comments: ================================= //= 1.0 First Release +//= 1.1 Added warps for Shadow Chaser job quest. [Euphy] //============================================================ rachel,180,115,0 warp s_atelier0001 1,1,s_atelier,131,72 @@ -20,3 +21,11 @@ prontera,272,108,0 warp s_atelier0005 1,1,s_atelier,13,119 s_atelier,9,119,0 warp s_atelier0006 1,1,prontera,269,108 s_atelier,31,128,0 warp s_atelier0007 1,1,s_atelier,76,125 s_atelier,76,128,0 warp s_atelier0008 1,1,s_atelier,28,128 +s_atelier,19,79,0 warp s_atelier0009 1,1,lighthalzen,41,58 +lighthalzen,41,52,0 warp s_atelier0010 1,1,s_atelier,18,72 +s_atelier,32,65,0 warp s_atelier0011 1,1,s_atelier,80,59 +s_atelier,80,66,0 warp s_atelier0012 1,1,s_atelier,32,56 +s_atelier,109,129,0 warp s_atelier0013 1,1,s_atelier,159,125 +s_atelier,160,130,0 warp s_atelier0014 1,1,s_atelier,114,129 +yuno,278,66,0 warp s_atelier0015 1,1,s_atelier,111,122 +s_atelier,107,122,0 warp s_atelier0016 1,1,yuno,274,66 \ No newline at end of file diff --git a/sql-files/mob_db.sql b/sql-files/mob_db.sql index 18198056e..961512450 100644 --- a/sql-files/mob_db.sql +++ b/sql-files/mob_db.sql @@ -1198,9 +1198,9 @@ REPLACE INTO `mob_db` VALUES (2072,'JAGUAR','Jaguar','Jaguar',71,3914,0,720,512, REPLACE INTO `mob_db` VALUES (2073,'TOUCAN','Toucan','Toucan',70,3640,0,659,544,1,166,201,3,10,54,14,40,35,44,10,10,12,0,2,44,0x3885,155,1450,960,480,0,0,0,0,0,0,0,917,3000,7053,1000,2612,200,508,100,510,50,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db` VALUES (2074,'CURUPIRA','Curupira','Curupira',68,3096,0,622,450,1,140,175,9,10,32,23,38,20,45,10,10,12,1,6,22,0x118B,250,530,530,384,0,0,0,0,0,0,0,517,3000,7267,500,757,250,1505,100,1011,10,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2075,'E_VADON_X','Vadon','Vadon',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2076,'S_WIND_GHOST','Wind Ghost','Wind Ghost',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2077,'S_SKOGUL','Skogul','Skogul',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2078,'S_SUCCUBUS','Succubus','Succubus',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2076,'S_WIND_GHOST','Shadow of Deception','Shadow of Deception',105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2077,'S_SKOGUL','Shadow of Illusion','Shadow of Illusion',105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2078,'S_SUCCUBUS','Shadow of Pleasure','Shadow of Pleasure',105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2079,'CRYSTAL_H','Crystal','Crystal',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2080,'CRYSTAL_L','Crystal','Crystal',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db` VALUES (2081,'E_HYDRA','Suspicious Hydra','Strange Hydra',34,854,1,0,0,7,1,2,100,100,1,1,1,1,1,1,10,12,0,3,41,0x0,1000,800,432,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); diff --git a/sql-files/mob_db_re.sql b/sql-files/mob_db_re.sql index 4d9c4eb6d..b0454beb4 100644 --- a/sql-files/mob_db_re.sql +++ b/sql-files/mob_db_re.sql @@ -1251,9 +1251,9 @@ REPLACE INTO `mob_db` VALUES (2074,'CURUPIRA','Curupira','Curupira',68,3096,1,62 REPLACE INTO `mob_db` VALUES (2075,'E_VADON_X','Ragunta','Ragunta',150,25000000,0,9999999,9999999,1,7000,10000,500,500,100,100,100,100,100,100,10,12,2,5,88,0x37B5,150,1632,432,540,4999999,0,0,0,0,0,0,960,5000,7095,3000,7093,3000,984,1000,985,500,7444,50,617,10,0,0,0,0,6414,9000); # Additional Monsters -# REPLACE INTO `mob_db` VALUES (2076,'S_WIND_GHOST','Wind Ghost','Wind Ghost',105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2077,'S_SKOGUL','Skogul','Skogul',105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -# REPLACE INTO `mob_db` VALUES (2078,'S_SUCCUBUS','Succubus','Succubus',105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2076,'S_WIND_GHOST','Wind Ghost','Wind Ghost',105,190800,1,0,0,1,462,957,64,51,62,44,25,105,85,20,10,12,1,6,64,0x3795,150,1056,1056,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2077,'S_SKOGUL','Skogul','Skogul',105,244400,1,0,0,1,910,1166,72,15,100,88,63,99,95,37,10,12,1,6,67,0x3395,190,720,384,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); +REPLACE INTO `mob_db` VALUES (2078,'S_SUCCUBUS','Succubus','Succubus',105,206660,1,0,0,1,880,1204,76,48,100,70,45,110,102,85,10,12,1,6,67,0x3795,155,1306,1056,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2079,'CRYSTAL_H','Crystal','Crystal',77,7777777,1,3777777,3777777,0,17777,25554,77,77,1,7,7,77,77,77,0,0,2,0,60,0x120,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); # REPLACE INTO `mob_db` VALUES (2080,'CRYSTAL_L','Crystal','Crystal',7,77,1,7,7,0,7,14,7,7,1,7,7,7,7,77,0,0,2,0,60,0x120,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db` VALUES (2081,'E_HYDRA','Suspicious Hydra','Strange Hydra',34,854,1,0,0,7,1,2,100,100,1,1,1,1,1,1,10,12,0,3,41,0x0,1000,800,432,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); -- cgit v1.2.3-70-g09d2