12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400 |
- //===== eAthena Script =======================================
- //= Dancer Job Quest
- //===== By: ==================================================
- //= Kalen - Original jAthena
- //= Fredzilla - Converted, Lupus
- //===== Current Version: =====================================
- //= 3.7
- //===== Compatible With: =====================================
- //= eAthena SVN
- //===== Description: =========================================
- //= [Aegis Conversion]
- //= Job quest for Dancer classes
- //===== Additional Comments: =================================
- //= 3.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
- //= No longer uses function "F_BlockHigh"
- //= 3.2a Deleted unused variables. [Samuray22]
- //= 3.3 Updated waiting room. (Removes global var) [L0ne_W0lf]
- //= 3.4 Fixed bad variables, bugreport:1685 [Brainstorm]
- //= 3.5 Minor corrections to script. (bugreport:1766) [L0ne_W0lf]
- //= 3.6 Applied Correction bug with for loop. [L0ne_W0lf]
- //= 3.6a Fixed a little Exploit to bug the quest with a timeout. (bugreport:2252) [Samuray22]
- //= 3.7 Added Quest Log commands. [Kisuka]
- //============================================================
- comodo,180,153,4 script Sonotora#1 90,{
- mes "[Athena Sonotora]";
- mes "They say the";
- mes "famous dance school";
- mes "here in Comodo is going";
- mes "to open soon.";
- next;
- mes "[Athena Sonotora]";
- mes "Aah...";
- mes "To be a prima donna";
- mes "in the spotlight!";
- next;
- mes "[Athena Sonotora]";
- mes "I want to sign up too,";
- mes "but the requirements are";
- mes "so specific. I wonder if";
- mes "I should just try anyways...";
- close;
- }
- comodo,193,151,4 script Bor Robin#1 86,{
- mes "[Bor Robin]";
- mes "Aah....";
- mes "A prima donna";
- mes "in the spotlight!";
- mes "I'll be able to watch them become Dancers right before my eyes...!";
- next;
- mes "[Bor Robin]";
- mes "It's great to be";
- mes "a man in this day and age! Hurray for the Comodo Theater!";
- next;
- mes "[Bor Robin]";
- mes "Mm?";
- mes "You want";
- mes "to go, too?";
- mes "It's a good opportunity to watch the Dancer job change test.";
- next;
- if (select("Go to the Job Change Area:Cancel") == 1) {
- mes "[Bor Robin]";
- mes "Yaay~~";
- mes "Let's go!";
- close2;
- warp "job_duncer",70,49;
- end;
- }
- mes "[Bor Robin]";
- mes "Huh...";
- mes "Well, I can't";
- mes "help it if you don't";
- mes "want to accompany me.";
- close;
- }
- job_duncer,43,93,4 script Aile#da 724,{
- if (Upper == 1) {
- mes "[Aile]";
- mes "One two three four,";
- mes "Two two three four,";
- mes "three four, three four,";
- mes "one two three four.";
- mes "Um?";
- next;
- mes "[Aile]";
- mes "I'm sorry, but you're interrupting my practice by looking at me funny.";
- next;
- mes "[Aile]";
- mes ".......";
- mes ".....Hey, haven't I seen you before?";
- next;
- mes "[Aile]";
- mes "Err...";
- mes "That's weird, I can't remember where I've seen you.";
- close2;
- cutin "",255;
- end;
- }
- if (BaseJob != Job_Archer) {
- if (BaseJob == Job_Bard) {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Welcome~!";
- mes "Let me know";
- mes "if you have any new songs. We can always use some new music to complement our performances.";
- close2;
- cutin "",255;
- end;
- }
- else if (BaseJob == Job_Dancer) {
- cutin "",2;
- mes "[Aile]";
- mes "Welcome~!";
- mes "How are you";
- mes "these days?";
- mes "Do many people enjoy";
- mes "your performances?";
- close2;
- cutin "",255;
- end;
- }
- cutin "job_dancer_eir03",2;
- mes "[Aile]";
- mes "Welco--Mmm?";
- mes "Hey, only authorized personnel can come here. Not just anyone can enter the Dance School.";
- next;
- mes "[Aile]";
- mes "If you want to watch, why don't you go to the Dance Stage in town?";
- close2;
- cutin "",255;
- end;
- }
- if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Welcome~!";
- mes "This is the";
- mes "'Comodo Dance School,'";
- mes "where we teach various dances from different countries. We provide entertainement for travelers from all over the world.";
- next;
- mes "[Aile]";
- mes "We also provide the opportunity for aspiring Dancers to become famous throughout the Rune-Midgarts Kingdom! Doesn't dancing in the spotlight sound spectacular?";
- next;
- mes "[Aile]";
- mes "I think it's fair to let you know that our school is selective. So we don't accept students who don't seem to have the talent to become Dancers.";
- next;
- cutin "job_dancer_eir02",2;
- mes "[Aile]";
- mes "What do you think?";
- mes "Do you want to sign up? You only have to write a couple of things on the application, and you can just come to the lessons once or twice and try it out.";
- next;
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "So what do";
- mes "you want to do~?";
- next;
- if (select("Fill out the application.:I'll pass.") == 1) {
- if (JobLevel > 39) {
- cutin "job_dancer_eir02",2;
- mes "[Aile]";
- mes "Good choice!!";
- mes "Just fill out the application right there.";
- next;
- mes "...";
- next;
- mes "...";
- mes "......";
- next;
- mes "^3355FF*Shuffle Shuffle*^000000";
- next;
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Your name is";
- mes "" + strcharinfo(0) + "?";
- mes "Wow! What a pretty name! Just a moment, I have to show this to the director, so come back in a little bit, okay?";
- close2;
- cutin "",255;
- set DANC_Q,1;
- setquest 7000;
- end;
- }
- else {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Mmm...";
- mes "It seems that";
- mes "you aren't quite qualified to enroll in our school yet. You need to be at least Job Level 40.";
- next;
- mes "[Aile]";
- mes "Well, I hope";
- mes "that you apply";
- mes "again when you meet";
- mes "the requirements.";
- close2;
- cutin "",255;
- end;
- }
- }
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Aww~";
- mes "Just think about it.";
- mes "Don't forget to come back";
- mes "if you change your mind.";
- close2;
- cutin "",255;
- end;
- }
- else if (sex == 1) {
- cutin "job_dancer_eir03",2;
- mes "[Aile]";
- mes "Welco--Mmm?";
- mes "Hey, this place is only for authorized personnel. If you want to sing, you should go look into being a Bard.";
- next;
- mes "[Aile]";
- mes "Not all Archers";
- mes "can become Dancers.";
- mes "At least, not without some sort of sex change~";
- close2;
- cutin "",255;
- end;
- }
- else if (DANC_Q == 1) {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Good.";
- mes "Since you signed up earlier, I'll let you know some things you'll need to bring for your lessons.";
- next;
- mes "[Aile]";
- mes "We're short on some supplies, but you'll be using them for yourself anyway. Just think of it as part of the tuition, so don't worry too much.";
- next;
- set .@item_nd,rand(1,10);
- if (.@item_nd > 0 && .@item_nd < 3) {
- set DANC_Q,2;
- changequest 7000,7001;
- mes "[Aile]";
- mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, you'll about ^CD688920 Sticky Mucus^000000 for shoe polish.";
- next;
- mes "[Aile]";
- mes "Then, bring ^CD68893 Jellopy^000000 and ^CD68895 Red Potions^000000 to use as ointment. And of course, you'll need a pair of ^CD6889Shoes^000000.";
- next;
- mes "[Aile]";
- mes "Once again, that's";
- mes "^CD688910,000 Zeny^000000,";
- mes "^CD688920 Sticky Mucus^000000,";
- mes "^CD68893 Jellopy^000000,";
- mes "^CD68895 Red Potions^000000 and";
- mes "^CD68891 Shoes^000000.";
- }
- else if (.@item_nd == 4) {
- set DANC_Q,3;
- changequest 7000,7002;
- mes "[Aile]";
- mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68895 Earthworm Peelings^000000 for polishing the floor and, of course, a pair of ^CD6889Boots^000000.";
- next;
- mes "[Aile]";
- mes "Once again that's";
- mes "^CD688910,000 Zeny^000000,";
- mes "^CD68895 Earthworm Peelings^000000 and ";
- mes "^CD68891 Boots^000000.";
- }
- else {
- set DANC_Q,4;
- changequest 7000,7003;
- mes "[Aile]";
- mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68892 Clam Shells^000000 for your costume, ^CD68895 Yellow Potions^000000 and ^CD688920 Jellopy^000000 to treat foot injuries.";
- next;
- mes "[Aile]";
- mes "You'll also need to bring ^CD688910 Black Hairs^000000 to make wigs for the performances and, of course, a pair of ^CD6889Sandals^000000. Once again, that's...";
- next;
- mes "[Aile]";
- mes "^CD688910,000 Zeny^000000,";
- mes "^CD68892 Clam Shells^000000,";
- mes "^CD68895 Yellow Potions^000000,";
- mes "^CD688920 Jellopy^000000,";
- mes "^CD688910 Black Hairs^000000 and";
- mes "^CD6889Sandals^000000.";
- }
- next;
- mes "[Aile]";
- mes "Once you've gathered everything that you need, come back so that we can begin the lessons, okay?";
- close2;
- cutin "",255;
- end;
- }
- else if (DANC_Q >= 2 && DANC_Q <= 4) {
- switch(DANC_Q) {
- case 2:
- setarray .@item[0], 938,909,501,2403;
- setarray .@count[0], 20,3,5,1;
- break;
- case 3:
- setarray .@item[0], 1055,2405;
- setarray .@count[0], 5,1;
- break;
- case 4:
- setarray .@item[0], 965,503,909,1020,2401;
- setarray .@count[0], 2,5,20,10,1;
- break;
- }
- set .@size, getarraysize(.@item);
- for( set .@i, 0; .@i < .@size; set .@i,.@i+1 ) {
- if( countitem(.@item[.@i]) < .@count[.@i] ) {
- break;
- }
- }
- if( .@i == .@size && Zeny > 9999 ) {
- cutin "job_dancer_eir02",2;
- mes "[Aile]";
- mes "Oh...!";
- mes "You brought";
- mes "everything!";
- mes "Alright then,";
- mes "let me take your";
- mes "tuition fee.";
- next;
- cutin "job_dancer_eir01",2;
- set zeny,zeny-10000;
- mes "[Aile]";
- mes "Next, go to ^CD6889Bijou^000000, who is in charge of the interviewing process. She will have a couple of things she'll need to ask you.";
- set DANC_Q,5;
- if(checkquest(7001) != -1) {
- changequest 7001,7004;
- }
- else if(checkquest(7002) != -1) {
- changequest 7002,7004;
- }
- else {
- changequest 7003,7004;
- }
- close2;
- cutin "",255;
- end;
- }
- else {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Mmm...?";
- mes "You don't have";
- mes "everything yet?";
- mes "Let me remind you";
- mes "so you can bring";
- mes "what you need next time.";
- next;
- mes "[Aile]";
- mes "Bring...";
- mes "^CD688910,000 Zeny^000000,";
- if (DANC_Q == 2) {
- mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,";
- mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,";
- mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000 and";
- mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000.";
- }
- else if (DANC_Q == 3) {
- mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000 and";
- mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000.";
- }
- else {
- mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,";
- mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,";
- mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000,";
- mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000 and";
- mes "^CD6889"+.@count[4]+" "+getitemname(.@item[4])+"^000000.";
- }
- close2;
- cutin "",255;
- end;
- }
- }
- else if (DANC_Q == 5) {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "Hmm...?";
- mes "Are you having";
- mes "trouble finding";
- mes "^CD6889Bijou^000000?";
- next;
- mes "[Aile]";
- mes "You need to talk to her because she's in charge of the interviewing process. Don't worry, she should be somewhere here in the Dance School.";
- close2;
- cutin "",255;
- end;
- }
- else if (DANC_Q > 5) {
- cutin "job_dancer_eir01",2;
- mes "[Aile]";
- mes "I'll be looking";
- mes "forward to a great";
- mes "performance~";
- close2;
- cutin "",255;
- end;
- }
- else {
- cutin "job_dancer_eir03",2;
- mes "[Aile]";
- mes "Welcom--Hm?";
- mes "Hey, only authorized";
- mes "personnel are allowed";
- mes "in here.";
- next;
- mes "[Aile]";
- mes "If you want to watch, be quiet and don't disturb the performers. Everyone here is busy practicing so that they can become fine Dancers.";
- close2;
- cutin "",255;
- end;
- }
- }
- job_duncer,95,93,4 script Bijou#da 101,{
- if (SkillPoint) {
- mes "[Bijou]";
- mes "You can't change jobs";
- mes "if you still have skill";
- mes "points left. Use the rest";
- mes "and come back later.";
- close;
- }
- if (BaseJob != Job_Archer) {
- if (BaseJob == Job_Bard) {
- mes "[Bijou]";
- mes "Welcome~";
- mes "Ooh, a Bard! Do you have any new songs to show us? We can always use some musical accompaniment for our dances.";
- close;
- }
- else if (BaseJob == Job_Dancer) {
- mes "[Bijou]";
- mes "Oh my...!";
- mes "Welcome back~";
- next;
- mes "[Bijou]";
- mes "How are you";
- mes "these days?";
- mes "A lot of people";
- mes "must love watching";
- mes "you dance. Are you";
- mes "enjoying the spotlight?";
- close;
- }
- mes "[Bijou]";
- mes "Oh dear~";
- mes "You seem to have traveled quite a distance to watch me perform.";
- next;
- mes "[Bijou]";
- mes "I'm sorry, but I've retired. Now I'm focusing on training new Dancers. If you go to the Center Stage, you can watch my students~";
- close;
- }
- else if (DANC_Q < 5) {
- mes "[Bijou]";
- mes "Oh my~";
- mes "You want to";
- mes "become a Dancer,";
- mes "don't you?";
- next;
- mes "[Bijou]";
- mes "I know you're excited, but the first step is the application. Go over to the left side of the stage where Aile can help you with that.";
- close;
- }
- else if (DANC_Q > 4 && DANC_Q < 7) {
- if (DANC_Q == 5) {
- mes "[Bijou]";
- mes "Oh my~";
- mes "You want to";
- mes "become a Dancer,";
- mes "don't you?";
- next;
- mes "[Bijou]";
- mes "G-goodness!";
- mes "Look at that stomach fat!";
- mes "Well, it's not much, so you'll lose it in no time. Especially since I'll be handling your training~";
- next;
- mes "[Bijou]";
- mes "Still...";
- mes "The idea of the";
- mes "perfect body sure";
- mes "has changed since";
- mes "I was young. Anyway...";
- next;
- mes "[Bijou]";
- mes "Let's start";
- mes "with the interview.";
- mes "I'm only going to ask";
- mes "a couple of simple things";
- mes "so don't worry~";
- next;
- mes "[Bijou]";
- mes "Okay...";
- mes "Let's begin.";
- next;
- }
- else {
- mes "[Bijou]";
- mes "Oh, you're back~";
- mes "Have you studied";
- mes "some more? Try to";
- mes "pass this time, okay?";
- next;
- }
- switch(rand(1,3)) {
- case 1:
- mes "[Bijou]";
- mes "1. The Dancer's dance, ^CD6889Lady Luck^000000,";
- mes "increases which of the following?";
- next;
- if (select("Intelligence (INT):Dexterity (DEX):Vitality (VIT):Critical Attack Rate") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "2. Of the following,";
- mes "which can you not consider";
- mes "to be a dance?";
- next;
- switch(select("Tango:Tap Dance:HIP-HOP:Hip Shaker:Lightning Bolt")) {
- default:
- set .@da_score,.@da_score-10;
- break;
- case 5:
- set .@da_score,.@da_score+10;
- break;
- }
- mes "[Bijou]";
- mes "3. Which of the following";
- mes "best describes a Dancer?";
- next;
- if (select("Person who yells.:A loud person.:A person who dances.:A person who sings.") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "4. Which of the following";
- mes "cannot be associated with Comodo?";
- next;
- if (select("Beach city.:Dancer Job Change.:Always dark like the night.:Dungeons in 3 directions.:A lot of Thieves.") == 5)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "5. Before Comodo, what is the region name of the region NorthEast of Pharoah's Lighthouse Island?";
- next;
- if (select("Elmeth Plateau:Comuko Beach:Comodo Beach:Ginai Swamp") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "6. Who is the most";
- mes "beautiful dancer?";
- next;
- switch(select("" + strcharinfo(0) + ":Bijou:Aile:Bonjour")) {
- case 1:
- mes "[Bijou]";
- mes "...";
- mes "That's...";
- mes "^660000completely wrong^000000.";
- mes "Didn't you see the";
- mes "other choices?!";
- mes "Minus points...!";
- set .@da_score,.@da_score-10;
- next;
- break;
- case 2:
- set .@da_score,.@da_score+10;
- break;
- default:
- break;
- }
- mes "[Bijou]";
- mes "7. Of the following,";
- mes "who can perform together";
- mes "with a Dancer?";
- next;
- if (select("Assassin:Bard:Alchemist:Sage") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "8. Which of the following";
- mes "is not a specialty of Comodo?";
- next;
- if (select("Berserk Potion:Clam Shell:Crab Shell:Shining Stone") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "9. Who is the manager";
- mes "of the Comodo Casino?";
- next;
- if (select("Yoo:Moo:Hoon:Roul") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "10. Who accepts the";
- mes "Dancer job change";
- mes "applications?";
- next;
- if (select("Bijou:Aile:Athena:Sonotora") == 2)
- set .@da_score,.@da_score+10;
- break;
- case 2:
- mes "[Bijou]";
- mes "1. What is the effect";
- mes "of the combined skill,";
- mes "^CD6889Mental Sensing^000000?";
- next;
- if (select("Instant monster death.:Doubles damage.:Increases experience.:Increases attack speed.") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "2. Which is considered";
- mes "bad etiquette on the dance";
- mes "floor after a dance?";
- next;
- if (select("Thank your partner.:Praise your partner's dance.:Ask to dance a different dance.:Criticize your partner.") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "3. Which is not an";
- mes "appropriate response";
- mes "when someone makes";
- mes "a mistake while you";
- mes "are dancing together?";
- next;
- if (select("Smile at each other and continue dancing.:Point out the mistake.:Ignore it if the dancer does not realize it.:Give them a smile.") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "4. In which town";
- mes "can you change jobs";
- mes "to a Dancer?";
- next;
- if (select("Cocomo:Sandarman:Comudo:Comodo") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "5. How many dungeons";
- mes "are directly connected";
- mes "to Comodo?";
- next;
- if (select("1:2:3:4") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "6. Which of the following";
- mes "is not a Cute Pet monster?";
- next;
- if (select("Isis:Argiope:Dokebi:Deviruchi") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "7. Who is the most";
- mes "graceful dancer?";
- next;
- switch(select("" + strcharinfo(0) + ":Bijou:Isis:Mercy Bokou")) {
- case 1:
- mes "[Bijou]";
- mes "...";
- mes "That's...";
- mes "^660000completely wrong^000000.";
- mes "Didn't you see the";
- mes "other choices?!";
- mes "Minus points...!";
- set .@da_score,.@da_score-10;
- next;
- break;
- case 2:
- set .@da_score,.@da_score+10;
- break;
- default:
- break;
- }
- mes "[Bijou]";
- mes "8. What is the";
- mes "exact name of the";
- mes "Kafra in Comodo?";
- next;
- if (select("Kafra Headquarters:Kafra West Headquarters:Kafra Service:Kafra Headquarters: Western Branch") == 4)
- set .@da_score,.@da_score+10;
- mes "[......]";
- mes "9. What is my name?";
- next;
- if (select("Borjuis:Bourgeois:Bijou:Beruberu") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "10. What is the";
- mes "effect of ^CD6889Lullaby^000000?";
- next;
- if (select("Casts the Blind effect in the area.:Casts the Sleep effect on the area.:Puts a night effect on the area.:Freezes the area.") == 2)
- set .@da_score,.@da_score+10;
- break;
- case 3:
- mes "[Bijou]";
- mes "1. What is the effect";
- mes "of the skill ^CD6889Dance Lessons^000000?";
- next;
- switch(select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.")) {
- default:
- break;
- case 2:
- case 3:
- set .@da_score,.@da_score+10;
- break;
- }
- mes "[Bijou]";
- mes "2. What dance uses shoes";
- mes "that are designed to make";
- mes "sound as the dancer rolls";
- mes "their feet and taps the";
- mes "ground to create a rhythm?";
- next;
- if (select("Tap Dance:Improve Concentration:Tango:Double Strafing") == 1)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "3. Which of the following";
- mes "is not a characteristic of a Dancer?";
- next;
- if (select("Uses Dance skills. :Attacks from a distance.:Uses Whips.:Uses Two-handed swords.") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "4. Which town has";
- mes "the most Dancers?";
- next;
- if (select("Al De Baran:Juno:Morroc:Comodo") == 4)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "5. Of the following,";
- mes "who dances most beautifully?";
- next;
- switch(select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) {
- case 1:
- mes "[Bijou]";
- mes "...";
- mes "That's...";
- mes "^660000completely wrong^000000.";
- mes "Didn't you see the";
- mes "other choices?!";
- mes "Minus points...!";
- set .@da_score,.@da_score-10;
- next;
- break;
- case 2:
- set .@da_score,.@da_score+10;
- break;
- default:
- break;
- }
- mes "[Bijou]";
- mes "6. What is the Dancer";
- mes "better at than the other";
- mes "job classes?";
- next;
- if (select("Health:Acting :Dancing :Magic ") == 3)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "7. Who is the manager";
- mes "of the Comodo Casino?";
- next;
- if (select("Ryu:Moo:Roul:Hoon") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "8. What item cannot";
- mes "be equipped by a Dancer?";
- next;
- if (select("Kitty Band :Two-handed Sword:Sandals:Earring") == 2)
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "9. Do you think you";
- mes "can say this quiz is";
- mes "frustrating and annoying?";
- next;
- select("Yes:No");
- set .@da_score,.@da_score+10;
- mes "[Bijou]";
- mes "10. Which of the following";
- mes "is not a Jazz musician?";
- next;
- if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5)
- set .@da_score,.@da_score+10;
- }
- mes "[Bijou]";
- mes "Good job~";
- mes "It seems like you";
- mes "answered all the";
- mes "questions~";
- next;
- mes "[Bijou]";
- mes "Let's see...";
- mes "Your score is";
- mes "" + .@da_score + " points...";
- if (.@da_score == 100) {
- set DANC_Q,7;
- mes "Very well done!";
- mes "A perfect score!";
- next;
- mes "[Bijou]";
- mes "There aren't too many people who apply for the Dancer job with this kind of knowledge. I'm sorry for judging you by your looks~";
- next;
- mes "[Bijou]";
- mes "Whew~";
- mes "Now you only have the Dance Test. While we prepare the test, why don't you rest a bit? Ho ho ho~";
- close;
- }
- else if (.@da_score > 70) {
- set DANC_Q,7;
- mes "It wasn't perfect, but I'll let you pass.";
- close;
- }
- else {
- set DANC_Q,6;
- mes "You.. You failed!";
- next;
- mes "[Bijou]";
- mes "Was it too hard?";
- mes "When I was young, everyone knew at least enough to pass this test. Go and study some more before coming back, okay?";
- close;
- }
- }
- else if (DANC_Q == 7) {
- mes "[Bijou]";
- mes "Okay...";
- mes "Are you ready";
- mes "for the Dance Test?";
- mes "If you like, I can";
- mes "explain the instructions.";
- next;
- if (select("Listen to instructions.:Go to the testing area.") == 1) {
- mes "[Bijou]";
- mes "First of all, each person gets ^CD68891 minute^000000 for the test, and everyone dances ^CD6889one at a time^000000. Don't worry if you've never danced before~";
- next;
- mes "[Bijou]";
- mes "Once you enter the testing area, you will see the stage. First, ^CD6889change your camera angle so that it faces forward^000000. It will probably work if you ^CD6889double-click on the right mouse button^000000.";
- next;
- mes "[Bijou]";
- mes "If you don't reset your camera angle, you may get the ^CD6889Up, Down, Left, Right^000000 commands confused.";
- next;
- mes "[Bijou]";
- mes "Wait for your turn in the ^CD6889waiting room^000000. If the person in front of you fails, or if it's your turn in line, your test will begin.";
- next;
- mes "[Bijou]";
- mes "If there are a lot of people, not everyone might fit in the waiting room. If that's the case, just create an orderly line~";
- next;
- mes "[Bijou]";
- mes "When the test begins, the music will be broadcast, as well as the direction in which you should move. Just follow the instructions and move your legs.";
- next;
- mes "[Bijou]";
- mes "Remember, ^CD6889you will be disqualified if you don't perform the steps with the right timing^000000. Be careful, the test is very strict~";
- close;
- }
- mes "[Bijou]";
- mes "Well then~";
- mes "Good luck...!!";
- changequest 7004,7005;
- set DANC_Q,8;
- close2;
- warp "job_duncer",105,109;
- end;
- }
- else if (DANC_Q == 8) {
- mes "[Bijou]";
- mes "Oh my...";
- mes "Did you";
- mes "fail last time?";
- mes "Don't worry, just";
- mes "try to feel the rhythm~";
- close2;
- warp "job_duncer",105,109;
- end;
- }
- else if (DANC_Q == 9) {
- if (SkillPoint) {
- mes "[Bijou]";
- mes "You can't change jobs";
- mes "if you still have skill";
- mes "points left. Use the rest";
- mes "and come back later.";
- close;
- }
- mes "[Bijou]";
- mes "Oh my...";
- mes "I saw your";
- mes "dance earlier.";
- mes "You were great!";
- next;
- mes "[Bijou]";
- mes "Your performance shows that you are than qualified to become a Dancer. Well then, let me change your job.";
- next;
- mes "[Bijou]";
- mes "With the blessing of our goddess, you shall be reborn as a Dancer. From now on, no one will leave your presense without a smile~";
- next;
- set .@jlevel,JobLevel;
- mes "[Bijou]";
- completequest 7006;
- callfunc "Job_Change",Job_Dancer;
- callfunc "F_ClearJobVar";
- mes "Ooh...!";
- mes "You look great";
- mes "as a Dancer~";
- mes "Congratulations!";
- next;
- mes "[Bijou]";
- mes "Here's a small";
- mes "gift from me.";
- mes "Please take it.";
- mes "May your performances always bring joy to your audience~";
- if (.@jlevel == 50)
- getitem 1953,1; //Line_
- else
- getitem 1950,1; //Rope
- close;
- }
- }
- // Waiting Room
- //============================================================
- job_duncer,32,154,1 script Waiting Room#dance 66,{
- OnInit:
- waitingroom "Waiting Room",20,"Waiting Room#dance::OnStartArena",1;
- enablewaitingroomevent;
- end;
- OnStartArena:
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- donpcevent "dance#return::OnDisable";
- warpwaitingpc "job_duncer",69,110,1;
- donpcevent "Bijou#dance_timer::OnEnable";
- disablewaitingroomevent;
- end;
- OnEnable:
- enablewaitingroomevent;
- end;
- }
- job_duncer,32,154,1 script Waiting Room#click 66,{
- mes "[Pyorgin]";
- mes "Please wait in";
- mes "the waiting room.";
- mes "Click the Chatroom";
- mes "box to enter.";
- next;
- mes "[Pyorgin]";
- mes "Also, those who";
- mes "are curious about";
- mes "the test can watch";
- mes "backstage.";
- close;
- }
- // Dance Timer
- //============================================================
- job_duncer,69,105,0 script Bijou#dance_timer -1,{
- OnEnable:
- initnpctimer;
- end;
- OnDisable:
- stopnpctimer;
- end;
- OnTimer2000:
- mapannounce "job_duncer","Okay, let's begin. Now relax, the test is 1 minute~",bc_map;
- end;
- OnTimer5000:
- mapannounce "job_duncer"," Up!",bc_map;
- end;
- OnTimer7000:
- disablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer8000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Down!",bc_map;
- end;
- OnTimer11000:
- enablenpc "dance#up";
- disablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer12000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left~!",bc_map;
- end;
- OnTimer15000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- disablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer16000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left, then Right~!",bc_map;
- end;
- OnTimer19000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- disablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer20000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Back to the Center~ !",bc_map;
- end;
- OnTimer23000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- disablenpc "dance#cen";
- end;
- OnTimer23500:
- donpcevent "Backdancer#1::OnSmile";
- mapannounce "job_duncer"," Hold in place... ",bc_map;
- end;
- OnTimer27000:
- donpcevent "Backdancer#1::OnSmile";
- mapannounce "job_duncer"," Hold then 'Improve Concentration!'",bc_map;
- end;
- OnTimer28500:
- mapannounce "job_duncer"," Pay attention! ",bc_map;
- end;
- OnTimer30000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left!",bc_map;
- end;
- OnTimer34000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- disablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer35000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Down!",bc_map;
- end;
- OnTimer38500:
- mapannounce "job_duncer"," Down, then Right~ ",bc_map;
- end;
- OnTimer40000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- disablenpc "dance#right";
- enablenpc "dance#cen";
- mapannounce "job_duncer"," Hold it~",bc_map;
- end;
- OnTimer43000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left, Center, Right, Up!",bc_map;
- end;
- OnTimer49000:
- disablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer50000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Right!",bc_map;
- end;
- OnTimer53000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- disablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer54000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left, Center, Down, Up~! ",bc_map;
- end;
- OnTimer60000:
- disablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer61000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Once again~ Left, Center, Down, Up~ ! ",bc_map;
- end;
- OnTimer66000:
- disablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer67000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Down~!",bc_map;
- end;
- OnTimer69000:
- enablenpc "dance#up";
- disablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer70000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Left!",bc_map;
- end;
- OnTimer74000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- disablenpc "dance#left";
- enablenpc "dance#right";
- enablenpc "dance#cen";
- end;
- OnTimer75000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Center!",bc_map;
- end;
- OnTimer80000:
- enablenpc "dance#up";
- enablenpc "dance#down";
- enablenpc "dance#left";
- enablenpc "dance#right";
- disablenpc "dance#cen";
- end;
- OnTimer81000:
- donpcevent "Backdancer#1::OnSmile";
- disablenpc "dance#up";
- disablenpc "dance#down";
- disablenpc "dance#left";
- disablenpc "dance#right";
- disablenpc "dance#cen";
- mapannounce "job_duncer"," Okay, Finish~ 'Arrow Shower!'",bc_map;
- end;
- OnTimer82000:
- donpcevent "dance#poring::OnEnable";
- end;
- OnTimer89000:
- donpcevent "dance#poring::OnDisable";
- donpcevent "dance#return::OnEnable";
- end;
- }
- job_duncer,69,110,0 script dance#return -1,1,4,{
- OnTouch:
- mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map;
- set DANC_Q,9;
- changequest 7005,7006;
- warp "comodo",188,162;
- end;
- OnDisable:
- disablenpc "dance#return";
- donpcevent "dance#return#2::OnDisable";
- donpcevent "dance#return#3::OnDisable";
- end;
- OnEnable:
- enablenpc "dance#return";
- donpcevent "dance#return#2::OnEnable";
- end;
- }
- job_duncer,66,110,0 script dance#return#2 -1,1,1,{
- OnTouch:
- set DANC_Q,9;
- warp "comodo",188,162;
- end;
- OnDisable:
- disablenpc "dance#return#2";
- end;
- OnEnable:
- enablenpc "dance#return#2";
- donpcevent "dance#return#3::OnEnable";
- end;
- }
- job_duncer,72,110,0 script dance#return#3 -1,1,1,{
- OnTouch:
- set DANC_Q,9;
- warp "comodo",188,162;
- end;
- OnDisable:
- disablenpc "dance#return#3";
- end;
- OnEnable:
- enablenpc "dance#return#3";
- donpcevent "Bijou#dance_timer::OnDisable";
- donpcevent "Waiting Room#dance::OnEnable";
- end;
- }
- // Dance Move Triggers
- //============================================================
- - script dancestep::StepTrigger -1,1,1,{
- OnTouch:
- donpcevent "Backdancer#1::OnOmg";
- mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map;
- set DANC_Q,8;
- donpcevent "Bijou#dance_timer::OnDisable";
- donpcevent "Waiting Room#dance::OnEnable";
- warp "comodo",188,162;
- end;
- }
- job_duncer,69,113,0 duplicate(StepTrigger) dance#up -1,1,1
- job_duncer,69,107,0 duplicate(StepTrigger) dance#down -1,1,1
- job_duncer,66,110,0 duplicate(StepTrigger) dance#left -1,1,1
- job_duncer,72,110,0 duplicate(StepTrigger) dance#right -1,1,1
- job_duncer,69,110,0 duplicate(StepTrigger) dance#cen -1,1,1
- job_duncer,10,10,0 script dance#poring -1,{
- OnEnable:
- monster "job_duncer",69,106,"Poring",1002,1,"dance#poring::OnMyMobDead";
- end;
- OnMyMobDead:
- mapannounce "job_duncer"," Good! Well done! ",bc_map;
- end;
- OnDisable:
- killmonsterall "job_duncer";
- end;
- }
- // Backup Dancers
- //============================================================
- job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{
- end;
- OnSmile:
- Emotion e_no1;
- donpcevent "Backdancer#2::OnSmile";
- donpcevent "Backdancer#3::OnSmile";
- donpcevent "Backdancer#4::OnSmile";
- end;
- OnOmg:
- Emotion e_omg;
- donpcevent "Backdancer#2::OnOmg";
- donpcevent "Backdancer#3::OnOmg";
- donpcevent "Backdancer#4::OnOmg";
- end;
- }
- job_duncer,66,113,4 script Backdancer#2 724,{
- end;
- OnSmile:
- Emotion e_no1;
- end;
- OnOmg:
- Emotion e_omg;
- end;
- }
- job_duncer,72,113,4 script Backdancer#3 724,{
- end;
- OnSmile:
- Emotion e_no1;
- end;
- OnOmg:
- Emotion e_omg;
- end;
- }
- job_duncer,75,110,4 script Backdancer#4 724,{
- end;
- OnSmile:
- Emotion e_no1;
- end;
- OnOmg:
- Emotion e_omg;
- 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]
- //= 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]
- //= 3.1 Implemented JOBLVL as in other quests [Lupus]
|