////===== eAthena Script =======================================
//= Crusader Quest
//===== By: ==================================================
//= Made by: Black Dragon
//= Converted by: Shin
//=
//===== Current Version: =====================================
//= 2.3
//===== 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]
//= 2.1 Fixed endless loop, wrong condition check [Lupus]
//= also changed all job numbers to constants, fixed logic
//= 2.2 Updated All NPCs to the officials one [Samuray22]
//= -Based on the ASB 4.0 Package.
//= -Maybe need be checked the monsters in the test 2 and 4.
//= 2.3 Fixed some bugs that prevented from going further. [SinSloth]
//============================================================
//=============== Senior Crusader: 1� Collect Items Test============================
prt_castle,45,169,3 script Senior Crusader 752,5,5 {
if (Upper == 1) {
mes "[Michele Cantonyon]";
mes "We, the Crusader, follow Odin's will to prepare ourselves for the Holy War.";
mes "The history a thousand years ago will return, the demons will come to to invade our land.";
next;
mes "[Michele Cantonyon]";
mes "There are bette place that is suitable for you...";
mes "Do not stop here. Do not stop training yourself.";
close;
} else if(Class != Job_Swordman) {
if(Class == Job_Crusader) {
mes "[Michele Cantonyon]";
mes "Excuse me. For those who are ready for Holy Battle, please don't stop at here, and keep training.";
mes "The victory is belongs to those who has well prepared...";
next;
mes "[Michele Cantonyon]";
mes "When Malaria comes to the end, follow Odin's order to kill all the monsters.";
mes "We must keep training until the day we build our own Utopia.";
close;
} else if(Class == Job_Novice) {
mes "[Michele Cantonyon]";
mes "We are Crusader, who follows Odin's order to ready for battle.";
next;
mes "[Michele Cantonyon]";
mes "If you wan to join us, train yourself as a Swordman and then come back to here...";
close;
}
mes "[Michele Cantonyon]";
mes "We are Crusader, who follows Odin's order to ready for battle.";
next;
mes "[Michele Cantonyon]";
mes "The demons will fight against us one day just like thousand years ago.";
close;
} else if((CRUS_Q == 0 || CRUS_Q == 1 || CRUS_Q == 2 || CRUS_Q == 3) && (countitem(1004) > 0 && countitem(1009) > 0)) {
mes "[Michele Cantonyon]";
mes "Do you accept the call-up by Odin?";
mes "Or, you're ready to show your effort?";
next;
mes "[Michele Cantonyon]";
mes "Oh! I can see your potential to become a Crusader.";
mes "Let's have a test to certify then.";
next;
mes "[Michele Cantonyon]";
mes "Find Murnak Myjol at the Underground jail in Prontera.";
mes "Then ask him about it.";
next;
delitem 1004, 1;
delitem 1009, 1;
set CRUS_Q, 4;
mes "[Michele Cantonyon]";
mes "He will show you the road you should go,";
mes "and come back to me after you have success to pass all the test...";
close;
} else if(CRUS_Q == 0) {
mes "[Michele Cantonyon]";
mes "We are Crusader, who follows Odin's order to ready for battle.";
mes "Anything I can do for you?";
next;
switch( select( "Ready for Holy Battle", "Nothing")) {
case 1:
mes "[Michele Cantonyon]";
mes "Excuse me. Do you want to become a crusader?";
mes "It isn't easy to join us...";
next;
mes "[Michele Cantonyon]";
mes "I'm Michele Cantonyon, one of warrior who ready for Holy Battle.";
mes "We use our trust-worthy and loyalty to train ourselves hard.";
next;
mes "[Michele Cantonyon]";
mes "According to Odin's order, choose the trusted person as the warrior.";
mes "We will suggest these people and hope they can join us.";
next;
mes "[Michele Cantonyon]";
mes "Those Swordman who has ^3355FFPatriotism Marks^000000 and ^3355FFSacred Marks^000000 will call-up by Crusader.";
mes "These people will come with us once they has pass all the tests.";
next;
mes "[Michele Cantonyon]";
mes "Although I still not know you well...";
mes "OK, I'm going to test you then. Want to register now?";
next;
switch( select( "Yes, I want to register.", "Let me think about it again.")) {
case 1:
if(JobLevel < 40) {
mes "[Michele Cantonyon]";
mes "Hold on...You still can't get through.";
mes "Job Lv40 or above is required to become a Crusader.";
next;
mes "[Michele Cantonyon]";
mes "While waiting for Odin's order, you as a Swordman should keep on training.";
mes "We understand your passionate to join us, but we can't do nothing now...";
close;
} else if(SkillPoint != 0) {
mes "[Michele Cantonyon]";
mes "Excuse me, are you still a Swordman?";
mes "Come back to here after you master all the others skills...";
close;
}
mes "[Michele Cantonyon]";
mes "Let me see are you suitable for Crusader profession.";
mes "Let me see. Your name is " + strcharinfo(0) + "..right?";
next;
if (countitem(1004) > 0 && countitem(1009) > 0) {
mes "[Michele Cantonyon]";
mes "Oh! I can see your potential to become a Crusader.";
mes "But that are not enough. Let's have a test to certify.";
next;
mes "[Michele Cantonyon]";
mes "Find Murnak Myjol at the Underground jail in Prontera.";
mes "Then ask him.";
next;
delitem 1004, 1;
delitem 1009, 1;
set CRUS_Q, 4;
mes "[Michele Cantonyon]";
mes "He will show you the road you should go,";
mes "and come back to me after you have success to pass all the test...";
close;
}
mes "[Michele Cantonyon]";
mes "Ehm, it's hard to see your potential to become a Crusader,";
mes "But I can see your passionate to become a Crusader, please show me your hardworking attitude.";
next;
set @cru_m1, rand(1, 3);
if(@cru_m1 == 1) {
set CRUS_Q, 1;
mes "[Michele Cantonyon]";
mes "You must get these items to me,";
mes "10 ^3355FF"+getitemname(957)+"^000000";
mes "10 ^3355FF"+getitemname(959)+"^000000";
mes "10 ^3355FF"+getitemname(1099)+"^000000";
mes "10 ^3355FF"+getitemname(901)+"^000000";
next;
mes "[Michele Cantonyon]";
mes "We will judge whether you qualify to become a Crusader depends on your effort.";
mes "Wish you good luck then. May the Odin be with you.";
close;
} else if(@cru_m1 == 2) {
set CRUS_Q, 2;
mes "[Michele Cantonyon]";
mes "You must get these items to me,";
mes "10 ^3355FF"+getitemname(932)+"^000000";
mes "10 ^3355FF"+getitemname(1043)+"^000000";
mes "10 ^3355FF"+getitemname(1098)+"^000000";
mes "10 ^3355FF"+getitemname(1094)+"^000000";
next;
mes "[Michele Cantonyon]";
mes "We will judge whether you qualify to become a Crusader depends on your effort.";
mes "Wish you good luck then. May Odin be with you.";
close;
}
set CRUS_Q, 3;
mes "[Michele Cantonyon]";
mes "You must get these items to me,";
mes "10 ^3355FF"+getitemname(958)+"^000000";
mes "10 ^3355FF"+getitemname(930)+"^000000";
mes "10 ^3355FF"+getitemname(1041)+"^000000";
mes "10 ^3355FF"+getitemname(1062)+"^000000";
next;
mes "[Michele Cantonyon]";
mes "We will judge whether you qualify to become a Crusader depends on your effort.";
mes "Wish you good luck then. May the Odin be with you.";
close;
case 2:
mes "[Michele Cantonyon]";
mes "Yeah, but no idea when is the Holy Battle.";
mes "Get well prepared, don't stop your training.";
next;
mes "[Michele Cantonyon]";
mes "With Odin's instruction, you must come back for test no matter when.";
close;
}
case 2:
mes "[Michele Cantonyon]";
mes "You're also a Swordman, put all the efforts to train yourself hard.";
mes "No one knows when is the Holy Battle.";
next;
mes "[Michele Cantonyon]";
mes "Those unknown issue might be a call-up by Odin.";
close;
}
} else if(CRUS_Q == 1 || CRUS_Q == 2 || CRUS_Q == 3) {
mes "[Michele Cantonyon]";
mes "Do you accept the call-up by Odin?";
mes "Or, you're ready to show your effort?";
next;
if(CRUS_Q == 1) {
set @item1, 957;
set @item2, 959;
set @item3, 1099;
set @item4, 901;
} else if(CRUS_Q == 2) {
set @item1, 932;
set @item2, 1043;
set @item3, 1098;
set @item4, 1094;
} else if(CRUS_Q == 3) {
set @item1, 958;
set @item2, 930;
set @item3, 1041;
set @item4, 1062;
}
if (countitem(@item1) > 9 && countitem(@item2) > 9 && countitem(@item3) > 9 && countitem(@item4) > 9) {
mes "[Michele Cantonyon]";
mes "Oh, well done. I have to certify you because of you'd put effort to collect these items.";
mes "You may go for the test now just because of I saw your efforts.";
next;
mes "[Michele Cantonyon]";
mes "Find Murnak Myjol at the Underground jail in Prontera.";
mes "Then ask him about it.";
next;
delitem @item1, 10;
delitem @item2, 10;
delitem @item3, 10;
delitem @item4, 10;
set CRUS_Q, 4;
mes "[Michele Cantonyon]";
mes "He will show you the road you should go,";
mes "and come back to me after you have success to pass all the test...";
close;
} else {
mes "[Michele Cantonyon]";
mes "I can't see your potential to become a Crusader.";
mes "But I can see your passionate to become a Crusader, please show me your effort.";
next;
mes "[Michele Cantonyon]";
mes "10 ^3355FF"+getitemname(@item1)+"^000000";
mes "10 ^3355FF"+getitemname(@item2)+"^000000";
mes "10 ^3355FF"+getitemname(@item3)+"^000000";
mes "10 ^3355FF"+getitemname(@item4)+"^000000";
next;
mes "[Michele Cantonyon]";
mes "Always show you're improving.";
mes "Wish you good luck then. May the Odin be with you.";
close;
}
} else if(CRUS_Q == 10) {
if(SkillPoint != 0) {
mes "[Michele Cantonyon]";
mes "Excuse me, are you still a Swordman?";
mes "Come back to here after you have master all the other skills.";
close;
}
mes "[Michele Cantonyon]";
mes "Congratulation. You have completed all the tests perfectly.";
mes "Be prepared and stay with us! We are the warriors ready for Holy Battle!";
next;
callfunc "Job_Change",Job_Crusader;
callfunc "F_ClearJobVar"; //clears all job variables for the current player
mes "[Michele Cantonyon]";
mes "Congratulation. You have completed all the tests perfectly.";
mes "Be prepared and stay with us! We are the warriors ready for Holy Battle!";
next;
if(JobLevel != 50) {
getitem 504, 6;
} else {
getitem 504, 12;
}
mes "[Michele Cantonyon]";
mes "And this one. Use it when in emergency.";
mes "It will bring us the power to our force of Crusader.";
next;
mes "[Michele Cantonyon]";
mes "Keep on training. The Holy Battle is coming soon.";
mes "May Odin bless you!";
mes "You may go now!";
close;
}
mes "[Michele Cantonyon]";
mes "Seem like you haven't pass through all the tests.";
mes "We not yet see your potential to become a Crusader.";
next;
mes "[Michele Cantonyon]";
mes "Go through all the tests and come back here.";
mes "I'll clarify your qualification after that.";
close;
}
//===================== Suffering Man: 2� Endure Test ===============================================
prt_castle,164,32,7 script Suffering Man 733,5,5{
if(Class != Job_Swordman) {
if (Class == Job_Crusader) {
mes "[Murnak Myjol]";
mes "Don't stopping at this kind of place, carry on...";
mes "We will fight together someday. The day will come...";
close;
} else if(Class == Job_Novice) {
mes "[Murnak Myjol]";
mes "I'm just a Novice, not a criminal!";
next;
mes "[Murnak Myjol]";
mes "I'm here just to training.";
close;
}
mes "[Murnak Myjol]";
mes "Shut up and get out from here!";
next;
mes "[Murnak Myjol]";
mes "Do not disturb my training.";
close;
} else if(CRUS_Q == 0 || CRUS_Q == 1 || CRUS_Q == 2 || CRUS_Q == 3) {
mes "[Murnak Myjol]";
mes "What's happen? Please go out if nothing else.";
mes "I need CALM for my training.";
next;
mes "[Murnak Myjol]";
mes "I must have a calm mind for preparing the Holy Battle.";
mes "So, can you please give me a seat?";
close;
} else if(CRUS_Q == 4) {
mes "[Murnak Myjol]";
mes "What's happen?";
mes "What happen, Swordman? Why need to disturbed me from my training?";
next;
switch( select( "I want to participate in Crusader job profession change.", "Nothing actually.")) {
case 1:
mes "[Murnak Myjol]";
mes "Didn't see you for quite some time, the hope of Crusader.";
mes "I'm Murnak Myjol, who ready for Holy Battle.";
next;
mes "[Murnak Myjol]";
mes "Your name is..." + strcharinfo(0) + "...right?";
mes "Come over; let me see your face.";
next;
if((getequipid(7) != 2608 ) && (getequipid(8) != 2608 )) {
mes "[Murnak Myjol]";
mes "Oh, you don't even have a Rosary, how to become a Crusader?";
mes "I don't want to see the guy like you, go out and buy a Carrot.";
next;
mes "[Murnak Myjol]";
mes "You just play with that sword for life time like that, got it?";
close;
}
mes "[Murnak Myjol]";
mes "But, you're also imprudent...";
mes "Seems like inadequate to become a Crusader with that attitude.";
next;
mes "[Murnak Myjol]";
mes "Let's see your patienceness before you become a Crusader.";
mes "Patience is very important.";
next;
mes "[Murnak Myjol]";
mes "You may go for the test now. The test isn't difficult.";
mes "Just walk to the end of the corridor.";
next;
mes "[Murnak Myjol]";
mes "However, bear in mind of one thing.";
mes "Do not slave any monsters not matter what happens.";
next;
set CRUS_Q, 5;
mes "[Murnak Myjol]";
mes "Let's start then.";
close2;
warp "job_cru",23,42;
break;
case 2:
mes "[Murnak Myjol]";
mes "Is it the young people are free?";
mes "Don't play at this place. Better go out to pick for Jellopy.";
close;
}
} else if(CRUS_Q == 5) {
mes "[Murnak Myjol]";
mes "What's the matter? You are the Swordman just now.";
mes "Hmm? What? Fail? Doesn't did well in the exam?";
next;
switch( select( "Please, give me another chance.", "What the hell the exam is?")) {
case 1:
mes "[Murnak Myjol]";
mes "You can take the exam no matter how many times.";
mes "But, if you fail, the problem is lie on your mentality.";
next;
if (countitem(2608) == 0) {
mes "[Murnak Myjol]";
mes "Where you put the Rosary this time?";
mes "We had accepted the protection from Odin, we can't simply put on the Rosary.";
next;
mes "[Murnak Myjol]";
mes "Nothing in mind, just playing the sword at will, it was only happended as a Swordman.";
mes "If you want to take the exam again, please strictly adhere to the etiquette.";
close;
}
mes "[Murnak Myjol]";
mes "It had been a habit to hit the monster when its appeared, it may be a point of the problem, right?";
mes "Patience and persistence are what I ask for.";
next;
mes "[Murnak Myjol]";
mes "So, I repeat, just like last time...";
mes "Just walk to the end to the altar.";
next;
mes "[Murnak Myjol]";
mes "So too this time strictly slave any monsters no matter what happen.";
mes "Please think wisely before you go through.";
next;
mes "[Murnak Myjol]";
mes "Start then!";
close2;
savepoint "prt_castle",162,27;
if (getmapusers("job_cru") > 0) {
mes "[Murnak Myjol]";
mes "I'm sorry, there's already another person there right now.";
mes "Please wait a little longer.";
}
set CRUS_Q,5;
warp "job_cru",23,42;
break;
case 2:
mes "[Murnak Myjol]";
mes "Ahem, does your reaction mean you don't like my tests?";
mes "A person like you would never qualify for Holy Battle.";
next;
mes "[Murnak Myjol]";
mes "Get lost right now!";
close;
}
} else if(CRUS_Q == 6) {
mes "[Murnak Myjol]";
mes "Your result seems not bad. Not difficult, right?";
mes "You has nothing to look for me now.";
next;
mes "[Murnak Myjol]";
mes "Look for Gabriel Valentine at the Church in Prontera.";
mes "You can go for the next exam. OK, go for it now.";
close;
}
mes "[Murnak Myjol]";
mes "You seem like haven't finished the exam, I'll not interrupt you. Please carry on with your exam.";
close;
}
//===================== Catholic Knight: 3� Knoledge Test ====================================
prt_church,95,127,3 script Catholic Knight 745,{
if(Class != Job_Swordman) {
if(Class == Job_Crusader) {
mes "[Gabriel Valentine]";
mes "Welcome, Crusaders.";
mes "Still remember the training?";
next;
mes "[Gabriel Valentine]";
mes "For the coming of the Holy War, don't ever forget the day.";
mes "Work hard!";
close;
} else if(Class == Job_Novice) {
mes "[Gabriel Valentine]";
mes "Welcome, I'm a Crusaders.";
mes "A warrior prepared for the Holy Battle in future.";
next;
mes "[Gabriel Valentine]";
mes "Swordman, if you interested about Crusader, please train hard.";
mes "See us again when you think you've qualified the requirement...";
next;
mes "[Gabriel Valentine]";
mes "We are living in the middle section of the Prontera.";
mes "It's good to visit us if you are in free.";
close;
}
mes "[Gabriel Valentine]";
mes "Welcome, I'm a Crusaders.";
mes "A warrior prepared for the Holy Battle in future.";
next;
mes "[Gabriel Valentine]";
mes "You must train hard to ready for the days to come.";
close;
} else if(CRUS_Q == 0) {
mes "[Gabriel Valentine]";
mes "Welcome, I'm a Crusaders.";
mes "A warrior prepared for the Holy Battle in future.";
next;
mes "[Gabriel Valentine]";
mes "If you want to become a crusader.";
mes "See our Leader in the middle section of Prontera.";
close;
} else if(CRUS_Q == 6) {
mes "[Gabriel Valentine]";
mes "Welcome. Finished all the tough tests?";
mes "I will prepare for your next test.";
next;
mes "[Gabriel Valentine]";
mes "My name is Gabriel Valentine, a warrior ready for Holy Battle.";
mes "A temporary special agent for this Church.";
next;
mes "[Gabriel Valentine]";
mes "I want to see whether you have the knowledge to become a Crusader.";
mes "You cant win that easily just with a sword.";
next;
goto C_Questions;
} else if(CRUS_Q == 7) {
mes "[Gabriel Valentine]";
mes "Welcome. Are you ready for the test?";
mes "Resit the test then.";
next;
C_Questions:
set @cru_t, 0;
set @cru_m, rand(1,3);
mes "[Gabriel Valentine]";
mes "10 questions as before.";
mes "Listen carefully. Give me the correct answer.";
next;
if(@cru_m == 1) {
mes "[Gabriel Valentine]";
mes "1.Which element is the best against Undead?";
next;
switch( select( "None Element:Earth Element:Undead Element:Holy Element")) {
case 4:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 3:
}
mes "[Gabriel Valentine]";
mes "2. How much the Damage increase compare to Fire Elemental Attack by Undead Monster Lv.2?";
next;
switch( select("25%:50%:75%:100%")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "3. Which item are not obtain from Druid?";
next;
switch( select("Holy Bonnet:Leaf of Yggdrasil:White Herb:Amulet")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "4. Which Undead from the below has the most HP?";
next;
switch( select( "Ghoul:Skel Prisoner:Wraith:Zombie Prisoner")) {
case 4:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 3:
}
mes "[Gabriel Valentine]";
mes "5. Which Undead from the below has different in size?";
next;
switch( select( "Wraith:Khalitzburg:Drake:Evil Druid")) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
mes "[Gabriel Valentine]";
mes "6. Which card has the most effectiveness against Undead?";
next;
switch( select( "Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "7. What is the relationship between Munak and Bon Gun when it still alive?";
next;
switch( select( "Sibling:Neighbour's sibling:Sibling that doesn't have blood relationtionship:No relationship")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "8. Differentiate these Undead Monster.";
next;
switch( select( "Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker")) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
mes "[Gabriel Valentine]";
mes "9. The shield that sloted in the Munak Card is...";
next;
switch( select( "Atomic Shield:Amulet Shield:Hypnotic Shield:Homer's Shield")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "10. Which Undead doesn't drops Memetos?";
next;
switch( select( "Munak:Ghoul:Mummy:Soldier Skeleton")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
} else if(@cru_m == 2) {
mes "[Gabriel Valentine]";
mes "1. Which from the below are not categorize under Ghost?";
next;
switch( select( "Carat:Wind Ghost:Isis:Wander Man")) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
mes "[Gabriel Valentine]";
mes "2. Which sword is the best sword against Ghost?";
next;
switch( select( "Decussate Tsurugi:Tsurugi from hell:Damned Tsurugi:Divine Tsurugi")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "3. Which item are not able to get from Dokebi?";
next;
switch( select( "Elunium Stone:Golden Hammer:Sword Mace:Mighty Staff")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "4. Which Ghost below has the highest HP?";
next;
switch( select( "Giearth:Magnolia:Dokebi:Marionette")) {
case 4:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 3:
}
mes "[Gabriel Valentine]";
mes "5.Which Ghost from the below different in size?";
next;
switch( select( "Ghostring:Whisper:Deviruchi:Baphomet")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "6. Which Shield from below has the best Defense when against Ghost?";
next;
switch( select( "Satanic Shield:Shield from hell:Amulet Shield:Excellent Shield")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "7. Which element is best effective to Wind elemental Wizard?";
next;
switch( select( "Water Element:Earth Element:Fire Element:Wind Element")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "8.Please select the monster not from Ghost Class.";
next;
switch( select( "Sohee:Isis:Dokebi:Whisper")) {
case 4:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 3:
}
mes "[Gabriel Valentine]";
mes "9. What is the usage of Marrionette Card?";
next;
switch( select( "Increase 30% of DEF against Darkness Attack:Increase 30% of DEF against Poisoness Attack:Increase 30% of DEF against Mind Attack:Increase 30% of DEF against none elementary Attack")) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
mes "[Gabriel Valentine]";
mes "10. The best way to against Ghost is...";
next;
switch( select( "Shout louder 'Get lost!':Give it your soul and sign the contract:Attack with a weapon coated with Holy water:Wear Deviruchi Hat" )) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
} else {
mes "[Gabriel Valentine]";
mes "1. What's the minimum prerequisite skilln in order to master Demonbane?";
next;
switch( select( "Lv. 1:Lv. 2:Lv. 3:Lv. 4")) {
case 3:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 4:
}
mes "[Gabriel Valentine]";
mes "2. At level 55, if the INT was increased to 30, what's the recovery rate for Heal at Level 5?";
next;
switch( select( "396:440:484:528" )) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "3. How much is the DEF increase when against Undead with Divine Protection?";
next;
switch( select( "21:22:23:24")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "4.Which spear from the below has the effective to catch Mind Nightmare?";
next;
switch( select( "Lance:Bill Guisame:Crescent Scythe:Zephyrus")) {
case 4:
set @cru_t, @cru_t+10;
case 1:
case 2:
case 3:
}
mes "[Gabriel Valentine]";
mes "5.What's the minimum prerequisite skill in order to master Heal?";
next;
switch( select( "Lv. 1:Lv. 2:Lv. 3:Lv. 4")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "6. What's the Aspd of Knight at Lv.3?";
next;
switch( select( "70% as usual:80% as usual:90% as usual:100% as usual")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "7.Which description about Demonbane are false?";
next;
switch( select( "Increase ATK against Undead:A skill only available for Acolyte:Increase +30 when mastered the skill:A passive skill")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "8. How much SP will consume when Heal Lv.7?";
next;
switch( select( "30:31:33:35")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "9.Which status are unable to cure with Heal?";
next;
switch( select( "Curse:Silent:Confuse:Darkness")) {
case 1:
set @cru_t, @cru_t+10;
case 2:
case 3:
case 4:
}
mes "[Gabriel Valentine]";
mes "10. What's the objective of Crusader?";
next;
switch( select( "A person ready for biscuit:A person ready for Holy Battle:A person ready for alchoholic:A person ready for Potion")) {
case 2:
set @cru_t, @cru_t+10;
case 1:
case 3:
case 4:
}
}
mes "[Gabriel Valentine]";
mes "Well done. I will tell you your result now.";
next;
mes "[Gabriel Valentine]";
mes " " + strcharinfo(0) + "and your score is..." + @cru_t + " point.";
if(@cru_t == 100) {
set CRUS_Q, 8;
mes "Well done! Get ready for the next test.";
next;
mes "[Gabriel Valentine]";
mes "Find Briten Pyrod at Prontera.";
mes "He will prepare the next test for you.";
close;
} else if(@cru_t == 90) {
set CRUS_Q, 8;
mes "Excellent! Go ahead for the next test.";
next;
mes "[Gabriel Valentine]";
mes "Find Briten Pyrod at Prontera.";
mes "He will prepare the next test for you.";
close;
}
mes "What a pity. Train hard and try again.";
next;
mes "[Gabriel Valentine]";
mes "Because you need to prepare many things, so I'll wait you here.";
mes "Come back when you've well prepared.";
close;
} else if(CRUS_Q == 8) {
mes "[Gabriel Valentine]";
mes "I've told you. Just go ahead for the next test.";
mes "Find Briten Pyrod at Prontera.";
close;
} else if(CRUS_Q == 9) {
mes "[Gabriel Valentine]";
mes "I've told you. Just go ahead for the next test.";
mes "Find Briten Pyrod at Prontera.";
close;
} else if(CRUS_Q == 10) {
mes "[Gabriel Valentine]";
mes "What are you waiting for? The test has ended.";
mes "Go and see Captain, you will become a Crusader very soon.";
next;
mes "[Gabriel Valentine]";
mes "You will join us for the Holy Battle.";
mes "Hope you can continue to live in thoroughly after changed job profession.";
close;
}
mes "[Gabriel Valentine]";
mes "You are the hope of Crusader,";
mes "But not qualify to see me yet.";
next;
mes "[Gabriel Valentine]";
mes "Come back to see me after you've finish all the tests.";
mes "So, see you then.";
close;
}
//===================== Crusader: 4� Purification Test =====================================================
prt_castle,35,151,7 script Crusader#1 751,{
if(Class != Job_Swordman) {
if(Class == Job_Crusader) {
mes "[Briten Pyrod]";
mes "Welcome, does your training going well?";
next;
mes "[Briten Pyrod]";
mes "Train hard everyday, and become a greatest Crusader.";
close;
} else if(Class == Job_Novice) {
mes "[Briten Pyrod]";
mes "Welcome, we are Crusaders.";
mes "Who ready for Holy Battle.";
next;
mes "[Briten Pyrod]";
mes "Interested about Crusader?";
mes "We are always recruiting.";
next;
mes "[Briten Pyrod]";
mes "Come back to us when you gained some training as a Swordman.";
mes "We will only welcome those who call-up by Odin.";
close;
}
mes "[Briten Pyrod]";
mes "Welcome, we are Crusaders.";
mes "Who ready for Holy Battle.";
next;
mes "[Briten Pyrod]";
mes "Get ready for the peaceful future...";
mes "for the day of Holy Battle...";
close;
} else if(CRUS_Q == 0) {
mes "[Briten Pyrod]";
mes "Welcome, we are Crusaders.";
mes "Warriors who ready for Holy Battle.";
next;
mes "[Briten Pyrod]";
mes "Interested about Crusader?";
mes "We are always recruiting.";
next;
mes "[Briten Pyrod]";
mes "Job Lv 40 or above required to become a Crusader.";
mes "For further details, please ask our Captian inside there.";
next;
mes "[Briten Pyrod]";
mes "May Odin bless you...";
close;
} else if(CRUS_Q == 8 || CRUS_Q == 9) {
if(CRUS_Q == 8) {
mes "[Briten Pyrod]";
mes "Welcome.";
mes "This is the last and the final test.";
next;
mes "[Briten Pyrod]";
mes "My name is Briten Pyrod, one of the warrior prepared for the Holy Battle.";
mes "Well done!";
next;
mes "[Briten Pyrod]";
mes "The last test is to a Battle test.";
mes "Only the strongest person can become a Crusader.";
next;
mes "[Briten Pyrod]";
mes "For the battle test, please prepare one ^3355FFHoly water^000000.";
mes "To purify the candidates.";
next;
mes "[Briten Pyrod]";
mes "Ready for the test?";
mes "Or get ready once again?";
next;
} else {
mes "[Briten Pyrod]";
mes "Welcome. Get ready for the test?";
next;
mes "[Briten Pyrod]";
mes "Ready for the test?";
mes "Or get ready once again?";
}
switch( select( "Let's get started.", "Give me some time to get prepare.")) {
case 1:
next;
if (countitem(2608) == 0) {
if(CRUS_Q == 8) {
set CRUS_Q, 9;
}
mes "[Briten Pyrod]";
mes "Hold on! You don't equip Rosary, do you?";
mes "You must equip Rosary all the time in the Crusader test.";
next;
mes "[Briten Pyrod]";
mes "Equip Rosary and come back then.";
close;
} else if(countitem(523) < 1) {
if(CRUS_Q == 8) {
set CRUS_Q, 9;
}
mes "[Briten Pyrod]";
mes "For the battle test, please prepare one ^3355FFHoly water^000000.";
mes "I told you just to purify the candidates.";
next;
mes "[Briten Pyrod]";
mes "Get prepares and come back to here.";
mes "I will wait for you.";
close;
}
if(CRUS_Q == 8) {
set CRUS_Q, 9;
}
delitem 523, 1;
mes "[Briten Pyrod]";
mes "OK, let's get started then.";
mes "Use the Holy water to purify you.";
next;
mes "[Briten Pyrod]";
mes "...............";
next;
mes "[Briten Pyrod]";
mes "Almost getting start. Get in and go to waiting room.";
mes "Defeat all the monsters in 4th Floor.";
if( getmapusers("job_cru")>0 ) {
mes "[^000080Bliant Piyord^000000]";
mes "I'm sorry, but someone else is inside at the moment.";
close;
}
close2;
savepoint "prt_castle",39,151;
warp "job_cru",167,175;
break;
case 2:
next;
mes "[Briten Pyrod]";
mes "Yes, get prepare and come back here then.";
mes "I will wait for you.";
close;
}
} else if(CRUS_Q == 10) {
mes "[Briten Pyrod]";
mes "Congratulation, all the Crusader tests ended like this.";
next;
mes "[Briten Pyrod]";
mes "Get inside and talk to the Captain.";
mes "Starting from now, you're also one of the warriors for the Holy Battle.";
close;
}
mes "[Briten Pyrod]";
mes "Welcome, is this in the middle of the Crusader profession change?";
next;
mes "[Briten Pyrod]";
mes "Haven't to my turn yet?";
mes "Finish all the tests and come back to me then.";
next;
mes "[Briten Pyrod]";
mes "Please come back to here then.";
mes "May Odin bless you.";
close;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
//
// Entry A - Crusader Job Quest - Patience Test
// By Black Dragon based on the information at RagnaInfo
//
//-----------------------------------------------------------------------------------------------------------------------------------------------------
job_cru,23,42,0 script CR_DEAD -1,{
OnStart:
killmonster "job_cru","CR_DEAD::OnStart";
set @CRU1,0;
enablenpc "CR_TST_2";
warp "prt_castle",162,27;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
//
// Entry - Crusader Job Quest - Patience Test
// By Black Dragon based on the information at RagnaInfo
//
//-----------------------------------------------------------------------------------------------------------------------------------------------------
job_cru,23,42,0 script CR_TST_2 139,8,8,{
if (CRUS_Q != 5) goto EXIT;
set @CRU1,1;
mapannounce "job_cru","Please endure here and go to the exit.",8;
monster "job_cru",10,43,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",14,47,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",26,46,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",31,46,"Requium",1913,1,"CR_DEAD::OnStart";
monster "job_cru",16,52,"Raydric Archer",1914,0,"CR_DEAD::OnStart";
monster "job_cru",22,53,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",28,49,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",12,54,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",17,55,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",21,57,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",30,58,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",11,64,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
monster "job_cru",19,67,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",24,62,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",13,70,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",18,69,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",29,67,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",32,68,"Requium",1913,1,"CR_DEAD::OnStart";
monster "job_cru",16,75,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
monster "job_cru",21,74,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",27,76,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",14,78,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",19,76,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",24,79,"Requium",1913,1,"CR_DEAD::OnStart";
monster "job_cru",14,83,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
monster "job_cru",18,85,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",22,84,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",33,86,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",13,89,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",17,92,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",23,90,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",26,88,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",17,97,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
monster "job_cru",23,100,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",31,101,"Ghoul",1910,1,"CR_DEAD::OnStart";
monster "job_cru",13,103,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
monster "job_cru",22,105,"Injustice",1912,1,"CR_DEAD::OnStart";
monster "job_cru",30,107,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
disablenpc "CR_TST_2";
end;
EXIT:
warp "prt_castle",162,27;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
//
// Exit - Crusader Job Quest - Patience Test
// By Black Dragon based on the information at RagnaInfo
//
//-----------------------------------------------------------------------------------------------------------------------------------------------------
job_cru,23,109,0 script CR_EXT_1 139,1,1,{
if (@CRU1 == 0) goto JUMP;
set CRUS_Q,6;
killmonster "job_cru","CR_DEAD::OnStart";
enablenpc "CR_TST_2";
JUMP:
warp "prt_castle",162,28;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
//
// Fighting Area - Crusader Job Quest - 4th Test
// By Black Dragon based on the information at RagnaInfo
//
//-----------------------------------------------------------------------------------------------------------------------------------------------------
job_cru,167,175,0 script CR_KILL -1,{
OnStart:
if (@CRU2 == 43) {
announce "You killed all monsters, you may go to the exit.",3;
set CRUS_Q, 10;
end;
}
set @CRU2,@CRU2 +1;
announce "You killed another monster.",3;
end;
}
job_cru,167,175,0 script CR_TST_4 139,1,1,{
if(CRUS_Q != 9) goto EXIT;
set @CRU2,1;
announce "Defeat all the enemies.",3;
monster "job_cru",163,42,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",171,66,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",163,89,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",171,115,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",166,141,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",168,166,"Bongun",1188,1,"CR_KILL::OnStart";
monster "job_cru",164,170,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",173,153,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",164,138,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",166,128,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",171,117,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",163,102,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",172,84,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",162,76,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",167,65,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",171,58,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",162,48,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",170,33,"Munak",1026,1,"CR_KILL::OnStart";
monster "job_cru",170,26,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",166,37,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",171,47,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",165,61,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",172,65,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",163,77,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",164,86,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",165,98,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",170,101,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",163,110,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",164,117,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",166,129,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",165,139,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",166,151,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",168,160,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",162,169,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",171,171,"Skeleton",1076,1,"CR_KILL::OnStart";
monster "job_cru",162,32,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",165,51,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",172,73,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",170,92,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",173,111,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",170,124,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",171,147,"Zombie",1015,1,"CR_KILL::OnStart";
monster "job_cru",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,167,17,0 script CR_EXT_4 139,2,2,{
enablenpc "CR_TST_4";
warp "prt_castle",39,151;
}
//==============================================================================
// mapflag
//==============================================================================
job_cru mapflag nomemo
job_cru mapflag noteleport
job_cru mapflag nosave SavePoint
job_cru mapflag nopenalty
job_cru mapflag nobranch
job_cru mapflag noexp
job_cru mapflag noloot