123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920 |
- //===== rAthena Script =======================================
- //= Quests EXP
- //===== Description: =========================================
- //= [Walkthrough Conversion]
- //--- NPC quests related to new dungeons.
- //===== Changelog: ===========================================
- //= 1.0 Initial release of Glast Heim Abyss quests. [OptimusM]
- //= 1.1 Corrections here and there. [Capuche]
- //= 1.2 Initial release of Magma Dungeon 3 quests. [Capuche]
- //= 1.3 Initial release of Einbech Dungeon 3 quests. [Capuche]
- //============================================================
- glast_01,191,273,3 script Magician Nillem#glabyss01 4_M_JOB_WIZARD,{
- if (BaseLevel < 175) {
- mes "[Nillem]";
- mes "What are you doing here?";
- mes "That's right, I'm waiting for a strong adventurer to satisfy my curiosity!";
- next;
- mes "[Nillem]";
- mes "If you reach level 175, you will be my destined opponent-¡Ù";
- close;
- }
- mes "[Nillem]";
- mes "I think I've made a great discovery, so why don't you come with me?";
- next;
- switch( select( "Let's go!", "Please explain it.", "What I found", "Refuse." )) {
- case 1:
- mes "[Nillem]";
- mes "This is my bae!";
- mes "You're gonna jump into the abyss with me! I can't help But L-O-V-E you.";
- close2;
- warp "gl_cas01_",200,26;
- end;
- case 2:
- mes "[Nillem]";
- mes "As you know, I'm a good court wizard, right?";
- mes "A genius wizard who can do this and that on dimension!";
- next;
- mes "[Nillem]";
- mes "There was a report of strange magical power near central castle of Glast Heim.";
- mes "I came here to investigate and found it.";
- next;
- mes "[Nillem]";
- mes "A week crack of dimension!";
- mes "You know, this genius wizard is good at connecting the crack of dimensions.";
- next;
- mes "[Nillem]";
- mes "So I forced the connection and went in....";
- mes "A piece of time that has stopped in the flow.... Hmmm... It's so hard to explain..";
- next;
- mes "[Nillem]";
- mes "Anyway, the flood of creatures trapped for a long time came to me like waves!";
- next;
- mes "[Nillem]";
- mes "I almost D - i - e - d there.";
- mes "So I'm looking for adventurers to join me on this expedition.";
- close;
- case 3:
- mes "[Nillem]";
- mes "Right, there's no mission here, but curiosity follows discovery!";
- mes "You noticed before I told you there were a few things I wanted to do with you, My - Darling -.";
- next;
- switch( select( "An Empty Thing", "A Thing with High Freezing Point", "A Thing Like A Mirror", "Well, I'm okay." )) {
- case 1:
- mes "[Nillem]";
- mes "Beyond the cracks of this dimension, there are Empty Things..";
- mes "^0000FFContaminated Raydric^000000 and ^0000FFContaminated Raydric Archer^000000...";
- mes "Contamination";
- next;
- mes "[Nillem]";
- mes "^0000FF20 Contaminated Raydrics^000000,";
- mes "^0000FF20 Contaminated Raydric Archers^000000!! Defeat them and come back. Then this genius wizard will study it.";
- mes "What do you think, bae?";
- next;
- if (select( "That's not hard.", "I'm busy." ) == 2) {
- mes "[Nillem]";
- mes "If you're busy, you can't help me.";
- mes "But honey, please help me when You - Have - Spare - Time - !";
- close;
- }
- switch( checkquest(8542,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "I asked you too much today, Sweetie.";
- mes "Instead, you're sharing another new discovery tomorrow. O - K - A - Y -?";
- close;
- case 2:
- mes "^4d4dff - You can take this mission again. Speak to Mage Nillem once again to accept it. - ^000000";
- erasequest 8542;
- break;
- }
- switch( checkquest(8541,HUNTING) ) {
- case -1:
- mes "[Nillem]";
- mes "That's my baby!";
- mes "It's hard to see the impact there because of the strange magic.";
- mes "If you finish the quest, let's get out of there first And - Then Check - !";
- setquest 8541;
- close;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "^0000FF20 Contaminated Raydrics^000000,";
- mes "^0000FF20 Contaminated Raydric Archers^000000.";
- mes "Woo-hoo, aren't you excited about the effects of empty things?";
- close;
- case 2:
- mes "[Nillem]";
- mes "Ha~ It's so obvious out here. Could you please show me your... weapon and... armor? Hmm...";
- mes "Hmmm!!";
- mes "Haha, what a discovery of the century!";
- next;
- select( "What do you get?" );
- mes "[Nillem]";
- mes "It's hard to explain to you, but in short, You - Did - it - !!";
- mes "But this isn't enough, so please do it again tomorrow.";
- erasequest 8541;
- setquest 8542;
- getexp 8142552,5674080;
- close;
- }
- end;
- case 2:
- mes "[Nillem]";
- mes "There are things that have a high freezing point beyond the crack of this dimension.";
- mes "^0000FFFrozen Gargoyle^000000 and ^0000FFPrison Breaker^000000...";
- next;
- mes "[Nillem]";
- mes "^0000FF5 Frozen Gargoyles^000000,";
- mes "^0000FF5 Prison Breakers^000000!! Defeat them and come back. Then this genius wizard will study it.";
- mes "What do you think, bae?";
- next;
- if (select( "That's not hard.", "I'm busy." ) == 2) {
- mes "[Nillem]";
- mes "If you're busy, you can't help me.";
- mes "But honey, please help me when You - Have - Spare - Time - !";
- close;
- }
- switch( checkquest(8545,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "I asked you too much today, Sweetie.";
- mes "Instead, you're sharing another new discovery tomorrow. O - K - A - Y -?";
- close;
- case 2:
- mes "^4d4dff - You can take this mission again. Speak to Mage Nillem once again to accept it. - ^000000";
- erasequest 8545;
- break;
- }
- switch( checkquest(8544,HUNTING) ) {
- case -1:
- mes "[Nillem]";
- mes "That's my baby!";
- mes "It's hard to see the impact there because of the strange magic.";
- mes "If you finish the quest, let's get out of there first And - Then Check - !";
- setquest 8544;
- close;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "^0000FF5 Frozen Gargoyles^000000,";
- mes "^0000FF5 Prison Breakers^000000!!";
- mes "Woo-hoo, aren't you excited about Things with High Freezing Point?";
- close;
- case 2:
- mes "[Nillem]";
- mes "Ha~ It's so obvious out here. Could you please show me your... weapon and... armor? Hmm...";
- mes "Hmmm!!";
- mes "Haha, what a discovery of the century!";
- next;
- select( "What do you get?" );
- mes "[Nillem]";
- mes "It's hard to explain to you, but in short, You - Did - it - !!";
- mes "But this isn't enough, so please do it again tomorrow.";
- erasequest 8544;
- setquest 8545;
- getexp 2036754,1425726;
- close;
- }
- end;
- case 3:
- mes "[Nillem]";
- mes "Beyond the crack of this dimension, there are mirrors of each other.";
- mes "^0000FFIce Ghost^000000 and ^0000FFFlame Ghost^000000...";
- mes "It looks completely different, but the crack of dimensions is very unknown.";
- next;
- mes "[Nillem]";
- mes "^0000FF10 Ice Ghosts^000000,";
- mes "^0000FF10 Flame Ghosts^000000!! Defeat them and come back. Then this genius wizard will study it.";
- mes "What do you think, bae?";
- next;
- if (select( "That's not hard.", "I'm busy." ) == 2) {
- mes "[Nillem]";
- mes "If you're busy, you can't help me.";
- mes "But honey, please help me when You - Have - Spare - Time - !";
- close;
- }
- switch( checkquest(8548,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "I asked you too much today, Sweetie.";
- mes "Instead, you're sharing another new discovery tomorrow. O - K - A - Y -?";
- close;
- case 2:
- mes "^4d4dff - You can take this mission again. Speak to Mage Nillem once again to accept it. - ^000000";
- erasequest 8548;
- break;
- }
- switch( checkquest(8547,HUNTING) ) {
- case -1:
- mes "[Nillem]";
- mes "That's my baby!";
- mes "It's hard to see the impact there because of the strange magic.";
- mes "If you finish the quest, let's get out of there first And - Then Check - !";
- setquest 8547;
- close;
- case 0:
- case 1:
- mes "[Nillem]";
- mes "^0000FF10 Ice Ghosts^000000,";
- mes "^0000FF10 Flame Ghosts^000000!!";
- mes "Woo-hoo, aren't you excited about Things Like A Mirror?";
- close;
- case 2:
- mes "[Nillem]";
- mes "Ha~ It's so obvious out here. Could you please show me your... weapon and... armor? Hmm...";
- mes "Hmmm!!";
- mes "Haha, what a discovery of the century!";
- next;
- select( "What do you get?" );
- mes "[Nillem]";
- mes "It's hard to explain to you, but in short, You - Did - it - !!";
- mes "But this isn't enough, so please do it again tomorrow.";
- erasequest 8547;
- setquest 8548;
- getexp 4138800,2897160;
- close;
- }
- end;
- case 4:
- mes "[Nillem]";
- mes "There, there. Sweet heart, you are right.";
- mes "If you're tired, take a rest.";
- mes "Do - Not - Push - yourself --- !";
- close;
- }
- end;
- case 4:
- mes "[Nillem]";
- mes "Oh, my sweetheart, you're so mean today.";
- mes "Nillem is saaaad. *Tears*";
- close;
- }
- end;
- OnInit:
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8541,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8544,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8547,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8542,PLAYTIME) == -1 && checkquest(8541,HUNTING) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8545,PLAYTIME) == -1 && checkquest(8544,HUNTING) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8548,PLAYTIME) == -1 && checkquest(8547,HUNTING) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8542,PLAYTIME) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8545,PLAYTIME) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8548,PLAYTIME) == 2" );
- end;
- }
- gl_cas01_,205,36,5 script Magician Nillem#glabyss02 4_M_JOB_WIZARD,{
- mes "[Nillem]";
- mes "Woo-hoo! I'm so excited whenever I come here!";
- mes "I love this bleakness!";
- next;
- if (select( "Let's get out of here!", "I'd like to look around." ) == 2) {
- mes "[Nillem]";
- mes "See you!";
- close;
- }
- mes "[Nillem]";
- mes "Sure!";
- mes "Let's - Go - Out - Side - !";
- close2;
- warp "glast_01",191,270;
- end;
- }
- // mag_dun03
- yuno_fild03,38,146,5 script Lily Blanc -1,{
- if (BaseLevel < 175) {
- mes "[Lily]";
- mes "...?";
- mes "...well, I don't think the guards will let you in...";
- next;
- mes "[Lily]";
- mes "If you are qualified to enter the 3rd floor of Nogg Road, would you accept a quest?";
- mes "We need a lot of work.";
- mes "The guards said level 175 is enough...";
- close;
- }
- mes "[Lily]";
- mes "Friendly adventurer, would you mind helping us with the research for our conference report?";
- mes "Only an adventurer's eye is the only way for us to live.";
- next;
- switch( select( "Listen to the request", "Suspicious...", "Reject" ) ) {
- case 1:
- mes "[Lily]";
- mes "Generous adventurer! Thank you.";
- mes "The request is on the 3rd floor of Nogg Road, a place I can't enter yet, but the conference wants a report...";
- next;
- setarray .@quest_list[1], 8550, 8553, 8556, 8559;
- .@s = select( "Dealer that caused abnormal evolution", "Eradicate the nightmare that became a reality", "Check density", "Small things crumbling", "Next time" );
- if (.@s < 5) {
- .@quest_first = .@quest_list[.@s];
- .@quest_delay = .@quest_first + 1;
- .@quest_daily = .@quest_first + 2;
- callsub( S_CheckDelay, .@quest_delay );
- if (isbegin_quest(.@quest_first) < 2)
- .@quest_ongoing = .@quest_first;
- else
- .@quest_ongoing = .@quest_daily;
- }
- switch( .@s ) {
- case 1:
- switch( checkquest(.@quest_ongoing,HUNTING) ) {
- case -1:
- if (.@quest_ongoing == .@quest_first) {
- mes "[Lily]";
- mes "Our doctor said that monsters change their characteristics and appearance when they live in different places...";
- mes "Dr. and me too... Because combat isn't my major.";
- next;
- mes "[Lily]";
- mes "So here... Let's see.";
- mes "^0000FFThere is a report that the " + getmonsterinfo("DELETER2_H", MOB_NAME) + " and " + getmonsterinfo("DELETER1_H", MOB_NAME) + "^000000 caused abnormal evolution.";
- mes "But I can't even approach them because of their ferocious personality...";
- next;
- }
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFKill 15 " + getmonsterinfo("DELETER1_H", MOB_NAME) + "^000000";
- mes "and 15 ^0000FF" + getmonsterinfo("DELETER2_H", MOB_NAME) + "^000000 and tell me how hard they were.";
- callsub( S_Give, .@quest_ongoing );
- case 0:
- case 1:
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFKill 15 " + getmonsterinfo("DELETER1_H", MOB_NAME) + "^000000";
- mes "and 15 ^0000FF" + getmonsterinfo("DELETER2_H", MOB_NAME) + "^000000 and tell me how hard they were.";
- close;
- case 2:
- mes "[Lily]";
- mes "How was it?";
- mes "How was it different from just an air or ground Deleter?";
- next;
- mes "[Lily]";
- mes "Hmm... are you okay?";
- mes "Hmmmm. Okay";
- callsub( S_SetDelay, .@quest_ongoing, .@quest_first, .@quest_delay, 4852278,3396600 );
- }
- end;
- case 2:
- switch( checkquest(.@quest_ongoing,HUNTING) ) {
- case -1:
- if (.@quest_ongoing == .@quest_first) {
- mes "[Lily]";
- mes "" + getmonsterinfo("NIGHTMARE_TERROR_H", MOB_NAME) + " is a hardened nightmare terror...";
- mes "I've only seen Nightmare terror. Just looking at it made me stiff and unable to move. Although the professor dragged me out...";
- next;
- mes "[Lily]";
- mes "So here... Let's see.";
- }
- else {
- mes "[Lily]";
- }
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFDefeat 10 " + getmonsterinfo("NIGHTMARE_TERROR_H", MOB_NAME) + "^000000 and tell me how hard it is.";
- callsub( S_Give, .@quest_ongoing );
- case 0:
- case 1:
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road";
- mes "^0000FF Defeat 10 " + getmonsterinfo("NIGHTMARE_TERROR_H", MOB_NAME) + "^000000 and tell me how hard it is.";
- close;
- case 2:
- mes "[Lily]";
- mes "How was it?";
- mes "How was it different from just a Nightmare Terror?";
- next;
- mes "[Lily]";
- mes "Huh... Really?";
- mes "What should I do... my God. Is it real?";
- mes "Hmmmm. Okay";
- callsub( S_SetDelay, .@quest_ongoing, .@quest_first, .@quest_delay, 1661868,1163304 );
- }
- end;
- case 3:
- switch( checkquest(.@quest_ongoing,HUNTING) ) {
- case -1:
- if (.@quest_ongoing == .@quest_first) {
- mes "[Lily]";
- mes "I've heard that there is a huge difference in density between a Lava Golem and a " + getmonsterinfo("LAVA_GOLEM_H", MOB_NAME) + ".";
- }
- else {
- mes "[Lily]";
- }
- mes "Haunted on the 3rd floor of Nogg Road";
- mes "^0000FFDefeat 10 " + getmonsterinfo("LAVA_GOLEM_H", MOB_NAME) + "^000000 and tell me the density difference.";
- callsub( S_Give, .@quest_ongoing );
- case 0:
- case 1:
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road";
- mes "^0000FFDefeat 10 " + getmonsterinfo("LAVA_GOLEM_H", MOB_NAME) + "^000000 and tell me the density difference.";
- close;
- case 2:
- mes "[Lily]";
- mes "How was it?";
- mes "How was it different from just a Lava Golem?";
- next;
- mes "[Lily]";
- mes "Um... that's right. The shell...";
- mes "Yes? The soles of the feet? Indeed...";
- mes "Hmmmm. Okay";
- callsub( S_SetDelay, .@quest_ongoing, .@quest_first, .@quest_delay, 1590396,1113275 );
- }
- end;
- case 4:
- switch( checkquest(.@quest_ongoing,HUNTING) ) {
- case -1:
- if (.@quest_ongoing == .@quest_first) {
- mes "[Lily]";
- mes "" + getmonsterinfo("EXPLOSION_H", MOB_NAME) + " and " + getmonsterinfo("BLAZZER_H", MOB_NAME) + " are said to crumble much better than normal Explosion and Blazers.";
- mes "...our professor.";
- next;
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFKill 10 " + getmonsterinfo("EXPLOSION_H", MOB_NAME) + "^000000";
- mes "^0000FFand 10 " + getmonsterinfo("BLAZZER_H", MOB_NAME) + "^000000 and tell them how they feel.";
- mes "You don't have to touch it. You can tell just by looking at it...";
- }
- else {
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFKill 10 " + getmonsterinfo("EXPLOSION_H", MOB_NAME) + "^000000";
- mes "^0000FFand 10 " + getmonsterinfo("BLAZZER_H", MOB_NAME) + "^000000 and tell them how they feel.";
- }
- callsub( S_Give, .@quest_ongoing );
- case 0:
- case 1:
- mes "[Lily]";
- mes "Haunted on the 3rd floor of Nogg Road,";
- mes "^0000FFKill 10 " + getmonsterinfo("EXPLOSION_H", MOB_NAME) + "^000000";
- mes "^0000FFand 10 " + getmonsterinfo("BLAZZER_H", MOB_NAME) + "^000000 and tell them how they feel.";
- close;
- case 2:
- mes "[Lily]";
- mes "How was it?";
- mes "How is it different from just Explosion or Blazer?";
- next;
- mes "[Lily]";
- mes "Um... that's right. Pass...";
- mes "It's much more crumbly...";
- mes "Aha, that's a lot more dust.";
- mes "Hmmmm. Okay";
- callsub( S_SetDelay, .@quest_ongoing, .@quest_first, .@quest_delay, 3251388,2275966 );
- }
- end;
- case 5:
- mes "[Lily]";
- mes "Ah...";
- mes "When will I ever be able to escape from the professor's magic...";
- close;
- }
- end;
- case 2:
- mes "[Lily]";
- mes "As you can see, I'm just an incompetent sage.";
- mes "The professor I'm serving is a bit stubborn... I mean, someone has to investigate.";
- next;
- mes "[Lily]";
- mes "But I am still not allowed to enter the 3rd floor of Nogg Road.";
- mes "How did I get to the entrance and they said they would never let me in.";
- mes "That's right... not a place for sage to fit in.";
- next;
- mes "[Lily]";
- mes "Then what can I do? Why don't all the bards sing only what they see and hear?";
- mes "Some people have heard of this and that, others have told me, so it must be.";
- next;
- mes "[Lily]";
- mes "Don't worry. I'll use the adventurer's name when I report it to the professor...";
- mes "Yes... " + strcharinfo(0) + ".";
- mes "All right.";
- next;
- mes "[Lily]";
- mes "There is a list of monsters that will be research materials, so please check the quests if you are interested.";
- close;
- case 3:
- mes "[Lily]";
- mes "Ah, no...!";
- mes "Generous adventurer, please free me from the professor's magic...!";
- close;
- }
- end;
- S_CheckDelay:
- switch( checkquest(getarg(0),PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Lily]";
- mes "You have already completed today's report.";
- mes "Will you help me with tomorrow's report...?";
- close;
- case 2:
- erasequest getarg(0);
- break;
- }
- return;
- S_Give:
- next;
- if (select( "I accept.", "I'm busy." ) == 2) {
- mes "[Lily]";
- mes "Originally, research is about persistence.";
- mes "Help me when you're not busy.";
- close;
- }
- mes "[Lily]";
- mes "Thank you!";
- mes "I'll be waiting here.";
- setquest getarg(0);
- close;
- S_SetDelay:
- .@quest_ongoing = getarg(0);
- .@quest_first = getarg(1);
- .@quest_delay = getarg(2);
- next;
- mes "[Lily]";
- mes "Thank you for your kind explanation.";
- mes "But I don't think you can understand the whole story by just that. Although this is the beauty of requesting an investigation...";
- mes "I'll ask you again tomorrow.";
- if (.@quest_ongoing == .@quest_first)
- completequest .@quest_ongoing;
- else
- erasequest .@quest_ongoing;
- setquest .@quest_delay;
- getexp getarg(3), getarg(4);
- close;
- OnInit:
- setunitdata getnpcid(0), UNPC_CLASS, JOB_SAGE;
- setunitdata getnpcid(0), UNPC_SEX, SEX_FEMALE;
- setunitdata getnpcid(0), UNPC_HAIRCOLOR, 6;
- setunitdata getnpcid(0), UNPC_HAIRSTYLE, 22;
- setunitdata getnpcid(0), UNPC_HEADTOP, 316;
- // completed first quest
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8550,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8553,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8556,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8559,HUNTING) == 2" );
- // completed daily
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8552,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8555,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8558,HUNTING) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8561,HUNTING) == 2" );
- // timeout
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8551,PLAYTIME) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8554,PLAYTIME) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8557,PLAYTIME) == 2" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8560,PLAYTIME) == 2" );
- // not started first quest
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8550) == 0 && checkquest(8551,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8553) == 0 && checkquest(8553,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8556) == 0 && checkquest(8555,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8559) == 0 && checkquest(8557,PLAYTIME) == -1" );
- // not started daily
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8550) == 2 && isbegin_quest(8552) == 0 && checkquest(8551,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8553) == 2 && isbegin_quest(8555) == 0 && checkquest(8554,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8556) == 2 && isbegin_quest(8558) == 0 && checkquest(8557,PLAYTIME) == -1" );
- questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8559) == 2 && isbegin_quest(8561) == 0 && checkquest(8560,PLAYTIME) == -1" );
- end;
- }
- // ein_dun03
- einbech,143,244,3 script Apprentice Researcher Sally#extdq01 4_F_LGTGIRL,{
- if (BaseLevel < 180) {
- mes "[Sally]";
- mes "Hello, adventurer!";
- mes "Please introduce me to a talented adventurer!";
- mes "A very, very important matter on which my job is at stake..!";
- next;
- mes "^4d4dffThere are quests over 180 Lv.^000000";
- close;
- }
- if (checkquest(7879,HUNTING) == 2) {
- mes "[Sally]";
- mes "We were able to collect enough data for " + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "!";
- erasequest 7879;
- setquest 7880;
- getexp 27512240,19258560;
- next;
- }
- if (checkquest(7881,HUNTING) == 2) {
- mes "[Sally]";
- mes "I have collected enough data for " + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "!";
- erasequest 7881;
- setquest 7882;
- getexp 27836640,19485600;
- next;
- }
- if (checkquest(7883,HUNTING) == 2) {
- mes "[Sally]";
- mes "The data for " + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + " are as follows. It was very helpful.";
- erasequest 7883;
- setquest 7884;
- getexp 27838400,19486880;
- next;
- }
- if (checkquest(7885,HUNTING) == 2) {
- mes "[Sally]";
- mes "" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "'s data is always amazing.";
- erasequest 7885;
- setquest 7886;
- getexp 6938800,4857160;
- next;
- }
- if (checkquest(7887,HUNTING) == 2) {
- mes "[Sally]";
- mes "You have successfully obtained " + getmonsterinfo("JEWELIANT", MOB_NAME) + " and " + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " data!";
- erasequest 7887;
- setquest 7888;
- getexp 13854240,9697960;
- next;
- }
- mes "[Sally]";
- mes "When will this poor apprenticeship end?";
- next;
- mes "[Sally]";
- mes "I am desperately looking for help from a talented adventurer.";
- mes "Just like you!";
- mes "Would you like to help protect this poor trainee researcher's job?";
- next;
- switch( select( "New Poison Research", "Special Mineral Research 1", "Special Mineral Research 2", "Abyssman Research", "Mineworm Research", "Why are you doing this?" ) ) {
- case 1:
- switch( checkquest(7880,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Sally]";
- mes "Um, don't overdo it.";
- mes "Opportunities always come.";
- close;
- case 2:
- erasequest 7880;
- break;
- }
- switch( checkquest(7879,HUNTING) ) {
- case -1:
- mes "[Sally]";
- mes "I need data to research the poison gas monster newly discovered in the Einbech Mine Dungeon.";
- mes "It is difficult to deal with the monsters occupying the mines with the manpower here, so we have to deal with both.";
- next;
- mes "[Sally]";
- mes "I'm collecting data while the adventurer is fighting ^4d4dff" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "^000000.";
- mes "Isn't it a good deal?";
- next;
- if (select( "Received a request", "Rejected" ) == 2) {
- mes "[Sally]";
- mes "It's ok.";
- mes "The world is wide and there are many adventurers.";
- close;
- }
- mes "[Sally]";
- mes "Then please take care of the ^4d4dff" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!";
- setquest 7879;
- close;
- case 0:
- case 1:
- mes "[Sally]";
- mes "" + getmonsterinfo("POISONOUS", MOB_NAME) + " and " + getmonsterinfo("TOXIOUS", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon.";
- mes "They're hard for ordinary people like me to deal with, so I'll have to hide and watch you do the work then collect data.";
- close;
- case 2:
- end;
- }
- end;
- case 2:
- switch( checkquest(7882,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Sally]";
- mes "Um, don't overdo it.";
- mes "Opportunities always come.";
- close;
- case 2:
- erasequest 7882;
- break;
- }
- switch( checkquest(7881,HUNTING) ) {
- case -1:
- mes "[Sally]";
- mes "There are several types of Minerals. The Minerals we want to investigate this time are ^4d4dff" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "^000000.";
- mes "Let's collect the data needed for research while controlling the number of individuals!";
- next;
- if (select( "Received a request", "Rejected" ) == 2) {
- mes "[Sally]";
- mes "It's ok.";
- mes "The world is wide and there are many adventurers.";
- close;
- }
- mes "[Sally]";
- mes "Then please take care of the ^4d4dff" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech mine dungeon^000000!";
- setquest 7881;
- close;
- case 0:
- case 1:
- mes "[Sally]";
- mes "" + getmonsterinfo("MINERAL_G", MOB_NAME) + " and " + getmonsterinfo("MINERAL_R", MOB_NAME) + " are found here on the 3rd floor of the Einbech Mine Dungeon.";
- mes "Be careful, they are dangerous.";
- close;
- case 2:
- end;
- }
- end;
- case 3:
- switch( checkquest(7884,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Sally]";
- mes "Um, don't overdo it.";
- mes "Opportunities always come.";
- close;
- case 2:
- erasequest 7884;
- break;
- }
- switch( checkquest(7883,HUNTING) ) {
- case -1:
- mes "[Sally]";
- mes "There are several types of Minerals. The Minerals we want to investigate this time are ^4d4dff" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + "s^000000.";
- mes "Let's collect the data needed for research while controlling the number of individuals!";
- next;
- if (select( "Received a request", "Rejected" ) == 2) {
- mes "[Sally]";
- mes "It's ok.";
- mes "The world is wide and there are many adventurers.";
- close;
- }
- mes "[Sally]";
- mes "Then please take care of the ^4d4dff" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + "^000000 that appear on the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!";
- setquest 7883;
- close;
- case 0:
- case 1:
- mes "[Sally]";
- mes "" + getmonsterinfo("MINERAL_W", MOB_NAME) + " and " + getmonsterinfo("MINERAL_P", MOB_NAME) + " are found here on the 3rd floor of the Einbech Mine Dungeon.";
- mes "Be careful, they are dangerous.";
- close;
- case 2:
- end;
- }
- end;
- case 4:
- switch( checkquest(7886,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Sally]";
- mes "Um, don't overdo it.";
- mes "Opportunities always come.";
- close;
- case 2:
- erasequest 7886;
- break;
- }
- switch( checkquest(7885,HUNTING) ) {
- case -1:
- mes "[Sally]";
- mes "If you look into an abyss, it is said that the abyss is eaten, not meowed.";
- mes "I think the popular name " + getmonsterinfo("ABYSSMAN", MOB_NAME) + " is also like that.";
- mes "So we need data from ^4d4dff" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "^000000.";
- next;
- if (select( "Received a request", "Rejected" ) == 2) {
- mes "[Sally]";
- mes "It's ok.";
- mes "The world is wide and there are many adventurers.";
- close;
- }
- mes "[Sally]";
- mes "Then, please take care of the ^4d4dff" + getmonsterinfo("ABYSSMAN", MOB_NAME) + "^000000 who appear in the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!";
- setquest 7885;
- close;
- case 0:
- case 1:
- mes "[Sally]";
- mes "The " + getmonsterinfo("ABYSSMAN", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon.";
- mes "Be careful, they are dangerous.";
- close;
- case 2:
- end;
- }
- end;
- case 5:
- switch( checkquest(7888,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Sally]";
- mes "Um, don't overdo it.";
- mes "Opportunities always come.";
- close;
- case 2:
- erasequest 7888;
- break;
- }
- switch( checkquest(7887,HUNTING) ) {
- case -1:
- mes "[Sally]";
- mes "Specialized insects live in dark places like dungeons.";
- mes "The data to be collected this time are ^4d4dff" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + "^000000, also known as Mineworms.";
- mes "Is it very different from the normal Porcellio?";
- next;
- if (select( "Received a request", "Rejected" ) == 2) {
- mes "[Sally]";
- mes "It's ok.";
- mes "The world is wide and there are many adventurers.";
- close;
- }
- mes "[Sally]";
- mes "Then, please take care of the ^4d4dff" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + "^000000 who appear in the ^4d4dff3rd floor of the Einbech Mine Dungeon^000000!";
- setquest 7887;
- close;
- case 0:
- case 1:
- mes "[Sally]";
- mes "" + getmonsterinfo("PORCELLIO_W", MOB_NAME) + " and " + getmonsterinfo("JEWELIANT", MOB_NAME) + " are here on the 3rd floor of the Einbech Mine Dungeon.";
- mes "Be careful, they are dangerous.";
- close;
- case 2:
- end;
- }
- end;
- case 6:
- mes "[Sally]";
- mes "Um? That's to be a full-time employee!";
- mes "Not long ago, I joined Regenschrum as a trainee researcher, but this is what I was appointed for.";
- mes "It's about collecting data on mining monsters, so my evaluation depends on that.";
- next;
- mes "[Sally]";
- mes "And there were constant complaints from the headquarters asking what to do with the mine monsters.";
- mes "While collecting data, it also regulates the number of individuals. This evaluation is a win-win, a win-win!";
- close;
- }
- end;
- OnInit:
- // completed
- questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7879,HUNTING) == 2" );
- questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7881,HUNTING) == 2" );
- questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7883,HUNTING) == 2" );
- questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7885,HUNTING) == 2" );
- questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(7887,HUNTING) == 2" );
- // timeout
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7880,PLAYTIME) == 2" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7882,PLAYTIME) == 2" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7884,PLAYTIME) == 2" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7886,PLAYTIME) == 2" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(7888,PLAYTIME) == 2" );
- // not started
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7879) == 0 && checkquest(7880,PLAYTIME) == -1" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7881) == 0 && checkquest(7882,PLAYTIME) == -1" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7883) == 0 && checkquest(7884,PLAYTIME) == -1" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7885) == 0 && checkquest(7886,PLAYTIME) == -1" );
- questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 180 && isbegin_quest(7887) == 0 && checkquest(7888,PLAYTIME) == -1" );
- end;
- }
- einbech,156,243,3 script Need help#exsk 1_M_SMITH,{
- mes "[Olive]";
- mes "The orders keep pouring in, and everyone who works there is running away... It's a big deal, a big deal.";
- close;
- }
- einbech,154,244,5 script Need help#exsk_ 4_F_JOB_BLACKSMITH,{
- mes "[Atri]";
- mes "After all, it would be faster for me to learn the sword! I've only been picking a pickaxe for 10 years, so I'll learn it soon.";
- close;
- }
|