summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-21 10:48:57 +0000
committerLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-21 10:48:57 +0000
commit15db031c546b43fcc1e5fab4271871d49026ceb5 (patch)
tree90c0f4e9106af9b9a6a05e8b2a70536d54f82b5a
parent859de19ef81459a7345501e8f6ee8a4d5837d82e (diff)
downloadhercules-15db031c546b43fcc1e5fab4271871d49026ceb5.tar.gz
hercules-15db031c546b43fcc1e5fab4271871d49026ceb5.tar.bz2
hercules-15db031c546b43fcc1e5fab4271871d49026ceb5.tar.xz
hercules-15db031c546b43fcc1e5fab4271871d49026ceb5.zip
updated Dance Job Quest. Optimized, Fixed typos, added missing text
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9883 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--npc/Changelog.txt2
-rw-r--r--npc/jobs/2-2/dancer.txt789
2 files changed, 351 insertions, 440 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index 8fc28052b..3be199c1b 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -27,6 +27,8 @@ KarLaeda
Date Added
======
2007/02/21
+ * Dancer Job Quest v 3.0. Optimized, fixed typos, added missing dialogues [Lupus]
+ - not fully tested yet! U can use v2.5 as 100% working
* Fixed and Tested Dancing part of Dancer Job Quest (the rest chrid issues) [Lupus]
2007/02/19
* Fixed Dancer Job Quest mob::OnDie / SP check issues [Lupus]
diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt
index a7ec8c666..7a4e41201 100644
--- a/npc/jobs/2-2/dancer.txt
+++ b/npc/jobs/2-2/dancer.txt
@@ -4,36 +4,21 @@
//= Kalen - Original jAthena
//= Fredzilla - Converted, Lupus
//===== Current Version: =====================================
-//= 2.5
+//= 3.0
//===== Compatible With: =====================================
//= eAthena 9880+
//===== Description: =========================================
//= Dancer job quest based off a jAthena script and other sources for clarity
//===== Additional Comments: =================================
-//= 1.5 Added Baby Class Support [Fredzilla]
-//= 1.1 Removed the warp I left here my accident, added a check for using
-//= Improved Concentration and arrow shower, people could get away with it
-//= [Fredzilla]
-//= 1.0 I tried to keep as much the same from the Jap version as possible
-//= this turned out to be quite hard, but on the whole it is the same script
-//= I have added some new things, and changed some of the used commands,
-//= along with some optimization. [Fredzilla]
-//= 1.6 Added a func which prevent advanced classes passing
-//= 2nd Job Quests again. It also guides adv classes where
-//= to go. [Lupus]
-//= 2.0 Changed numbers to constants. [Vicious]
-//= 2.1 Script check #1. [Lance]
-//= 2.2 Fixed unpassable part, thx2 Alis [Lupus]
-//= 2.3 Updated initnpctimer to attach player to jobDq script [Skotlex]
-//= 2.4 Attached chrid to be able obtain player's SP on mobs death, optimized a bit [Lupus]
-//= 2.5 Final fix of obtaining chrid. Now works, no warnings [Lupus]
-//= changed 'Improved Concentration' to 'Attention Concentrate'
+//= 2.5 Final fix of chrid issues, changed 'Improved
+//= Concentration' to 'Attention Concentrate' [Lupus]
+//= 3.0 Some optimization, typos, added missing dialogues (4Kb lighter) [Lupus]
//============================================================
-//= Warning Warp to escape the quest if need be
-job_duncer.gat,69,165,1 script wwarp 45,1,1,{
+//= Warning Warp to escape the quest if need to
+job_duncer.gat,69,165,1 script DQWWarp 45,1,1,{
mes "[Warning]";
- mes "This is the way out, this will cancel your quest if you leave";
+ mes "This is the way out, this will cancel your quest if you leave.";
next;
menu "Leave the quest",-,"Cancel",L_Can;
warp "comodo.gat",193,149;
@@ -48,15 +33,16 @@ comodo.gat,193,151,4 script Bor Robin 86,{
mes "[Bor Robin]";
mes "Well...... alot of people seem to be coming here lately.";
+ emotion e_hmm;
next;
mes "[Bor Robin]";
- mes "They used to become dancers instantaneously.";
+ mes "They used to become Dancers instantaneously.";
mes "I've seen right before my eyes, more than I could count.";
- mes "Now only people who are worthy can become dancers.";
+ mes "Now only people who are worthy can become Dancers.";
next;
mes "[Bor Robin]";
- mes "Becoming a dancer in these times would bring you true happiness.";
- mes "It would be great to see more dancers around.";
+ mes "Becoming a Dancer in these times would bring you true happiness.";
+ mes "It would be great to see more Dancers around.";
next;
mes "[Bor Robin]";
mes "I can take you to the Comodo Theater if you want.";
@@ -74,61 +60,71 @@ L1:
warp "job_duncer.gat",70,49;
end;
}
+
//= 1st quest NPC, asks for Items and/or money, then passes you onto the next NPC
job_duncer.gat,43,93,4 script Aire 724,{
- if (BaseJob == Job_Archer && Sex == 0) goto Larcher;
- if (BaseJob == Job_Dancer) goto Ldancer;
- if (Upper==1) goto LUpper1;
- mes "[Aire]";
- mes "Hi "+strcharinfo(0)+", you are only allowed to stay in this room any where else is off limits to you.";
- next;
- mes "[Aire]";
- mes "We can't just let anyone become a dancer, there is no reason other than this for people to be here.";
- next;
- mes "[Aire]";
- mes "You can stay and watch the dance stage if you want to, there might be an audition going on.";
- mes "See you later.";
- close;
-Ldancer:
- mes "[Aire]";
- mes "Nice to see you return.";
- mes "How have you been recently?";
- mes "Have you been bringing many people joy?";
- close;
-Larcher:
- if (Upper == 1) goto LUpper1;
- if (DANC_Q == 1) goto LStart2;
- if (DANC_Q == 2) goto LItem1;
- if (DANC_Q == 3) goto LItem2;
- if (DANC_Q == 4) goto LItem3;
- if ((DANC_Q == 5) || (DANC_Q == 6)) goto LStart3;
- if (DANC_Q >= 7) goto LStart4;
- mes "[Aire]";
- mes "Welcome to our Theater.";
- mes "This is where various dances are taught.";
- next;
- mes "[Aire]";
- mes "Sightseers visit from all other the place, to watch the dancers.";
- next;
- mes "[Aire]";
- mes "We can also train new dancers here, obviously for a price, we don't want to go out of business.";
- next;
mes "[Aire]";
- mes "You must first fill in the application form.";
- mes "All you have to do is write in your details.";
- next;
- mes "[Aire]";
- mes "So what do you say?";
- mes "Are you proposing you become a dancer? or will you be leaving like many before you.";
- next;
- menu "Fill in the form",L1,"Leave",-;
+ if(BaseJob == Job_Dancer) {
+ mes "Nice to see you return.";
+ mes "How have you been recently?";
+ mes "Have you been bringing many people joy?";
+ close;
+ }
+ if(Upper == 1){
+ mes "It's such a big honor to salute envoys of Valhalla.";
+ mes "Come again.";
+ emotion e_ho;
+ close;
+ }
+ if(BaseJob != Job_Archer || Sex){
+ mes "Hi "+strcharinfo(0)+", you are only allowed to stay in this room any where else is off limits to you.";
+ next;
mes "[Aire]";
- mes "If you do reconsider please return to me.";
+ mes "We can't just let anyone become a Dancer, there is no reason other than this for people to be here.";
+ next;
+ mes "[Aire]";
+ mes "You can stay and watch the dance stage if you want to, there might be an audition going on.";
mes "See you later.";
close;
-L1:
- if (JobLevel < 40) goto Llowlv;
+ }
+
+ switch(DANC_Q){
+ case 0:
+ mes "Welcome to our Theater.";
+ mes "This is where various dances are taught.";
+ next;
+ mes "[Aire]";
+ mes "Sightseers visit from all other the place, to watch the Dancers.";
+ next;
mes "[Aire]";
+ mes "We can also train new Dancers here, obviously for a price, we don't want to go out of business.";
+ next;
+ mes "[Aire]";
+ mes "You must first fill in the application form.";
+ mes "All you have to do is write in your details.";
+ next;
+ mes "[Aire]";
+ mes "So what do you say?";
+ mes "Are you proposing you become a Dancer? or will you be leaving like many before you.";
+ next;
+ if(select("Fill in the form:Leave")!=1){
+ mes "[Aire]";
+ mes "If you do reconsider please return to me.";
+ mes "See you later.";
+ close;
+ }
+ mes "[Aire]";
+ if(JobLevel < 40){
+ mes "Huh......";
+ mes "I am very sorry, but you have not met our minimun job level requirements.";
+ next;
+ mes "[Aire]";
+ mes "You need to be at least above Job Level 40.";
+ mes "Please return when you are Job Level 40 or higher.";
+ mes "Don't tell anyone I told you this, but if you complete the training for Dancer and you are Job Level 50 you get an extra gift from us.";
+ mes "Enjoy your day.";
+ close;
+ }
mes "So you are ready to start you journey!";
mes "Please enter in the application form which is there.";
next;
@@ -148,217 +144,184 @@ L1:
mes "The form is being read by the dancing school teacher.";
next;
mes "[Aire]";
- mes "When you have time for the next part of your journey talk to me again";
+ mes "When you have time for the next part of your journey talk to me again.";
set DANC_Q,1;
close;
-LStart2:
- mes "[Aire]";
- mes "Your proposal has been accepted, but you still need to bring some items, and maybe zeny to cover the bill of our school.";
- next;
- mes "[Aire]";
- mes "Lets see what items you will need to bring to cover your bill.";
- mes " ";
- mes "Ok...";
- next;
-//3 Random sets
- mes "[Aire]";
- set @itemset, rand(1,3);
- if (@itemset == 2) goto ItemSet2;
- if (@itemset == 3) goto ItemSet3;
- mes "The cost for the lesson will be :-";
- mes "^0000FF10,000 Zeny^000000";
- mes "A pair of ^0000FFUnslotted Shoes^000000";
- mes "^0000FF20 Sticky Mucus^000000";
- mes "^0000FF5 Red Potions^000000";
- mes "^0000FF3 Jellopy^000000";
- next;
- mes "[Aire]";
- mes "When you have all these, I can prepare the lesson for you.";
- mes " ";
- mes "Come and speak to me again when you are ready.";
- set DANC_Q,2;
- close;
-ItemSet2:
- mes "The cost for the lesson will be :-";
- mes "^0000FF10,000 Zeny^000000";
- mes "A pair of ^0000FFUnslotted Boots^000000";
- mes "^0000FF5 earthworm skins^000000";
- next;
- mes "[Aire]";
- mes "When you have all these, I can prepare the lesson for you.";
- mes " ";
- mes "Come and speak to me again when you are ready.";
- set DANC_Q,3;
- close;
-ItemSet3:
- mes "The cost for the lesson will be :-";
- mes "A pair of ^0000FFUnslotted Sandals^000000";
- mes "^0000FF2 Clam Shells^000000";
- mes "^0000FF5 Yellow Potions^000000";
- mes "^0000FF20 Jellopy^000000";
- mes "^0000FF10 Black Hair^000000";
- next;
- mes "[Aire]";
- mes "When you have all these, I can prepare the lesson for you.";
- mes "Come and speak to me again when you are ready.";
- set DANC_Q,4;
- close;
+ case 1:
+ mes "Your proposal has been accepted, but you still need to bring some items, and maybe zeny to cover the bill of our school.";
+ next;
+ mes "[Aire]";
+ mes "Lets see what items you will need to bring to cover your bill.";
+ mes " ";
+ mes "Ok...";
+ next;
+ mes "[Aire]";
+ mes "The cost for the lesson will be:";
+ set DANC_Q,rand(2,4);
+ callsub S_SHOWITEMS;
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes "Come and speak to me again when you are ready.";
+ close;
-LItem1:
- if ((countitem(938) >= 20) && (countitem(501) >= 5) && (countitem(909) >= 3) && (countitem(2403) >= 1) && (Zeny >= 10000)) goto LItem1OK;
- mes "[Aire]";
- mes "Something is wrong here.";
- mes "Seems you don't have enough items, we need everything that was asked for.";
- mes "They are all necessary for you to be taught.";
- mes "In case you have forgotten, please bring.";
- next;
- mes "[Aire]";
- mes "^0000FF10000 Zeny^000000";
- mes "A pair of ^0000FFUnslotted Shoes^000000";
- mes "^0000FF20 Sticky Mucus^000000";
- mes "^0000FF5 Red Potions^000000";
- mes "^0000FF3 Jellopy^000000";
- next;
- mes "[Aire]";
- mes "Don't forget to get everything.";
- mes "What are you waiting for?";
- mes "see you back here soon";
- close;
-LItem2:
- if ((countitem(1055) >= 5) && (countitem(2405) >= 1) && (Zeny >= 10000)) goto LItem2OK;
- mes "Something is wrong here.";
- mes "Seems you don't have enough items, we need everything that was asked for.";
- mes "They are all necessary for you to be taught.";
- mes "In case you have forgotten, please bring.";
- next;
- mes "[Aire]";
- mes "^0000FF10000 Zeny^000000";
- mes "A pair of ^0000FFUnslotted Boots^000000";
- mes "^0000FF5 earthworm skins^000000";
- next;
- mes "[Aire]";
- mes "Don't forget to get everything.";
- mes "What are you waiting for?";
- mes "see you back here soon";
- close;
-LItem3:
- if ((countitem(965) >= 2) && (countitem(503) >= 5) && (countitem(909) >= 20) && (countitem(1020) >= 10) && (countitem(2401) >= 1)) goto LItem3OK;
- mes "Something is wrong here.";
- mes "Seems you don't have enough items, we need everything that was asked for.";
- mes "They are all necessary for you to be taught.";
- mes "In case you have forgotten, please bring.";
- next;
- mes "[Aire]";
- mes "A pair of ^0000FFUnslotted Sandals^000000";
- mes "^0000FF2 Clam Shells^000000";
- mes "^0000FF5 Yellow Potions^000000";
- mes "^0000FF20 Jellopy^000000";
- mes "^0000FF10 Black Hair^000000";
- next;
- mes "[Aire]";
- mes "Don't forget to get everything.";
- mes "What are you waiting for?";
- mes "see you back here soon";
- close;
-LItem1OK:
- mes "[Aire]";
- mes "Lets see here, oh you brought everything.";
- mes "I accept your payment!";
- set Zeny,Zeny-10000;
- delitem 938,20;
- delitem 501,5;
- delitem 909,3;
- delitem 2403,1;
- next;
- goto LStart3;
-LItem2OK:
- mes "[Aire]";
- mes "Lets see here, oh you brought everything.";
- mes "I accept your payment!";
- set Zeny,Zeny-10000;
- delitem 1055,5;
- delitem 2405,1;
- next;
- goto LStart3;
-LItem3OK:
- mes "[Aire]";
- mes "Lets see here, oh you brought everything.";
- mes "I accept your payment!";
- delitem 965,2;
- delitem 503,5;
- delitem 909,20;
- delitem 1020,10;
- delitem 2401,1;
- next;
-LStart3:
- mes "[Aire]";
- mes "Now that the cost of the training is out of that way, we need you to participate in an interview, and pass a small test to be worthy of becoming a dancer.";
- next;
- mes "[Aire]";
- mes "Your interview and test will be performed by ^0000FF'Bijou'^000000.";
- mes "Please go and see her as soon as posible.";
- if (DANC_Q < 5) set DANC_Q,5;
- close;
-LStart4:
- mes "[Aire]";
+ case 2:
+ case 3:
+ case 4:
+ if(DANC_Q==2 && (countitem(938) >= 20) && (countitem(501) >= 5) && (countitem(909) >= 3)
+ && (countitem(2403) >= 1) && (Zeny >= 10000)){
+
+ set Zeny,Zeny-10000;
+ delitem 938,20;
+ delitem 501,5;
+ delitem 909,3;
+ delitem 2403,1;
+ goto L_DONE;
+ }
+ if(DANC_Q==3 && countitem(1055) >= 5) && (countitem(2405) >= 1) && (Zeny >= 10000)){
+
+ set Zeny,Zeny-10000;
+ delitem 1055,5;
+ delitem 2405,1;
+ goto L_DONE;
+ }
+ if(DANC_Q==4 && countitem(965) >= 2 && countitem(503) >= 5 && countitem(909) >= 20
+ && countitem(1020) >= 10 && countitem(2401) >= 1){
+
+ delitem 965,2;
+ delitem 503,5;
+ delitem 909,20;
+ delitem 1020,10;
+ delitem 2401,1;
+ goto L_DONE;
+
+ }
+ mes "Something is wrong here.";
+ mes "Seems you don't have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "In case you have forgotten, please bring.";
+ next;
+ mes "[Aire]";
+ callsub S_SHOWITEMS;
+ mes "Don't forget to get everything.";
+ mes "What are you waiting for?";
+ mes "See you back here soon.";
+ close;
+
+L_DONE:
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ next;
+ mes "[Aire]";
+ case 5:
+ case 6:
+ mes "Now that the cost of the training is out of that way, we need you to participate in an interview, and pass a small test to be worthy of becoming a Dancer.";
+ next;
+ mes "[Aire]";
+ mes "Your interview and test will be performed by ^0000FF'Bijou'^000000.";
+ mes "Please go and see her as soon as possible.";
+ if(DANC_Q < 5) set DANC_Q,5;
+ close;
+ }
mes "Practice enthusiastically that cute dance.";
mes "When you have completed your training please show me!";
close;
-Llowlv:
- mes "[Aire]";
- mes "Huh......";
- mes "I am very sorry, but you have not met our minimun job level requirements.";
+
+S_SHOWITEMS:
+ switch(DANC_Q){
+ case 2:
+ mes "^0000FF10,000 Zeny^000000, ";
+ mes "A pair of ^0000FFUnslotted Shoes^000000, ";
+ mes "^0000FF20 Sticky Mucus^000000, ";
+ mes "^0000FF5 Red Potions^000000 and";
+ mes "^0000FF3 Jellopy^000000.";
+ break;
+ case 3:
+ mes "^0000FF10,000 Zeny^000000,";
+ mes "A pair of ^0000FFUnslotted Boots^000000 and";
+ mes "^0000FF5 Earthworm skins^000000.";
+ break;
+ case 4:
+ mes "A pair of ^0000FFUnslotted Sandals^000000,";
+ mes "^0000FF2 Clam Shells^000000,";
+ mes "^0000FF5 Yellow Potions^000000,";
+ mes "^0000FF20 Jellopy^000000 and";
+ mes "^0000FF10 Black Hair^000000.";
+ break;
+ }
next;
mes "[Aire]";
- mes "You need to be at least above Job Lvl 40.";
- mes "Please return when you are Job Lvl 40 or higher.";
- mes "Don't tell anyone I told you this, but if you complete the training for dancer and you are Job Lvl 50 you get an extra gift from us.";
- mes "Enjoy your day.";
- close;
-LUpper1:
- mes "[Aire]";
- mes "It's such a big honor to salute envoys of Valhalla.";
- mes "Come again.";
- emotion e_ho;
- close;
-
+ return;
}
+
//= 2nd "Quest" and Job changer for after the 3rd Quest
job_duncer.gat,95,93,4 script Bijou 101,{
- if (BaseJob == Job_Archer && Sex == 0) goto LArcher;
- if (BaseJob == Job_Dancer) goto LDancer;
- mes "[Bijou]";
- mes "Welcome to our Dance Theater, there are many dancers around here.";
- next;
- mes "[Bijou]";
- mes "Unfortunately for you I have already retired from being a dancer, but I stay here to train new dancers.";
- next;
- mes "[Bijou]";
- mes "The hardest part of becoming a dancer is the physical test of timing and speed, which is done at the stage.";
- mes "";
- mes "I will call out directions to the trainee, and they need to follow them to the letter.";
- mes "If they complete that test they come back to me for the final part of their training, and they leave as a dancer.";
- close;
-LDancer:
- mes "[Bijou]";
- mes "What will you be doing today?";
- next;
- mes "[Bijou]";
- mes "Go and bring joy to all the others that you see.";
- mes "Making impression on the many people.";
- mes "Help other as much as possible.";
- mes "Don't forget your training.";
- mes "See you again soon!";
- close;
-LArcher:
- if (Skillpoint != 0) goto LErrorA;
- if (DANC_Q == 5) goto Ltest1;
- if (DANC_Q == 6) goto Ltest2;
- if ((DANC_Q == 7) || (DANC_Q == 8)) goto LStart2;
- if (DANC_Q == 10) goto Ljobchange;
mes "[Bijou]";
- mes "So you want to become a dancer, eh?";
+ if(BaseJob == Job_Dancer){
+ mes "What will you be doing today?";
+ next;
+ mes "[Bijou]";
+ mes "Go and bring joy to all the others that you see.";
+ mes "Making impression on the many people.";
+ mes "Help other as much as possible.";
+ mes "Don't forget your training.";
+ mes "See you again soon!";
+ close;
+ }
+ if(BaseJob != Job_Archer || Sex){
+ mes "Welcome to our Dance Theater, there are many Dancers around here.";
+ next;
+ mes "[Bijou]";
+ mes "Unfortunately for you I have already retired from being a Dancer, but I stay here to train new Dancers.";
+ next;
+ mes "[Bijou]";
+ mes "The hardest part of becoming a Dancer is the physical test of timing and speed, which is done at the stage.";
+ next;
+ mes "[Bijou]";
+ mes "I will call out directions to the trainee, and they need to follow them to the letter.";
+ mes "If they complete that test they come back to me for the final part of their training, and they leave as a Dancer.";
+ close;
+ }
+ if(SkillPoint){
+ mes "You still seem to have skill points.";
+ mes "Until you use all of your points you cannot change jobs.";
+ close;
+ }
+ if(DANC_Q == 5 || DANC_Q == 6) goto L_QUIZ;
+ if(DANC_Q == 7 || DANC_Q == 8) goto L_DANCETEST;
+ if(DANC_Q == 9){
+ mes "You have done great, you have passed all the tests we have set out for you.";
+ next;
+ mes "[Bijou]";
+ mes "I now think you have sufficient knowledge to become a Dancer now!";
+ next;
+ mes "[Bijou]";
+ mes "Now...... please relax as we finish our training here.";
+ next;
+ mes "[Bijou]";
+ mes "It will be your job to bring joy to all the people in Rune Midgard.";
+ next;
+ set @JobLevel,JobLevel;
+ mes "[Bijou]";
+ mes "Watch each time you dance from now on.";
+ next;
+ callfunc "Job_Change",Job_Dancer;
+ callfunc "F_ClearJobVar";
+ mes "[Bijou]";
+ mes "The enjoyment of the people watching you perform......";
+ next;
+ mes "[Bijou]";
+ mes "This present is from me!";
+ if(@JobLevel==50) {
+ getitem 1953,1;
+ mes "Since you are very experienced I have given you a Line, instead of a simple Rope that normal people would get.";
+ mes "Now take you Line, and be the best Dancer you can be!";
+ } else {
+ getitem 1950,1;
+ mes "Now take this Rope, and be the best Dancer you can be!";
+ }
+ close;
+ }
+ mes "So you want to become a Dancer, eh?";
next;
mes "[Bijou]";
mes "Well, it seems you haven't paid anything towards it yet.";
@@ -367,42 +330,33 @@ LArcher:
mes "The person you need to go and talk to about this is 'Aire', she is the other side of the stage.";
mes "When everything is ok with her come back to me.";
close;
-LErrorA:
- mes "[Bijou]";
- mes "You still seem to have skill points.";
- mes "Until you use all of your points you cannot change jobs.";
- close;
-Ltest1:
- mes "[Bijou]";
- mes "So you want to become a dancer, eh?";
- next;
- mes "[Bijou]";
- mes "......You have already paid I see, so we can now continue.";
- next;
- mes "[Bijou]";
- mes "Before I can let you become a Dancer I need to test you mental attitude, this is done through a simple test.";
- mes "It is multiple choice and alot of them are common sense, well common for someone that has the mental attitude to become a dancer.";
- next;
- mes "[Bijou]";
- mes "There is a total of 10 questions, for each one you get correct you are awarded 10 points.";
- mes " ";
- mes "There are some answers that will reduce your final score, try and avoid answering them wrong.";
- next;
- goto LsetQ;
-Ltest2:
- mes "[Bijou]";
- if(DANC_Q == 6) mes "Back for another try?";
+L_QUIZ:
+ if(DANC_Q == 6)
+ mes "Back for another try?";
+ else {
+ mes "So you want to become a Dancer, eh?";
+ next;
+ mes "[Bijou]";
+ mes "......You have already paid I see, so we can now continue.";
+ next;
+ mes "[Bijou]";
+ mes "Before I can let you become a Dancer I need to test you mental attitude, this is done through a simple test.";
+ mes "It is multiple choice and alot of them are common sense, well common for someone that has the mental attitude to become a Dancer.";
+ next;
+ mes "[Bijou]";
+ mes "There is a total of 10 questions, for each one you get correct you are awarded 10 points.";
+ mes " ";
+ mes "There are some answers that will reduce your final score, try and avoid answering them wrong.";
+ next;
+ }
mes "Good luck to you, now let the test begin.";
next;
-LsetQ:
- set @rand,rand(2);
set @dcpoint,0;
- if (@rand == 1) goto LQuestion2;
+ if(rand(2)) goto L_QUIZ2;
+
//-------
-LQuestion1:
mes "[Bijou]";
- mes "1.";
- mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "1. ^00FF00Subject:^000000 Dancer + Bard combination playing skill.";
mes "What is the effect of ^777777'Classical Pluck/Loki's Veil'^000000 ?";
next;
menu "Attack power of the level 4 weapon improves",L1_2,"Double the damage that is done",L1_2,"Makes skills and magic unusable",-,"Attack speed rises",L1_2;
@@ -411,8 +365,7 @@ L1_2:
//I am unsure about the translated meaning on Question 2, I tried to adapt it with my own question,
//I will put a asterisk (*) next to all I have done this for, I done this so other people who might understand it better can correct it.
mes "[Bijou]";
- mes "2.";
- mes "^00FF00Subject:^000000 After Dancing.";
+ mes "2. ^00FF00Subject:^000000 After Dancing.";
mes "After you have finished using an Ensemble skill with a partner what should you never do?";
next;
menu "Use words of appreciation towards the partner",L1_3,"The dance is praised",L1_3,"Invite the partner to dance again",L1_3,"You tell the partner they did an insufficient job",-;
@@ -420,62 +373,56 @@ L1_2:
L1_3:
// *
mes "[Bijou]";
- mes "3.";
- mes "^00FF00Subject:^000000 Before Dancing";
+ mes "3. ^00FF00Subject:^000000 Before Dancing.";
mes "When a partner activates the incorrect dance what should you do?";
next;
menu "Smile and just continue to dance",L1_4,"Point out the mistake",-,"Cancel the dance and walk away",L1_4,"Hide your smirk",L1_4;
set @dcpoint,@dcpoint+10;
L1_4:
mes "[Bijou]";
- mes "4.";
- mes "^00FF00Subject:^000000 General Knowledge.";
- mes "What is the name of the village where you can designate the change of your occupation to that of a dancer?";
+ mes "4. ^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the name of the village where you can designate the change of your occupation to that of a Dancer?";
next;
menu "Prontera",L1_5,"Morroc",L1_5,"Al De Baran",L1_5,"Comodo",-;
set @dcpoint,@dcpoint+10;
L1_5:
mes "[Bijou]";
- mes "5.";
- mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "5. ^00FF00Subject:^000000 Places around Comodo.";
mes "How many caves are directly connect to Comodo Village?";
next;
menu "1",L1_6,"2",L1_6,"3",-,"4",L1_6;
set @dcpoint,@dcpoint+10;
L1_6:
mes "[Bijou]";
- mes "6.";
- mes "^00FF00Subject:^000000 Pet's.";
+ mes "6. ^00FF00Subject:^000000 Pets.";
mes "Which of the following is not able to be tamed?";
next;
menu "Isis",L1_7,"Argiope",-,"Dokebi",L1_7,"Deviruchi",L1_7;
set @dcpoint,@dcpoint+10;
L1_7:
mes "[Bijou]";
- mes "7.";
- mes "^00FF00Subject:^000000 General Knowledge.";
- mes "Who is the best dancer?";
+ mes "7. ^00FF00Subject:^000000 General Knowledge.";
+ mes "Who is the best Dancer?";
next;
menu strcharinfo(0),L1_7a,"Bijou",-,"Isis",L1_8,"Flora",L1_8;
set @dcpoint,@dcpoint+10;
goto L1_8;
L1_7a:
set @dcpoint,@dcpoint-100;
+ emotion e_dots;
mes ".........";
next;
L1_8:
// *
mes "[Bijou]";
- mes "8.";
- mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "8. ^00FF00Subject:^000000 Places around Comodo.";
mes "What is one of the main attractions of Comodo?";
next;
menu "A Church",L1_9,"Exceptionally good shops",L1_9,"The best chicken you can get anywhere",L1_9,"The Casino",-;
set @dcpoint,@dcpoint+10;
L1_9:
mes "[...]";
- mes "9.";
- mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "9. ^00FF00Subject:^000000 General Knowledge.";
mes "What is my name?";
next;
menu "Gijou",L1_10,"Bijon",L1_10,"Bijou",-,"Bojou",L1_10;
@@ -483,51 +430,45 @@ L1_9:
// *
L1_10:
mes "[Bijou]";
- mes "10.";
- mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "10. ^00FF00Subject:^000000 Dancer + Bard combination playing skill.";
mes "What is the effect of ^777777'Lullaby'^000000 ?";
next;
- menu "Put enemy to sleep, in a 5x5 area",Lcheckpt,"Put enemy to sleep, in a 9x9 area",-,"Stun the enemy, in a 5x5 area",Lcheckpt,"Stun the enemy, in a 9x9 area",Lcheckpt;
+ menu "Make enemy asleep, in a 5x5 area",L_ENDQ,"Make enemy asleep, in a 9x9 area",-,"Stun the enemy, in a 5x5 area",L_ENDQ,"Stun the enemy, in a 9x9 area",L_ENDQ;
set @dcpoint,@dcpoint+10;
- goto Lcheckpt;
+ goto L_ENDQ;
//-------
-LQuestion2:
+L_QUIZ2:
mes "[Bijou]";
- mes "1.";
- mes "^00FF00Subject:^000000 Dancer skill.";
+ mes "1. ^00FF00Subject:^000000 Dancer skill.";
mes "What is the effect of ^777777'Dancing Lessons'^000000? ";
next;
menu "Your INT is increased",L2_2,"The damage of whip type attacks are raised",-,"The damage of rod type attacks are raised",L2_2,"The damage of ranged type attacks are raised",L2_2;
set @dcpoint,@dcpoint+10;
L2_2:
mes "[Bijou]";
- mes "2.";
- mes "^00FF00Subject:^000000 Dance Type.";
- mes "While doing this type of dance, you wear special shoes that make loud sounds";
+ mes "2. ^00FF00Subject:^000000 Dance Type.";
+ mes "While doing this type of dance, you wear special shoes that make loud sounds.";
mes "What is this type of dancing called?";
next;
menu "Tap dance",-,"Attention Concentrate",L2_3,"Tango",L2_3,"Salsa",L2_3;
set @dcpoint,@dcpoint+10;
L2_3:
mes "[Bijou]";
- mes "3.";
- mes "^00FF00Subject:^000000 Dancer feature.";
- mes "Choose the thing a dancer cannot do";
+ mes "3. ^00FF00Subject:^000000 Dancer feature.";
+ mes "Choose the thing a Dancer cannot do";
next;
menu "Perform Dances",L2_4,"Attack at a long range",L2_4,"Use a Whip",L2_4,"Use a 2-Handed Sword",-;
set @dcpoint,@dcpoint+10;
L2_4:
mes "[Bijou]";
- mes "4.";
- mes "^00FF00Subject:^000000 General Knowledge.";
- mes "What is the town where dancers stay the most?";
+ mes "4. ^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the town where Dancers stay the most?";
next;
menu "Al De Baran",L2_5,"Yuno",L2_5,"Morroc",L2_5,"Comodo",-;
set @dcpoint,@dcpoint+10;
L2_5:
mes "[Bijou]";
- mes "5.";
- mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "5. ^00FF00Subject:^000000 General Knowledge.";
mes "What person can perfrom the most beautiful dances?";
next;
menu strcharinfo(0),L2_5a,"Bijou",-,"Isis",L2_6,"Emralhandas",L2_6;
@@ -535,78 +476,76 @@ L2_5:
goto L2_6;
L2_5a:
set @dcpoint,@dcpoint-100;
+ emotion e_dots;
+ mes ".........";
+ next;
L2_6:
mes "[Bijou]";
- mes "6.";
- mes "^00FF00Subject:^000000 Dancer feature.";
- mes "The dancer, in comparison with other occupations, has what advantage?";
+ mes "6. ^00FF00Subject:^000000 Dancer feature.";
+ mes "The Dancer, in comparison with other occupations, has what advantage?";
next;
menu "Physical strength",L2_7,"Performing skill power",L2_7,"Dance Capability",-,"Magic Capability",L2_7;
set @dcpoint,@dcpoint+10;
L2_7:
mes "[Bijou]";
- mes "7.";
- mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "7. ^00FF00Subject:^000000 Places around Comodo.";
mes "What is the Casino managers name?";
next;
menu "Martine",L2_8,"Roberto",L2_8,"Moo",-,"Deniroz",L2_8;
set @dcpoint,@dcpoint+10;
L2_8:
mes "[Bijou]";
- mes "8.";
- mes "^00FF00Subject:^000000 Dancer feature.";
- mes "As for the item which the dancer cannot equip?";
+ mes "8. ^00FF00Subject:^000000 Dancer feature.";
+ mes "As for the item which the Dancer cannot equip?";
next;
menu "Hair band of cat",L2_9,"Two-handed Sword",-,"Sandals",L2_9,"Earring",L2_9;
set @dcpoint,@dcpoint+10;
L2_9:
mes "[Bijou]";
- mes "9.";
- mes "^00FF00Subject:^000000 Opinion.";
+ mes "9. ^00FF00Subject:^000000 Opinion.";
mes "Do you think this test is boring?";
next;
menu "It is",L2_10,"Give me more questions",-;
set @dcpoint,@dcpoint+10;
L2_10:
mes "[Bijou]";
- mes "10.";
- mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "10. ^00FF00Subject:^000000 Places around Comodo.";
mes "How many lighthouses exist on Comodo Island?";
next;
- menu "1",-,"2",Lcheckpt,"3",Lcheckpt;
+ menu "1",-,"2",L_ENDQ,"3",L_ENDQ;
set @dcpoint,@dcpoint+10;
- goto Lcheckpt;
//-------
-Lcheckpt:
+L_ENDQ:
mes "[Bijou]";
mes "You have now completed the test, lets see how you did......";
next;
- mes "[Bijou]";
- mes "You got a total of "+@dcpoint+" points......";
- if ((@dcpoint >= 80) && (DANC_Q == 5)) goto LpointOK;
- if ((@dcpoint >= 70) && (DANC_Q == 6)) goto LpointOK;
- mes "I am going to need to disqualify you, because you didn't reach the required ammount.";
- next;
- mes "[Bijou]";
- mes "You are allowed to take the test again if you like, for no extra charge.";
- if (DANC_Q==5) mes "Next time you take the test I will lower the amount of points you need to pass, to make it easier for you.";
- mes "Better luck next time, see you around!";
- set DANC_Q,6;
- close;
- LpointOK:
- if (@dcpoint == 100) mes "That is amazing, 100% correct.";
- if (@dcpoint != 100) mes "Even though you didn't get all the questions right, you have still passed.";
+ mes "[Bijou]";
+ mes "You got a total of "+@dcpoint+" points......";
+ if(@dcpoint >= 80 || (@dcpoint >= 70 && DANC_Q == 6)){
+ if(@dcpoint == 100)
+ mes "That is amazing, 100% correct.";
+ else
+ mes "Even though you didn't get all the questions right, you have still passed.";
next;
mes "[Bijou]";
mes "The next thing you need to do is pass a physical test of speed and timing";
mes "when you are ready for this test talk to me again, I can also tell you more about the test before you take it.";
set DANC_Q,7;
close;
-LStart2:
+ }
+ mes "I am going to need to disqualify you, because you didn't reach the required ammount.";
+ next;
mes "[Bijou]";
+ mes "You are allowed to take the test again if you like, for no extra charge.";
+ if(DANC_Q==5) mes "Next time you take the test I will lower the amount of points you need to pass, to make it easier for you.";
+ mes "Better luck next time, see you around!";
+ set DANC_Q,6;
+ close;
+
+L_DANCETEST:
mes "Are you ready for this test? or do you want me to talk you through it first?";
next;
- menu "Please Explain it to me",-,"Take me to the test area",Lwarp;
+ menu "Please Explain it to me",-,"Take me to the test area",L_WARP;
mes "[Bijou]";
mes "Think of this more as an audition than a test.";
mes "We give you ^0000FF1 minute^000000 to impress us.";
@@ -641,50 +580,13 @@ LStart2:
mes "[Bijou]";
mes "Don't worry if you have no experience of dance, that is what this is for, so you don't need to worry.";
close;
- Lwarp:
+ L_WARP:
mes "[Bijou]";
mes "I will take you back stage so you can take you test!";
set DANC_Q,8;
close2;
warp "job_duncer.gat",104,109;
end;
-Ljobchange:
- mes "[Bijou]";
- mes "You have done great, you have passed all the tests we have set out for you.";
- next;
- mes "[Bijou]";
- mes "I now think you have sufficient knowledge to become a dancer now!";
- next;
- mes "[Bijou]";
- mes "Now...... please relax as we finish our training here.";
- next;
- mes "[Bijou]";
- mes "It will be your job to bring joy to all the people in Rune Midgard.";
- next;
- if (JobLevel == 50) set @item,1;
- if (JobLevel != 50) set @item,0;
- mes "[Bijou]";
- mes "Watch each time you dance from now on.";
- next;
- callfunc "Job_Change",Job_Dancer;
- callfunc "F_ClearJobVar";
- mes "[Bijou]";
- mes "The enjoyment of the people watching you perform......";
- next;
- mes "[Bijou]";
- mes "This present is from me!";
- if (@item == 0){
- getitem 1950,1;
- mes "Now take this Rope, and be the best dancer you can be!";
- } else {
- if (@item == 1) {
- getitem 1953,1;
- mes "Since you are very experienced I have given you a Line, instead of a simple Rope that normal people would get.";
- mes "Now take you Line, and be the best dancer you can be!";
- }
- }
- close;
-
}
//=Start of the 3rd quest is here, once complete you go back to Bijou to change job
@@ -709,7 +611,7 @@ job_duncer.gat,0,0,0 script jobDq -1,{
OnStart:
OnTimer1000:
- mapannounce "job_duncer.gat","Bijou: The test begins, Total time allowed is 1 minute.",8;
+ mapannounce "job_duncer.gat","Bijou: The test begins. Total time allowed is 1 minute.",8;
end;
OnTimer3000:
mapannounce "job_duncer.gat","Bijou: Step Up! [ /\\ ]",8;
@@ -744,7 +646,7 @@ OnTimer26000:
mapannounce "job_duncer.gat","Bijou: Use 'Attention Concentrate'!",8;
end;
OnTimer29000:
- if ($@DQSP==SP) goto OnTimer80000;
+ if($@DQSP==SP) goto OnTimer80000;
donpcevent "::OnDE1";
mapannounce "job_duncer.gat","Bijou: To the left. [ < ]",8;
callsub L_SUB2,2000;
@@ -811,8 +713,8 @@ OnTimer80000:
disablenpc "righttile";
disablenpc "lowertile";
disablenpc "middletile";
- if (getareausers("job_duncer.gat",68,106,70,114) != 0) areawarp "job_duncer.gat",68,106,70,114,"job_duncer.gat",69,102;
- if (getareausers("job_duncer.gat",65,109,73,111) != 0) areawarp "job_duncer.gat",65,109,73,111,"job_duncer.gat",69,102;
+ if(getareausers("job_duncer.gat",68,106,70,114)) areawarp "job_duncer.gat",68,106,70,114,"job_duncer.gat",69,102;
+ if(getareausers("job_duncer.gat",65,109,73,111)) areawarp "job_duncer.gat",65,109,73,111,"job_duncer.gat",69,102;
stopnpctimer;
enablewaitingroomevent "dancew";
end;
@@ -857,16 +759,17 @@ L_SUB5:
startnpctimer "jdt5";
return;
}
+
job_duncer.gat,0,0,0 script jddie -1,{
OnDie:
- if ($@DQRID && isloggedin($@DQRID)) {
+ if($@DQRID && isloggedin($@DQRID)) {
attachrid($@DQRID);
- if ($@DQSP==SP)
+ if($@DQSP==SP)
mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+", but you failed to use arrow shower to kill the monster",8;
else {
mapannounce "job_duncer.gat","Dancer: Well done, you were very skillful, and have passed the test.",8;
- set DANC_Q,10;
+ set DANC_Q,9;
}
}
disablenpc "uppertile";
@@ -878,14 +781,14 @@ OnDie:
stopnpctimer "jobDq";
enablewaitingroomevent "dancew";
- if ($@DQRID && isloggedin($@DQRID))
+ if($@DQRID && isloggedin($@DQRID))
warp "job_duncer.gat",69,102;
set $@DQRID,0;
set $@DQSP,0;
end;
}
-job_duncer.gat,63,110,4 script Back dancer #1::jdt1 724,{
+job_duncer.gat,63,110,4 script Back Dancer#1::jdt1 724,{
end;
OnTimer5000:
enablenpc "lefttile";
@@ -901,7 +804,7 @@ OnDE2:
emotion e_omg;
end;
}
-job_duncer.gat,66,113,4 script Back dancer #2::jdt2 724,{
+job_duncer.gat,66,113,4 script Back Dancer#2::jdt2 724,{
end;
OnTimer5000:
enablenpc "uppertile";
@@ -917,7 +820,7 @@ OnDE2:
emotion e_omg;
end;
}
-job_duncer.gat,72,113,4 script Back dancer #3::jdt3 724,{
+job_duncer.gat,72,113,4 script Back Dancer#3::jdt3 724,{
end;
OnTimer5000:
enablenpc "lefttile";
@@ -933,7 +836,7 @@ OnDE2:
emotion e_omg;
end;
}
-job_duncer.gat,75,110,4 script Back dancer #4::jdt4 724,{
+job_duncer.gat,75,110,4 script Back Dancer#4::jdt4 724,{
end;
OnTimer5000:
enablenpc "lefttile";
@@ -949,6 +852,7 @@ OnDE2:
emotion e_omg;
end;
}
+
job_duncer.gat,75,110,4 script jdt5 139,{
end;
OnTimer5000:
@@ -959,10 +863,11 @@ OnTimer5000:
stopnpctimer;
end;
}
+
job_duncer.gat,69,113,4 script uppertile 139,1,1,{
end;
OnTouch:
- mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" but you failed to make it in time.",8;
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+", but you failed to make it in time.",8;
disablenpc "uppertile";
disablenpc "lefttile";
disablenpc "righttile";
@@ -997,6 +902,7 @@ OnInit:
disablenpc "lefttile";
end;
}
+
job_duncer.gat,69,110,4 script middletile 139,1,1,{
end;
OnTouch:
@@ -1016,6 +922,7 @@ OnInit:
disablenpc "middletile";
end;
}
+
job_duncer.gat,72,110,4 script righttile 139,1,1,{
end;
OnTouch:
@@ -1035,6 +942,7 @@ OnInit:
disablenpc "righttile";
end;
}
+
job_duncer.gat,69,107,4 script lowertile 139,1,1,{
end;
OnTouch:
@@ -1054,21 +962,22 @@ OnInit:
disablenpc "lowertile";
end;
}
-//= Some test NPC, activate these if you wanna try out the dance portion of the quest
-//==================================================================
-//job_duncer.gat,69,105,4 script TestDE1 98,{donpcevent "::OnDE1"; close;}
-//job_duncer.gat,69,110,4 script TestDE2 98,{donpcevent "::OnDE2"; close;}
-//job_duncer.gat,66,100,4 script WarpTilesON 98,{disablenpc "uppertile";disablenpc "lefttile";disablenpc "middletile";disablenpc "righttile";disablenpc "lowertile";close;}
-//job_duncer.gat,72,100,4 script WarpTilesOFF 98,{enablenpc "uppertile";enablenpc "lefttile";enablenpc "middletile";enablenpc "righttile";enablenpc "lowertile";close;}
-//==================================================================
-//job_duncer.gat,69,102,4 script Tester NPC 100,{
-// mes "[TEST]";
-// mes "want to take the dancing test?";
-// next;
-// menu "Yes",Lgo,"No",-;
-// close;
-//Lgo:
-// warp "job_duncer.gat",70,112;
-// initnpctimer "jobDq",1;
-// end;
-//}
+
+
+//= old changelog
+//= 1.1 Removed the warp I left here my accident, added a check for using
+//= Improved Concentration and arrow shower, people could get away with it
+//= [Fredzilla]
+//= 1.0 I tried to keep as much the same from the Jap version as possible
+//= this turned out to be quite hard, but on the whole it is the same script
+//= I have added some new things, and changed some of the used commands,
+//= along with some optimization. [Fredzilla]
+//= 1.5 Added Baby Class Support [Fredzilla]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.1 Script check #1. [Lance]
+//= 2.2 Fixed unpassable part, thx2 Alis [Lupus]
+//= 2.3 Updated initnpctimer to attach player to jobDq script [Skotlex]
+//= 2.4 Attached chrid to be able obtain player's SP on mobs death, optimized a bit [Lupus]