You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

921 lines
32 KiB
Plaintext

//===== 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;
}