summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/Changelog.txt2
-rw-r--r--npc/jobs/1-1e/taekwon.txt69
-rw-r--r--npc/jobs/2-1/assassin.txt333
-rw-r--r--npc/jobs/2-1/blacksmith.txt66
-rw-r--r--npc/jobs/2-1/hunter.txt442
-rw-r--r--npc/jobs/2-1/knight.txt1311
-rw-r--r--npc/jobs/2-1/priest.txt30
-rw-r--r--npc/jobs/2-1/wizard.txt127
-rw-r--r--npc/jobs/2-2/alchemist.txt168
-rw-r--r--npc/jobs/2-2/bard.txt201
-rw-r--r--npc/jobs/2-2/crusader.txt73
-rw-r--r--npc/jobs/2-2/monk.txt207
-rw-r--r--npc/jobs/2-2/sage.txt3
13 files changed, 1484 insertions, 1548 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index ee6214690..76a45f2ec 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,5 +1,7 @@
Date Added
======
+2010/06/21
+ * Rev. 14351 Removed usage of the 'goto' command from job quests. [L0ne_W0lf]
2010/06/20
* Rev. 14350 Corrected Einbech Mine warps. [Gepard]
2010/06/18
diff --git a/npc/jobs/1-1e/taekwon.txt b/npc/jobs/1-1e/taekwon.txt
index 1a099ef2c..224b7741d 100644
--- a/npc/jobs/1-1e/taekwon.txt
+++ b/npc/jobs/1-1e/taekwon.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Tsuyuki & Samuray22
//===== Current Version: =====================================
-//= 1.3
+//= 1.4
//===== Compatible With: =====================================
//= eAthena/Freya
//===== Description: =========================================
@@ -13,6 +13,7 @@
//= 1.1 Rewrote to the Aegis Standars. [Samuray22]
//= 1.2 Fixed position the npc is facing. [Kisuka]
//= 1.3 Added Quest Log commands. [Kisuka]
+//= 1.4 Removed use of 'goto', and fixed some indentation. [L0ne_W0lf]
//============================================================
@@ -62,19 +63,17 @@ payon,157,141,5 script Phoenix#TKJobChange 753,{
mes "I know that the answer";
mes "will come in time...";
next;
- if (Class == Job_Novice && TK_Q == 0) {
- goto L_change;
+ if (Class != Job_Novice && TK_Q != 0) {
+ mes "[Phoenix]";
+ mes "Noble adventurer:";
+ mes "if you know anyone who";
+ mes "has not chosen his path";
+ mes "in life, please recommend";
+ mes "him to me. If interested,";
+ mes "I may teach him my art...";
+ close;
}
mes "[Phoenix]";
- mes "Noble adventurer:";
- mes "if you know anyone who";
- mes "has not chosen his path";
- mes "in life, please recommend";
- mes "him to me. If interested,";
- mes "I may teach him my art...";
- close;
-L_change:
- mes "[Phoenix]";
mes "If you have not decided on";
mes "the path you wish to take in";
mes "life, I'd like you to consider";
@@ -128,14 +127,14 @@ L_change:
mes "the next time we meet.";
close;
}
- mes "[Phoenix]";
- mes "I understand. One's life can";
- mes "take many paths, but you can";
- mes "only choose to travel on one";
- mes "at a time. I hope that you work";
- mes "towards enlightenment in your";
- mes "very own way, adventurer.";
- close;
+ mes "[Phoenix]";
+ mes "I understand. One's life can";
+ mes "take many paths, but you can";
+ mes "only choose to travel on one";
+ mes "at a time. I hope that you work";
+ mes "towards enlightenment in your";
+ mes "very own way, adventurer.";
+ close;
}
switch(TK_Q) {
case 1:
@@ -151,13 +150,13 @@ L_change:
mes "the next portion of training.";
close;
}
- mes "[Phoenix]";
- mes "You must gain ^FF00001 more";
- mes "Base Level^000000 to prove that";
- mes "you can endure the hardship";
- mes "that entails this job. Never";
- mes "neglect your training.";
- close;
+ mes "[Phoenix]";
+ mes "You must gain ^FF00001 more";
+ mes "Base Level^000000 to prove that";
+ mes "you can endure the hardship";
+ mes "that entails this job. Never";
+ mes "neglect your training.";
+ close;
case 2:
mes "[Phoenix]";
mes "For your spiritual training,";
@@ -411,14 +410,14 @@ L_change:
mes "sometime, "+strcharinfo(0)+".";
close;
}
- mes "[Phoenix]";
- mes "Hm, perhaps you are not";
- mes "quite ready to progress from";
- mes "your status as a student to";
- mes "a full fledged disciple.";
- mes "When you feel prepared,";
- mes "come and speak to me.";
- close;
+ mes "[Phoenix]";
+ mes "Hm, perhaps you are not";
+ mes "quite ready to progress from";
+ mes "your status as a student to";
+ mes "a full fledged disciple.";
+ mes "When you feel prepared,";
+ mes "come and speak to me.";
+ close;
}
}
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt
index f22c12dfa..b77058e12 100644
--- a/npc/jobs/2-1/assassin.txt
+++ b/npc/jobs/2-1/assassin.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 3.3
+//= 3.4
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -46,6 +46,7 @@
//= 3.1b Fixed waiting room not enabled in some situations [Zephyrus]
//= 3.2 Fixed a question having all correct answers. [brianluau]
//= 3.3 Added Quest Log commands. [Kisuka]
+//= 3.4 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
in_moc_16,19,33,1 script Guildsman#asn 55,{
@@ -660,152 +661,182 @@ OnTouch:
in_moc_16,19,154,0 script nameless_one -1,8,2,{
OnTouch:
- if (ASSIN_Q2 < 3) {
- mes "[The Anonymous One]";
- mes "Welcome, guest.";
- mes "Mwahaha, it's useless";
- mes "to try to find or see me...";
- next;
- mes "[The Anonymous One]";
- mes "I am perfectly hidden!";
- mes "To become undetectable can only be done by the greatest Assassins!";
- next;
- mes "[The Anonymous One]";
- mes "Aren't you scared that you can't see me? I could kill you at any time and it would be so easy...";
- next;
- if (select("I think I crapped my pants!:You're all talk. I challenge you!") == 1) {
+ if (ASSIN_Q2 < 5) {
+ if (ASSIN_Q2 < 3) {
mes "[The Anonymous One]";
- mes "Now I see that";
- mes "you're nothing";
- mes "but a wimp.";
+ mes "Welcome, guest.";
+ mes "Mwahaha, it's useless";
+ mes "to try to find or see me...";
next;
mes "[The Anonymous One]";
- mes "Bwahahahahahah!";
- mes "Stop cowering in fear!";
- mes "It's making me laugh!";
- close;
- }
- mes "[The Anonymous One]";
- mes "So...";
- mes "You wish for";
- mes "a challenge?";
- mes "From me?!";
- next;
- mes "[The Anonymous One]";
- mes "A river of blood follows my every footstep. I am nameless, for the sting of my blades is all anyone needs to know.";
- next;
- mes "[The Anonymous One]";
- mes "I am here to test your knowledge, as well as your capacity for heartlessness. Those are both necessary to become an Assassin.";
- next;
- mes "[The Anonymous One]";
- mes "For your challenge, you must";
- mes "answer my questions correctly. Very difficult questions that only an Assassin can answer.";
- next;
- mes "[The Anonymous One]";
- mes "Although I am heartless,";
- mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?";
- next;
- set ASSIN_Q2,0;
- while(ASSIN_Q2 < 3) {
- switch(select("...Skills?:...Stats?:Hmpf, I know it all.")) {
- case 1:
- mes "[The Anonymous One]";
- mes "Skills...?";
- mes "Although skills can have circumstantial applications, I will tell you about the basic concepts.";
- next;
- mes "[The Anonymous One]";
- mes "First, ^3355FFKatar Mastery^000000. This skill increases the damage of Katar class weapons. The higher the skill level, the more damage is increased.";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFLeft Hand Mastery^000000 and ^3355FFRight Hand Mastery^000000. Assassins can equip different weapons in each hand when using Dagger class weapons.";
- next;
- mes "[The Anonymous One]";
- mes "But it is obviously more difficult to handle 2 weapons at a time than using just one. The Left and Right Hand Mastery skills increase the damage when using two Daggers.";
- next;
- mes "[The Anonymous One]";
- mes "However, if you don't want to use two Daggers, you won't need this skill. You will see how 'Left Hand Mastery' works as soon as you reach 'Right Hand Mastery' Level 2.";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFSonic Blow^000000 allows you to strike an enemy 8 times at once. This skill only works with Katar weapons because of the speed it requires.";
- next;
- mes "[The Anonymous One]";
- mes "Of course, the damage is affected by STR and weapon damage. You'll understand how this skill works when you reach Level 4 Katar Mastery.";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFGrimtooth^000000 allows you to attack enemies while hiding under the ground. As you master it, you'll be able to attack foes from a distance.";
- next;
- mes "[The Anonymous One]";
- mes "Since it's a ranged attack, it can be very useful when you're surrounded by enemies.";
- next;
- mes "[The Anonymous One]";
- mes "Because you're required to perfectly hide yourself to use this skill, you must first learn Level 2 Cloaking before you can learn Grimtooth.";
- next;
- mes "[The Anonymous One]";
- mes "To learn ^3355FFCloaking^000000, you must learn Level 2 Hiding. Then you will be able to move while hiding if you are close to a wall.";
- next;
- mes "[The Anonymous One]";
- mes "The ^3355FFEnchant Poison^000000 skill allows you to enchant poison on the weapon you're using. This will temporarily give the weapon the Poison property.";
- next;
- mes "[The Anonymous One]";
- mes "This will also make your attacks poison the enemy by chance. You can also use this skill to enchant the weapons of your party members...";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFPoison React^000000 shields the user from attacks with the Poison property, and can be used on other people as well. However, you must learn Level 3 Enchant Poison first.";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFVenom Dust^000000 consumes a Red Gemstone to contaminate an area with poison. The duration of contamination increases with the level of this skill.";
- next;
- mes "[The Anonymous One]";
- mes "You can learn the Venom Dust skill after you learn Level 5 Enchant Poison.";
- next;
- mes "[The Anonymous One]";
- mes "^3355FFVenom Splasher^000000 is a skill that, after it is used on a target, will cause it to explode when its HP is less than a certain amount after three seconds.";
- next;
- mes "[The Anonymous One]";
- mes "When the target explodes, the enemies in the vicinity are also damaged. This is an essential skill for Assassins. It requires Level 5 Poison React and Level 5 Venom Dust.";
- next;
- mes "[The Anonymous One]";
- mes "Now...";
- mes "That's all I have to tell you";
- mes "about Assassin skills.";
- set ASSIN_Q2,1;
- next;
- break;
- case 2:
- mes "[The Anonymous One]";
- mes "Hmm, Stats...";
- mes "For Assassins, Agility, or AGI, is the most important stat.";
- next;
+ mes "I am perfectly hidden!";
+ mes "To become undetectable can only be done by the greatest Assassins!";
+ next;
+ mes "[The Anonymous One]";
+ mes "Aren't you scared that you can't see me? I could kill you at any time and it would be so easy...";
+ next;
+ if (select("I think I crapped my pants!:You're all talk. I challenge you!") == 1) {
mes "[The Anonymous One]";
- mes "For the sake of assassination, STR is probably the second most important stat. But that is only my recommendation.";
+ mes "Now I see that";
+ mes "you're nothing";
+ mes "but a wimp.";
next;
mes "[The Anonymous One]";
- mes "I cannot give you better advice than that in regards to Stats. You should research and see which stats suit you, and decide what kind of Assassin you want to be.";
- set ASSIN_Q2,2;
- next;
- break;
- case 3:
- if (ASSIN_Q2 == 0) {
+ mes "Bwahahahahahah!";
+ mes "Stop cowering in fear!";
+ mes "It's making me laugh!";
+ close;
+ }
+ mes "[The Anonymous One]";
+ mes "So...";
+ mes "You wish for";
+ mes "a challenge?";
+ mes "From me?!";
+ next;
+ mes "[The Anonymous One]";
+ mes "A river of blood follows my every footstep. I am nameless, for the sting of my blades is all anyone needs to know.";
+ next;
+ mes "[The Anonymous One]";
+ mes "I am here to test your knowledge, as well as your capacity for heartlessness. Those are both necessary to become an Assassin.";
+ next;
+ mes "[The Anonymous One]";
+ mes "For your challenge, you must";
+ mes "answer my questions correctly. Very difficult questions that only an Assassin can answer.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Although I am heartless,";
+ mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?";
+ next;
+ set ASSIN_Q2,0;
+ while(ASSIN_Q2 < 3) {
+ switch(select("...Skills?:...Stats?:Hmpf, I know it all.")) {
+ case 1:
mes "[The Anonymous One]";
- mes "Know everything do you?!";
- mes "I'll be the judge of that!";
+ mes "Skills...?";
+ mes "Although skills can have circumstantial applications, I will tell you about the basic concepts.";
next;
+ mes "[The Anonymous One]";
+ mes "First, ^3355FFKatar Mastery^000000. This skill increases the damage of Katar class weapons. The higher the skill level, the more damage is increased.";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFLeft Hand Mastery^000000 and ^3355FFRight Hand Mastery^000000. Assassins can equip different weapons in each hand when using Dagger class weapons.";
+ next;
+ mes "[The Anonymous One]";
+ mes "But it is obviously more difficult to handle 2 weapons at a time than using just one. The Left and Right Hand Mastery skills increase the damage when using two Daggers.";
+ next;
+ mes "[The Anonymous One]";
+ mes "However, if you don't want to use two Daggers, you won't need this skill. You will see how 'Left Hand Mastery' works as soon as you reach 'Right Hand Mastery' Level 2.";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFSonic Blow^000000 allows you to strike an enemy 8 times at once. This skill only works with Katar weapons because of the speed it requires.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Of course, the damage is affected by STR and weapon damage. You'll understand how this skill works when you reach Level 4 Katar Mastery.";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFGrimtooth^000000 allows you to attack enemies while hiding under the ground. As you master it, you'll be able to attack foes from a distance.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Since it's a ranged attack, it can be very useful when you're surrounded by enemies.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Because you're required to perfectly hide yourself to use this skill, you must first learn Level 2 Cloaking before you can learn Grimtooth.";
+ next;
+ mes "[The Anonymous One]";
+ mes "To learn ^3355FFCloaking^000000, you must learn Level 2 Hiding. Then you will be able to move while hiding if you are close to a wall.";
+ next;
+ mes "[The Anonymous One]";
+ mes "The ^3355FFEnchant Poison^000000 skill allows you to enchant poison on the weapon you're using. This will temporarily give the weapon the Poison property.";
+ next;
+ mes "[The Anonymous One]";
+ mes "This will also make your attacks poison the enemy by chance. You can also use this skill to enchant the weapons of your party members...";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFPoison React^000000 shields the user from attacks with the Poison property, and can be used on other people as well. However, you must learn Level 3 Enchant Poison first.";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFVenom Dust^000000 consumes a Red Gemstone to contaminate an area with poison. The duration of contamination increases with the level of this skill.";
+ next;
+ mes "[The Anonymous One]";
+ mes "You can learn the Venom Dust skill after you learn Level 5 Enchant Poison.";
+ next;
+ mes "[The Anonymous One]";
+ mes "^3355FFVenom Splasher^000000 is a skill that, after it is used on a target, will cause it to explode when its HP is less than a certain amount after three seconds.";
+ next;
+ mes "[The Anonymous One]";
+ mes "When the target explodes, the enemies in the vicinity are also damaged. This is an essential skill for Assassins. It requires Level 5 Poison React and Level 5 Venom Dust.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Now...";
+ mes "That's all I have to tell you";
+ mes "about Assassin skills.";
+ set ASSIN_Q2,1;
+ next;
+ break;
+ case 2:
+ mes "[The Anonymous One]";
+ mes "Hmm, Stats...";
+ mes "For Assassins, Agility, or AGI, is the most important stat.";
+ next;
+ mes "[The Anonymous One]";
+ mes "For the sake of assassination, STR is probably the second most important stat. But that is only my recommendation.";
+ next;
+ mes "[The Anonymous One]";
+ mes "I cannot give you better advice than that in regards to Stats. You should research and see which stats suit you, and decide what kind of Assassin you want to be.";
+ set ASSIN_Q2,2;
+ next;
+ break;
+ case 3:
+ if (ASSIN_Q2 == 0) {
+ mes "[The Anonymous One]";
+ mes "Know everything do you?!";
+ mes "I'll be the judge of that!";
+ next;
+ }
+ set ASSIN_Q2,3;
+ break;
}
- set ASSIN_Q2,3;
- break;
}
+ mes "[The Anonymous One]";
+ mes "Hmpf. It is now time to test your knowledge. You are not allowed to miss more than one question.";
+ next;
+ mes "[The Anonymous One]";
+ mes "In other words, if you want to pass this test, you must give me 9 correct answers out of 10 questions. I won't let you know which answer you got wrong...";
+ next;
+ mes "[The Anonymous One]";
+ mes "Are you ready?";
+ mes "Prepare yourself!";
+ }
+ else if (ASSIN_Q2 < 5) {
+ mes "[The Anonymous One]";
+ mes "Having problems";
+ mes "passing a simple test?";
+ mes "You should have";
+ mes "known better.";
+ next;
+ if (select("Help me, how do I pass?:I challenge you again!") == 1) {
+ mes "[The Anonymous One]";
+ mes "Well, that's a damn good question. But you're banished from the Assassin Guild, so it's no concern of mine...";
+ close2;
+ warp "moc_fild16",206,151;
+ end;
+ }
+ mes "[The Anonymous One]";
+ mes "So I see...";
+ mes "Now go, but do not fear. I will be by your side as you learn the outcome of your choice...";
+ next;
+ mes "[The Anonymous One]";
+ mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor...";
+ next;
+ mes "[The Anonymous One]";
+ mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin.";
+ next;
+ mes "[The Anonymous One]";
+ mes "Okay,";
+ mes "are you ready?";
+ mes "Good luck.";
}
- mes "[The Anonymous One]";
- mes "Hmpf. It is now time to test your knowledge. You are not allowed to miss more than one question.";
- next;
- mes "[The Anonymous One]";
- mes "In other words, if you want to pass this test, you must give me 9 correct answers out of 10 questions. I won't let you know which answer you got wrong...";
- next;
- mes "[The Anonymous One]";
- mes "Are you ready?";
- mes "Prepare yourself!";
next;
-L_AskQuestions:
switch(rand(1,3)) {
case 1:
mes "[The Anonymous One]";
@@ -1056,43 +1087,11 @@ L_AskQuestions:
}
}
}
- else if (ASSIN_Q2 < 5) {
- mes "[The Anonymous One]";
- mes "Having problems";
- mes "passing a simple test?";
- mes "You should have";
- mes "known better.";
- next;
- if (select("Help me, how do I pass?:I challenge you again!") == 1) {
- mes "[The Anonymous One]";
- mes "Well, that's a damn good question. But you're banished from the Assassin Guild, so it's no concern of mine...";
- close2;
- warp "moc_fild16",206,151;
- end;
- }
- mes "[The Anonymous One]";
- mes "So I see...";
- mes "Now go, but do not fear. I will be by your side as you learn the outcome of your choice...";
- next;
- mes "[The Anonymous One]";
- mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor...";
- next;
- mes "[The Anonymous One]";
- mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin.";
- next;
- mes "[The Anonymous One]";
- mes "Okay,";
- mes "are you ready?";
- mes "Good luck.";
- next;
- goto L_AskQuestions;
- }
else {
mes "[The Anonymous One]";
mes "...I will keep watching you.";
close;
}
-
}
in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{
diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt
index d09cb3a80..04637210d 100644
--- a/npc/jobs/2-1/blacksmith.txt
+++ b/npc/jobs/2-1/blacksmith.txt
@@ -7,7 +7,7 @@
//= Optimized and further edited by kobra_k88.
//= Further bugfixed and tested by Lupus
//===== Current Version: =====================================
-//= 2.7
+//= 2.8
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -39,6 +39,7 @@
//= 2.6 Fixed 4 bugs [Lupus]
//= 2.6a Typo fix [Yommy]
//= 2.7 Added Quest Log commands. [Kisuka]
+//= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf]
//==============================================================
ein_in01,18,28,4 script Guildsman#BLS 731,{
@@ -305,27 +306,46 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{
mes "to be busy~";
close;
}
- else if (BSMITH_Q == 1) {
- mes "[Geschupenschte]";
- mes "Am I correct in assuming you are the help sent by the Blacksmith Guild? There aren't many trustyworthy people I can hire to help me, so I'm always";
- mes "short on help.";
- next;
- mes "[Geschupenschte]";
- mes "Hmm, in any case,";
- mes "you are the help that was sent, right? Okay, I have some work for you that must be handled";
- mes "right away!";
- next;
- mes "[Geschupenschte]";
- mes "Some time ago, I had a boy working for me who had no experience and bought the wrong supplies! It was terrible...";
- next;
- mes "[Geschupenschte]";
- mes "Anyone would hate to lose money through a foolish mistake like that. However, I have a slightly more difficult job for you.";
- next;
- mes "[Geschupenschte]";
- mes "However, I want to make sure that you have some basic knowledge as a Merchant. I'd like to ask you some questions, if that's okay.";
- next;
- if (select("Yes.:Um, can I have some time to prepare?") == 1) {
-L_AskQuestions:
+ else if ((BSMITH_Q == 1) || (BSMITH_Q == 2)) {
+ if (BSMITH_Q == 1) {
+ mes "[Geschupenschte]";
+ mes "Am I correct in assuming you are the help sent by the Blacksmith Guild? There aren't many trustyworthy people I can hire to help me, so I'm always";
+ mes "short on help.";
+ next;
+ mes "[Geschupenschte]";
+ mes "Hmm, in any case,";
+ mes "you are the help that was sent, right? Okay, I have some work for you that must be handled";
+ mes "right away!";
+ next;
+ mes "[Geschupenschte]";
+ mes "Some time ago, I had a boy working for me who had no experience and bought the wrong supplies! It was terrible...";
+ next;
+ mes "[Geschupenschte]";
+ mes "Anyone would hate to lose money through a foolish mistake like that. However, I have a slightly more difficult job for you.";
+ next;
+ mes "[Geschupenschte]";
+ mes "However, I want to make sure that you have some basic knowledge as a Merchant. I'd like to ask you some questions, if that's okay.";
+ next;
+ set .@selection,select("Yes.:Um, can I have some time to prepare?");
+ }
+ else if (BSMITH_Q == 2) {
+ mes "[Geschupenschte]";
+ mes "So, have you";
+ mes "studied a little";
+ mes "more this time?";
+ next;
+ mes "[Geschupenschte]";
+ mes "I admit that it's pretty unreasonable to expect anyone to get a perfect score the first time around, so I'll give you";
+ mes "a little break...";
+ next;
+ mes "[Geschupenschte]";
+ mes "You can miss";
+ mes "one problem!";
+ mes "Alright, let's start";
+ mes "with the questions~";
+ next;
+ }
+ if (.@selection != 2) {
if (rand(2)) {
mes "[Geschupenschte]";
mes "1. Which one of the following regions is matched incorrectly";
@@ -506,6 +526,7 @@ L_AskQuestions:
mes "being careful~";
close;
}
+ /*
else if (BSMITH_Q == 2) {
mes "[Geschupenschte]";
mes "So, have you";
@@ -524,6 +545,7 @@ L_AskQuestions:
next;
goto L_AskQuestions;
}
+ */
else if (BSMITH_Q == 3) {
mes "[Geschupenschte]";
mes "Hmm...";
diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt
index e643c81bf..9bdc84159 100644
--- a/npc/jobs/2-1/hunter.txt
+++ b/npc/jobs/2-1/hunter.txt
@@ -5,7 +5,7 @@
//= Converted by kobra_k88
//= Further bugfixed and tested by Lupus
//===== Current Version: =====================================
-//= 3.5
+//= 3.6
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -51,6 +51,7 @@
//= 3.4 Corrected some Issues with the Waiting Room. (bugreport:1890) [Samuray22]
//= -Deleted a Unnecesary Next; on Hunter Guildsman#hnt. (bugreports:1665,2239,2179)
//= 3.5 Added Quest Log commands. [Kisuka]
+//= 3.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
// Notices in the old Hunter Guild.
@@ -196,194 +197,213 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{
getitem 1710,1; //CrossBow
close;
}
- else if (JobLevel > 39 && HNTR_Q == 0) {
- mes "[Hunter Guildsman]";
- mes "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?";
- next;
- switch(select("Yes. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) {
- case 1:
- mes "[Hunter Guildsman]";
- mes "Hehe~";
- mes "I was right! Let me put you on the candidate list. Let's see~*";
- next;
- mes "[Hunter Guildsman]";
- mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~";
- next;
- mes "^3355FF*Gathers and flips through papers*^000000";
- next;
- mes "^3355FF*Rummage rummage*^000000";
- next;
+ else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) {
+ if (HNTR_Q == 0) {
mes "[Hunter Guildsman]";
- mes "Ah!";
- mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!";
- next;
- mes "[Hunter Sherin]";
- mes "Well then,";
- mes "shall we begin?";
+ mes "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?";
next;
- if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) {
- if(checkquest(4000) == -1) {
- setquest 4000;
- }
- mes "[Hunter Sherin]";
- mes "Listen carefully to the scenarios I describe. When I ask a question, you choose an answer. Pretty simple, don't you think?";
- next;
- mes "[Hunter Sherin]";
- mes "I just want to know how you think about life, and why you want to become a Hunter, so there's no need to be nervous.";
- next;
-L_AskQuestions:
- mes "[Hunter Sherin]";
- mes "Well then,";
- mes "let's begin.";
- next;
- mes "[Hunter Sherin]";
- mes "You are an Archer, and you don't know where you should go to hunt. What do you do?";
+ switch(select("Yes. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) {
+ case 1:
+ mes "[Hunter Guildsman]";
+ mes "Hehe~";
+ mes "I was right! Let me put you on the candidate list. Let's see~*";
next;
- switch(select("Scream out loud asking where you should go.:Quietly ask a person passing by.:Wander around alone and search for a place.")) {
- case 2:
- case 3:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "So you've decided on a place to hunt. You're going to hunt the monsters known as Hodes in the Sograt Desert.";
+ mes "[Hunter Guildsman]";
+ mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~";
next;
- mes "[Hunter Sherin]";
- mes "But you are in Payon!!";
- mes "How do you go to the desert?";
- next;
- switch(select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) {
- case 2:
- case 3:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "There is no Priest to ask for a warp, and no friend is around to walk with you. You must use the Kafra service, but you have no Zeny!";
+ mes "^3355FF*Gathers and flips through papers*^000000";
next;
- mes "[Hunter Sherin]";
- mes "How would you go";
- mes "about to make the";
- mes "Zeny that you need?";
+ mes "^3355FF*Rummage rummage*^000000";
next;
- switch(select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) {
- case 2:
- case 3:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "So you finally arrive at the Sograt Desert. But you realize that Hodes are a bit too strong for you to hunt alone.";
+ mes "[Hunter Guildsman]";
+ mes "Ah!";
+ mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!";
next;
mes "[Hunter Sherin]";
- mes "What is your";
- mes "solution to this";
- mes "situation?";
- next;
- if (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.") == 2)
- set .@hunter_t,.@hunter_t+10;
- mes "[Hunter Sherin]";
- mes "Let's say you were having too much trouble hunting Hodes and returned to town. Now you are out of HP and a Priest happens to be around. How would you ask for a Heal?";
- next;
- if (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.") == 1)
- set .@hunter_t,.@hunter_t+10;
- mes "[Hunter Sherin]";
- mes "This time, you found a rare item while you were going through your inventory. You go out to sell the item, and there are many people with stores and chatrooms open.";
- next;
- mes "[Hunter Sherin]";
- mes "What is the";
- mes "best way to";
- mes "sell your item?";
- next;
- switch(select("Scream out loud to everyone in sight.:Open a chatroom and wait.:Look to see if anyone already wants it.")) {
- case 2:
- case 3:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "While you are waiting, someone is begging for items and Zeny. What should you do?";
- next;
- if (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.") == 1)
- set .@hunter_t,.@hunter_t+10;
- mes "[Hunter Sherin]";
- mes "By now, you decide to go to the Maze by yourself.";
- next;
- mes "[Hunter Sherin]";
- mes "But on your way, you run";
- mes "into someone that is lost.";
- mes "What should you do?";
- next;
- switch(select("Tell them which way to go.:Guide them to their destination.:Ignore.")) {
- case 1:
- case 2:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "After meeting this lost person, you decide to get back to hunting. Just then, you find that someone is attacking a boss!";
- next;
- mes "[Hunter Sherin]";
- mes "What should you do?";
- next;
- if (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1)
- set .@hunter_t,.@hunter_t+10;
- mes "[Hunter Sherin]";
- mes "You are now very exhausted after your day of hunting. It's time to go back to town.";
- next;
- mes "[Hunter Sherin]";
- mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?";
- next;
- switch(select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) {
- case 2:
- case 3:
- set .@hunter_t,.@hunter_t+10;
- default:
- break;
- }
- mes "[Hunter Sherin]";
- mes "Okay, this is the end of the test!";
+ mes "Well then,";
+ mes "shall we begin?";
next;
- if (.@hunter_t == 100) {
- set HNTR_Q,2;
- changequest 4000,4001;
+ if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) {
+ if(checkquest(4000) == -1) {
+ setquest 4000;
+ }
mes "[Hunter Sherin]";
- mes "Well done! Your answers show you've got the right outlook on life. You definitely have the right qualities to become a Hunter~";
+ mes "Listen carefully to the scenarios I describe. When I ask a question, you choose an answer. Pretty simple, don't you think?";
next;
mes "[Hunter Sherin]";
- mes "I'm glad to say you've passed the interview~ Now, go to that person in the corner and confirm which item is necessary for your job change test~";
- close;
- }
- else if (.@hunter_t == 90) {
- set HNTR_Q,2;
- changequest 4000,4001;
- mes "[Hunter Sherin]";
- mes "Well, I'm looking at your answers and your score isn't perfect. But I'll let you pass anyway. I don't know what our Guildmaster will think, though.";
+ mes "I just want to know how you think about life, and why you want to become a Hunter, so there's no need to be nervous.";
next;
+ }
+ else {
mes "[Hunter Sherin]";
- mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?";
+ mes "Okay...";
+ mes "Come back";
+ mes "when you're ready~";
close;
}
- set HNTR_Q,1;
+ break;
+ case 2:
+ set .@selection,2;
+ break;
+ case 3:
+ set .@selection,3;
+ break;
+ }
+ }
+ else if (HNTR_Q == 1) {
+ mes "[Hunter Sherin]";
+ mes "Welcome back...!";
+ mes "Well, let's start with the interview. This time, carefully think about the answers to each question.";
+ next;
+ }
+ switch(.@selection) {
+ default:
+ mes "[Hunter Sherin]";
+ mes "Well then,";
+ mes "let's begin.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "You are an Archer, and you don't know where you should go to hunt. What do you do?";
+ next;
+ switch(select("Scream out loud asking where you should go.:Quietly ask a person passing by.:Wander around alone and search for a place.")) {
+ case 2:
+ case 3:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "So you've decided on a place to hunt. You're going to hunt the monsters known as Hodes in the Sograt Desert.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "But you are in Payon!!";
+ mes "How do you go to the desert?";
+ next;
+ switch(select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) {
+ case 2:
+ case 3:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "There is no Priest to ask for a warp, and no friend is around to walk with you. You must use the Kafra service, but you have no Zeny!";
+ next;
+ mes "[Hunter Sherin]";
+ mes "How would you go";
+ mes "about to make the";
+ mes "Zeny that you need?";
+ next;
+ switch(select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) {
+ case 2:
+ case 3:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "So you finally arrive at the Sograt Desert. But you realize that Hodes are a bit too strong for you to hunt alone.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "What is your";
+ mes "solution to this";
+ mes "situation?";
+ next;
+ if (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.") == 2)
+ set .@hunter_t,.@hunter_t+10;
+ mes "[Hunter Sherin]";
+ mes "Let's say you were having too much trouble hunting Hodes and returned to town. Now you are out of HP and a Priest happens to be around. How would you ask for a Heal?";
+ next;
+ if (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.") == 1)
+ set .@hunter_t,.@hunter_t+10;
+ mes "[Hunter Sherin]";
+ mes "This time, you found a rare item while you were going through your inventory. You go out to sell the item, and there are many people with stores and chatrooms open.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "What is the";
+ mes "best way to";
+ mes "sell your item?";
+ next;
+ switch(select("Scream out loud to everyone in sight.:Open a chatroom and wait.:Look to see if anyone already wants it.")) {
+ case 2:
+ case 3:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "While you are waiting, someone is begging for items and Zeny. What should you do?";
+ next;
+ if (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.") == 1)
+ set .@hunter_t,.@hunter_t+10;
+ mes "[Hunter Sherin]";
+ mes "By now, you decide to go to the Maze by yourself.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "But on your way, you run";
+ mes "into someone that is lost.";
+ mes "What should you do?";
+ next;
+ switch(select("Tell them which way to go.:Guide them to their destination.:Ignore.")) {
+ case 1:
+ case 2:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "After meeting this lost person, you decide to get back to hunting. Just then, you find that someone is attacking a boss!";
+ next;
+ mes "[Hunter Sherin]";
+ mes "What should you do?";
+ next;
+ if (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1)
+ set .@hunter_t,.@hunter_t+10;
+ mes "[Hunter Sherin]";
+ mes "You are now very exhausted after your day of hunting. It's time to go back to town.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?";
+ next;
+ switch(select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) {
+ case 2:
+ case 3:
+ set .@hunter_t,.@hunter_t+10;
+ default:
+ break;
+ }
+ mes "[Hunter Sherin]";
+ mes "Okay, this is the end of the test!";
+ next;
+ if (.@hunter_t == 100) {
+ set HNTR_Q,2;
+ changequest 4000,4001;
mes "[Hunter Sherin]";
- mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette.";
+ mes "Well done! Your answers show you've got the right outlook on life. You definitely have the right qualities to become a Hunter~";
next;
mes "[Hunter Sherin]";
- mes "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others.";
+ mes "I'm glad to say you've passed the interview~ Now, go to that person in the corner and confirm which item is necessary for your job change test~";
+ close;
+ }
+ else if (.@hunter_t == 90) {
+ set HNTR_Q,2;
+ changequest 4000,4001;
+ mes "[Hunter Sherin]";
+ mes "Well, I'm looking at your answers and your score isn't perfect. But I'll let you pass anyway. I don't know what our Guildmaster will think, though.";
next;
mes "[Hunter Sherin]";
- mes "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters.";
+ mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?";
close;
}
+ set HNTR_Q,1;
+ mes "[Hunter Sherin]";
+ mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette.";
+ next;
mes "[Hunter Sherin]";
- mes "Okay...";
- mes "Come back";
- mes "when you're ready~";
+ mes "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others.";
+ next;
+ mes "[Hunter Sherin]";
+ mes "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters.";
close;
case 2:
mes "[Hunter Guildsman]";
@@ -412,13 +432,6 @@ L_AskQuestions:
close;
}
}
- else if (JobLevel > 39 && HNTR_Q == 1) {
- mes "[Hunter Sherin]";
- mes "Welcome back...!";
- mes "Well, let's start with the interview. This time, carefully think about the answers to each question.";
- next;
- goto L_AskQuestions;
- }
else if (HNTR_Q > 2 && HNTR_Q < 10) {
mes "[Hunter Sherin]";
mes "Just give the item to the Demon Hunter, the guy who's all the way to the left in this area~";
@@ -461,30 +474,51 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{
mes "[Guild Receptionist]";
mes "Greetings. They call me... ^660000The Demon Hunter^000000. I am the one in charge of processing applications. Your name is ... " + strcharinfo(0) + ", correct?";
next;
- if (select("Yes, that is correct.:Nope~~(heeheehee)") == 1) {
-L_GiveQuestItems:
+ set .@selection,select("Yes, that is correct.:Nope~~(heeheehee)");
+ if (.@selection == 2) {
mes "[Demon Hunter]";
- mes "Okay. These are the items you need for the test. Since we provide all the arrows you will be using for this test, we need you to get the materials to make them.";
+ mes "Hey, stop messing around.";
+ mes "Your name is " + strcharinfo(0) + ", right?";
next;
- mes "[Demon Hunter]";
- mes "You see, we're having some financial problems. Let's see, we're short on these items...";
- next;
- switch(rand(1,7)) {
- //Claw_Of_Desert_Wolf, Wooden_Block, White_Herb
- case 1: setarray .@items[0], 7030,5, 1019,5, 509,3, 3; changequest 4001,4002; break;
- //Bill_Of_Birds, Skel_Bonem Green_Herb
- case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; changequest 4001,4003; break;
- //Posionous_Canine, Animal's_Skin, Red_Herb
- case 3: setarray .@items[0], 937,3, 919,3, 507,5, 5; changequest 4001,4004; break;
- //Dokkaebi_Horn, Piece_Of_Egg_Shell, Fluff
- case 4: setarray .@items[0], 1021,3, 7032,3, 914,10, 6; changequest 4001,4005; break;
- //Shell, Worm_Peelings, Yellow_Herb
- case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; changequest 4001,4006; break;
- //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot
- case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; changequest 4001,4007; break;
- //Porcupine_Spike, Yoyo_Tailm Acorn
- case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; changequest 4001,4008; break;
+ if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) {
+ mes "[Demon Hunter]";
+ mes "Okay, then. These are the items you need for the test. Since we provide all of the necessary arrows you'll use for the test, we need you to get the materials to make them.";
+ next;
+ mes "[Demon Hunter]";
+ mes "You see, right now we're having some financial problems. Let's see, we're short on these items...";
+ next;
}
+ else {
+ mes "[Demon Hunter]";
+ mes "Leave if you plan to trifle me your petty tricks. Do you not realize that you are toying with ^660000The Demon Hunter^000000?!'";
+ close2;
+ warp "hugel",208,223;
+ end;
+ }
+ }
+ mes "[Demon Hunter]";
+ mes "Okay. These are the items you need for the test. Since we provide all the arrows you will be using for this test, we need you to get the materials to make them.";
+ next;
+ mes "[Demon Hunter]";
+ mes "You see, we're having some financial problems. Let's see, we're short on these items...";
+ next;
+ switch(rand(1,7)) {
+ //Claw_Of_Desert_Wolf, Wooden_Block, White_Herb
+ case 1: setarray .@items[0], 7030,5, 1019,5, 509,3, 3; changequest 4001,4002; break;
+ //Bill_Of_Birds, Skel_Bonem Green_Herb
+ case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; changequest 4001,4003; break;
+ //Posionous_Canine, Animal's_Skin, Red_Herb
+ case 3: setarray .@items[0], 937,3, 919,3, 507,5, 5; changequest 4001,4004; break;
+ //Dokkaebi_Horn, Piece_Of_Egg_Shell, Fluff
+ case 4: setarray .@items[0], 1021,3, 7032,3, 914,10, 6; changequest 4001,4005; break;
+ //Shell, Worm_Peelings, Yellow_Herb
+ case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; changequest 4001,4006; break;
+ //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot
+ case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; changequest 4001,4007; break;
+ //Porcupine_Spike, Yoyo_Tailm Acorn
+ case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; changequest 4001,4008; break;
+ }
+ if (.@selection == 1) {
mes "[Demon Hunter]";
mes "Hmm. ^660000"+.@items[1]+" "+getitemname(.@items[0])+"^000000 to use for arrow tips. ^660000"+.@items[3]+" "+getitemname(.@items[2])+"^000000 to use here and there. And ^660000"+.@items[5]+" "+getitemname(.@items[4])+"^000000 please.";
set HNTR_Q,.@items[6];
@@ -494,26 +528,8 @@ L_GiveQuestItems:
next;
mes "[Demon Hunter]";
mes "Alright then, come back to me when you have everything ready~";
- close;
- }
- mes "[Demon Hunter]";
- mes "Hey, stop messing around.";
- mes "Your name is " + strcharinfo(0) + ", right?";
- next;
- if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) {
- mes "[Demon Hunter]";
- mes "Okay, then. These are the items you need for the test. Since we provide all of the necessary arrows you'll use for the test, we need you to get the materials to make them.";
- next;
- mes "[Demon Hunter]";
- mes "You see, right now we're having some financial problems. Let's see, we're short on these items...";
- next;
- goto L_GiveQuestItems;
}
- mes "[Demon Hunter]";
- mes "Leave if you plan to trifle me your petty tricks. Do you not realize that you are toying with ^660000The Demon Hunter^000000?!'";
- close2;
- warp "hugel",208,223;
- end;
+ close;
}
else if (HNTR_Q >= 3 && HNTR_Q <= 9) {
switch(HNTR_Q) {
@@ -594,7 +610,7 @@ L_GiveQuestItems:
close;
}
}
-
+
payon_in03,131,7,3 script Hunter#htnGM 59,{
if (HNTR_Q == 10) {
mes "[Hunter Guildmaster]";
diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt
index b96ff2635..662b4c58f 100644
--- a/npc/jobs/2-1/knight.txt
+++ b/npc/jobs/2-1/knight.txt
@@ -5,7 +5,7 @@
//= Converted by kobra_k88
//= Further bugfixed and tested by Lupus
//===== Current Version: =====================================
-//= 2.9
+//= 3.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -36,6 +36,7 @@
//= 2.7a Corrected a Typo error ";;". [Samuray22]
//= 2.8 Now uses enable and disable waitingroomevent. [L0ne_W0lf]
//= 2.9 Added Quest Log commands. [Kisuka]
+//= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
prt_in,88,101,4 script Chivalry Captain#knt 56,{
@@ -909,214 +910,218 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{
close;
}
else if (KNIGHT_Q == 4 || KNIGHT_Q == 5) {
- mes "[Sir Siracuse]";
- mes "Oh?";
- mes "Do you have";
- mes "something to";
- mes "ask me?";
- next;
- if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) {
- mes "[Sir Siracuse]";
- mes "I see, you've passed the first test. Very well, I'll make some time for you. Let me introduce myself. My name is James Siracuse.";
- next;
+ if (KNIGHT_Q == 4) {
mes "[Sir Siracuse]";
- mes "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor.";
- next;
- mes "[Sir Siracuse]";
- mes "Don't be nervous, I won't keep you too long. These will be quick questions. Plus, you still have to see the others, right?";
- next;
- mes "[Sir Siracuse]";
- mes "Well then,";
- mes "let's begin.";
- mes "Please answer";
- mes "promptly.";
- next;
-L_AskQuestions:
- mes "[Sir Siracuse]";
- mes "A Knight must possess great strength, defense, speed, and the skill to wield a Two-Handed Sword. Which of the following weapons are not affected by the Two Hand Quicken skill?";
+ mes "Oh?";
+ mes "Do you have";
+ mes "something to";
+ mes "ask me?";
next;
- if (select("Katana:Slayer:Broadsword:Flamberge") != 4) {
- set KNIGHT_Q,5;
+ if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) {
mes "[Sir Siracuse]";
- mes "Wrong!";
- mes "That's a Two-Handed Sword!";
- mes "Are you sure you want to be a Knight? You don't even know the basics...";
+ mes "I see, you've passed the first test. Very well, I'll make some time for you. Let me introduce myself. My name is James Siracuse.";
next;
mes "[Sir Siracuse]";
- mes "If you're not sure about anything, go into town and ask any Knight. You need to learn more about Knights before applying for the job!";
- close;
- }
- mes "[Sir Siracuse]";
- mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?";
- next;
- if (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10") != 3) {
- set KNIGHT_Q,5;
+ mes "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor.";
+ next;
mes "[Sir Siracuse]";
- mes "Wrong!";
- mes "You need that to learn Bowling Bash! You should learn more about the Knight class before applying for the job!";
- close;
- }
- mes "[Sir Siracuse]";
- mes "Knights can also use Spears, unlike other jobs, and have skills related to Spears as well. What skills are not necessary to learn the skill Brandish Spear?";
- next;
- if (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1") != 3) {
- set KNIGHT_Q,5;
+ mes "Don't be nervous, I won't keep you too long. These will be quick questions. Plus, you still have to see the others, right?";
+ next;
mes "[Sir Siracuse]";
- mes "Wrong! You need to learn that to learn Brandish Spear! How can you not know about Knights if you want to become one?";
+ mes "Well then,";
+ mes "let's begin.";
+ mes "Please answer";
+ mes "promptly.";
next;
+ }
+ else {
mes "[Sir Siracuse]";
- mes "If you aren't sure about anything, go into town and ask any Knight";
- mes "for help. Come back after you've learned more about Knights.";
+ mes "Hmmm...?";
+ mes "Alright.";
+ mes "It's just that";
+ mes "you had that";
+ mes "look on your";
+ mes "face.";
close;
}
+ }
+ else if (KNIGHT_Q == 5) {
mes "[Sir Siracuse]";
- mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?";
+ mes "What...";
+ mes "You again?";
next;
- if (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe") != 1) {
- set KNIGHT_Q,5;
+ if (select("I wish to take the test again.:Oh, nothing.") == 1) {
mes "[Sir Siracuse]";
- mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!";
+ mes "Is that right?";
+ mes "Are you sure you're";
+ mes "prepared this time?";
next;
mes "[Sir Siracuse]";
- mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!";
- close;
- }
- mes "[Sir Siracuse]";
- mes "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco.";
- next;
- mes "[Sir Siracuse]";
- mes "But, you can counter this speed decrease as you learn the Cavalier Mastery skill. What percentage of your normal attack speed will you have after learning Level 3 Cavalier Mastery?";
- next;
- if (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed") != 2) {
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "Wrong!";
- mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!";
+ mes "Alright then,";
+ mes "here we go again...";
next;
+ }
+ else {
mes "[Sir Siracuse]";
- mes "You better come back after you've learned a little more about Knights!";
+ mes "Hmmm...?";
+ mes "Alright.";
+ mes "It's just that";
+ mes "you had that";
+ mes "look on your";
+ mes "face.";
close;
}
+ }
+ mes "[Sir Siracuse]";
+ mes "A Knight must possess great strength, defense, speed, and the skill to wield a Two-Handed Sword. Which of the following weapons are not affected by the Two Hand Quicken skill?";
+ next;
+ if (select("Katana:Slayer:Broadsword:Flamberge") != 4) {
+ set KNIGHT_Q,5;
mes "[Sir Siracuse]";
- mes "Good, good...";
- mes "I'm pretty sure you know a decent amount about Knights. Now, let me ask you some personal questions about Knights.";
+ mes "Wrong!";
+ mes "That's a Two-Handed Sword!";
+ mes "Are you sure you want to be a Knight? You don't even know the basics...";
next;
mes "[Sir Siracuse]";
- mes "What should you do when you run into a Novice asking for help in town?";
- next;
- switch(select("Tell the Novice of a reasonable hunting area.:Let the Novice fight while you take the damage.:Give the Novice a bunch of Zeny and items.")) {
- case 1:
- mes "[Sir Siracuse]";
- mes "Of course, even a Novice needs to learn how to be independent. Giving good guidance to Novices is one of the best things we can do.";
- next;
- break;
- case 2:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "You have the wrong idea. Do you really believe that is helping the Novice? Give a man a fish, he will eat for a day. Teach him to fish, he will eat for a lifetime!";
- close;
- case 3:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "Do you really believe that this will truly help the poor Novice? It's generous but, they will not know the true value of zeny and items until they earn it themselves.";
- close;
- }
+ mes "If you're not sure about anything, go into town and ask any Knight. You need to learn more about Knights before applying for the job!";
+ close;
+ }
+ mes "[Sir Siracuse]";
+ mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?";
+ next;
+ if (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10") != 3) {
+ set KNIGHT_Q,5;
mes "[Sir Siracuse]";
- mes "Alright...";
- mes "Now, how should";
- mes "you act within";
- mes "a party?";
+ mes "Wrong!";
+ mes "You need that to learn Bowling Bash! You should learn more about the Knight class before applying for the job!";
+ close;
+ }
+ mes "[Sir Siracuse]";
+ mes "Knights can also use Spears, unlike other jobs, and have skills related to Spears as well. What skills are not necessary to learn the skill Brandish Spear?";
+ next;
+ if (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1") != 3) {
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "Wrong! You need to learn that to learn Brandish Spear! How can you not know about Knights if you want to become one?";
next;
- switch(select("Protect everyone in the front of the battle.:Gather monsters and destroy them at once.:Get as many items possible, at all cost.")) {
- case 1:
- mes "[Sir Siracuse]";
- mes "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset.";
- next;
- break;
- case 2:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "Are you crazy? Don't you realize the flaw in that kind of thinking? You can't control large mobs. What if they kill you? Who will protect the innocent?";
- close;
- case 3:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "I see your greed and we will have none of it here! It seems you do not truly care for others!";
- mes "Get lost!";
- close;
- }
mes "[Sir Siracuse]";
- mes "Lastly...";
- mes "what's the most";
- mes "important value";
- mes "a Knight must have?";
+ mes "If you aren't sure about anything, go into town and ask any Knight";
+ mes "for help. Come back after you've learned more about Knights.";
+ close;
+ }
+ mes "[Sir Siracuse]";
+ mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?";
+ next;
+ if (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe") != 1) {
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!";
next;
- switch(select("Honor:Wealth:Status")) {
- case 1:
- mes "[Sir Siracuse]";
- mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind.";
- next;
- break;
- case 2:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "You're scum! You strive to become a Knight for personal wealth? Get lost! We will not accept someone like you in our Chivalry!";
- close;
- case 3:
- set KNIGHT_Q,5;
- mes "[Sir Siracuse]";
- mes "So you're trying to become famous through the Chivalry? That's pathetic. We won't accept someone like you in our Chivalry!";
- close;
- }
- set KNIGHT_Q,6;
- changequest 9003,9004;
mes "[Sir Siracuse]";
- mes "Well then,";
- mes "this is the";
- mes "end of my test.";
+ mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!";
+ close;
+ }
+ mes "[Sir Siracuse]";
+ mes "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco.";
+ next;
+ mes "[Sir Siracuse]";
+ mes "But, you can counter this speed decrease as you learn the Cavalier Mastery skill. What percentage of your normal attack speed will you have after learning Level 3 Cavalier Mastery?";
+ next;
+ if (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed") != 2) {
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "Wrong!";
+ mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!";
next;
mes "[Sir Siracuse]";
- mes "For your next";
- mes "test, please go";
- mes "see Sir Windsor.";
- mes "He's very quiet,";
- mes "but don't let that";
- mes "get to you.";
+ mes "You better come back after you've learned a little more about Knights!";
close;
}
mes "[Sir Siracuse]";
- mes "Hmmm...?";
- mes "Alright.";
- mes "It's just that";
- mes "you had that";
- mes "look on your";
- mes "face.";
- close;
- }
- else if (KNIGHT_Q == 5) {
+ mes "Good, good...";
+ mes "I'm pretty sure you know a decent amount about Knights. Now, let me ask you some personal questions about Knights.";
+ next;
mes "[Sir Siracuse]";
- mes "What...";
- mes "You again?";
+ mes "What should you do when you run into a Novice asking for help in town?";
next;
- if (select("I wish to take the test again.:Oh, nothing.") == 1) {
+ switch(select("Tell the Novice of a reasonable hunting area.:Let the Novice fight while you take the damage.:Give the Novice a bunch of Zeny and items.")) {
+ case 1:
mes "[Sir Siracuse]";
- mes "Is that right?";
- mes "Are you sure you're";
- mes "prepared this time?";
+ mes "Of course, even a Novice needs to learn how to be independent. Giving good guidance to Novices is one of the best things we can do.";
next;
+ break;
+ case 2:
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "You have the wrong idea. Do you really believe that is helping the Novice? Give a man a fish, he will eat for a day. Teach him to fish, he will eat for a lifetime!";
+ close;
+ case 3:
+ set KNIGHT_Q,5;
mes "[Sir Siracuse]";
- mes "Alright then,";
- mes "here we go again...";
+ mes "Do you really believe that this will truly help the poor Novice? It's generous but, they will not know the true value of zeny and items until they earn it themselves.";
+ close;
+ }
+ mes "[Sir Siracuse]";
+ mes "Alright...";
+ mes "Now, how should";
+ mes "you act within";
+ mes "a party?";
+ next;
+ switch(select("Protect everyone in the front of the battle.:Gather monsters and destroy them at once.:Get as many items possible, at all cost.")) {
+ case 1:
+ mes "[Sir Siracuse]";
+ mes "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset.";
next;
- goto L_AskQuestions;
+ break;
+ case 2:
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "Are you crazy? Don't you realize the flaw in that kind of thinking? You can't control large mobs. What if they kill you? Who will protect the innocent?";
+ close;
+ case 3:
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "I see your greed and we will have none of it here! It seems you do not truly care for others!";
+ mes "Get lost!";
+ close;
}
mes "[Sir Siracuse]";
- mes "Hmmm...?";
- mes "Alright.";
- mes "It's just that";
- mes "you had that";
- mes "look on your";
- mes "face.";
+ mes "Lastly...";
+ mes "what's the most";
+ mes "important value";
+ mes "a Knight must have?";
+ next;
+ switch(select("Honor:Wealth:Status")) {
+ case 1:
+ mes "[Sir Siracuse]";
+ mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind.";
+ next;
+ break;
+ case 2:
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "You're scum! You strive to become a Knight for personal wealth? Get lost! We will not accept someone like you in our Chivalry!";
+ close;
+ case 3:
+ set KNIGHT_Q,5;
+ mes "[Sir Siracuse]";
+ mes "So you're trying to become famous through the Chivalry? That's pathetic. We won't accept someone like you in our Chivalry!";
+ close;
+ }
+ set KNIGHT_Q,6;
+ changequest 9003,9004;
+ mes "[Sir Siracuse]";
+ mes "Well then,";
+ mes "this is the";
+ mes "end of my test.";
+ next;
+ mes "[Sir Siracuse]";
+ mes "For your next";
+ mes "test, please go";
+ mes "see Sir Windsor.";
+ mes "He's very quiet,";
+ mes "but don't let that";
+ mes "get to you.";
close;
}
else if (KNIGHT_Q == 6) {
@@ -1657,241 +1662,245 @@ prt_in,69,107,6 script Lady Amy#knt 728,{
mes "Alright...";
close;
}
- else if (KNIGHT_Q) == 8 {
- mes "[Lady Amy]";
- mes "Hmmm?";
- mes "Why did you";
- mes "come to Amy?";
- next;
- if (select("Sir Windsor told me to--:Oh, nothing.") == 1) {
- if(checkquest(9008) == -1) {
- changequest 9007,9008;
- }
- mes "[Lady Amy]";
- mes "Oh!";
- mes "No need to say";
- mes "anything more.";
- mes "Welcome! It's time";
- mes "to take Amy's test!";
- next;
- mes "[Lady Amy]";
- mes "My name is Amy Beatrice,";
- mes "a proud Lady Knight of the Prontera Chivalry. Amy's test will test your etiquette as a Knight~";
- next;
- mes "[Lady Amy]";
- mes "I'll tell you a story and you choose an answer whenever";
- mes "I ask a question. Your etiquette will be judged on your answers.";
- next;
- mes "[Lady Amy]";
- mes "So listen carefully";
- mes "and answer as if you're";
- mes "already a Knight, okay?";
- next;
- mes "[Lady Amy]";
- mes "Then,";
- mes "let's begin!";
- next;
-L_AskQuestions:
- mes "[Lady Amy]";
- mes "You are a Knight and you are looking for a party in Morroc.";
- mes "How would you go about doing so?";
- next;
- switch(select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) {
- case 2:
- case 3:
- set .@knight_t,.@knight_t+10;
- default:
- break;
- }
- mes "[Lady Amy]";
- mes "You have formed a party with equal leveled players. There's a Priest, a Wizard, a Hunter, an Assassin, and a Blacksmith...";
- next;
- mes "[Lady Amy]";
- mes "The six of you decide to go hunt and have decided to go to the Pyramids.";
- next;
- mes "[Lady Amy]";
- mes "You reach Level 4";
- mes "of the Pyramids";
- mes "with your party.";
- mes "What should you do?";
- next;
- switch(select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) {
- case 1:
- case 3:
- set .@knight_t,.@knight_t+10;
- default:
- break;
- }
- mes "[Lady Amy]";
- mes "But some rude players came with a group of monsters and disappeared! What should you do?";
- next;
- if (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.") == 2)
- set .@knight_t,.@knight_t+10;
- mes "[Lady Amy]";
- mes "Luckily, you all lived through the crisis. But as you walk, you find a person, who is not in your party, collapsed on the ground.";
- next;
- mes "[Lady Amy]";
- mes "The person is asking politely for help. What should you do?";
- next;
- if (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.") == 1)
- set .@knight_t,.@knight_t+10;
+ else if ((KNIGHT_Q == 8) || (KNIGHT_Q == 9)){
+ if (KNIGHT_Q == 8) {
mes "[Lady Amy]";
- mes "You must bid farewell to your party members because you must go somewhere else.";
- next;
- mes "[Lady Amy]";
- mes "But you find";
- mes "a rare item during";
- mes "the battle. What";
- mes "should you do?";
- next;
- switch(select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) {
- case 1:
- case 3:
- set .@knight_t,.@knight_t+10;
- default:
- break;
- }
- mes "[Lady Amy]";
- mes "You end up with the item and you go to Prontera to sell it. There are many people with shops and chat rooms opened selling items.";
- next;
- mes "[Lady Amy]";
- mes "What should you";
- mes "do to sell your item?";
- next;
- if (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.") == 3)
- set .@knight_t,.@knight_t+10;
- mes "[Lady Amy]";
- mes "While you are waiting,";
- mes "someone comes and begs";
- mes "for items and zeny.";
- mes "What do you do?";
- next;
- if (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.") == 3)
- set .@knight_t,.@knight_t+10;
- mes "[Lady Amy]";
- mes "Now you decide to go to the Hidden Temple by yourself. You happily ride on your Peco Peco.";
- next;
- mes "[Lady Amy]";
- mes "But you run into";
- mes "someone that is lost.";
- mes "What should you do?";
+ mes "Hmmm?";
+ mes "Why did you";
+ mes "come to Amy?";
next;
- switch(select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) {
- case 1:
- case 2:
- set .@knight_t,.@knight_t+10;
- default:
- break;
+ if (select("Sir Windsor told me to--:Oh, nothing.") == 1) {
+ if(checkquest(9008) == -1) {
+ changequest 9007,9008;
+ }
+ mes "[Lady Amy]";
+ mes "Oh!";
+ mes "No need to say";
+ mes "anything more.";
+ mes "Welcome! It's time";
+ mes "to take Amy's test!";
+ next;
+ mes "[Lady Amy]";
+ mes "My name is Amy Beatrice,";
+ mes "a proud Lady Knight of the Prontera Chivalry. Amy's test will test your etiquette as a Knight~";
+ next;
+ mes "[Lady Amy]";
+ mes "I'll tell you a story and you choose an answer whenever";
+ mes "I ask a question. Your etiquette will be judged on your answers.";
+ next;
+ mes "[Lady Amy]";
+ mes "So listen carefully";
+ mes "and answer as if you're";
+ mes "already a Knight, okay?";
+ next;
+ mes "[Lady Amy]";
+ mes "Then,";
+ mes "let's begin!";
+ next;
}
- mes "[Lady Amy]";
- mes "You've been hunting for a while, and now you're low on HP!";
- mes "It's red now, which is very dangerous.";
- next;
- mes "[Lady Amy]";
- mes "Ah, then a Priest";
- mes "happens to walk by.";
- mes "How would you ask";
- mes "the Priest for a Heal?";
- next;
- if (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!") == 1)
- set .@knight_t,.@knight_t+10;
- mes "[Lady Amy]";
- mes "You are now very";
- mes "exhausted and it's time";
- mes "to go back to town.";
- next;
- mes "[Lady Amy]";
- mes "You then find";
- mes "a rare item on";
- mes "the street.";
- mes "What should";
- mes "you do?";
- next;
- switch(select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) {
- case 2:
- case 3:
- set .@knight_t,.@knight_t+10;
- default:
- break;
+ else {
+ mes "[Lady Amy]";
+ mes "Aww...";
+ mes "Alright~";
+ close;
}
+ }
+ else if (KNIGHT_Q == 9) {
mes "[Lady Amy]";
- mes "Okay,";
- mes "that was the";
- mes "end of my test!";
+ mes "Hmmm?";
+ mes "Why did you";
+ mes "come to Amy?";
next;
- if (.@knight_t == 100) {
- set KNIGHT_Q,10;
- changequest 9008,9009;
+ if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) {
mes "[Lady Amy]";
- mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~";
+ mes "Mmm~?";
+ mes "Have you learned";
+ mes "what you did wrong";
+ mes "last time? If you";
+ mes "fail again, I'm going";
+ mes "to be mad!";
next;
mes "[Lady Amy]";
- mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?";
- close;
- }
- else if (.@knight_t == 90) {
- set KNIGHT_Q,10;
- changequest 9008,9009;
+ mes "So listen carefully";
+ mes "and answer as if you";
+ mes "are a Knight.";
+ mes "Well then,";
+ mes "let's begin!";
+ next;
mes "[Lady Amy]";
- mes "Well, it wasn't perfect,";
- mes "but I think you know enough";
- mes "about etiquette to be";
- mes "a fine Knight.";
+ mes "You are a Knight and you are looking for a party in Morroc.";
+ mes "How would you go about doing so?";
next;
+ }
+ else {
mes "[Lady Amy]";
- mes "Now, it's time for you to go to Sir Edmond for your next test. Do well on the rest of your tests. You better promise~";
+ mes "Aww...";
+ mes "Alright~";
close;
}
- set KNIGHT_Q,9;
- mes "[Lady Amy]";
- mes "Mmm...";
- mes "To be honest, I don't think your attitude is good enough to be a Knight quite yet.";
- next;
- mes "[Lady Amy]";
- mes "If you really act like that, everyone will think Knights are rude! Think about how you answered my questions and come again later.";
- next;
- mes "[Lady Amy]";
- mes "If you want,";
- mes "I'll let you";
- mes "retake the test, okay?";
- close;
}
mes "[Lady Amy]";
- mes "Aww...";
- mes "Alright~";
- close;
- }
- else if (KNIGHT_Q == 9) {
+ mes "You are a Knight and you are looking for a party in Morroc.";
+ mes "How would you go about doing so?";
+ next;
+ switch(select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) {
+ case 2:
+ case 3:
+ set .@knight_t,.@knight_t+10;
+ default:
+ break;
+ }
mes "[Lady Amy]";
- mes "Hmmm?";
- mes "Why did you";
- mes "come to Amy?";
+ mes "You have formed a party with equal leveled players. There's a Priest, a Wizard, a Hunter, an Assassin, and a Blacksmith...";
next;
- if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) {
+ mes "[Lady Amy]";
+ mes "The six of you decide to go hunt and have decided to go to the Pyramids.";
+ next;
+ mes "[Lady Amy]";
+ mes "You reach Level 4";
+ mes "of the Pyramids";
+ mes "with your party.";
+ mes "What should you do?";
+ next;
+ switch(select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) {
+ case 1:
+ case 3:
+ set .@knight_t,.@knight_t+10;
+ default:
+ break;
+ }
+ mes "[Lady Amy]";
+ mes "But some rude players came with a group of monsters and disappeared! What should you do?";
+ next;
+ if (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.") == 2)
+ set .@knight_t,.@knight_t+10;
+ mes "[Lady Amy]";
+ mes "Luckily, you all lived through the crisis. But as you walk, you find a person, who is not in your party, collapsed on the ground.";
+ next;
+ mes "[Lady Amy]";
+ mes "The person is asking politely for help. What should you do?";
+ next;
+ if (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.") == 1)
+ set .@knight_t,.@knight_t+10;
+ mes "[Lady Amy]";
+ mes "You must bid farewell to your party members because you must go somewhere else.";
+ next;
+ mes "[Lady Amy]";
+ mes "But you find";
+ mes "a rare item during";
+ mes "the battle. What";
+ mes "should you do?";
+ next;
+ switch(select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) {
+ case 1:
+ case 3:
+ set .@knight_t,.@knight_t+10;
+ default:
+ break;
+ }
+ mes "[Lady Amy]";
+ mes "You end up with the item and you go to Prontera to sell it. There are many people with shops and chat rooms opened selling items.";
+ next;
+ mes "[Lady Amy]";
+ mes "What should you";
+ mes "do to sell your item?";
+ next;
+ if (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.") == 3)
+ set .@knight_t,.@knight_t+10;
+ mes "[Lady Amy]";
+ mes "While you are waiting,";
+ mes "someone comes and begs";
+ mes "for items and zeny.";
+ mes "What do you do?";
+ next;
+ if (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.") == 3)
+ set .@knight_t,.@knight_t+10;
+ mes "[Lady Amy]";
+ mes "Now you decide to go to the Hidden Temple by yourself. You happily ride on your Peco Peco.";
+ next;
+ mes "[Lady Amy]";
+ mes "But you run into";
+ mes "someone that is lost.";
+ mes "What should you do?";
+ next;
+ switch(select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) {
+ case 1:
+ case 2:
+ set .@knight_t,.@knight_t+10;
+ default:
+ break;
+ }
+ mes "[Lady Amy]";
+ mes "You've been hunting for a while, and now you're low on HP!";
+ mes "It's red now, which is very dangerous.";
+ next;
+ mes "[Lady Amy]";
+ mes "Ah, then a Priest";
+ mes "happens to walk by.";
+ mes "How would you ask";
+ mes "the Priest for a Heal?";
+ next;
+ if (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!") == 1)
+ set .@knight_t,.@knight_t+10;
+ mes "[Lady Amy]";
+ mes "You are now very";
+ mes "exhausted and it's time";
+ mes "to go back to town.";
+ next;
+ mes "[Lady Amy]";
+ mes "You then find";
+ mes "a rare item on";
+ mes "the street.";
+ mes "What should";
+ mes "you do?";
+ next;
+ switch(select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) {
+ case 2:
+ case 3:
+ set .@knight_t,.@knight_t+10;
+ default:
+ break;
+ }
+ mes "[Lady Amy]";
+ mes "Okay,";
+ mes "that was the";
+ mes "end of my test!";
+ next;
+ if (.@knight_t == 100) {
+ set KNIGHT_Q,10;
+ changequest 9008,9009;
mes "[Lady Amy]";
- mes "Mmm~?";
- mes "Have you learned";
- mes "what you did wrong";
- mes "last time? If you";
- mes "fail again, I'm going";
- mes "to be mad!";
+ mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~";
next;
mes "[Lady Amy]";
- mes "So listen carefully";
- mes "and answer as if you";
- mes "are a Knight.";
- mes "Well then,";
- mes "let's begin!";
- next;
+ mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?";
+ close;
+ }
+ else if (.@knight_t == 90) {
+ set KNIGHT_Q,10;
+ changequest 9008,9009;
mes "[Lady Amy]";
- mes "You are a Knight and you are looking for a party in Morroc.";
- mes "How would you go about doing so?";
+ mes "Well, it wasn't perfect,";
+ mes "but I think you know enough";
+ mes "about etiquette to be";
+ mes "a fine Knight.";
next;
- goto L_AskQuestions;
+ mes "[Lady Amy]";
+ mes "Now, it's time for you to go to Sir Edmond for your next test. Do well on the rest of your tests. You better promise~";
+ close;
}
+ set KNIGHT_Q,9;
+ mes "[Lady Amy]";
+ mes "Mmm...";
+ mes "To be honest, I don't think your attitude is good enough to be a Knight quite yet.";
+ next;
mes "[Lady Amy]";
- mes "Aww...";
- mes "Alright~";
+ mes "If you really act like that, everyone will think Knights are rude! Think about how you answered my questions and come again later.";
+ next;
+ mes "[Lady Amy]";
+ mes "If you want,";
+ mes "I'll let you";
+ mes "retake the test, okay?";
close;
}
else if (KNIGHT_Q == 10) {
@@ -2277,353 +2286,357 @@ prt_in,87,92,4 script Sir Gray#knt 119,{
mes "once time has passed.";
close;
}
- else if (KNIGHT_Q == 12) {
- mes "[Sir Gray]";
- mes "Oh...";
- mes "A young Swordman.";
- mes "Yes, what can";
- mes "I do for you?";
- next;
- if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) {
+ else if ((KNIGHT_Q == 12) || (KNIGHT_Q == 13)) {
+ if (KNIGHT_Q == 12) {
mes "[Sir Gray]";
- mes "Hoho, I see.";
- mes "So you took";
- mes "everyone else's";
- mes "test?";
+ mes "Oh...";
+ mes "A young Swordman.";
+ mes "Yes, what can";
+ mes "I do for you?";
next;
+ if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) {
+ mes "[Sir Gray]";
+ mes "Hoho, I see.";
+ mes "So you took";
+ mes "everyone else's";
+ mes "test?";
+ next;
+ mes "[Sir Gray]";
+ mes "Then shall";
+ mes "we begin mine?";
+ mes "It's not really";
+ mes "a test though.";
+ next;
+ mes "[Sir Gray]";
+ mes "Let's talk";
+ mes "casually,";
+ mes "shall we?";
+ next;
+ mes "[Sir Gray]";
+ mes "First...";
+ mes "Why did you";
+ mes "decide to become";
+ mes "a Knight?";
+ next;
+ }
+ else {
+ mes "[Sir Gray]";
+ mes "Take care!";
+ close;
+ }
+ }
+ else if (KNIGHT_Q == 13) {
mes "[Sir Gray]";
- mes "Then shall";
- mes "we begin mine?";
- mes "It's not really";
- mes "a test though.";
+ mes "Ah, you again.";
+ mes "What brings you";
+ mes "to me?";
next;
+ if (select("I've been thinking a lot.:Oh, nothing.") == 1) {
+ mes "[Sir Gray]";
+ mes "Is that so...";
+ mes "I wonder if you";
+ mes "truly have...";
+ next;
+ mes "[Sir Gray]";
+ mes "Then...";
+ mes "Like last time,";
+ mes "I will ask again...";
+ next;
+ mes "[Sir Gray]";
+ mes "First...";
+ mes "Why did you";
+ mes "decide to become";
+ mes "a Knight?";
+ next;
+ }
+ else {
+ mes "[Sir Gray]";
+ mes "Take care!";
+ mes "Health is";
+ mes "every man's";
+ mes "treasure!";
+ close;
+ }
+ }
+ switch(select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) {
+ case 1:
mes "[Sir Gray]";
- mes "Let's talk";
- mes "casually,";
- mes "shall we?";
+ mes "To become stronger, you say?";
+ mes "Yes, Knights are indeed strong.";
+ mes "But why gain strength?";
next;
mes "[Sir Gray]";
- mes "First...";
- mes "Why did you";
- mes "decide to become";
- mes "a Knight?";
+ mes "Is it to show off to others? To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?";
next;
-L_AskQuestions:
- switch(select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) {
+ switch(select("Gain wealth and fame.:I can protect myself.:I can protect others.")) {
case 1:
+ set .@knight_t,.@knight_t+10;
mes "[Sir Gray]";
- mes "To become stronger, you say?";
- mes "Yes, Knights are indeed strong.";
- mes "But why gain strength?";
+ mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues.";
next;
+ break;
+ case 2:
mes "[Sir Gray]";
- mes "Is it to show off to others? To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?";
+ mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness.";
next;
- switch(select("Gain wealth and fame.:I can protect myself.:I can protect others.")) {
- case 1:
- set .@knight_t,.@knight_t+10;
- mes "[Sir Gray]";
- mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues.";
- next;
- break;
- case 2:
- mes "[Sir Gray]";
- mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness.";
- next;
- break;
- case 3:
- mes "[Sir Gray]";
- mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
- next;
- mes "[Sir Gray]";
- mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
- next;
- break;
- }
break;
- case 2:
+ case 3:
mes "[Sir Gray]";
- mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words...";
+ mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
next;
mes "[Sir Gray]";
- mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000";
+ mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
next;
+ break;
+ }
+ break;
+ case 2:
+ mes "[Sir Gray]";
+ mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words...";
+ next;
+ mes "[Sir Gray]";
+ mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000";
+ next;
+ mes "[Sir Gray]";
+ mes "So how do you";
+ mes "think you can";
+ mes "help your guild?";
+ next;
+ switch(select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) {
+ case 1:
mes "[Sir Gray]";
- mes "So how do you";
- mes "think you can";
- mes "help your guild?";
+ mes "Anyone, anywhere in this world,";
+ mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member.";
next;
- switch(select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) {
- case 1:
- mes "[Sir Gray]";
- mes "Anyone, anywhere in this world,";
- mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member.";
- next;
- break;
- case 2:
- set .@knight_t,.@knight_t+10;
- mes "[Sir Gray]";
- mes "Of course wealth is important.";
- mes "But we Knights must live for higher virtues.";
- next;
- break;
- case 3:
- mes "[Sir Gray]";
- mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
- next;
- mes "[Sir Gray]";
- mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
- next;
- break;
- }
break;
- case 3:
- set .@knight_t,.@knight_t+5;
+ case 2:
+ set .@knight_t,.@knight_t+10;
mes "[Sir Gray]";
- mes "Satisfaction, you say.";
- mes "It seems like you are";
- mes "already a fine Swordman.";
- mes "Is there a particular reason you wish to be a Knight?";
+ mes "Of course wealth is important.";
+ mes "But we Knights must live for higher virtues.";
next;
+ break;
+ case 3:
mes "[Sir Gray]";
- mes "I don't know about";
- mes "Swordmen, but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves.";
+ mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
next;
mes "[Sir Gray]";
- mes "So...";
- mes "What part of yourself";
- mes "are you not satisfied";
- mes "with right now?";
+ mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
next;
- switch(select("Skills.:Goal.:Appearance.")) {
- case 1:
- set .@knight_t,.@knight_t+5;
- mes "[Sir Gray]";
- mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight.";
- next;
- break;
- case 2:
- set .@knight_t,.@knight_t-5;
- mes "[Sir Gray]";
- mes "I see...";
- mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time.";
- next;
- break;
- case 3:
- set .@knight_t,.@knight_t+5;
- mes "[Sir Gray]";
- mes "Oh no...";
- mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy.";
- next;
- break;
- }
break;
}
+ break;
+ case 3:
+ set .@knight_t,.@knight_t+5;
mes "[Sir Gray]";
- mes "I understand your thoughts,";
- mes "but there are those who wish to";
- mes "become Knights without thinking.";
- next;
- mes "[Sir Gray]";
- mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results.";
+ mes "Satisfaction, you say.";
+ mes "It seems like you are";
+ mes "already a fine Swordman.";
+ mes "Is there a particular reason you wish to be a Knight?";
next;
mes "[Sir Gray]";
- mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you.";
+ mes "I don't know about";
+ mes "Swordmen, but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves.";
next;
mes "[Sir Gray]";
- mes "If you become a Knight right away, what are you going to do first?";
+ mes "So...";
+ mes "What part of yourself";
+ mes "are you not satisfied";
+ mes "with right now?";
next;
- switch(select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) {
+ switch(select("Skills.:Goal.:Appearance.")) {
case 1:
+ set .@knight_t,.@knight_t+5;
mes "[Sir Gray]";
- mes "Battle...?";
- mes "And then?";
+ mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight.";
next;
- switch(select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) {
- case 1:
- set .@knight_t,.@knight_t+10;
- mes "[Sir Gray]";
- mes "Don't be in too much of a hurry to become strong. Even if you become";
- mes "a Knight, you are still yourself.";
- next;
- break;
- case 2:
- mes "[Sir Gray]";
- mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight.";
- next;
- break;
- case 3:
- mes "[Sir Gray]";
- mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself.";
- mes "Relax and take things step by step.";
- next;
- break;
- }
break;
case 2:
+ set .@knight_t,.@knight_t-5;
mes "[Sir Gray]";
- mes "Who is";
- mes "waiting for you?";
+ mes "I see...";
+ mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time.";
next;
- switch(select("My friends.:My Guild members.:My Lover.")) {
- case 1:
- mes "[Sir Gray]";
- mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends.";
- next;
- break;
- case 2:
- mes "[Sir Gray]";
- mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them.";
- next;
- break;
- case 3:
- mes "[Sir Gray]";
- mes "Oh, youth!";
- mes "Becoming a Knight";
- mes "for your beloved!";
- if (sex)
- mes "Always protect her...";
- else
- mes "Always protect him...";
- mes "Even at the sacrifice";
- mes "of your own life!";
- next;
- mes "[Sir Gray]";
- mes "Also...";
- mes "Love them forever.";
- mes "Sincere affection";
- mes "is hard to find.";
- next;
- break;
- }
break;
case 3:
+ set .@knight_t,.@knight_t+5;
mes "[Sir Gray]";
- mes "Good attitude...";
- mes "What do you plan";
- mes "on learning?";
+ mes "Oh no...";
+ mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy.";
next;
- switch(select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) {
- case 1:
- set .@knight_t,.@knight_t+5;
- mes "[Sir Gray]";
- mes "There are many places that are comfortable or uncomfortable in this world. However Knights must";
- mes "be able to survive anywhere.";
- next;
- break;
- case 2:
- mes "[Sir Gray]";
- mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions.";
- next;
- break;
- case 3:
- set .@knight_t,.@knight_t+15;
- mes "[Sir Gray]";
- mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought";
- mes "more about it...";
- next;
- break;
- }
break;
}
+ break;
+ }
+ mes "[Sir Gray]";
+ mes "I understand your thoughts,";
+ mes "but there are those who wish to";
+ mes "become Knights without thinking.";
+ next;
+ mes "[Sir Gray]";
+ mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results.";
+ next;
+ mes "[Sir Gray]";
+ mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you.";
+ next;
+ mes "[Sir Gray]";
+ mes "If you become a Knight right away, what are you going to do first?";
+ next;
+ switch(select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) {
+ case 1:
mes "[Sir Gray]";
- mes "Oh no, we've been";
- mes "talking too much...";
- mes "I apologize for";
- mes "keeping you here";
- mes "for so long.";
- next;
- if (.@knight_t == 0) {
- set KNIGHT_Q,14;
+ mes "Battle...?";
+ mes "And then?";
+ next;
+ switch(select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) {
+ case 1:
+ set .@knight_t,.@knight_t+10;
mes "[Sir Gray]";
- mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your";
- mes "job change?";
+ mes "Don't be in too much of a hurry to become strong. Even if you become";
+ mes "a Knight, you are still yourself.";
next;
+ break;
+ case 2:
mes "[Sir Gray]";
- mes "Don't worry too";
- mes "much, I have a very";
- mes "high opinion of you.";
- mes "Now, go~";
- close;
- }
- else if (.@knight_t == 5) {
- set KNIGHT_Q,14;
- mes "[Sir Gray]";
- mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight.";
+ mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight.";
next;
+ break;
+ case 3:
mes "[Sir Gray]";
- mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!";
- close;
+ mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself.";
+ mes "Relax and take things step by step.";
+ next;
+ break;
}
- else if (.@knight_t == 10) {
- set KNIGHT_Q,14;
- changequest 9011,9012;
+ break;
+ case 2:
+ mes "[Sir Gray]";
+ mes "Who is";
+ mes "waiting for you?";
+ next;
+ switch(select("My friends.:My Guild members.:My Lover.")) {
+ case 1:
mes "[Sir Gray]";
- mes "I enjoyed talking with you. Although, there were some";
- mes "things that bothered me...";
+ mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends.";
next;
+ break;
+ case 2:
mes "[Sir Gray]";
- mes "You should go";
- mes "to the captain";
- mes "so we can decide";
- mes "on your job change.";
+ mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them.";
next;
+ break;
+ case 3:
mes "[Sir Gray]";
- mes "Don't worry too much, coming to take my test means the others have acknowledged you as well.";
- mes "Go now...!";
- close;
+ mes "Oh, youth!";
+ mes "Becoming a Knight";
+ mes "for your beloved!";
+ if (sex)
+ mes "Always protect her...";
+ else
+ mes "Always protect him...";
+ mes "Even at the sacrifice";
+ mes "of your own life!";
+ next;
+ mes "[Sir Gray]";
+ mes "Also...";
+ mes "Love them forever.";
+ mes "Sincere affection";
+ mes "is hard to find.";
+ next;
+ break;
}
- else {
- set KNIGHT_Q,13;
+ break;
+ case 3:
+ mes "[Sir Gray]";
+ mes "Good attitude...";
+ mes "What do you plan";
+ mes "on learning?";
+ next;
+ switch(select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) {
+ case 1:
+ set .@knight_t,.@knight_t+5;
mes "[Sir Gray]";
- mes "Conversing";
- mes "with young ones";
- mes "is always enjoyable...";
+ mes "There are many places that are comfortable or uncomfortable in this world. However Knights must";
+ mes "be able to survive anywhere.";
next;
+ break;
+ case 2:
mes "[Sir Gray]";
- mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back";
- mes "to me later.";
+ mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions.";
next;
+ break;
+ case 3:
+ set .@knight_t,.@knight_t+15;
mes "[Sir Gray]";
- mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see.";
- close;
+ mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought";
+ mes "more about it...";
+ next;
+ break;
}
+ break;
}
mes "[Sir Gray]";
- mes "Take care!";
- close;
- }
- else if (KNIGHT_Q == 13) {
- mes "[Sir Gray]";
- mes "Ah, you again.";
- mes "What brings you";
- mes "to me?";
- next;
- if (select("I've been thinking a lot.:Oh, nothing.") == 1) {
+ mes "Oh no, we've been";
+ mes "talking too much...";
+ mes "I apologize for";
+ mes "keeping you here";
+ mes "for so long.";
+ next;
+ if (.@knight_t == 0) {
+ set KNIGHT_Q,14;
mes "[Sir Gray]";
- mes "Is that so...";
- mes "I wonder if you";
- mes "truly have...";
+ mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your";
+ mes "job change?";
next;
mes "[Sir Gray]";
- mes "Then...";
- mes "Like last time,";
- mes "I will ask again...";
+ mes "Don't worry too";
+ mes "much, I have a very";
+ mes "high opinion of you.";
+ mes "Now, go~";
+ close;
+ }
+ else if (.@knight_t == 5) {
+ set KNIGHT_Q,14;
+ mes "[Sir Gray]";
+ mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight.";
next;
mes "[Sir Gray]";
- mes "First...";
- mes "Why did you";
- mes "decide to become";
- mes "a Knight?";
+ mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!";
+ close;
+ }
+ else if (.@knight_t == 10) {
+ set KNIGHT_Q,14;
+ changequest 9011,9012;
+ mes "[Sir Gray]";
+ mes "I enjoyed talking with you. Although, there were some";
+ mes "things that bothered me...";
+ next;
+ mes "[Sir Gray]";
+ mes "You should go";
+ mes "to the captain";
+ mes "so we can decide";
+ mes "on your job change.";
+ next;
+ mes "[Sir Gray]";
+ mes "Don't worry too much, coming to take my test means the others have acknowledged you as well.";
+ mes "Go now...!";
+ close;
+ }
+ else {
+ set KNIGHT_Q,13;
+ mes "[Sir Gray]";
+ mes "Conversing";
+ mes "with young ones";
+ mes "is always enjoyable...";
+ next;
+ mes "[Sir Gray]";
+ mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back";
+ mes "to me later.";
next;
- goto L_AskQuestions;
+ mes "[Sir Gray]";
+ mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see.";
+ close;
}
- mes "[Sir Gray]";
- mes "Take care!";
- mes "Health is";
- mes "every man's";
- mes "treasure!";
- close;
}
else if (KNIGHT_Q == 14) {
mes "[Sir Gray]";
diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt
index d2f90066b..f1f47ae34 100644
--- a/npc/jobs/2-1/priest.txt
+++ b/npc/jobs/2-1/priest.txt
@@ -5,7 +5,7 @@
//= Converted by: kobra_k88.
//= Further bugfixed and tested by Lupus
//===== Current Version: =====================================
-//= 2.5
+//= 2.6
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -29,6 +29,7 @@
//= 2.4a Deleted unused variables. [Samuray22]
//= 2.4b Corrected a Typo error ";;". [Samuray22]
//= 2.5 Added Quest Log commands. [Kisuka]
+//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//==========================================================
prt_church,16,41,4 script High Bishop#prst 60,{
@@ -706,13 +707,21 @@ prt_church,27,24,1 script Sister Cecilia 79,{
mes "May God give you guidance and protection. When you complete your training, please come back to me.";
close;
}
- else if (PRIEST_Q == 7) {
- if(checkquest(8014) == -1) {
- changequest 8013,8014;
+ else if (PRIEST_Q == 7 || PRIEST_Q == 8) {
+ if (PRIEST_Q == 7) {
+ if(checkquest(8014) == -1) {
+ changequest 8013,8014;
+ }
+ mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete.";
+ }
+ else if (PRIEST_Q == 8) {
+ mes "...";
+ next;
+ mes "[Sister Cecilia]";
+ mes "Welcome back.";
+ mes "I hope that you've reflected on what you've said last time, and that you now have the attitude to become a Priest.";
}
- mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete.";
next;
-L_AskQuestions:
mes "[Sister Cecilia]";
if (sex)
mes "Brother "+ strcharinfo(0) +"...";
@@ -842,15 +851,6 @@ L_AskQuestions:
mes "to throw this all away...?";
close;
}
- else if (PRIEST_Q == 8) {
- mes "...";
- next;
- mes "[Sister Cecilia]";
- mes "Welcome back.";
- mes "I hope that you've reflected on what you've said last time, and that you now have the attitude to become a Priest.";
- next;
- goto L_AskQuestions;
- }
else if (PRIEST_Q == 9) {
mes "Congratulations.";
mes "You've completed all three trials required for the Priesthood. Bishop Paul is now waiting for you.";
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt
index 090108084..a573ef930 100644
--- a/npc/jobs/2-1/wizard.txt
+++ b/npc/jobs/2-1/wizard.txt
@@ -4,7 +4,7 @@
//= (Aegis) Translated by yoshiki, converted by kobra_k88
//= Further bugfixed and tested by Lupus
//===== Current Version: =====================================
-//= 3.0
+//= 3.1
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -24,6 +24,7 @@
//= 2.9 Reverted the change of donpcevent to doevent. [L0ne_W0lf]
//= Was probably cuased by a warp BEFORE a percentheal
//= 3.0 Added Quest Log commands. [Kisuka]
+//= 3.1 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
gef_tower,111,37,4 script Wizard Guildsman 70,{
@@ -513,46 +514,74 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{
mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha";
close;
}
- else if (WIZ_Q == 3) {
- mes "[Raulel]";
- mes "*Cough* *cough*...You must've passed the first test.";
- mes "Ok, I'm the Wizard in charge of your testing from now on. My name is 'Raulel Asparagus'.";
- next;
- mes "[Raulel]";
- mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?";
- next;
- mes "[Raulel]";
- mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic.";
- next;
- if (select("I want to live as a normal Mage.:I would like to continue with the tests.") == 1) {
+ else if ((WIZ_Q == 3) || (WIZ_Q == 4)) {
+ if (WIZ_Q == 3) {
mes "[Raulel]";
- mes "Hahaha~ *sneeze* Good choice...*cough* *cough*~";
- mes "Best not to even dream about life as a Wizard. Graa...Greaa...*sneeze* Greater Magic wasn't meant for humans to use!";
+ mes "*Cough* *cough*...You must've passed the first test.";
+ mes "Ok, I'm the Wizard in charge of your testing from now on. My name is 'Raulel Asparagus'.";
next;
mes "[Raulel]";
- mes "Leave the top of this tower quietly and don't ever look back.";
- mes "Just live peacefully with the powers that you have right now.";
- close;
+ mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?";
+ next;
+ mes "[Raulel]";
+ mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic.";
+ next;
+ if (select("I want to live as a normal Mage.:I would like to continue with the tests.") == 1) {
+ mes "[Raulel]";
+ mes "Hahaha~ *sneeze* Good choice...*cough* *cough*~";
+ mes "Best not to even dream about life as a Wizard. Graa...Greaa...*sneeze* Greater Magic wasn't meant for humans to use!";
+ next;
+ mes "[Raulel]";
+ mes "Leave the top of this tower quietly and don't ever look back.";
+ mes "Just live peacefully with the powers that you have right now.";
+ close;
+ }
+ mes "[Raulel]";
+ mes "*sneeze* Hahahaha~ Now there's a foolish one here!";
+ mes "Well then, let's see how good you are. *cough* I want to see this with my own two eyes!";
+ next;
+ mes "[Raulel]";
+ mes "*sneeze* Then let's begin the test!";
+ mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~";
+ next;
+ mes "[Raulel]";
+ mes "I'll give you 10 questions so give me the right answers.";
+ mes "If you get something wrong, I won't tell you what it is!";
+ if(checkquest(9016) == -1) {
+ changequest 9015,9016;
+ }
+ next;
+ mes "[Raulel]";
+ mes "*Cough* *cough* Then here go the questions!";
}
- mes "[Raulel]";
- mes "*sneeze* Hahahaha~ Now there's a foolish one here!";
- mes "Well then, let's see how good you are. *cough* I want to see this with my own two eyes!";
- next;
- mes "[Raulel]";
- mes "*sneeze* Then let's begin the test!";
- mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~";
- next;
- mes "[Raulel]";
- mes "I'll give you 10 questions so give me the right answers.";
- mes "If you get something wrong, I won't tell you what it is!";
- if(checkquest(9016) == -1) {
- changequest 9015,9016;
+ else if (WIZ_Q == 4) {
+ mes "[Raulel]";
+ mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse...";
+ next;
+ mes "[Raulel]";
+ mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance...";
+ next;
+ mes "[Raulel]";
+ mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha";
+ next;
+ if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.") == 1) {
+ mes "[Raulel]";
+ mes "Hahahaha~ Surprising, comming from you, that's a very wise choice...*cough* *cough*";
+ mes "If i were you, i would never, ever dream of becoming a Wizard again. Gre...Greaa...*sneeze* Greater Magic wasn't meant for humans to use.";
+ next;
+ mes "[Raulel]";
+ mes "Just leave the top of this tower quietly and never look back.";
+ mes "Live peacefully with the powers that you have right now.";
+ close;
+ }
+ mes "[Raulel]";
+ mes "Hahahahahahaha~ Now there's a foolish one right here!";
+ mes "Well then, let's see just how good you can be! *sneeze* I want to see this with my own two eyes.";
+ next;
+ mes "[Raulel]";
+ mes "Then let's begin the test!";
}
next;
- mes "[Raulel]";
- mes "*Cough* *cough* Then here go the questions!";
-L_AskQuestions:
- next;
switch(rand(1,3)) {
case 1:
mes "[Raulel]";
@@ -792,34 +821,6 @@ L_AskQuestions:
close;
}
}
- else if (WIZ_Q == 4) {
- mes "[Raulel]";
- mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse...";
- next;
- mes "[Raulel]";
- mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance...";
- next;
- mes "[Raulel]";
- mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha";
- next;
- if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.") == 1) {
- mes "[Raulel]";
- mes "Hahahaha~ Surprising, comming from you, that's a very wise choice...*cough* *cough*";
- mes "If i were you, i would never, ever dream of becoming a Wizard again. Gre...Greaa...*sneeze* Greater Magic wasn't meant for humans to use.";
- next;
- mes "[Raulel]";
- mes "Just leave the top of this tower quietly and never look back.";
- mes "Live peacefully with the powers that you have right now.";
- close;
- }
- mes "[Raulel]";
- mes "Hahahahahahaha~ Now there's a foolish one right here!";
- mes "Well then, let's see just how good you can be! *sneeze* I want to see this with my own two eyes.";
- next;
- mes "[Raulel]";
- mes "Then let's begin the test!";
- goto L_AskQuestions;
- }
else if (WIZ_Q == 5) {
mes "[Raulel]";
mes "Ok, hope you got plenty of rest. Hahahahahah~";
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
index 428c58276..32c08548f 100644
--- a/npc/jobs/2-2/alchemist.txt
+++ b/npc/jobs/2-2/alchemist.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= nestor_zulueta (Fusion), converted by Darkchild
//===== Current Version: =====================================
-//= 2.9
+//= 3.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -16,6 +16,7 @@
//= 2.7 Added missing checkweights. [L0ne_W0lf]
//= 2.8 Fixed minor typo in test section. [L0ne_W0lf]
//= 2.9 Added Quest Log commands. [Kisuka]
+//= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
alde_alche,27,185,5 script Alchemist Guildsman#am 744,{
@@ -413,75 +414,101 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{
mes "Even if you tried studying for a thousand years, maybe even more, it'd be useless to you! Forget about it and just worry about your store!";
close;
}
- else if (ALCH_Q == 4) {
- mes "Heeheehee";
- mes "keheheh~!";
- mes "What do you";
- mes "want, kid?";
- next;
- mes "[Raspuchin Gregory]";
- mes "What...?";
- mes "Join the Union!?";
- mes "I don't like it...";
- mes "I just don't...!";
- next;
- mes "[Raspuchin Gregory]";
- mes "Nowadays, anyone thinks they can";
- mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary.";
- next;
- mes "[Raspuchin Gregory]";
- mes "Heeheehee";
- mes "keheheh~!";
- mes "I plan on weeding out all the dumb and incompetent, and chase them";
- mes "all away! We don't need morons!";
- next;
- if (JobLevel == 50) {
+ else if ((ALCH_Q == 4) || (ALCH_Q == 5)) {
+ if (ALCH_Q == 4) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "What do you";
+ mes "want, kid?";
+ next;
mes "[Raspuchin Gregory]";
- mes "Wait...";
- mes "Maybe I've";
- mes "misjudged you.";
- if (sex == 1) {
- mes "You might be a pretty boy,";
- mes "but I can tell you're smart";
- mes "from your eyes.";
+ mes "What...?";
+ mes "Join the Union!?";
+ mes "I don't like it...";
+ mes "I just don't...!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Nowadays, anyone thinks they can";
+ mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "I plan on weeding out all the dumb and incompetent, and chase them";
+ mes "all away! We don't need morons!";
+ next;
+ if (JobLevel == 50) {
+ mes "[Raspuchin Gregory]";
+ mes "Wait...";
+ mes "Maybe I've";
+ mes "misjudged you.";
+ if (sex == 1) {
+ mes "You might be a pretty boy,";
+ mes "but I can tell you're smart";
+ mes "from your eyes.";
+ }
+ else {
+ mes "Huh. You're a cutie alright,";
+ mes "but I can tell you've got brains.";
+ }
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "You're not just some stupid kid.";
+ mes "I can tell youve gone through some rough times as a Merchant. Excellent. Keh heh heh~";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Fine, just so we don't insult each other's intelligence, I'll just let you pass the interview.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now go to Darwin!";
+ mes "He'll teach you how to do the experiments. Just tell him that";
+ mes "I sent you.";
+ set ALCH_Q,6;
+ close;
}
else {
- mes "Huh. You're a cutie alright,";
- mes "but I can tell you've got brains.";
+ mes "[Raspuchin Gregory]";
+ mes "Surprised, are you?";
+ mes "Keheheh~ If you thought";
+ mes "becoming an Alchemist was";
+ mes "just a matter of changing";
+ mes "your clothes, then you're";
+ mes "sadly mistaken.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now, try solving";
+ mes "all these problems.";
+ mes "Let's see how smart";
+ mes "really are.";
}
+ }
+ else if (ALCH_Q == 5) {
+ mes "What...?!";
+ mes "You want to take";
+ mes "the test again?!";
+ mes "I thought I told";
+ mes "you to leave!";
next;
mes "[Raspuchin Gregory]";
- mes "You're not just some stupid kid.";
- mes "I can tell youve gone through some rough times as a Merchant. Excellent. Keh heh heh~";
- next;
- mes "[Raspuchin Gregory]";
- mes "Fine, just so we don't insult each other's intelligence, I'll just let you pass the interview.";
+ mes "I don't like it...";
+ mes "I don't like this!";
next;
mes "[Raspuchin Gregory]";
- mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!";
+ mes "Fine...";
+ mes "I'll try to overlook your pitiful performance last time and give";
+ mes "you another chance. Don't screw";
+ mes "up again, got it?";
next;
mes "[Raspuchin Gregory]";
- mes "Now go to Darwin!";
- mes "He'll teach you how to do the experiments. Just tell him that";
- mes "I sent you.";
- set ALCH_Q,6;
- close;
+ mes "Now then,";
+ mes "give me all the";
+ mes "^551A8Bright^000000 answers";
+ mes "this time.";
}
- mes "[Raspuchin Gregory]";
- mes "Surprised, are you?";
- mes "Keheheh~ If you thought";
- mes "becoming an Alchemist was";
- mes "just a matter of changing";
- mes "your clothes, then you're";
- mes "sadly mistaken.";
- next;
- mes "[Raspuchin Gregory]";
- mes "Now, try solving";
- mes "all these problems.";
- mes "Let's see how smart";
- mes "really are.";
next;
-L_AskQuestions:
switch(rand(1,3)) {
case 1:
mes "[Raspuchin Gregory]";
@@ -750,31 +777,6 @@ L_AskQuestions:
changequest 2031,2032;
close;
}
- else if (ALCH_Q == 5) {
- mes "What...?!";
- mes "You want to take";
- mes "the test again?!";
- mes "I thought I told";
- mes "you to leave!";
- next;
- mes "[Raspuchin Gregory]";
- mes "I don't like it...";
- mes "I don't like this!";
- next;
- mes "[Raspuchin Gregory]";
- mes "Fine...";
- mes "I'll try to overlook your pitiful performance last time and give";
- mes "you another chance. Don't screw";
- mes "up again, got it?";
- next;
- mes "[Raspuchin Gregory]";
- mes "Now then,";
- mes "give me all the";
- mes "^551A8Bright^000000 answers";
- mes "this time.";
- next;
- goto L_AskQuestions;
- }
else if (ALCH_Q == 6) {
mes "What are you doing?";
mes "Go and find Darwin now.";
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt
index acf9a0193..4f33c36d5 100644
--- a/npc/jobs/2-2/bard.txt
+++ b/npc/jobs/2-2/bard.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Muad_Dib(The Prometheus Project), Lupus, Samuray22
//===== Current Version: =====================================
-//= 2.5
+//= 2.6
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -22,6 +22,7 @@
//= - Changed item names to item IDs
//= 2.4 Fixed hang up on bard quest. ($kiN.) [L0ne_W0lf]
//= 2.5 Added Quest Log commands. [Kisuka]
+//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
//=============== Ayealo ============================
@@ -421,27 +422,60 @@ comodo,226,123,5 script Wandering Bard 741,{
cutin "job_bard_aiolo01",255;
end;
}
- else if(BARD_Q == 3) {
- if(xmas_npc > 10) { //this var is set in LUTIE.TXT
+ else if ((BARD_Q >= 3) || (BARD_Q <= 5)) {
+ if (BARD_Q == 3) {
+ if(xmas_npc > 10) { //this var is set in LUTIE.TXT
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "How was the trip? Did you meet a lot of people?";
+ mes "You should have been able to learn something more important than a gift.";
+ next;
+ mes "[Lalo]";
+ mes "Then, do you want to try singing...?";
+ mes "I'll sing a short melody...";
+ mes "and you try after.";
+ if(checkquest(3003) == -1) {
+ changequest 3002,3003;
+ }
+ next;
+ mes "[Lalo]";
+ mes "Here I go.";
+ mes "Ehem *clears throat*";
+ mes "1, 2, 3, 4";
+ next;
+ }
+ else {
+ cutin "job_bard_aiolo01",2;
+ set xmas_npc,1;
+ mes "[Lalo]";
+ mes "Eh, you still haven't become his friend?";
+ mes "Talking will not be enough.";
+ next;
+ mes "[Lalo]";
+ mes "if you become friends with ^008800Jack Frost^000000, you will receive something.";
+ mes "And talk with the village people, too...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ }
+ else if (BARD_Q == 4) {
cutin "job_bard_aiolo01",2;
mes "[Lalo]";
- mes "How was the trip? Did you meet a lot of people?";
- mes "You should have been able to learn something more important than a gift.";
+ mes "Hmm... this time you can do better, right?";
+ mes "Let's try again, you can do it.";
next;
mes "[Lalo]";
- mes "Then, do you want to try singing...?";
- mes "I'll sing a short melody...";
- mes "and you try after.";
- if(checkquest(3003) == -1) {
- changequest 3002,3003;
- }
+ mes "I'll sing one part...";
+ mes "and you try it after.";
next;
mes "[Lalo]";
- mes "Here I go.";
- mes "Ehem *clears throat*";
+ mes "Here we go.";
+ mes "*Ehem*";
mes "1, 2, 3, 4";
next;
-B_Sing:
+ }
+ if (BARD_Q != 5) {
set .@bard_s, rand(1,5);
if (.@bard_s == 1) {
mes "^3377FFThere was a man^000000";
@@ -808,113 +842,64 @@ B_Sing:
mes "Do you want to just change jobs now?";
mes "Or do you want a present.";
next;
- if (select("Just change my job please.:I'd be thankful for a present.") == 1) {
-B_Change:
- if(SkillPoint) {
+ set .@selection,select("Just change my job please.:I'd be thankful for a present.");
+ }
+ if ((.@selection == 1) || (BARD_Q == 5)) {
+ if(SkillPoint) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Ah... Everything is good, but you still have some skill points left.";
+ mes "Go learn the rest of the skills and come back.";
+ next;
+ mes "[Lalo]";
+ mes "And I am going to give you a small present...";
+ mes "So bring some trunks.";
+ mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else {
+ switch(BARD_Q) {
+ case 5:
+ if(countitem(1019) > 59) callsub S_ChangeJob,1019,1901;
+ else if(countitem(1068) > 59) callsub S_ChangeJob,1068,1903;
+ else if(countitem(1067) > 59) callsub S_ChangeJob,1067,1903;
+ else if(countitem(1066) > 59) {
+ if(JobLevel > 49) callsub S_ChangeJob,1066,1910;
+ else callsub S_ChangeJob,1066,1905;
+ }
cutin "job_bard_aiolo01",2;
mes "[Lalo]";
- mes "Ah... Everything is good, but you still have some skill points left.";
- mes "Go learn the rest of the skills and come back.";
+ mes "Mmm? Seems like you haven't prepared all trunks the yet? ";
+ mes "Do you want to just change jobs anyways?";
+ next;
+ if (select("Yes, just change my job already.:No, I'll go prepare them.") == 2)
+ break;
+ default:
+ completequest 3003;
+ callfunc "Job_Change",Job_Bard;
+ callfunc "F_ClearJobVar"; //clears all job variables for the current player
+ mes "[Lalo]";
+ mes "Very well! Hope you sing happy enjoyable songs.";
+ mes "Live like the wind and the clouds!";
next;
mes "[Lalo]";
- mes "And I am going to give you a small present...";
- mes "So bring some trunks.";
- mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
+ mes "See you again next time!";
close2;
cutin "job_bard_aiolo01",255;
end;
}
- completequest 3003;
- callfunc "Job_Change",Job_Bard;
- callfunc "F_ClearJobVar"; //clears all job variables for the current player
- mes "[Lalo]";
- mes "Very well! Hope you sing happy enjoyable songs.";
- mes "Live like the wind and the clouds!";
- next;
- mes "[Lalo]";
- mes "See you again next time!";
- close2;
- cutin "job_bard_aiolo01",255;
- end;
}
- changequest 3003,3004;
- mes "[Lalo]";
- mes "Hmm... very well, bring some trunks.";
- mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
- next;
- mes "[Lalo]";
- mes "I will give you a gift once you bring them.";
- mes "Have a safe trip.";
- close2;
- cutin "job_bard_aiolo01",255;
- end;
- }
- cutin "job_bard_aiolo01",2;
- set xmas_npc,1;
- mes "[Lalo]";
- mes "Eh, you still haven't become his friend?";
- mes "Talking will not be enough.";
- next;
- mes "[Lalo]";
- mes "if you become friends with ^008800Jack Frost^000000, you will receive something.";
- mes "And talk with the village people, too...";
- close2;
- cutin "job_bard_aiolo01",255;
- end;
- }
- else if(BARD_Q == 4) {
- cutin "job_bard_aiolo01",2;
- mes "[Lalo]";
- mes "Hmm... this time you can do better, right?";
- mes "Let's try again, you can do it.";
- next;
- mes "[Lalo]";
- mes "I'll sing one part...";
- mes "and you try it after.";
- next;
- mes "[Lalo]";
- mes "Here we go.";
- mes "*Ehem*";
- mes "1, 2, 3, 4";
- next;
- goto B_SING;
- }
- else if(BARD_Q == 5) {
- if(SkillPoint) {
- cutin "job_bard_aiolo01",2;
- mes "[Lalo]";
- mes "Ah... Everything is good, but you still have some skill points left.";
- mes "Go learn the rest of the skills and come back.";
- next;
- mes "[Lalo]";
- mes "And I am going to give you a small present...";
- mes "So don't forget the trunks.";
- mes "It doesn't matter what kind, as long as they are 60 of the same sort...";
- close2;
- cutin "job_bard_aiolo01",255;
- end;
- }
- if(countitem(1019) > 59) callsub S_ChangeJob,1019,1901;
- else if(countitem(1068) > 59) callsub S_ChangeJob,1068,1903;
- else if(countitem(1067) > 59) callsub S_ChangeJob,1067,1903;
- else if(countitem(1066) > 59) {
- if(JobLevel > 49) callsub S_ChangeJob,1066,1910;
- else callsub S_ChangeJob,1066,1905;
}
- cutin "job_bard_aiolo01",2;
- mes "[Lalo]";
- mes "Mmm? Seems like you haven't prepared all trunks the yet? ";
- mes "Do you want to just change jobs anyways?";
- next;
- if (select("Yes, just change my job already.:No, I'll go prepare them.") == 1) goto B_Change;
- cutin "job_bard_aiolo01",2;
+ changequest 3003,3004;
mes "[Lalo]";
- mes "Hmm... ok, bring some ^3355FFtrunks^000000.";
- mes "Doesn't matter what kind, as long as they are 60 of the same sort.";
+ mes "Hmm... very well, bring some trunks.";
+ mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
next;
mes "[Lalo]";
- mes "I'll give you a present if you bring them.";
- mes "Then see you soon.";
+ mes "I will give you a gift once you bring them.";
+ mes "Have a safe trip.";
close2;
cutin "job_bard_aiolo01",255;
end;
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
index be9f2b58c..295a79009 100644
--- a/npc/jobs/2-2/crusader.txt
+++ b/npc/jobs/2-2/crusader.txt
@@ -4,7 +4,7 @@
//= Made by: Black Dragon
//= Converted by: Shin
//===== Current Version: =====================================
-//= 3.2
+//= 3.3
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -31,6 +31,7 @@
//= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf]
//= 3.1 Adding Hermemton's changes. [L0ne_W0lf]
//= 3.2 Added Quest Log commands. [Kisuka]
+//= 3.3 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
@@ -491,40 +492,40 @@ prt_church,95,127,3 script Crusader 745,{
mes "If you would like to become a Crusader, please speak with our leader in the Prontera Central Palace.";
close;
}
- else if(CRUS_Q == 6) {
- mes "Welcome.";
- mes "Did you do well";
- mes "on those painful tests?";
- mes "I will be conducting your next test.";
- next;
- mes "[Gabriel Valentine]";
- mes "My name is Gabriel Valentine. I, too, am preparing for the Holy War. For the time being, I act as guard for this church.";
- next;
- mes "[Gabriel Valentine]";
- mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader.";
- mes "We can't very well win the Holy War just by swinging a sword.";
- next;
- mes "[Gabriel Valentine]";
- mes "I will give";
- mes "you 10 questions.";
- mes "Answer them correctly.";
- next;
- goto C_Questions;
- }
- else if(CRUS_Q == 7) {
- mes "Welcome back~";
- mes "Did you prepare";
- mes "well for this test?";
- mes "Let's try again,";
- mes "shall we...?";
- next;
- mes "[Gabriel Valentine]";
- mes "Once again, I'm going";
- mes "to give you 10 questions";
- mes "Listen carefully, and";
- mes "choose the correct answer.";
- next;
-C_Questions:
+ else if((CRUS_Q == 6) || (CRUS_Q == 7)) {
+ if(CRUS_Q == 6) {
+ mes "Welcome.";
+ mes "Did you do well";
+ mes "on those painful tests?";
+ mes "I will be conducting your next test.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "My name is Gabriel Valentine. I, too, am preparing for the Holy War. For the time being, I act as guard for this church.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader.";
+ mes "We can't very well win the Holy War just by swinging a sword.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "I will give";
+ mes "you 10 questions.";
+ mes "Answer them correctly.";
+ next;
+ }
+ else if(CRUS_Q == 7) {
+ mes "Welcome back~";
+ mes "Did you prepare";
+ mes "well for this test?";
+ mes "Let's try again,";
+ mes "shall we...?";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Once again, I'm going";
+ mes "to give you 10 questions";
+ mes "Listen carefully, and";
+ mes "choose the correct answer.";
+ next;
+ }
set .@cru_m,rand(1,3);
if (.@cru_m == 1) {
mes "[Gabriel Valentine]";
@@ -768,7 +769,7 @@ C_Questions:
mes "[Gabriel Valentine]";
mes "Don't stress, you need to know a lot in order to pass this test. In any case, I'll be waiting right here. When you think you're ready, come back, alright?";
close;
- }
+ }
else if(CRUS_Q == 8 || CRUS_Q == 9) {
mes "Like I mentioned before, you should go to Prontera Castle and meet with Bliant Piyord to take your next test. Good luck, and become a Crusder soon, alright?";
close;
diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt
index f5b2d2997..b3c5121b7 100644
--- a/npc/jobs/2-2/monk.txt
+++ b/npc/jobs/2-2/monk.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Dino9021, Edited / Translated by Celest
//===== Current Version: =====================================
-//= 2.4
+//= 2.5
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -15,6 +15,7 @@
//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
//= 2.3a Deleted unused variables. [Samuray22]
//= 2.4 Added Quest Log commands. [Kisuka]
+//= 2.5 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{
@@ -903,42 +904,49 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{
}
prt_monk,251,255,1 script Touha#mk 79,{
- if (MONK_Q == 10) {
- mes "[Touha]";
- mes "What brings you to me.";
- mes "Do you wish to share a conversation with me?";
- next;
- mes "[Touha]";
- mes "Oh, I see. You're on the monk in training.";
- mes "You already possess a similar spirit as a monk's.";
- next;
- mes "[Touha]";
- mes "By the looks of you, it seems, you";
- mes "have already visited Sensei Moohae. Good.";
- next;
- mes "[Touha]";
- mes "Let me inform you about certain things you must know as a monk.";
- mes "Then I will help you to strengthen your body so that you can bear your next training.";
- next;
- mes "[Touha]";
- mes "Calm your mind.";
- mes "Relax your body...are you ready?";
- next;
- if (select("Yes.:No.") == 2) {
+ if (MONK_Q >= 10 && MONK_Q < 14) {
+ if (MONK_Q == 10) {
mes "[Touha]";
- mes "Please come back when you're ready.";
- close;
+ mes "What brings you to me.";
+ mes "Do you wish to share a conversation with me?";
+ next;
+ mes "[Touha]";
+ mes "Oh, I see. You're on the monk in training.";
+ mes "You already possess a similar spirit as a monk's.";
+ next;
+ mes "[Touha]";
+ mes "By the looks of you, it seems, you";
+ mes "have already visited Sensei Moohae. Good.";
+ next;
+ mes "[Touha]";
+ mes "Let me inform you about certain things you must know as a monk.";
+ mes "Then I will help you to strengthen your body so that you can bear your next training.";
+ next;
+ mes "[Touha]";
+ mes "Calm your mind.";
+ mes "Relax your body...are you ready?";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Touha]";
+ mes "Please come back when you're ready.";
+ close;
+ }
+ mes "[Touha]";
+ mes "Ok...then.";
+ next;
+ mes "[Touha]";
+ mes "Please repeat after me.";
+ next;
+ changequest 3024,3025;
+ }
+ else {
+ mes "[Touha]";
+ mes "Now, pay attention this time...";
+ next;
}
mes "[Touha]";
- mes "Ok...then.";
- next;
- mes "[Touha]";
- mes "Please repeat after me.";
- next;
- mes "[Touha]";
- changequest 3024,3025;
- switch(rand(1,3)) {
- case 1:
+ set .@rand,rand(1,3);
+ if ((.@rand == 1) || (MONK_Q == 11)) {
set MONK_Q,11;
mes "I seek the path";
next;
@@ -968,8 +976,8 @@ prt_monk,251,255,1 script Touha#mk 79,{
next;
mes "[Touha]";
mes "et Spiritus Sancti.";
- break;
- case 2:
+ }
+ else if ((.@rand == 2) || (MONK_Q == 12)) {
set MONK_Q,12;
mes "I commit myself to";
next;
@@ -999,8 +1007,8 @@ prt_monk,251,255,1 script Touha#mk 79,{
next;
mes "[Touha]";
mes "et Spiritus Sancti.";
- break;
- case 3:
+ }
+ else if ((.@rand == 3) || (MONK_Q == 13)) {
set MONK_Q,13;
mes "And shepherds we shall be,";
next;
@@ -1032,12 +1040,13 @@ prt_monk,251,255,1 script Touha#mk 79,{
mes "et Spiritus Sancti.";
}
next;
- mes "[Touha]";
- mes "Ok, that is all. Now repeat what I have spoken.";
- if (MONK_Q == 11) {
-L_MonkOath1:
+ if (MONK_Q == 10) {
+ mes "[Touha]";
+ mes "Ok, that is all. Now repeat what I have spoken.";
mes "" + strcharinfo(0) + ", your turn.";
next;
+ }
+ if (MONK_Q == 11) {
switch(select("shall hold true:We monks:and will help protect others:through the teachings:In nomine Patris, et Filii:to what we believe:I seek the path:we learn through our lives.:et Spiritus Sancti.:of enlightenment.")) {
case 1:
mes "[" + strcharinfo(0) + "]";
@@ -1219,9 +1228,6 @@ L_MonkOath1:
}
}
else if (MONK_Q == 12) {
-L_MonkOath2:
- mes "" + strcharinfo(0) + ", your turn.";
- next;
switch(select("I will follow my path:veritas and aequitas.:to enlightenment and purity.:I commit myself to:I will protect my:victorious while I breathe.:brothers with my life.:Evil shall never be:In nomine Patris, et Filii:et Spiritus Sancti.")) {
case 1:
mes "[" + strcharinfo(0) + "]";
@@ -1402,9 +1408,6 @@ L_MonkOath2:
}
}
else if (MONK_Q == 13) {
-L_MonkOath3:
- mes "" + strcharinfo(0) + ", your turn.";
- next;
switch(select("for thee my lord for thee.:And shepherds we shall be,:Power hath descended forth:out thy command. And we shall:from the hand:flow a river forth to thee and:so our feet may swiftly carry:teeming with souls shall it ever be:et Spiritus Sancti.:In nomine Patris, et Filii")) {
case 1:
mes "[" + strcharinfo(0) + "]";
@@ -1637,114 +1640,6 @@ L_MonkOath3:
close;
}
}
- else if (MONK_Q > 10 && MONK_Q < 14) {
- mes "[Touha]";
- mes "Now, pay attention this time...";
- next;
- mes "[Touha]";
- if (MONK_Q == 11) {
- mes "I seek the path";
- next;
- mes "[Touha]";
- mes "of enlightenment.";
- next;
- mes "[Touha]";
- mes "We monks";
- next;
- mes "[Touha]";
- mes "shall hold true";
- next;
- mes "[Touha]";
- mes "to what we believe";
- next;
- mes "[Touha]";
- mes "and will help protect others";
- next;
- mes "[Touha]";
- mes "through the teachings";
- next;
- mes "[Touha]";
- mes "we learn through our lives.";
- next;
- mes "[Touha]";
- mes "In nomine Patris, et Filii";
- next;
- mes "[Touha]";
- mes "et Spiritus Sancti.";
- next;
- mes "[Touha]";
- mes "Ok, that is the end.";
- goto L_MonkOath1;
- }
- else if (MONK_Q == 12) {
- mes "I commit myself to";
- next;
- mes "[Touha]";
- mes "veritas and aequitas.";
- next;
- mes "[Touha]";
- mes "I will follow my path";
- next;
- mes "[Touha]";
- mes "to enlightenment and purity.";
- next;
- mes "[Touha]";
- mes "I will protect my";
- next;
- mes "[Touha]";
- mes "brothers with my life.";
- next;
- mes "[Touha]";
- mes "Evil shall never be";
- next;
- mes "[Touha]";
- mes "victorious while I breathe.";
- next;
- mes "[Touha]";
- mes "In nomine Patris, et Filii";
- next;
- mes "[Touha]";
- mes "et Spiritus Sancti.";
- next;
- mes "[Touha]";
- mes "That's it... were you paying attention?.";
- goto L_MonkOath2;
- }
- else if (MONK_Q == 13) {
- mes "And shepherds we shall be,";
- next;
- mes "[Touha]";
- mes "for thee my lord for thee.";
- next;
- mes "[Touha]";
- mes "Power hath descended forth";
- next;
- mes "[Touha]";
- mes "from the hand";
- next;
- mes "[Touha]";
- mes "so our feet may swiftly carry";
- next;
- mes "[Touha]";
- mes "out thy command. And we shall";
- next;
- mes "[Touha]";
- mes "flow a river forth to thee and";
- next;
- mes "[Touha]";
- mes "teeming with souls shall it ever be";
- next;
- mes "[Touha]";
- mes "In nomine Patris, et Filii";
- next;
- mes "[Touha]";
- mes "et Spiritus Sancti.";
- next;
- mes "[Touha]";
- mes "I hope you were paying attention this time. This is a sacred family prayer.";
- goto L_MonkOath3;
- }
- }
else if (MONK_Q == 14) {
mes "[Touha]";
mes "Hmm... did you forget who to visit?";
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
index 40ec29baf..0a4ed575a 100644
--- a/npc/jobs/2-2/sage.txt
+++ b/npc/jobs/2-2/sage.txt
@@ -5,7 +5,7 @@
//= Unknown Translator (1.0)
//= Darkchild (1.2)
//===== Current Version: =====================================
-//= 2.7
+//= 2.8
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
@@ -26,6 +26,7 @@
//= 2.6 Fixed Kayron Grik cutin not being removed as reported by jc1991, bugreport:1825 [Brainstorm]
//= 2.6a Fixed a Little Bug with Whispers Summoned in the Last Test. (bugreport:2253) [Samuray22]
//= 2.7 Added Quest Log commands. [Kisuka]
+//= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
yuno_in02,38,61,5 script Dean of the Academy#sa 743,{