diff options
author | Playtester <Playtester@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-04-30 15:04:06 +0000 |
---|---|---|
committer | Playtester <Playtester@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-04-30 15:04:06 +0000 |
commit | 45679a4081d418bb719feaf66fe3a966b4c9e77e (patch) | |
tree | 43e7185e270120a9dd41c3b04f10beb70eab01d2 /npc/jobs/2-2/crusader.txt | |
parent | 4cda59dd53012e13193bc8875b231ddaf4df61ba (diff) | |
download | hercules-45679a4081d418bb719feaf66fe3a966b4c9e77e.tar.gz hercules-45679a4081d418bb719feaf66fe3a966b4c9e77e.tar.bz2 hercules-45679a4081d418bb719feaf66fe3a966b4c9e77e.tar.xz hercules-45679a4081d418bb719feaf66fe3a966b4c9e77e.zip |
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
Diffstat (limited to 'npc/jobs/2-2/crusader.txt')
-rw-r--r-- | npc/jobs/2-2/crusader.txt | 2373 |
1 files changed, 1188 insertions, 1185 deletions
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 |