* Removed usage of the 'goto' command from job quests.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14351 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
L0ne_W0lf 2010-06-21 15:25:44 +00:00
parent 8b8556c220
commit f77b5c0727
13 changed files with 1567 additions and 1631 deletions

View File

@ -1,5 +1,7 @@
Date Added Date Added
====== ======
2010/06/21
* Rev. 14351 Removed usage of the 'goto' command from job quests. [L0ne_W0lf]
2010/06/20 2010/06/20
* Rev. 14350 Corrected Einbech Mine warps. [Gepard] * Rev. 14350 Corrected Einbech Mine warps. [Gepard]
2010/06/18 2010/06/18

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= Tsuyuki & Samuray22 //= Tsuyuki & Samuray22
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 1.3 //= 1.4
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena/Freya //= eAthena/Freya
//===== Description: ========================================= //===== Description: =========================================
@ -13,6 +13,7 @@
//= 1.1 Rewrote to the Aegis Standars. [Samuray22] //= 1.1 Rewrote to the Aegis Standars. [Samuray22]
//= 1.2 Fixed position the npc is facing. [Kisuka] //= 1.2 Fixed position the npc is facing. [Kisuka]
//= 1.3 Added Quest Log commands. [Kisuka] //= 1.3 Added Quest Log commands. [Kisuka]
//= 1.4 Removed use of 'goto', and fixed some indentation. [L0ne_W0lf]
//============================================================ //============================================================
@ -62,18 +63,16 @@ payon,157,141,5 script Phoenix#TKJobChange 753,{
mes "I know that the answer"; mes "I know that the answer";
mes "will come in time..."; mes "will come in time...";
next; next;
if (Class == Job_Novice && TK_Q == 0) { if (Class != Job_Novice && TK_Q != 0) {
goto L_change; 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 "[Phoenix]";
mes "If you have not decided on"; mes "If you have not decided on";
mes "the path you wish to take in"; mes "the path you wish to take in";
@ -128,14 +127,14 @@ L_change:
mes "the next time we meet."; mes "the next time we meet.";
close; close;
} }
mes "[Phoenix]"; mes "[Phoenix]";
mes "I understand. One's life can"; mes "I understand. One's life can";
mes "take many paths, but you can"; mes "take many paths, but you can";
mes "only choose to travel on one"; mes "only choose to travel on one";
mes "at a time. I hope that you work"; mes "at a time. I hope that you work";
mes "towards enlightenment in your"; mes "towards enlightenment in your";
mes "very own way, adventurer."; mes "very own way, adventurer.";
close; close;
} }
switch(TK_Q) { switch(TK_Q) {
case 1: case 1:
@ -151,13 +150,13 @@ L_change:
mes "the next portion of training."; mes "the next portion of training.";
close; close;
} }
mes "[Phoenix]"; mes "[Phoenix]";
mes "You must gain ^FF00001 more"; mes "You must gain ^FF00001 more";
mes "Base Level^000000 to prove that"; mes "Base Level^000000 to prove that";
mes "you can endure the hardship"; mes "you can endure the hardship";
mes "that entails this job. Never"; mes "that entails this job. Never";
mes "neglect your training."; mes "neglect your training.";
close; close;
case 2: case 2:
mes "[Phoenix]"; mes "[Phoenix]";
mes "For your spiritual training,"; mes "For your spiritual training,";
@ -411,14 +410,14 @@ L_change:
mes "sometime, "+strcharinfo(0)+"."; mes "sometime, "+strcharinfo(0)+".";
close; close;
} }
mes "[Phoenix]"; mes "[Phoenix]";
mes "Hm, perhaps you are not"; mes "Hm, perhaps you are not";
mes "quite ready to progress from"; mes "quite ready to progress from";
mes "your status as a student to"; mes "your status as a student to";
mes "a full fledged disciple."; mes "a full fledged disciple.";
mes "When you feel prepared,"; mes "When you feel prepared,";
mes "come and speak to me."; mes "come and speak to me.";
close; close;
} }
} }

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= kobra_k88 //= kobra_k88
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 3.3 //= 3.4
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -46,6 +46,7 @@
//= 3.1b Fixed waiting room not enabled in some situations [Zephyrus] //= 3.1b Fixed waiting room not enabled in some situations [Zephyrus]
//= 3.2 Fixed a question having all correct answers. [brianluau] //= 3.2 Fixed a question having all correct answers. [brianluau]
//= 3.3 Added Quest Log commands. [Kisuka] //= 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,{ 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,{ in_moc_16,19,154,0 script nameless_one -1,8,2,{
OnTouch: OnTouch:
if (ASSIN_Q2 < 3) { if (ASSIN_Q2 < 5) {
mes "[The Anonymous One]"; if (ASSIN_Q2 < 3) {
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) {
mes "[The Anonymous One]"; mes "[The Anonymous One]";
mes "Now I see that"; mes "Welcome, guest.";
mes "you're nothing"; mes "Mwahaha, it's useless";
mes "but a wimp."; mes "to try to find or see me...";
next; next;
mes "[The Anonymous One]"; mes "[The Anonymous One]";
mes "Bwahahahahahah!"; mes "I am perfectly hidden!";
mes "Stop cowering in fear!"; mes "To become undetectable can only be done by the greatest Assassins!";
mes "It's making me laugh!"; next;
close; 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...";
mes "[The Anonymous One]"; next;
mes "So..."; if (select("I think I crapped my pants!:You're all talk. I challenge you!") == 1) {
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 "[The Anonymous One]";
mes "Skills...?"; mes "Now I see that";
mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; mes "you're nothing";
mes "but a wimp.";
next; next;
mes "[The Anonymous One]"; 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."; mes "Bwahahahahahah!";
next; mes "Stop cowering in fear!";
mes "[The Anonymous One]"; mes "It's making me laugh!";
mes "^3355FFLeft Hand Mastery^000000 and ^3355FFRight Hand Mastery^000000. Assassins can equip different weapons in each hand when using Dagger class weapons."; close;
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;
} }
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 "[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;
}
}
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; 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)) { switch(rand(1,3)) {
case 1: case 1:
mes "[The Anonymous One]"; 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 { else {
mes "[The Anonymous One]"; mes "[The Anonymous One]";
mes "...I will keep watching you."; mes "...I will keep watching you.";
close; close;
} }
} }
in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{ in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{

View File

@ -7,7 +7,7 @@
//= Optimized and further edited by kobra_k88. //= Optimized and further edited by kobra_k88.
//= Further bugfixed and tested by Lupus //= Further bugfixed and tested by Lupus
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.7 //= 2.8
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -39,6 +39,7 @@
//= 2.6 Fixed 4 bugs [Lupus] //= 2.6 Fixed 4 bugs [Lupus]
//= 2.6a Typo fix [Yommy] //= 2.6a Typo fix [Yommy]
//= 2.7 Added Quest Log commands. [Kisuka] //= 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,{ 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~"; mes "to be busy~";
close; close;
} }
else if (BSMITH_Q == 1) { else if ((BSMITH_Q == 1) || (BSMITH_Q == 2)) {
mes "[Geschupenschte]"; if (BSMITH_Q == 1) {
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 "[Geschupenschte]";
mes "short on help."; 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";
next; mes "short on help.";
mes "[Geschupenschte]"; next;
mes "Hmm, in any case,"; mes "[Geschupenschte]";
mes "you are the help that was sent, right? Okay, I have some work for you that must be handled"; mes "Hmm, in any case,";
mes "right away!"; mes "you are the help that was sent, right? Okay, I have some work for you that must be handled";
next; mes "right away!";
mes "[Geschupenschte]"; next;
mes "Some time ago, I had a boy working for me who had no experience and bought the wrong supplies! It was terrible..."; mes "[Geschupenschte]";
next; mes "Some time ago, I had a boy working for me who had no experience and bought the wrong supplies! It was terrible...";
mes "[Geschupenschte]"; next;
mes "Anyone would hate to lose money through a foolish mistake like that. However, I have a slightly more difficult job for you."; mes "[Geschupenschte]";
next; mes "Anyone would hate to lose money through a foolish mistake like that. However, I have a slightly more difficult job for you.";
mes "[Geschupenschte]"; next;
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."; mes "[Geschupenschte]";
next; 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.";
if (select("Yes.:Um, can I have some time to prepare?") == 1) { next;
L_AskQuestions: 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)) { if (rand(2)) {
mes "[Geschupenschte]"; mes "[Geschupenschte]";
mes "1. Which one of the following regions is matched incorrectly"; mes "1. Which one of the following regions is matched incorrectly";
@ -506,6 +526,7 @@ L_AskQuestions:
mes "being careful~"; mes "being careful~";
close; close;
} }
/*
else if (BSMITH_Q == 2) { else if (BSMITH_Q == 2) {
mes "[Geschupenschte]"; mes "[Geschupenschte]";
mes "So, have you"; mes "So, have you";
@ -524,6 +545,7 @@ L_AskQuestions:
next; next;
goto L_AskQuestions; goto L_AskQuestions;
} }
*/
else if (BSMITH_Q == 3) { else if (BSMITH_Q == 3) {
mes "[Geschupenschte]"; mes "[Geschupenschte]";
mes "Hmm..."; mes "Hmm...";

View File

@ -5,7 +5,7 @@
//= Converted by kobra_k88 //= Converted by kobra_k88
//= Further bugfixed and tested by Lupus //= Further bugfixed and tested by Lupus
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 3.5 //= 3.6
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -51,6 +51,7 @@
//= 3.4 Corrected some Issues with the Waiting Room. (bugreport:1890) [Samuray22] //= 3.4 Corrected some Issues with the Waiting Room. (bugreport:1890) [Samuray22]
//= -Deleted a Unnecesary Next; on Hunter Guildsman#hnt. (bugreports:1665,2239,2179) //= -Deleted a Unnecesary Next; on Hunter Guildsman#hnt. (bugreports:1665,2239,2179)
//= 3.5 Added Quest Log commands. [Kisuka] //= 3.5 Added Quest Log commands. [Kisuka]
//= 3.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================ //============================================================
// Notices in the old Hunter Guild. // Notices in the old Hunter Guild.
@ -196,194 +197,213 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{
getitem 1710,1; //CrossBow getitem 1710,1; //CrossBow
close; close;
} }
else if (JobLevel > 39 && HNTR_Q == 0) { else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) {
mes "[Hunter Guildsman]"; if (HNTR_Q == 0) {
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 "[Hunter Guildsman]";
mes "Hehe~"; 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?";
mes "I was right! Let me put you on the candidate list. Let's see~*";
next; next;
mes "[Hunter Guildsman]"; switch(select("Yes. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) {
mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~"; case 1:
next; mes "[Hunter Guildsman]";
mes "^3355FF*Gathers and flips through papers*^000000"; mes "Hehe~";
next; mes "I was right! Let me put you on the candidate list. Let's see~*";
mes "^3355FF*Rummage rummage*^000000";
next;
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?";
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; next;
mes "[Hunter Sherin]"; mes "[Hunter Guildsman]";
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."; 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;
mes "[Hunter Guildsman]";
mes "Ah!";
mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!";
next; next;
L_AskQuestions:
mes "[Hunter Sherin]"; mes "[Hunter Sherin]";
mes "Well then,"; mes "Well then,";
mes "let's begin."; mes "shall we begin?";
next; next;
mes "[Hunter Sherin]"; if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) {
mes "You are an Archer, and you don't know where you should go to hunt. What do you do?"; if(checkquest(4000) == -1) {
next; setquest 4000;
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 "[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; next;
mes "[Hunter Sherin]"; 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~"; 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.";
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; next;
}
else {
mes "[Hunter Sherin]"; 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; close;
} }
set HNTR_Q,1; break;
mes "[Hunter Sherin]"; case 2:
mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette."; set .@selection,2;
next; break;
mes "[Hunter Sherin]"; case 3:
mes "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others."; set .@selection,3;
next; break;
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; 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 "[Hunter Sherin]";
mes "Okay..."; 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 "Come back"; next;
mes "when you're ready~"; 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 "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 "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 "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 "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; close;
case 2: case 2:
mes "[Hunter Guildsman]"; mes "[Hunter Guildsman]";
@ -412,13 +432,6 @@ L_AskQuestions:
close; 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) { else if (HNTR_Q > 2 && HNTR_Q < 10) {
mes "[Hunter Sherin]"; 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~"; 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 "[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?"; 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; next;
if (select("Yes, that is correct.:Nope~~(heeheehee)") == 1) { set .@selection,select("Yes, that is correct.:Nope~~(heeheehee)");
L_GiveQuestItems: if (.@selection == 2) {
mes "[Demon Hunter]"; 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; next;
mes "[Demon Hunter]"; if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) {
mes "You see, we're having some financial problems. Let's see, we're short on these items..."; mes "[Demon Hunter]";
next; 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.";
switch(rand(1,7)) { next;
//Claw_Of_Desert_Wolf, Wooden_Block, White_Herb mes "[Demon Hunter]";
case 1: setarray .@items[0], 7030,5, 1019,5, 509,3, 3; changequest 4001,4002; break; mes "You see, right now we're having some financial problems. Let's see, we're short on these items...";
//Bill_Of_Birds, Skel_Bonem Green_Herb next;
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;
} }
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 "[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."; 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]; set HNTR_Q,.@items[6];
@ -494,26 +528,8 @@ L_GiveQuestItems:
next; next;
mes "[Demon Hunter]"; mes "[Demon Hunter]";
mes "Alright then, come back to me when you have everything ready~"; mes "Alright then, come back to me when you have everything ready~";
close;
} }
mes "[Demon Hunter]"; close;
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;
} }
else if (HNTR_Q >= 3 && HNTR_Q <= 9) { else if (HNTR_Q >= 3 && HNTR_Q <= 9) {
switch(HNTR_Q) { switch(HNTR_Q) {
@ -594,7 +610,7 @@ L_GiveQuestItems:
close; close;
} }
} }
payon_in03,131,7,3 script Hunter#htnGM 59,{ payon_in03,131,7,3 script Hunter#htnGM 59,{
if (HNTR_Q == 10) { if (HNTR_Q == 10) {
mes "[Hunter Guildmaster]"; mes "[Hunter Guildmaster]";

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
//= Converted by: kobra_k88. //= Converted by: kobra_k88.
//= Further bugfixed and tested by Lupus //= Further bugfixed and tested by Lupus
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.5 //= 2.6
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -29,6 +29,7 @@
//= 2.4a Deleted unused variables. [Samuray22] //= 2.4a Deleted unused variables. [Samuray22]
//= 2.4b Corrected a Typo error ";;". [Samuray22] //= 2.4b Corrected a Typo error ";;". [Samuray22]
//= 2.5 Added Quest Log commands. [Kisuka] //= 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,{ 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."; mes "May God give you guidance and protection. When you complete your training, please come back to me.";
close; close;
} }
else if (PRIEST_Q == 7) { else if (PRIEST_Q == 7 || PRIEST_Q == 8) {
if(checkquest(8014) == -1) { if (PRIEST_Q == 7) {
changequest 8013,8014; 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; next;
L_AskQuestions:
mes "[Sister Cecilia]"; mes "[Sister Cecilia]";
if (sex) if (sex)
mes "Brother "+ strcharinfo(0) +"..."; mes "Brother "+ strcharinfo(0) +"...";
@ -842,15 +851,6 @@ L_AskQuestions:
mes "to throw this all away...?"; mes "to throw this all away...?";
close; 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) { else if (PRIEST_Q == 9) {
mes "Congratulations."; mes "Congratulations.";
mes "You've completed all three trials required for the Priesthood. Bishop Paul is now waiting for you."; mes "You've completed all three trials required for the Priesthood. Bishop Paul is now waiting for you.";

View File

@ -4,7 +4,7 @@
//= (Aegis) Translated by yoshiki, converted by kobra_k88 //= (Aegis) Translated by yoshiki, converted by kobra_k88
//= Further bugfixed and tested by Lupus //= Further bugfixed and tested by Lupus
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 3.0 //= 3.1
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -24,6 +24,7 @@
//= 2.9 Reverted the change of donpcevent to doevent. [L0ne_W0lf] //= 2.9 Reverted the change of donpcevent to doevent. [L0ne_W0lf]
//= Was probably cuased by a warp BEFORE a percentheal //= Was probably cuased by a warp BEFORE a percentheal
//= 3.0 Added Quest Log commands. [Kisuka] //= 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,{ gef_tower,111,37,4 script Wizard Guildsman 70,{
@ -513,45 +514,73 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{
mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha"; mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha";
close; close;
} }
else if (WIZ_Q == 3) { else if ((WIZ_Q == 3) || (WIZ_Q == 4)) {
mes "[Raulel]"; if (WIZ_Q == 3) {
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) {
mes "[Raulel]"; mes "[Raulel]";
mes "Hahaha~ *sneeze* Good choice...*cough* *cough*~"; mes "*Cough* *cough*...You must've passed the first test.";
mes "Best not to even dream about life as a Wizard. Graa...Greaa...*sneeze* Greater Magic wasn't meant for humans to use!"; mes "Ok, I'm the Wizard in charge of your testing from now on. My name is 'Raulel Asparagus'.";
next; next;
mes "[Raulel]"; mes "[Raulel]";
mes "Leave the top of this tower quietly and don't ever look back."; mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?";
mes "Just live peacefully with the powers that you have right now."; next;
close; 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]"; else if (WIZ_Q == 4) {
mes "*sneeze* Hahahaha~ Now there's a foolish one here!"; mes "[Raulel]";
mes "Well then, let's see how good you are. *cough* I want to see this with my own two eyes!"; mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse...";
next; next;
mes "[Raulel]"; mes "[Raulel]";
mes "*sneeze* Then let's begin the test!"; mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance...";
mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; next;
next; mes "[Raulel]";
mes "[Raulel]"; mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha";
mes "I'll give you 10 questions so give me the right answers."; next;
mes "If you get something wrong, I won't tell you what it is!"; if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.") == 1) {
if(checkquest(9016) == -1) { mes "[Raulel]";
changequest 9015,9016; 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; next;
switch(rand(1,3)) { switch(rand(1,3)) {
case 1: case 1:
@ -792,34 +821,6 @@ L_AskQuestions:
close; 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) { else if (WIZ_Q == 5) {
mes "[Raulel]"; mes "[Raulel]";
mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Ok, hope you got plenty of rest. Hahahahahah~";

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= nestor_zulueta (Fusion), converted by Darkchild //= nestor_zulueta (Fusion), converted by Darkchild
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.9 //= 3.0
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -16,6 +16,7 @@
//= 2.7 Added missing checkweights. [L0ne_W0lf] //= 2.7 Added missing checkweights. [L0ne_W0lf]
//= 2.8 Fixed minor typo in test section. [L0ne_W0lf] //= 2.8 Fixed minor typo in test section. [L0ne_W0lf]
//= 2.9 Added Quest Log commands. [Kisuka] //= 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,{ 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!"; 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; close;
} }
else if (ALCH_Q == 4) { else if ((ALCH_Q == 4) || (ALCH_Q == 5)) {
mes "Heeheehee"; if (ALCH_Q == 4) {
mes "keheheh~!"; mes "Heeheehee";
mes "What do you"; mes "keheheh~!";
mes "want, kid?"; mes "What do you";
next; mes "want, kid?";
mes "[Raspuchin Gregory]"; next;
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 "[Raspuchin Gregory]";
mes "Wait..."; mes "What...?";
mes "Maybe I've"; mes "Join the Union!?";
mes "misjudged you."; mes "I don't like it...";
if (sex == 1) { mes "I just don't...!";
mes "You might be a pretty boy,"; next;
mes "but I can tell you're smart"; mes "[Raspuchin Gregory]";
mes "from your eyes."; 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 { else {
mes "Huh. You're a cutie alright,"; mes "[Raspuchin Gregory]";
mes "but I can tell you've got brains."; 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;
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;
} }
mes "[Raspuchin Gregory]"; else if (ALCH_Q == 5) {
mes "Surprised, are you?"; mes "What...?!";
mes "Keheheh~ If you thought"; mes "You want to take";
mes "becoming an Alchemist was"; mes "the test again?!";
mes "just a matter of changing"; mes "I thought I told";
mes "your clothes, then you're"; mes "you to leave!";
mes "sadly mistaken."; 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; 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)) { switch(rand(1,3)) {
case 1: case 1:
mes "[Raspuchin Gregory]"; mes "[Raspuchin Gregory]";
@ -750,31 +777,6 @@ L_AskQuestions:
changequest 2031,2032; changequest 2031,2032;
close; 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) { else if (ALCH_Q == 6) {
mes "What are you doing?"; mes "What are you doing?";
mes "Go and find Darwin now."; mes "Go and find Darwin now.";

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= Muad_Dib(The Prometheus Project), Lupus, Samuray22 //= Muad_Dib(The Prometheus Project), Lupus, Samuray22
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.5 //= 2.6
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -22,6 +22,7 @@
//= - Changed item names to item IDs //= - Changed item names to item IDs
//= 2.4 Fixed hang up on bard quest. ($kiN.) [L0ne_W0lf] //= 2.4 Fixed hang up on bard quest. ($kiN.) [L0ne_W0lf]
//= 2.5 Added Quest Log commands. [Kisuka] //= 2.5 Added Quest Log commands. [Kisuka]
//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================ //============================================================
//=============== Ayealo ============================ //=============== Ayealo ============================
@ -421,27 +422,60 @@ comodo,226,123,5 script Wandering Bard 741,{
cutin "job_bard_aiolo01",255; cutin "job_bard_aiolo01",255;
end; end;
} }
else if(BARD_Q == 3) { else if ((BARD_Q >= 3) || (BARD_Q <= 5)) {
if(xmas_npc > 10) { //this var is set in LUTIE.TXT 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; cutin "job_bard_aiolo01",2;
mes "[Lalo]"; mes "[Lalo]";
mes "How was the trip? Did you meet a lot of people?"; mes "Hmm... this time you can do better, right?";
mes "You should have been able to learn something more important than a gift."; mes "Let's try again, you can do it.";
next; next;
mes "[Lalo]"; mes "[Lalo]";
mes "Then, do you want to try singing...?"; mes "I'll sing one part...";
mes "I'll sing a short melody..."; mes "and you try it after.";
mes "and you try after.";
if(checkquest(3003) == -1) {
changequest 3002,3003;
}
next; next;
mes "[Lalo]"; mes "[Lalo]";
mes "Here I go."; mes "Here we go.";
mes "Ehem *clears throat*"; mes "*Ehem*";
mes "1, 2, 3, 4"; mes "1, 2, 3, 4";
next; next;
B_Sing: }
if (BARD_Q != 5) {
set .@bard_s, rand(1,5); set .@bard_s, rand(1,5);
if (.@bard_s == 1) { if (.@bard_s == 1) {
mes "^3377FFThere was a man^000000"; mes "^3377FFThere was a man^000000";
@ -808,113 +842,64 @@ B_Sing:
mes "Do you want to just change jobs now?"; mes "Do you want to just change jobs now?";
mes "Or do you want a present."; mes "Or do you want a present.";
next; next;
if (select("Just change my job please.:I'd be thankful for a present.") == 1) { set .@selection,select("Just change my job please.:I'd be thankful for a present.");
B_Change: }
if(SkillPoint) { if ((.@selection == 1) || (BARD_Q == 5)) {
cutin "job_bard_aiolo01",2; if(SkillPoint) {
mes "[Lalo]"; cutin "job_bard_aiolo01",2;
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;
}
completequest 3003;
callfunc "Job_Change",Job_Bard;
callfunc "F_ClearJobVar"; //clears all job variables for the current player
mes "[Lalo]"; mes "[Lalo]";
mes "Very well! Hope you sing happy enjoyable songs."; mes "Ah... Everything is good, but you still have some skill points left.";
mes "Live like the wind and the clouds!"; mes "Go learn the rest of the skills and come back.";
next; next;
mes "[Lalo]"; mes "[Lalo]";
mes "See you again next time!"; 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; close2;
cutin "job_bard_aiolo01",255; cutin "job_bard_aiolo01",255;
end; end;
} }
changequest 3003,3004; else {
mes "[Lalo]"; switch(BARD_Q) {
mes "Hmm... very well, bring some trunks."; case 5:
mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; if(countitem(1019) > 59) callsub S_ChangeJob,1019,1901;
next; else if(countitem(1068) > 59) callsub S_ChangeJob,1068,1903;
mes "[Lalo]"; else if(countitem(1067) > 59) callsub S_ChangeJob,1067,1903;
mes "I will give you a gift once you bring them."; else if(countitem(1066) > 59) {
mes "Have a safe trip."; if(JobLevel > 49) callsub S_ChangeJob,1066,1910;
close2; else callsub S_ChangeJob,1066,1905;
cutin "job_bard_aiolo01",255; }
end; 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.") == 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 "See you again next time!";
close2;
cutin "job_bard_aiolo01",255;
end;
}
}
} }
cutin "job_bard_aiolo01",2; changequest 3003,3004;
set xmas_npc,1;
mes "[Lalo]"; mes "[Lalo]";
mes "Eh, you still haven't become his friend?"; mes "Hmm... very well, bring some trunks.";
mes "Talking will not be enough."; mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
next; next;
mes "[Lalo]"; mes "[Lalo]";
mes "if you become friends with ^008800Jack Frost^000000, you will receive something."; mes "I will give you a gift once you bring them.";
mes "And talk with the village people, too..."; mes "Have a safe trip.";
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;
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.";
next;
mes "[Lalo]";
mes "I'll give you a present if you bring them.";
mes "Then see you soon.";
close2; close2;
cutin "job_bard_aiolo01",255; cutin "job_bard_aiolo01",255;
end; end;

View File

@ -4,7 +4,7 @@
//= Made by: Black Dragon //= Made by: Black Dragon
//= Converted by: Shin //= Converted by: Shin
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 3.2 //= 3.3
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -31,6 +31,7 @@
//= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf] //= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf]
//= 3.1 Adding Hermemton's changes. [L0ne_W0lf] //= 3.1 Adding Hermemton's changes. [L0ne_W0lf]
//= 3.2 Added Quest Log commands. [Kisuka] //= 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."; mes "If you would like to become a Crusader, please speak with our leader in the Prontera Central Palace.";
close; close;
} }
else if(CRUS_Q == 6) { else if((CRUS_Q == 6) || (CRUS_Q == 7)) {
mes "Welcome."; if(CRUS_Q == 6) {
mes "Did you do well"; mes "Welcome.";
mes "on those painful tests?"; mes "Did you do well";
mes "I will be conducting your next test."; mes "on those painful tests?";
next; mes "I will be conducting your next test.";
mes "[Gabriel Valentine]"; next;
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."; mes "[Gabriel Valentine]";
next; 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.";
mes "[Gabriel Valentine]"; next;
mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader."; mes "[Gabriel Valentine]";
mes "We can't very well win the Holy War just by swinging a sword."; mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader.";
next; mes "We can't very well win the Holy War just by swinging a sword.";
mes "[Gabriel Valentine]"; next;
mes "I will give"; mes "[Gabriel Valentine]";
mes "you 10 questions."; mes "I will give";
mes "Answer them correctly."; mes "you 10 questions.";
next; mes "Answer them correctly.";
goto C_Questions; next;
} }
else if(CRUS_Q == 7) { else if(CRUS_Q == 7) {
mes "Welcome back~"; mes "Welcome back~";
mes "Did you prepare"; mes "Did you prepare";
mes "well for this test?"; mes "well for this test?";
mes "Let's try again,"; mes "Let's try again,";
mes "shall we...?"; mes "shall we...?";
next; next;
mes "[Gabriel Valentine]"; mes "[Gabriel Valentine]";
mes "Once again, I'm going"; mes "Once again, I'm going";
mes "to give you 10 questions"; mes "to give you 10 questions";
mes "Listen carefully, and"; mes "Listen carefully, and";
mes "choose the correct answer."; mes "choose the correct answer.";
next; next;
C_Questions: }
set .@cru_m,rand(1,3); set .@cru_m,rand(1,3);
if (.@cru_m == 1) { if (.@cru_m == 1) {
mes "[Gabriel Valentine]"; mes "[Gabriel Valentine]";
@ -768,7 +769,7 @@ C_Questions:
mes "[Gabriel Valentine]"; 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?"; 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; close;
} }
else if(CRUS_Q == 8 || CRUS_Q == 9) { 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?"; 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; close;

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= Dino9021, Edited / Translated by Celest //= Dino9021, Edited / Translated by Celest
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.4 //= 2.5
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -15,6 +15,7 @@
//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] //= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
//= 2.3a Deleted unused variables. [Samuray22] //= 2.3a Deleted unused variables. [Samuray22]
//= 2.4 Added Quest Log commands. [Kisuka] //= 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,{ 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,{ prt_monk,251,255,1 script Touha#mk 79,{
if (MONK_Q == 10) { if (MONK_Q >= 10 && MONK_Q < 14) {
mes "[Touha]"; if (MONK_Q == 10) {
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 "[Touha]";
mes "Please come back when you're ready."; mes "What brings you to me.";
close; 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 "[Touha]";
mes "Ok...then."; set .@rand,rand(1,3);
next; if ((.@rand == 1) || (MONK_Q == 11)) {
mes "[Touha]";
mes "Please repeat after me.";
next;
mes "[Touha]";
changequest 3024,3025;
switch(rand(1,3)) {
case 1:
set MONK_Q,11; set MONK_Q,11;
mes "I seek the path"; mes "I seek the path";
next; next;
@ -968,8 +976,8 @@ prt_monk,251,255,1 script Touha#mk 79,{
next; next;
mes "[Touha]"; mes "[Touha]";
mes "et Spiritus Sancti."; mes "et Spiritus Sancti.";
break; }
case 2: else if ((.@rand == 2) || (MONK_Q == 12)) {
set MONK_Q,12; set MONK_Q,12;
mes "I commit myself to"; mes "I commit myself to";
next; next;
@ -999,8 +1007,8 @@ prt_monk,251,255,1 script Touha#mk 79,{
next; next;
mes "[Touha]"; mes "[Touha]";
mes "et Spiritus Sancti."; mes "et Spiritus Sancti.";
break; }
case 3: else if ((.@rand == 3) || (MONK_Q == 13)) {
set MONK_Q,13; set MONK_Q,13;
mes "And shepherds we shall be,"; mes "And shepherds we shall be,";
next; next;
@ -1032,12 +1040,13 @@ prt_monk,251,255,1 script Touha#mk 79,{
mes "et Spiritus Sancti."; mes "et Spiritus Sancti.";
} }
next; next;
mes "[Touha]"; if (MONK_Q == 10) {
mes "Ok, that is all. Now repeat what I have spoken."; mes "[Touha]";
if (MONK_Q == 11) { mes "Ok, that is all. Now repeat what I have spoken.";
L_MonkOath1:
mes "" + strcharinfo(0) + ", your turn."; mes "" + strcharinfo(0) + ", your turn.";
next; 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.")) { 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: case 1:
mes "[" + strcharinfo(0) + "]"; mes "[" + strcharinfo(0) + "]";
@ -1219,9 +1228,6 @@ L_MonkOath1:
} }
} }
else if (MONK_Q == 12) { 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.")) { 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: case 1:
mes "[" + strcharinfo(0) + "]"; mes "[" + strcharinfo(0) + "]";
@ -1402,9 +1408,6 @@ L_MonkOath2:
} }
} }
else if (MONK_Q == 13) { 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")) { 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: case 1:
mes "[" + strcharinfo(0) + "]"; mes "[" + strcharinfo(0) + "]";
@ -1637,114 +1640,6 @@ L_MonkOath3:
close; 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) { else if (MONK_Q == 14) {
mes "[Touha]"; mes "[Touha]";
mes "Hmm... did you forget who to visit?"; mes "Hmm... did you forget who to visit?";

View File

@ -5,7 +5,7 @@
//= Unknown Translator (1.0) //= Unknown Translator (1.0)
//= Darkchild (1.2) //= Darkchild (1.2)
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 2.7 //= 2.8
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -26,6 +26,7 @@
//= 2.6 Fixed Kayron Grik cutin not being removed as reported by jc1991, bugreport:1825 [Brainstorm] //= 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.6a Fixed a Little Bug with Whispers Summoned in the Last Test. (bugreport:2253) [Samuray22]
//= 2.7 Added Quest Log commands. [Kisuka] //= 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,{ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{