diff options
Diffstat (limited to 'npc/jobs/2-2/rogue.txt')
-rw-r--r-- | npc/jobs/2-2/rogue.txt | 1984 |
1 files changed, 992 insertions, 992 deletions
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index 2a54aadef..28634fa63 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -1,992 +1,992 @@ -//===== eAthena Script =======================================
-//= Rogue Job Quest
-//===== By: ==================================================
-//= kobra_k88
-//===== Current Version: =====================================
-//= 2.3a
-//===== Compatible With: =====================================
-//= eAthena 1.0 +
-//===== Description: =========================================
-//= Rogue job quest based off of official iRO Rogue quest.
-//= There are some differences from official quest due to
-//= scripting issues. Missing some message text.
-//===== Additional Comments: =================================
-//= 1.1 fixed 3 wrong questions, added missing lines [Lupus]
-//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus]
-//= 1.5 Fixed possible EXP abuse [Lupus]
-//= 1.6 Added a func which prevent advanced classes passing
-//= 2nd Job Quests again. It also guides adv classes where
-//= to go. [Lupus]
-//= 2.0 Changed numbers to constants. [Vicious]
-//= 2.1 Removed Duplicates [Silent]
-//= 2.2 Merged JFunc [Lupus]
-//= 2.3 Added a possibility for players doing Meginjyard quest
-//= to enter Rogue guild as there's a NPC inside [SinSloth]
-//= 2.3a fixed test4 person interaction, let BABY thieves pass
-//= the test, too [Lupus]
-//============================================================
-
-
-//=======================================================================================================//
-// Markie: Test 1 and Jobchange //
-//***********************************************************************************************************************************************************//
-in_rogue.gat,363,123,3 script Markie 747,{
- callfunc "F_BlockHigh",Job_Thief_High,"Thief High",Job_Stalker,"Stalker","Markie";
-
- mes "[Markie]";
- if(BaseJob == Job_Thief) goto L_Thief;
- if(BaseJob == Job_Rogue) goto L_Rogue;
-
-L_JobOther:
- mes "I don't know how you found this place, but I think you better leave..........";
- close;
-
-L_Rogue:
- mes "Nice to see you again sweetie. You must be having so much fun as Rogue huh? Teh he he....";
- close;
-
-L_Thief:
- if(JobLevel < 40){
- mes "Oh hi there. If you want to become a Rogue I'm afraid you'll have to come back after you've trained a little more.";
- mes "Only Thieves with a ^5533FFJob level of at least 40^000000 can become Rogues.";
- close;
- }
- if(ROGUE_Q == 1) goto L_ReTest;
- if(ROGUE_Q == 2) goto L_Test2;
- if(ROGUE_Q == 3) goto L_Test3;
- if(ROGUE_Q == 4) goto L_Test4;
- if(ROGUE_Q == 5) goto L_Change;
- mes "Hmm? What brings you down here? Oh I see now... You want to become a rogue don't you sweetie?";
- next;
- mes "[Markie]";
- mes "Well it's nice to meet you. My name is Markie, what's yours?";
- next;
- mes "[Markie]";
- mes strcharinfo(0) + "..... Te he, you've got a nice name there honey. By the way, how come you decided to become a Rogue?";
- next;
- mes "[Markie]";
- mes "Well since you were honest with me and gave me your real name I guess it doesn't really matter.";
- mes "But for future reference, a Rogue never reveals his/her true identity to anybody.";
- next;
- mes "[Markie]";
- mes "It's a Rogue's number 1 rule shuga, so from now on you'd better be careful about that.";
- mes "By the way, here's an application form..... please fill out all the necessary information.....";
- next;
- mes "(you fill out the form and hand it back)";
- set JBLVL, JobLevel; // used to determine what item to get at the end
- next;
- mes "[Markie]";
- mes "Okay honey.... looks good, I'll accept your application.";
- mes "Now that that's been taken care of, how about I conduct a short interview with you?";
- next;
- mes "[Markie]";
- mes "Oh, you don't have to be nervous about it sweetie.... I'm just want to find out how much you know about Rogues.";
- mes "I do this with all of the Rogue candidates. Shall we begin?";
- next;
- menu "Ok.",L_Test1, "Hold on... I need some time.",-;
-
- mes "[Markie]";
- mes "Okay honey, just take your time. When you're ready come back.";
- close;
-
-
-//=================================================================
-L_Test1:
-//=======
- mes "[Markie]";
- mes "I am going to ask you a few questions. Listen carefully and choose what you think is the best answer okay?";
- next;
-
- savepoint "in_rogue.gat",366,114;
- set @score, 0;
- set ROGUE_Q, 1;
- if(rand(2)) goto L_QSet2;
-
- mes "[Markie]";
- mes "1) What is the added flee rate that a Thief recieves when the ^5533FFImprove Dodge^000000 skill is ^5533FFmastered^000000?";
- next;
- menu "20",sM1_1, "30",-, "40",sM1_1, "160",sM1_1;
-
- set @score, @score + 10;
-
- sM1_1:
-
- mes "[Markie]";
- mes "2) Choose a monster that cannot detect a hidden or cloaked character?";
- next;
- menu "Mummy",sM1_2, "Worm Tail",-, "Argos",sM1_2, "Soldier Skeleton",sM1_2;
-
- set @score, @score + 10;
-
- sM1_2:
-
- mes "[Markie]";
- mes "3) Where is the Rogue guild located?";
- next;
- menu "Comodo",sM1_3, "Kokomo Beach",sM1_3, "Pharos Lightouse",-, "Morroc",sM1_3;
-
- set @score, @score + 10;
-
- sM1_3:
-
- mes "[Markie]";
- mes "4) In which of the following towns, can you become a Thief?";
- next;
- menu "Comodo",sM1_4, "Lutie",sM1_4, "Alberta",sM1_4, "Morroc",-;
-
- set @score, @score + 10;
-
- sM1_4:
-
- mes "[Markie]";
- mes "5) Choose the card that does ^FF3355not^000000 have an effect on a players ^5533FFDEX stat^000000...";
- next;
- menu "Rocker Card",sM1_5, "Mummy Card",-, "Zerom Card",sM1_5, "Drops",sM1_5;
-
- set @score, @score + 10;
-
- sM1_5:
-
- mes "[Markie]";
- mes "6) What do you think is cool about being a Rogue?";
- next;
- menu "Being a bad ass",sM1_6, "Being a hypocrite",sM1_6, "Being shameless",sM1_6, "Having excellent attack strength",-;
-
- set @score, @score + 10;
-
- sM1_6:
-
- mes "[Markie]";
- mes "7) At what job level can you change from a Thief to a Rogue?";
- next;
- menu "At job lvl 30",sM1_7, "At job lvl 35",sM1_7, "At job lvl 40",-, "At job lvl 50",-;
-
- set @score, @score + 10;
-
- sM1_7:
-
- mes "[Markie]";
- mes "8) If you wanted to dye your hair a different color, where would you have to go to do that?";
- next;
- menu "Building in SouthWestern part of Morroc",sM1_8, "Building in SouthWestern part of Prontera",-,
- "Building in SouthEastern part of Morroc",sM1_8, "Building in NorthEastern part of Prontera",sM1_8;
-
- set @score, @score + 10;
-
- sM1_8:
-
- mes "[Markie]";
- mes "9) What mushrooms do you need to steal in order to become a Thief?";
- next;
- menu "Orange Gooey Mushrooms",-, "Red Hairy Mushrooms",sM1_9, "Orange Net Mushrooms",-, "Orange Sticky Mushrooms",sM1_9;
-
- set @score, @score + 10;
-
- sM1_9:
-
- mes "[Markie]";
- mes "10) Which of these cards is ^FF3355useless^000000 to a Rogue?";
- next;
- menu "Whisper Card",sM1_10, "Elder Willow Card",-, "Zerom Card",sM1_10, "Matyr Card",sM1_10;
-
- set @score, @score + 10;
-
- sM1_10:
- goto L_Score;
-
-
- L_QSet2:
- mes "[Markie]";
- mes "1) What skill do you need to learn before you can learn ^5533FFTunnel Drive^000000?";
- next;
- menu "Hiding",-, "Steal",sM2_1, "Improve Dodge",sM2_1, "Bash",sM2_1;
-
- set @score, @score + 10;
-
- sM2_1:
-
- mes "[Markie]";
- mes "2) How much more of a discount can a Rogue get with the ^5533FFHaggel^000000 skill than a merchant can with the ^5533FFDiscount^000000 skill?";
- next;
- menu "3%",sM2_2, "2%",sM2_2, "1%",-, "0%",sM2_2;
-
- set @score, @score + 10;
-
- sM2_2:
-
- mes "[Markie]";
- mes "3) What is the correct description for the skill ^5533FFMug^000000?";
- next;
- menu "Steal Items from players",sM2_3, "Steal Items from monsters",sM2_3, "Steal Zeny from monsters",-, "Steal Zeny from players",sM2_3;
-
- set @score, @score + 10;
-
- sM2_3:
-
- mes "[Markie]";
- mes "4) How many Rogues are required to activate the skill ^5533FFGangster's Paradise^000000?";
- next;
- menu "1 Rogue + 2 Assassins",sM2_4, "2 Rogues + 1 Thief",sM2_4, "4 Thieves",sM2_4, "2 or more Rogues",-;
-
- set @score, @score + 10;
-
- sM2_4:
-
- mes "[Markie]";
- mes "5) After increasing ^5533FFDivest Helm^000000 to level 5, what other skill becomes available for you learn?";
- next;
- menu "Envenom",sM2_5, "Strip Tease",sM2_5, "Venom Splasher",sM2_5, "Divest Shield",-;
-
- set @score, @score + 10;
-
- sM2_5:
-
- mes "[Markie]";
- mes "6) Choose a skill that allows its user to move while being hidden?";
- next;
- menu "Hiding",sM2_6, "Back Slide",sM2_6, "Tunnel Drive",-, "Sand Attack",sM2_6;
-
- set @score, @score + 10;
-
- sM2_6:
-
- mes "[Markie]";
- mes "7) Choose the card that increases the ^5533FFaccuracy rate^000000 of its owner?";
- next;
- menu "Andre",sM2_7, "Familiar",sM2_7, "Mummy",-, "Marina",sM2_7;
-
- set @score, @score + 10;
-
- sM2_7:
-
- mes "[Markie]";
- mes "8) Choose the monster that receives more damage when attacked by a weapon with a Vadon card attached to it?";
- mes "(Vadon card inflicts 20% more damage to fire property monsters)";
- next;
- menu "Vadon",sM2_8, "Deviruchi",sM2_8, "Elder Willow",-, "Baphomet",sM2_8;
-
- set @score, @score + 10;
-
- sM2_8:
-
- mes "[Markie]";
- mes "9) How much SP does the ^5533FFDouble Attack^000000 skill require when used with a dagger?";
- next;
- menu "15 SP",sM2_9, "No SP needed",-, "10 SP",sM2_9, "54 SP",sM2_9;
-
- set @score, @score + 10;
-
- sM2_9:
-
- mes "[Markie]";
- mes "10) Choose an effective dagger to use in the Byalan Dungeon?";
- next;
- menu "Wind Main-Gauche",-, "Ice Main-Gauche",sM2_10, "Earth Main-Gauche",sM2_10, "Fire Main-Gauche",sM2_10;
-
- set @score, @score + 10;
-
- sM2_10:
-
-
- L_Score:
- mes "[Markie]";
- mes "Okay, those are all of the questions I have. Now that wasn't so bad was it sweetie?";
- mes "I hope you don't mind, but I've been grading your answers.";
- next;
- mes "[Markie]";
- mes "I like to give people scores on their interviews so that they can know how well they did.";
- mes "It looks like you got a ^FF3355" + @score +"^000000/100............";
- next;
- mes "[Markie]";
-
- if(@score< 90) goto sL_Failed;
- if(@score<100) goto sL_Passed;
-
- sL_Perfect:
- mes "A perfect score! I knew you had what it takes to be a Rogue.....";
- mes "But don't get ahead of yourself honey cause there is still plenty more.....";
- next;
- mes "[Markie]";
- set ROGUE_Q, 2;
- goto L_Test2;
-
- sL_Passed:
- mes "Good, good. You did a good job shuga. But there is still more so don't get excited just yet.....";
- next;
- mes "[Markie]";
- set ROGUE_Q, 2;
- goto L_Test2;
- return;
-
- sL_Failed:
- mes "*sigh*..... this is not the type of score I was expecting......";
- mes "What can I say excecpt, with a score like this you're definitely not cut out to be a Rogue..........";
- emotion e_swt;
- next;
- mes "[Markie]";
- mes "Why don't you go do some more training shuga..... you need it..... *mumbles ( what a waste of my time...)*";
- close;
-
-L_ReTest:
- mes "You again? Are you sure you're ready this time?...... Okay honey, just relax....";
- next;
- goto L_Test1;
-
-L_Test2:
- mes "Your second test will be given by ^5533FFMr. Smith^000000.";
- mes "I have to warn you though, Mr. Smith can be difficult and hard to please. So be careful how you act around him.";
- close;
-L_Test3:
- mes "I know those guys are hard to find. Just be patient and keep on searching. Make sure you have the correct password as well..";
- close;
-L_Test4:
- mes "What are you doing here? I hope your not trying to skip the last test?.........";
- emotion e_what;
- next;
- mes "[Markie]";
- mes "Your almost finished so just keep trying. I know you can do it.";
- close;
-
-
-//=======================================================================
-L_Change:
-//===========
- mes "Oh, you're back and your in one piece! It looks like you've passed all of the tests sweetie.";
- mes "You have proven that you are ready to become a Rogue!";
- emotion e_ic;
- next;
- if(SkillPoint != 0) goto L_SkillP;
- mes "[Markie]";
- mes "Tada! Congratulations on becoming a Rogue. You showed a lot of effort and deserve a reward for it......";
- setlook 7,0;
- callfunc "Job_Change",Job_Rogue;
- emotion e_grat;
- next;
- mes "[Markie]";
- mes "Now that you are a Rogue you are free to go where ever you want to and do what ever you want.";
- if(JBLVL != 50) {
- getitem 1219,1; // 2 slott gladius
- } else {
- getitem 1220,1; // 3 slott gladius
- }
- callfunc "F_ClearJobVar";
- next;
- mes "[Markie]";
- mes "Just keep in mind that freedom requires responsibility. Treat people the way you expect to be treated.";
- next;
- mes "[Markie]";
- mes "Have fun shuga! See ya around!";
- close;
-
-//=======================================================================
-L_SkillP:
-//===========
- mes "[Markie]";
- mes "Oh but one thing honey... you have leftover skill points!";
- mes "Finish them first and come back, 'kay?";
- close;
-}
-
-
-
-//=======================================================================================================//
-// Mr. Smith: Tests 2 and 3 //
-//***********************************************************************************************************************************************************//
-in_rogue.gat,376,23,3 script Mr. Smith 57,{
-
- mes "[Mr. Smith]";
- if(BaseJob == Job_Thief) goto L_Thief;
- if(BaseJob == Job_Rogue) goto L_Rogue;
-
-L_OtherJob:
- mes "Go away! I'm busy.....";
- close;
-L_Rogue:
- mes "Looking good there my Rogue friend";
- close;
-L_Thief:
- if(ROGUE_Q == 2) goto L_Test2;
- if(ROGUE_Q == 3) goto L_Test3;
- if(ROGUE_Q > 3) goto L_Done;
- mes "Ok ok.... one... two.... three.... Where do you do you business... is it.... Morroc... Geffen.... Comodo??.......";
- next;
- mes "[Mr. Smith]";
- mes "Uhh..... this is giving me a headache.......";
- next;
- mes "[Mr. Smith]";
- mes "Huh? Who are you? If you want to become a rogue go talk to ^5533FFMarkie^000000....";
- next;
- mes "[Mr. Smith]";
- mes "...... CRAP! I forgot what I was counting!!";
- emotion e_wah;
- close;
-
-//----------------------------------------------------------------------------------------------------
-L_Test2:
-//--------------
- if(ROGUE_Q2 > 0) goto L_Check2;
- mes "So you're here to take the second test.... good.......";
- next;
- mes "[Mr. Smith]";
- mes "Before we get started, let me tell you about the test application fee.";
- mes "Our guild is involved in alot of business *cough* 'transactions' *cough* and therefore we are in constant needs of funds.";
- next;
- mes "[Mr. Smith]";
- mes "This is why we require a fee of ^5533FF10,000 zeny^000000 to be paid when taking the Rogue tests.";
- mes "The fee will be collected when you have completed this second test so don't have to worry if you don't have it now.";
- next;
- mes "[Mr. Smith]";
- mes "Now for your test..... You will be required to collect the following items:";
- next;
- mes "[Mr. Smith]";
- set ROGUE_Q2, rand(1,3);
- if(ROGUE_Q2 == 1) callsub sF2_R1;
- if(ROGUE_Q2 == 2) callsub sF2_R2;
- if(ROGUE_Q2 == 3) callsub sF2_R3;
- next;
- mes "[Mr. Smith]";
- mes "Once you have ALL of these items and 10,000 zeny, come back and see me okay? Good.";
- close;
-
- sF2_R1:
- mes "^5533FF6 Blue Herbs,";
- mes "10 Skel Bones,";
- mes "10 Decayed Nails,";
- mes "10 Horrendous Mouths^000000.";
- return;
- sF2_R2:
- mes "^5533FF10 Green Herbs,";
- mes "10 Garlets,";
- mes "10 Snake Scales";
- mes "10 Crab Shells.^000000";
- return;
- sF2_R3:
- mes "^5533FF10 Yellow Herbs,";
- mes "10 Bear's Footskin,";
- mes "10 Shells";
- mes "10 Grasshopper's Legs^000000.";
- return;
-
-L_Check2:
- set @count, 0;
- if(ROGUE_Q2 == 2) goto L_2;
- if(ROGUE_Q2 == 3) goto L_3;
-
- L_1:
- set @R, 1;
- if(countitem(510)<6 || countitem(932)<10 || countitem(957)<10 || countitem(958)<10 || Zeny < 10000) goto L_NotEnuf;
- delitem 510,6;
- delitem 932,10;
- delitem 957,10;
- delitem 958,10;
- goto L_Done2;
-
- L_2:
- set @R, 2;
- if(countitem(511)<10 || countitem(910)<10 || countitem(926)<10 || countitem(964)<10 || Zeny < 10000) goto L_NotEnuf;
- delitem 511,10;
- delitem 910,10;
- delitem 926,10;
- delitem 964,10;
- goto L_Done2;
-
- L_3:
- set @R, 3;
- if(countitem(508)<10 || countitem(948)<10 || countitem(935)<10 || countitem(940)<10 || Zeny < 10000) goto L_NotEnuf;
- delitem 508,10;
- delitem 948,10;
- delitem 935,10;
- delitem 940,10;
-
- L_Done2:
- mes "Let's see here.... application fee.... check..... items....... check...... Alright, everything looks in order. You've passed the second test.";
- next;
- mes "[Mr. Smith]";
- mes "When you are ready to take the next test let me know.";
- set Zeny, Zeny - 10000;
- set ROGUE_Q, 3;
- set ROGUE_Q2, 0;
- close;
-
- L_NotEnuf:
- mes ".... What the f@&#!?!? You don't have all of the items? Then why did you come back?? Don't tell me you forgot what to get.....";
- emotion e_what;
- next;
- mes "[Mr. Smith]";
- mes "Write this down! You need ^5533FF10,000^000000 zeny and:";
- if(ROGUE_Q2 == 1) callsub sF2_R1;
- if(ROGUE_Q2 == 2) callsub sF2_R2;
- if(ROGUE_Q2 == 3) callsub sF2_R3;
- next;
- mes "[Mr. Smith]";
- mes "Got it? DON'T come back until you have everything.........";
- emotion e_pif;
- close;
-
-
-//----------------------------------------------------------------------------------------------
-L_Test3:
-//---------------
- if(ROGUE_Q2 > 0) goto L_Check3;
- mes "Let me see..... Who should I have you go find........ hmm.........";
- emotion e_hmm;
- next;
- mes "[Mr. Smith]";
- mes "Ah I know! Alright, in the previous test I had you go find some items. For this test you will need to find a specific person.";
- emotion e_ic;
- next;
- mes "[Mr. Smith]";
- set ROGUE_Q2, rand(1,3);
- if(ROGUE_Q2 == 1) callsub sF3_R1;
- if(ROGUE_Q2 == 2) callsub sF3_R2;
- if(ROGUE_Q2 == 3) callsub sF3_R3;
- next;
- mes "[Mr. Smith]";
- mes "Good luck to you. Try to finish this test as soon as possible. Getting things done quickly is one of a Rogue's traits.";
- close;
-
- sF3_R1:
- mes "You will have to go and find ^5533FFAragham Junior^000000.";
- next;
- mes "[Mr. Smith]";
- mes "He lives in a little house somewhere ^5533FFSouthWest^000000 of the Fortress of Sandarman.";
- mes "That area is located ^5533FFone map East^000000 from here and is on the ^000000SouthWestern land mass^000000.";
- next;
- mes "[Mr. Smith]";
- mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
- mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
- next;
- mes "[Mr. Smith]";
- mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
- mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
- next;
- mes "[Mr. Smith]";
- mes "That's why you will need this password in order to talk to him.";
- mes "The password is: '^5533FFAragham never hoarded upgrade items.^000000'";
- return;
- sF3_R2:
- mes "You will have to go and find ^5533FFHollgrehen Junior^000000.";
- next;
- mes "[Mr. Smith]";
- mes "He lives in a little house somewhere ^5533FFSouthEast^000000 of the Fortress of Sandarman.";
- mes "That area is located ^5533FFone map East^000000 from here and is on the ^5533FFEastern land mass^000000.";
- next;
- mes "[Mr. Smith]";
- mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
- mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
- next;
- mes "[Mr. Smith]";
- mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
- mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
- next;
- mes "[Mr. Smith]";
- mes "That's why you will need this password in order to talk to him.";
- mes "The password is: '^5533FFMy Father never hoarded upgrade items.^000000'";
- return;
- sF3_R3:
- mes "You will have to go and find ^5533FFAntonio Junior.^000000.";
- next;
- mes "[Mr. Smith]";
- mes "He lives in a little hut somewhere on the ^5533FFEastern end of Kokomo Beach^000000.";
- mes "That area is located ^5533FF1 map North, and 1 map West^000000 from here.";
- next;
- mes "[Mr. Smith]";
- mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
- mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
- next;
- mes "[Mr. Smith]";
- mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
- mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
- next;
- mes "[Mr. Smith]";
- mes "That's why you will need this password in order to talk to him.";
- mes "The password is: '^5533FFAntonio doesn't like breaking refining material.^000000'";
- return;
-
-
-L_Check3:
- mes "What!?! Did you just say you forgot where to go?........";
- emotion e_what;
- next;
- mes "[Mr. Smith]";
- mes "GRRRR!!! That's why you need to WRITE down important things! Geez......";
- emotion e_an;
- next;
- mes "[Mr. Smith]";
- if(ROGUE_Q2 == 1) callsub sF3_R1;
- if(ROGUE_Q2 == 2) callsub sF3_R2;
- if(ROGUE_Q2 == 3) callsub sF3_R3;
- close;
-
-//-------------------------------------------------------------------------------------------------
-L_Done:
-//----------------
- mes "I have no more busisness with you.........";
- close;
-}
-
-
-//===========================================================
-// Guildsman that need to be found
-//===========================================================
-
-//------------------------------------------------------------------------------
-in_rogue.gat,272,136,3 script Hermanthorn Jr. 85,{
- mes "[Hermanthorn Jr.]";
- mes "Huh? Wha.... who are you?! You're not from the Rogue guild!! Get out of here!";
- emotion e_what;
- next;
- mes "[Hermanthorn Jr.]";
- mes "You're..... I see! You're one of them!!! You've come here to kill me haven't you??!! No... NO!! I'm not ready to die yet!";
- emotion e_gasp;
- next;
- mes "[Hermanthorn Jr.]";
- mes "Aaaaaaaaaaaaaahhhh!! Go away! Get lost! Otherwise I am gonna KILL YOU!!!";
- emotion e_wah;
- close;
-}
-
-// --------------------------------------------------------------------------
-cmd_fild09.gat,106,195,0 script Aragham Junior#01 45,1,1,{
- callfunc "F_RogueTest3", 1, "Aragham", "never", "hoarded", "upgrade items.", 244, 24;
-}
-
-// -----------------------------------------------------------------------------
-cmd_fild09.gat,335,143,0 script Hollgrehen Junior#01 45,1,1,{
- callfunc "F_RogueTest3", 2, "My father", "never", "hoarded", "upgrade items.", 168, 34;
-}
-
-// ------------------------------------------------------------------------------
-cmd_fild04.gat,304,179,0 script Antonio Junior#01 45,1,1,{
- callfunc "F_RogueTest3", 3, "Antonio", "doesn't like", "breaking", "refining materials.", 165, 104;
-}
-
-// Function for Guildsman ===================================
-function script F_RogueTest3 {
-
- mes "[???]";
- mes "Who's there?!!!";
- mes "Who dares to trespass on my territory?";
- if(god_megin_2 > 0 && getarg(1) == "Aragham") goto L_Pass;
- if(BaseJob != Job_Thief || ROGUE_Q<3 || ROGUE_Q2==0) close;
-L_Pass:
- deletearray @choice$[1], 4;
- next;
- menu "My father",M_1a, "Aragham",M_1b, "Antonio",M_1c, "Legolas",M_1d;
-
- M_1a:
- set @choice$[1], "My father";
- goto M_Menu2;
- M_1b:
- set @choice$[1], "Aragham";
- goto M_Menu2;
- M_1c:
- set @choice$[1], "Antonio";
- goto M_Menu2;
- M_1d:
- set @choice$[1], "Legolas";
-
- M_Menu2:
- callsub sF_Password;
- menu "did not",M_2a, "doesn't like",M_2b, "never",M_2c, "ever",M_2d;
-
- M_2a:
- set @choice$[2], "did not";
- goto M_Menu3;
- M_2b:
- set @choice$[2], "doesn't like";
- goto M_Menu3;
- M_2c:
- set @choice$[2], "never";
- goto M_Menu3;
- M_2d:
- set @choice$[2], "ever";
-
- M_Menu3:
- callsub sF_Password;
- menu "hoard",M_3a, "hoarded",M_3b, "hide",M_3c, "took",M_3d, "breaking",M_3e;
-
- M_3a:
- set @choice$[3], "hoard";
- goto M_Menu4;
- M_3b:
- set @choice$[3], "hoarded";
- goto M_Menu4;
- M_3c:
- set @choice$[3], "hide";
- goto M_Menu4;
- M_3d:
- set @choice$[3], "took";
- goto M_Menu4;
- M_3e:
- set @choice$[3], "breaking";
-
- M_Menu4:
- callsub sF_Password;
- menu "upgrade items.",M_4a, "forging items.",M_4b, "refining materials.",M_4c, "upgrade equipment.",M_4d;
-
- M_4a:
- set @choice$[4], "upgrade items.";
- goto L_Check;
- M_4b:
- set @choice$[4], "forging items.";
- goto L_Check;
- M_4c:
- set @choice$[4], "refining materials.";
- goto L_Check;
- M_4d:
- set @choice$[4], "upgrade equipment.";
-
-L_Check:
- callsub sF_Password;
- if(god_megin_2 > 0) goto L_Enter;
- if(ROGUE_Q2 != getarg(0)) goto L_Wrong;
-L_Enter:
- if((@choice$[1] != getarg(1)) || (@choice$[2] != getarg(2)) || (@choice$[3] != getarg(3)) || (@choice$[4] != getarg(4))) goto L_Wrong;
- mes "~ creeek ~";
- mes "You hear the door begining to open........";
- next;
- deletearray @choice$[1], 4;
- warp "in_rogue.gat", getarg(5), getarg(6);
- end;
-
- L_Wrong:
- mes "[???]";
- mes "Get lost!!";
- close;
-sF_Password:
- mes "[^5533FF" + strcharinfo(0) + "^000000]";
- mes @choice$[1];
- mes @choice$[2];
- mes @choice$[3];
- mes @choice$[4];
- next;
- return;
-}
-
-
-//=======================================================================================================//
-// Test 4: Last Test //
-//***********************************************************************************************************************************************************//
-// Other path
-// warp "in_rogue.gat", 11, 388;
-// 390,389 end warp
-// 9,9 -> 9,21
-//===============================================
-// Guildsman
-//===============================================
-//---------------------------------------------------------------------------
-in_rogue.gat,244,39,4 script Aragham Junior#02 99,{
- callfunc "F_RogueTest4", 1, "Aragham Junior", 245, 27;
-}
-//---------------------------------------------------------------------------
-in_rogue.gat,152,27,6 script Hollgrehen Junior#02 85,{
- callfunc "F_RogueTest4", 2, "Hollgrehen Junior", 160, 32;
-}
-//---------------------------------------------------------------------------
-in_rogue.gat,183,105,4 script Antonio Junior#02 88,{
- callfunc "F_RogueTest4", 3, "Antonio Junior", 175, 107;
-}
-
-// Function for Guildsman =============================
-function script F_RogueTest4 {
-
- if(BaseJob != Job_Thief || ROGUE_Q2 != getarg(0)) goto L_NoThief;
- if(ROGUE_Q == 4) goto L_Restart;
- mes "[" + getarg(1) + "]";
- mes "Hello there... You must be from the Rogue guild. My name is " + getarg(1) + "...... I am the Rogue of the Desert..............";
- next;
- mes "[" + getarg(1) + "]";
- mes "Aww who am I kidding...... Let's cut the crap. So are you ready to become a rogue?";
- emotion e_swt;
- next;
- mes "[" + getarg(1) + "]";
- mes "You see, the Rogue motto is...... ^5533FF'Avoid the strong! Be malicious to the weak!'^000000";
- mes "This simple rule applys to fighting monsters as well.";
- next;
- mes "[" + getarg(1) + "]";
- mes "The very last thing you will have to do before you can become a Rogue, is to walk through an underground passage to the Rogue Guild.";
- next;
- mes "[" + getarg(1) + "]";
- mes "Sounds easy huh? Well it's not! But don't worry....";
- mes "If you stay true to the Rogue motto and use a lot of hide, and do a lot of running, you should be just fine.";
-
- M_Menu:
- next;
- mes "[" + getarg(1) + "]";
- mes "Ok, are you ready to go?";
- next;
- menu "As ready as I'll ever be.",-, "Actually I'm kinda scared...",M_End;
-
- mes "[" + getarg(1) + "]";
- mes "Good luck then.";
- next;
- set ROGUE_Q, 4;
- killmonsterall "in_rogue.gat";
- savepoint "in_rogue.gat", getarg(2), getarg(3);
- warp "in_rogue.gat", 15, 105;
- end;
-
- M_End:
- mes "[" + getarg(1) + "]";
- mes ".....................";
- next;
- mes "[" + getarg(1) + "]";
- mes "Well take your time then...... I guess.......";
- close;
-
-L_Restart:
- mes "[" + getarg(1) + "]";
- mes "....... Looks like you got creamed.......";
- emotion e_swt;
- next;
- mes "[" + getarg(1) + "]";
- mes "If you're up for it, I'll send you back in. Failure has a way of teaching success.... yada yada yada....";
- percentheal 100,100;
- goto M_Menu;
-
-L_NoThief:
- mes "[" + getarg(1) +"]";
- mes "I don't know how you got the";
- if(ROGUE_Q2)
- {
- mes "pass, but I am not the one";
- mes "in charge of your test.";
- }
- else
- {
- mes "pass, but looking at your face,";
- mes "I guess you're not here for the";
- mes "Rogue test.";
- }
- next;
- mes "[" + getarg(1) +"]";
- mes "Please hurry up and leave";
- mes "this place as soon as you can!";
- close;
-}
-
-//================================================
-// Monster Spawns
-//================================================
-in_rogue.gat,15,185,0 script rogue_mob1 139,8,0,{
- monster "in_rogue.gat",14,188,"Zombie",1015,1;
- monster "in_rogue.gat",15,188,"Zombie",1015,1;
- monster "in_rogue.gat",16,188,"Zombie",1015,1;
- monster "in_rogue.gat",14,189,"Zombie",1015,1;
- monster "in_rogue.gat",15,189,"Zombie",1015,1;
- monster "in_rogue.gat",16,189,"Zombie",1015,1;
- end;
-}
-in_rogue.gat,15,245,0 script rogue_mob2 139,8,0,{
- monster "in_rogue.gat",14,247,"Mummy",1041,1;
- monster "in_rogue.gat",15,247,"Mummy",1041,1;
- monster "in_rogue.gat",16,247,"Mummy",1041,1;
- monster "in_rogue.gat",14,248,"Mummy",1041,1;
- monster "in_rogue.gat",15,248,"Mummy",1041,1;
- monster "in_rogue.gat",16,248,"Mummy",1041,1;
- end;
-}
-in_rogue.gat,15,328,0 script rogue_mob3 139,8,0,{
- monster "in_rogue.gat",14,331,"Zombie",1015,1;
- monster "in_rogue.gat",15,331,"Zombie",1015,1;
- monster "in_rogue.gat",16,331,"Zombie",1015,1;
- monster "in_rogue.gat",14,332,"Zombie",1015,1;
- monster "in_rogue.gat",15,332,"Zombie",1015,1;
- monster "in_rogue.gat",16,332,"Zombie",1015,1;
- end;
-}
-in_rogue.gat,35,342,0 script rogue_mob4 139,0,8,{
- monster "in_rogue.gat",38,340,"Mummy",1041,1;
- monster "in_rogue.gat",37,342,"Abyss Knight",1219,1;
- monster "in_rogue.gat",39,342,"Ghoul",1036,1;
- monster "in_rogue.gat",38,344,"Mummy",1041,1;
- end;
-}
-in_rogue.gat,57,306,0 script rogue_mob5 139,4,0,{
- monster "in_rogue.gat",59,301,"Khalitzburg",1132,1;
- end;
-}
-in_rogue.gat,96,333,0 script rogue_mob6 139,0,4,{
- monster "in_rogue.gat",92,325,"Khalitzburg",1132,1;
- end;
-}
-in_rogue.gat,139,313,0 script rogue_mob7 139,4,0,{
- monster "in_rogue.gat",139,309,"Abyss Knight",1219,1;
- end;
-}
-in_rogue.gat,135,246,0 script rogue_mob8 139,0,4,{
- monster "in_rogue.gat",139,245,"Zombie",1015,2;
- monster "in_rogue.gat",139,246,"Zombie",1015,2;
- monster "in_rogue.gat",139,247,"Zombie",1015,2;
- end;
-}
-in_rogue.gat,62,302,0 script rogue_mob9 139,0,4,{
- monster "in_rogue.gat",57,305,"Khalitzburg",1132,1;
- end;
-}
-in_rogue.gat,199,218,0 script rogue_mob10 139,0,8,{
- monster "in_rogue.gat",157,218,"Zombie",1015,10;
- monster "in_rogue.gat",157,218,"Abyss Knight",1219,1;
- monster "in_rogue.gat",157,218,"Ghoul",1036,1;
- monster "in_rogue.gat",157,218,"Archer Skeleton",1016,1;
- end;
-}
-in_rogue.gat,86,187,0 script rogue_mob11 139,0,8,{
- monster "in_rogue.gat",88,186,"Mummy",1041,1;
- monster "in_rogue.gat",88,187,"Mummy",1041,1;
- monster "in_rogue.gat",88,188,"Mummy",1041,1;
- end;
-}
-in_rogue.gat,225,187,0 script rogue_mob12 139,0,8,{
- monster "in_rogue.gat",232,191,"Abyss Knight",1219,1;
- monster "in_rogue.gat",233,190,"Abyss Knight",1219,1;
- monster "in_rogue.gat",234,189,"Abyss Knight",1219,1;
- end;
-}
-in_rogue.gat,252,320,0 script rogue_mob13 139,0,8,{
- monster "in_rogue.gat",252,319,"Mummy",1041,1;
- monster "in_rogue.gat",252,321,"Mummy",1041,1;
- monster "in_rogue.gat",252,319,"Ghoul",1036,1;
- monster "in_rogue.gat",252,321,"Ghoul",1036,1;
- monster "in_rogue.gat",257,320,"Archer Skeleton",1016,1;
- monster "in_rogue.gat",248,320,"Archer Skeleton",1016,1;
- end;
-}
-
-//================================================
-// End Warp
-//================================================
-in_rogue.gat,370,320,0 script rogue04 45,1,1,{
- set ROGUE_Q, 5;
- killmonsterall "in_rogue.gat";
- warp "in_rogue.gat",378,113;
- end;
-}
-
-//================================================
-// Timer: Keeps monsters from overspawning
-//================================================
-- script RogueTest3 -1,{
- end;
-
-OnMinute10:
-OnMinute20:
-OnMinute30:
-OnMinute40:
-OnMinute50:
-OnMinute60:
- killmonsterall "in_rogue.gat";
- end;
-}
-
-//==============================================================================
-// mapflag
-//==============================================================================
-in_rogue.gat mapflag nomemo
-in_rogue.gat mapflag noteleport
-in_rogue.gat mapflag nosave SavePoint
-in_rogue.gat mapflag nopenalty
-in_rogue.gat mapflag nobranch
-in_rogue.gat mapflag noexp
-in_rogue.gat mapflag noloot
+//===== eAthena Script ======================================= +//= Rogue Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 2.3a +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= Rogue job quest based off of official iRO Rogue quest. +//= There are some differences from official quest due to +//= scripting issues. Missing some message text. +//===== Additional Comments: ================================= +//= 1.1 fixed 3 wrong questions, added missing lines [Lupus] +//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus] +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged JFunc [Lupus] +//= 2.3 Added a possibility for players doing Meginjyard quest +//= to enter Rogue guild as there's a NPC inside [SinSloth] +//= 2.3a fixed test4 person interaction, let BABY thieves pass +//= the test, too [Lupus] +//============================================================ + + +//=======================================================================================================// +// Markie: Test 1 and Jobchange // +//***********************************************************************************************************************************************************// +in_rogue.gat,363,123,3 script Markie 747,{ + callfunc "F_BlockHigh",Job_Thief_High,"Thief High",Job_Stalker,"Stalker","Markie"; + + mes "[Markie]"; + if(BaseJob == Job_Thief) goto L_Thief; + if(BaseJob == Job_Rogue) goto L_Rogue; + +L_JobOther: + mes "I don't know how you found this place, but I think you better leave.........."; + close; + +L_Rogue: + mes "Nice to see you again sweetie. You must be having so much fun as Rogue huh? Teh he he...."; + close; + +L_Thief: + if(JobLevel < 40){ + mes "Oh hi there. If you want to become a Rogue I'm afraid you'll have to come back after you've trained a little more."; + mes "Only Thieves with a ^5533FFJob level of at least 40^000000 can become Rogues."; + close; + } + if(ROGUE_Q == 1) goto L_ReTest; + if(ROGUE_Q == 2) goto L_Test2; + if(ROGUE_Q == 3) goto L_Test3; + if(ROGUE_Q == 4) goto L_Test4; + if(ROGUE_Q == 5) goto L_Change; + mes "Hmm? What brings you down here? Oh I see now... You want to become a rogue don't you sweetie?"; + next; + mes "[Markie]"; + mes "Well it's nice to meet you. My name is Markie, what's yours?"; + next; + mes "[Markie]"; + mes strcharinfo(0) + "..... Te he, you've got a nice name there honey. By the way, how come you decided to become a Rogue?"; + next; + mes "[Markie]"; + mes "Well since you were honest with me and gave me your real name I guess it doesn't really matter."; + mes "But for future reference, a Rogue never reveals his/her true identity to anybody."; + next; + mes "[Markie]"; + mes "It's a Rogue's number 1 rule shuga, so from now on you'd better be careful about that."; + mes "By the way, here's an application form..... please fill out all the necessary information....."; + next; + mes "(you fill out the form and hand it back)"; + set JBLVL, JobLevel; // used to determine what item to get at the end + next; + mes "[Markie]"; + mes "Okay honey.... looks good, I'll accept your application."; + mes "Now that that's been taken care of, how about I conduct a short interview with you?"; + next; + mes "[Markie]"; + mes "Oh, you don't have to be nervous about it sweetie.... I'm just want to find out how much you know about Rogues."; + mes "I do this with all of the Rogue candidates. Shall we begin?"; + next; + menu "Ok.",L_Test1, "Hold on... I need some time.",-; + + mes "[Markie]"; + mes "Okay honey, just take your time. When you're ready come back."; + close; + + +//================================================================= +L_Test1: +//======= + mes "[Markie]"; + mes "I am going to ask you a few questions. Listen carefully and choose what you think is the best answer okay?"; + next; + + savepoint "in_rogue.gat",366,114; + set @score, 0; + set ROGUE_Q, 1; + if(rand(2)) goto L_QSet2; + + mes "[Markie]"; + mes "1) What is the added flee rate that a Thief recieves when the ^5533FFImprove Dodge^000000 skill is ^5533FFmastered^000000?"; + next; + menu "20",sM1_1, "30",-, "40",sM1_1, "160",sM1_1; + + set @score, @score + 10; + + sM1_1: + + mes "[Markie]"; + mes "2) Choose a monster that cannot detect a hidden or cloaked character?"; + next; + menu "Mummy",sM1_2, "Worm Tail",-, "Argos",sM1_2, "Soldier Skeleton",sM1_2; + + set @score, @score + 10; + + sM1_2: + + mes "[Markie]"; + mes "3) Where is the Rogue guild located?"; + next; + menu "Comodo",sM1_3, "Kokomo Beach",sM1_3, "Pharos Lightouse",-, "Morroc",sM1_3; + + set @score, @score + 10; + + sM1_3: + + mes "[Markie]"; + mes "4) In which of the following towns, can you become a Thief?"; + next; + menu "Comodo",sM1_4, "Lutie",sM1_4, "Alberta",sM1_4, "Morroc",-; + + set @score, @score + 10; + + sM1_4: + + mes "[Markie]"; + mes "5) Choose the card that does ^FF3355not^000000 have an effect on a players ^5533FFDEX stat^000000..."; + next; + menu "Rocker Card",sM1_5, "Mummy Card",-, "Zerom Card",sM1_5, "Drops",sM1_5; + + set @score, @score + 10; + + sM1_5: + + mes "[Markie]"; + mes "6) What do you think is cool about being a Rogue?"; + next; + menu "Being a bad ass",sM1_6, "Being a hypocrite",sM1_6, "Being shameless",sM1_6, "Having excellent attack strength",-; + + set @score, @score + 10; + + sM1_6: + + mes "[Markie]"; + mes "7) At what job level can you change from a Thief to a Rogue?"; + next; + menu "At job lvl 30",sM1_7, "At job lvl 35",sM1_7, "At job lvl 40",-, "At job lvl 50",-; + + set @score, @score + 10; + + sM1_7: + + mes "[Markie]"; + mes "8) If you wanted to dye your hair a different color, where would you have to go to do that?"; + next; + menu "Building in SouthWestern part of Morroc",sM1_8, "Building in SouthWestern part of Prontera",-, + "Building in SouthEastern part of Morroc",sM1_8, "Building in NorthEastern part of Prontera",sM1_8; + + set @score, @score + 10; + + sM1_8: + + mes "[Markie]"; + mes "9) What mushrooms do you need to steal in order to become a Thief?"; + next; + menu "Orange Gooey Mushrooms",-, "Red Hairy Mushrooms",sM1_9, "Orange Net Mushrooms",-, "Orange Sticky Mushrooms",sM1_9; + + set @score, @score + 10; + + sM1_9: + + mes "[Markie]"; + mes "10) Which of these cards is ^FF3355useless^000000 to a Rogue?"; + next; + menu "Whisper Card",sM1_10, "Elder Willow Card",-, "Zerom Card",sM1_10, "Matyr Card",sM1_10; + + set @score, @score + 10; + + sM1_10: + goto L_Score; + + + L_QSet2: + mes "[Markie]"; + mes "1) What skill do you need to learn before you can learn ^5533FFTunnel Drive^000000?"; + next; + menu "Hiding",-, "Steal",sM2_1, "Improve Dodge",sM2_1, "Bash",sM2_1; + + set @score, @score + 10; + + sM2_1: + + mes "[Markie]"; + mes "2) How much more of a discount can a Rogue get with the ^5533FFHaggel^000000 skill than a merchant can with the ^5533FFDiscount^000000 skill?"; + next; + menu "3%",sM2_2, "2%",sM2_2, "1%",-, "0%",sM2_2; + + set @score, @score + 10; + + sM2_2: + + mes "[Markie]"; + mes "3) What is the correct description for the skill ^5533FFMug^000000?"; + next; + menu "Steal Items from players",sM2_3, "Steal Items from monsters",sM2_3, "Steal Zeny from monsters",-, "Steal Zeny from players",sM2_3; + + set @score, @score + 10; + + sM2_3: + + mes "[Markie]"; + mes "4) How many Rogues are required to activate the skill ^5533FFGangster's Paradise^000000?"; + next; + menu "1 Rogue + 2 Assassins",sM2_4, "2 Rogues + 1 Thief",sM2_4, "4 Thieves",sM2_4, "2 or more Rogues",-; + + set @score, @score + 10; + + sM2_4: + + mes "[Markie]"; + mes "5) After increasing ^5533FFDivest Helm^000000 to level 5, what other skill becomes available for you learn?"; + next; + menu "Envenom",sM2_5, "Strip Tease",sM2_5, "Venom Splasher",sM2_5, "Divest Shield",-; + + set @score, @score + 10; + + sM2_5: + + mes "[Markie]"; + mes "6) Choose a skill that allows its user to move while being hidden?"; + next; + menu "Hiding",sM2_6, "Back Slide",sM2_6, "Tunnel Drive",-, "Sand Attack",sM2_6; + + set @score, @score + 10; + + sM2_6: + + mes "[Markie]"; + mes "7) Choose the card that increases the ^5533FFaccuracy rate^000000 of its owner?"; + next; + menu "Andre",sM2_7, "Familiar",sM2_7, "Mummy",-, "Marina",sM2_7; + + set @score, @score + 10; + + sM2_7: + + mes "[Markie]"; + mes "8) Choose the monster that receives more damage when attacked by a weapon with a Vadon card attached to it?"; + mes "(Vadon card inflicts 20% more damage to fire property monsters)"; + next; + menu "Vadon",sM2_8, "Deviruchi",sM2_8, "Elder Willow",-, "Baphomet",sM2_8; + + set @score, @score + 10; + + sM2_8: + + mes "[Markie]"; + mes "9) How much SP does the ^5533FFDouble Attack^000000 skill require when used with a dagger?"; + next; + menu "15 SP",sM2_9, "No SP needed",-, "10 SP",sM2_9, "54 SP",sM2_9; + + set @score, @score + 10; + + sM2_9: + + mes "[Markie]"; + mes "10) Choose an effective dagger to use in the Byalan Dungeon?"; + next; + menu "Wind Main-Gauche",-, "Ice Main-Gauche",sM2_10, "Earth Main-Gauche",sM2_10, "Fire Main-Gauche",sM2_10; + + set @score, @score + 10; + + sM2_10: + + + L_Score: + mes "[Markie]"; + mes "Okay, those are all of the questions I have. Now that wasn't so bad was it sweetie?"; + mes "I hope you don't mind, but I've been grading your answers."; + next; + mes "[Markie]"; + mes "I like to give people scores on their interviews so that they can know how well they did."; + mes "It looks like you got a ^FF3355" + @score +"^000000/100............"; + next; + mes "[Markie]"; + + if(@score< 90) goto sL_Failed; + if(@score<100) goto sL_Passed; + + sL_Perfect: + mes "A perfect score! I knew you had what it takes to be a Rogue....."; + mes "But don't get ahead of yourself honey cause there is still plenty more....."; + next; + mes "[Markie]"; + set ROGUE_Q, 2; + goto L_Test2; + + sL_Passed: + mes "Good, good. You did a good job shuga. But there is still more so don't get excited just yet....."; + next; + mes "[Markie]"; + set ROGUE_Q, 2; + goto L_Test2; + return; + + sL_Failed: + mes "*sigh*..... this is not the type of score I was expecting......"; + mes "What can I say excecpt, with a score like this you're definitely not cut out to be a Rogue.........."; + emotion e_swt; + next; + mes "[Markie]"; + mes "Why don't you go do some more training shuga..... you need it..... *mumbles ( what a waste of my time...)*"; + close; + +L_ReTest: + mes "You again? Are you sure you're ready this time?...... Okay honey, just relax...."; + next; + goto L_Test1; + +L_Test2: + mes "Your second test will be given by ^5533FFMr. Smith^000000."; + mes "I have to warn you though, Mr. Smith can be difficult and hard to please. So be careful how you act around him."; + close; +L_Test3: + mes "I know those guys are hard to find. Just be patient and keep on searching. Make sure you have the correct password as well.."; + close; +L_Test4: + mes "What are you doing here? I hope your not trying to skip the last test?........."; + emotion e_what; + next; + mes "[Markie]"; + mes "Your almost finished so just keep trying. I know you can do it."; + close; + + +//======================================================================= +L_Change: +//=========== + mes "Oh, you're back and your in one piece! It looks like you've passed all of the tests sweetie."; + mes "You have proven that you are ready to become a Rogue!"; + emotion e_ic; + next; + if(SkillPoint != 0) goto L_SkillP; + mes "[Markie]"; + mes "Tada! Congratulations on becoming a Rogue. You showed a lot of effort and deserve a reward for it......"; + setlook 7,0; + callfunc "Job_Change",Job_Rogue; + emotion e_grat; + next; + mes "[Markie]"; + mes "Now that you are a Rogue you are free to go where ever you want to and do what ever you want."; + if(JBLVL != 50) { + getitem 1219,1; // 2 slott gladius + } else { + getitem 1220,1; // 3 slott gladius + } + callfunc "F_ClearJobVar"; + next; + mes "[Markie]"; + mes "Just keep in mind that freedom requires responsibility. Treat people the way you expect to be treated."; + next; + mes "[Markie]"; + mes "Have fun shuga! See ya around!"; + close; + +//======================================================================= +L_SkillP: +//=========== + mes "[Markie]"; + mes "Oh but one thing honey... you have leftover skill points!"; + mes "Finish them first and come back, 'kay?"; + close; +} + + + +//=======================================================================================================// +// Mr. Smith: Tests 2 and 3 // +//***********************************************************************************************************************************************************// +in_rogue.gat,376,23,3 script Mr. Smith 57,{ + + mes "[Mr. Smith]"; + if(BaseJob == Job_Thief) goto L_Thief; + if(BaseJob == Job_Rogue) goto L_Rogue; + +L_OtherJob: + mes "Go away! I'm busy....."; + close; +L_Rogue: + mes "Looking good there my Rogue friend"; + close; +L_Thief: + if(ROGUE_Q == 2) goto L_Test2; + if(ROGUE_Q == 3) goto L_Test3; + if(ROGUE_Q > 3) goto L_Done; + mes "Ok ok.... one... two.... three.... Where do you do you business... is it.... Morroc... Geffen.... Comodo??......."; + next; + mes "[Mr. Smith]"; + mes "Uhh..... this is giving me a headache......."; + next; + mes "[Mr. Smith]"; + mes "Huh? Who are you? If you want to become a rogue go talk to ^5533FFMarkie^000000...."; + next; + mes "[Mr. Smith]"; + mes "...... CRAP! I forgot what I was counting!!"; + emotion e_wah; + close; + +//---------------------------------------------------------------------------------------------------- +L_Test2: +//-------------- + if(ROGUE_Q2 > 0) goto L_Check2; + mes "So you're here to take the second test.... good......."; + next; + mes "[Mr. Smith]"; + mes "Before we get started, let me tell you about the test application fee."; + mes "Our guild is involved in alot of business *cough* 'transactions' *cough* and therefore we are in constant needs of funds."; + next; + mes "[Mr. Smith]"; + mes "This is why we require a fee of ^5533FF10,000 zeny^000000 to be paid when taking the Rogue tests."; + mes "The fee will be collected when you have completed this second test so don't have to worry if you don't have it now."; + next; + mes "[Mr. Smith]"; + mes "Now for your test..... You will be required to collect the following items:"; + next; + mes "[Mr. Smith]"; + set ROGUE_Q2, rand(1,3); + if(ROGUE_Q2 == 1) callsub sF2_R1; + if(ROGUE_Q2 == 2) callsub sF2_R2; + if(ROGUE_Q2 == 3) callsub sF2_R3; + next; + mes "[Mr. Smith]"; + mes "Once you have ALL of these items and 10,000 zeny, come back and see me okay? Good."; + close; + + sF2_R1: + mes "^5533FF6 Blue Herbs,"; + mes "10 Skel Bones,"; + mes "10 Decayed Nails,"; + mes "10 Horrendous Mouths^000000."; + return; + sF2_R2: + mes "^5533FF10 Green Herbs,"; + mes "10 Garlets,"; + mes "10 Snake Scales"; + mes "10 Crab Shells.^000000"; + return; + sF2_R3: + mes "^5533FF10 Yellow Herbs,"; + mes "10 Bear's Footskin,"; + mes "10 Shells"; + mes "10 Grasshopper's Legs^000000."; + return; + +L_Check2: + set @count, 0; + if(ROGUE_Q2 == 2) goto L_2; + if(ROGUE_Q2 == 3) goto L_3; + + L_1: + set @R, 1; + if(countitem(510)<6 || countitem(932)<10 || countitem(957)<10 || countitem(958)<10 || Zeny < 10000) goto L_NotEnuf; + delitem 510,6; + delitem 932,10; + delitem 957,10; + delitem 958,10; + goto L_Done2; + + L_2: + set @R, 2; + if(countitem(511)<10 || countitem(910)<10 || countitem(926)<10 || countitem(964)<10 || Zeny < 10000) goto L_NotEnuf; + delitem 511,10; + delitem 910,10; + delitem 926,10; + delitem 964,10; + goto L_Done2; + + L_3: + set @R, 3; + if(countitem(508)<10 || countitem(948)<10 || countitem(935)<10 || countitem(940)<10 || Zeny < 10000) goto L_NotEnuf; + delitem 508,10; + delitem 948,10; + delitem 935,10; + delitem 940,10; + + L_Done2: + mes "Let's see here.... application fee.... check..... items....... check...... Alright, everything looks in order. You've passed the second test."; + next; + mes "[Mr. Smith]"; + mes "When you are ready to take the next test let me know."; + set Zeny, Zeny - 10000; + set ROGUE_Q, 3; + set ROGUE_Q2, 0; + close; + + L_NotEnuf: + mes ".... What the f@&#!?!? You don't have all of the items? Then why did you come back?? Don't tell me you forgot what to get....."; + emotion e_what; + next; + mes "[Mr. Smith]"; + mes "Write this down! You need ^5533FF10,000^000000 zeny and:"; + if(ROGUE_Q2 == 1) callsub sF2_R1; + if(ROGUE_Q2 == 2) callsub sF2_R2; + if(ROGUE_Q2 == 3) callsub sF2_R3; + next; + mes "[Mr. Smith]"; + mes "Got it? DON'T come back until you have everything........."; + emotion e_pif; + close; + + +//---------------------------------------------------------------------------------------------- +L_Test3: +//--------------- + if(ROGUE_Q2 > 0) goto L_Check3; + mes "Let me see..... Who should I have you go find........ hmm........."; + emotion e_hmm; + next; + mes "[Mr. Smith]"; + mes "Ah I know! Alright, in the previous test I had you go find some items. For this test you will need to find a specific person."; + emotion e_ic; + next; + mes "[Mr. Smith]"; + set ROGUE_Q2, rand(1,3); + if(ROGUE_Q2 == 1) callsub sF3_R1; + if(ROGUE_Q2 == 2) callsub sF3_R2; + if(ROGUE_Q2 == 3) callsub sF3_R3; + next; + mes "[Mr. Smith]"; + mes "Good luck to you. Try to finish this test as soon as possible. Getting things done quickly is one of a Rogue's traits."; + close; + + sF3_R1: + mes "You will have to go and find ^5533FFAragham Junior^000000."; + next; + mes "[Mr. Smith]"; + mes "He lives in a little house somewhere ^5533FFSouthWest^000000 of the Fortress of Sandarman."; + mes "That area is located ^5533FFone map East^000000 from here and is on the ^000000SouthWestern land mass^000000."; + next; + mes "[Mr. Smith]"; + mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts."; + mes "Unfortunately people were trying to kill him because of something his father had done in the past."; + next; + mes "[Mr. Smith]"; + mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place."; + mes "No one is supposed to know where he is except for those of us at the Rogue Guild."; + next; + mes "[Mr. Smith]"; + mes "That's why you will need this password in order to talk to him."; + mes "The password is: '^5533FFAragham never hoarded upgrade items.^000000'"; + return; + sF3_R2: + mes "You will have to go and find ^5533FFHollgrehen Junior^000000."; + next; + mes "[Mr. Smith]"; + mes "He lives in a little house somewhere ^5533FFSouthEast^000000 of the Fortress of Sandarman."; + mes "That area is located ^5533FFone map East^000000 from here and is on the ^5533FFEastern land mass^000000."; + next; + mes "[Mr. Smith]"; + mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts."; + mes "Unfortunately people were trying to kill him because of something his father had done in the past."; + next; + mes "[Mr. Smith]"; + mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place."; + mes "No one is supposed to know where he is except for those of us at the Rogue Guild."; + next; + mes "[Mr. Smith]"; + mes "That's why you will need this password in order to talk to him."; + mes "The password is: '^5533FFMy Father never hoarded upgrade items.^000000'"; + return; + sF3_R3: + mes "You will have to go and find ^5533FFAntonio Junior.^000000."; + next; + mes "[Mr. Smith]"; + mes "He lives in a little hut somewhere on the ^5533FFEastern end of Kokomo Beach^000000."; + mes "That area is located ^5533FF1 map North, and 1 map West^000000 from here."; + next; + mes "[Mr. Smith]"; + mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts."; + mes "Unfortunately people were trying to kill him because of something his father had done in the past."; + next; + mes "[Mr. Smith]"; + mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place."; + mes "No one is supposed to know where he is except for those of us at the Rogue Guild."; + next; + mes "[Mr. Smith]"; + mes "That's why you will need this password in order to talk to him."; + mes "The password is: '^5533FFAntonio doesn't like breaking refining material.^000000'"; + return; + + +L_Check3: + mes "What!?! Did you just say you forgot where to go?........"; + emotion e_what; + next; + mes "[Mr. Smith]"; + mes "GRRRR!!! That's why you need to WRITE down important things! Geez......"; + emotion e_an; + next; + mes "[Mr. Smith]"; + if(ROGUE_Q2 == 1) callsub sF3_R1; + if(ROGUE_Q2 == 2) callsub sF3_R2; + if(ROGUE_Q2 == 3) callsub sF3_R3; + close; + +//------------------------------------------------------------------------------------------------- +L_Done: +//---------------- + mes "I have no more busisness with you........."; + close; +} + + +//=========================================================== +// Guildsman that need to be found +//=========================================================== + +//------------------------------------------------------------------------------ +in_rogue.gat,272,136,3 script Hermanthorn Jr. 85,{ + mes "[Hermanthorn Jr.]"; + mes "Huh? Wha.... who are you?! You're not from the Rogue guild!! Get out of here!"; + emotion e_what; + next; + mes "[Hermanthorn Jr.]"; + mes "You're..... I see! You're one of them!!! You've come here to kill me haven't you??!! No... NO!! I'm not ready to die yet!"; + emotion e_gasp; + next; + mes "[Hermanthorn Jr.]"; + mes "Aaaaaaaaaaaaaahhhh!! Go away! Get lost! Otherwise I am gonna KILL YOU!!!"; + emotion e_wah; + close; +} + +// -------------------------------------------------------------------------- +cmd_fild09.gat,106,195,0 script Aragham Junior#01 45,1,1,{ + callfunc "F_RogueTest3", 1, "Aragham", "never", "hoarded", "upgrade items.", 244, 24; +} + +// ----------------------------------------------------------------------------- +cmd_fild09.gat,335,143,0 script Hollgrehen Junior#01 45,1,1,{ + callfunc "F_RogueTest3", 2, "My father", "never", "hoarded", "upgrade items.", 168, 34; +} + +// ------------------------------------------------------------------------------ +cmd_fild04.gat,304,179,0 script Antonio Junior#01 45,1,1,{ + callfunc "F_RogueTest3", 3, "Antonio", "doesn't like", "breaking", "refining materials.", 165, 104; +} + +// Function for Guildsman =================================== +function script F_RogueTest3 { + + mes "[???]"; + mes "Who's there?!!!"; + mes "Who dares to trespass on my territory?"; + if(god_megin_2 > 0 && getarg(1) == "Aragham") goto L_Pass; + if(BaseJob != Job_Thief || ROGUE_Q<3 || ROGUE_Q2==0) close; +L_Pass: + deletearray @choice$[1], 4; + next; + menu "My father",M_1a, "Aragham",M_1b, "Antonio",M_1c, "Legolas",M_1d; + + M_1a: + set @choice$[1], "My father"; + goto M_Menu2; + M_1b: + set @choice$[1], "Aragham"; + goto M_Menu2; + M_1c: + set @choice$[1], "Antonio"; + goto M_Menu2; + M_1d: + set @choice$[1], "Legolas"; + + M_Menu2: + callsub sF_Password; + menu "did not",M_2a, "doesn't like",M_2b, "never",M_2c, "ever",M_2d; + + M_2a: + set @choice$[2], "did not"; + goto M_Menu3; + M_2b: + set @choice$[2], "doesn't like"; + goto M_Menu3; + M_2c: + set @choice$[2], "never"; + goto M_Menu3; + M_2d: + set @choice$[2], "ever"; + + M_Menu3: + callsub sF_Password; + menu "hoard",M_3a, "hoarded",M_3b, "hide",M_3c, "took",M_3d, "breaking",M_3e; + + M_3a: + set @choice$[3], "hoard"; + goto M_Menu4; + M_3b: + set @choice$[3], "hoarded"; + goto M_Menu4; + M_3c: + set @choice$[3], "hide"; + goto M_Menu4; + M_3d: + set @choice$[3], "took"; + goto M_Menu4; + M_3e: + set @choice$[3], "breaking"; + + M_Menu4: + callsub sF_Password; + menu "upgrade items.",M_4a, "forging items.",M_4b, "refining materials.",M_4c, "upgrade equipment.",M_4d; + + M_4a: + set @choice$[4], "upgrade items."; + goto L_Check; + M_4b: + set @choice$[4], "forging items."; + goto L_Check; + M_4c: + set @choice$[4], "refining materials."; + goto L_Check; + M_4d: + set @choice$[4], "upgrade equipment."; + +L_Check: + callsub sF_Password; + if(god_megin_2 > 0) goto L_Enter; + if(ROGUE_Q2 != getarg(0)) goto L_Wrong; +L_Enter: + if((@choice$[1] != getarg(1)) || (@choice$[2] != getarg(2)) || (@choice$[3] != getarg(3)) || (@choice$[4] != getarg(4))) goto L_Wrong; + mes "~ creeek ~"; + mes "You hear the door begining to open........"; + next; + deletearray @choice$[1], 4; + warp "in_rogue.gat", getarg(5), getarg(6); + end; + + L_Wrong: + mes "[???]"; + mes "Get lost!!"; + close; +sF_Password: + mes "[^5533FF" + strcharinfo(0) + "^000000]"; + mes @choice$[1]; + mes @choice$[2]; + mes @choice$[3]; + mes @choice$[4]; + next; + return; +} + + +//=======================================================================================================// +// Test 4: Last Test // +//***********************************************************************************************************************************************************// +// Other path +// warp "in_rogue.gat", 11, 388; +// 390,389 end warp +// 9,9 -> 9,21 +//=============================================== +// Guildsman +//=============================================== +//--------------------------------------------------------------------------- +in_rogue.gat,244,39,4 script Aragham Junior#02 99,{ + callfunc "F_RogueTest4", 1, "Aragham Junior", 245, 27; +} +//--------------------------------------------------------------------------- +in_rogue.gat,152,27,6 script Hollgrehen Junior#02 85,{ + callfunc "F_RogueTest4", 2, "Hollgrehen Junior", 160, 32; +} +//--------------------------------------------------------------------------- +in_rogue.gat,183,105,4 script Antonio Junior#02 88,{ + callfunc "F_RogueTest4", 3, "Antonio Junior", 175, 107; +} + +// Function for Guildsman ============================= +function script F_RogueTest4 { + + if(BaseJob != Job_Thief || ROGUE_Q2 != getarg(0)) goto L_NoThief; + if(ROGUE_Q == 4) goto L_Restart; + mes "[" + getarg(1) + "]"; + mes "Hello there... You must be from the Rogue guild. My name is " + getarg(1) + "...... I am the Rogue of the Desert.............."; + next; + mes "[" + getarg(1) + "]"; + mes "Aww who am I kidding...... Let's cut the crap. So are you ready to become a rogue?"; + emotion e_swt; + next; + mes "[" + getarg(1) + "]"; + mes "You see, the Rogue motto is...... ^5533FF'Avoid the strong! Be malicious to the weak!'^000000"; + mes "This simple rule applys to fighting monsters as well."; + next; + mes "[" + getarg(1) + "]"; + mes "The very last thing you will have to do before you can become a Rogue, is to walk through an underground passage to the Rogue Guild."; + next; + mes "[" + getarg(1) + "]"; + mes "Sounds easy huh? Well it's not! But don't worry...."; + mes "If you stay true to the Rogue motto and use a lot of hide, and do a lot of running, you should be just fine."; + + M_Menu: + next; + mes "[" + getarg(1) + "]"; + mes "Ok, are you ready to go?"; + next; + menu "As ready as I'll ever be.",-, "Actually I'm kinda scared...",M_End; + + mes "[" + getarg(1) + "]"; + mes "Good luck then."; + next; + set ROGUE_Q, 4; + killmonsterall "in_rogue.gat"; + savepoint "in_rogue.gat", getarg(2), getarg(3); + warp "in_rogue.gat", 15, 105; + end; + + M_End: + mes "[" + getarg(1) + "]"; + mes "....................."; + next; + mes "[" + getarg(1) + "]"; + mes "Well take your time then...... I guess......."; + close; + +L_Restart: + mes "[" + getarg(1) + "]"; + mes "....... Looks like you got creamed......."; + emotion e_swt; + next; + mes "[" + getarg(1) + "]"; + mes "If you're up for it, I'll send you back in. Failure has a way of teaching success.... yada yada yada...."; + percentheal 100,100; + goto M_Menu; + +L_NoThief: + mes "[" + getarg(1) +"]"; + mes "I don't know how you got the"; + if(ROGUE_Q2) + { + mes "pass, but I am not the one"; + mes "in charge of your test."; + } + else + { + mes "pass, but looking at your face,"; + mes "I guess you're not here for the"; + mes "Rogue test."; + } + next; + mes "[" + getarg(1) +"]"; + mes "Please hurry up and leave"; + mes "this place as soon as you can!"; + close; +} + +//================================================ +// Monster Spawns +//================================================ +in_rogue.gat,15,185,0 script rogue_mob1 139,8,0,{ + monster "in_rogue.gat",14,188,"Zombie",1015,1; + monster "in_rogue.gat",15,188,"Zombie",1015,1; + monster "in_rogue.gat",16,188,"Zombie",1015,1; + monster "in_rogue.gat",14,189,"Zombie",1015,1; + monster "in_rogue.gat",15,189,"Zombie",1015,1; + monster "in_rogue.gat",16,189,"Zombie",1015,1; + end; +} +in_rogue.gat,15,245,0 script rogue_mob2 139,8,0,{ + monster "in_rogue.gat",14,247,"Mummy",1041,1; + monster "in_rogue.gat",15,247,"Mummy",1041,1; + monster "in_rogue.gat",16,247,"Mummy",1041,1; + monster "in_rogue.gat",14,248,"Mummy",1041,1; + monster "in_rogue.gat",15,248,"Mummy",1041,1; + monster "in_rogue.gat",16,248,"Mummy",1041,1; + end; +} +in_rogue.gat,15,328,0 script rogue_mob3 139,8,0,{ + monster "in_rogue.gat",14,331,"Zombie",1015,1; + monster "in_rogue.gat",15,331,"Zombie",1015,1; + monster "in_rogue.gat",16,331,"Zombie",1015,1; + monster "in_rogue.gat",14,332,"Zombie",1015,1; + monster "in_rogue.gat",15,332,"Zombie",1015,1; + monster "in_rogue.gat",16,332,"Zombie",1015,1; + end; +} +in_rogue.gat,35,342,0 script rogue_mob4 139,0,8,{ + monster "in_rogue.gat",38,340,"Mummy",1041,1; + monster "in_rogue.gat",37,342,"Abyss Knight",1219,1; + monster "in_rogue.gat",39,342,"Ghoul",1036,1; + monster "in_rogue.gat",38,344,"Mummy",1041,1; + end; +} +in_rogue.gat,57,306,0 script rogue_mob5 139,4,0,{ + monster "in_rogue.gat",59,301,"Khalitzburg",1132,1; + end; +} +in_rogue.gat,96,333,0 script rogue_mob6 139,0,4,{ + monster "in_rogue.gat",92,325,"Khalitzburg",1132,1; + end; +} +in_rogue.gat,139,313,0 script rogue_mob7 139,4,0,{ + monster "in_rogue.gat",139,309,"Abyss Knight",1219,1; + end; +} +in_rogue.gat,135,246,0 script rogue_mob8 139,0,4,{ + monster "in_rogue.gat",139,245,"Zombie",1015,2; + monster "in_rogue.gat",139,246,"Zombie",1015,2; + monster "in_rogue.gat",139,247,"Zombie",1015,2; + end; +} +in_rogue.gat,62,302,0 script rogue_mob9 139,0,4,{ + monster "in_rogue.gat",57,305,"Khalitzburg",1132,1; + end; +} +in_rogue.gat,199,218,0 script rogue_mob10 139,0,8,{ + monster "in_rogue.gat",157,218,"Zombie",1015,10; + monster "in_rogue.gat",157,218,"Abyss Knight",1219,1; + monster "in_rogue.gat",157,218,"Ghoul",1036,1; + monster "in_rogue.gat",157,218,"Archer Skeleton",1016,1; + end; +} +in_rogue.gat,86,187,0 script rogue_mob11 139,0,8,{ + monster "in_rogue.gat",88,186,"Mummy",1041,1; + monster "in_rogue.gat",88,187,"Mummy",1041,1; + monster "in_rogue.gat",88,188,"Mummy",1041,1; + end; +} +in_rogue.gat,225,187,0 script rogue_mob12 139,0,8,{ + monster "in_rogue.gat",232,191,"Abyss Knight",1219,1; + monster "in_rogue.gat",233,190,"Abyss Knight",1219,1; + monster "in_rogue.gat",234,189,"Abyss Knight",1219,1; + end; +} +in_rogue.gat,252,320,0 script rogue_mob13 139,0,8,{ + monster "in_rogue.gat",252,319,"Mummy",1041,1; + monster "in_rogue.gat",252,321,"Mummy",1041,1; + monster "in_rogue.gat",252,319,"Ghoul",1036,1; + monster "in_rogue.gat",252,321,"Ghoul",1036,1; + monster "in_rogue.gat",257,320,"Archer Skeleton",1016,1; + monster "in_rogue.gat",248,320,"Archer Skeleton",1016,1; + end; +} + +//================================================ +// End Warp +//================================================ +in_rogue.gat,370,320,0 script rogue04 45,1,1,{ + set ROGUE_Q, 5; + killmonsterall "in_rogue.gat"; + warp "in_rogue.gat",378,113; + end; +} + +//================================================ +// Timer: Keeps monsters from overspawning +//================================================ +- script RogueTest3 -1,{ + end; + +OnMinute10: +OnMinute20: +OnMinute30: +OnMinute40: +OnMinute50: +OnMinute60: + killmonsterall "in_rogue.gat"; + end; +} + +//============================================================================== +// mapflag +//============================================================================== +in_rogue.gat mapflag nomemo +in_rogue.gat mapflag noteleport +in_rogue.gat mapflag nosave SavePoint +in_rogue.gat mapflag nopenalty +in_rogue.gat mapflag nobranch +in_rogue.gat mapflag noexp +in_rogue.gat mapflag noloot |