//================= Hercules Script =======================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015 Hercules Dev Team
//= Copyright (C) Euphy
//= Copyright (C) Masao
//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program. If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Eden Group Quests - Mission [71 - 85]
//================= Description ===========================================
//= Repetable Quests for Players between Baselevel 71 - 85.
//================= Current Version =======================================
//= 1.3
//=========================================================================
moc_para01,44,38,3 script Mission [71 - 85] 4_BOARD3,{
if (countitem(Para_Team_Mark) < 1) {
mes "- Only members of the -";
mes "- Eden Group can read -";
mes "- this bulletin board. -";
close;
}
// Clear the original quest data (no longer used).
if (slv_quest) slv_quest = 0;
if (questprogress(10102) || questprogress(10103) || questprogress(10104) || questprogress(10105) || questprogress(10106)) {
for(.@quest = 10102; .@quest<=10106; ++.@quest) {
if (questprogress(.@quest))
erasequest .@quest;
}
mes "- Since the client has moved -";
mes "- to another place, -";
mes "- the application form has been removed. -";
next;
}
if (BaseLevel < 71) {
mes "- Only members of the -";
mes "- right level can read -";
mes "- this bulletin board. -";
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
} else if (BaseLevel > 85) {
// Quest IDs: 10107-10123, 5055-5057
setarray .@quests[0],
10107,10108,10109,
10110,10111,10112,10113,
10114,10115,10116,10117,
10118,10119,10120,
10121,10122,10123,5055,5056;
for(.@i = 0; .@i<getarraysize(.@quests); ++.@i) {
if (questprogress(.@quests[.@i],HUNTING) == 2)
.@complete[getarraysize(.@complete)] = .@quests[.@i];
}
if (questprogress(5057) && countitem(Festival_Mask) >= 30)
.@complete[getarraysize(.@complete)] = 5057;
if (getarraysize(.@complete)) {
mes "You have quests in progress.";
mes "Do you want to turn them in?";
next;
if(select("Of course.", "No.") == 2)
close;
for(.@i = 0; .@i<getarraysize(.@complete); ++.@i)
callsub L_Quest,.@complete[.@i];
close;
}
mes "- Only members of the -";
mes "- right level can read -";
mes "- this bulletin board. -";
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
}
mes "- Choose where you -";
mes "- would like to hunt. -";
next;
switch(select("Sphinx Dungeon", "Glast Heim", "Juno Area", "Clock Tower", "Localized Islands")) {
case 1:
mes "- There are several requests -";
mes "- related to the Sphinx Dungeon -";
mes "- on this mission Board. -";
next;
.@str1$ = "The villagers of Morroc are worried by the increasing number of monsters in the Sphinx Dungeon. ";
.@str2$ = "- Meidi from Morroc -";
switch(select("Hunt Requiem", "Hunt Marduk", "Hunt Pasana")) {
case 1: callsub L_Quest,10107,.@str1$+"Hunt 10 Requiems.",.@str2$;
case 2: callsub L_Quest,10108,.@str1$+"Hunt 10 Marduks.",.@str2$;
case 3: callsub L_Quest,10109,.@str1$+"Hunt 10 Pasanas.",.@str2$;
}
case 2:
mes "- There are several requests -";
mes "- related to Glast Heim -";
mes "- on this mission Board. -";
next;
.@str1$ = "I am very afraid that the monsters from Glast Heim will attack us. ";
.@str2$ = "- Ancellia from Geffen -";
switch(select("Hunt Dark Frame", "Hunt Evil Druid", "Hunt Wraith", "Hunt Raydric Archer")) {
case 1: callsub L_Quest,10110,.@str1$+"Hunt 10 Dark Frames.",.@str2$;
case 2: callsub L_Quest,10111,.@str1$+"Hunt 10 Evil Druids.",.@str2$;
case 3: callsub L_Quest,10112,.@str1$+"Hunt 10 Wraiths.",.@str2$;
case 4: callsub L_Quest,10113,.@str1$+"Hunt 10 Raydric Archers.",.@str2$;
}
case 3:
mes "- There are several requests -";
mes "- related to the area -";
mes "- around Juno. -";
next;
.@str1$ = "Those who can't fight, like me, find it much more difficult to travel due to the large number of monsters. ";
.@str2$ = "- Jeanbai, traveler -";
switch(select("Hunt Grand Peco", "Hunt Sleeper", "Hunt Goat", "Hunt Harpy")) {
case 1: callsub L_Quest,10114,.@str1$+"Hunt 20 Grand Pecos.",.@str2$;
case 2: callsub L_Quest,10115,.@str1$+"Hunt 20 Sleepers.",.@str2$;
case 3: callsub L_Quest,10116,.@str1$+"Hunt 20 Goats.",.@str2$;
case 4: callsub L_Quest,10117,.@str1$+"Hunt 20 Harpies.",.@str2$;
}
case 4:
mes "- There are several requests -";
mes "- related to the Clock Tower -";
mes "- on this mission Board. -";
next;
.@str1$ = "I used to love listening to the sweet melody of the Al De Baran Clock Tower but I can't hear anything anymore because of all the noises the monsters are making. ";
.@str2$ = "- Rizingsetter, President of the Love Clock community -";
switch(select("Hunt Clock", "Hunt Punk", "Hunt Rideword")) {
case 1: callsub L_Quest,10118,.@str1$+"Hunt 15 Clocks before it breaks.",.@str2$;
case 2: callsub L_Quest,10119,.@str1$+"Hunt 15 Punks before it breaks.",.@str2$;
case 3: callsub L_Quest,10120,.@str1$+"Hunt 15 Ridewords before it breaks.",.@str2$;
}
case 5:
mes "- There are several requests -";
mes "- related to the Localized Islands -";
mes "- on this mission Board. -";
next;
.@str1$ = "I want to go on an adventure but there are so many things I have to deal with. If I can't, then others can't either! ";
.@str2$ = "- Funfy, who wants to go on an adventure -";
switch(select("Hunt Kikimora", "Hunt Miyabi Doll", "Hunt Mi Gao", "Hunt Headless Mule", "Hunt Tamruan", "Gather Festival Masks for the Festival")) {
case 1: callsub L_Quest,10121,.@str1$+"Hunt 15 Kikimoras in Moscovia!",.@str2$;
case 2: callsub L_Quest,10122,.@str1$+"Hunt 15 Miyabi Dolls in Amatsu!",.@str2$;
case 3: callsub L_Quest,10123,.@str1$+"Hunt 15 Mi Gaos in Louyang!",.@str2$;
case 4: callsub L_Quest,5055,"I know there are many terrifying monsters outside the city, but what terrifies me are these Headless Mules lurking around. I hope they will never venture into town. Hunt 15 Headless Mules!","- Mariana from Brasilis -";
case 5: callsub L_Quest,5056,"Tamruans make a lot of noise. I don't mind in the morning but they keep me from falling asleep at night. I want to sleep. Hunt 15 Tamruans!","- Shaman Pumo from Ayotaya -";
case 6: callsub L_Quest,5057,"The Dumpling Childs stole all the masks that I had prepared for the festival. Try to get a hold of 30 masks! I'll owe you~","- SaYumMoon Chief of Kunlun -";
}
}
end;
//callsub L_Quest,<quest ID>{,"<description1>","<description2>"};
L_Quest:
.@quest = getarg(0);
switch(.@quest) {
case 10107: .@name$ = "Hunt Requiem"; .@exp = 15000; break;
case 10108: .@name$ = "Hunt Marduk"; .@exp = 15000; break;
case 10109: .@name$ = "Hunt Pasana"; .@exp = 15000; break;
case 10110: .@name$ = "Hunt Dark Frame"; .@exp = 20000; break;
case 10111: .@name$ = "Hunt Evil Druid"; .@exp = 20000; break;
case 10112: .@name$ = "Hunt Wraith"; .@exp = 20000; break;
case 10113: .@name$ = "Hunt Raydric Archer"; .@exp = 20000; break;
case 10114: .@name$ = "Hunt Grand Peco"; .@exp = 30000; break;
case 10115: .@name$ = "Hunt Sleeper"; .@exp = 30000; break;
case 10116: .@name$ = "Hunt Goat"; .@exp = 30000; break;
case 10117: .@name$ = "Hunt Harpy"; .@exp = 30000; break;
case 10118: .@name$ = "Hunt Clock"; .@exp = 25000; break;
case 10119: .@name$ = "Hunt Punk"; .@exp = 25000; break;
case 10120: .@name$ = "Hunt Rideword"; .@exp = 25000; break;
case 10121: .@name$ = "Hunt Kikimora"; .@exp = 30000; break;
case 10122: .@name$ = "Hunt Miyabi Doll"; .@exp = 30000; break;
case 10123: .@name$ = "Hunt Mi Gao"; .@exp = 30000; break;
case 5055: .@name$ = "Hunt Headless Mule"; .@exp = 30000; break;
case 5056: .@name$ = "Hunt Tamruan"; .@exp = 30000; break;
case 5057: .@name$ = "Gather Festival Masks for the Festival"; .@exp = 30000; break;
}
if (getargcount() == 1) {
mes "'"+.@name$+"' completed. Do you want to turn it in and receive your reward?";
next;
if(select("Turn in quest.", "Cancel.") == 1) {
if (.@quest == 5057) delitem Festival_Mask,30;
erasequest .@quest;
getexp .@exp,0;
mes "You've received EXP for finishing the quest.";
next;
return;
}
close;
} else {
if (.@quest == 5057) {
// Quest 5057 is the only collection quest, so separate conditions are unnecessary.
if (!questprogress(5057))
.@hunting = 0;
else if (countitem(Festival_Mask) >= 30)
.@hunting = 2;
} else {
.@hunting = questprogress(.@quest,HUNTING);
}
if (.@hunting == 1) {
mes getarg(1);
mes getarg(2);
next;
mes "Return here when you've finished the quest.";
} else if (.@hunting == 2) {
mes "You have completed the quest.";
next;
if(select("Turn in quest.", "Cancel.") == 1) {
if (.@quest == 5057) delitem Festival_Mask,30;
erasequest .@quest;
getexp .@exp,0;
mes "You've received EXP for finishing the quest.";
}
}/* else if (.@hunting == 3) {
// recall_completequest .@quest
erasequest .@quest;
mes "You have re-accepted the quest '"+.@name$+"'.";
}*/ else {
mes getarg(1);
mes getarg(2);
next;
mes "Do you want to accept the quest?";
next;
if(select("Yes.", "No.") == 1) {
mes "You've received the quest '"+.@name$+"'. View your quest info for more details.";
setquest .@quest;
}
}
close;
}
}