diff options
author | Valaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-01-29 16:10:48 +0000 |
---|---|---|
committer | Valaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-01-29 16:10:48 +0000 |
commit | 620e60eebce2c1f35c5c9a82f6ca365b316587f5 (patch) | |
tree | 38a39e0415f419d9a49ae456ed0e26654c23d559 /npc/jobs/2-2/rogue.txt | |
parent | a2675f07d7da22a7c6ae11f545bf8f671e785a82 (diff) | |
download | hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.gz hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.bz2 hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.xz hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.zip |
AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/jobs/2-2/rogue.txt')
-rw-r--r-- | npc/jobs/2-2/rogue.txt | 758 |
1 files changed, 758 insertions, 0 deletions
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt new file mode 100644 index 000000000..2825d4071 --- /dev/null +++ b/npc/jobs/2-2/rogue.txt @@ -0,0 +1,758 @@ +//===== eAthena Script =======================================
+//= Rogue Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== 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]
+//============================================================
+
+
+//=======================================================================================================//
+// Markie: Test 1 and Jobchange //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,363,123,3 script Markie 747,{
+ callfunc "F_BlockHigh",30,"Thief High",41,"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) goto L_Start;
+ 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;
+
+L_Start:
+ 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, 40; // used to determine what item to get at the end
+ if(JobLevel == 50) set JBLVL, 50; // 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;
+ callfunc "RogQ_check";
+ 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 4;
+ 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 1;
+ 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 5;
+ 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 46;
+ 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
+ if(JBLVL == 50) 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 16;
+ 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 1;
+ 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 32;
+ close;
+
+
+//----------------------------------------------------------------------------------------------
+L_Test3:
+//---------------
+ if(ROGUE_Q2 > 0) goto L_Check3;
+ mes "Let me see..... Who should I have you go find........ hmm.........";
+ emotion 20;
+ 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 5;
+ 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 1;
+ next;
+ mes "[Mr. Smith]";
+ mes "GRRRR!!! That's why you need to WRITE down important things! Geez......";
+ emotion 6;
+ 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 1;
+ 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 0;
+ next;
+ mes "[Hermanthorn Jr.]";
+ mes "Aaaaaaaaaaaaaahhhh!! Go away! Get lost! Otherwise I am gonna KILL YOU!!!";
+ emotion 16;
+ close;
+}
+
+// --------------------------------------------------------------------------
+cmd_fild09.gat,106,195,0 script Aragham Junior 45,1,1,{
+ callfunc "F_RogueTest3", 1, "Aragham", "never", "hoarded", "upgrade items.", 244, 24;
+}
+
+// -----------------------------------------------------------------------------
+cmd_fild09.gat,335,143,0 script Hollgrehen Junior 45,1,1,{
+ callfunc "F_RogueTest3", 2, "My father", "never", "hoarded", "upgrade items.", 168, 34;
+}
+
+// ------------------------------------------------------------------------------
+cmd_fild04.gat,304,179,0 script Antonio Junior 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(BaseJob!=Job_Thief || ROGUE_Q<3 || ROGUE_Q2==0) close;
+L_Start:
+ 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(ROGUE_Q2 != getarg(0)) goto L_Wrong;
+ 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 99,{
+ callfunc "F_RogueTest4", "Aragham Junior", 245, 27;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,152,27,6 script Hollgrehen Junior 85,{
+ callfunc "F_RogueTest4", "Hollgrehen Junior", 160, 32;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,183,105,4 script Antonio Junior 88,{
+ callfunc "F_RogueTest4", "Antonio Junior", 175, 107;
+}
+
+// Function for Guildsman =============================
+function script F_RogueTest4 {
+
+ if(ROGUE_Q == 4) goto L_Restart;
+ mes "[" + getarg(0) + "]";
+ mes "Hello there... You must be from the Rogue guild. My name is " + getarg(0) + "...... I am the Rogue of the Desert..............";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Aww who am I kidding...... Let's cut the crap. So are you ready to become a rogue?";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ 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(0) + "]";
+ 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(0) + "]";
+ 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(0) + "]";
+ 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(0) + "]";
+ mes "Good luck then.";
+ next;
+ set ROGUE_Q, 4;
+ killmonsterall "in_rogue.gat";
+ savepoint "in_rogue.gat", getarg(1), getarg(2);
+ warp "in_rogue.gat", 15, 105;
+ end;
+
+ M_End:
+ mes "[" + getarg(0) + "]";
+ mes ".....................";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Well take your time then...... I guess.......";
+ close;
+
+L_Restart:
+ mes "[" + getarg(0) + "]";
+ mes "....... Looks like you got creamed.......";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ 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;
+}
+
+//================================================
+// 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
|