//===== eAthena Script ======================================= //= Priest Quest //===== By: ================================================== //= Translated By: Pgro Team (OwNaGe)(Aegis) //= Converted by: kobra_k88. //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== //= eAthena 1.0 //===== Description: ========================================= //= Official RO Priest Quest converted from Aegis script. //===== Additional Comments: ================================= //= Fully working. Changed the way Priests enter the test room to help Acos. //= Must use this with the included Acolyte quest to work properely. //= 1.3 Added Baby Class support, fixed 3 wrong constants bugs [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] ========================================================== //*********************************************************************************************************************************************************************************\\ //============================================ Father Thomas: Job changer, Test 1 =============================================\\ //*********************************************************************************************************************************************************************************\\ prt_church.gat,16,41,4 script Father Thomas 60,{ callfunc "F_BlockHigh",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"High Priest","Father Thomas"; mes "[Father Thomas]"; if (BaseJob == Job_Acolyte) goto L_Start; callfunc "Pri_check"; close; L_Start: if (PRIEST_Q == 1) goto L_Test1; if (PRIEST_Q == 2) goto L_Test2; if (PRIEST_Q == 3) goto L_Test3; if (PRIEST_Q == 4) goto L_Change; mes "God bless you, child. What brings you here?"; next; menu "I want to become a priest.",M_2a, "Can you please tell me about Priests.",M_2b, "I just wanted to see how you were doing.",M_2End; M_2a: mes "[Father Thomas]"; mes "Oh... so you want to become a priest? God bless you for your determination."; next; mes "[Father Thomas]"; mes "I'm Father Thomas. I'm in charge of protecting Prontera from the evil spirits that plague the lands of Rune Midgard."; next; mes "[Father Thomas]"; mes "Please fill out this application form so that I can review your qualifications for becoming a Preist."; next; mes "(you fill out the form and hand it back)"; next; mes "[Father Thomas]"; if (JobLevel < 40) goto sL_LowLvl; if (JobLevel == 50) goto sL_HighLvl; mes "Ah, very good " + strcharinfo(0) + ". Let me now tell you about the tasks you will have to fullfill in order to become a Priest."; next; mes "[Father Thomas]"; mes "The first task will be to find and speak with 3 very wise Clerics. They are located in various parts of Rune Midgard."; next; mes "[Father Thomas]"; mes "The second task will consist of 3 trials. In the first trial you must face the undead."; mes "The second trial will test your ability to resist temptation and avoid corruption. The third trial you will have to figure out for yourself."; next; mes "[Father Thomas]"; mes "After you finish the 2 tasks, there will be a final test with Sister Cecile. Pass it and you can become a Priest."; next; mes "[Father Thomas]"; set JBLVL, 40; goto L_Test1; sL_LowLvl: mes "I'm sorry but you cannot become a Priest at this moment. You need to have a job level of at least 40."; next; mes "[Father Thomas]"; mes "Please strengthen your faith in God by performing more good deeds."; mes "I hope when the time is right, you'll be back... I will be waiting for you here."; close; sL_HighLvl: mes "Wow, your already at job lvl 50. I'm amazed at your dedication and hard work!"; emotion e_gasp; next; mes "[Father Thomas]"; mes "Because of this I will allow you to skip the first task. How about we start the second task instead?"; next; mes "[Father Thomas]"; mes "I believe with your power, you can overcome this task easily..."; mes "But if you work with a Priest, i think you will learn more and do a lot better."; next; mes "[Father Thomas]"; set PRIEST_Q, 2; set JBLVL, 50; goto L_Test2; M_2b: mes "[Father Thomas]"; mes "Priests are also followers of God. They are highly trained and are much more powerful than Acolytes."; next; mes "[Father Thomas]"; mes "To become a priest, you must have at least a job lvl 40. You will then have to pass a series of tests in order to prove yourself."; next; mes "[Father Thomas]"; mes "If you become a Priest, you will become very important to evey other job class."; next; mes "[Father Thomas]"; mes "You must NEVER help someone for any sort of profit or self gain. To be a Priest is to be selfless."; next; mes "[Father Thomas]"; mes "We Priest have only one objective, and that is to help others..."; close; M_2End: mes "[Father Thomas]"; mes "Oh is that the case?... Well I'm fine thank you."; mes "Please don't forget your duties as an Acolyte, and be carefull not to stray off the path to salvation."; next; mes "[Father Thomas]"; mes "I hope you will visit again soon, and please tell me how the other Acolytes are doing. May God be by your side..."; close; L_Test1: if (PRIEST_Q2 == 1) goto L_NotDone1a; if (PRIEST_Q2 == 2) goto L_NotDone1b; if (PRIEST_Q2 == 3) goto L_NotDone1c; if (PRIEST_Q2 == 4) goto L_Done1; mes "Okay, let me tell you what you have to do for the first task."; next; mes "[Father Thomas]"; mes "First you will have to find ^5533FFFather Rubalkubara^000000, he is located 1 map North and 2 maps East of Prontera, near St. Capitolina Abbey."; next; mes "[Father Thomas]"; mes "Next you will have to find ^5533FFMother Matilda^000000. She is located somewhere 1 map North of Morroc."; next; mes "[Father Thomas]"; mes "Last but not least, you will have to find ^5533FFFather Yosuke^000000."; mes "I heard that Father Yosuke is often seen on an tiny island 2 maps West and 1 map North of Prontera."; next; mes "[Father Thomas]"; mes "Please becareful on your journey. If you have any questions you may speak with me again."; mes "Remeber to check back with me when you have completed the first task."; next; mes "[Father Thomas]"; mes "May God Be with you..."; set PRIEST_Q, 1; set PRIEST_Q2, 1; close; L_NotDone1a: mes "What? Why are you still here? Did you forget the first task?"; next; menu "Yes, can you please tell me about the first task again?",sM_3a, "NO! how can I forget.",sM_3End; sM_3a: mes "[Father Thomas]"; mes "Hmm... if you're having trouble with this task, I fear that you will have an even harder time with the others...."; next; mes "[Father Thomas]"; mes "Please visit ^5533FFFather Rubalkubara^000000. He is located 1 map North and 2 maps East of Prontera near St. Capitolina Abbey."; close; sM_3End: mes "[Father Thomas]"; mes "Oh if you have any questions, please speak with Sister Cecila near the entrance."; next; mes "[Father Thomas]"; mes "Please hurry and becareful on your journey. May the lord look down and smile upon you...."; close; L_NotDone1b: mes "Hmmm??"; emotion e_what; next; mes "[Father Thomas]"; mes "Have you gone to see ^5533FFMother Marthilda^000000 yet? She can be found near Morroc in the Sogart Desert."; mes "Even though Morroc is far away, I know you will be able to find her."; close; L_NotDone1c: mes "Have you seen Mother Marthilda in Morroc? In that case you must now go see ^5533FFFather Yosuke^000000."; mes "He is located on tiny island 2 maps West and 1 map North of Prontera. You must go and speak with him!."; close; L_Done1: mes "So you spoken with all of the Clerics? Good job, you just completed the first task."; next; mes "[Father Thomas]"; mes "Now lets start the second task. Be prepared to face great evils.. If you want, you can ask a Priest to assist you with this test."; set PRIEST_Q, 2; set PRIEST_Q2, 0; next; mes "[Father Thomas]"; L_Test2: if(PRIEST_Q2 == 1) goto L_ReTest2; if(PRIEST_Q2 == 2) goto L_Done2; mes "So are you ready to start the second task?"; M_Menu: next; menu "Yes, lets start.",M_4a, "Let me get ready, i'll be back later.",M_4End; M_4a: mes "[Father Thomas]"; mes "Very well. Let me send you to ^5544FFFather Peter^000000. Once there speak to him about the second task."; next; set PRIEST_Q2, 1; warp "job_prist.gat", 24, 180; savepoint "prt_church.gat", 16, 37; end; M_4End: mes "[Father Thomas]"; mes "Okay, please get ready and come back soon. I hope you will be able to make it through the trials without many problems."; close; L_ReTest2: mes "You look really tired... but guess what, you'll be even more tired when you've become a Priest."; mes "Please don't give up. Do you want to try the task again?"; goto M_Menu; L_Done2: mes "Great job. If have endured all of the trials and have passed the second test."; mes "If you can pass the last test, I trully belive that you will be one of the best Priests ever!"; next; mes "[Father Thomas]"; mes "Now, for the final test, please go speak with ^5533FFSister Cecile^000000. Once you have passed it come see me."; next; mes "[Father Thomas]"; mes "I'll be waiting here. Good luck my child."; set PRIEST_Q, 3; set PRIEST_Q2, 0; close; L_Test3: mes "Go speak with ^5533FFSister Cecile^000000 and complete the last test."; next; mes "[Father Thomas]"; mes "Good luck. I'll be waiting to hear the good news.."; close; L_Change: if (SkillPoint > 0) mes "Wait. You must use up your skill points in order to become a Priest."; if (SkillPoint > 0) close; mes "Congratulations! You have just completed all of the tests. I can now turn you into a Priest."; emotion e_no1; next; mes "[Father Thomas]"; mes "God, please endow "+strcharinfo(0)+" with the strength and courage to fight evil and help mankind."; next; callfunc "Job_Change",Job_Priest; mes "[Father Thomas]"; mes "You are now a Priest. As a Priest, you can now help a lot of people in the name of God."; next; if (JBLVL != 50) getitem 1550, 1; if (JBLVL == 50) getitem 1551, 1; callfunc "F_ClearJobVar"; // clears all job variables for the current player mes "[Father Thomas]"; mes "Here, take this book as a reward for successfully completing the tests. This book will help you understand more about God."; next; mes "[Father Thomas]"; mes "I hope you can help serve as a role model for young Acolytes all over Rune Midgard."; mes "Please be a good Priest and help bring peace to this world!"; close; } //----------------------------------------------------------------------------------------------------------------------------------------------------------\\ // Test 1 \\ //********************************************************************************************************************************\\ // Function: Father Rubalkabara -------------------------------------------------------------------------- function script F_FatherRub { if(PRIEST_Q == 1 && PRIEST_Q2==1) goto L_Test; if(PRIEST_Q==1 && PRIEST_Q2 > 1) goto L_Done; mes "It's good to see you again. I expect all is well? Continue on your path of helping others and serving God, and let us pray for humanities salvation."; close; L_Test: mes "Ah hello there...."; next; mes "[Father Rubalkabara]"; mes "What's this? You're here because you wish to serve God in an even greater capacity?"; emotion e_what; next; menu "Yes, I believe Priesthood is the right path.",-, "No, not really.... just came to say hi.",M_No; mes "[Father Rubalkabara]"; mes "Haha! Very good. We need more people like yourself in order for this world to survive the evils that haunt it."; emotion e_no1; next; mes "[Father Rubalkabara]"; mes "Because of your pure heart I will give you my blessing child. Please meet with ^5533FFMother Marthilda^000000 next."; next; mes "[Father Rubalkabara]"; mes "You can find her in the map just north of the town of Morroc. Have a safe journey and good luck on becoming a Priest."; set PRIEST_Q2, 2; close; M_No: mes "[Father Rubalkabara]"; mes "Oh... well then... hello to you too. Although it is nice to see a servant of God such as yourself, I'm a little busy right now so if you don't mind....."; emotion e_swt; close; L_Done: mes "Please see ^5533FFMother Marthilda^000000 next. Good luck with your journey to becoming a Priest"; close; } // Function: Mother Marthilda -------------------------------------------------------------------------- function script F_MotherMart { if(PRIEST_Q==1 && PRIEST_Q2==2) goto L_Test; if(PRIEST_Q==1 && PRIEST_Q2 > 2) goto L_Done; mes "Oh my... It's been a while since I've seen you. My how you've grown. It's nice to see one of God servants continuing to improve."; mes "I wish you continued success child, and always remember to have faith."; close; L_Test: mes "Ah, you're here for the Priest test aren't you? I must say, you did a very good job in comming all this way."; next; mes "[Mother Marthilda]"; mes "That shows that you have true faith! It is my pleasure to allow you to continue on with your test."; next; mes "[Mother Marthilda]"; mes "You must now go see ^5533FFFather Yosuke^000000. He is 1 map North and 2 maps East of Prontera. I'm sure you will make a fine Priest!"; set PRIEST_Q2, 3; close; L_Done: mes "To complete your task you must go find ^5533FFFather Yosuke^000000. Please be carefull and remeber to pray."; close; } // Function: Father Yosuke -------------------------------------------------------------------------- function script F_FatherYos { if(PRIEST_Q==1 && PRIEST_Q2==3) goto L_Test; if(PRIEST_Q==1 && PRIEST_Q2==4) goto L_Done; mes "Just because you're a servant of God doesn't mean you can come here and bother me. Please leave..."; close; L_Test: mes "Hmm...? Did you need something? Oh the Priest test..... are you sure you're up for that?"; emotion e_what; next; mes "[Father Yosuke]"; mes "Meh, very well. I will let you pass. Go back to the church and speak with Father Thomas. Your duty here as been fulfilled"; set PRIEST_Q2, 4; close; L_Done: mes "Ugh? What are you still doing here...? I said to go back to the church.... I'm very busy right now...."; emotion e_what; close; } //**********************************************************************************************************************************************************************************\\ //================================================== Father Peter: Test 2 ====================================================\\ //**********************************************************************************************************************************************************************************\\ job_prist.gat,24,186,4 script Father Peter 110,{ L_Start: mes "[Father Peter]"; mes "God bless you!! Welcome back!"; mes "First i want to congratulated you for passing the first level."; next; mes "[Father Peter]"; mes "My name is Peter."; mes "Hows, Thomas these days?"; next; mes "[Father Peter]"; mes "Oh, so he's a father now eh? hahah..."; mes "I think i should call him Father Thomas!"; next; mes "[Father Peter]"; mes "So you know why your here right? Your next test will be to overcome a series of trials involving the darkest of evils."; mes "Do you understand what this means?"; next; menu "Yes, I do.",-, "No, I don't quite know it..?",M_1b; mes "[Father Peter]"; mes "Wow, your' pretty smart, but i think its better for you to listen to the things i got to say."; mes "heheh!"; goto L_Cont; M_1b: mes "[Father Peter]"; mes "Oh, is that so, i think i'll need to explain it to you."; mes "After listening to what i have to say, i think you'll understand."; next; L_Cont: mes "[Father Peter]"; mes "What is overcoming evil? its basically destroying it."; mes "What is evil? its basically devil, ghosts etc..."; next; mes "[Father Peter]"; mes "There's a lot of evil in this world."; mes "The evil usually tease people that prey to God."; next; mes "[Father Peter]"; mes "We priests are supposed to get rid of all the evil!"; mes "thats the only way we can bring peace to this world!"; next; mes "[Father Peter]"; mes "If you are trully dedicated, then these trials should not pose that great of a challenge."; mes "Even so, I you feel it necessary you may ask a Priest to assist you in this test."; next; mes "[Father Peter]"; mes "Well, can we start now?"; M_Menu: next; menu "Yes.",M_2a, "Wait a minute.",M_2b, "I want to go back to town.",M_2c; M_2a: mes "[Father Peter]"; mes "Okay, just enter the waiting room."; close; M_2b: mes "[Father Peter]"; mes "Oh you need to get ready eh?"; mes "No problem you can start the quest when your ready."; close; M_2c: mes "[Father Peter]"; mes "What? you want to go back? but you just arrived?"; mes "....."; next; mes "[Father Peter]"; mes "Maybe because its your first time thats why your scared."; mes "You can come back when you get more courage."; next; warp "prt_church.gat", 16, 37; close; OnInit: waitingroom "Priest Test Waiting Room",8,"Father Peter::OnStart",1; end; OnStart: set $@PrstUsers, getareausers("job_prist.gat", 8, 34, 39,109); set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 160, 14, 175, 178); set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 90, 34, 105,105); if($@PrstUsers > 0) end; // stops the rest of the script from running if there is already another player taking the test if((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room disablenpc "prst1_1"; //disables the exit warp disablenpc "prst2_1"; warpwaitingpc "job_prist.gat", 24, 44; killmonsterall "job_prist.gat"; donpcevent "PrstTest2_1::OnStart"; end; } //----------------------------------------------------------------------------------------------------------------------------------------------------------\\ // Test 2, Part 1: Kill the Zombies \\ //********************************************************************************************************************************\\ job_prist.gat,1,1,1 script PrstTest2_1 -1,{ OnStart: set $@PrstRm, 1; //used to determine what areawarp and areaannounce to use enablenpc "Zombie1_Trig"; enablenpc "Zombie2_Trig"; enablenpc "Zombie3_Trig"; enablenpc "Zombie4_Trig"; enablenpc "Zombie5_Trig"; set $@mob, 13; initnpctimer; end; OnMobDead: set $@mob, $@mob - 1; if($@mob > 0) end; enablenpc "prst1_1"; areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Well done my child. Enter the warp to start the next test.",8; initnpctimer "prst1_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going end; OnTimer500: areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: In order to pass this trial, you will have to kill all of the zomibes that appear.",8; end; OnTimer2500: stopnpctimer; initnpctimer "TimerPrst"; // starts the 5 min test timer areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Move slowly and take your time.",8; end; } // These hidden warps spawn the monsters when you walk // First set of Zombies------------------------------------------------------------ job_prist.gat,23,52,1 script Zombie1_Trig 139,16,0,{ monster "job_prist.gat",24,52,"Robbery",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",18,52,"Evilness",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",30,52,"Jealousy",1015,1,"PrstTest2_1::OnMobDead"; disablenpc "Zombie1_Trig"; //disables the npc so that it can't spawn the monsters more than once end; } // Second set of Zombies---------------------------------------------------- job_prist.gat,23,62,1 script Zombie2_Trig 139,16,0,{ monster "job_prist.gat",21,62,"Anger",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",27,62,"Wonderness",1015,1,"PrstTest2_1::OnMobDead"; disablenpc "Zombie2_Trig"; end; } // Third set of Zombies-------------------------------------------------------- job_prist.gat,23,72,1 script Zombie3_Trig 139,16,0,{ monster "job_prist.gat",24,72,"Cockyness",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",18,72,"Slutty",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",30,72,"Lazyness",1015,1,"PrstTest2_1::OnMobDead"; disablenpc "Zombie3_Trig"; end; } // Fourth set of Zombies-------------------------------------------------------- job_prist.gat,23,82,1 script Zombie4_Trig 139,16,0,{ monster "job_prist.gat",21,82,"Greed",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",27,82,"Greedyness",1015,1,"PrstTest2_1::OnMobDead"; disablenpc "Zombie4_Trig"; end; } // Fifth set of Zombies --------------------------------------------------------- job_prist.gat,23,92,1 script Zombie5_Trig 139,16,0,{ monster "job_prist.gat",24,92,"Faithless",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",18,92,"Non-believer",1015,1,"PrstTest2_1::OnMobDead"; monster "job_prist.gat",30,92,"Scaryness",1015,1,"PrstTest2_1::OnMobDead"; disablenpc "Zombie5_Trig"; end; } // End warp for 1st part of test-------------------------------------------------------------------- job_prist.gat,24,109,1 script prst1_1 45,3,3,{ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the aco to step on the warp. OnTimer30000: stopnpctimer; areawarp "job_prist.gat",8,34,39,109,"job_prist.gat",168,17; killmonsterall "job_prist.gat"; donpcevent "PrstTest2_2::OnStart"; end; } //----------------------------------------------------------------------------------------------------------------------------------------------------------\\ // Test 2, Part 1: Resist Temptation \\ //********************************************************************************************************************************\\ job_prist.gat,1,1,0 script PrstTest2_2 -1,{ OnStart: enablenpc "Devi_Trig"; //enables these npc's just in case they were disabled by a previous tester enablenpc "Deviruchi"; enablenpc "Doppel_Trig"; enablenpc "Doppel"; enablenpc "Dark_Trig"; enablenpc "Dark Lord"; enablenpc "Bapho_Trig"; enablenpc "Baphomet"; set $@PrstRm, 2; set $PRIEST_Q3, 0; initnpctimer; end; OnCheck: set $PRIEST_Q3, $PRIEST_Q3 + 1; //this counter checks to see if the player spoke with each devil and answered the questions if($PRIEST_Q3 < 4) end; enablenpc "prst2_1"; areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: Excellent! You have shown great courage! Use the warp to move on to the next room.",8; initnpctimer "prst2_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going end; OnTimer500: stopnpctimer; areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: This trial will test the strength of your will and your commitment to God!",8; end; } // Deviruchi ------------------------------------------------------------------------ job_prist.gat,168,45,4 script Deviruchi 738,{ OnStart: if(BaseJob == Job_Acolyte) goto L_Aco; L_Priest: mes "[Deviruchi]"; mes "Hey, whats priest like you doing in a place like this? go back to town. You like wasting you time here eh?"; next; mes "[Deviruchi]"; mes "I feel happy today, so i'll spare you, now go. Next time you come, I'm gonna take to you down."; close; L_Aco: mes "[Deviruchi]"; mes "Hey, isn't that a acolyte? i haven't seen one in ages. Looks like you're going to become a priest soon..."; next; mes "[Deviruchi]"; mes "I can tell how sad it is to become a servant of God. I think its weird that you're here."; next; mes "[Deviruchi]"; mes "The path your walking is going to be difficult. Isn't there better jobs you can be?"; next; mes "[Deviruchi]"; mes "Doesn't matter if its in a town, in a cave, all the people always asks you to help them. Itsn't funny that they never helped you?"; next; mes "[Deviruchi]"; mes "I'll give you an advice, you should give up now. The tests will be hard, and the path you're gonna walk will be difficult."; next; menu "Yea, I'm going to give up.",-, "Devil, Be gone NOW!.",M_1a; mes "[Deviruchi]"; mes "Yeap thats a good choice, you don't have to come to this place again! Since you decided to give up, i'll give you a present."; next; mes "[Deviruchi]"; mes "I'll let you meet my friends...FOR FREE HAHAHAHAH!"; next; warp "c_tower2.gat", 168, 33; end; M_1a: mes "[Deviruchi]"; mes "Oh.. I'm so scared..hahaha. Don't be like this, listen to what i have to say."; next; mes "[Deviruchi]"; mes "If you give up now, i'll give you a nice gift. This gift is so hard to find."; next; cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4; mes "[Deviruchi]"; mes "Do you think you can find a card like that? Decide now, don't regret when you become a priest..."; next; menu "I accept your card.",-, "Devil, Be GONE!!",sM_1a; mes "[Deviruchi]"; mes "Hahaha all the human beings are like this, good choice! Okay, let me give you this card!"; next; cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; mes "[Deviruchi]"; mes "Well, too bad i can't give it to you. Go look for it YOURSELF!"; next; warp "mjolnir_05.gat", 200, 200; end; sM_1a: cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; mes "[Deviruchi]"; mes "Wow, your one tough acolyte, if you keep denying you better becareful."; mes "I will be watching, I'll see if you can become a good priest or not."; next; mes "[Deviruchi]"; mes "One day, you'll regret and want to come back to me!"; disablenpc "Devi_Trig"; //disables the trigger npc so you don't accidentally activate it again disablenpc "Deviruchi"; donpcevent "PrstTest2_2::OnCheck"; close; } // Doppelganger ------------------------------------------------------------------------------ job_prist.gat,168,80,4 script Doppelganger::Doppel 739,{ OnStart: if(BaseJob == Job_Acolyte) goto L_Aco; L_Priest: mes "[Doppelganger]"; mes "What good is it to be here?."; mes "Are you this bored? you're already a priest why are you here?."; next; mes "[Doppelganger]"; mes "You don't need to help these acolytes, go home."; mes "You're doing something that is wasting your time, leave now."; close; L_Aco: mes "[Doppelganger]"; mes "Hey, Acolyte wait, listen to what i have to say."; next; mes "[Doppelganger]"; mes "You came here because you want to become a priest eh?"; mes "I don't think you should become a priest."; next; mes "[Doppelganger]"; mes "If you want, i can use my powers to let you start over again."; mes "You can become a novice again, and you can choose what job you want to be."; next; mes "[Doppelganger]"; mes "Well, the job you choose depends on your level hhehe."; mes "Isn't this a good deal? if you want i can help you right now."; next; menu "I hope you can help me!",-, "Devil Be gone!",M_1b; mes "[Doppelganger]"; mes "Yes thats a good choice."; mes "Let me turn you into a novice now."; next; mes "[Doppelganger]"; mes "You know it takes a long time to ressurect when you DIE!!"; next; warp "gef_dun02.gat", 210, 177; end; M_1b: mes "[Doppelganger]"; mes "I don't think you understand what i mean."; mes "This is one of the best things that can happen to you."; next; mes "[Doppelganger]"; mes "You just need to tell me that you don't want to become a priest."; mes "If you do that, i can turn you into any job you want, you want to become a swordman like me?"; next; menu "I don't want to become a priest!",-, "Devil, Be GONE!",sM_1b; mes "[Doppelganger]"; mes "good choice, you don't need to come back here anymore."; mes "okay, let me turn you into a novice now..."; next; mes "[Doppelganger]"; mes "You know its takes a long time to ressurect when you DIE??!!"; next; warp "gef_dun02.gat", 210, 177; end; sM_1b: mes "[Doppelganger]"; mes "okay fine, i'll spare you today."; next; mes "[Doppelganger]"; mes "If i see you next time, I'm gonna make you die painfully."; disablenpc "Doppel_Trig"; disablenpc "Doppel"; donpcevent "PrstTest2_2::OnCheck"; close; } // Dark Lord ------------------------------------------------------------------------------- job_prist.gat,168,115,4 script Dark Lord 737,{ OnStart: if(BaseJob == Job_Acolyte) goto L_Aco; L_Priest: mes "[Dark Lord]"; mes "Let you feel hatred and anger!!"; mes "Let you feel how it feels when your friend betrays you!"; next; mes "[Dark Lord]"; mes "Stay here, and train with us and next; until you are strong enough then you can go back!"; mes "Stay with us and learn to curse!"; close; L_Aco: mes "[Dark Lord]"; mes "Stop right there human!."; mes "Whose permission do you have to pass through here!"; next; mes "[Dark Lord]"; mes "If you want to become a priest, you can't pass through here,"; mes "Go now, before i kill you."; next; mes "[Dark Lord]"; mes "Even more annoying than ants you humans, leave and stop bothering me!"; next; menu "I'm sorry, please spare me.",-, "Devil, Be GONE!.",M_1c; mes "[Dark Lord]"; mes "Don't come here again!"; next; warp "gl_church.gat", 145, 170; end; M_1c: mes "[Dark Lord]"; mes "Don't try to act like a tough guy."; mes "I can cut u in many pieces with my pinky."; next; mes "[Dark Lord]"; mes "Before i use my dark powers on you, leave!"; next; menu "Please, Spare me.",-, "Devil, BE GONE!",sM_1c; mes "[Dark Lord]"; mes "Don't appear here again!"; next; warp "gl_church.gat", 145, 170; end; sM_1c: mes "[Dark Lord]"; mes "So you decided to stay eh? you pesky human, killing you will dirty my hands."; next; mes "[Dark Lord]"; mes "If i see you again, I'm gonna kill you."; disablenpc "Dark_Trig"; disablenpc "Dark Lord"; donpcevent "PrstTest2_2::OnCheck"; close; } // Baphomet ----------------------------------------------------------------------------- job_prist.gat,168,150,4 script Baphomet 736,{ OnStart: if(BaseJob == Job_Acolyte) goto L_Aco; L_Priest: mes "[Baphomet]"; mes "Annoying Priests..."; next; mes "[Baphomet]"; mes "I have nothing to talk to you about, leave now."; close; L_Aco: mes "[Baphomet]"; mes "Hey, Human."; next; mes "[Baphomet]"; mes "You interested in a deal?"; next; mes "[Baphomet]"; mes "I can get you all the rich and fame in this world."; mes "Infinite money and weapons which no humans have..."; next; mes "[Baphomet]"; mes "Also, if you want, you can always summon me."; mes "If you did that, everyone will be afraid of you hahahaha."; next; mes "[Baphomet]"; mes "I think you should give up being a priest and just accept my deal."; mes "If you accept my deal, the world is yours."; next; menu"I give up being a priest.",-, "Devil be GONE!",M_1d; mes "[Baphomet]"; mes "Okay, let us sign the contract..."; mes "you will not forget this..."; next; mes "[Baphomet]"; mes "You go find where i live."; mes "When your there, come and sign the contract."; next; warp "glast_01.gat", 200, 203; end; M_1d: mes "[Baphomet]"; mes "Okay fine, i'll leave."; mes "But, you won't leave that easily."; next; mes "[Baphomet]"; mes "I already set up a lot of evil stuff for you..."; mes "I want to see how long you can last."; next; mes "[Baphomet]"; mes "OKay go now."; disablenpc "Bapho_Trig"; disablenpc "Baphomet"; donpcevent "PrstTest2_2::OnCheck"; close; } // These hidden warps trigger the npcs when you get near them // Deviruchi Trigger -------------------------------------------------------------------- job_prist.gat,167,40,1 script Devi_Trig 139,8,0,{ doevent "Deviruchi::OnStart"; end; } // Doppleganger Trigger -------------------------------------------------------------------- job_prist.gat,167,77,1 script Doppel_Trig 139,8,0,{ doevent "Doppel::OnStart"; end; } // Dark Lord Trigger -------------------------------------------------------------------- job_prist.gat,167,112,1 script Dark_Trig 139,8,0,{ doevent "Dark Lord::OnStart"; end; } // Baphomet Trigger -------------------------------------------------------------------- job_prist.gat,167,145,1 script Bapho_Trig 139,8,0,{ doevent "Baphomet::OnStart"; end; } // End warp for 2nd part of test --------------------------------------------------------- job_prist.gat,168,180,0 script prst2_1 45,3,3,{ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp. OnTimer30000: set $@PrstRm, 3; set $PRIEST_Q3, 0; enablenpc "Mummy1_Trig"; //enables the floor triggers for the next test enablenpc "Mummy2_Trig"; enablenpc "Mummy3_Trig"; stopnpctimer; initnpctimer "prst3_1"; areawarp "job_prist.gat", 160, 14, 175, 178, "job_prist.gat", 98, 40; end; } //----------------------------------------------------------------------------------------------------------------------------------------------------------\\ // Test 2, Part 3: Make it to the exit \\ //******************************************************************************************************************************* *\\ // First set of Mummies -------------------------------------------------------- job_prist.gat,97,50,0 script Mummy1_Trig 139,8,1,{ monster "job_prist.gat", 93, 55, "ca", 1041,1; monster "job_prist.gat", 102, 55, "ah", 1041,1; disablenpc "Mummy1_Trig"; end; } // Second set of Mummies -------------------------------------------------------- job_prist.gat,97,65,0 script Mummy2_Trig 139,8,1,{ monster "job_prist.gat", 93, 70, "men", 1041,1; monster "job_prist.gat", 102, 70, "ahke", 1041,1; disablenpc "Mummy2_Trig"; end; } // Third set of Mummies -------------------------------------------------------- job_prist.gat,97,80,0 script Mummy3_Trig 139,8,1,{ monster "job_prist.gat", 93, 85, "mea", 1041,1; monster "job_prist.gat", 102, 85, "sne", 1041,1; disablenpc "Mummy3_Trig"; end; } // End warp for 3rd part of test ---------------------------------------------- job_prist.gat,98,105,0 script prst3_1 45,2,2,{ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp. stopnpctimer "TimerPrst"; areawarp "job_prist.gat", 90, 34, 105, 105, "prt_church.gat",16, 37; set PRIEST_Q2, 2; killmonsterall "job_prist.gat"; donpcevent "Father Peter::OnStart"; end; OnTimer500: stopnpctimer; areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: This is the last trial you must face my child. Have faith, I know you can pass it!",8; end; } //----------------------------------------------------------------------------------------------------------------------------------------------------------\\ // Timer \\ //********************************************************************************************************************************\\ job_prist.gat,1,1,0 script TimerPrst -1,{ OnTimer3000: areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: You will have 5 minutes to pass all 3 trials starting now.",8; end; OnTimer33000: donpcevent "Father Peter::OnStart"; end; OnTimer63000: set $@PrstTime$, "You have 4 minutes left!"; donpcevent "Father Peter::OnStart"; goto AnnouncePrst; OnTimer93000: donpcevent "Father Peter::OnStart"; end; OnTimer123000: set $@PrstTime$, "You have 3 minutes left!"; donpcevent "Father Peter::OnStart"; goto AnnouncePrst; OnTimer153000: donpcevent "Father Peter::OnStart"; end; OnTimer183000: set $@PrstTime$, "You have 2 minutes left!"; donpcevent "Father Peter::OnStart"; goto AnnouncePrst; OnTimer213000: donpcevent "Father Peter::OnStart"; end; OnTimer243000: set $@PrstTime$, "You have 1 minute left!"; donpcevent "Father Peter::OnStart"; goto AnnouncePrst; OnTimer273000: set $@PrstTime$, "You have 30 seconds left!"; donpcevent "Father Peter::OnStart"; goto AnnouncePrst; OnTimer293000: set $@PrstTime$, "You have 10 seconds left!"; goto AnnouncePrst; end; OnTimer2970000: set $@PrstTime$, "You have 5 seconds left."; goto AnnouncePrst; end; OnTimer302000: set $@PrstTime$, "Time is up. You failed the test."; goto AnnouncePrst; OnTimer306000: stopnpctimer; if($@PrstRm==1) areawarp "job_prist.gat",8,34,39,109,"prt_church.gat",16, 37; if($@PrstRm==2) areawarp "job_prist.gat",160, 14, 175, 178,"prt_church.gat",16, 37; if($@PrstRm==3) areawarp "job_prist.gat", 90, 34, 105,105,"prt_church.gat",16, 37; killmonsterall "job_prist.gat"; donpcevent "Father Peter::OnStart"; end; AnnouncePrst: if($@PrstRm==1) areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: "+$@PrstTime$+".",8; if($@PrstRm==2) areaannounce "job_prist.gat",160, 14, 175, 178, "[Father Peter]: "+$@PrstTime$+".",8; if($@PrstRm==3) areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: "+$@PrstTime$+".",8; end; } //**********************************************************************************************************************************************************************************\\ //================================================= Sister Cecile: Test 3 =====================================================\\ //**********************************************************************************************************************************************************************************\\ prt_church.gat,27,24,4 script Sister Cecile 79,{ mes "[Sister Cecile]"; if(BaseJob == Job_Priest) goto L_Prst; if(BaseJob == Job_Acolyte) goto L_Aco; if(BaseJob == Job_Novice) goto L_Nov; L_Other: mes "This is the Prontera Church, what can I help you with?"; next; menu "Please tell me about priests.",-, "I'm just walking around.",M_End0; mes "[Sister Cecile]"; mes "Priests are servants of God. They have special powers that allow them to help anyone in need of assistance."; next; mes "[Sister Cecile]"; mes "Because they are followers of God, they cannot use swords and many other types of weapons."; next; mes "[Sister Cecile]"; mes "Of course, if you want to know more about priests, you should speak with one personally."; next; mes "[Sister Cecile]"; mes "Please stay here for as long as you wish. The church is a sanctuary for all those who seek it."; close; M_End0: mes "[Sister Cecile]"; mes "Please Relax, wondering around can be tiring."; close; L_Nov: mes "God bless you, my child. The Prontera Church welcomes you."; next; mes "[Sister Cecile]"; mes "Have you choose your job yet? Do you want to be one of God's helpers?"; mes "Becoming an Acolyte and helping people is very good thing."; next; mes "[Sister Cecile]"; mes "If you want to become an Acolyte, speak to ^5533FFFather Mareusis^000000 in the room across the hall."; next; mes "[Sister Cecile]"; mes "Once you've reached job level 40 as an Acolyte, you can come back here and become a Priest."; next; mes "[Sister Cecile]"; mes "Since you are still a novice, think carefully about what job you wish to take."; close; L_Prst: if(sex == 1) mes "God bless you, brother priest."; if(sex == 0) mes "God bless you, sister priest."; mes "I wish you all the best. Keep your faith strong and remeber that God loves all, and so should you."; close; L_Aco: if(PRIEST_Q == 1) goto L_Test1; if(PRIEST_Q == 2) goto L_Test2; if(PRIEST_Q == 3) goto L_Start; if(PRIEST_Q == 4) goto L_Done; if(sex == 1) mes "God bless you, brother."; if(sex == 0) mes "God bless you, sister."; mes "Why are you here?"; next; menu "I want to become a priest.",-, "I'm just wondering around.",M_End1; mes "[Sister Cecile]"; mes "Oh so you want to become a priest?"; mes "A lot of acolytes want to become priests."; next; mes "[Sister Cecile]"; mes "My name is Sister Cecile, I'm responsible for helping acolytes become priests."; next; mes "[Sister Cecile]"; mes "Because I was born and raised here, I've seen a lot of people become Priests over the years."; mes "Thats why i like to help people become priests now."; next; mes "[Sister Cecile]"; mes "In order to become a priest, you will have to fullfill 3 tasks. If you want to change your job now, you can go talk to Father Thomas,"; next; mes "[Sister Cecile]"; mes "If you encounter any problems with any of the tasks, come talk to me and I might be able to help."; close; M_End1: mes "[Sister Cecile]"; mes "Please relax and take a break. The church should feel like your home."; close; L_Start: if(PRIEST_Q2 == 1) goto L_ReTest; mes "Good job, you successfully completed the second quest...!"; mes "You are now really close to becoming a priest."; next; mes "[Sister Cecile]"; if(sex==1) mes "If you want to become a priest, the last step is to answer my questions honestly."; if(sex==0) mes "If you want to become a priestess, the last step is to answer my questions honestly."; mes "Please be honest and answer my question."; next; mes "[Sister Cecile]"; mes "Okay let me ask you some questions."; set PRIEST_Q2, 1; next; L_Test3: mes "[Sister Cecile]"; mes "From today on, do you wish to help the God for all eternity?"; next; menu "Yes.",M_2a, "No.",-; mes "[Sister Cecile]"; mes "Why..Why would you say that?..."; mes "I don't think your suitable to become a priest..."; next; mes "[Sister Cecile]"; mes "please come back when you really want to become a priest."; mes "You can't become a priest right now."; close; M_2a: mes "[Sister Cecile]"; mes "Will you use God's power for your own profit?"; next; menu "Yes",-, "No.",M_2b; mes "[Sister Cecile]"; mes "No, that doesn't work, if you use God's power to do what you wish, you're just like a thief."; mes "How can you become a good priest if you think like that?"; next; mes "[Sister Cecile]"; mes "Please come back when you make up your mind."; mes "Those thoughts are the things that corrupt people."; close; M_2b: mes "[Sister Cecile]"; mes "Will you help others in battle when they need help?"; next; menu "Yes.",M_2c, "No.",-; mes "[Sister Cecile]"; mes "Thats wrong, when someone needs help, we will do our best to help them."; mes "It doesn't matter who that person is, our job is to help everyone."; next; mes "[Sister Cecile]"; mes "Go walk around."; mes "and you should learn something."; close; M_2c: mes "[Sister Cecile]"; mes "Will you sacrafice yourself for others?"; next; menu "Yes.",M_2d, "No.",-; mes "[Sister Cecile]"; mes "No, thats not what God thinks."; mes "If we can sacrafice ourselves for something that helps the world, its worth it."; next; mes "[Sister Cecile]"; mes "Go and think about sacraficing."; mes "Sacraficing is thing thats easy to say, but hard to do."; close; M_2d: mes "[Sister Cecile]"; mes "Will you talk bad to people you meet?"; next; menu "Yes.",-, "No.",M_2e; mes "[Sister Cecile]"; mes "That is not right, priests are supposed to help people."; mes "If you talk bad, you don't deserver to be a priest."; next; mes "[Sister Cecile]"; mes "even if your God's best servant."; mes "You don't have the right to bad-talk."; close; M_2e: mes "[Sister Cecile]"; mes "Will you bring any kind of devil to help others in battle?"; next; menu "Yes.",-, "No.",M_2f; mes "[Sister Cecile]"; mes "You can't do that."; mes "It doesn't matter if the devil is good or bad, priests should never talk to a devil ."; next; mes "[Sister Cecile]"; mes "Even though it looks like you did a good thing, but it was a really bad thing."; mes "Please go think about it."; close; M_2f: mes "[Sister Cecile]"; mes "If God wants to you to live or die, will you listen to him?"; next; menu "Yes.",M_2g, "No.",-; mes "[Sister Cecile]"; mes "If your like that you can't become a priest."; mes "If God wants you to die, you have to listen to him."; next; mes "[Sister Cecile]"; mes "And we priest have the skill to Resurrect ourselves."; mes "Please go and think about what death means to you."; close; M_2g: mes "[Sister Cecile]"; mes "I just witness what you said."; mes "Lastly, please promise that you'll remember the things you said today."; next; menu "I promise.",-, "No.",M_2No; mes "[Sister Cecile]"; mes "Now, you passed all the tests."; mes "Please go talk to Father Thomas to become a priest."; next; mes "[Sister Cecile]"; mes "Please remember the things you said today."; mes "God bless you..."; set PRIEST_Q, 4; set PRIEST_Q2, 0; close; M_2No: mes "[Sister Cecile]"; mes ".............."; next; mes "[Sister Cecile]"; mes "No not yet, your still wondering if you want to become a priest or not."; mes "You can't become a priest right now."; next; mes "[Sister Cecile]"; mes "I think you should go do the self-disipline test again..."; mes "When you're ready, come back here."; next; mes "[Sister Cecile]"; mes "God bless you..."; close; L_ReTest: mes "............."; next; mes "[Sister Cecile]"; mes "...Oh your back."; mes "I hope you can be honest this time."; next; mes "[Sister Cecile]"; mes "I hope i can sense your sincere..."; mes "Please answer me honestly."; next; mes "[Sister Cecile]"; mes "Okay, lets start."; next; goto L_Test3; L_Test1: mes "Oh, so you already started the self-disipline test, good job."; close; L_Test2: if(PRIEST_Q2 == 1) goto L_Test2a; mes "You didn't start the second quest yet?."; mes "Well, i can't give u any specific details about this task."; next; mes "[Sister Cecile]"; mes "I can only tell you to be well-prepared and to not get seduced by anything..."; mes "You must trust in yourself in order to complete the second quest."; next; mes "[Sister Cecile]"; mes "If you want more specific details go talk to the priest in the training ground."; mes "Father Thomas is a very nice person, he'll help you too."; close; L_Test2a: mes "Training is hard, but don't give up."; mes "You must overcome anything in order to be a good priest."; next; mes "[Sister Cecile]"; mes "If there's experienced priest, you can ask them to help you train."; mes "They might be able to help you pass the first level of the second task."; next; mes "[Sister Cecile]"; mes "God bless you..."; mes "When you complete the second quest, come back here."; close; L_Done: mes "Congratulations on finishing the tests. Please see Father Thomas so that he can make you a Priest."; close; } //============================================================================== // mapflag //============================================================================== job_prist.gat mapflag nomemo job_prist.gat mapflag noteleport job_prist.gat mapflag nosave SavePoint job_prist.gat mapflag nopenalty job_prist.gat mapflag nobranch job_prist.gat mapflag noexp job_prist.gat mapflag noloot