From 45679a4081d418bb719feaf66fe3a966b4c9e77e Mon Sep 17 00:00:00 2001 From: Playtester Date: Sun, 30 Apr 2006 15:04:06 +0000 Subject: Updated several job quests so they work again git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6400 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-2/crusader.txt | 2373 +++++++++++++++++++++++---------------------- 1 file changed, 1188 insertions(+), 1185 deletions(-) (limited to 'npc/jobs/2-2/crusader.txt') diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index 8bed342e2..e61c0e46f 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -1,1185 +1,1188 @@ -////===== eAthena Script ======================================= -//= Crusader Quest -//===== By: ================================================== -//= Made by: Black Dragon -//= Converted by: Shin -//= -//===== Current Version: ===================================== -//= 2.0 -//===== Compatible With: ===================================== -//= eAthena 0.5.2 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Need optimalization and fixing -//= thanks to Komurka, KiLLaLeN, Lupus (fixing error) -//= just a temp Job Quest -//= 1.2 minor fix of announcement by Freya people -//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward -//= also fixed too common script names [Lupus] -//= 1.3a fixed "dead lock" bugs [Lupus] -//= 1.3b changed monsters ID in patience test [Komurka] -//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka) -//= 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] -//= 1.7 Updated names and required items, Chivalry Emblem + -//= Hand of God allow to skip item gathering [DracoRPG] -//= 2.0 Changed numbers to constants. [Vicious] -//============================================================ - - -prt_castle.gat,45,169,4 script Senior Crusader 752,{ - callfunc "F_BlockHigh",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin","^000080Michael Halig^000000"; - - mes "[^000080Michael Halig^000000]"; - if (BaseJob > 0) goto NEXT_0; - if (BaseJob == 0) goto NOV; - mes "Hello "+ strcharinfo(0); - mes "I see that you've registered to the ^008000Swordsman's Association^000000."; - TALK: - next; - mes "[^000080Michael Halig^000000]"; - mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000."; - next; - mes "[^000080Michael Halig^000000]"; - mes "If you decide to go along the path of the ^800000Crusader^000000, come back here."; - mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job."; - close; - NOV: - mes "Hello there."; - goto TALK; -NEXT_0: - if (BaseJob > 1) goto NEXT0; - if (CRUS_Q == 1) goto CONT; - if (CRUS_Q == 2) goto CONT0; - if (CRUS_Q == 3) goto CONT1; - if (CRUS_Q == 4) goto CONT2; - if (CRUS_Q > 4) goto CONT3; - mes "Welcome, can I help you with something?"; - next; - menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-; - mes "[^000080Michael Halig^000000]"; - mes "Oh, all right."; - next; - mes "[^000080Michael Halig^000000]"; - mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back."; - close; - JOB: - mes "[^000080Michael Halig^000000]"; - mes "All right, let me take a look at you first."; - next; - if (JobLevel != 50) goto SKIP; - set JBLVL,50; - set CRUS_Q,5; - goto TEST1; - SKIP: - if (JobLevel > 39) goto OKAY; - mes "[^000080Michael Halig^000000]"; - mes "I'm sorry, but you need to be at least at a job level of 40."; - next; - mes "[^000080Michael Halig^000000]"; - mes "All 2nd jobs require that."; - close; - OKAY: - if (SkillPoint == 0) goto OKAY0; - JOB0: - mes "[^000080Michael Halig^000000]"; - mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first."; - close; - OKAY0: - mes "[^000080Michael Halig^000000]"; - mes "Everything looks all right."; - set CRUS_Q,1; - next; - mes "[^000080Michael Halig^000000]"; - mes "All right, shall we begin the tests?"; - next; - menu "Yes, of course.",OKAY1,"Not yet.",-; - mes "[^000080Michael Halig^000000]"; - mes "Oh, all right. Come back when you're ready."; - close; - OKAY1: - if (SkillPoint != 0) goto JOB0; - set CRUS_Q,2; - mes "[^000080Michael Halig^000000]"; - mes "All right, the first test requires you to collect items."; - next; - set CRUS_Q, rand (2); - set CRUS_Q,CRUS_Q + 3; - mes "[^000080Michael Halig^000000]"; - mes "Bring back the following items:"; - if (CRUS_Q != 3) goto IT; - mes "- 10 ^FF0000Decayed Nails^000000"; - mes "- 10 ^FF0000Daenggies^000000"; - mes "- 10 ^FF0000Worn-out Prison Uniforms^000000"; - mes "- 10 ^FF0000Stinky Scales^000000"; - close; - IT: - mes "- 10 ^FF0000Lanterns^000000"; - mes "- 10 ^FF0000Horrendous Mouths^000000"; - mes "- 10 ^FF0000Rotten Bandages^000000"; - mes "- 10 ^FF0000Jack 'o Pumpkins^000000"; - close; - - ASK: - mes "[^000080Michael Halig^000000]"; - mes "To be a ^800000Crusader^000000 is to fight for the righteous people."; - mes "Not always those who are in power, but rather for the justly cause."; - next; - mes "[^000080Michael Halig^000000]"; - mes "I hope that you consider to become one."; - mes "To fight for good is a job that should be done by everyone to some extent."; - close; - ASK0: - mes "[^000080Michael Halig^000000]"; - mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world."; - mes "A ^800000Crusader^000000 is a person of righteousness at work."; - close; - CONT: - mes "Have you changed your mind?"; - next; - menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-; - mes "[^000080Michael Halig^000000]"; - mes "I see... That's a shame."; - next; - mes "[^000080Michael Halig^000000]"; - mes "Come back if you do want to."; - close; - CONT0: - mes "Well, hm..."; - next; - mes "[^000080Michael Halig^000000]"; - mes "I was expecting that someone like you would pass."; - next; - mes "[^000080Michael Halig^000000]"; - mes "Mind to try again?"; - next; - menu "Yes, of course.",OKAY1,"No, I'm all right.",-; - mes "[^000080Michael Halig^000000]"; - mes "Oh, all right."; - close; - CONT1: - set @item,0; - if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail, - mes "- 10 ^FF0000Decayed Nails^000000"; - set @item, item +1; - ITEM7: - if(countitem(901)>=10) goto ITEM8;//Items: Daenggie, - mes "You still miss the this item"; - mes "- 10 ^FF0000Danggies^000000"; - set @item, item +1; - ITEM8: - if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform, - mes "You still miss the this item"; - mes "- 10 ^FF0000Worn-out Prison Uniforms^000000"; - set @item, item +1; - ITEM9: - if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale, - mes "You still miss the this item"; - mes "- 10 ^FF0000Stinky Scales^000000"; - set @item, item +1; - ITEM10: - if (@item == 0) goto DONE; - close; - DONE: - mes "Good job!"; - mes "You collected everything!"; - delitem 957,10;//Items: Decayed_Nail, - delitem 901,10;//Items: Daenggie, - delitem 1099,10;//Items: Worn-out_Prison_Uniform, - delitem 959,10;//Items: Stinky_Scale, - set CRUS_Q,5; - TEST1: - next; - mes "[^000080Michael Halig^000000]"; - mes "All right, let's move on to the 2nd test."; - next; - mes "[^000080Michael Halig^000000]"; - mes "Go to the prison, it's in the basement"; - mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you."; - close; - CONT2: - set @item, 0; - if(countitem(1041)>=10) goto ITEM11;//Items: Lantern, - mes "You still miss the this item"; - mes "- 10 ^FF0000Lanterns^000000"; - set @item, item +1; - ITEM11: - if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth, - mes "You still miss the this item"; - mes "- 10 ^FF0000Horrendous Mouths^000000"; - set @item, item +1; - ITEM12: - if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage, - mes "You still miss the this item"; - mes "- 10 ^FF0000Rotten Bandages^000000"; - set @item, item +1; - ITEM13: - if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin, - mes "You still miss the this item"; - mes "- 10 ^FF0000Jack 'o Pumpkins^000000"; - set @item, item +1; - ITEM14: - if (@item== 0) GOTO DONE0; - close; - DONE0: - mes "Good job!"; - mes "You collected everything!"; - delitem 1041,10;//Items: Lantern, - delitem 958,10;//Items: Horrendous_Mouth, - delitem 930,10;//Items: Rotten_Bandage, - delitem 1062,10;//Items: Jack_'o_Pumpkin, - set CRUS_Q,5; - goto TEST1; - CONT3: - if (CRUS_Q == 8) goto CONT4; - if (CRUS_Q > 8) goto CONT5; - mes "Please talk to the man in the prison to continue."; - mes "Make sure you bring a ^FF0000Rosary^000000 with you."; - close; - CONT4: - mes "Great job in accomplishing the ^FF8000Patience Test^000000!"; - next; - mes "[^000080Michael Halig^000000]"; - mes "Now to move on to the ^FF8000Knowledge Test^000000."; - mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge."; - set CRUS_Q,9; - close; - CONT5: - if (CRUS_Q == 13) goto CONT6; - if (CRUS_Q == 14) goto CONT7; - mes "Please go talk to Gabriel Valentine at the Cathedral to continue."; - close; - CONT6: - mes "Excellent work in completing all the necessary tests!"; - mes "Now let me examine you before you become a ^800000Crusader^000000."; - next; - set CRUS_Q,14; - mes "[^000080Michael Halig^000000]"; - CONT7: - if (SkillPoint == 0) goto GOOD; - mes "I'm sorry, but you'll need to use up all your skill points first."; - close; - GOOD: - mes "This is to compliment your job change."; - if (JBLVL != 50) getitem 1409,1;//Items: Pike__, - if (JBLVL == 50) getitem 1408,1;//Items: Pike_, - - callfunc "Job_Change",Job_Crusader; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - close; -NEXT0: - if (BaseJob != 2) goto NEXT1; - mes "Hello, welcome to the ^008000Castle of Prontera^000000."; - mes "Hope you have a good day!"; - close; -NEXT1: - if (BaseJob != 3) goto NEXT2; - mes "Good luck in your hunting."; - close; -NEXT2: - if (BaseJob != 4) goto NEXT3; - mes "Good day to you!"; - mes "Hope you do well to find your path."; - close; -NEXT3: - if (BaseJob != 5) goto NEXT4; - mes "Hello, we don't currently need anything, sorry about that."; - close; -NEXT4: - if (BaseJob != 6) goto NEXT5; - mes "Better watch yourself."; - close; -NEXT5: - if (BaseJob != 7) goto NEXT6; - mes "Good day to you, " + strcharinfo(0); - close; -NEXT6: - if (BaseJob != 8) goto NEXT7; - mes "Good day, "+ strcharinfo(0); - mes "I would hope to believe that all is going well."; - close; -NEXT7: - if (BaseJob != 9) goto NEXT8; - mes "Hello, welcome to the ^008000Castle of Prontera^000000."; - mes "Nice to have you wish us."; - close; -NEXT8: - if (BaseJob != 10) goto NEXT9; - mes "Hello, we're not in need of any weapons or armour at the moment, thank you."; - close; -NEXT9: - if (BaseJob != 11) goto NEXT10; - mes "Hello, wish you luck for your success."; - close; -NEXT10: - if (BaseJob != 12) goto NEXT11; - mes "Stay out of trouble, you don't want the guards to come after you, now do you?"; - close; -NEXT11: - if (BaseJob != 14) goto NEXT12; - mes "Good day, "+ strcharinfo(0); - close; -NEXT12: - if (BaseJob != 15) goto NEXT13; - mes "Hello, welcome to the ^008000Castle of Prontera^000000."; - close; -NEXT13: - if (BaseJob != 16) goto NEXT14; - mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay."; - close; -NEXT14: - if (BaseJob != 17) goto NEXT15; - mes "Stay out of trouble if you know what's good for you."; - close; -NEXT15: - if (BaseJob != 18) goto NEXT16; - mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?"; - close; -NEXT16: - if (BaseJob != 19) goto NEXT17; - mes "Welcome to the castle, good sir."; - close; -NEXT17: - if (BaseJob != 20) goto NEXT18; - mes "Good day, miss."; - close; -NEXT18: - if (BaseJob != 22) goto NEXT19; - if (Sex != 0) goto MALE; - mes "Hello, welcome to the ^008000Castle of Prontera^000000."; - close; - MALE: - mes "Well done, sir!"; - close; -NEXT19: - mes "Hello and good day!"; - close; -} - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Man in Anguish - Crusader Job Quest - 2nd Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -prt_castle.gat,164,32,0 script Man in Anguish 733,{ - if (CRUS_Q == 7) goto CONT; - if (CRUS_Q > 7) goto CONT0; - mes "[^000080Murnak Mijoul^000000]"; - mes "Who... who are you?"; - next; - if (CRUS_Q == 5) goto CHECK; - - OTHER: - if (CRUS_Q == 6) goto EXIT1; - mes "[^000080Murnak Mijoul^000000]"; - mes "What do you want?"; - mes "Leave me alone~!"; - close; - CHECK: - if (countitem(2608) == 0) goto NOT;//Items: Rosary, - - mes "[^000080Murnak Mijoul^000000]"; - mes "I see, you're here for the job."; - next; - mes "[^000080Murnak Mijoul^000000]"; - mes "It's torture."; - mes "They send me to that room time and time again."; - next; - mes "[^000080Murnak Mijoul^000000]"; - mes "I've grown awefully weak from it."; - next; - mes "[^000080Murnak Mijoul^000000]"; - mes "But if it's your wish, I will send to there."; - next; - menu "Yes.",-,"On second thought...",EXIT; - mes "[^000080Murnak Mijoul^000000]"; - mes "All right then... I'll tell you where to go."; - GO: - next; - savepoint "prt_castle.gat",162,27; - if (getmapusers("job_cru.gat") > 0) goto EXIT0; - set CRUS_Q,6; - warp "job_cru.gat",23,42; - EXIT0: - mes "[^000080Murnak Mijoul^000000]"; - mes "I'm sorry, there's already another person there right now."; - mes "Please wait a little longer."; - close; - EXIT: - mes "[^000080Murnak Mijoul^000000]"; - mes "Please do not disturb me then!"; - close; - NOT: - mes "[^000080Murnak Mijoul^000000]"; - mes "Leave me alone!"; - mes "Can't you leave someone in pain alone ?"; - close; - - CONT: - mes "[^000080Murnak Mijoul^000000]"; - mes "I see you've passed. Good work."; - set CRUS_Q,8; - close; - EXIT1: - mes "[^000080Murnak Mijoul^000000]"; - mes "Sorry but you're going to need to go again."; - goto GO; - CONT0: - mes "[^000080Murnak Mijoul^000000]"; - mes "There is nothing else you need from me."; - mes "Let me be..."; - close; -} - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Gabriel Valentine - Crusader Job Quest - Knowledge Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -prt_church.gat,94,116,0 script Gabriel Valentine 745,{ - mes "[^000080Gabriel Valentine^000000]"; - if (BaseJob != 0) goto NEXT_o; - mes "Hello young traveler."; - close; -NEXT_o: - if (BaseJob != 1) goto NEXT0; - mes "Hello, " + strcharinfo(0); - next; - if (CRUS_Q != 9) goto EXIT; - BEGIN: - menu "Take the Knowledge test.",-,"Nothing.",EXIT; - mes "[^000080Gabriel Valentine^000000]"; - mes "Oh, on your way to become a ^800000Crusader^000000 huh?"; - mes "Okay..."; - next; - START: - set @Q , 0; - set @Q1 , 0; - set @Q2 , 0; - set @Q3 , 0; - set @Q4 , 0; - set @Q5 , 0; - set @Q6 , 0; - set @Q7 , 0; - set @Q8 , 0; - set @Q9 , 0; - set @Q10 , 0; - set @Q11 , 0; - set @Q12 , 0; - set @Q13 , 0; - set @Q14 , 0; - set @Q15 , 0; - set @Q16 , 0; - set @Q17 , 0; - set @Q18 , 0; - set @Q19 , 0; - set @Q20 , 0; - set @ANS , 0; - RND: - if (@Q > 10) goto DONE; - set @RND, rand(20); - if (@RND > 9) goto G1; - if (@RND > 4) goto G1A; - if (@RND > 3) goto G1A1; - if (@RND == 0) goto Q1; - if (@RND == 1) goto Q2; - if (@RND != 1) goto Q3; - G1A1: - if (@RND == 3) goto Q4; - if (@RND != 3) goto Q5; - G1A: - if (@RND > 8) goto G1A2; - if (@RND == 5) goto Q6; - if (@RND == 6) goto Q7; - if (@RND != 6) goto Q8; - G1A2: - if (@RND == 8) goto Q9; - if (@RND != 8) goto Q10; - G1: - if (@RND > 14) goto G2A; - if (@RND > 13) goto G2A1; - if (@RND == 10) goto Q11; - if (@RND == 11) goto Q12; - if (@RND == 12) goto Q13; - G2A1: - if (@RND == 13) goto Q14; - if (@RND == 14) goto Q15; - G2A: - if (@RND > 18) goto G2A2; - if (@RND == 15) goto Q16; - if (@RND == 16) goto Q17; - if (@RND == 17) goto Q18; - G2A2: - if (@RND == 18) goto Q19; - if (@Q20 != 0) goto RND; - set @Q20,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Are you willing to risk your life to save someone else?"; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q1: - if (@Q1 != 0) goto RND; - set @Q1,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "If someone asks you to help them for a good cause, will you oblige?"; - next; - menu "Yes",-,"No",RND; - set @ANS, @ANS + 1; - goto RND; - Q2: - if (@Q2 != 0) goto RND; - set @Q2, 1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Would you allow a robber to get away with stolen goods?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q3: - if (@Q3 != 0) goto RND; - set @Q3,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Do you wish that the world was at harmony?"; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q4: - if (@Q4 != 0) goto RND; - set @Q4,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Will you ever attempt suicide?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q5: - if (@Q5 != 0) goto RND; - set @Q5,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Will you intoxicate yourself at parties?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q6: - if (@Q6 != 0) goto RND; - set @Q6,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Will you openly massacre?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q7: - if (@Q7 != 0) goto RND; - set @Q7,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Will you hold your temper during arguments?"; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q8: - if (@Q8 != 0) goto RND; - set @Q8,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "Would you allow alchemists to perform illegal experiments?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q9: - if (@Q9 != 0) goto RND; - set @Q9,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "If someone threw a stone at you, you'd become furious."; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q10: - if (@Q10 != 0) goto RND; - set @Q10,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "If someone offered you money that belongs to someone poor, would you take it?"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q11: - if (@Q11 != 0) goto RND; - set @Q11,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You think highly of yourself."; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q12: - if (@Q12 != 0) goto RND; - set @Q12,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You are humble before others."; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q13: - if (@Q13 != 0) goto RND; - set @Q13,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You answer people full of respect and with kindness."; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q14: - if (@Q14 != 0) goto RND; - set @Q14,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You fight when you feel like it."; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q15: - if (@Q15 != 0) goto RND; - set @Q15,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You go to the pub every night."; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q16: - if (@Q16 != 0) goto RND; - set @Q16,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You believe in the Father, Son and Holy Spirit."; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - Q17: - if (@Q17 != 0) goto RND; - set @Q17,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You believe that the Devil is evil and cruel and should be treated the same way."; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q18: - if (@Q18 != 0) goto RND; - set @Q18,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "You believe that talk is for wimps and that action plays the main role in peace-making"; - next; - menu "Yes",RND,"No",-; - set @ANS,@ANS + 1; - goto RND; - Q19: - if (@Q19 != 0) goto RND; - set @Q19,1; - set @Q,@Q + 1; - mes "[^000080Gabriel Valentine^000000]"; - mes "If all other means to keep peace fail, THEN it is all right to resort to violence."; - next; - menu "Yes",-,"No",RND; - set @ANS,@ANS + 1; - goto RND; - DONE: - mes "[^000080Gabriel Valentine^000000]"; - mes "You got "+ @ANS +" / 10 questions correct."; - next; - if (CRUS_Q != 10) goto secND; - if (@ANS < 8) goto NO; - PASS: - mes "[^000080Gabriel Valentine^000000]"; - mes "Excellent work! You qualify to pass the ^FF8000Knowledge Test^000000!"; - mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000."; - set CRUS_Q, 11; - close; - NO: - set CRUS_Q, 10; - mes "[^000080Gabriel Valentine^000000]"; - mes "I'm sorry, you didn't get enough to qualify."; - next; - mes "[^000080Gabriel Valentine^000000]"; - mes "Try giving it another go when you feel you're ready."; - mes "I'll only expect you to get at least 8 correct from now on."; - close; - secND: - if (@ANS > 7) goto PASS; - mes "[^000080Gabriel Valentine^000000]"; - mes "I'm sorry, you didn't get enough correct."; - close; - EXIT: - if (CRUS_Q == 10) goto BEGIN; - if (CRUS_Q > 10) goto FINISH; - close; - FINISH: - mes "[^000080Gabriel Valentine^000000]"; - mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000."; - close; -NEXT0: - if (BaseJob != 2) goto NEXT1; - mes "Hello, welcome to the ^008000Prontera Chivalry^000000."; - mes "Hope you have a good day!"; - close; -NEXT1: - if (BaseJob != 3) goto NEXT2; - mes "Good luck in your hunting."; - close; -NEXT2: - if (BaseJob != 4) goto NEXT3; - mes "Good day to you!"; - mes "Hope you do well to find your path."; - close; -NEXT3: - if (BaseJob != 5) goto NEXT4; - mes "Hello, we don't currently need anything, sorry about that."; - close; -NEXT4: - if (BaseJob != 6) goto NEXT5; - mes "Better watch yourself."; - close; -NEXT5: - if (BaseJob != 7) goto NEXT6; - mes "Good day to you, "+ strcharinfo(0); - close; -NEXT6: - if (BaseJob != 8) goto NEXT7; - mes "Good day, " + strcharinfo(0); - mes "I would hope to believe that all is going well."; - close; -NEXT7: - if (BaseJob != 9) goto NEXT8; - mes "Hello! Nice to have you wish us."; - close; -NEXT8: - if (BaseJob != 10) goto NEXT9; - mes "Hello, we're not in need of any weapons or armour at the moment, thank you."; - close; -NEXT9: - if (BaseJob != 11) goto NEXT10; - mes "Hello, wish you luck for your success."; - close; -NEXT10: - if (BaseJob != 12) goto NEXT11; - mes "Stay out of trouble, you don't want the guards to come after you, now do you?"; - close; -NEXT11: - if (BaseJob != 14) goto NEXT12; - mes "Good day, " + strcharinfo(0); - close; -NEXT12: - if (BaseJob != 15) goto NEXT13; - mes "Hello, welcome to the ^008000Knight's Headquarters^000000."; - close; -NEXT13: - if (BaseJob != 16) goto NEXT14; - mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay."; - close; -NEXT14: - if (BaseJob != 17) goto NEXT15; - mes "Stay out of trouble if you know what's good for you."; - close; -NEXT15: - if (BaseJob != 18) goto NEXT16; - mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?"; - close; -NEXT16: - if (BaseJob != 19) goto NEXT17; - mes "Welcome to the castle, good sir."; - close; -NEXT17: - if (BaseJob != 20) goto NEXT18; - mes "Good day, miss."; - close; -NEXT18: - if (BaseJob != 22) goto NEXT19; - if (Sex != 0) goto MALE; - mes "Hello, welcome to the ^008000Knight's Headquarters^000000."; - close; - MALE: - mes "Well done, sir!"; - close; -NEXT19: - mes "Hello and good day!"; - close; -} - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Bliant Piyord - Crusader Job Quest - Purification Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -prt_in.gat,83,97,0 script Patron Knight 734,{ - mes "[^000080Bliant Piyord^000000]"; - if (BaseJob != 0) goto NEXT_o; - mes "Hello, young traveler."; - mes "Welcome."; - close; -NEXT_o: - if (BaseJob != 1) goto NEXT0; - if (CRUS_Q == 11) goto PART1; - if (CRUS_Q == 12) goto PART2; - if (CRUS_Q != 13) goto EXIT; - mes "Well done!"; - mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000."; - close; - PART2: - if (@CRU2 == 43) goto EXIT2; - PART2A: - mes "So, do you want to try again?"; - next; - menu "Yes",TEST,"No",-; - mes "[^000080Bliant Piyord^000000]"; - mes "Oh, okay then."; - close; - PART1: - mes "Hello, " + strcharinfo(0); - mes "I see that you've passed thus far."; - next; - mes "[^000080Bliant Piyord^000000]"; - mes "Don't let me down in this test."; - mes "This is the ^FF8000Purification Test^000000."; - mes "I will take you to the proper location when you are ready."; - next; - menu "I want to go now.",-,"All right, just a second.",EXIT0; - TEST: - mes "[^000080Bliant Piyord^000000]"; - mes "Let me make sure it's empty first."; - next; - if( getmapusers("job_cru.gat")>0 ) goto EXIT1; - killmonster "job_cru.gat","CR_KILL"; - savepoint "prt_in.gat",81,100; - set CRUS_Q, 12; - warp "job_cru",167,175; - EXIT1: - mes "[^000080Bliant Piyord^000000]"; - mes "I'm sorry, but someone else is inside at the moment."; - close; - EXIT0: - mes "[^000080Bliant Piyord^000000]"; - mes "No problem, take as long as you need."; - close; - EXIT: - mes "Hello, " + strcharinfo(0); - mes "So how are things coming along with building up your abilities?"; - mes "Are you strong enough to become a ^800000Crusader^000000 yet?"; - next; - mes "[^000080Bliant Piyord^000000]"; - mes "If you do, you'll find yourself coming back to me for one of the tests."; - close; -EXIT2: - mes "Well done!"; - set CRUS_Q,13; - next; - mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000."; - close; -NEXT0: - if (BaseJob != 2) goto NEXT1; - mes "It's nice to see you."; - mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe."; - close; -NEXT1: - if (BaseJob != 3) goto NEXT2; - mes "Welcome, I hope you have a great day!"; - close; -NEXT2: - if (BaseJob != 4) goto NEXT3; - mes "Good day to you!"; - close; -NEXT3: - if (BaseJob != 5) goto NEXT4; - mes "Hello, sorry but I'm not in need of anything."; - close; -NEXT4: - if (BaseJob != 6) goto NEXT5; - mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere."; - close; -NEXT5: - if (BaseJob != 7) goto NEXT6; - mes "Welcome!"; - mes "I hope you have a great day!"; - close; -NEXT6: - if (BaseJob != 8) goto NEXT7; - mes "Welcome to ^00FF00Prontera^000000!"; - mes "Hope you have a good day!"; - close; -NEXT7: - if (BaseJob != 9) goto NEXT8; - mes "Hello! Glad to see people of your stature here!"; - close; -NEXT8: - if (BaseJob != 10) goto NEXT9; - mes "I appreciate your presence, but I don't need anything at the moment."; - mes "Sorry about that."; - close; -NEXT9: - if (BaseJob != 11) goto NEXT10; - mes "How goes the hunting campaign?"; - mes "Hope everything is going all right."; - close; -NEXT10: - if (BaseJob != 12) goto NEXT11; - mes "Stay out of trouble, you hear me?"; - close; -NEXT11: - if (BaseJob != 14) goto NEXT12; - mes "Welcome! Good day to you!"; - close; -NEXT12: - if (BaseJob != 15) goto NEXT13; - mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one."; - close; -NEXT13: - if (BaseJob != 16) goto NEXT14; - mes "It's good to see people of your stature here in ^00FF00Prontera^000000!"; - close; -NEXT14: - if (BaseJob != 17) goto NEXT15; - mes "Be careful if you don't want to get caught."; - mes "I don't want to have to hang you or something."; - close; -NEXT15: - if (BaseJob != 18) goto NEXT16; - mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up."; - close; -NEXT16: - if (BaseJob != 19) goto NEXT17; - mes "Ah, what a fine day it is to have such a person as yourself to come and visit."; - close; -NEXT17: - if (BaseJob != 20) goto NEXT18; - mes "Welcome, good day to you!"; - close; -NEXT18: - if (BaseJob != 22) goto NEXT19; - if (Sex != 0) goto MALE; - mes "Wow! Congratulations on your marriage!"; - close; - MALE: - mes "Well done! I congratulate you upon your marriage!"; - close; -NEXT19: - mes "Good day to you!"; - close; -} - - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Entry A - Crusader Job Quest - Patience Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- - -job_cru.gat,23,42,0 script CR_DEAD -1,{ - killmonster "job_cru.gat","CR_DEAD"; - set @CRU1,0; - enablenpc "CR_TST_2"; - warp "prt_castle.gat",162,27; -} - - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Entry - Crusader Job Quest - Patience Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -job_cru.gat,23,42,0 script CR_TST_2 139,8,8,{ - - if (CRUS_Q != 6) goto EXIT; - set @CRU1,1; - mapannounce "job_cru.gat","Please endure here and go to the exit.",8; - - monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD"; - monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD"; - monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD"; - monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD"; - monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD"; - monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD"; - monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD"; - monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD"; - monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD"; - monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD"; - monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD"; - monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD"; - disablenpc "CR_TST_2"; - end; - EXIT: - warp "prt_castle.gat",162,27; -} - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Exit - Crusader Job Quest - Patience Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -job_cru.gat,23,109,0 script CR_EXT_1 139,1,1,{ - -if (@CRU1 == 0) goto JUMP; - set CRUS_Q,7; - killmonster "job_cru.gat","CR_DEAD"; - enablenpc "CR_TST_2"; -JUMP: - warp "prt_castle.gat",162,28; -} - - - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Fighting Area - Crusader Job Quest - 4th Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- - -job_cru.gat,167,175,0 script CR_KILL -1,{ - - if (@CRU2 == 43) goto good; - - set @CRU2,@CRU2 +1; - announce "You killed another monster.",3; - end; - - good: - announce "You killed all monsters, you may go to the exit.",3; - end; -} - -job_cru.gat,167,175,0 script CR_TST_4 139,1,1,{ - - if(CRUS_Q != 12) goto EXIT; - set @CRU2,1; - announce "Defeat all the enemies.",3; - monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL"; - monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL"; - monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL"; - monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL"; - monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL"; - disablenpc "CR_TST_4"; - EXIT: - end; -} - - -//----------------------------------------------------------------------------------------------------------------------------------------------------- -// -// Test 4 Exit - Crusader Job Quest - 4th Test -// By Black Dragon based on the information at RagnaInfo -// -//----------------------------------------------------------------------------------------------------------------------------------------------------- -job_cru.gat,167,17,0 script CR_EXT_4 139,2,2,{ - enablenpc "CR_TST_4"; - warp "prt_in.gat",81,100; -} - -//============================================================================== -// mapflag -//============================================================================== -job_cru.gat mapflag nomemo -job_cru.gat mapflag noteleport -job_cru.gat mapflag nosave SavePoint -job_cru.gat mapflag nopenalty -job_cru.gat mapflag nobranch -job_cru.gat mapflag noexp -job_cru.gat mapflag noloot +////===== eAthena Script ======================================= +//= Crusader Quest +//===== By: ================================================== +//= Made by: Black Dragon +//= Converted by: Shin +//= +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== +//= eAthena 0.5.2 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Need optimalization and fixing +//= thanks to Komurka, KiLLaLeN, Lupus (fixing error) +//= just a temp Job Quest +//= 1.2 minor fix of announcement by Freya people +//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward +//= also fixed too common script names [Lupus] +//= 1.3a fixed "dead lock" bugs [Lupus] +//= 1.3b changed monsters ID in patience test [Komurka] +//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka) +//= 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] +//= 1.7 Updated names and required items, Chivalry Emblem + +//= Hand of God allow to skip item gathering [DracoRPG] +//= 2.0 Changed numbers to constants. [Vicious] +//============================================================ + + +prt_castle.gat,45,169,4 script Senior Crusader 752,{ + callfunc "F_BlockHigh",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin","^000080Michael Halig^000000"; + + mes "[^000080Michael Halig^000000]"; + if (BaseJob > 0) goto NEXT_0; + if (BaseJob == 0) goto NOV; + mes "Hello "+ strcharinfo(0); + mes "I see that you've registered to the ^008000Swordsman's Association^000000."; + TALK: + next; + mes "[^000080Michael Halig^000000]"; + mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000."; + next; + mes "[^000080Michael Halig^000000]"; + mes "If you decide to go along the path of the ^800000Crusader^000000, come back here."; + mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job."; + close; + NOV: + mes "Hello there."; + goto TALK; +NEXT_0: + if (BaseJob > 1) goto NEXT0; + if (CRUS_Q == 1) goto CONT; + if (CRUS_Q == 2) goto CONT0; + if (CRUS_Q == 3) goto CONT1; + if (CRUS_Q == 4) goto CONT2; + if (CRUS_Q > 4) goto CONT3; + mes "Welcome, can I help you with something?"; + next; + menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-; + mes "[^000080Michael Halig^000000]"; + mes "Oh, all right."; + next; + mes "[^000080Michael Halig^000000]"; + mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back."; + close; + JOB: + mes "[^000080Michael Halig^000000]"; + mes "All right, let me take a look at you first."; + next; + if (JobLevel != 50) goto SKIP; + set JBLVL,50; + set CRUS_Q,5; + goto TEST1; + SKIP: + if (JobLevel > 39) goto OKAY; + mes "[^000080Michael Halig^000000]"; + mes "I'm sorry, but you need to be at least at a job level of 40."; + next; + mes "[^000080Michael Halig^000000]"; + mes "All 2nd jobs require that."; + close; + OKAY: + if (SkillPoint == 0) goto OKAY0; + JOB0: + mes "[^000080Michael Halig^000000]"; + mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first."; + close; + OKAY0: + mes "[^000080Michael Halig^000000]"; + mes "Everything looks all right."; + set CRUS_Q,1; + next; + mes "[^000080Michael Halig^000000]"; + mes "All right, shall we begin the tests?"; + next; + menu "Yes, of course.",OKAY1,"Not yet.",-; + mes "[^000080Michael Halig^000000]"; + mes "Oh, all right. Come back when you're ready."; + close; + OKAY1: + if (SkillPoint != 0) goto JOB0; + set CRUS_Q,2; + mes "[^000080Michael Halig^000000]"; + mes "All right, the first test requires you to collect items."; + next; + set CRUS_Q, rand (2); + set CRUS_Q,CRUS_Q + 3; + mes "[^000080Michael Halig^000000]"; + mes "Bring back the following items:"; + if (CRUS_Q != 3) goto IT; + mes "- 10 ^FF0000Decayed Nails^000000"; + mes "- 10 ^FF0000Daenggies^000000"; + mes "- 10 ^FF0000Worn-out Prison Uniforms^000000"; + mes "- 10 ^FF0000Stinky Scales^000000"; + close; + IT: + mes "- 10 ^FF0000Lanterns^000000"; + mes "- 10 ^FF0000Horrendous Mouths^000000"; + mes "- 10 ^FF0000Rotten Bandages^000000"; + mes "- 10 ^FF0000Jack 'o Pumpkins^000000"; + close; + + ASK: + mes "[^000080Michael Halig^000000]"; + mes "To be a ^800000Crusader^000000 is to fight for the righteous people."; + mes "Not always those who are in power, but rather for the justly cause."; + next; + mes "[^000080Michael Halig^000000]"; + mes "I hope that you consider to become one."; + mes "To fight for good is a job that should be done by everyone to some extent."; + close; + ASK0: + mes "[^000080Michael Halig^000000]"; + mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world."; + mes "A ^800000Crusader^000000 is a person of righteousness at work."; + close; + CONT: + mes "Have you changed your mind?"; + next; + menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-; + mes "[^000080Michael Halig^000000]"; + mes "I see... That's a shame."; + next; + mes "[^000080Michael Halig^000000]"; + mes "Come back if you do want to."; + close; + CONT0: + mes "Well, hm..."; + next; + mes "[^000080Michael Halig^000000]"; + mes "I was expecting that someone like you would pass."; + next; + mes "[^000080Michael Halig^000000]"; + mes "Mind to try again?"; + next; + menu "Yes, of course.",OKAY1,"No, I'm all right.",-; + mes "[^000080Michael Halig^000000]"; + mes "Oh, all right."; + close; + CONT1: + set @item,0; + if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail, + mes "- 10 ^FF0000Decayed Nails^000000"; + set @item, item +1; + ITEM7: + if(countitem(901)>=10) goto ITEM8;//Items: Daenggie, + mes "You still miss the this item"; + mes "- 10 ^FF0000Danggies^000000"; + set @item, item +1; + ITEM8: + if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform, + mes "You still miss the this item"; + mes "- 10 ^FF0000Worn-out Prison Uniforms^000000"; + set @item, item +1; + ITEM9: + if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale, + mes "You still miss the this item"; + mes "- 10 ^FF0000Stinky Scales^000000"; + set @item, item +1; + ITEM10: + if (@item == 0) goto DONE; + close; + DONE: + mes "Good job!"; + mes "You collected everything!"; + delitem 957,10;//Items: Decayed_Nail, + delitem 901,10;//Items: Daenggie, + delitem 1099,10;//Items: Worn-out_Prison_Uniform, + delitem 959,10;//Items: Stinky_Scale, + set CRUS_Q,5; + TEST1: + next; + mes "[^000080Michael Halig^000000]"; + mes "All right, let's move on to the 2nd test."; + next; + mes "[^000080Michael Halig^000000]"; + mes "Go to the prison, it's in the basement"; + mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you."; + close; + CONT2: + set @item, 0; + if(countitem(1041)>=10) goto ITEM11;//Items: Lantern, + mes "You still miss the this item"; + mes "- 10 ^FF0000Lanterns^000000"; + set @item, item +1; + ITEM11: + if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth, + mes "You still miss the this item"; + mes "- 10 ^FF0000Horrendous Mouths^000000"; + set @item, item +1; + ITEM12: + if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage, + mes "You still miss the this item"; + mes "- 10 ^FF0000Rotten Bandages^000000"; + set @item, item +1; + ITEM13: + if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin, + mes "You still miss the this item"; + mes "- 10 ^FF0000Jack 'o Pumpkins^000000"; + set @item, item +1; + ITEM14: + if (@item== 0) GOTO DONE0; + close; + DONE0: + mes "Good job!"; + mes "You collected everything!"; + delitem 1041,10;//Items: Lantern, + delitem 958,10;//Items: Horrendous_Mouth, + delitem 930,10;//Items: Rotten_Bandage, + delitem 1062,10;//Items: Jack_'o_Pumpkin, + set CRUS_Q,5; + goto TEST1; + CONT3: + if (CRUS_Q == 8) goto CONT4; + if (CRUS_Q > 8) goto CONT5; + mes "Please talk to the man in the prison to continue."; + mes "Make sure you bring a ^FF0000Rosary^000000 with you."; + close; + CONT4: + mes "Great job in accomplishing the ^FF8000Patience Test^000000!"; + next; + mes "[^000080Michael Halig^000000]"; + mes "Now to move on to the ^FF8000Knowledge Test^000000."; + mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge."; + set CRUS_Q,9; + close; + CONT5: + if (CRUS_Q == 13) goto CONT6; + if (CRUS_Q == 14) goto CONT7; + mes "Please go talk to Gabriel Valentine at the Cathedral to continue."; + close; + CONT6: + mes "Excellent work in completing all the necessary tests!"; + mes "Now let me examine you before you become a ^800000Crusader^000000."; + next; + set CRUS_Q,14; + mes "[^000080Michael Halig^000000]"; + CONT7: + if (SkillPoint == 0) goto GOOD; + mes "I'm sorry, but you'll need to use up all your skill points first."; + close; + GOOD: + mes "This is to compliment your job change."; + if (JBLVL != 50) getitem 1409,1;//Items: Pike__, + if (JBLVL == 50) getitem 1408,1;//Items: Pike_, + + callfunc "Job_Change",Job_Crusader; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + close; +NEXT0: + if (BaseJob != 2) goto NEXT1; + mes "Hello, welcome to the ^008000Castle of Prontera^000000."; + mes "Hope you have a good day!"; + close; +NEXT1: + if (BaseJob != 3) goto NEXT2; + mes "Good luck in your hunting."; + close; +NEXT2: + if (BaseJob != 4) goto NEXT3; + mes "Good day to you!"; + mes "Hope you do well to find your path."; + close; +NEXT3: + if (BaseJob != 5) goto NEXT4; + mes "Hello, we don't currently need anything, sorry about that."; + close; +NEXT4: + if (BaseJob != 6) goto NEXT5; + mes "Better watch yourself."; + close; +NEXT5: + if (BaseJob != 7) goto NEXT6; + mes "Good day to you, " + strcharinfo(0); + close; +NEXT6: + if (BaseJob != 8) goto NEXT7; + mes "Good day, "+ strcharinfo(0); + mes "I would hope to believe that all is going well."; + close; +NEXT7: + if (BaseJob != 9) goto NEXT8; + mes "Hello, welcome to the ^008000Castle of Prontera^000000."; + mes "Nice to have you wish us."; + close; +NEXT8: + if (BaseJob != 10) goto NEXT9; + mes "Hello, we're not in need of any weapons or armour at the moment, thank you."; + close; +NEXT9: + if (BaseJob != 11) goto NEXT10; + mes "Hello, wish you luck for your success."; + close; +NEXT10: + if (BaseJob != 12) goto NEXT11; + mes "Stay out of trouble, you don't want the guards to come after you, now do you?"; + close; +NEXT11: + if (BaseJob != 14) goto NEXT12; + mes "Good day, "+ strcharinfo(0); + close; +NEXT12: + if (BaseJob != 15) goto NEXT13; + mes "Hello, welcome to the ^008000Castle of Prontera^000000."; + close; +NEXT13: + if (BaseJob != 16) goto NEXT14; + mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay."; + close; +NEXT14: + if (BaseJob != 17) goto NEXT15; + mes "Stay out of trouble if you know what's good for you."; + close; +NEXT15: + if (BaseJob != 18) goto NEXT16; + mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?"; + close; +NEXT16: + if (BaseJob != 19) goto NEXT17; + mes "Welcome to the castle, good sir."; + close; +NEXT17: + if (BaseJob != 20) goto NEXT18; + mes "Good day, miss."; + close; +NEXT18: + if (BaseJob != 22) goto NEXT19; + if (Sex != 0) goto MALE; + mes "Hello, welcome to the ^008000Castle of Prontera^000000."; + close; + MALE: + mes "Well done, sir!"; + close; +NEXT19: + mes "Hello and good day!"; + close; +} + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Man in Anguish - Crusader Job Quest - 2nd Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +prt_castle.gat,164,32,0 script Man in Anguish 733,{ + if (CRUS_Q == 7) goto CONT; + if (CRUS_Q > 7) goto CONT0; + mes "[^000080Murnak Mijoul^000000]"; + mes "Who... who are you?"; + next; + if (CRUS_Q == 5) goto CHECK; + + OTHER: + if (CRUS_Q == 6) goto EXIT1; + mes "[^000080Murnak Mijoul^000000]"; + mes "What do you want?"; + mes "Leave me alone~!"; + close; + CHECK: + if (countitem(2608) == 0) goto NOT;//Items: Rosary, + + mes "[^000080Murnak Mijoul^000000]"; + mes "I see, you're here for the job."; + next; + mes "[^000080Murnak Mijoul^000000]"; + mes "It's torture."; + mes "They send me to that room time and time again."; + next; + mes "[^000080Murnak Mijoul^000000]"; + mes "I've grown awefully weak from it."; + next; + mes "[^000080Murnak Mijoul^000000]"; + mes "But if it's your wish, I will send to there."; + next; + menu "Yes.",-,"On second thought...",EXIT; + mes "[^000080Murnak Mijoul^000000]"; + mes "All right then... I'll tell you where to go."; + GO: + next; + savepoint "prt_castle.gat",162,27; + if (getmapusers("job_cru.gat") > 0) goto EXIT0; + set CRUS_Q,6; + warp "job_cru.gat",23,42; + EXIT0: + mes "[^000080Murnak Mijoul^000000]"; + mes "I'm sorry, there's already another person there right now."; + mes "Please wait a little longer."; + close; + EXIT: + mes "[^000080Murnak Mijoul^000000]"; + mes "Please do not disturb me then!"; + close; + NOT: + mes "[^000080Murnak Mijoul^000000]"; + mes "Leave me alone!"; + mes "Can't you leave someone in pain alone ?"; + close; + + CONT: + mes "[^000080Murnak Mijoul^000000]"; + mes "I see you've passed. Good work."; + set CRUS_Q,8; + close; + EXIT1: + mes "[^000080Murnak Mijoul^000000]"; + mes "Sorry but you're going to need to go again."; + goto GO; + CONT0: + mes "[^000080Murnak Mijoul^000000]"; + mes "There is nothing else you need from me."; + mes "Let me be..."; + close; +} + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Gabriel Valentine - Crusader Job Quest - Knowledge Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +prt_church.gat,94,116,0 script Gabriel Valentine 745,{ + mes "[^000080Gabriel Valentine^000000]"; + if (BaseJob != 0) goto NEXT_o; + mes "Hello young traveler."; + close; +NEXT_o: + if (BaseJob != 1) goto NEXT0; + mes "Hello, " + strcharinfo(0); + next; + if (CRUS_Q != 9) goto EXIT; + BEGIN: + menu "Take the Knowledge test.",-,"Nothing.",EXIT; + mes "[^000080Gabriel Valentine^000000]"; + mes "Oh, on your way to become a ^800000Crusader^000000 huh?"; + mes "Okay..."; + next; + START: + set @Q , 0; + set @Q1 , 0; + set @Q2 , 0; + set @Q3 , 0; + set @Q4 , 0; + set @Q5 , 0; + set @Q6 , 0; + set @Q7 , 0; + set @Q8 , 0; + set @Q9 , 0; + set @Q10 , 0; + set @Q11 , 0; + set @Q12 , 0; + set @Q13 , 0; + set @Q14 , 0; + set @Q15 , 0; + set @Q16 , 0; + set @Q17 , 0; + set @Q18 , 0; + set @Q19 , 0; + set @Q20 , 0; + set @ANS , 0; + RND: + if (@Q > 10) goto DONE; + set @RND, rand(20); + if (@RND > 9) goto G1; + if (@RND > 4) goto G1A; + if (@RND > 3) goto G1A1; + if (@RND == 0) goto Q1; + if (@RND == 1) goto Q2; + if (@RND != 1) goto Q3; + G1A1: + if (@RND == 3) goto Q4; + if (@RND != 3) goto Q5; + G1A: + if (@RND > 8) goto G1A2; + if (@RND == 5) goto Q6; + if (@RND == 6) goto Q7; + if (@RND != 6) goto Q8; + G1A2: + if (@RND == 8) goto Q9; + if (@RND != 8) goto Q10; + G1: + if (@RND > 14) goto G2A; + if (@RND > 13) goto G2A1; + if (@RND == 10) goto Q11; + if (@RND == 11) goto Q12; + if (@RND == 12) goto Q13; + G2A1: + if (@RND == 13) goto Q14; + if (@RND == 14) goto Q15; + G2A: + if (@RND > 18) goto G2A2; + if (@RND == 15) goto Q16; + if (@RND == 16) goto Q17; + if (@RND == 17) goto Q18; + G2A2: + if (@RND == 18) goto Q19; + if (@Q20 != 0) goto RND; + set @Q20,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Are you willing to risk your life to save someone else?"; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q1: + if (@Q1 != 0) goto RND; + set @Q1,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "If someone asks you to help them for a good cause, will you oblige?"; + next; + menu "Yes",-,"No",RND; + set @ANS, @ANS + 1; + goto RND; + Q2: + if (@Q2 != 0) goto RND; + set @Q2, 1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Would you allow a robber to get away with stolen goods?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q3: + if (@Q3 != 0) goto RND; + set @Q3,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Do you wish that the world was at harmony?"; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q4: + if (@Q4 != 0) goto RND; + set @Q4,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Will you ever attempt suicide?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q5: + if (@Q5 != 0) goto RND; + set @Q5,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Will you intoxicate yourself at parties?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q6: + if (@Q6 != 0) goto RND; + set @Q6,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Will you openly massacre?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q7: + if (@Q7 != 0) goto RND; + set @Q7,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Will you hold your temper during arguments?"; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q8: + if (@Q8 != 0) goto RND; + set @Q8,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "Would you allow alchemists to perform illegal experiments?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q9: + if (@Q9 != 0) goto RND; + set @Q9,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "If someone threw a stone at you, you'd become furious."; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q10: + if (@Q10 != 0) goto RND; + set @Q10,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "If someone offered you money that belongs to someone poor, would you take it?"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q11: + if (@Q11 != 0) goto RND; + set @Q11,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You think highly of yourself."; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q12: + if (@Q12 != 0) goto RND; + set @Q12,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You are humble before others."; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q13: + if (@Q13 != 0) goto RND; + set @Q13,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You answer people full of respect and with kindness."; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q14: + if (@Q14 != 0) goto RND; + set @Q14,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You fight when you feel like it."; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q15: + if (@Q15 != 0) goto RND; + set @Q15,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You go to the pub every night."; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q16: + if (@Q16 != 0) goto RND; + set @Q16,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You believe in the Father, Son and Holy Spirit."; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + Q17: + if (@Q17 != 0) goto RND; + set @Q17,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You believe that the Devil is evil and cruel and should be treated the same way."; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q18: + if (@Q18 != 0) goto RND; + set @Q18,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "You believe that talk is for wimps and that action plays the main role in peace-making"; + next; + menu "Yes",RND,"No",-; + set @ANS,@ANS + 1; + goto RND; + Q19: + if (@Q19 != 0) goto RND; + set @Q19,1; + set @Q,@Q + 1; + mes "[^000080Gabriel Valentine^000000]"; + mes "If all other means to keep peace fail, THEN it is all right to resort to violence."; + next; + menu "Yes",-,"No",RND; + set @ANS,@ANS + 1; + goto RND; + DONE: + mes "[^000080Gabriel Valentine^000000]"; + mes "You got "+ @ANS +" / 10 questions correct."; + next; + if (CRUS_Q != 10) goto secND; + if (@ANS < 8) goto NO; + PASS: + mes "[^000080Gabriel Valentine^000000]"; + mes "Excellent work! You qualify to pass the ^FF8000Knowledge Test^000000!"; + mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000."; + set CRUS_Q, 11; + close; + NO: + set CRUS_Q, 10; + mes "[^000080Gabriel Valentine^000000]"; + mes "I'm sorry, you didn't get enough to qualify."; + next; + mes "[^000080Gabriel Valentine^000000]"; + mes "Try giving it another go when you feel you're ready."; + mes "I'll only expect you to get at least 8 correct from now on."; + close; + secND: + if (@ANS > 7) goto PASS; + mes "[^000080Gabriel Valentine^000000]"; + mes "I'm sorry, you didn't get enough correct."; + close; + EXIT: + if (CRUS_Q == 10) goto BEGIN; + if (CRUS_Q > 10) goto FINISH; + close; + FINISH: + mes "[^000080Gabriel Valentine^000000]"; + mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000."; + close; +NEXT0: + if (BaseJob != 2) goto NEXT1; + mes "Hello, welcome to the ^008000Prontera Chivalry^000000."; + mes "Hope you have a good day!"; + close; +NEXT1: + if (BaseJob != 3) goto NEXT2; + mes "Good luck in your hunting."; + close; +NEXT2: + if (BaseJob != 4) goto NEXT3; + mes "Good day to you!"; + mes "Hope you do well to find your path."; + close; +NEXT3: + if (BaseJob != 5) goto NEXT4; + mes "Hello, we don't currently need anything, sorry about that."; + close; +NEXT4: + if (BaseJob != 6) goto NEXT5; + mes "Better watch yourself."; + close; +NEXT5: + if (BaseJob != 7) goto NEXT6; + mes "Good day to you, "+ strcharinfo(0); + close; +NEXT6: + if (BaseJob != 8) goto NEXT7; + mes "Good day, " + strcharinfo(0); + mes "I would hope to believe that all is going well."; + close; +NEXT7: + if (BaseJob != 9) goto NEXT8; + mes "Hello! Nice to have you wish us."; + close; +NEXT8: + if (BaseJob != 10) goto NEXT9; + mes "Hello, we're not in need of any weapons or armour at the moment, thank you."; + close; +NEXT9: + if (BaseJob != 11) goto NEXT10; + mes "Hello, wish you luck for your success."; + close; +NEXT10: + if (BaseJob != 12) goto NEXT11; + mes "Stay out of trouble, you don't want the guards to come after you, now do you?"; + close; +NEXT11: + if (BaseJob != 14) goto NEXT12; + mes "Good day, " + strcharinfo(0); + close; +NEXT12: + if (BaseJob != 15) goto NEXT13; + mes "Hello, welcome to the ^008000Knight's Headquarters^000000."; + close; +NEXT13: + if (BaseJob != 16) goto NEXT14; + mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay."; + close; +NEXT14: + if (BaseJob != 17) goto NEXT15; + mes "Stay out of trouble if you know what's good for you."; + close; +NEXT15: + if (BaseJob != 18) goto NEXT16; + mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?"; + close; +NEXT16: + if (BaseJob != 19) goto NEXT17; + mes "Welcome to the castle, good sir."; + close; +NEXT17: + if (BaseJob != 20) goto NEXT18; + mes "Good day, miss."; + close; +NEXT18: + if (BaseJob != 22) goto NEXT19; + if (Sex != 0) goto MALE; + mes "Hello, welcome to the ^008000Knight's Headquarters^000000."; + close; + MALE: + mes "Well done, sir!"; + close; +NEXT19: + mes "Hello and good day!"; + close; +} + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Bliant Piyord - Crusader Job Quest - Purification Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +prt_in.gat,83,97,0 script Patron Knight 734,{ + mes "[^000080Bliant Piyord^000000]"; + if (BaseJob != 0) goto NEXT_o; + mes "Hello, young traveler."; + mes "Welcome."; + close; +NEXT_o: + if (BaseJob != 1) goto NEXT0; + if (CRUS_Q == 11) goto PART1; + if (CRUS_Q == 12) goto PART2; + if (CRUS_Q != 13) goto EXIT; + mes "Well done!"; + mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000."; + close; + PART2: + if (@CRU2 == 43) goto EXIT2; + PART2A: + mes "So, do you want to try again?"; + next; + menu "Yes",TEST,"No",-; + mes "[^000080Bliant Piyord^000000]"; + mes "Oh, okay then."; + close; + PART1: + mes "Hello, " + strcharinfo(0); + mes "I see that you've passed thus far."; + next; + mes "[^000080Bliant Piyord^000000]"; + mes "Don't let me down in this test."; + mes "This is the ^FF8000Purification Test^000000."; + mes "I will take you to the proper location when you are ready."; + next; + menu "I want to go now.",-,"All right, just a second.",EXIT0; + TEST: + mes "[^000080Bliant Piyord^000000]"; + mes "Let me make sure it's empty first."; + next; + if( getmapusers("job_cru.gat")>0 ) goto EXIT1; + killmonster "job_cru.gat","CR_KILL::OnStart"; + savepoint "prt_in.gat",81,100; + set CRUS_Q, 12; + warp "job_cru",167,175; + EXIT1: + mes "[^000080Bliant Piyord^000000]"; + mes "I'm sorry, but someone else is inside at the moment."; + close; + EXIT0: + mes "[^000080Bliant Piyord^000000]"; + mes "No problem, take as long as you need."; + close; + EXIT: + mes "Hello, " + strcharinfo(0); + mes "So how are things coming along with building up your abilities?"; + mes "Are you strong enough to become a ^800000Crusader^000000 yet?"; + next; + mes "[^000080Bliant Piyord^000000]"; + mes "If you do, you'll find yourself coming back to me for one of the tests."; + close; +EXIT2: + mes "Well done!"; + set CRUS_Q,13; + next; + mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000."; + close; +NEXT0: + if (BaseJob != 2) goto NEXT1; + mes "It's nice to see you."; + mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe."; + close; +NEXT1: + if (BaseJob != 3) goto NEXT2; + mes "Welcome, I hope you have a great day!"; + close; +NEXT2: + if (BaseJob != 4) goto NEXT3; + mes "Good day to you!"; + close; +NEXT3: + if (BaseJob != 5) goto NEXT4; + mes "Hello, sorry but I'm not in need of anything."; + close; +NEXT4: + if (BaseJob != 6) goto NEXT5; + mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere."; + close; +NEXT5: + if (BaseJob != 7) goto NEXT6; + mes "Welcome!"; + mes "I hope you have a great day!"; + close; +NEXT6: + if (BaseJob != 8) goto NEXT7; + mes "Welcome to ^00FF00Prontera^000000!"; + mes "Hope you have a good day!"; + close; +NEXT7: + if (BaseJob != 9) goto NEXT8; + mes "Hello! Glad to see people of your stature here!"; + close; +NEXT8: + if (BaseJob != 10) goto NEXT9; + mes "I appreciate your presence, but I don't need anything at the moment."; + mes "Sorry about that."; + close; +NEXT9: + if (BaseJob != 11) goto NEXT10; + mes "How goes the hunting campaign?"; + mes "Hope everything is going all right."; + close; +NEXT10: + if (BaseJob != 12) goto NEXT11; + mes "Stay out of trouble, you hear me?"; + close; +NEXT11: + if (BaseJob != 14) goto NEXT12; + mes "Welcome! Good day to you!"; + close; +NEXT12: + if (BaseJob != 15) goto NEXT13; + mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one."; + close; +NEXT13: + if (BaseJob != 16) goto NEXT14; + mes "It's good to see people of your stature here in ^00FF00Prontera^000000!"; + close; +NEXT14: + if (BaseJob != 17) goto NEXT15; + mes "Be careful if you don't want to get caught."; + mes "I don't want to have to hang you or something."; + close; +NEXT15: + if (BaseJob != 18) goto NEXT16; + mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up."; + close; +NEXT16: + if (BaseJob != 19) goto NEXT17; + mes "Ah, what a fine day it is to have such a person as yourself to come and visit."; + close; +NEXT17: + if (BaseJob != 20) goto NEXT18; + mes "Welcome, good day to you!"; + close; +NEXT18: + if (BaseJob != 22) goto NEXT19; + if (Sex != 0) goto MALE; + mes "Wow! Congratulations on your marriage!"; + close; + MALE: + mes "Well done! I congratulate you upon your marriage!"; + close; +NEXT19: + mes "Good day to you!"; + close; +} + + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Entry A - Crusader Job Quest - Patience Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- + +job_cru.gat,23,42,0 script CR_DEAD -1,{ + +OnStart: + killmonster "job_cru.gat","CR_DEAD::OnStart"; + set @CRU1,0; + enablenpc "CR_TST_2"; + warp "prt_castle.gat",162,27; +} + + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Entry - Crusader Job Quest - Patience Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +job_cru.gat,23,42,0 script CR_TST_2 139,8,8,{ + + if (CRUS_Q != 6) goto EXIT; + set @CRU1,1; + mapannounce "job_cru.gat","Please endure here and go to the exit.",8; + + monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD::OnStart"; + monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD::OnStart"; + monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD::OnStart"; + disablenpc "CR_TST_2"; + end; + EXIT: + warp "prt_castle.gat",162,27; +} + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Exit - Crusader Job Quest - Patience Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +job_cru.gat,23,109,0 script CR_EXT_1 139,1,1,{ + +if (@CRU1 == 0) goto JUMP; + set CRUS_Q,7; + killmonster "job_cru.gat","CR_DEAD::OnStart"; + enablenpc "CR_TST_2"; +JUMP: + warp "prt_castle.gat",162,28; +} + + + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Fighting Area - Crusader Job Quest - 4th Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- + +job_cru.gat,167,175,0 script CR_KILL -1,{ + +OnStart: + if (@CRU2 == 43) goto good; + + set @CRU2,@CRU2 +1; + announce "You killed another monster.",3; + end; + + good: + announce "You killed all monsters, you may go to the exit.",3; + end; +} + +job_cru.gat,167,175,0 script CR_TST_4 139,1,1,{ + + if(CRUS_Q != 12) goto EXIT; + set @CRU2,1; + announce "Defeat all the enemies.",3; + monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL::OnStart"; + monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL::OnStart"; + monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL::OnStart"; + monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL::OnStart"; + monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL::OnStart"; + disablenpc "CR_TST_4"; + EXIT: + end; +} + + +//----------------------------------------------------------------------------------------------------------------------------------------------------- +// +// Test 4 Exit - Crusader Job Quest - 4th Test +// By Black Dragon based on the information at RagnaInfo +// +//----------------------------------------------------------------------------------------------------------------------------------------------------- +job_cru.gat,167,17,0 script CR_EXT_4 139,2,2,{ + enablenpc "CR_TST_4"; + warp "prt_in.gat",81,100; +} + +//============================================================================== +// mapflag +//============================================================================== +job_cru.gat mapflag nomemo +job_cru.gat mapflag noteleport +job_cru.gat mapflag nosave SavePoint +job_cru.gat mapflag nopenalty +job_cru.gat mapflag nobranch +job_cru.gat mapflag noexp +job_cru.gat mapflag noloot -- cgit v1.2.3-70-g09d2