//===== Hercules Script ======================================
//= Eden Group Quests - Mission [91 - 99]
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.3
//===== File Encoding ========================================
//= CP-949 (EUC-KR compatible). Do NOT read/save it as UTF-8.
//===== Description: =========================================
//= Repetable Quests for Players between Baselevel 91 - 99.
//===== Additional Comments: =================================
//= 1.0 First Version. [Chilly]
//= 1.1 Some little improvements here and there. [Masao]
//= 1.2 Optimized. [Euphy]
//= 1.3 Updated to match the official script. [Euphy]
//============================================================
moc_para01,48,177,3 script 91-99 Mission Board 4_BOARD3,{
if (countitem(6219) < 1) {
mes "Wait a minute!";
mes "-You need to have an-";
mes "-^4d4dff'Eden Group Mark'^000000-";
mes "-to receive these missions.-";
next;
switch(select("Just walk away.:^0000FFEden Group^000000 missions?:How can I be a member of the ^0000FFEden Group^000000?")) {
case 1:
close;
case 2:
mes "::The Eden Group Missions";
mes "::are basically missions";
mes "::requested by";
mes "::people from all around the kingdom.";
mes "::We just categorize them.";
next;
mes "::In the Eden Group,";
mes "::we sorted out the missions";
mes "::according to the level of difficulty.";
mes "::According to this level,";
mes "::you can find";
mes "::missions that";
mes "::suit you.";
next;
mes "::When you are done,";
mes "::you can come back";
mes "::to the mission board.";
next;
mes "::Then you will be";
mes "::rewarded!!";
mes "::Simple, isn't it!!";
mes "::No commission required!!";
close;
case 3:
mes "::You can become a member";
mes "::of the Eden Group";
mes "::to ^0000FFLaime Evenor^000000,";
mes "::who is waiting on the 1st floor.";
next;
mes "::If you become a member,";
mes "::you will get an";
mes "::\"^006400Eden Group Mark^000000\".";
mes "::Then you will be able";
mes "::to see the mission board.";
close;
}
}
if (BaseLevel < 91 || BaseLevel > 99) {
// Quest IDs: 4181-4196
// Quest cooldown IDs: 4212-4227
setarray .@names$[0],
"Solider","Freezer","Heater",
"Injustice","Rybio","Dark Priest",
"Stapo","Roween","Siroma",
"Shinobi","Evil Nymph",
"Deviruchi","Mineral","Kaho","Neraid","Disguise";
setarray .@exp[0],
90000,94000,114000,
96000,96000,146000,
96000,102000,110000,
102000,108000,
110000,138000,118000,96000,134000;
mes "You must be within level 91-99 to accept these missions.";
for(set .@quest,4181; .@quest<=4196; set .@quest,.@quest+1) {
set .@hunting, checkquest(.@quest,HUNTING);
if (.@hunting == 0 || .@hunting == 1) {
next;
mes ":: You cannot proceed in";
mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000.";
mes ":: The registration to the mission";
mes ":: is cancelled.";
erasequest .@quest;
close;
} else if (.@hunting == 2) {
next;
mes ":: You added information";
mes ":: about the mission";
mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000";
mes ":: on the mission board.";
mes ":: You've got a";
mes ":: salutary experience.";
erasequest .@quest;
getexp .@exp[.@quest-4181],0;
close;
}
}
close;
}
mes "[91-99 Mission Board]";
mes "There are several requests on this board.";
next;
switch(select("^8B4513Turtle Island^000000:^8B4513Glast Heim^000000:^8B4513Rachel / Veins^000000:^8B4513Expansion Cities^000000:^8B4513Other regions^000000")) {
case 1:
mes "^8B4513Turtle Island^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFSolider^000000:^0000FFFreezer^000000:^0000FFHeater^000000")) {
case 1: callsub L_Quest,4181,"Solider",90000,"�ָ���ī��","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
case 2: callsub L_Quest,4182,"Freezer",94000,"������ī��","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
case 3: callsub L_Quest,4183,"Heater",114000,"����ī��","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
}
case 2:
mes "^8B4513Glast Heim^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFInjustice^000000:^0000FFRybio^000000:^0000FFDark Priest^000000")) {
case 1: callsub L_Quest,4184,"Injustice",96000,"������Ƽ��ī��","There is a monster only found in ^8B4513Glast Heim prison^000000.";
case 2: callsub L_Quest,4185,"Rybio",96000,"�����ī��","There is a monster only found in ^8B4513Glast Heim prison^000000.";
case 3: callsub L_Quest,4186,"Dark Priest",146000,"��ũ������Ʈī��","There is a monster only found in ^8B4513Glast Heim prison^000000.";
}
case 3:
mes "^8B4513Rachel / Veins^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFStapo^000000:^0000FFRoween^000000:^0000FFSiroma^000000")) {
case 1: callsub L_Quest,4187,"Stapo",96000,"������ī��","There is a monster only found in ^8B4513Veins^000000.";
case 2: callsub L_Quest,4188,"Roween",102000,"�ο���ī��","There is a monster only found in ^8B4513Rachel^000000.";
case 3: callsub L_Quest,4189,"Siroma",110000,"�÷θ�ī��","There is a monster only found in ^8B4513Ice Dungeon^000000.";
}
case 4:
mes "^8B4513Expansion Cities^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFShinobi^000000:^0000FFEvil Nymph^000000")) {
case 1: callsub L_Quest,4190,"Shinobi",102000,"�ó��ī��","There is a monster only found in ^8B4513Amatsu Dungeon^000000.";
case 2: callsub L_Quest,4191,"Evil Nymph",108000,"�伱��ī��","There is a monster only found in ^8B4513Kunlun Dungeon^000000.";
}
case 5:
mes "Other Regions.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFDeviruchi^000000:^0000FFMineral^000000:^0000FFKaho^000000:^0000FFNeraid^000000:^0000FFDisguise^000000")) {
case 1: callsub L_Quest,4192,"Deviruchi",110000,"�����ġī��","There is a monster only found in ^8B4513Geffen Dungeon^000000.";
case 2: callsub L_Quest,4193,"Mineral",138000,"�̳�","There is a monster only found in ^8B4513Einbech Dungeon^000000.";
case 3: callsub L_Quest,4194,"Kaho",118000,"īȣī��","There is a monster found in ^8B4513Nogg Road Magma 1^000000.";
case 4: callsub L_Quest,4195,"Neraid",96000,"���̵�ī��","There is a monster only found in ^8B4513Comodo Dungeon^000000.";
case 5: callsub L_Quest,4196,"Disguise",134000,"������ī��","There is a monster only found in ^8B4513Nifflheim^000000.";
}
}
end;
//callsub L_Quest,<quest ID>,"<monster name>",<reward EXP>,"<cutin image>","<description>"{,"s"};
L_Quest:
set .@quest1, getarg(0);
set .@quest2, .@quest1+31;
set .@playtime, checkquest(.@quest2,PLAYTIME);
if (.@playtime == 0 || .@playtime == 1) {
mes "[91-99 Mission Board]";
mes "You need to wait 3 hours before you can take this mission again.";
close;
}
set .@hunting, checkquest(.@quest1,HUNTING);
if (.@hunting == 0 || .@hunting == 1) {
mes "[91-99 Mission Board]";
mes "Have you finished hunting all 30 "+getarg(1)+getarg(5,"")+" yet?";
close;
} else if (.@hunting == 2) {
mes "[91-99 Mission Board]";
mes "You have completed the hunting.";
mes "Please accept this reward as a compensation.";
erasequest .@quest1;
if (.@playtime > -1) erasequest .@quest2;
setquest .@quest2;
// Job Experience calculation.
if (JobLevel > 50 && JobLevel < 56) set .@jexp,67000;
else if (JobLevel > 55 && JobLevel < 61) set .@jexp,94000;
else if (JobLevel > 60 && JobLevel < 66) set .@jexp,141000;
else if (JobLevel > 65 && JobLevel < 69) set .@jexp,212000;
else if (JobLevel == 69) set .@jexp,311000;
getexp getarg(2),.@jexp;
close;
}/* else if (.@hunting == 3) {
// recall_completequest .@quest1
erasequest .@quest1;
mes "[91-99 Mission Board]";
mes "You have re-accepted the "+getarg(1)+" Hunting mission.";
close;
}*/ else {
mes "[91-99 Mission Board]";
mes getarg(4);
next;
if (getarg(3) != "") cutin getarg(3),3;
mes "[91-99 Mission Board]";
mes "Hunt 30 "+getarg(1)+" monsters there and post your success on this board.";
next;
if (getarg(3) != "") cutin getarg(3),255;
if(select("I'll hunt them.:No thanks.") == 1) {
mes "[91-99 Mission Board]";
mes "When you have completed the mission, post it on this board and collect your reward.";
if (.@playtime > -1) erasequest .@quest2;
setquest .@quest1;
}
close;
}
}