summaryrefslogtreecommitdiff
path: root/npc/re
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re')
-rw-r--r--npc/re/airports/izlude.txt2
-rw-r--r--npc/re/cities/dewata.txt16
-rw-r--r--npc/re/cities/dicastes.txt14
-rw-r--r--npc/re/cities/izlude.txt72
-rw-r--r--npc/re/cities/malangdo.txt4
-rw-r--r--npc/re/cities/malaya.txt1766
-rw-r--r--npc/re/cities/mora.txt4
-rw-r--r--npc/re/guides/guides_alberta.txt16
-rw-r--r--npc/re/guides/guides_aldebaran.txt16
-rw-r--r--npc/re/guides/guides_amatsu.txt16
-rw-r--r--npc/re/guides/guides_ayothaya.txt16
-rw-r--r--npc/re/guides/guides_brasilis.txt16
-rw-r--r--npc/re/guides/guides_comodo.txt16
-rw-r--r--npc/re/guides/guides_dewata.txt4
-rw-r--r--npc/re/guides/guides_dicastes.txt4
-rw-r--r--npc/re/guides/guides_einbroch.txt4
-rw-r--r--npc/re/guides/guides_geffen.txt4
-rw-r--r--npc/re/guides/guides_gonryun.txt4
-rw-r--r--npc/re/guides/guides_hugel.txt4
-rw-r--r--npc/re/guides/guides_izlude.txt4
-rw-r--r--npc/re/guides/guides_juno.txt4
-rw-r--r--npc/re/guides/guides_lighthalzen.txt4
-rw-r--r--npc/re/guides/guides_louyang.txt4
-rw-r--r--npc/re/guides/guides_lutie.txt4
-rw-r--r--npc/re/guides/guides_mora.txt215
-rw-r--r--npc/re/guides/guides_morroc.txt4
-rw-r--r--npc/re/guides/guides_moscovia.txt4
-rw-r--r--npc/re/guides/guides_niflheim.txt4
-rw-r--r--npc/re/guides/guides_payon.txt4
-rw-r--r--npc/re/guides/guides_prontera.txt4
-rw-r--r--npc/re/guides/guides_rachel.txt4
-rw-r--r--npc/re/guides/guides_umbala.txt4
-rw-r--r--npc/re/guides/guides_veins.txt4
-rw-r--r--npc/re/guild/invest_main.txt1678
-rw-r--r--npc/re/guild/invest_npc.txt66
-rw-r--r--npc/re/instances/HazyForest.txt1193
-rw-r--r--npc/re/jobs/1-1/mage.txt4
-rw-r--r--npc/re/jobs/1-1/merchant.txt4
-rw-r--r--npc/re/jobs/1-1/swordman.txt4
-rw-r--r--npc/re/jobs/1-1/thief.txt4
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt4
-rw-r--r--npc/re/jobs/3-1/mechanic.txt4
-rw-r--r--npc/re/jobs/3-1/ranger.txt4
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt4
-rw-r--r--npc/re/jobs/3-1/warlock.txt4
-rw-r--r--npc/re/jobs/3-2/genetic.txt14
-rw-r--r--npc/re/jobs/3-2/minstrel.txt4
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt4
-rw-r--r--npc/re/jobs/3-2/shadow_chaser.txt4
-rw-r--r--npc/re/jobs/3-2/sorcerer.txt4
-rw-r--r--npc/re/jobs/3-2/sura.txt4
-rw-r--r--npc/re/jobs/3-2/wanderer.txt4
-rw-r--r--npc/re/jobs/novice/supernovice_ex.txt4
-rw-r--r--npc/re/kafras/kafras.txt4
-rw-r--r--npc/re/merchants/card_separation.txt4
-rw-r--r--npc/re/merchants/coin_exchange.txt4
-rw-r--r--npc/re/merchants/diamond.txt4
-rw-r--r--npc/re/merchants/enchan_mal.txt16
-rw-r--r--npc/re/merchants/enchan_mora.txt2356
-rw-r--r--npc/re/merchants/flute.txt16
-rw-r--r--npc/re/merchants/inn.txt4
-rw-r--r--npc/re/merchants/quivers.txt121
-rw-r--r--npc/re/merchants/refine.txt2
-rw-r--r--npc/re/merchants/renters.txt2
-rw-r--r--npc/re/merchants/shops.txt2
-rw-r--r--npc/re/mobs/dungeons/dew_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/dic_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/ein_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/gef_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/gefenia.txt2
-rw-r--r--npc/re/mobs/dungeons/glastheim.txt4
-rw-r--r--npc/re/mobs/dungeons/gld_dun.txt52
-rw-r--r--npc/re/mobs/dungeons/gld_dunSE.txt4
-rw-r--r--npc/re/mobs/dungeons/gld_re.txt100
-rw-r--r--npc/re/mobs/dungeons/gon_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/ice_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/in_sphinx.txt4
-rw-r--r--npc/re/mobs/dungeons/iz_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/juperos.txt2
-rw-r--r--npc/re/mobs/dungeons/kh_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/lhz_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/lou_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/ma_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/mag_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/mal_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/mjo_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/moc_pryd.txt4
-rw-r--r--npc/re/mobs/dungeons/mosk_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/nyd_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/odin.txt4
-rw-r--r--npc/re/mobs/dungeons/orcsdun.txt4
-rw-r--r--npc/re/mobs/dungeons/pay_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/prt_maze.txt4
-rw-r--r--npc/re/mobs/dungeons/prt_sew.txt4
-rw-r--r--npc/re/mobs/dungeons/ra_san.txt4
-rw-r--r--npc/re/mobs/dungeons/tha_t.txt4
-rw-r--r--npc/re/mobs/dungeons/thor_v.txt4
-rw-r--r--npc/re/mobs/dungeons/treasure.txt4
-rw-r--r--npc/re/mobs/dungeons/tur_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/xmas_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/yggdrasil.txt4
-rw-r--r--npc/re/mobs/fields/bifrost.txt25
-rw-r--r--npc/re/mobs/fields/lighthalzen.txt2
-rw-r--r--npc/re/other/mercenary_rent.txt4
-rw-r--r--npc/re/quests/cupet.txt4
-rw-r--r--npc/re/quests/eden/56-70.txt1395
-rw-r--r--npc/re/quests/eden/eden_common.txt4
-rw-r--r--npc/re/quests/eden/eden_quests.txt4
-rw-r--r--npc/re/quests/eden/eden_service.txt4
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt1562
-rw-r--r--npc/re/quests/homu_s.txt4
-rw-r--r--npc/re/quests/magic_books.txt4
-rw-r--r--npc/re/quests/mrsmile.txt4
-rw-r--r--npc/re/quests/pile_bunker.txt4
-rw-r--r--npc/re/quests/quests_brasilis.txt26
-rw-r--r--npc/re/quests/quests_dewata.txt4
-rw-r--r--npc/re/quests/quests_dicastes.txt408
-rw-r--r--npc/re/quests/quests_izlude.txt4
-rw-r--r--npc/re/quests/quests_malaya.txt507
-rw-r--r--npc/re/quests/quests_mora.txt5315
-rw-r--r--npc/re/quests/quests_veins.txt4
-rw-r--r--npc/re/quests/skills/sage_skills.txt53
-rw-r--r--npc/re/scripts.conf5
-rw-r--r--npc/re/scripts_main.conf8
-rw-r--r--npc/re/scripts_monsters.conf2
-rw-r--r--npc/re/warps/cities/dewata.txt4
-rw-r--r--npc/re/warps/cities/dicastes.txt4
-rw-r--r--npc/re/warps/cities/eclage.txt4
-rw-r--r--npc/re/warps/cities/malaya.txt122
-rw-r--r--npc/re/warps/cities/rachel.txt4
-rw-r--r--npc/re/warps/cities/yggdrasil.txt4
-rw-r--r--npc/re/warps/dungeons/dic_dun.txt4
-rw-r--r--npc/re/warps/dungeons/ecl_dun.txt4
-rw-r--r--npc/re/warps/dungeons/iz_dun.txt4
-rw-r--r--npc/re/warps/fields/bif_fild.txt42
-rw-r--r--npc/re/warps/fields/com_fild.txt4
-rw-r--r--npc/re/warps/fields/dic_fild.txt4
-rw-r--r--npc/re/warps/fields/geffen_fild.txt4
-rw-r--r--npc/re/warps/fields/hugel_fild.txt4
-rw-r--r--npc/re/warps/fields/morroc_fild.txt4
-rw-r--r--npc/re/warps/fields/payon_fild.txt4
-rw-r--r--npc/re/warps/fields/prontera_fild.txt4
-rw-r--r--npc/re/warps/fields/rachel_fild.txt4
-rw-r--r--npc/re/warps/fields/veins_fild.txt4
-rw-r--r--npc/re/warps/fields/yuno_fild.txt4
-rw-r--r--npc/re/warps/guildcastles.txt43
-rw-r--r--npc/re/warps/other/jobquests.txt4
-rw-r--r--npc/re/warps/other/paradise.txt4
-rw-r--r--npc/re/warps/other/s_workshop.txt4
-rw-r--r--npc/re/warps/other/sign.txt4
150 files changed, 16048 insertions, 1700 deletions
diff --git a/npc/re/airports/izlude.txt b/npc/re/airports/izlude.txt
index bf5cabdf3..67b9e988d 100644
--- a/npc/re/airports/izlude.txt
+++ b/npc/re/airports/izlude.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Izlude Airport NPCs
//===== By: ==================================================
-//= rAthena Dev Team
+//= Hercules Dev Team
//===== Description: =========================================
//= Izlude Airport NPCs
//===== Additional Comments: =================================
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index 88b7f6a4e..3c5953adf 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Dewata Town
//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Dewata Town Script
//===== Additional Comments: =================================
@@ -457,32 +457,32 @@ dewata,89,191,6 script Small Shrine#dew1 844,{
callsub L_Wish;
set Zeny, Zeny - .@input;
if (.@stat & 1 && .@bonus){
- sc_start SC_STRFOOD,1200000,3;
+ sc_start SC_FOOD_STR,1200000,3;
percentheal 5,0;
//consumeitem 12043; //Str_Dish03
}
else if (.@stat & 2 && .@bonus){
- sc_start SC_AGIFOOD,1200000,3;
+ sc_start SC_FOOD_AGI,1200000,3;
percentheal 5,0;
//consumeitem 12058; //Agi_Dish03
}
else if (.@stat & 4 && .@bonus){
- sc_start SC_DEXFOOD,1200000,3;
+ sc_start SC_FOOD_DEX,1200000,3;
percentheal 5,0;
//consumeitem 12063; //Dex_Dish03
}
else if (.@stat & 8 && .@bonus){
- sc_start SC_VITFOOD,1200000,3;
+ sc_start SC_FOOD_VIT,1200000,3;
percentheal 5,0;
//consumeitem 12053; //Vit_Dish03
}
else if (.@stat & 16 && .@bonus){
- sc_start SC_INTFOOD,1200000,3;
+ sc_start SC_FOOD_INT,1200000,3;
percentheal 5,0;
//consumeitem 12048; //Int_Dish03
}
else if (.@stat & 32 && .@bonus){
- sc_start SC_LUKFOOD,1200000,3;
+ sc_start SC_FOOD_LUK,1200000,3;
percentheal 5,0;
//consumeitem 12068; //Luk_Dish03
}
diff --git a/npc/re/cities/dicastes.txt b/npc/re/cities/dicastes.txt
index 6bab75559..5fd555b8f 100644
--- a/npc/re/cities/dicastes.txt
+++ b/npc/re/cities/dicastes.txt
@@ -1,14 +1,14 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= El Dicastes Town
-//===== By: ==================================================
+//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2a
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= El Dicastes Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version.
//= 1.1 Standardized. [Euphy]
//= 1.2 Updated to match the official script. [Joseph]
diff --git a/npc/re/cities/izlude.txt b/npc/re/cities/izlude.txt
index e5b3d1df0..24390f070 100644
--- a/npc/re/cities/izlude.txt
+++ b/npc/re/cities/izlude.txt
@@ -1,30 +1,33 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Izlude Town Renewal
//===== By: ==================================================
//= Masao
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Izlude town NPCs.
//===== Additional Comments: =================================
//= 1.0 First Version. Still missing many new NPCs and their dialogues. [Masao]
//= 1.1 Added bullet NPC duplicates. [Euphy]
+//= 1.2 Added new NPCs, Captain Carew & coordinates [Streusel]
+//= 1.3 Added some NPC locations [Streusel]
//============================================================
izlude,197,205,1 duplicate(Sailor_izlude) Sailor#izlude 100
izlude,71,92,2 duplicate(Bonne_izlude) Bonne#izlude 90
izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 91
-izlude,127,175,4 duplicate(Cuskoal_izlude) Cuskoal#izlude 124
+izlude,174,164,3 duplicate(Cuskoal_izlude) Cuskoal#izlude 124
izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 84
-izlude,141,185,4 duplicate(Kylick_izlude) Kylick#izlude 97
+izlude,140,186,4 duplicate(Kylick_izlude) Kylick#izlude 97
izlude,56,156,2 duplicate(Red_izlude) Red#izlude 85
izlude,58,156,2 duplicate(Cebalis_izlude) Cebalis#izlude 98
izlude,165,156,2 duplicate(Soldier_izlude) Soldier#izlude 105
izlude,158,130,3 duplicate(bdt) Bullet Dealer Tony#iz 86
izlude,155,132,3 duplicate(mdk) Magazine Dealer Kenny 83
-
+//izlude,198,213,4 duplicate(Captain_Carew) Captain Carew#izlude 873
+izlude_in,57,92,3 duplicate(Dorian) Dorian#izlude 878
izlude,147,131,6 script Blacksmith#izlude 726,{
end;
}
@@ -34,3 +37,62 @@ prt_fild08,350,219,4 script Guard#izlude 105,{
mes "Welcome to Izlude.";
close;
}
+
+izlude,136,160,0 script Traces of Fish#izlude 111,{
+ mes "There are signs of someone digging.";
+ close;
+}
+
+izlude,207,167,3 script Arena#izlude 858,{
+ mes "";
+ close;
+}
+
+izlude,45,94,3 script Milestone#izlude 858,{
+ mes "==== Information ====";
+ mes "";
+ mes "Access to Prontera Field.";
+ mes "Prontera in the North.";
+ mes "If you wish got to Prontera.";
+ close;
+}
+
+izlude,179,75,3 script Non-Process#izlude 858,{
+ mes "====End of Path====";
+ mes "";
+ mes "Airshop to Rachel";
+ mes "";
+ mes "Feel free to explore, however be reminded that you are a guest.";
+ mes "";
+ close;
+}
+
+izlude,141,251,1 script Full-Grown Red Plant#iz 1078,{
+ end;
+}
+
+izlude,102,150,1 script Sinchon Helper#izlude 71,{
+ end;
+}
+
+izlude,205,155,2 script Nain#izlude 102,{
+ mes "[Nine]";
+ mes "Swords, no matter how strong";
+ mes "they are once they strike you're";
+ mes "a dead man. And though that's creepy,";
+ mes "I just can't throw them away.";
+ close;
+}
+
+izlude,143,205,7 script Magpies Adventurer#iz-01 703,{
+ end;
+}
+
+
+izlude,146,205,7 script Magpies Adventurer#iz-02 706,{
+ end;
+}
+
+izlude,120,254,0 script Siege Monument#izlude 111,{
+ end;
+}
diff --git a/npc/re/cities/malangdo.txt b/npc/re/cities/malangdo.txt
index f6fd3f14d..0ee7ca8be 100644
--- a/npc/re/cities/malangdo.txt
+++ b/npc/re/cities/malangdo.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Malangdo Town
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Malangdo Town Script
//===== Additional Comments: =================================
diff --git a/npc/re/cities/malaya.txt b/npc/re/cities/malaya.txt
new file mode 100644
index 000000000..b56186af0
--- /dev/null
+++ b/npc/re/cities/malaya.txt
@@ -0,0 +1,1766 @@
+//===== Hercules Script =======================================
+//= Port Malaya NPC's
+//===== By: ==================================================
+//= Masao
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
+//= Many Port Malaya NPC's & Quests.
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Added Jeepney script. [DeadlySilence]
+//============================================================
+
+malaya,276,55,4 script Optamara Crew#malaya 100,{
+
+ if (malaya_hi < 10) {
+ mes "[Optamara Crew]";
+ mes "I think the village is still busy. Done with your visit? There is always a ship heading for Alberta.";
+ next;
+ }
+ else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Optamara Crew]";
+ mes "I think a nameless adventurer helped take a load off the villagers mind. Yahoo! Would you like to go back to Alberta?";
+ next;
+ }
+ else {
+ mes "[Optamara Crew]";
+ mes "Would you like to go back to Alberta with me?";
+ next;
+ }
+ switch (select("Return.:Do not return.")) {
+ case 1:
+ mes "[Optamara Crew]";
+ mes "Great! Lets leave now for Alberta!!";
+ close2;
+ warp "alberta",239,68;
+ end;
+ case 2:
+ mes "[Optamara Crew]";
+ mes "Thats okay. Come here if you ever want to go back to Alberta.";
+ close;
+ }
+}
+
+alberta,237,71,3 script Optamara Crew#alberta 100,{
+
+ mes "[Optamara Crew]";
+ mes "Hey, there!";
+ mes "Its 10,000 Zeny to go to Port Malaya. Interested?";
+ next;
+ switch (select("About Port Malaya:Go to Port Malaya.:Cancel.")) {
+ case 1:
+ mes "[Optamara Crew]";
+ mes "Port Malaya is a small village you could reach by sailing southwest from Alberta.";
+ next;
+ mes "[Optamara Crew]";
+ mes "I couldnt visit the village because they had some issues there but now it seems all is clear!";
+ next;
+ mes "[Optamara Crew]";
+ mes "I dont know for sure but it was a village that's like a comfortable and cozy park.";
+ next;
+ mes "[Optamara Crew]";
+ mes "I was this close to not coming back to cozy Alberta again.";
+ next;
+ mes "[Optamara Crew]";
+ mes "Im sure youll feel the same once you reach Port Malaya.";
+ close;
+ case 2:
+ if (Zeny > 9999) {
+ set Zeny, Zeny - 10000;
+ mes "[Optamara Crew]";
+ mes "Great!";
+ mes "Heading for Port Malaya!!";
+ close2;
+ warp "Malaya",271,55;
+ end;
+ }
+ mes "[Optamara Crew]";
+ mes "Oh God!!";
+ mes "You dont know how far it is from here. Of course its not free. Please come back with 10,000 Zeny. Sorry!";
+ close;
+ case 3:
+ mes "[Optamara Crew]";
+ mes "Adventurers these days act like they are busy. Come back when you have the time and we could go visit Port Malaya together.";
+ close;
+ }
+}
+
+ma_in01,30,94,4 script Inn Keeper#ma 583,{
+
+ if (malaya_hi < 10) {
+ mes "[Inn Keeper]";
+ mes "Oh my! Visiting?";
+ mes "What bad timing. The village is a bit unorganized at the moment so Im actually closed. Sorry.";
+ close;
+ }
+ else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Inn Keeper]";
+ mes "So you are the adventurer villagers are talking about? I reopened my inn thanks to you. Thank you.";
+ next;
+ }
+ else {
+ mes "[Inn Keeper]";
+ mes "Welcome.";
+ mes "This is Port Malaya's best inn, 'Cabin in the City'.";
+ next;
+ }
+ mes "[Inn Keeper]";
+ mes "Come for a rest? Lodging will be 5,000 Zeny.";
+ next;
+ switch (select("Store.:Lodge. - 5,000z:Cancel.")) {
+ case 1:
+ mes "[Inn Keeper]";
+ mes "Successfully stored. See you next time.";
+ savepoint "ma_in01",43,98;
+ close;
+ case 2:
+ if (Zeny < 5000) {
+ mes "[Inn Keeper]";
+ mes "Sorry. I think you are a bit short.";
+ close;
+ }
+ mes "[Inn Keeper]";
+ mes "Hope you enjoy your stay.";
+ close2;
+ set Zeny, Zeny - 5000;
+ percentheal 100,100;
+ warp "ma_in01",43,98;
+ end;
+ case 3:
+ close;
+ }
+}
+
+ma_fild01,166,214,6 script Old Man in Dilemma#GA 575,{
+
+ if (MaxWeight - Weight < 600 || checkweight(1201,1) == 0) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Oh! Demons are gaining more and more power in this world.";
+ next;
+ switch (select("We need to gather items to fight them off.:Ignore.")) {
+ case 1:
+ if ((countitem(6497) > 2) && (Zeny > 999)) {
+ mes "[Old Man in Dilemma]";
+ mes "You dont seem to be strong enough to fight off demons.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "Will you create a Greater Agimat of Ancient Spirit with 3 Lesser Agimats and 1,000 Zeny?";
+ next;
+ switch (select("Create.:No, thank you.")) {
+ case 1:
+ if ((countitem(6497) > 2) && (Zeny > 999)) {
+ specialeffect2 EF_CONE;
+ specialeffect EF_FORESTLIGHT2;
+ set Zeny, Zeny - 1000;
+ getitem 12775,1; //Ancient_Spirit_Amulet
+ mes "[Old Man in Dilemma]";
+ mes "Hope you win the fight with the demon.";
+ close;
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Short on materials.";
+ close;
+ case 2:
+ mes "[Old Man in Dilemma]";
+ mes "Hope you win the fight with the demon.";
+ close;
+ }
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Cant make it now but there is an old way of making it handed down by generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "You need to call upon the power of Ancient Spirits. But youll need several important materials first.";
+ next;
+ select("What are they?");
+ mes "[Old Man in Dilemma]";
+ mes "3 Lesser Agimats to hold the power of Ancient Spirits here and another special material handed down for generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "But nobody can get this special item anymore.";
+ next;
+ select("Something money cannot buy?");
+ mes "[Old Man in Dilemma]";
+ mes "No, no... It's this round little thing, you see?";
+ next;
+ select("Are you talking about Zeny?");
+ mes "[Old Man in Dilemma]";
+ mes "Looks similar to the special items handed down from generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "As long as we have enough of that, we could make the Greater Agimat of Ancient Spirit to fight against the demons.";
+ next;
+ select("Sounds good.");
+ mes "[Old Man in Dilemma]";
+ mes "In case you are too weary to take on the demons";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "come by with 3 Lesser Agimats and 1,000 of those so called Zeny.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "I will make a Greater Agimat of Ancient Spirit that will increase your attacks against demons by 10% for 20 min.";
+ close;
+ case 2:
+ mes "[Old Man in Dilemma]";
+ mes "Hope you win the fight with the demon.";
+ close;
+ }
+}
+
+ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{
+
+ if (MaxWeight - Weight < 50 || checkweight(1201,1) == 0) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ mes "[Tikbalang Expert]";
+ mes "Ive spent 90% of my life studying Tikbalang.";
+ next;
+ switch (select("But you look young?:What is Tikbalang?:Teach me how to catch a Tikbalang.")) {
+ case 1:
+ mes "[Tikbalang Expert]";
+ mes "What! I might be imagining things.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "I look younger than I am because of my baby face. Ha ha ha";
+ next;
+ select("... ... ...");
+ mes "[Tikbalang Expert]";
+ mes "Trust!! They say faith will bring you luck.";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha... You ask the right question.";
+ mes "Im a specialist in that field. Ask me anything.";
+ next;
+ select("Why wont you answer me?");
+ mes "[Tikbalang Expert]";
+ mes "Have you... ever been fooled by anyone around you? Why cant you believe someones word for it? Really, ask me anything.";
+ next;
+ while (.@loop != 1) {
+ switch (select("I don't have any questions.:Characteristics?:Features?:Rumors?:Habitat?")) {
+ case 1:
+ set .@loop,1;
+ break;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs have a way to confuse travelers when they meet them by making them turn in circles regardless of wherever and how far they travel.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "They are mischievous creatures.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "But of course there is a way to stop their pranks. You know about the Inside-out Shirt? You can either wear your top inside-out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Or go on your way quietly without disrupting the Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha ha But everyone knows adventurers are never quiet while they travel, right?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Never...";
+ set .@loop,2;
+ next;
+ break;
+ case 3:
+ mes "[Tikbalang Expert]";
+ mes "They say Tikbalangs have several distinctions.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "First, they are very tall ^AAAAAA(tsk.. wish I were tall)^000000 and have skinny, imbalanced legs and arms. Looks almost like a human but their knees are higher than their upper body when they sit down,";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Second, is the standard characteristics acknowledged by the association. They have heads and foot like a horse.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "So with all these appearance treats, Tikbalang is sometimes called the creature from hell.";
+ set .@loop,3;
+ next;
+ break;
+ case 4:
+ mes "[Tikbalang Expert]";
+ mes "There are several fun rumors about Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "One of them is about Tikbalangs being the guardians of some kingdom that worships nature.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "So the Tikbalangs will trick travelers who come with bad intentions to the kingdom by making them travel in circles.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Another rumor is that people around here say that 'if it rains on a clear day, then it must be Tikbalang's wedding day'.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "The association speculates that sayings like 'it rains on Bathorys wedding day' or 'it rains on Moonlight Flowers wedding day' might have derived from the Tikbalangs saying.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Lastly, ancient fairy tales say that Tikbalangs can transform into human form or even make themselves transparent but nobody has verified this yet.";
+ set .@loop,4;
+ next;
+ break;
+ case 5:
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs usually live in dark, busy places where there arent many people around.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Hmm... For example, they are known to live beneath bridges, in banana and bamboo forests and beneath large trees.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "And this is just my opinion but wouldnt you agree that they are living in dark places because it is easier to play pranks on people?";
+ set .@loop,5;
+ next;
+ break;
+ }
+ }
+ mes "[Tikbalang Expert]";
+ mes "I think this is enough explanation for now. You wouldnt understand other highly sophisticated topics with specific terminology and all anyway.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Oh! Do you have any other questions?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "What do you think? Impressed at how much I know? Come by anytime when you have any more questions.";
+ close;
+ case 3:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha. Do you now know how great I am?";
+ next;
+ if ((countitem(6496) > 2) && (countitem(6497) > 4)) {
+ mes "[Tikbalang Expert]";
+ mes "Oh! Isnt this material to make 'Tikbalang Belt' used to tame Tikbalangs?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "The '^F80835Tikbalang Belt ^000000' is used to capture Tikbalangs without the hassle. But that doesnt mean its 100% successful. Interested? Do you want me to make one for you?";
+ next;
+ switch (select("Yes, Im interested.:No, I can capture one myself.")) {
+ case 1:
+ delitem 6496,3; //Tikbalang_Thick_Spine
+ getitem 12699,1; //Tikbalang_Belt
+ mes "[Tikbalang Expert]";
+ mes "Yiiiiiiiiiiii! Yap!";
+ next;
+ specialeffect EF_SONICBLOW2;
+ select("Huh?");
+ mes "[Tikbalang Expert]";
+ mes "The '^F80835Tikbalang Belt ^000000' is already created";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "You? Ha... You can try if you want to.";
+ close;
+ }
+ }
+ mes "[Tikbalang Expert]";
+ mes "There is the easy way and the hard way to capture Tikbalangs. Which one do you prefer?";
+ next;
+ switch (select("Easy way.:Hard way.")) {
+ case 1:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha. Ive come up with the easy way myself.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Bring me 3 Tikbalang's Thick Spines and 5 Lesser Agimats to make";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "a '^F80835Tikbalang Belt^000000' to help you easily capture Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha ha ha!";
+ mes "I will say it again.";
+ mes "Its 3 Tikbalang's Thick Spines and 5 Lesser Agimats. Understood?";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "Its easy for me but I dont know about you.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs have a sharp, pointy mane behind their neck.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Of course! There are several of them but you must get the three thickest ones.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "These three manes are the weak point. You can tame a Tikbalang by pulling the manes out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Now let me explain how to pull these manes out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "You must fly like a butterfly and land like a bee on the back of a Tikbalang.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Of course! The Tikbalang will get mad and try to shake you off with all its might.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "All you have to do is hold on until the Tikbalang gets exhausted.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Then again, itll take 4 days and 3 nights for Tikbalangs to get tired since they are strong creatures. But lets not focus on too much details.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Which means!! The Tikbalang is already tamed.";
+ close;
+ }
+ }
+}
+
+ma_fild01,74,367,6 script Unidentified Creature#01 572,2,2,{
+ end;
+
+OnInit:
+ set .@kafre_who, rand(1,4);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#03::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnEnable";
+ }
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#01";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#01";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#03::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getcharid(1) != 0) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#01::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name04$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#01::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#01::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild01,109,116,4 script Unidentified Creature#02 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#02";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#02";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#03::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ }
+ else {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getpartyleader(getcharid(1),1) == getcharid(3)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#02::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name04$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#02::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#02::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild01,280,150,6 script Unidentified Creature#03 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#03";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#03";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if ((checkquest(4229,PLAYTIME) > 0) && (checkquest(9223,PLAYTIME) > 0) && (checkquest(12278,PLAYTIME) > 0)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#03::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name04$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#03::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#03::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild01,309,221,6 script Unidentified Creature#04 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#04";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#04";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#01::OnDisable";
+ donpcevent "Unidentified Creature#02::OnDisable";
+ donpcevent "Unidentified Creature#03::OnEnable";
+ donpcevent "Unidentified Creature#04::OnDisable";
+ }
+ end;
+
+OnTouch:
+ set .@kafre_tok, rand(1,100);
+ if (.@kafre_tok == 7 || .@kafre_tok == 17 || .@kafre_tok == 27 || .@kafre_tok == 37 || .@kafre_tok == 47 || .@kafre_tok == 57 || .@kafre_tok == 67 || .@kafre_tok == 77 || .@kafre_tok == 87 || .@kafre_tok == 97) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#04::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name04$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#04::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#04::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild02,282,41,4 script Unidentified Creature#05 572,2,2,{
+ end;
+
+OnInit:
+ set .@kafre_who, rand(1,4);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnEnable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnEnable";
+ } else {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ donpcevent "Unidentified Creature#08::OnEnable";
+ }
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#05";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#05";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnEnable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnEnable";
+ } else {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ donpcevent "Unidentified Creature#08::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getcharid(1) != 0) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#05::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name05$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#05::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#05::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild02,246,324,4 script Unidentified Creature#06 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#06";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#06";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else if (.@kafre_who == 3) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnEnable";
+ } else {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ donpcevent "Unidentified Creature#08::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getpartyleader(getcharid(1),1) == getcharid(3)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#06::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name05$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#06::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#06::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild02,71,296,6 script Unidentified Creature#07 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#07";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#07";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ donpcevent "Unidentified Creature#08::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnEnable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ donpcevent "Unidentified Creature#08::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if ((checkquest(4229,PLAYTIME) > 0) && (checkquest(9223,PLAYTIME) > 0) && (checkquest(12278,PLAYTIME) > 0)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#07::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name05$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#07::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#07::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_fild02,32,263,4 script Unidentified Creature#08 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#08";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#08";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnEnable";
+ donpcevent "Unidentified Creature#07::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#05::OnDisable";
+ donpcevent "Unidentified Creature#06::OnDisable";
+ donpcevent "Unidentified Creature#07::OnEnable";
+ }
+ end;
+
+OnTouch:
+ set .@kafre_tok, rand(1,100);
+ if (.@kafre_tok == 7 || .@kafre_tok == 17 || .@kafre_tok == 27 || .@kafre_tok == 37 || .@kafre_tok == 47 || .@kafre_tok == 57 || .@kafre_tok == 67 || .@kafre_tok == 77 || .@kafre_tok == 87 || .@kafre_tok == 97) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#08::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name05$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#08::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#08::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_scene01,195,92,4 script Unidentified Creature#09 572,2,2,{
+ end;
+
+OnInit:
+ set .@kafre_who, rand(1,3);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#09::OnEnable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ donpcevent "Unidentified Creature#11::OnDisable";
+ } else if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#09::OnDisable";
+ donpcevent "Unidentified Creature#10::OnEnable";
+ donpcevent "Unidentified Creature#11::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#09::OnDisable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ donpcevent "Unidentified Creature#11::OnEnable";
+ }
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#09";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#09";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,2);
+ if (.@kafre_who == 2) {
+ donpcevent "Unidentified Creature#09::OnDisable";
+ donpcevent "Unidentified Creature#10::OnEnable";
+ donpcevent "Unidentified Creature#11::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#09::OnDisable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ donpcevent "Unidentified Creature#11::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getcharid(1) != 0) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#09::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name06$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#09::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#09::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_scene01,158,139,4 script Unidentified Creature#10 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#10";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#10";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,2);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#09::OnEnable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ donpcevent "Unidentified Creature#11::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#09::OnDisable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ donpcevent "Unidentified Creature#11::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if (getpartyleader(getcharid(1),1) == getcharid(3)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#10::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name06$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#10::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#10::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+ma_scene01,167,112,6 script Unidentified Creature#11 572,2,2,{
+ end;
+
+OnEnable:
+ hideoffnpc "Unidentified Creature#11";
+ end;
+
+OnDisable:
+ hideonnpc "Unidentified Creature#11";
+ end;
+
+OnBingx2:
+ set .@kafre_who, rand(1,2);
+ if (.@kafre_who == 1) {
+ donpcevent "Unidentified Creature#09::OnEnable";
+ donpcevent "Unidentified Creature#10::OnDisable";
+ } else {
+ donpcevent "Unidentified Creature#10::OnEnable";
+ }
+ end;
+
+OnTouch:
+ if ((checkquest(4229,PLAYTIME) > 0) && (checkquest(9223,PLAYTIME) > 0) && (checkquest(12278,PLAYTIME) > 0)) {
+ if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
+ donpcevent "Unidentified Creature#11::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you, blushes and then disappears.";
+ close;
+ }
+ set .@slot_name, rand(1,5);
+ if (.@slot_name == 1 || .@slot_name == 3 || .@slot_name == 5) {
+ set $ma_name06$,strcharinfo(0);
+ }
+ donpcevent "Unidentified Creature#11::OnBingx2";
+ mes "The unidentified creature gets a glimpse of you and disappears.";
+ close;
+ }
+ donpcevent "Unidentified Creature#11::OnBingx2";
+ mes "The unidentified creature looks at you and runs away.";
+ close;
+}
+
+malaya,227,311,4 script Grandma#ma01 575,{
+
+ if (malaya_hi < 10) {
+ mes "[Grandma]";
+ mes "Youre not from around here? Take care of yourself.";
+ next;
+ mes "[Grandma]";
+ mes "Im worried because my daughter-in-law is pregnant. I hope nothing goes wrong.";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Grandma]";
+ mes "I heard there is an outsider that is helping the village.";
+ next;
+ mes "[Grandma]";
+ mes "Then my daughter-in-law will be safe.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Grandma]";
+ mes "Heard there is this" + .@name$ + "that follows Meoneonuncle around.";
+ next;
+ mes "[Grandma]";
+ mes "I will cheer for their forbidden love.";
+ close;
+ }
+ mes "[Grandma]";
+ mes "Im worried about my pregnant daughter-in-law. Hope Meoneonuncle wont bother her.";
+ next;
+ select("Meoneonuncle?");
+ mes "[Grandma]";
+ mes "Not from around here? Let me tell you why even a foreigner like you should be careful.";
+ next;
+ mes "[Grandma]";
+ mes "Meoneonuncle was a woman who lived in Port Malaya long ago. She married a decent man and also had a baby.";
+ next;
+ mes "[Grandma]";
+ mes "But happiness never lasts forever, right? The baby was miscarried from an accident,";
+ next;
+ mes "[Grandma]";
+ mes "She eventually passed away after grieving over her lost baby for days.";
+ next;
+ select("That is a sad story.");
+ mes "[Grandma]";
+ mes "Meoneonuncle then started to appear in spirit and take away babies from pregnant women in the village.";
+ next;
+ mes "[Grandma]";
+ mes "If you ever walk around Port Malaya at night.";
+ next;
+ mes "[Grandma]";
+ mes "and hear either tik-tik or wak-wak, be cautious because that is the sound of Meoneonuncles wings flapping.";
+ close;
+}
+
+malaya,189,263,4 script Drumming Young Man #ma02 578,{
+
+ if (malaya_hi < 10) {
+ emotion e_omg;
+ mes "[Drumming Young Man]";
+ mes "Ugh... its just like that time before";
+ next;
+ emotion e_omg;
+ mes "[Drumming Young Man]";
+ mes "when the moon was swallowed. Argh!";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Drumming Young Man]";
+ mes "I think the village was saved by a nameless adventurer.";
+ next;
+ emotion e_sigh;
+ mes "[Drumming Young Man]";
+ mes "Phew... I thought Bakonawa appeared again.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Drumming Young Man]";
+ mes "" + .@name$ + "is said to have stopped Bakonawa from swallowing the moon. Isnt it awesome? I'm so relieved.";
+ close;
+ }
+ mes "[Drumming Young Man]";
+ mes "Bakonawa is also known as the 'monster that swallows the moon' in Port Malaya.";
+ next;
+ mes "[Drumming Young Man]";
+ mes "But I know that Bakonawa could also 'swallow people', too.";
+ next;
+ select("Huk! Then isn't it dangerous?");
+ emotion e_gg;
+ mes "[Drumming Young Man]";
+ mes "Ha ha ha. There is a way to stop Bakonawa from swallowing a person.";
+ next;
+ mes "[Drumming Young Man]";
+ mes "Yes, there is a weakness to even the worst monster that swallowed 6 moons already.";
+ next;
+ select("Wow. What is it?");
+ mes "[Drumming Young Man]";
+ mes "He is sensitive to noise so when hes about to swallow the moon!!";
+ next;
+ mes "[Drumming Young Man]";
+ mes "Thats your chance!! It doesnt matter what kind of noise!! Whether its a caldron, symbol, drum, pot or fry pan, just keep on making noise.";
+ next;
+ mes "[Drumming Young Man]";
+ mes "Then Bakonawa will get surprised, spit out the moon and run away!";
+ next;
+ mes "[Drumming Young Man]";
+ mes "Carry a drum around with you. Youll find it handy.";
+ close;
+}
+
+malaya,270,59,4 script Port Guard#ma03 570,{
+
+ if (malaya_hi < 10) {
+ emotion e_swt2;
+ mes "[Port Guard]";
+ mes "The village is chaotic these days. Is it okay for me to be off like this?";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ emotion e_no;
+ mes "[Port Guard]";
+ mes "The village is somewhat stable now but you should still be careful walking around at night.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Port Guard]";
+ mes "" + .@name$ + "is said to escape from Bu waya alive after being captured. This person must be powerful.";
+ close;
+ }
+ emotion e_omg;
+ mes "[Port Guard]";
+ mes "What!! Port all clear!!";
+ next;
+ mes "[Port Guard]";
+ mes "Huh? Youre not the captain? You scared me. Shoot! Ah, right! I received an official document for travelers.";
+ next;
+ select("What document?");
+ mes "[Port Guard]";
+ mes "It says that travelers should be careful of monsters when walking in the village at night.";
+ next;
+ mes "[Port Guard]";
+ mes "Buwaya dont come to the village often but there are cases when they snatch people in the boxes they carry at night.";
+ next;
+ mes "[Port Guard]";
+ mes "Huh?! And it says here that a monster named Wokwok especially visits the village often at night and should be avoided.";
+ next;
+ if (select("I see.:Is there any way to prevent them from coming?") == 1) {
+ mes "[Port Guard]";
+ mes "Be careful at night!";
+ close;
+ }
+ mes "[Port Guard]";
+ mes "They say you can attack Buwayas weak point inside the box they carry if you ever get caught in one.";
+ next;
+ mes "[Port Guard]";
+ mes "And you should run into the nearest building when you hear Wokwoks wings fluttering from afar.";
+ next;
+ emotion e_hmm;
+ mes "[Port Guard]";
+ mes "But if the fluttering sound is small or if you dont hear anything, lets just say you should prepare for attack and with for luck.";
+ close;
+}
+
+malaya,88,252,4 script Little Girl #ma04 576,{
+
+ if (malaya_hi < 10) {
+ mes "[Little Girl]";
+ mes "Im scared but I have to visit the fairy in the forest.";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Little Girl]";
+ mes "He he. Father said I can visit the fairy in the forest when the village calms down.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Little Girl]";
+ mes "A little while ago" + .@name$ + "came and told me a fun story.";
+ next;
+ mes "[Little Girl]";
+ mes "'I planted a pair of pear trees in the yard.'";
+ mes "He he. Isnt it fun?" + .@name$ + "seems like a fun person.";
+ close;
+ }
+ mes "[Little Girl]";
+ mes "Father said I wont catch skin diseases once Im friends with the fairy from the forest.";
+ next;
+ select("What is this fairy?");
+ mes "[Little Girl]";
+ mes "Encanto! Encanto fairies live in big trees or rocks in the forest. There are boy fairies and girl fairies,";
+ next;
+ mes "[Little Girl]";
+ mes "but boy fairies are prettier. Why is that?";
+ close;
+}
+
+malaya,219,92,6 script Little Kid#ma05 577,{
+
+ if (malaya_hi < 10) {
+ mes "[Little Kid]";
+ mes "My mom told me not to play outside because its dangerous. Why?";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Little Kid]";
+ mes "My mom told me I can play but only in Port Malaya.";
+ next;
+ mes "[Little Kid]";
+ mes "He he. But I never thought of going outside of Port Malaya.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Little Kid]";
+ mes "I heard someone took Jejelings hat in Baryo Mahiwaga.";
+ next;
+ mes "[Little Kid]";
+ mes "Why would someone steal a monsters hat?" + .@name$ + "must be desperate.";
+ next;
+ mes "[Little Kid]";
+ mes "Oh wait! This was suppose to be a secret. Shsh! Please pretend you didnt hear me.";
+ close;
+ }
+ mes "[Little Kid]";
+ mes "I think someone is stealing all the hats in the village.";
+ next;
+ mes "[Little Kid]";
+ mes "The hat my mom washed yesterday disappeared. Our neighbor's hat also disappeared a few days ago.";
+ next;
+ mes "[Little Kid]";
+ mes "Hmm... do you think Jejeling took it?";
+ next;
+ mes "[Little Kid]";
+ mes "I visited a friend in Baryo Mahiwaga and he said he saw Jejeling wearing the missing hat...";
+ close;
+}
+
+malaya,363,283,4 script Local#ma06 582,{
+
+ if (malaya_hi < 10) {
+ mes "[Local]";
+ mes "Hmm... is it time to be careful of the witches' curse?";
+ next;
+ mes "[Local]";
+ mes "Beware of Mongkukurums needle, foreigner.";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Local]";
+ mes "Welcome to Port Malaya, foreigner..";
+ next;
+ mes "[Local]";
+ mes "The village is chaotic these days. If you see someone with red eyes, try not to stare at their eyes.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,6);
+ if (.@name_tak02 == 1) {
+ mes "[Local]";
+ mes "Be careful walking around the village at night." + .@name$ + "was taken down by Wokwok.";
+ close;
+ } else if (.@name_tak02 == 2) {
+ mes "[Local]";
+ mes "" + .@name$ + "is said to successfully tame a Tikbalang. This person must be courageous. Wonder if Ill get to see this tamed Tikbalang? Çѹø º¸°í ½ÍÀºµ¥..";
+ close;
+ } else if (.@name_tak02 == 3) {
+ mes "[Local]";
+ mes "Have you ever seen Bongisungisu? I heard" + .@name$ + "is hunting down Bongisungisus.";
+ close;
+ } else if (.@name_tak02 == 4) {
+ mes "[Local]";
+ mes "If you plan to go out of the village, be careful of Tiucknuc" + .@name$ + "is said to be tricked by Tiucknuc and had to go to the to the hospital.";
+ close;
+ }
+ mes "[Local]";
+ mes "The village is chaotic these days. Looks like Mongkukurum is back in the village.";
+ next;
+ select("Mongkukurum?");
+ mes "[Local]";
+ mes "A monster that is also called witch. Looks like a person and also wears clothes.";
+ next;
+ mes "[Local]";
+ mes "Mongkukurum makes a doll out of the people it sees and curses it with needles.";
+ next;
+ select("Is there a way to recognize this monster?");
+ mes "[Local]";
+ mes "There is one way. All Mongkukurum have red eyes.";
+ next;
+ mes "[Local]";
+ mes "You can recognize them by their eyes but! You must remember one thing.";
+ next;
+ mes "[Local]";
+ mes "You will be captivated by Mongkukurum if you stare at their eyes too long.";
+ next;
+ mes "[Local]";
+ mes "Never ever stare into their eyes for too long.";
+ close;
+}
+
+malaya,41,127,6 script Old Man #ma07 574,{
+
+ if (malaya_hi < 10) {
+ mes "[Old Man]";
+ mes "Foreigners are not welcomed that much when our village is chaotic like these days.";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Old Man]";
+ mes "You are out of luck visiting the village at a time like this and not being welcomed.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ mes "[Old Man]";
+ mes "" + .@name$ + "is said to throw out Jellopy in this village.";
+ next;
+ mes "[Old Man]";
+ mes "Tsk, tsk... Must be a person that isnt worthy of a Jellopy.";
+ close;
+ }
+ mes "[Old Man]";
+ mes "You must also look out to see if Bangungot lives in a tree you are about to cut down.";
+ next;
+ mes "[Old Man]";
+ mes "Because strange things happen if logs from trees that Bangungot lived in are used as building pillars.";
+ next;
+ select("What happens?");
+ mes "[Old Man]";
+ mes "Well, for a Bangungot, it means losing its home so they get revengeful.";
+ next;
+ mes "[Old Man]";
+ mes "When you try to sleep near the pillar, it will keep awake by playing pranks at first.";
+ next;
+ mes "[Old Man]";
+ mes "But as time goes by and their vengeance grow, they sit on top of you until you suffocate.";
+ next;
+ select("Oh, gosh...");
+ mes "[Old Man]";
+ mes "Ha ha ha. There are no Bangungots in normal pillars, so don't lose sleep on it.";
+ close;
+}
+
+malaya,63,185,4 script Woman#ma08 583,{
+
+ if (malaya_hi < 10) {
+ mes "[Woman]";
+ mes "I dont have anything to share with you.";
+ close;
+ } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ mes "[Woman]";
+ mes "Im worried about the children. I hope they arent terrified from whats going on in the village.";
+ close;
+ }
+ set .@name_tak01, rand(1,6);
+ if (.@name_tak01 == 1){
+ set .@name$,$ma_name01$;
+ }else if (.@name_tak01 == 2){
+ set .@name$,$ma_name02$;
+ }else if (.@name_tak01 == 3){
+ set .@name$,$ma_name03$;
+ }else if (.@name_tak01 == 4){
+ set .@name$,$ma_name04$;
+ }else if (.@name_tak01 == 5){
+ set .@name$,$ma_name05$;
+ }else{
+ set .@name$,$ma_name06$;
+ }
+ set .@name_tak02, rand(1,3);
+ if (.@name_tak02 == 2) {
+ set .@nongdum, rand(1,10);
+ if (.@nongdum == 1) {
+ mes "[Woman]";
+ mes "I like fun stories. Not so long ago," + .@name$ + "came and told me a funny story.";
+ next;
+ mes "[Woman]";
+ mes "'My aunt stepped on an ant.'";
+ next;
+ } else if (.@nongdum == 2) {
+ mes "[Woman]";
+ mes "I like fun stories. Not so long ago" + .@name$ + "came and told me a funny story.";
+ next;
+ mes "[Woman]";
+ mes "'You eat chili on a chilly day.'";
+ next;
+ } else if (.@nongdum == 3) {
+ mes "[Woman]";
+ mes "I like fun stories. Not so long ago" + .@name$ + "came and told me a funny story.";
+ next;
+ mes "[Woman]";
+ mes "'Why are you putting flour on that flower?'";
+ next;
+ } else if (.@nongdum == 4) {
+ mes "[Woman]";
+ mes "I like fun stories. Not so long ago" + .@name$ + "came and told me a funny story.";
+ next;
+ mes "[Woman]";
+ mes "At the Tool Store, 'Ill buy the needle and thread! You buy the hay to lose the needle in.'";
+ next;
+ mes "[Woman]";
+ mes "said that and was kicked out of the Tool Store.";
+ next;
+ } else if (.@nongdum == 5) {
+ mes "[Woman]";
+ mes "A Kafra Employee Im friends with told me a story about a customer.";
+ next;
+ mes "[Woman]";
+ mes "'Kafra, the wise never marry and when they marry, they become otherwise.'";
+ next;
+ mes "[Woman]";
+ mes "He he... I do like funny stories but a bit difficult for my taste.";
+ close;
+ } else {
+ mes "[Woman]";
+ mes "I like fun stories. Oh by the way!" + .@name$ + ", love is photogenic. Dont you agree?";
+ next;
+ mes "[Woman]";
+ mes "It needs darkness to develop.";
+ next;
+ }
+ mes "[Woman]";
+ mes "He he. Isnt it fun?";
+ close;
+ }
+ mes "[Woman]";
+ mes "If you hear a baby crying from the forest outside of the village, never go near it.";
+ next;
+ select("Why?");
+ mes "[Woman]";
+ mes "There is a monster named Tiucknuc that roams around outside of the village and cries after transforming himself into a baby.";
+ next;
+ mes "[Woman]";
+ mes "But when kind travelers pick up the baby, it turns back into its original form and attacks.";
+ next;
+ select("Sounds like a sneaky monster.");
+ mes "[Woman]";
+ mes "Yes, this monster is bad to trick the kindness of travelers but,";
+ next;
+ mes "[Woman]";
+ mes "there is rumor that the monster came from the soul of a baby that never been born. So sad.";
+ close;
+}
+
+function script F_Malaya_Jeepney {
+ .@mapName$ = getarg(0);
+ .@passengers = getarg(1);
+
+ // set the other messages of varying amount)
+ for (.@i = 5; .@i < getargcount(); .@i++) {
+ setd(".@msgJeepneyInfo$[" + (.@i - 5) + "]", getarg(.@i));
+ }
+
+ if (malaya_hi < 10) {
+ mes "[Jeepney Driver]";
+ mes getarg(2);
+ close;
+ } else if ((malaya_hi >= 10) && (malaya_hi < 20)) {
+ mes "[Jeepney Driver]";
+ mes getarg(3);
+ close;
+ } else {
+ mes "[Jeepney Driver]";
+ mes getarg(4);
+ next;
+ }
+ switch (select("Board [Passenger " + getmapusers(.@mapName$) + "/" + .@passengers +"]:Jeepney?:Are there any other Jeepneys?:Ah... Yes...")) {
+ case 1:
+ if (getmapusers(.@mapName$) >= .@passengers) {
+ mes "[Jeepney Driver]";
+ mes "I'm afraid the Jeepney is full.";
+ mes "I'm sorry but how about some other Jeepney?";
+ close;
+ } else {
+ mes "[Jeepney Driver]";
+ mes "Have a nice day.";
+ close2;
+ warp .@mapName$,29,24;
+ end;
+ }
+ case 2:
+ // iterate through all the jeepney information for this specific NPC
+ for (.@i = 0; .@i < getarraysize(.@msgJeepneyInfo$); .@i++) {
+ // write the name as well as the individual message
+ mes "[Jeepney Driver]";
+ mes getd(".@msgJeepneyInfo$[" + .@i + "]");
+
+ if (.@i < (getarraysize(.@msgJeepneyInfo$) - 1)) {
+ next;
+ }
+ }
+ close;
+ case 3:
+ mes "[Jeepney Driver]";
+ mes "Oh! Other Jeepneys are in operation, of course.";
+ next;
+ mes "[Jeepney Driver]";
+ mes "In Port Malaya there are 12, 30 and 60 passenger Jeepneys with 3 each operating.";
+ next;
+ mes "[Jeepney Driver]";
+ mes "Would you like to know the location of other cars?";
+ next;
+ switch (select("I'd like to know where the 12 passenger car is.:I'd like to know where the 30 passenger car is.:I'd like to know where the 60 passenger car is.")) {
+ case 1:
+ viewpoint 1, 237, 240, 1, 0xF7E009;
+ viewpoint 1, 67 , 44 , 2, 0xF7E009;
+ viewpoint 1, 282, 129, 3, 0xF7E009;
+ set .@zif_in, 12;
+ break;
+ case 2:
+ viewpoint 1, 134, 250, 4, 0xF7E009;
+ viewpoint 1, 341, 153, 5, 0xF7E009;
+ viewpoint 1, 293, 290, 6, 0xF7E009;
+ set .@zif_in, 30;
+ break;
+ case 3:
+ viewpoint 1, 242, 221, 7, 0xF7E009;
+ viewpoint 1, 62 , 245, 8, 0xF7E009;
+ viewpoint 1, 257, 58 , 9, 0xF7E009;
+ set .@zif_in, 60;
+ break;
+ }
+ mes "[Jeepney Driver]";
+ mes .@zif_in+" passenger Jeepney's location has been marked on your map.";
+ next;
+ break;
+ }
+ mes "[Jeepney Driver]";
+ mes "Have a nice trip.";
+ close;
+}
+
+malaya,237,240,4 script Jeepney Driver#01 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif01", // name of the map to warp to
+ 12, // amount of possible jeepney passengers
+
+ "UUrgghhhh.... I'm scared... so scared... what happened to this place?", // message for 10 > malaya_hi
+ "The place is still a mess... I wonder if I can operate a jeepney here...", // message for 10 >= malaya_hi < 20
+ "Ha ha ha Welcome. I am ^1561EAVol^000000, operating the 12 man Jeepney here.", // message for 20 < malaya_hi
+
+ "Is this your first time in Port Malaya?", // first entry for the monologue of variable length
+ "Jeepney drivers here also promote Jeepneys, so let me explain them to you.",
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "Since everybody has different tastes, you can see those with cool and elaborate decorations.",
+ "Of course you don't need to drive them yourselves, but you can ride them so please feel free to do so."
+ );
+}
+
+malaya,67,44,4 script Jeepney Driver#02 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif02", // name of the map to warp to
+ 12, // amount of possible jeepney passengers
+
+ "Wha... What's... Going on in that hospital...", // message for 10 > malaya_hi
+ "I think the moaning coming from the hospital has lessened...", // message for 10 >= malaya_hi < 20
+ "I'm ^1561EAChui^000000, operating a 12 man Jeepney. Hi there~", // message for 20 < malaya_hi
+
+ "Is this your first time in Port Malaya?", // first entry for the monologue of variable length
+ "Jeepney drivers here also promote Jeepneys, so let me explain them to you.",
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "I modified my Jeepney myself...",
+ "For safety reasons there's a limit to the number of passengers, and it's safe so no worries..."
+ );
+}
+
+malaya,282,129,4 script Jeepney Driver#03 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif03", // name of the map to warp to
+ 12, // amount of possible jeepney passengers
+
+ "It's not good for outsiders to have a chat... Perhaps the Mumbaki Leader may have the solution for this.", // message for 10 > malaya_hi
+ "Are you the adventurer who recently met Mumbaki? No wait... Then you shouldn't be here... Yes it's a ghost... Arghhhh...", // message for 10 >= malaya_hi < 20
+ "The name's ^1561EATop^000000, operating one of the 3 12 man Jeepneys in town.", // message for 20 < malaya_hi
+
+ "First time in town?", // first entry for the monologue of variable length
+ "Jeepney drivers here also promote Jeepneys, so let me explain them to you.",
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "They all look different depending on their drivers...",
+ "Now it is the fame of Port Malaya."
+ );
+}
+
+malaya,134,250,6 script Jeepney Driver#04 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif04", // name of the map to warp to
+ 30, // amount of possible jeepney passengers
+
+ "G...Go... Go away...", // message for 10 > malaya_hi
+ "Arghh... Scared the devil out of me... Go away... Shoo...", // message for 10 >= malaya_hi < 20
+ "^1561EABrav^000000, 30 man Jeepney driver at your service, driving as safely as I can since I get scared easily.", // message for 20 < malaya_hi
+
+ "Is this your first time in Port Malaya?", // first entry for the monologue of variable length
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "The modified cars are decorated by their operators.",
+ "You come to Port Malaya, you must ride a Jeepney.",
+ "Ha ha ha, of course you can't drive it yourself."
+ );
+}
+
+malaya,341,153,4 script Jeepney Driver#05 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif05", // name of the map to warp to
+ 30, // amount of possible jeepney passengers
+
+ "G... Ghosts in town... Hey... Do you have one on you?", // message for 10 > malaya_hi
+ "I think there are fewer ghosts now... The town is slightly quieter...", // message for 10 >= malaya_hi < 20
+ "Hi I'm ^1561EALivil^000000 operator for the 30 man Jeepney. Safety is my priority.", // message for 20 < malaya_hi
+
+ "First time in town?", // first entry for the monologue of variable length
+ "I'll give you a quick guide as a service.",
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "For safety reasons, Jeepneys have a limit on the number of passengers.",
+ "Some carried 180 people, but there aren't any of those in Port Malaya today."
+ );
+}
+
+malaya,293,290,6 script Jeepney Driver#06 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif06", // name of the map to warp to
+ 30, // amount of possible jeepney passengers
+
+ "Gu... Guards... What are the guards doing...", // message for 10 > malaya_hi
+ "Did the guards finally do something? Phew... What a rush...", // message for 10 >= malaya_hi < 20
+ "I'm ^1561EAGad^000000, the trustworthy 30 man Jeepney driver.", // message for 20 < malaya_hi
+
+ "I see you're new to this town.", // first entry for the monologue of variable length
+ "To guide travelers is also my task!! Let me explain.",
+ "Jeepneys were goods transport vehicles, now decorated and modified with Port Malaya's new technology!!",
+ "This Jeepney is my very own handiwork. Ha ha ha... It's cool right? Ha ha ha",
+ "Even though the customer is king, I can't let you drive it... Ha ha ha"
+ );
+}
+
+malaya,242,221,4 script Jeepney Driver#07 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif07", // name of the map to warp to
+ 60, // amount of possible jeepney passengers
+
+ "Oh no... I think the whole village is bewitched by ghosts... Maybe... I should give the Mumbaki Leader a visit...", // message for 10 > malaya_hi
+ "Ghost... I'm sure the Mumbaki Leader knows how to get rid of these ghosts...", // message for 10 >= malaya_hi < 20
+ "^1561EAHott^000000, at your service, the safest 60 man Jeepney Operator.", // message for 20 < malaya_hi
+
+ "Jeepney is the public transportation of Port Malaya.", // first entry for the monologue of variable length
+ "Therefore they are everywhere. And it's free! I know they all have different passenger limits, but that's no problem because they're everywhere."
+ );
+}
+
+malaya,62,245,6 script Jeepney Driver#08 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif08", // name of the map to warp to
+ 60, // amount of possible jeepney passengers
+
+ "Shoo~ Be gone if you're a ghost, and go away even if you're human~ Shoo~", // message for 10 > malaya_hi
+ "Hey... You... Are human right? Right? Huh? Say you are... Please...", // message for 10 >= malaya_hi < 20
+ "Hullo, I'm ^1561EAMuyan^000000, operator of this 60 man Jeepney. Nice to meet you.", // message for 20 < malaya_hi
+
+ "Jeepneys are public transport, so safety is our priority.", // first entry for the monologue of variable length
+ "My Jeepney received the best class of Port Malaya, a '60 man Jeepney' certificate.",
+ "Meaning!! That it is perfectly safe!! Don't you worry about the ride."
+ );
+}
+
+malaya,257,58,6 script Jeepney Driver#09 582,{
+ callfunc(
+ "F_Malaya_Jeepney", // function to call
+ "ma_zif09", // name of the map to warp to
+ 60, // amount of possible jeepney passengers
+
+ "...You're an outsider... Don't go touching anything and be careful in town...", // message for 10 > malaya_hi
+ "The town is still quite dangerous. Best not touch anything until it is safe.", // message for 10 >= malaya_hi < 20
+ "Hi there. I'm ^1561EAGramma^000000, Operator of the 60 man Jeepney of Port Malaya.", // message for 20 < malaya_hi
+
+ "Is this your first time in Port Malaya?", // first entry for the monologue of variable length
+ "We Jeepney drivers here also promote Jeepneys, so let me explain them to you.",
+ "Jeepneys were first developed to transport goods quickly, but are now used as public transport.",
+ "Since everybody have different tastes, you can see those with cool and elaborate decorations.",
+ "Of course you don't need to drive them yourselves, but you can ride them so please feel free to do so."
+ );
+} \ No newline at end of file
diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt
index 5c2a93aee..80c1af43c 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mora Village
//===== By: ==================================================
//= SuperHulk
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Mora Town Script
//===== Additional Comments: =================================
diff --git a/npc/re/guides/guides_alberta.txt b/npc/re/guides/guides_alberta.txt
index 6c773c535..9b1b86a92 100644
--- a/npc/re/guides/guides_alberta.txt
+++ b/npc/re/guides/guides_alberta.txt
@@ -1,17 +1,17 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Alberta Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Alberta
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
-//============================================================
+//============================================================
alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
cutin "prt_soldier",2;
diff --git a/npc/re/guides/guides_aldebaran.txt b/npc/re/guides/guides_aldebaran.txt
index f74714fd5..9593e0b2e 100644
--- a/npc/re/guides/guides_aldebaran.txt
+++ b/npc/re/guides/guides_aldebaran.txt
@@ -1,17 +1,17 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Al De Baran Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Al De baran
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
-//============================================================
+//============================================================
aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
cutin "prt_soldier",2;
diff --git a/npc/re/guides/guides_amatsu.txt b/npc/re/guides/guides_amatsu.txt
index 431707526..4ab124e27 100644
--- a/npc/re/guides/guides_amatsu.txt
+++ b/npc/re/guides/guides_amatsu.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Amatsu Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Amatsu.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
-//============================================================
+//============================================================
amatsu,202,91,3 script Amatsu Guide#amatsu 758,{
mes "[Amachang]";
diff --git a/npc/re/guides/guides_ayothaya.txt b/npc/re/guides/guides_ayothaya.txt
index b6da9cba5..135e34671 100644
--- a/npc/re/guides/guides_ayothaya.txt
+++ b/npc/re/guides/guides_ayothaya.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Ayothaya Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Ayothaya
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Added missing case. [Joseph]
-//============================================================
+//============================================================
ayothaya,203,169,4 script Ayothaya Guide Noi#01ay 839,{
mes "[Noi]";
diff --git a/npc/re/guides/guides_brasilis.txt b/npc/re/guides/guides_brasilis.txt
index 6e219b582..b94dc87f0 100644
--- a/npc/re/guides/guides_brasilis.txt
+++ b/npc/re/guides/guides_brasilis.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Brasilis Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Brasilis
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version, Renewal guide.
//= 1.1 Added a missing close.
-//============================================================
+//============================================================
brasilis,219,97,3 script Brasilis Guide 478,{
mes "[Brasilis Guide]";
diff --git a/npc/re/guides/guides_comodo.txt b/npc/re/guides/guides_comodo.txt
index 2bea02527..59988459e 100644
--- a/npc/re/guides/guides_comodo.txt
+++ b/npc/re/guides/guides_comodo.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Comodo Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Comodo.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//============================================================
comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
mes "[Comodo Guide]";
diff --git a/npc/re/guides/guides_dewata.txt b/npc/re/guides/guides_dewata.txt
index f554186a4..28b8696c8 100644
--- a/npc/re/guides/guides_dewata.txt
+++ b/npc/re/guides/guides_dewata.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Dewata Guide
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Dewata.
diff --git a/npc/re/guides/guides_dicastes.txt b/npc/re/guides/guides_dicastes.txt
index 99beb318d..d2e079da8 100644
--- a/npc/re/guides/guides_dicastes.txt
+++ b/npc/re/guides/guides_dicastes.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= El Dicastes Guide
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of El Dicastes.
diff --git a/npc/re/guides/guides_einbroch.txt b/npc/re/guides/guides_einbroch.txt
index 13dba9c9b..6d28cffef 100644
--- a/npc/re/guides/guides_einbroch.txt
+++ b/npc/re/guides/guides_einbroch.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Einbroch, and Einbech Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Einbroch, and Einbech
diff --git a/npc/re/guides/guides_geffen.txt b/npc/re/guides/guides_geffen.txt
index 64ed199d0..de32bf185 100644
--- a/npc/re/guides/guides_geffen.txt
+++ b/npc/re/guides/guides_geffen.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Geffen Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Geffen.
diff --git a/npc/re/guides/guides_gonryun.txt b/npc/re/guides/guides_gonryun.txt
index 1dcf03e1b..9aa3e2371 100644
--- a/npc/re/guides/guides_gonryun.txt
+++ b/npc/re/guides/guides_gonryun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Kunlun Guide
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Kunlun.
diff --git a/npc/re/guides/guides_hugel.txt b/npc/re/guides/guides_hugel.txt
index f64e9b456..e80146ff3 100644
--- a/npc/re/guides/guides_hugel.txt
+++ b/npc/re/guides/guides_hugel.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Hugel Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Hugel.
diff --git a/npc/re/guides/guides_izlude.txt b/npc/re/guides/guides_izlude.txt
index 4824ffdc8..6f460ebcc 100644
--- a/npc/re/guides/guides_izlude.txt
+++ b/npc/re/guides/guides_izlude.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Izlude Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Izlude
diff --git a/npc/re/guides/guides_juno.txt b/npc/re/guides/guides_juno.txt
index 5f0a7f471..8af05d5ae 100644
--- a/npc/re/guides/guides_juno.txt
+++ b/npc/re/guides/guides_juno.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Juno Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Juno.
diff --git a/npc/re/guides/guides_lighthalzen.txt b/npc/re/guides/guides_lighthalzen.txt
index 6fa474421..fcfd1cca8 100644
--- a/npc/re/guides/guides_lighthalzen.txt
+++ b/npc/re/guides/guides_lighthalzen.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Lighthalzen Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Lighthalzen.
diff --git a/npc/re/guides/guides_louyang.txt b/npc/re/guides/guides_louyang.txt
index 9246c26c5..e5ff1d4c6 100644
--- a/npc/re/guides/guides_louyang.txt
+++ b/npc/re/guides/guides_louyang.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Louyang Guide
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Louyang
diff --git a/npc/re/guides/guides_lutie.txt b/npc/re/guides/guides_lutie.txt
index a95027688..121744a24 100644
--- a/npc/re/guides/guides_lutie.txt
+++ b/npc/re/guides/guides_lutie.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Lutie Guide
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Lutie.
diff --git a/npc/re/guides/guides_mora.txt b/npc/re/guides/guides_mora.txt
new file mode 100644
index 000000000..0cb0db35d
--- /dev/null
+++ b/npc/re/guides/guides_mora.txt
@@ -0,0 +1,215 @@
+//===== rAthena Script =======================================
+//= Mora Guides
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Guides for the city of Mora.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+mora,25,158,5 script Raffle Guide#north 516,{
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "Welcome to the Village of Mora.";
+ mes "I can tell you whatever you want to know about the village~!";
+ next;
+ switch(select("[ Inn ]:[ Residences ]:[ Stores ]:[ Warehouse ]:Remove markers from the mini-map:Quit")) {
+ case 1:
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "We have an inn but we can't make travelers sleep like Raffles...";
+ mes "Get some rest!";
+ viewpoint 1,44,134,0,0x0A82FF;
+ close;
+ case 2:
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "This is where Raffles' houses are...";
+ mes "But keep the noise down because people are asleep~!";
+ viewpoint 1,119,170,1,0xAAFF00;
+ close;
+ case 3:
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "If you are looking for souvenirs, you can buy some in this district.";
+ viewpoint 1,112,110,2,0xDA70D6;
+ close;
+ case 4:
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "This is where they keep all kinds of packages and groceries.";
+ mes "There are many things that don't belong to the Raffles, so be careful!";
+ viewpoint 1,182,161,3,0xFF1493;
+ close;
+ case 5:
+ mes "[Raffoh]";
+ mes "Laoh~! I'm removing them all~!";
+ viewpoint 2,1,1,0,0xFFFF00;
+ viewpoint 2,1,1,1,0xFFFF00;
+ viewpoint 2,1,1,2,0xFFFF00;
+ viewpoint 2,1,1,3,0xFFFF00;
+ close;
+ case 6:
+ mes "[Raffoh]";
+ mes "Laoh~!";
+ mes "What kinds of sports are popular in your homeland?";
+ close;
+ }
+}
+
+mora,167,76,3 script Raffle Guide#east 522,{
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "This, this is the Village of Mora.";
+ mes "Uh... which place do you want to know about?";
+ next;
+ switch(select("[ Inn ]:[ Residences ]:[ Stores ]:[ Warehouse ]:Remove markers from the mini-map:Quit")) {
+ case 1:
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "Are, are you sleepy?";
+ mes "You can sleep here uh!! Put your stuff down uh! And-- and---";
+ viewpoint 1,44,134,0,0x0A82FF;
+ close;
+ case 2:
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "Why are you trying to find out where I live--?";
+ mes "Uh, no... I'd like to live with my friends--";
+ viewpoint 1,119,170,1,0xAAFF00;
+ close;
+ case 3:
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "There are a lot of things in those stores-- oh, there is a hot spring also uh!";
+ viewpoint 1,112,110,2,0xDA70D6;
+ close;
+ case 4:
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "You can't just march into the warehouse, or you'll be in trouble--";
+ mes "Many of the things there are from outside the village-- Raffuh has been in trouble several times--";
+ viewpoint 1,182,161,3,0xFF1493;
+ close;
+ case 5:
+ mes "[Raffuh]";
+ mes "Are you sure you want them removed?";
+ viewpoint 2,1,1,0,0xFFFF00;
+ viewpoint 2,1,1,1,0xFFFF00;
+ viewpoint 2,1,1,2,0xFFFF00;
+ viewpoint 2,1,1,3,0xFFFF00;
+ close;
+ case 6:
+ mes "[Raffuh]";
+ mes "Uh...";
+ mes "Being a guide doesn't help much with my social phobia--";
+ close;
+ }
+}
+
+mora,115,138,5 script Raffle Guide#center 524,{
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "Welcome to the Village of Mora la!";
+ mes "If you need to know anything about the village, just ask me la!";
+ next;
+ switch(select("[ Inn ]:[ Residences ]:[ Stores ]:[ Warehouse ]:Remove markers from the mini-map:Quit.")) {
+ case 1:
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "This is where travelers can rest la!";
+ mes "The innkeeper is very kind, so try to talk to him a lot la!";
+ viewpoint 1,44,134,0,0x0A82FF;
+ close;
+ case 2:
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "This is where Raffles live la!";
+ mes "Head over there la!";
+ viewpoint 1,119,170,1,0xAAFF00;
+ close;
+ case 3:
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "So you want to buy something la?";
+ mes "There are a lot of stores and cafes, so check them out la!";
+ viewpoint 1,112,110,2,0xDA70D6;
+ close;
+ case 4:
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "The warehouse is where you keep your valuables la!";
+ mes "Be careful so you don't get robbed la!";
+ viewpoint 1,182,161,3,0xFF1493;
+ close;
+ case 5:
+ mes "[Raffla]";
+ mes "Okay, I'll remove all the markers from the map la!";
+ viewpoint 2,1,1,0,0xFFFF00;
+ viewpoint 2,1,1,1,0xFFFF00;
+ viewpoint 2,1,1,2,0xFFFF00;
+ viewpoint 2,1,1,3,0xFFFF00;
+ close;
+ case 6:
+ mes "[Raffla]";
+ mes "Lala!";
+ mes "I really don't know how my family ends up doing these things la!";
+ close;
+ }
+}
+
+mora,72,51,3 script Raffle Guide#south 518,{
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "Welcome to the Village of Mora.";
+ mes "If you need to know anything about the village, just ask me.";
+ next;
+ switch(select("[ Inn ]:[ Residences ]:[ Stores ]:[ Warehouse ]:Remove markers from the mini-map:Quit")) {
+ case 1:
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "This is where travelers can rest.";
+ mes "The innkeeper is very kind, so get to know him.";
+ viewpoint 1,44,134,0,0x0A82FF;
+ close;
+ case 2:
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "This is where Raffles live.";
+ mes "Are you coming to Raffli's house li? I'm so happy.";
+ viewpoint 1,119,170,1,0xAAFF00;
+ close;
+ case 3:
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "There are a lot of things I want to buy.";
+ mes "You can find tons of places to eat and shop, and tons of things to buy.";
+ viewpoint 1,112,110,2,0xDA70D6;
+ close;
+ case 4:
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "The warehouse is where you keep your valuables.";
+ mes "But don't get robbed.";
+ viewpoint 1,182,161,3,0xFF1493;
+ close;
+ case 5:
+ mes "[Raffli]";
+ mes "I'll remove all the markers.";
+ viewpoint 2,1,1,0,0xFFFF00;
+ viewpoint 2,1,1,1,0xFFFF00;
+ viewpoint 2,1,1,2,0xFFFF00;
+ viewpoint 2,1,1,3,0xFFFF00;
+ close;
+ case 6:
+ mes "[Raffli]";
+ mes "Lali?";
+ mes "Brother seems to be upset today li. Did I do anything wrong?";
+ close;
+ }
+}
diff --git a/npc/re/guides/guides_morroc.txt b/npc/re/guides/guides_morroc.txt
index 302fbf7e3..e9e662ecd 100644
--- a/npc/re/guides/guides_morroc.txt
+++ b/npc/re/guides/guides_morroc.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morroc Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Morroc and Morroc Ruins.
diff --git a/npc/re/guides/guides_moscovia.txt b/npc/re/guides/guides_moscovia.txt
index abee9c46f..6627021f3 100644
--- a/npc/re/guides/guides_moscovia.txt
+++ b/npc/re/guides/guides_moscovia.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Moscovia Guide
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Moscovia.
diff --git a/npc/re/guides/guides_niflheim.txt b/npc/re/guides/guides_niflheim.txt
index 647166c02..32790bd44 100644
--- a/npc/re/guides/guides_niflheim.txt
+++ b/npc/re/guides/guides_niflheim.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Niflheim Guide
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Niflehim.
diff --git a/npc/re/guides/guides_payon.txt b/npc/re/guides/guides_payon.txt
index 1bda6c6dd..e07ff5bfe 100644
--- a/npc/re/guides/guides_payon.txt
+++ b/npc/re/guides/guides_payon.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Payon Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Payon.
diff --git a/npc/re/guides/guides_prontera.txt b/npc/re/guides/guides_prontera.txt
index 717672555..f744a7a8c 100644
--- a/npc/re/guides/guides_prontera.txt
+++ b/npc/re/guides/guides_prontera.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Prontera Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Prontera
diff --git a/npc/re/guides/guides_rachel.txt b/npc/re/guides/guides_rachel.txt
index 9cae73a57..e0aac2b8f 100644
--- a/npc/re/guides/guides_rachel.txt
+++ b/npc/re/guides/guides_rachel.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Rachel Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Rachel
diff --git a/npc/re/guides/guides_umbala.txt b/npc/re/guides/guides_umbala.txt
index ef4d2bc4a..defb6e714 100644
--- a/npc/re/guides/guides_umbala.txt
+++ b/npc/re/guides/guides_umbala.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Umbala Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Umbala
diff --git a/npc/re/guides/guides_veins.txt b/npc/re/guides/guides_veins.txt
index c01c880af..745872235 100644
--- a/npc/re/guides/guides_veins.txt
+++ b/npc/re/guides/guides_veins.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Veins Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Veins
diff --git a/npc/re/guild/invest_main.txt b/npc/re/guild/invest_main.txt
new file mode 100644
index 000000000..e8c2a011a
--- /dev/null
+++ b/npc/re/guild/invest_main.txt
@@ -0,0 +1,1678 @@
+//===== rAthena Script =======================================
+//= Hall of Abyss - Core Scripts
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Expansion for War of Emperium FE.
+//= Invest in each realm to unlock new maps:
+//= - Guild Dungeon F2, total 20,000,000z.
+//= - Hall of Abyss, total 70,000,000z.
+//===== Additional Comments: =================================
+//= 1.0 First version. Missing official times. [Euphy]
+//============================================================
+
+// Global Variables
+//============================================================
+// Note: an asterisk (*) represents any realm (prt, pay, gef, alde).
+/*
+$2011_agit_invest
+-- 0: Inactive.
+-- 1: Investment in progress.
+-- 2: Investment results calculating.
+-- 4: Investment calculations complete (only when at least one $*_invest_result is 3).
+-- 11-21: Tie, revote required.
+
+$agit_result_notice
+-- 0: Inactive.
+-- 1-12: Interim statements (displaying $@vfund_*x) available.
+
+$agit_result_timer
+-- 0: Inactive.
+-- 0-59: Time elapsed during investment (in hours).
+
+$agit_revoting_timer
+-- 0: Inactive.
+-- 0-29: Time elapsed during revote (in minutes).
+-- 30: Revote closed.
+-- 31: Revote results calculating.
+
+$*_invest_result
+-- 0: No data.
+-- 1: Realm not connected.
+-- 2: Guild Dungeon F2 open.
+-- 3: Abyss Gate (Hall of Abyss and Gulid Dungeon F2) open.
+
+$fund_*[01-05]
+-- Investment units per guild castle.
+$fund_*_extra
+-- Investment units per realm.
+
+$@vfund_*[01-05]
+$@vfund_*_extra
+-- Investment units, used in interim statements only.
+*/
+
+// Investment Functions & Controller
+//============================================================
+// Note: The time in this section are almost entirely custom.
+
+- script #invest_timer -1,{
+OnClock0000: // Open investments on Wed (1 hour after WoE)
+ if (gettime(4) == 3 && !agitcheck()) {
+ set $2011_agit_invest,1;
+ donpcevent "#fund_master::OnInvest_start";
+ }
+ end;
+OnClock1200: // Close investments on Fri (60 hours after investments open)
+ if (gettime(4) == 5 && !agitcheck()) {
+ set $2011_agit_invest,2;
+ donpcevent "#fund_master::OnInvest_stop";
+ }
+ end;
+OnClock1235: // Open dungeons on Fri (at least 31 minutes after investments close)
+ if (gettime(4) == 5 && !agitcheck())
+ donpcevent "#fund_master::OnResult";
+ end;
+OnClock2000: // Close dungeons on Tues (1 hour before WoE)
+ if (gettime(4) == 2)
+ donpcevent "#fund_master::OnReset";
+ end;
+}
+
+function script F_Invest_Status {
+ set .@day, gettime(4);
+ set .@hour, gettime(3);
+ set .@minute, gettime(2);
+
+ // Inactive.
+ if (agitcheck())
+ return 0;
+
+ // Open for investments.
+ if (.@day >= 3 && (.@day < 5 || (.@day == 5 && .@hour <= 12)))
+ return 1;
+
+ // Investments closed, calculating results.
+ if (.@day == 5 && .@hour == 12 && .@minute < 35)
+ return 2;
+
+ // Calculations complete, dungeons open.
+ if ((.@day == 5 && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > 5 ||
+ .@day < 2 || (.@day == 2 && .@hour < 20))
+ return 3;
+
+ // Dungeons closed.
+ return 0;
+}
+
+//callfunc "F_Invest_Abyss","<variable>","<NPC name>"{,"<addon message>"};
+function script F_Invest_Abyss {
+ mes "There are 2 ways to invest, by Zeny or the Investment Certificate given out by the Cat Paw Merchant Guild.";
+ mes "Which way would you like to make your investment?";
+ next;
+ switch(select("Invest with Zeny.:Invest with Investment Certificates.:Cancel")) {
+ case 1:
+ mes getarg(1);
+ mes "So you've decided to invest in Zeny.";
+ mes "Minimum investment unit is ^4d4dff10,000 Zeny^000000.";
+ mes "You can invest a maximum of 50 units which is ^4d4dff500,000 Zeny^000000.";
+ next;
+ switch(select("1 unit 10,000 Zeny:10 units 100,000 Zeny:50 units 500,000 Zeny:Another amount:Cancel")) {
+ case 1:
+ set .@units,1;
+ break;
+ case 2:
+ set .@units,10;
+ break;
+ case 3:
+ set .@units,50;
+ break;
+ case 4:
+ mes getarg(1);
+ mes "Please enter the amount you want to invest.";
+ mes "Please choose between 1 to 200.";
+ mes "Please enter 0 to cancel.";
+ next;
+ input .@units;
+ if (.@units < 0 || .@units > 200) {
+ mes getarg(1);
+ mes "You've exceeded the amount per investment.";
+ mes "Please try again.";
+ close;
+ } else if (.@units == 0) {
+ mes getarg(1);
+ mes "Canceled.";
+ close;
+ } else
+ break;
+ case 5:
+ mes getarg(1);
+ mes "Canceled.";
+ close;
+ }
+ set .@zeny, .@units * 10000;
+ if (Zeny < .@zeny) {
+ mes getarg(1);
+ mes "You do not have enough money.";
+ close;
+ }
+ mes getarg(1);
+ mes "You've invested "+.@units+" unit"+((.@units == 1)?"":"s")+" "+((.@units < 100)?.@units:insertchar(""+.@units,",",1))+"0,000 Zeny"+getarg(2,"")+".";
+ mes "Not much but this is a small gift. You can exchange it with items in Malangdo.";
+ set Zeny, Zeny-.@zeny;
+ setd getarg(0), getd(getarg(0)) + .@units;
+ getitem 6488,.@units; //Thanks_Invest_Ticket
+ close;
+ case 2:
+ mes getarg(1);
+ mes "Wow, you've brought Investment Certificates.";
+ mes "How many certificates will you submit?";
+ next;
+ switch(select("1 Investment Certificate:5 Investment Certificates:Another amount:Cancel")) {
+ case 1:
+ set .@tickets,1;
+ break;
+ case 2:
+ set .@tickets,5;
+ break;
+ case 3:
+ mes getarg(1);
+ mes "Please enter the number of Investment Certificates you want to submit.";
+ mes "Please choose between 1 to 20.";
+ mes "Please enter 0 to cancel.";
+ next;
+ input .@tickets;
+ if (.@tickets < 0 || .@tickets > 20) {
+ mes getarg(1);
+ mes "You've exceeded the amount per investment.";
+ mes "Please try again.";
+ close;
+ } else if (.@tickets == 0) {
+ mes getarg(1);
+ mes "Canceled.";
+ close;
+ } else
+ break;
+ case 4:
+ mes getarg(1);
+ mes "Canceled.";
+ close;
+ }
+ if (countitem(6489) < .@tickets) {
+ mes getarg(1);
+ mes "Looks like you have fewer Investment Certificates than you want to submit.";
+ close;
+ }
+ set .@units, .@tickets * 10;
+ mes getarg(1);
+ mes .@tickets+" Investment Certificate"+((.@tickets == 1)?" is":"s are")+" the same as an investment of "+.@units+" units ("+((.@units < 100)?.@units:insertchar(""+.@units,",",1))+"0,000z)"+getarg(2,"")+".";
+ mes "Not much but this is a small gift. You can exchange it with items in Malangdo.";
+ delitem 6489,.@tickets; //Cats_Invest_Certif
+ setd getarg(0), getd(getarg(0)) + .@units;
+ getitem 6488,.@units; //Thanks_Invest_Ticket
+ close;
+ case 3:
+ mes getarg(1);
+ mes "Canceled.";
+ close;
+ }
+}
+
+// Script Core
+//============================================================
+prt_gld,1,1,0 script #fund_master 844,{
+ end;
+OnInit:
+ set .@invest_status, callfunc("F_Invest_Status");
+ if (.@invest_status == 1) {
+ set $2011_agit_invest,1;
+ end;
+ }
+ if ((.@invest_status == 2 && $2011_agit_invest == 1) ||
+ (.@invest_status == 3 && ($2011_agit_invest == 1 || $2011_agit_invest == 2))) {
+ donpcevent "#fund_master::OnCalculate";
+ end;
+ }
+ end;
+OnCalculate_Election:
+ set .@force_vote,1;
+OnCalculate:
+ setarray .@cas$[0],"prt","pay","gef","alde";
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ // All funds per realm are summed.
+ set .@funds[.@i], getd("$fund_"+.@cas$[.@i]+"01")+getd("$fund_"+.@cas$[.@i]+"02")+getd("$fund_"+.@cas$[.@i]+"03")+getd("$fund_"+.@cas$[.@i]+"04")+getd("$fund_"+.@cas$[.@i]+"05")+getd("$fund_"+.@cas$[.@i]+"_extra");
+
+ // 70,000,000z opens Hall of Abyss and F2.
+ if (.@funds[.@i] >= 7000) {
+ setd "$"+.@cas$[.@i]+"_invest_result",3;
+ set .@total_7000,1;
+ }
+ // 20,000,000z opens F2 and a chance for Hall of Abyss.
+ else if (.@funds[.@i] >= 2000) {
+ setd "$"+.@cas$[.@i]+"_invest_result",2;
+ set .@total_2000,1;
+ }
+ // Anything below that opens nothing.
+ else
+ setd "$"+.@cas$[.@i]+"_invest_result",1;
+ }
+ // No further actions if 20,000,000z isn't reached.
+ if (!.@total_2000)
+ end;
+ // No further actions if any realm hits 70,000,000z.
+ if (.@total_7000) {
+ set $2011_agit_invest,4;
+ end;
+ }
+ // Otherwise, highest investment above 20,000,000z opens Hall of Abyss.
+ set .@max, .@funds[0];
+ for(set .@i,1; .@i<4; set .@i,.@i+1) {
+ if (.@funds[.@i] > .@max) {
+ set .@max, .@funds[.@i];
+ set .@ele, .@i;
+ deletearray .@rand$[0], getarraysize(.@rand$);
+ } else if (.@funds[.@i] == .@max && .@funds[.@i] >= 2000) {
+ if (!getarraysize(.@rand$))
+ set .@rand$[0], .@cas$[.@ele];
+ set .@rand$[getarraysize(.@rand$)], .@cas$[.@i];
+ }
+ }
+ if (.@max < 2000)
+ end;
+ if (getarraysize(.@rand$)) {
+
+ // Tie: declare a random winner.
+ if (!.@force_vote) {
+ set .@i, rand(getarraysize(.@rand$));
+ setd "$"+.@rand$[.@i]+"_invest_result",3;
+ set $2011_agit_invest,4;
+ end;
+ }
+
+ // Tie: initiate a 30-minute election.
+ set .@str$, implode(.@rand$,"|");
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (compare(.@str$,.@cas$[.@i]))
+ set .@election, .@election | (1<<.@i);
+ }
+ switch(.@election) {
+ case 3: set $2011_agit_invest,11; break; //Prontera|Payon
+ case 9: set $2011_agit_invest,12; break; //Prontera|Al De Baran
+ case 5: set $2011_agit_invest,13; break; //Prontera|Geffen
+ case 10: set $2011_agit_invest,14; break; //Al De Baran|Payon
+ case 6: set $2011_agit_invest,15; break; //Geffen|Payon
+ case 12: set $2011_agit_invest,16; break; //Al De Baran|Geffen
+ case 11: set $2011_agit_invest,17; break; //Prontera|Payon|Al De Baran
+ case 7: set $2011_agit_invest,18; break; //Prontera|Payon|Geffen
+ case 13: set $2011_agit_invest,19; break; //Prontera|Al De Baran|Geffen
+ case 14: set $2011_agit_invest,20; break; //Al De Baran|Payon|Geffen
+ case 15: set $2011_agit_invest,21; break; //Prontera|Payon|Al De Baran|Geffen
+ }
+ if ($2011_agit_invest >= 11)
+ donpcevent "Revoting Manager#Invest1::OnStart";
+ end;
+ } else {
+ setd "$"+.@cas$[.@ele]+"_invest_result",3;
+ set $2011_agit_invest,4;
+ end;
+ }
+ end;
+OnInvest_start:
+ announce "From now on, we are going to start the investments to connect the 'Abyss Gate' in the WOE areas: Valkyrie Realm, Greenwood Lake, Luina, Britoniah.",bc_all,0xFF0000; //FW_NORMAL 10
+ set $fund_prt01,0;
+ set $fund_prt02,0;
+ set $fund_prt03,0;
+ set $fund_prt04,0;
+ set $fund_prt05,0;
+ set $fund_pay01,0;
+ set $fund_pay02,0;
+ set $fund_pay03,0;
+ set $fund_pay04,0;
+ set $fund_pay05,0;
+ set $fund_gef01,0;
+ set $fund_gef02,0;
+ set $fund_gef03,0;
+ set $fund_gef04,0;
+ set $fund_gef05,0;
+ set $fund_alde01,0;
+ set $fund_alde02,0;
+ set $fund_alde03,0;
+ set $fund_alde04,0;
+ set $fund_alde05,0;
+ donpcevent "Investment_total#fund00::OnEnable";
+ end;
+OnInvest_stop:
+ announce "We've finished the investments to connect the 'Abyss Gate'.",bc_all,0xFF0000; //FW_NORMAL 10
+ donpcevent "Investment_total#fund00::OnReset";
+ donpcevent "#fund_master::OnCalculate_Election";
+ end;
+OnResult:
+ announce "We've got the results of the investments for the 'Abyss Gate'. You can check through the Investment Status Board in each WOE area.",bc_all,0xFF0000; //FW_NORMAL 10
+ if ($2011_agit_invest == 4) {
+ set $fund_prt01,0;
+ set $fund_prt02,0;
+ set $fund_prt03,0;
+ set $fund_prt04,0;
+ set $fund_prt05,0;
+ set $fund_prt_extra,0;
+ set $fund_pay01,0;
+ set $fund_pay02,0;
+ set $fund_pay03,0;
+ set $fund_pay04,0;
+ set $fund_pay05,0;
+ set $fund_pay_extra,0;
+ set $fund_gef01,0;
+ set $fund_gef02,0;
+ set $fund_gef03,0;
+ set $fund_gef04,0;
+ set $fund_gef05,0;
+ set $fund_gef_extra,0;
+ set $fund_alde01,0;
+ set $fund_alde02,0;
+ set $fund_alde03,0;
+ set $fund_alde04,0;
+ set $fund_alde05,0;
+ set $fund_alde_extra,0;
+ } else if ($2011_agit_invest == 2)
+ donpcevent "#fund_master::OnCalculate";
+ end;
+OnReset:
+ set $2011_agit_invest,0;
+ donpcevent "Investment_total#fund00::OnReset";
+ end;
+}
+
+prt_gld,2,2,0 script Investment_total#fund00 844,{
+/*
+ mes "Is this not working properly?";
+ next;
+ input .@input;
+ if (.@input == 1854) {
+ mes "If you think the investment timer is dead, please adjust the timer.";
+ next;
+ switch(select("Turn on the timer:Cancel")) {
+ case 1:
+ donpcevent "Investment_total#fund00::OnTimerReset";
+ mes "You've turned on the timer.";
+ close;
+ case 2:
+ mes "Canceled.";
+ close;
+ }
+ } else {
+ mes "I don't need to adjust anything now.";
+ close;
+ }
+*/
+ end;
+OnInit:
+ if (callfunc("F_Invest_Status") == 1) {
+ initnpctimer;
+ donpcevent "Investment_total#fund00::OnVarInit";
+ } else {
+ set $agit_result_timer,0;
+ set $agit_result_notice,0;
+ }
+ end;
+OnVarInit:
+ setarray .@cas$[0],"prt","pay","gef","alde";
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ setd "$@vfund_"+.@cas$[.@i]+"01", getd("$fund_"+.@cas$[.@i]+"01");
+ setd "$@vfund_"+.@cas$[.@i]+"02", getd("$fund_"+.@cas$[.@i]+"02");
+ setd "$@vfund_"+.@cas$[.@i]+"03", getd("$fund_"+.@cas$[.@i]+"03");
+ setd "$@vfund_"+.@cas$[.@i]+"04", getd("$fund_"+.@cas$[.@i]+"04");
+ setd "$@vfund_"+.@cas$[.@i]+"05", getd("$fund_"+.@cas$[.@i]+"05");
+ setd "$@vfund_"+.@cas$[.@i]+"_extra", getd("$fund_"+.@cas$[.@i]+"_extra");
+ }
+ end;
+OnEnable:
+ set $agit_result_timer,0;
+ set $agit_result_notice,0;
+ initnpctimer;
+ end;
+OnReset:
+ set $agit_result_timer,0;
+ set $agit_result_notice,0;
+ stopnpctimer;
+ end;
+OnTimerReset:
+ initnpctimer;
+ end;
+OnTimer3600000:
+ if (callfunc("F_Invest_Status") == 1) {
+ if ($agit_result_timer < 59) {
+ set $agit_result_timer, $agit_result_timer+1;
+
+ // Trigger on multiples of 5 up to 55, and 58.
+ if ($agit_result_timer % 10 == 5 || $agit_result_timer % 10 == 0 || $agit_result_timer == 58) {
+ set $agit_result_notice, $agit_result_notice+1;
+ donpcevent "Investment_total#fund00::OnVarInit";
+ announce "No. "+$agit_result_notice+" Interim statement is now available. You can check through the Investment Status Board in each WOE area.",bc_all,0xFF0000; //FW_NORMAL 10
+ }
+
+ donpcevent "Investment_total#fund00::OnTimerReset";
+ } else
+ stopnpctimer;
+ end;
+ } else {
+ donpcevent "Investment_total#fund00::OnReset";
+ end;
+ }
+}
+
+prt_gld,164,98,3 script Revoting Manager#Invest1 421,{
+ mes "[Revoting Manager]";
+ mes "We are not accepting additional votes.";
+ mes "Please wait for our results announcement.";
+ close;
+OnInit:
+ set .@invest_status, callfunc("F_Invest_Status");
+ if (.@invest_status == 2 && $2011_agit_invest >= 11 && $agit_revoting_timer < 30) {
+ donpcevent "Revoting Manager#Invest2::OnEnable";
+ initnpctimer;
+ } else if (.@invest_status == 3 && $2011_agit_invest >= 11)
+ donpcevent "Revoting Manager#Invest1::OnCalculate";
+ donpcevent "Revoting Manager#Invest1::OnDisable";
+ end;
+OnCalculate:
+ switch($2011_agit_invest) {
+ case 11: setarray.@cas$[0],"prt","pay"; break;
+ case 12: setarray.@cas$[0],"prt","alde"; break;
+ case 13: setarray.@cas$[0],"prt","gef"; break;
+ case 14: setarray.@cas$[0],"alde","pay"; break;
+ case 15: setarray.@cas$[0],"gef","pay"; break;
+ case 16: setarray.@cas$[0],"alde","gef"; break;
+ case 17: setarray.@cas$[0],"prt","pay","alde"; break;
+ case 18: setarray.@cas$[0],"prt","pay","gef"; break;
+ case 19: setarray.@cas$[0],"prt","alde","gef"; break;
+ case 20: setarray.@cas$[0],"alde","pay","gef"; break;
+ case 21: setarray.@cas$[0],"prt","pay","alde","gef"; break;
+ default: end;
+ }
+ set .@max, getd("$fund_"+.@cas$[0]+"_extra");
+ for(set .@i,1; .@i<getarraysize(.@cas$); set .@i,.@i+1) {
+ set .@funds, getd("$fund_"+.@cas$[.@i]+"_extra");
+ if (.@funds > .@max) {
+ set .@max, .@funds;
+ set .@ele, .@i;
+ deletearray .@rand$[0], getarraysize(.@rand$);
+ } else if (.@funds == .@max) {
+ if (!getarraysize(.@rand$))
+ set .@rand$[0], .@cas$[.@ele];
+ set .@rand$[getarraysize(.@rand$)], .@cas$[.@i];
+ }
+ }
+ if (getarraysize(.@rand$)) {
+ set .@i, rand(getarraysize(.@rand$));
+ setd "$"+.@rand$[.@i]+"_invest_result",3;
+ } else
+ setd "$"+.@cas$[.@ele]+"_invest_result",3;
+ set $2011_agit_invest,4;
+ set $agit_revoting_timer,0;
+ end;
+OnEnable:
+ enablenpc "Revoting Manager#Invest1";
+ end;
+OnDisable:
+ disablenpc "Revoting Manager#Invest1";
+ end;
+OnStart:
+ initnpctimer;
+ donpcevent "Revoting Manager#Invest2::OnNotice_on";
+ end;
+OnEnd:
+ stopnpctimer;
+ disablenpc "Revoting Manager#Invest1";
+ end;
+OnTimerReset:
+ initnpctimer;
+ end;
+OnTimer60000:
+ set .@revote, $agit_revoting_timer;
+ if (.@revote < 30) {
+ set $agit_revoting_timer, $agit_revoting_timer+1;
+ donpcevent "Revoting Manager#Invest1::OnTimerReset";
+ } else if (.@revote == 30) {
+ announce "Cat Paw Merchant Guild: Now we are going to close the additional vote. We will announce the results soon.",bc_all,0xFF0000; //FW_NORMAL 10
+ donpcevent "Revoting Manager#Invest2::OnDisable";
+ donpcevent "Revoting Manager#Invest1::OnEnable";
+ set $agit_revoting_timer, $agit_revoting_timer+1;
+ donpcevent "Revoting Manager#Invest1::OnTimerReset";
+ } else if (.@revote == 31) {
+ donpcevent "Revoting Manager#Invest1::OnCalculate";
+ donpcevent "Revoting Manager#Invest1::OnDisable";
+ stopnpctimer;
+ end;
+ } else {
+ donpcevent "Revoting Manager#Invest1::OnDisable";
+ stopnpctimer;
+ }
+ end;
+}
+
+prt_gld,164,98,3 script Revoting Manager#Invest2 421,{
+ set .@invest, $2011_agit_invest;
+ if (.@invest < 11) {
+ mes "[Revoting Manager]";
+ mes "No! This is not the time to take a revote.";
+ close2;
+ disablenpc "Revoting Manager#Invest2";
+ end;
+ }
+ set .@playtime, checkquest(7349,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Revoting Manager]";
+ mes "You've already participated in the vote.";
+ mes "Please relax and wait for the results.";
+ close;
+ } else if (.@playtime == 2)
+ erasequest 7349;
+ mes "[Revoting Manager]";
+ mes "Would you like to participate in the vote for choosing where to connect the 'Abyss Gate'?";
+ next;
+ if(select("Participate in the vote.:Skip for now.") == 2) {
+ mes "[Revoting Manager]";
+ mes "You've canceled the vote.";
+ close;
+ }
+ mes "[Revoting Manager]";
+ mes "You can vote once and won't need to invest for your choice.";
+ mes "Plesae choose one WOE area.";
+ next;
+
+ // Create menu.
+ explode(.@candidates$, callsub(OnGetCandidates, .@invest),"|");
+ for(set .@i,0; .@i<getarraysize(.@candidates$); set .@i,.@i+1) {
+ if (.@candidates$[.@i] == "alde")
+ set .@menu$[.@i],"Luina";
+ else if (.@candidates$[.@i] == "gef")
+ set .@menu$[.@i],"Britoniah";
+ else if (.@candidates$[.@i] == "pay")
+ set .@menu$[.@i],"Greenwood Lake";
+ else if (.@candidates$[.@i] == "prt")
+ set .@menu$[.@i],"Valkyrie Realm";
+ }
+ set .@vote, select(implode(.@menu$,":"))-1;
+
+ mes "[Revoting Manager]";
+ mes "You've voted for "+.@menu$[.@vote]+".";
+ mes "Thanks for voting.";
+ setquest 7349;
+ setd "$fund_"+.@candidates$[.@vote]+"_extra", getd("$fund_"+.@candidates$[.@vote]+"_extra") + 1;
+ close;
+OnGetCandidates:
+ switch(getarg(0)) {
+ case 11: return "prt|pay";
+ case 12: return "prt|alde";
+ case 13: return "prt|gef";
+ case 14: return "alde|pay";
+ case 15: return "gef|pay";
+ case 16: return "alde|gef";
+ case 17: return "prt|pay|alde";
+ case 18: return "prt|pay|gef";
+ case 19: return "prt|alde|gef";
+ case 20: return "alde|pay|gef";
+ case 21: return "prt|pay|alde|gef";
+ }
+ return "";
+OnInit:
+ disablenpc "Revoting Manager#Invest2";
+ end;
+OnEnable:
+ enablenpc "Revoting Manager#Invest2";
+ end;
+OnDisable:
+ disablenpc "Revoting Manager#Invest2";
+ stopnpctimer;
+ end;
+OnNotice_on:
+ initnpctimer;
+ end;
+OnTimer5000:
+ announce "Cat Paw Merchant Guild: As no WOE area has reached the maximum investment level to connect the 'Abyss Gate'...",bc_all,0xFF0000; //FW_NORMAL 10
+ end;
+OnTimer8000:
+ announce "Cat Paw Merchant Guild: We were about to connect the 'Abyss Gate' to the WOE area which invested most.",bc_all,0xFF0000; //FW_NORMAL 10
+ end;
+OnTimer11000:
+ announce "Cat Paw Merchant Guild: However, there were areas which invested the same amount. So we will put them to a vote.",bc_all,0xFF0000; //FW_NORMAL 10
+ end;
+OnTimer14000:
+ announce "Cat Paw Merchant Guild: Additional votes will be available for 30 minutes. You can vote in Valkyrie Realm.",bc_all,0xFF0000; //FW_NORMAL 10
+ end;
+OnTimer20000:
+ explode(.@candidates$, callsub(OnGetCandidates, $2011_agit_invest),"|");
+ for(set .@i,0; .@i<getarraysize(.@candidates$); set .@i,.@i+1) {
+ if (.@candidates$[.@i] == "alde")
+ set .@choices$[.@i],"Luina";
+ else if (.@candidates$[.@i] == "gef")
+ set .@choices$[.@i],"Britoniah";
+ else if (.@candidates$[.@i] == "pay")
+ set .@choices$[.@i],"Greenwood Lake";
+ else if (.@candidates$[.@i] == "prt")
+ set .@choices$[.@i],"Valkyrie Realm";
+ }
+ announce "Cat Paw Merchant Guild: The candidates for the additional vote are... "+implode(.@choices$," vs. ")+".",bc_all,0xFF0000; //FW_NORMAL 10
+ set $fund_prt_extra,0;
+ set $fund_pay_extra,0;
+ set $fund_gef_extra,0;
+ set $fund_alde_extra,0;
+ set $agit_revoting_timer,0;
+ donpcevent "Revoting Manager#Invest2::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+/*
+prtg_cas01,2,2,0 script Abrai 55,{
+ mes "I should quit my steward job.";
+ close;
+OnAgitInvest:
+ switch(callfunc("F_Invest_Status")) {
+ case 0:
+ set $2011_agit_invest,0;
+ donpcevent "#fund_master::OnReset";
+ break;
+ case 1:
+ set $2011_agit_invest,1;
+ donpcevent "#fund_master::OnInvest_start";
+ break;
+ case 2:
+ set $2011_agit_invest,2;
+ donpcevent "#fund_master::OnInvest_stop";
+ break;
+ case 3:
+ donpcevent "#fund_master::OnResult";
+ break;
+ }
+ end;
+}
+*/
+
+// Realms - Merchant Guilds, Gate Managers, Status Boards
+//============================================================
+- script Cat Paw Merchant Guild -1,{
+
+ if (compare(strnpcinfo(4),"alde")) {
+ set .@npc$,"alde";
+ set .@name$,"Megrez";
+ set .@realm$,"Luina";
+ set .@intro$,"Luina Branch Manager in Al De Baran";
+ } else if (compare(strnpcinfo(4),"gef")) {
+ set .@npc$,"gef";
+ set .@name$,"Meraq";
+ set .@realm$,"Britoniah";
+ set .@intro$,"Britoniah Branch Manager";
+ } else if (compare(strnpcinfo(4),"pay")) {
+ set .@npc$,"pay";
+ set .@name$,"Phecda";
+ set .@realm$,"Greenwood Lake";
+ set .@intro$,"Payon Greenwood Lake Branch Manager";
+ } else if (compare(strnpcinfo(4),"prt")) {
+ set .@npc$,"prt";
+ set .@name$,"Dubae";
+ set .@realm$,"Valkyrie Realm";
+ set .@intro$,"Prontera Valkyrie Realm Branch Manager";
+ }
+ set .@n$,"["+.@name$+"]";
+
+ mes .@n$;
+ mes "I'm "+.@name$+", the "+.@intro$+" of the Cat Paw Merchant Guild.";
+ mes "I consult about investments for the Abyss Gate development.";
+ mes "How may I help you?";
+ next;
+ switch(select("What is the Abyss Gate?:Investing in the gate development?:I want to invest in this area.:Cancel")) {
+ case 1:
+ mes .@n$;
+ mes "It is only called the Abyss Gate for convenience but it's simply a ^4d4dffgap to another dimension^000000.";
+ next;
+ mes .@n$;
+ mes "More of these gaps are found here and there after Morocc created the Crack of Dimension.";
+ mes "I personally think that the Abyss Gate found recently is part of the past or even from the future.";
+ next;
+ mes .@n$;
+ mes "It is said that the Abyss Gate forcefully connects to another dimension beyond our world.";
+ mes "Probably because there are those that follow the Emperium's power.";
+ next;
+ mes .@n$;
+ mes "There are a total of 4 Abyss Gates found so far. They all connect to the Agit region overflowing with the Emperium's force.";
+ next;
+ mes .@n$;
+ mes "We named each by dimension beyond the gap.";
+ mes "^4d4dffWay of the Warrior, Hill of the Dead, Winds of the Ancient, and the Hero's Tears.^000000";
+ mes "And all these four gaps are called the ^4d4dffAbyss Gate^000000.";
+ next;
+ mes .@n$;
+ mes "The gap may lead to the past, future or even an unknown world.";
+ mes "The power the Abyss Gate holds is both fearful but sweet";
+ next;
+ mes .@n$;
+ mes "Are you also interested in exploring the Abyss Gate?";
+ mes "Ha ha. You'll need to go through several steps before exploring.";
+ next;
+ mes .@n$;
+ mes "If you are interested,";
+ mes "will you take the time to sit down and talk about investing in maintaining the Abyss Gate?";
+ close;
+ case 2:
+ mes .@n$;
+ mes "Are you curious about investing in the Gate development?";
+ mes "What do you want to know about?";
+ next;
+ switch(select("About the Gate?:About investments?:How to invest?:Benefits from investing?")) {
+ case 1:
+ mes .@n$;
+ mes "The Gate is what it is named after, a door.";
+ mes "A dimensional passageway that connects here to there.";
+ next;
+ mes .@n$;
+ mes "The Abyss Gate was created as a very unstable path from beyond the dimensional gap,";
+ mes "therefore traveling through the Gate will need an artificial dimension connection.";
+ next;
+ mes .@n$;
+ mes "Humans are far from having the advanced technology that's needed";
+ mes "but our Cat Paw Merchant Guild holds the high technology to use the Crack of Dimension.";
+ next;
+ mes .@n$;
+ mes "So we made a proposal.";
+ mes "With the promise of support the Cat Paw Merchant Guild and paying for the immense expense for maintaining the connection with the Gate,";
+ mes "we will make the connection to the Crack of Dimension.";
+ next;
+ mes .@n$;
+ mes "Of course working on the Crack of Dimension is no easy job and it does come with risks.";
+ mes "There are cases where people go missing from traveling between.";
+ next;
+ mes .@n$;
+ mes "The best maintaining duration is about 4 days";
+ mes "You invest in us and we create the door that connects to the dimensional gap.";
+ next;
+ mes .@n$;
+ mes "Doesn't this sound like the perfect win-win proposal?";
+ close;
+ case 2:
+ mes .@n$;
+ mes "Forcing through the unstable dimensional gap and creating a passageway is very dangerous.";
+ mes "Not to mention the huge resources needed.";
+ next;
+ mes .@n$;
+ mes "If you take care of the charges and also the danger pay by investing in the Cat Paw Merchant Guild,";
+ mes "we'll create and maintain the gate regardless of the risks.";
+ next;
+ mes .@n$;
+ mes "But then of course the money involved for the gate costs will be extreme.";
+ mes "It will be easy if you can find investors to share the amount.";
+ next;
+ mes .@n$;
+ mes "There is a basic charge to start connecting the gate.";
+ mes "Results depend on the how much investment money is collected.";
+ next;
+ mes .@n$;
+ mes "The Abyss Gate exists in each Agit region.";
+ mes "Can you imagine how much money and sacrifice our guild will have to go through to develop in all areas?";
+ next;
+ mes .@n$;
+ mes "This explains the regional competition in investments.";
+ mes "If not enough gate maintenance costs are collected then it is obvious the region with the most investments will receive the benefits";
+ next;
+ mes .@n$;
+ mes "If ^4d4dffthe Abyss Gate is successfully connected then the dungeon of the hideout area";
+ mes "will be open to others instead of being guild exclusive^000000 which will be very attractive for investment.";
+ next;
+ mes .@n$;
+ mes "But then again, this is only for when the gate is connected.";
+ close;
+ case 3:
+ mes .@n$;
+ mes "It's simple.";
+ mes "Visit the branch manager of the ^4d4dffregion you want to invest in during the investment duration^000000 and make your investment.";
+ next;
+ mes .@n$;
+ mes "We usually receive ^4d4dffthe common currency here, Zeny^000000.";
+ mes "But since we're talking about supporting our Cat Paw Merchant Guild, you can also invest with items in demand in Malangdo.";
+ next;
+ mes .@n$;
+ mes "Provide the items in need to Namis in Malangdo who is in charge of general affairs in our guild.";
+ mes "Bring back your Investment Certificate to add it to the investment tribute.";
+ next;
+ mes .@n$;
+ mes "You must visit and invest at the region you want in order for your investment to be counted as a tribute.";
+ close;
+ case 4:
+ mes .@n$;
+ mes "The Abyss Gate is basically contracting and connecting with the castle that owns the Agit;";
+ mes "therefore, we will provide all we have once the costs for connecting and maintaining the gate are sufficient.";
+ next;
+ mes .@n$;
+ mes "In terms of the minimum and maximum costs for the whole work,";
+ mes "if the collected investment ^4d4dffexceeds the minimum costs^000000, we can connect you to the ^4d4dffdeepest layer of an unknown guild dungeon^000000.";
+ next;
+ mes .@n$;
+ mes "If investments exceed the maximum costs, that region will be connected to the";
+ mes "^4d4dffAbyss Gate^000000 regardless of the investment rank which includes the deepest layer of the guild dungeon.";
+ next;
+ mes .@n$;
+ mes "^ff0000If there is no Agit region that reached the maximum investment, then the region with the";
+ mes "highest investment participation will get the Abyss Gate connected with the investment collected from all regions.^000000";
+ next;
+ mes .@n$;
+ mes "Once the Abyss Gate is connected, the deepest layer (2F) of the guild dungeon";
+ mes "will be open to all adventurers that participated in the regional investment.";
+ next;
+ mes .@n$;
+ mes "Visits to the dungeon will be counted for the next investment for the Agit region";
+ mes "so being in good terms with the guild that claims the Agit castle will be a bonus.";
+ next;
+ mes .@n$;
+ mes "By the way, it isn't easy to maintain the connection with the Abyss Gate and investments and reconnection is needed weekly";
+ mes "so please continue your support and investment if you want the power of the unknown.";
+ close;
+ }
+ case 3:
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again after you -";
+ mes "- lose some weight. -";
+ close;
+ }
+ if (countitem(6488) >= 4800) {
+ mes .@n$;
+ mes "You have too many Thank You Tickets to receive any more.";
+ mes "Cannot give you any more tickets. Please use your ticket and come back.";
+ mes "The ticket can be exchanged with various items in Malangdo.";
+ close;
+ }
+ if (callfunc("F_Invest_Status") != 1) {
+ mes .@n$;
+ mes "We do not receive investments now.";
+ mes "Please come back during the investment duration.";
+ close;
+ }
+ set .@guild, getcharid(2);
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ set .@castle_name$[.@i], getcastlename(.@npc$+"g_cas0"+.@i);
+ set .@owner_id[.@i], getcastledata(.@npc$+"g_cas0"+.@i,1);
+ set .@owner_name$[.@i], getguildname(.@owner_id[.@i]);
+ if (.@guild == .@owner_id[.@i]) {
+ set .@menu$, .@menu$+.@castle_name$[.@i]+" ["+.@owner_name$[.@i]+"] Guild:";
+ set .@castles_owned, .@castles_owned | (1<<.@i);
+ } else
+ set .@menu$, .@menu$+"^aaaaaaNot the guild that claimed "+.@castle_name$[.@i]+"^000000:";
+ }
+ mes .@n$;
+ mes "Would you like to invest in the ^4d4dff"+.@realm$+"^000000 region?";
+ mes "If there is a castle occupied already, you will invest in the castle and the guild that is occupying it.";
+ next;
+ if (.@castles_owned) {
+ set .@i, select(.@menu$+"Cancel");
+ if (.@i == 6) {
+ mes .@n$;
+ mes "Canceled.";
+ close;
+ }
+ if (.@guild != .@owner_id[.@i]) {
+ mes .@n$;
+ mes "The guild that is occupying "+.@castle_name$[.@i]+" is "+.@owner_name$[.@i]+".";
+ mes "Doesn't look like your guild.";
+ close;
+ }
+ mes .@n$;
+ mes "Invest under "+.@castle_name$[.@i]+"'s"+.@owner_name$[.@i]+" guild name.";
+ callfunc "F_Invest_Abyss","$fund_"+.@npc$+"0"+.@i,.@n$;
+ end;
+ } else {
+ mes .@n$;
+ callfunc "F_Invest_Abyss","$fund_"+.@npc$+"_extra",.@n$," for "+.@realm$;
+ end;
+ }
+ case 4:
+ mes .@n$;
+ mes "Is that so?";
+ mes "Please come back whenever you are interested in investing in the Abyss Gate development.";
+ close;
+ }
+}
+
+- script Gate Manager#realm -1,{
+
+ if (compare(strnpcinfo(4),"alde")) {
+ set .@npc$,"alde";
+ set .@name$,"Alkor";
+ set .@gate$,"Hero's Tears";
+ set .@realm$,"Luina";
+ } else if (compare(strnpcinfo(4),"gef")) {
+ set .@npc$,"gef";
+ set .@name$,"Mizar";
+ set .@gate$,"Hill of the Dead";
+ set .@realm$,"Britoniah";
+ } else if (compare(strnpcinfo(4),"pay")) {
+ set .@npc$,"pay";
+ set .@name$,"Alkaid";
+ set .@gate$,"Winds of the Ancient";
+ set .@realm$,"Greenwood Lake";
+ } else if (compare(strnpcinfo(4),"prt")) {
+ set .@npc$,"prt";
+ set .@name$,"Arios";
+ set .@gate$,"Way of the Warrior";
+ set .@realm$,"Valkyrie Realm";
+ }
+ set .@n$,"["+.@name$+"]";
+
+ if (callfunc("F_Invest_Status") != 3) {
+ mes .@n$;
+ mes "There are currently no connected dungeon gates.";
+ close;
+ }
+ set .@status, getd("$"+.@npc$+"_invest_result");
+ if (.@status == 3) {
+ mes .@n$;
+ mes "We've successfully connected the Abyss Gate ["+.@gate$+"] with the help from your investment.";
+ mes "The Agit dungeon will be open to everyone with a small entrance fee in "+.@realm$+".";
+ next;
+ mes .@n$;
+ mes "Please visit as often as possible since the entrance fee is saved as an investment for the region.";
+ mes "Do you want to enter the Agit dungeon?";
+ next;
+ set .@i, select(.@realm$+" Dungeon 1F - 10000z:"+.@realm$+" Dungeon 2F - 10000z:Cancel");
+ if (.@i == 3) {
+ mes .@n$;
+ mes "Canceled.";
+ close;
+ }
+ if (Zeny < 10000) {
+ mes .@n$;
+ mes "I'm collecting a small entrance fee.";
+ mes "Your contribution will be saved for the next investment.";
+ mes "Entrance fee is 10000z.";
+ close;
+ }
+ mes .@n$;
+ mes "I'm sending you to the "+.@realm$+" Agit Dungeon "+.@i+"F.";
+ set Zeny, Zeny-10000;
+ setd "$fund_"+.@npc$+"_extra", getd("$fund_"+.@npc$+"_extra") + 1;
+ close2;
+ if (compare(strnpcinfo(2),"alde"))
+ warp "gld_dun02"+((.@i == 2)?"_2":""),32,122;
+ else if (compare(strnpcinfo(2),"gef"))
+ warp "gld_dun04"+((.@i == 2)?"_2":""),39,258;
+ else if (compare(strnpcinfo(2),"pay"))
+ warp "gld_dun01"+((.@i == 2)?"_2":""),186,165;
+ else if (compare(strnpcinfo(2),"prt"))
+ warp "gld_dun03"+((.@i == 2)?"_2":""),164,268;
+ end;
+ } else if (.@status == 2) {
+ mes .@n$;
+ mes "The "+.@realm$+" Agit Dungeon 2F is now available but since it is not connected with the Abyss Gate,";
+ mes "the Agit dungeon is only accessible to the Agit guild.";
+ close;
+ } else {
+ mes .@n$;
+ mes .@realm$+" was not chosen to be connected with a gate this time.";
+ mes "Please wait for the next investment duration.";
+ close;
+ }
+ end;
+}
+
+- script Investment Status Board -1,{
+ set .@invest_status, callfunc("F_Invest_Status");
+ if (.@invest_status == 1) {
+ if (compare(strnpcinfo(4),"alde")) {
+ set .@npc$,"alde";
+ set .@realm$,"Luina";
+ } else if (compare(strnpcinfo(4),"gef")) {
+ set .@npc$,"gef";
+ set .@realm$,"Britoniah";
+ } else if (compare(strnpcinfo(4),"pay")) {
+ set .@npc$,"pay";
+ set .@realm$,"Greenwood Lake";
+ } else if (compare(strnpcinfo(4),"prt")) {
+ set .@npc$,"prt";
+ set .@realm$,"Valkyrie Realm";
+ }
+ set .@notice, $agit_result_notice;
+ if (.@notice < 1 || .@notice > 12) {
+ mes "There are currently no investment sums available.";
+ close;
+ } else if (.@notice == 1)
+ set .@str$,"1st";
+ else if (.@notice == 2)
+ set .@str$,"2nd";
+ else if (.@notice == 3)
+ set .@str$,"3rd";
+ else
+ set .@str$,.@notice+"th";
+ mes .@str$+" total (unit in 10,000z)";
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ set .@map$, .@npc$+"g_cas0"+.@i;
+ set .@fund[.@i], getd("$@vfund_"+.@npc$+"0"+.@i);
+ mes getcastlename(.@map$)+" "+getguildname(getcastledata(.@map$,1))+" Guild: "+.@fund[.@i];
+ }
+ set .@fund[0], getd("$@vfund_"+.@npc$+"_extra");
+ mes .@realm$+" normal: "+.@fund[0];
+ mes .@realm$+" Investment Grand Total: "+(.@fund[0]+.@fund[1]+.@fund[2]+.@fund[3]+.@fund[4]+.@fund[5]);
+ close;
+ } else if (.@invest_status == 2) {
+ mes "!- Notice -!";
+ mes "No sums are available because the total investment amount is currently being calculated.";
+ mes "Please wait for the announcement of the results.";
+ close;
+ } else if (.@invest_status == 3) {
+ setarray .@invest_result[0], $prt_invest_result,$pay_invest_result,$gef_invest_result,$alde_invest_result;
+ setarray .@invest_region$[0], "Valkyrie Realm", "Greenwood Lake", "Britoniah", "Luina";
+ mes "!- Investment Results of All Agit Regions -!";
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@invest_result[.@i] == 1)
+ mes "^aaaaaa["+.@invest_region$[.@i]+"] below minimum^000000";
+ else if (.@invest_result[.@i] == 2) {
+ mes "["+.@invest_region$[.@i]+"] minimum achieved";
+ mes "-> Guild Dungeon Deepest Layer (2F) available";
+ } else if (.@invest_result[.@i] == 3) {
+ mes "^4d4dff["+.@invest_region$[.@i]+"] maximum achieved^000000";
+ mes "-> Abyss Gate available";
+ } else
+ mes "No data for ["+.@invest_region$[.@i]+"].";
+ }
+ close;
+ } else {
+ mes "!- Notice -!";
+ mes "No investment information will be announced now.";
+ close;
+ }
+}
+
+// Inside Castles - Gate Managers
+//============================================================
+- script Gate Manager#castle -1,{
+
+ set .@id, atoi(charat(strnpcinfo(2),getstrlen(strnpcinfo(2))-1));
+ if (compare(strnpcinfo(2),"alde")) {
+ set .@npc$,"alde";
+ set .@realm$,"Luina";
+ } else if (compare(strnpcinfo(2),"gef")) {
+ set .@npc$,"gef";
+ set .@realm$,"Britoniah";
+ } else if (compare(strnpcinfo(2),"pay")) {
+ set .@npc$,"pay";
+ set .@realm$,"Greenwood Lake";
+ } else if (compare(strnpcinfo(2),"prt")) {
+ set .@npc$,"prt";
+ set .@realm$,"Valkyrie Realm";
+ }
+
+ set .@GID, getcastledata(strnpcinfo(4),1);
+ if (getcharid(2) != .@GID) {
+ mes "[Gate Manager]";
+ mes "You don't seem to be the member of guild owning this castle.";
+ mes "If you need any help, please visit any of our guild members at "+.@realm$+" Square.";
+ close;
+ }
+ mes "[Gate Manager]";
+ mes "Hello, I am the Gate Manager from Cat Paw Merchant Guild warp department.";
+ mes "How may I help you today?";
+ next;
+ switch(select("Invest for gate connection:Deepest Layer Dungeon Access:Abyss Gate Access:Cancel")) {
+ case 1:
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "[Gate Manager]";
+ mes "You have too many items to receive the Thank You Ticket as a small gift for your investment.";
+ mes "Please come back after making room in your inventory.";
+ close;
+ }
+ if (countitem(6488) >= 4800) {
+ mes "[Gate Manager]";
+ mes "You have too many Thank You Tickets to receive any more.";
+ mes "Cannot give you any more tickets. Please use your ticket and come back.";
+ mes "The ticket can be exchanged with various items in Malangdo.";
+ close;
+ }
+ if (callfunc("F_Invest_Status") != 1) {
+ mes "[Gate Manager]";
+ mes "We do not receive investments now.";
+ mes "Please come back during the investment duration.";
+ close;
+ }
+ if (getcharid(2) != .@GID) {
+ mes "[Gate Manager]";
+ mes "You don't seem to be the member of the guild owning this castle.";
+ mes "Please use the normal investment from "+.@realm$+" Square.";
+ close;
+ }
+ mes "[Gate Manager]";
+ mes "Proceed investing under your guild name.";
+ callfunc "F_Invest_Abyss","$fund_"+.@npc$+"0"+.@id,"[Gate Manager]";
+ end;
+ case 2:
+ callsub L_Enter,1,.@realm$;
+ mes "[Gate Manager]";
+ mes "You are interested in exploring the "+.@realm$+" Guild Dungeon Deepest Layer (2F).";
+ mes "Let me guide you. Good luck.";
+ close2;
+ if (compare(strnpcinfo(2),"alde")) {
+ switch(.@id) {
+ case 1: warp "gld_dun02_2",32,122; end;
+ case 2: warp "gld_dun02_2",79,30; end;
+ case 3: warp "gld_dun02_2",165,38; end;
+ case 4: warp "gld_dun02_2",160,148; end;
+ case 5: warp "gld_dun02_2",103,169; end;
+ }
+ } else if (compare(strnpcinfo(2),"gef")) {
+ switch(.@id) {
+ case 1: warp "gld_dun04_2",39,258; end;
+ case 2: warp "gld_dun04_2",125,270; end;
+ case 3: warp "gld_dun04_2",268,251; end;
+ case 4: warp "gld_dun04_2",268,108; end;
+ case 5: warp "gld_dun04_2",230,35; end;
+ }
+ } else if (compare(strnpcinfo(2),"pay")) {
+ switch(.@id) {
+ case 1: warp "gld_dun01_2",186,165; end;
+ case 2: warp "gld_dun01_2",54,165; end;
+ case 3: warp "gld_dun01_2",54,39; end;
+ case 4: warp "gld_dun01_2",186,39; end;
+ case 5: warp "gld_dun01_2",223,202; end;
+ }
+ } else if (compare(strnpcinfo(2),"prt")) {
+ switch(.@id) {
+ case 1: warp "gld_dun03_2",28,251; end;
+ case 2: warp "gld_dun03_2",164,268; end;
+ case 3: warp "gld_dun03_2",164,179; end;
+ case 4: warp "gld_dun03_2",268,203; end;
+ case 5: warp "gld_dun03_2",199,28; end;
+ }
+ }
+ end;
+ case 3:
+ callsub L_Enter,2,.@realm$;
+ mes "[Gate Manager]";
+ mes "Let me guide you to the Abyss Gap connected with "+.@realm$+", the Abyss Gate 'Way of the Warrior'.";
+ close2;
+ if (compare(strnpcinfo(2),"alde")) {
+ switch(.@id) {
+ case 1: warp "gld2_ald",175,41; end;
+ case 2: warp "gld2_ald",77,64; end;
+ case 3: warp "gld2_ald",46,127; end;
+ case 4: warp "gld2_ald",104,246; end;
+ case 5: warp "gld2_ald",241,156; end;
+ }
+ } else if (compare(strnpcinfo(2),"gef")) {
+ switch(.@id) {
+ case 1: warp "gld2_gef",28,199; end;
+ case 2: warp "gld2_gef",217,46; end;
+ case 3: warp "gld2_gef",171,195; end;
+ case 4: warp "gld2_gef",30,67; end;
+ case 5: warp "gld2_gef",115,40; end;
+ }
+ } else if (compare(strnpcinfo(2),"pay")) {
+ switch(.@id) {
+ case 1: warp "gld2_pay",33,112; end;
+ case 2: warp "gld2_pay",119,27; end;
+ case 3: warp "gld2_pay",205,111; end;
+ case 4: warp "gld2_pay",175,221; end;
+ case 5: warp "gld2_pay",61,221; end;
+ }
+ } else if (compare(strnpcinfo(2),"prt")) {
+ switch(.@id) {
+ case 1: warp "gld2_prt",10,27; end;
+ case 2: warp "gld2_prt",14,247; end;
+ case 3: warp "gld2_prt",259,236; end;
+ case 4: warp "gld2_prt",226,25; end;
+ case 5: warp "gld2_prt",97,11; end;
+ }
+ }
+ end;
+ case 4:
+ mes "[Gate Manager]";
+ mes "Canceled.";
+ close;
+ }
+ end;
+
+L_Enter:
+ set .@invest_status, callfunc("F_Invest_Status");
+ if (.@invest_status == 3) {
+ set .@status, getd("$"+.@npc$+"_invest_result");
+ if ((getarg(0) == 1 && .@status == 2) || .@status == 3)
+ return;
+ else {
+ mes "[Gate Manager]";
+ mes getarg(1)+" was not chosen to be connected with a gate this time.";
+ mes "Please wait for the next investment duration.";
+ close;
+ }
+ } else if (.@invest_status < 3) {
+ mes "[Gate Manager]";
+ mes "There are currently no connected dungeon gates.";
+ mes "A gate will be connected as soon as the investment results are available.";
+ mes "Please wait.";
+ close;
+ } else {
+ mes "[Gate Manager]";
+ mes "The gate will disappear soon.";
+ mes "The dungeon is no longer accessible.";
+ mes "Please try again next time.";
+ close;
+ }
+}
+
+// Item Investments
+//============================================================
+malangdo,218,126,4 script Cat Paw Merchants Notice 857,{
+ mes "<< Cat Paw Merchants Notice >>";
+ mes "'^C379CEInvest Unused Items for Prizes!^000000'";
+ next;
+ switch(select("Read Notice:Check Event 1:Check Event 2")) {
+ case 1:
+ mes "- Notice -";
+ mes "Hello all Cat Paw Merchants customers! With your love, we Cat Paw Merchants are growing every day. All executives and staff members promise to do our best to further our frontier and development.";
+ next;
+ mes "- Event Notice! -";
+ mes " An Event called '^C379CEInvest Unused Items for Prizes!^000000' is under way, where you could exchange unused items in your storage for Investment Certificate of the Cat Paw Merchants.";
+ next;
+ mes "Exchangeable items will be announced on a separate sheet. Thank you for your time.";
+ mes "- From all the employees of Cat Paw Merchants -";
+ next;
+ mes "There is a small warning at the bottom.";
+ mes " ";
+ mes "^FF0000This event could be changed or repealed due to the Merchants' situation.^000000";
+ close;
+ case 2:
+ mes "'^C379CEInvest Unused Items for Prizes!^000000'";
+ mes "There are details of Event 1.";
+ next;
+ setarray .@event1$[0],
+ "Wings of the Insect Queen","Crown of the Fly King","I hear Dragon Scales are tough 01","The Meaning of the Mother's Nightmare",
+ "To refine ore","Hekekek Orcs, Orcs!!","Study of Yin-Yang","Secrets of the Pyramid King","Tick-tock the time goes",
+ "Planting trees on Mellow Island","Ancient language research","Weapons made of sharp teeth","Toy boss doll 01",
+ "A tiger is just a cat after all","The shattered spear and shield?","Toy boss doll 02","Best in summer! Cold scales",
+ "Piece of Thanatos' armor","I hear Dragon Scales are tough 02","The identity of the creepy eye","If only I could see!";
+ set .@menu$, "Quit:"+implode(.@event1$[0],":");
+ while(1) {
+ set .@i, select(.@menu$)-1;
+ switch(.@i) {
+ case 0: close;
+ case 1: set .@str$,"2 Pieces of Queen's Wing"; break;
+ case 2: set .@str$,"2 Broken Crowns"; break;
+ case 3: set .@str$,"2 Fire Dragon Scales"; break;
+ case 4: set .@str$,"3 Mother's Nightmares"; break;
+ case 5: set .@str$,"5 Gemstones"; break;
+ case 6: set .@str$,"5 Heroic Emblems"; break;
+ case 7: set .@str$,"3 Taeguk Plates"; break;
+ case 8: set .@str$,"3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks"; break;
+ case 9: set .@str$,"2 Pocket Watches"; break;
+ case 10: set .@str$,"3 Young Twigs"; break;
+ case 11: set .@str$,"5 Rossata Pieces"; break;
+ case 12: set .@str$,"5 Fangs of Garm"; break;
+ case 13: set .@str$,"3 Baphomet Dolls"; break;
+ case 14: set .@str$,"1 Tiger's Footskin and 5 Tiger Skins"; break;
+ case 15: set .@str$,"3 Broken Shield Pieces and 3 Shining Spear Blades"; break;
+ case 16: set .@str$,"3 Osiris Dolls"; break;
+ case 17: set .@str$,"1 Ice Scale"; break;
+ case 18: set .@str$,"1 Skeletal Armor Piece"; break;
+ case 19: set .@str$,"1 Darkred Scale Piece"; break;
+ case 20: set .@str$,"2 Wills of Red Darkness"; break;
+ case 21: set .@str$,"2 Foolishness of the Blind"; break;
+ }
+ mes "["+.@event1$[.@i-1]+"]";
+ mes .@str$+" for one Cat Paw Merchants Investment Certificate.";
+ next;
+ }
+ case 3:
+ mes "Look out for the next '^C379CEInvest Unused Items for Prizes!^000000' Event 2!! Coming up real soon!";
+ close;
+ }
+}
+
+malangdo,218,123,1 script Namis#invest 545,4,4,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again after you -";
+ mes "- lose some weight. -";
+ close;
+ }
+ emotion e_omg;
+ emotion e_an;
+ emotion e_ag;
+ mes "[Namis]";
+ mes "Purr-Purr-Purrr-Purrrr-Pur~ Meow!!";
+ mes "Wh-- What? How rude. You scared me.";
+ next;
+ switch(select("What do you need? I'll invest!:What's the purpose of this event?:Were you asleep?")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Namis]";
+ mes "So, another pushover in contract with the Cat Paw Merchants?";
+ next;
+ select("Huh? What! You calling me a pushover?");
+ mes "[Namis]";
+ mes "I'll say this just once, so you listen good!";
+ mes "We, the Cat Paw Merchants have planned an event for loyal workers like yourself.";
+ next;
+ mes "[Namis]";
+ mes "Run along to your storage and bring back rotting antiques to us and we'll exchange them for the oh-so valuable 'Cat Paw Merchants Investment Certificate'.";
+ next;
+ mes "[Namis]";
+ mes "It will be wise for you to do so because the Cat Paw Merchants are doing this at a loss!";
+ next;
+ mes "[Namis]";
+ mes "Details are on the notice.";
+ close;
+ case 3:
+ mes "[Namis]";
+ mes "Hick- Slurp-";
+ mes "Remember, human! There's no other cat who works as hard as I do.";
+ close;
+ }
+ mes "[Namis]";
+ mes "You must be here to participate in the '^C379CEInvest Unused Items for Prizes!^000000' event of the Cat Paw Merchants.";
+ next;
+ mes "[Namis]";
+ mes "So, which event do you wish to participate in?";
+ next;
+ switch(select("Not interested:Event 1 Items:Event 2 Items")) {
+ case 1:
+ mes "[Namis]";
+ mes "Don't you mess with a busy cat!";
+ close;
+ case 2:
+ mes "[Namis]";
+ mes "So you're in for Event 1.";
+ mes "Choose from the shown list.";
+ next;
+ setarray .@event1$[0],
+ "Wings of the Insect Queen","Crown of the Fly King","I hear Dragon Scales are tough 01","The Meaning of the Mother's Nightmare",
+ "To refine ore","Hekekek Orcs, Orcs!!","Study of Yin-Yang","Secrets of the Pyramid King","Tick-tock the time goes",
+ "Planting trees on Mellow Island","Ancient language research","Weapons made of sharp teeth","Toy boss doll 01",
+ "A tiger is just a cat after all","The shattered spear and shield?","Toy boss doll 02","Best in summer! Cold scales",
+ "Piece of Thanatos' armor","I hear Dragon Scales are tough 02","The identity of the creepy eye","If only I could see!";
+ set .@i, select(implode(.@event1$[0],":"))-1;
+ switch(.@i+1) {
+ case 1: callsub L_Check,"2 Pieces of Queen's Wing",6326,2,"Wings of the Insect Queen? What a pitiful name. I would've given some cool names!",.@event1$[.@i];
+ case 2: callsub L_Check,"2 Broken Crowns",7754,2,"For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?",.@event1$[.@i];
+ case 3: callsub L_Check,"2 Fire Dragon Scales",7451,2,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i];
+ case 4: callsub L_Check,"3 Mother's Nightmares",7020,3,"Even though I don't have the authority to find out, I wonder what they're doing with the collected items?",.@event1$[.@i];
+ case 5: callsub L_Check,"5 Gemstones",7300,5,"Something useful for a change. The ore will end up as nice pieces of jewelry.",.@event1$[.@i];
+ case 6: callsub L_Check,"5 Heroic Emblems",968,5,"Good, good. This is the kind of name I wanted!",.@event1$[.@i];
+ case 7: callsub L_Check,"3 Taeguk Plates",7169,3,"Taking in something like this, maybe they're up to something dangerous.",.@event1$[.@i];
+ case 8: callsub L_Check,"3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks",7113,3,"I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.",.@event1$[.@i],7114,3;
+ case 9: callsub L_Check,"2 Pocket Watches",7513,2,"Those lazy merchants, why do they need pocket watches they don't even use?",.@event1$[.@i];
+ case 10: callsub L_Check,"3 Young Twigs",7018,3,"Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.",.@event1$[.@i];
+ case 11: callsub L_Check,"5 Rossata Pieces",7211,5,"I guess they collect these because humans have them, but what's the use of researching ancient languages?",.@event1$[.@i];
+ case 12: callsub L_Check,"5 Fangs of Garm",7036,5,"Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!",.@event1$[.@i];
+ case 13: callsub L_Check,"3 Baphomet Dolls",750,3,"Baphomet dolls are great for playing around with.",.@event1$[.@i];
+ case 14: callsub L_Check,"1 Tiger's Footskin and 5 Tiger Skins",1030,1,"Did you know that tigers are cats too? Therefore, cats are better than tigers.",.@event1$[.@i],1029,5;
+ case 15: callsub L_Check,"3 Broken Shield Pieces and 3 Shining Spear Blades",7108,3,"I don't know what they want with these.",.@event1$[.@i],7109,3;
+ case 16: callsub L_Check,"3 Osiris Dolls",751,3,"Shame~ I never got to play with an Osiris doll.",.@event1$[.@i];
+ case 17: callsub L_Check,"1 Ice Scale",7562,1,"Mellow Island is a fabulous place to live. But the ships are too hot.",.@event1$[.@i];
+ case 18: callsub L_Check,"1 Skeletal Armor Piece",7450,1,"Ewww... Why would they collect something so creepy?",.@event1$[.@i];
+ case 19: callsub L_Check,"1 Darkred Scale Piece",6091,1,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i];
+ case 20: callsub L_Check,"2 Wills of Red Darkness",7566,2,"Interesting! Does it scream or something when I poke it in the eye?",.@event1$[.@i];
+ case 21: callsub L_Check,"2 Foolishness of the Blind",7021,2,"This blind man is foolish in not knowing that gathering 300 cats cures blindness...",.@event1$[.@i];
+ }
+ case 3:
+ mes "[Namis]";
+ mes "Participate in Event 2?";
+ mes "It is not yet in motion. Wait for it!";
+ close;
+ }
+ end;
+L_Check:
+ set .@args, getargcount();
+ if (.@args > 5) {
+ if (countitem(getarg(5)) < getarg(6))
+ set .@items,1; //incomplete
+ else
+ set .@items,2; //complete
+ }
+ if (countitem(getarg(1)) < getarg(2) || .@items == 1) {
+ mes "[Namis]";
+ mes "You don't have the items?";
+ mes getarg(0)+" exchange for one Cat Paw Merchants Investment Certificate.";
+ next;
+ mes "[Namis]";
+ mes "Don't bother me and look up the details on the board over there!";
+ close;
+ }
+ mes "[Namis]";
+ mes "'^8E5601"+getarg(4)+" Event^000000'";
+ mes "Seems to be the right items.";
+ mes getarg(3);
+ mes "Oh! Almost forgot. Will you invest?";
+ next;
+ if(select("Invest:Don't Invest") == 2) {
+ mes "[Namis]";
+ mes "Don't you mess with a busy cat!";
+ close;
+ }
+ delitem getarg(1),getarg(2);
+ if (.@items == 2)
+ delitem getarg(5),getarg(6);
+ getitem 6489,1; //Cats_Invest_Certif
+ mes "[Namis]";
+ mes "Here's your Certificate. Always be grateful to the Merchants for these events!";
+ close;
+OnTouch:
+ if (rand(2))
+ emotion e_yawn;
+ else
+ specialeffect EF_SLEEPATTACK;
+ end;
+}
+
+// Investment Rewards
+//============================================================
+malangdo,215,119,4 script Thanks Ticket Machine 564,{
+ if (MaxWeight - Weight < 4500 || checkweight(1201,1) == 0) {
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again after you -";
+ mes "- lose some weight. -";
+ close;
+ }
+ mes "[Vending Machine Notice]";
+ mes "^6815EA1. Don't kick the machine please. @_@";
+ mes "2. You can only insert Invest Thanks Ticket.";
+ mes "3. About the Jelly Box, if you open it, it gives you a random item.";
+ mes "4. Hope you enjoy~^000000";
+ mes "- Mr. Cat, the Machine Owner -";
+ next;
+ switch(select("Finish:Purchase:Red Paw Jelly Bag (5 Tickets):Black Paw Jelly Bag (50 Tickets)")) {
+ case 1:
+ close;
+ case 2:
+ mes "The Vending Machine is selling items in the following list.";
+ next;
+ switch(select("Finish:1 Siege Arrow Quiver A (2 Tickets):1 Siege Arrow Quiver S (2 Tickets):30 White Potion (12 Tickets):30 White Slim Potion (14 Tickets):10 Dark Water (20 Tickets):20 Siege_Violet_Potion (30 Tickets):10 Coldproof Potion (30 Tickets):10 Thunderproof Potion (30 Tickets):10 Earthproof Potion (30 Tickets):10 Fireproof Potion (30 Tickets):10 Elemental Converter[Fire] (30 Tickets)")) {
+ case 1: close;
+ case 2: callsub L_Purchase,2,12678,1; //Siege_Arrow_Quiver_A
+ case 3: callsub L_Purchase,2,12677,1; //Siege_Arrow_Quiver_S
+ case 4: callsub L_Purchase,12,504,30; //White_Potion
+ case 5: callsub L_Purchase,14,547,30; //White_Slim_Potion
+ case 6: callsub L_Purchase,20,12020,10; //Water_Of_Darkness
+ case 7: callsub L_Purchase,30,11547,20; //Woe_Violet_Potion
+ case 8: callsub L_Purchase,30,12119,10; //Resist_Water
+ case 9: callsub L_Purchase,30,12121,10; //Resist_Wind
+ case 10: callsub L_Purchase,30,12120,10; //Resist_Earth
+ case 11: callsub L_Purchase,30,12118,10; //Resist_Fire
+ case 12: callsub L_Purchase,30,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire
+ case 13: callsub L_Purchase,30,12115,10,"Elemental Converter[Water]"; //Elemental_Water
+ case 14: callsub L_Purchase,30,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind
+ case 15: callsub L_Purchase,30,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth
+ }
+ end;
+ case 3:
+ mes "Red Paw Jelly Bag Button chosen. Need to insert 5 ^FF0000Invest Thanks Ticket^000000 and a random item will appear.";
+ next;
+ if (countitem(6488) < 5) {
+ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed.";
+ close;
+ }
+ delitem 6488,5; //Thanks_Invest_Ticket
+ set .@i, rand(1,10000);
+ if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box
+ else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2
+ else if (.@i <= 250) callsub L_Bag,11549,10; //Woe_Blue_Potion
+ else if (.@i <= 660) callsub L_Bag,617,1; //Old_Violet_Box
+ else if (.@i <= 710) callsub L_Bag,12532,1; //Royal_Jelly_Box2
+ else if (.@i <= 760) callsub L_Bag,12533,1; //Blue_Herb_Box2
+ else if (.@i <= 810) callsub L_Bag,505,5; //Blue_Potion
+ else if (.@i <= 1110) callsub L_Bag,644,1; //Gift_Box
+ else if (.@i <= 1120) callsub L_Bag,607,1; //Yggdrasilberry
+ else if (.@i <= 1130) callsub L_Bag,608,2; //Seed_Of_Yggdrasil
+ else if (.@i <= 1140) callsub L_Bag,12292,5; //Unripe_Fruit
+ else if (.@i <= 1150) callsub L_Bag,12293,5; //Dried_Yggdrasilberry
+ else if (.@i <= 1250) callsub L_Bag,12679,1; //Sg_White_Potion_Box
+ else if (.@i <= 1471) callsub L_Bag,603,1; //Old_Blue_Box
+ else if (.@i <= 1571) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2
+ else if (.@i <= 1671) callsub L_Bag,12020,10; //Water_Of_Darkness
+ else if (.@i <= 1871) callsub L_Bag,12030,5; //Box_Of_Grudge
+ else if (.@i <= 2071) callsub L_Bag,12031,5; //Sleepy_Box
+ else if (.@i <= 2371) callsub L_Bag,12033,2; //Box_Of_Sunlight
+ else if (.@i <= 2571) callsub L_Bag,12114,5,"Elemental Converter[Fire]"; //Elemental_Fire
+ else if (.@i <= 2771) callsub L_Bag,12115,5,"Elemental Converter[Water]"; //Elemental_Water
+ else if (.@i <= 2971) callsub L_Bag,12117,5,"Elemental Converter[Wind]"; //Elemental_Wind
+ else if (.@i <= 3171) callsub L_Bag,12116,5,"Elemental Converter[Earth]"; //Elemental_Earth
+ else if (.@i <= 3271) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box
+ else if (.@i <= 3471) callsub L_Bag,12118,5; //Resist_Fire
+ else if (.@i <= 3671) callsub L_Bag,12119,5; //Resist_Water
+ else if (.@i <= 3871) callsub L_Bag,12121,5; //Resist_Wind
+ else if (.@i <= 4071) callsub L_Bag,12120,5; //Resist_Earth
+ else if (.@i <= 4271) callsub L_Bag,929,20; //Immortal_Heart
+ else if (.@i <= 4471) callsub L_Bag,1059,20; //Transparent_Cloth
+ else if (.@i <= 4671) callsub L_Bag,905,20; //Stem
+ else if (.@i <= 4871) callsub L_Bag,606,10; //Aloebera
+ else if (.@i <= 5071) callsub L_Bag,609,10; //Amulet
+ else if (.@i <= 5271) callsub L_Bag,710,2; //Illusion_Flower
+ else if (.@i <= 5471) callsub L_Bag,576,20; //Prickly_Fruit
+ else if (.@i <= 5671) callsub L_Bag,621,10; //Bitter_Herb
+ else if (.@i <= 5871) callsub L_Bag,709,10; //Izidor
+ else if (.@i <= 6071) callsub L_Bag,605,10; //Anodyne
+ else if (.@i <= 6171) callsub L_Bag,11548,10; //Woe_White_Potion
+ else if (.@i <= 6371) callsub L_Bag,706,10; //Four_Leaf_Clover
+ else if (.@i <= 6571) callsub L_Bag,521,10; //Leaflet_Of_Aloe
+ else if (.@i <= 6771) callsub L_Bag,707,10; //Singing_Plant
+ else if (.@i <= 6971) callsub L_Bag,610,10; //Leaf_Of_Yggdrasil
+ else if (.@i <= 7021) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box
+ else if (.@i <= 7171) callsub L_Bag,6249,10; //Savage_Meat
+ else if (.@i <= 7321) callsub L_Bag,6252,10; //Wolf_Blood
+ else if (.@i <= 7471) callsub L_Bag,6254,10; //Beef_Head_Meat
+ else if (.@i <= 7621) callsub L_Bag,6253,10; //Cold_Ice
+ else if (.@i <= 7771) callsub L_Bag,6256,10; //Ice_Fragment
+ else if (.@i <= 7921) callsub L_Bag,6257,10; //Ice_Crystal
+ else if (.@i <= 8071) callsub L_Bag,6260,10; //Petti_Tail
+ else if (.@i <= 8309) callsub L_Bag,7932,20; //Poison_Herb_Nerium
+ else if (.@i <= 8547) callsub L_Bag,7933,20; //Poison_Herb_Rantana
+ else if (.@i <= 8785) callsub L_Bag,7934,20; //Poison_Herb_Makulata
+ else if (.@i <= 9023) callsub L_Bag,7935,20; //Poison_Herb_Seratum
+ else if (.@i <= 9261) callsub L_Bag,7936,20; //Poison_Herb_Scopolia
+ else if (.@i <= 9499) callsub L_Bag,7937,20; //Poison_Herb_Amoena
+ else if (.@i <= 9699) callsub L_Bag,6217,20; //Mandragora_Flowerpot
+ else callsub L_Bag,12016,10; //Speed_Up_Potion
+ end;
+ case 4:
+ mes "Black Paw Jelly Bag Button chosen. Need to insert 50 ^FF0000Invest Thanks Ticket^000000 and a random item will appear.";
+ next;
+ if (countitem(6488) < 50) {
+ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed.";
+ close;
+ }
+ delitem 6488,50; //Thanks_Invest_Ticket
+ set .@i, rand(1,10000);
+ if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box
+ else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2
+ else if (.@i <= 250) callsub L_Bag,11549,20; //Woe_Blue_Potion
+ else if (.@i <= 450) callsub L_Bag,617,1; //Old_Violet_Box
+ else if (.@i <= 500) callsub L_Bag,12532,1; //Royal_Jelly_Box2
+ else if (.@i <= 550) callsub L_Bag,12533,1; //Blue_Herb_Box2
+ else if (.@i <= 600) callsub L_Bag,505,10; //Blue_Potion
+ else if (.@i <= 800) callsub L_Bag,644,1; //Gift_Box
+ else if (.@i <= 810) callsub L_Bag,607,2; //Yggdrasilberry
+ else if (.@i <= 820) callsub L_Bag,608,3; //Seed_Of_Yggdrasil
+ else if (.@i <= 830) callsub L_Bag,12292,10; //Unripe_Fruit
+ else if (.@i <= 840) callsub L_Bag,12293,10; //Dried_Yggdrasilberry
+ else if (.@i <= 940) callsub L_Bag,12679,1; //Sg_White_Potion_Box
+ else if (.@i <= 1140) callsub L_Bag,603,1; //Old_Blue_Box
+ else if (.@i <= 1240) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2
+ else if (.@i <= 1340) callsub L_Bag,12020,20; //Water_Of_Darkness
+ else if (.@i <= 1440) callsub L_Bag,12030,10; //Box_Of_Grudge
+ else if (.@i <= 1540) callsub L_Bag,12031,10; //Sleepy_Box
+ else if (.@i <= 1690) callsub L_Bag,12033,4; //Box_Of_Sunlight
+ else if (.@i <= 1790) callsub L_Bag,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire
+ else if (.@i <= 1890) callsub L_Bag,12115,10,"Elemental Converter[Water]"; //Elemental_Water
+ else if (.@i <= 1990) callsub L_Bag,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind
+ else if (.@i <= 2090) callsub L_Bag,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth
+ else if (.@i <= 2190) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box
+ else if (.@i <= 2290) callsub L_Bag,12118,10; //Resist_Fire
+ else if (.@i <= 2390) callsub L_Bag,12119,10; //Resist_Water
+ else if (.@i <= 2490) callsub L_Bag,12121,10; //Resist_Wind
+ else if (.@i <= 2590) callsub L_Bag,12120,10; //Resist_Earth
+ else if (.@i <= 2690) callsub L_Bag,929,40; //Immortal_Heart
+ else if (.@i <= 2790) callsub L_Bag,1059,40; //Transparent_Cloth
+ else if (.@i <= 2890) callsub L_Bag,905,40; //Stem
+ else if (.@i <= 2990) callsub L_Bag,606,20; //Aloebera
+ else if (.@i <= 3090) callsub L_Bag,609,20; //Amulet
+ else if (.@i <= 3190) callsub L_Bag,710,4; //Illusion_Flower
+ else if (.@i <= 3290) callsub L_Bag,576,40; //Prickly_Fruit
+ else if (.@i <= 3390) callsub L_Bag,621,20; //Bitter_Herb
+ else if (.@i <= 3490) callsub L_Bag,709,20; //Izidor
+ else if (.@i <= 3590) callsub L_Bag,605,20; //Anodyne
+ else if (.@i <= 3690) callsub L_Bag,11548,20; //Woe_White_Potion
+ else if (.@i <= 3790) callsub L_Bag,706,20; //Four_Leaf_Clover
+ else if (.@i <= 3890) callsub L_Bag,521,20; //Leaflet_Of_Aloe
+ else if (.@i <= 3990) callsub L_Bag,707,20; //Singing_Plant
+ else if (.@i <= 4090) callsub L_Bag,610,20; //Leaf_Of_Yggdrasil
+ else if (.@i <= 4140) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box
+ else if (.@i <= 4240) callsub L_Bag,6249,20; //Savage_Meat
+ else if (.@i <= 4340) callsub L_Bag,6252,20; //Wolf_Blood
+ else if (.@i <= 4440) callsub L_Bag,6254,20; //Beef_Head_Meat
+ else if (.@i <= 4540) callsub L_Bag,6253,20; //Cold_Ice
+ else if (.@i <= 4640) callsub L_Bag,6256,20; //Ice_Fragment
+ else if (.@i <= 4740) callsub L_Bag,6257,20; //Ice_Crystal
+ else if (.@i <= 4840) callsub L_Bag,6260,20; //Petti_Tail
+ else if (.@i <= 4940) callsub L_Bag,7932,40; //Poison_Herb_Nerium
+ else if (.@i <= 5040) callsub L_Bag,7933,40; //Poison_Herb_Rantana
+ else if (.@i <= 5140) callsub L_Bag,7934,40; //Poison_Herb_Makulata
+ else if (.@i <= 5240) callsub L_Bag,7935,40; //Poison_Herb_Seratum
+ else if (.@i <= 5340) callsub L_Bag,7936,40; //Poison_Herb_Scopolia
+ else if (.@i <= 5440) callsub L_Bag,7937,40; //Poison_Herb_Amoena
+ else if (.@i <= 5540) callsub L_Bag,6217,40; //Mandragora_Flowerpot
+ else if (.@i <= 6000) callsub L_Bag,12016,20; //Speed_Up_Potion
+ else if (.@i <= 6500) callsub L_Bag,2483,1; //Siege_Greave
+ else if (.@i <= 7000) callsub L_Bag,2484,1; //Siege_Boots
+ else if (.@i <= 7500) callsub L_Bag,2485,1; //Siege_Shoes
+ else if (.@i <= 8000) callsub L_Bag,2586,1; //Siege_Manteau
+ else if (.@i <= 8500) callsub L_Bag,2587,1; //Siege_Muffler
+ else if (.@i <= 9000) callsub L_Bag,15046,1; //Siege_Plate
+ else if (.@i <= 9500) callsub L_Bag,15047,1; //Siege_Suits
+ else callsub L_Bag,15048,1; //Siege_Robe
+ end;
+ }
+ end;
+
+//callsub L_Purchase,<ticket cost>,<reward ID>,<reward amount>{,<reward name>};
+L_Purchase:
+ if (countitem(6488) < getarg(0)) {
+ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed.";
+ close;
+ }
+ delitem 6488,getarg(0); //Thanks_Invest_Ticket
+ getitem getarg(1),getarg(2);
+ mes "- Done! -";
+ next;
+ mes "The item ^0000FF"+((getargcount() > 3)?getarg(3,""):getitemname(getarg(1)))+"^000000 has been obtained.";
+ close;
+
+//callsub L_Bag,<reward ID>,<reward amount>{,<reward name>};
+L_Bag:
+ getitem getarg(0),getarg(1);
+ mes "- Done! -";
+ next;
+ mes "The item ^0000FF"+((getargcount() > 2)?getarg(2,""):getitemname(getarg(0)))+"^000000 has been obtained.";
+ close;
+}
diff --git a/npc/re/guild/invest_npc.txt b/npc/re/guild/invest_npc.txt
new file mode 100644
index 000000000..3c6c45ee5
--- /dev/null
+++ b/npc/re/guild/invest_npc.txt
@@ -0,0 +1,66 @@
+//===== rAthena Script =======================================
+//= Hall of Abyss - NPC Duplicates
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Expansion for War of Emperium FE.
+//= Invest in each realm to unlock new maps:
+//= - Guild Dungeon F2, total 20,000,000z.
+//= - Hall of Abyss, total 70,000,000z.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+// Realms - Merchant Guilds, Gate Managers, Status Boards
+//============================================================
+alde_gld,186,157,3 duplicate(Cat Paw Merchant Guild) Cat Paw Merchant Megrez 549
+alde_gld,191,164,3 duplicate(Gate Manager#realm) Gate Manager#alde_f00 421
+alde_gld,188,158,3 duplicate(Investment Status Board) Investment Status Board::InvestStatus_Alde 857
+
+gef_fild13,187,208,3 duplicate(Cat Paw Merchant Guild) Cat Paw Merchant Meraq 549
+gef_fild13,189,206,3 duplicate(Gate Manager#realm) Gate Manager#gef_f00 421
+gef_fild13,190,209,3 duplicate(Investment Status Board) Investment Status Board::InvestStatus_Gef 857
+
+pay_gld,203,189,3 duplicate(Cat Paw Merchant Guild) Cat Paw Merchant Phecda 549
+pay_gld,206,189,3 duplicate(Gate Manager#realm) Gate Manager#pay_f00 421
+pay_gld,200,189,5 duplicate(Investment Status Board) Investment Status Board::InvestStatus_Pay 857
+
+prt_gld,158,96,5 duplicate(Cat Paw Merchant Guild) Cat Paw Merchant Dubae 549
+prt_gld,161,96,3 duplicate(Gate Manager#realm) Gate Manager#prt_f00 421
+prt_gld,163,99,3 duplicate(Investment Status Board) Investment Status Board::InvestStatus_Prt 857
+
+// Inside Castles - Gate Managers
+//============================================================
+aldeg_cas01,85,105,4 duplicate(Gate Manager#castle) Gate Manager#alde_f01 421
+aldeg_cas02,124,49,3 duplicate(Gate Manager#castle) Gate Manager#alde_f02 421
+aldeg_cas03,121,75,3 duplicate(Gate Manager#castle) Gate Manager#alde_f03 421
+aldeg_cas04,25,67,7 duplicate(Gate Manager#castle) Gate Manager#alde_f04 421
+aldeg_cas05,54,200,3 duplicate(Gate Manager#castle) Gate Manager#alde_f05 421
+
+gefg_cas01,39,49,4 duplicate(Gate Manager#castle) Gate Manager#gef_f01 421
+gefg_cas02,10,65,4 duplicate(Gate Manager#castle) Gate Manager#gef_f02 421
+gefg_cas03,100,87,4 duplicate(Gate Manager#castle) Gate Manager#gef_f03 421
+gefg_cas04,35,44,3 duplicate(Gate Manager#castle) Gate Manager#gef_f04 421
+gefg_cas05,84,46,3 duplicate(Gate Manager#castle) Gate Manager#gef_f05 421
+
+payg_cas01,129,59,3 duplicate(Gate Manager#castle) Gate Manager#pay_f01 421
+payg_cas02,27,277,3 duplicate(Gate Manager#castle) Gate Manager#pay_f02 421
+payg_cas03,51,266,3 duplicate(Gate Manager#castle) Gate Manager#pay_f03 421
+payg_cas04,39,264,4 duplicate(Gate Manager#castle) Gate Manager#pay_f04 421
+payg_cas05,272,252,4 duplicate(Gate Manager#castle) Gate Manager#pay_f05 421
+
+prtg_cas01,114,178,3 duplicate(Gate Manager#castle) Gate Manager#prt_f01 421
+prtg_cas02,89,63,5 duplicate(Gate Manager#castle) Gate Manager#prt_f02 421
+prtg_cas03,72,109,3 duplicate(Gate Manager#castle) Gate Manager#prt_f03 421
+prtg_cas04,29,263,4 duplicate(Gate Manager#castle) Gate Manager#prt_f04 421
+prtg_cas05,24,23,4 duplicate(Gate Manager#castle) Gate Manager#prt_f05 421
+
+// iRO NPC Locations
+//============================================================
+//prt_gld,148,253,4 duplicate(Cat Paw Merchants Notice) Cat Paw Merchants Notice::CatPawNotice_iRO 857
+//prt_gld,145,255,6 duplicate(Namis#invest) Namis::Namis_iRO 545,4,4
+//prt_gld,165,50,4 duplicate(Thanks Ticket Machine) Thanks Ticket Machine::ThanksMachine_iRO 564
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
new file mode 100644
index 000000000..cecdadd20
--- /dev/null
+++ b/npc/re/instances/HazyForest.txt
@@ -0,0 +1,1193 @@
+//===== Hercules Script ======================================
+//= Hazy Forest
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
+//= [Official Conversion]
+//= Cross through the Hazy Forest to reach the Bifrost.
+//= Contains the Wandering Guardian quest.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+// Instance Creation
+//============================================================
+bif_fild01,158,340,5 script Laphine Soldier#mist 447,{
+
+ set .@party_id,getcharid(1);
+ set .@md_name$,"Mistwood Maze";
+
+ mes "[Laphine Soldier]";
+ mes "Are you going into the forest?";
+ next;
+ if (!.@party_id) {
+ mes "[Laphine Soldier]";
+ mes "Well, well, well, aren't you being too rash?";
+ mes "Why don't you at least organize a party?";
+ close;
+ }
+ set .@playtime, checkquest(7211,PLAYTIME);
+ if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Laphine Soldier]";
+ mes "...Are you sure you're not doing too much?";
+ mes "I think you'd better get some rest.";
+ mes "You'll only wear yourself out by trying to do too much";
+ next;
+ mes "[Laphine Soldier]";
+ mes "I don't think the authority will give you permission, either.";
+ mes "...Even a Sapha would be stopped from entering the forest.";
+ next;
+ select("You speak our language quite well, don't you?");
+ mes "[Laphine Soldier]";
+ mes "...Do I?";
+ mes "Actually I'm not speaking your language.";
+ mes "I'm speaking Laphine language.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "But it's one of the mysteries of Bifrost.";
+ mes "That we can understand each other even if we speak different languages.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "To be able to talk with everybody...";
+ mes "Perhaps that's the power of Bifrost.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Laphine Soldier]";
+ mes "Great, great.";
+ mes "Now the forest won't reject you.";
+ mes "What are you going to do now?";
+ erasequest 7211;
+ } else {
+ mes "[Laphine Soldier]";
+ mes "You human adventurers are incredible.";
+ mes "You're always going into the forest, where no one else dares to go.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "Phew. But I have to report to the authority";
+ mes "everyone who goes into the forest, just in case.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "You'll get permission";
+ mes "after you register.";
+ mes "Are you going to venture into the Hazy Forest?";
+ }
+ next;
+ switch(select("Venture into the Hazy Forest.:Give up.")) {
+ case 1:
+ set .@instance, instance_create(.@md_name$,.@party_id);
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@mist",.@instance) != "") {
+
+ instance_attach(.@instance);
+ instance_set_timeout 7200,300,.@instance;
+ instance_init(.@instance);
+
+ donpcevent instance_npcname("#Whisper_mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tom's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tomba's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Remi's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Ron's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Rover's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Mona's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Namon's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Spyder's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tito's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Pumba's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tete's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("The Gardeners' Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Dragon Herder", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Loki#mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Fragments of Memory", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#mist_warp_init", instance_id())+"::OnInstanceInit";
+
+ mes "[Laphine Soldier]";
+ mes "Party Name "+getpartyname(.@party_id)+"...";
+ mes "Party Leader "+strcharinfo(0)+"...";
+ mes "I've got it. I've written them down on the report here.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "You'll get permission soon.";
+ mes "Now go to the log tunnel, the only way to get into the Hazy Forest.";
+ mes "You understand?";
+ next;
+ mes "[Laphine Soldier]";
+ mes "We can't go against the forest,";
+ mes "but maybe you humans can.";
+ mes "Good luck!";
+ close;
+ } else
+ instance_destroy(.@instance);
+ }
+ mes "[Laphine Soldier]";
+ mes "Party Name "+getpartyname(.@party_id)+"...";
+ mes "Party Leader "+strcharinfo(0)+"...";
+ mes "Hmm...";
+ next;
+ mes "[Laphine Soldier]";
+ if (.@playtime == -1)
+ mes "It's dangerous in the forest.";
+ else
+ mes "The atmosphere is somewhat tense in the forest.";
+ mes "...Why don't you just go back today?";
+ close;
+ case 2:
+ mes "[Laphine Soldier]";
+ mes "Well, you've made the right decision.";
+ if (.@playtime == -1)
+ mes "That's what's good for you.";
+ close;
+ }
+ } else {
+ mes "[Laphine Soldier]";
+ mes "Where's your party leader?";
+ mes "It's dangerous in there.";
+ next;
+ if (.@playtime == 2) {
+ mes "[Laphine Soldier]";
+ mes "I see you've been into the forest before.";
+ mes "Okay, at least the forest won't reject you.";
+ mes "However...";
+ erasequest 7211;
+ next;
+ }
+ mes "[Laphine Soldier]";
+ mes "Put yourself in my shoes, the entrance guard, and let me meet the representative of your party.";
+ mes "I have to discuss some things with him/her.";
+ close;
+ }
+}
+
+bif_fild01,161,355,0 script Log Tunnel 844,{
+ mes "I see the forest through the log tunnel.";
+ mes "It looks like I can enter the forest through the log tunnel.";
+ next;
+ if(select("Enter the tunnel.:Give up.") == 2)
+ close;
+ // TODO: Add official MD_Enter cases.
+ if (!getcharid(1)) {
+ mes "[Laphine Soldier]";
+ mes "Hey, look!";
+ mes "Are you going alone?";
+ mes "That's impossible. Too rash.";
+ mes "Team up with some friends and go together!";
+ close;
+ }
+ set .@playtime, checkquest(7211,PLAYTIME);
+ if (has_instance("1@mist") == "") {
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "You try to crawl into the log, but some mysterious power pushes you back with a gush of wind.";
+ mes "It seems like you can't force your way into the forest.";
+ close;
+ }
+ mes "The world beyond the log tunnel looks dark and suffocating.";
+ mes "Your instinct is screaming that this forest is dangerous.";
+ close;
+ }
+ if (.@playtime == 2) erasequest 7211;
+ if (checkquest(7211,PLAYTIME) == -1) setquest 7211;
+ mapannounce "bif_fild01",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ warp "1@mist",89,29;
+ close;
+}
+
+// Instance Scripts
+//============================================================
+1@mist,89,29,0 script #Whisper_mist 844,1,1,{
+ end;
+OnInstanceInit:
+ enablenpc instance_npcname("#Whisper_mist", instance_id());
+ end;
+OnTouch:
+ disablenpc instance_npcname("#Whisper_mist", instance_id());
+ initnpctimer;
+ end;
+OnTimer10000:
+OnTimer20000:
+ instance_announce 0,"Whisper: Who's this? Who's this!? The forest is open! Tom, Tomba, Tired Rem, Remi! Wake up!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer60000:
+ instance_announce 0,"Loud Whisper: What are the forest keepers doing? What are the gardeners doing??",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer120000:
+ instance_announce 0,"Loud Whisper: Don't go out, wander around forever, and play with us!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer180000:
+ instance_announce 0,"Loud Whisper: Useless, useless. Wandering around and around, you'll meet your end!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+}
+
+// callfunc "F_Mora_Mist",<warp to enable>,<success message>,<fail message>{,<end flag>}
+function script F_Mora_Mist {
+ if (mobcount("1@mist",instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead") == 0) {
+ mes "Obviously no one is taking care of it.";
+ mes "It seems like you can chop down the garden tree.";
+ next;
+ if(select("Chop down the garden tree.:Give up.") == 2)
+ close;
+ mes "You chop down the tree, which was blocking the path of the maze, "+((getarg(3,0))?"clearing the way out of the forest.":"so now you can continue.");
+ instance_announce 0,getarg(1),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ enablenpc instance_npcname(getarg(0), instance_id());
+ disablenpc instance_npcname(strnpcinfo(0), instance_id());
+ close;
+ } else
+ instance_announce 0,((getarg(3,0))?getarg(2):getarg(2)+"'s Cry: Huh? Who's doing bad things to my tree?!"),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+}
+
+1@mist,251,121,3 script Tom's Garden 858,{ end; }
+1@mist,247,123,0 script Tom's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a25_a18-1",
+ "Roaring Cry: Tom's bolt is broken! Watch out, Tomba! Watch out, Tomba!",
+ "Tom";
+ end;
+OnInstanceInit:
+ monster "1@mist",249,120,"Tom",2136,1,instance_npcname("Tom's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,226,95,3 script Tomba's Garden 858,{ end; }
+1@mist,225,98,0 script Tomba's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a27-2_af1-2",
+ "Roaring Cry: Tomba's Garden Tree is gone with Tomba. Remi, what are you going to do now?",
+ "Tomba";
+ end;
+OnInstanceInit:
+ monster "1@mist",200,64,"Tomba",2136,1,instance_npcname("Tomba's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,157,183,3 script Remi's Garden 858,{ end; }
+1@mist,159,184,0 script Remi's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a15-2_a4-1",
+ "Roaring Cry: Remi, Remi's Garden Tree was chopped down- Rem, it's your turn next. Poor Rem!",
+ "Remi";
+ end;
+OnInstanceInit:
+ monster "1@mist",154,184,"Remi the Tired",2137,1,instance_npcname("Remi's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,58,39,3 script Tired Rem's Garden 858,{ end; }
+1@mist,61,39,0 script Tired Rem's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a4-2_a11",
+ "Rem's Desperate Cry: Argh... Rem will sleep. Rem will sleep now, and won't wake up forever!",
+ "Rem";
+ end;
+OnInstanceInit:
+ monster "1@mist",101,107,"Rem the Gardener",2136,1,instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnTimer10000:
+ instance_announce 0,"Whisper of the Forest: So Tom's, Tomba's, Remi's, and Rem's garden trees were all chopped down?",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer15000:
+ instance_announce 0,"Whisper of the Forest: Trouble, trouble, we're in big trouble.",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer20000:
+ instance_announce 0,"Loud Whisper: They've come to the second deepest forest. Gardeners of the deep forest, watch out!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,227,179,3 script Ron's Garden 858,{ end; }
+1@mist,230,179,0 script Ron's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b4-2_b2",
+ "Ron the Gardener's Cry: I'm getting off work! Don't look for Ron, the second gardener, any more!!",
+ "Ron";
+ end;
+OnInstanceInit:
+ monster "1@mist",227,178,"Ron the Gardener",2134,1,instance_npcname("Ron's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,288,226,3 script Rover's Garden 858,{ end; }
+1@mist,285,225,0 script Rover's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b7_bf1-2",
+ "Roaring Whisper: Ron's, and Rover's trees were chopped down as well. Who is forcing his way into the forest? Who is it?",
+ "Rover";
+ end;
+OnInstanceInit:
+ monster "1@mist",304,237,"Rover the Strutter",2134,1,instance_npcname("Rover's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,159,318,3 script Mona's Garden 858,{ end; }
+1@mist,161,316,0 script Mona's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b31_b16",
+ "Clamoring Whisper: Mona the Seedseeker's garden tree is gone! Mona is gone too! Namon will be okay, because he is brave, right? Namon, are you okay?",
+ "Mona";
+ end;
+OnInstanceInit:
+ monster "1@mist",239,253,"Mona the Seedseeker",2133,1,instance_npcname("Mona's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,205,300,3 script Namon's Garden 858,{ end; }
+1@mist,204,299,0 script Namon's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b27-3_bN-1",
+ "Clamoring Whisper: Brave Namon met his fate not so bravely... *giggle*",
+ "Namon";
+ end;
+OnInstanceInit:
+ monster "1@mist",89,173,"Brave Namon",2134,1,instance_npcname("Namon's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,219,232,3 script Sad Neoron's Garden 858,{ end; }
+1@mist,221,236,0 script Sad Neoron's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b6-1_b33",
+ "Lamenting Whisper: Sad Neoron has become cheerful! Spyder the Superior Spider, what are you going to do? What are you going to do now?",
+ "Neoron";
+ end;
+OnInstanceInit:
+ monster "1@mist",143,265,"Sad Neoron",2137,1,instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,206,202,3 script Spyder's Garden 858,{ end; }
+1@mist,206,200,0 script Spyder's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b5_b14",
+ "Depressed Whisper: Now it's all over with the second deepest forest. Gardeners are dying out-",
+ "Spyder";
+ end;
+OnInstanceInit:
+ monster "1@mist",209,200,"Spyder the Eight-Legged",2132,1,instance_npcname("Spyder's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnTimer5000:
+ instance_announce 0,"Roaring Whisper: The path is about to open. The tight bolts have been removed!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer9000:
+ instance_announce 0,"Roaring Whisper: A forest opened, another opened, and the other is going to open as well. Tito and Pumba, they are heading your way!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer13000:
+ instance_announce 0,"Roaring Whisper: Where you get after wandering around, around and around, everybody you've met while wandering around, around and around,",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer17000:
+ instance_announce 0,"Roaring Whisper: all the gardeners will be waiting for you, with their clippers in their hands-!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,96,288,3 script Tito's Garden 858,{ end; }
+1@mist,95,287,0 script Tito's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c1_c13-1",
+ "Tito's Cry: *sob* *sob* Tito's gone now! Tito's done for! Boo hoo!!",
+ "Tito";
+ end;
+OnInstanceInit:
+ monster "1@mist",264,291,"Tito the Flipper",2133,1,instance_npcname("Tito's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,326,325,3 script Pumba's Garden 858,{ end; }
+1@mist,324,325,0 script Pumba's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c13-3_c4",
+ "Roaring Whisper: Tito the Hard Worker was defeated! Stop playing and go to work, Tete! Start working!",
+ "Pumba";
+ end;
+OnInstanceInit:
+ monster "1@mist",309,165,"Diligent Pumba",2134,1,instance_npcname("Pumba's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,278,345,3 script Tete's Garden 858,{ end; }
+1@mist,280,344,0 script Tete's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c19_c4",
+ "Whisper: They are strong, strong indeed. What are we going to do now? Are there any gardeners left? Are there any?",
+ "Tete";
+ end;
+OnInstanceInit:
+ monster "1@mist",277,343,"Carefree Tete",2136,1,instance_npcname("Tete's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,345,186,0 script The Gardeners' Tree 527,{
+ callfunc "F_Mora_Mist",
+ "#to_bif02",
+ "Roaring Whisper: The forest will remember you! It will remember you, the one who broke the clippers of all the gardeners!",
+ "Gardeners: We're not dead, yet!!!!",1;
+ end;
+OnInstanceInit:
+ monster "1@mist",318,137,"Baby Tom",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",321,137,"Tomba the Baby",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",324,137,"Exhausted Remi",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",319,135,"Rem the Exhausted",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",323,135,"Ron the Ex-Gardener",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",320,133,"Rover the Strutter",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",323,133,"Mona the Seedpicker",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",317,132,"Timid Namon",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",326,132,"Indifferent Neoron",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",317,129,"Spyder the Seven-Legged",2132,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",320,129,"Tito the Flapper",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",324,129,"Lazy Pumba",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",327,129,"Careless Tete",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,73,290,0 script Mysterious Flower#1 844,{
+ specialeffect EF_LEVEL99_4;
+ disablenpc instance_npcname(strnpcinfo(0), instance_id());
+ getitem 12561,1; //Mysterious_Seed
+ end;
+}
+1@mist,69,295,0 duplicate(Mysterious Flower#1) Mysterious Flower#2 844
+1@mist,62,291,0 duplicate(Mysterious Flower#1) Mysterious Flower#3 844
+1@mist,54,293,0 duplicate(Mysterious Flower#1) Mysterious Flower#4 844
+1@mist,48,286,0 duplicate(Mysterious Flower#1) Mysterious Flower#5 844
+1@mist,54,277,0 duplicate(Mysterious Flower#1) Mysterious Flower#6 844
+1@mist,52,270,0 duplicate(Mysterious Flower#1) Mysterious Flower#7 844
+1@mist,62,268,0 duplicate(Mysterious Flower#1) Mysterious Flower#8 844
+1@mist,72,271,0 duplicate(Mysterious Flower#1) Mysterious Flower#9 844
+1@mist,72,276,0 duplicate(Mysterious Flower#1) Mysterious Flower#10 844
+1@mist,118,194,0 duplicate(Mysterious Flower#1) Mysterious Flower#11 844
+1@mist,122,204,0 duplicate(Mysterious Flower#1) Mysterious Flower#12 844
+1@mist,137,209,0 duplicate(Mysterious Flower#1) Mysterious Flower#13 844
+1@mist,144,203,0 duplicate(Mysterious Flower#1) Mysterious Flower#14 844
+1@mist,146,186,0 duplicate(Mysterious Flower#1) Mysterious Flower#15 844
+1@mist,142,182,0 duplicate(Mysterious Flower#1) Mysterious Flower#16 844
+1@mist,132,179,0 duplicate(Mysterious Flower#1) Mysterious Flower#17 844
+1@mist,123,184,0 duplicate(Mysterious Flower#1) Mysterious Flower#18 844
+1@mist,194,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#19 844
+1@mist,188,109,0 duplicate(Mysterious Flower#1) Mysterious Flower#20 844
+1@mist,193,94,0 duplicate(Mysterious Flower#1) Mysterious Flower#21 844
+1@mist,205,92,0 duplicate(Mysterious Flower#1) Mysterious Flower#22 844
+1@mist,213,96,0 duplicate(Mysterious Flower#1) Mysterious Flower#23 844
+1@mist,216,103,0 duplicate(Mysterious Flower#1) Mysterious Flower#24 844
+1@mist,212,116,0 duplicate(Mysterious Flower#1) Mysterious Flower#25 844
+1@mist,207,120,0 duplicate(Mysterious Flower#1) Mysterious Flower#26 844
+1@mist,169,310,0 duplicate(Mysterious Flower#1) Mysterious Flower#27 844
+1@mist,172,296,0 duplicate(Mysterious Flower#1) Mysterious Flower#28 844
+1@mist,191,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#30 844
+1@mist,195,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#31 844
+1@mist,192,316,0 duplicate(Mysterious Flower#1) Mysterious Flower#32 844
+1@mist,187,320,0 duplicate(Mysterious Flower#1) Mysterious Flower#33 844
+1@mist,174,318,0 duplicate(Mysterious Flower#1) Mysterious Flower#34 844
+1@mist,308,136,0 duplicate(Mysterious Flower#1) Mysterious Flower#35 844
+1@mist,314,122,0 duplicate(Mysterious Flower#1) Mysterious Flower#36 844
+1@mist,321,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#37 844
+1@mist,331,123,0 duplicate(Mysterious Flower#1) Mysterious Flower#38 844
+1@mist,335,126,0 duplicate(Mysterious Flower#1) Mysterious Flower#39 844
+1@mist,332,141,0 duplicate(Mysterious Flower#1) Mysterious Flower#40 844
+1@mist,328,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#41 844
+1@mist,314,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#42 844
+1@mist,238,224,0 duplicate(Mysterious Flower#1) Mysterious Flower#43 844
+1@mist,244,231,0 duplicate(Mysterious Flower#1) Mysterious Flower#44 844
+1@mist,257,232,0 duplicate(Mysterious Flower#1) Mysterious Flower#45 844
+1@mist,262,229,0 duplicate(Mysterious Flower#1) Mysterious Flower#46 844
+1@mist,265,216,0 duplicate(Mysterious Flower#1) Mysterious Flower#47 844
+1@mist,260,214,0 duplicate(Mysterious Flower#1) Mysterious Flower#48 844
+1@mist,252,206,0 duplicate(Mysterious Flower#1) Mysterious Flower#49 844
+1@mist,244,211,0 duplicate(Mysterious Flower#1) Mysterious Flower#50 844
+
+// Wandering Guardian Quest
+//============================================================
+1@mist,2,2,0 script #Dragon Herder 844,{
+ end;
+OnInstanceInit:
+ switch(rand(1,6)) {
+ case 1: setarray .@c[0],77,240; break;
+ case 2: setarray .@c[0],147,261; break;
+ case 3: setarray .@c[0],182,263; break;
+ case 4: setarray .@c[0],194,350; break;
+ case 5: setarray .@c[0],268,183; break;
+ case 6: setarray .@c[0],65,278; break;
+ }
+ monster "1@mist",.@c[0],.@c[1],"Wandering Purple Dragon",2131,1,instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ if (mobcount("1@mist",instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead") == 0) {
+ donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnEnable";
+ donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnEnable";
+ donpcevent instance_npcname("Loki#mist", instance_id())+"::OnEnable";
+ instance_announce 0,"The Dragon's Cry: Am I being punished... for abandoning the way... of the guardian...?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ disablenpc instance_npcname("#Dragon Herder", instance_id());
+ initnpctimer;
+ }
+ end;
+OnTimer3000:
+ stopnpctimer;
+ instance_announce 0,"Voice in your head: ...Will you... save... me... please......?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ end;
+}
+
+1@mist,97,30,3 script Mysterious Young Man#mis 512,{
+ if (BaseLevel < 98) {
+ mes "[Mysterious Young Man]";
+ mes "Huh? Do you plan to pass through here?";
+ mes ".....I'm afraid it's beyond your ability, but I won't meddle in your affairs.";
+ mes "We'll meet again, if you survive.";
+ close;
+ }
+ if (ep14_1_mistwoods == 0) {
+ if (ep13_3_secret > 23) {
+ mes "[Mysterious Young Man]";
+ mes "You... I remember seeing you at the camp.";
+ mes "The information you gave on Ahat was useful.";
+ mes "Thanks!";
+ next;
+ mes "[Mysterious Young Man]";
+ mes "But do you plan to pass through here?";
+ mes "What good is it to go across Bifrost?";
+ next;
+ } else {
+ mes "[Mysterious Young Man]";
+ mes "Do you plan to pass through here?";
+ mes "I will advise against it if you're just curious.";
+ mes "It will only bring about your untimely death...";
+ next;
+ }
+ mes "[Mysterious Young Man]";
+ mes "If you are determined to pass through here,";
+ mes "I will ask for your help with something.";
+ next;
+ select("Who are you?");
+ mes "[Loki]";
+ mes "Loki... from the Assassin's Guild.";
+ mes "That's my name.";
+ mes "And yours?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "....";
+ mes "...."+strcharinfo(0)+" sir.";
+ next;
+ mes "[Loki]";
+ mes "I see. "+strcharinfo(0)+".";
+ mes "I'm asking you again.";
+ mes "Do you plan to pass through this forest?";
+ next;
+ switch(select("Yes, I do.:No, I don't.")) {
+ case 1:
+ mes "[Loki]";
+ mes "Then I'll ask you a question.";
+ mes "Have you ever seen a guard... a girl with purple hair?";
+ next;
+ switch(select("No, I haven't.:Yes, I might have...")) {
+ case 1:
+ mes "[Loki]";
+ mes "So you haven't.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ case 2:
+ mes "[Loki]";
+ mes "Wait.";
+ mes "(Loki comes closer.)";
+ mes "... No.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ }
+ mes "[Loki]";
+ mes "Now we have to say goodbye here.";
+ mes "If you survive this forest, of course.";
+ set ep14_1_mistwoods,2;
+ setquest 7212;
+ close;
+ case 2:
+ mes "[Loki]";
+ mes "I understand.";
+ mes "Step back if you aren't ready.";
+ mes "This forest doesn't like strangers.";
+ set ep14_1_mistwoods,1;
+ close;
+ }
+ } else if (ep14_1_mistwoods == 1) {
+ mes "[Loki]";
+ mes "I told you - step back if you don't want to die.";
+ mes "It's not easy going through the forest.";
+ mes "It may cost you your life.";
+ next;
+ switch(select("Okay.:What do you want?")) {
+ case 1:
+ mes "- When you step back,";
+ mes "Loki nods slightly and then looks away. -";
+ close;
+ case 2:
+ mes "[Loki]";
+ mes "I'm looking for somebody.";
+ mes "Have you ever seen a guard... a girl with purple hair?";
+ next;
+ switch(select("No, I haven't.:Yes, I might have...")) {
+ case 1:
+ mes "[Loki]";
+ mes "So you haven't.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ case 2:
+ mes "[Loki]";
+ mes "Wait.";
+ mes "(Loki comes closer.)";
+ mes "... No.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ }
+ mes "[Loki]";
+ mes "Now we have to say goodbye here.";
+ mes "Hopefully, we will see each other again in Mora.";
+ set ep14_1_mistwoods,2;
+ setquest 7212;
+ close;
+ }
+ } else if (ep14_1_mistwoods == 2) {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "Hopefully, we will see each other again in Mora.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "So we meet again.";
+ mes "Are you used to this place?";
+ mes "Come to the inn in Mora.";
+ mes "I have something to give to you.";
+ close;
+ } else {
+ mes "[Loki]";
+ mes "We're seeing a lot of each other these days.";
+ mes "It seems you are completely comfortable with the place.";
+ mes "You'd better not be too proud of yourself.";
+ close;
+ }
+ end;
+OnInstanceInit:
+OnEnable:
+ enablenpc instance_npcname("Mysterious Young Man#mis", instance_id());
+ end;
+OnDisable:
+ disablenpc instance_npcname("Mysterious Young Man#mis", instance_id());
+ end;
+}
+
+1@mist,183,304,3 script Loki#mist 512,{
+ if (ep14_1_mistwoods < 2) {
+ mes "[Loki]";
+ mes "An adventurer in the forest.";
+ mes ".....";
+ mes "You can go to Mora through this forest.";
+ close;
+ } else if (ep14_1_mistwoods == 2) {
+ mes "[Loki]";
+ mes "Is it you that took care of this unruly girl?";
+ mes "I guess I have to thank you.";
+ mes "You've calmed her down.";
+ next;
+ select("What's happening?:This girl...?");
+ mes "[Loki]";
+ mes "You might be able to change your appearance, but you cannot change your unique, innate light.";
+ mes "A scent strong enough to burn your nose.";
+ next;
+ mes "[Loki]";
+ mes "This is Nydhogg, the Guardian of Yggdrasil,";
+ mes "whom I was looking for.";
+ mes "Now she won't wander around crazy any more.";
+ next;
+ select("What are you going to do now?");
+ mes "[Loki]";
+ mes "I'll wait for her to wake up and get out of this forest.";
+ mes "I can manage it on my own.";
+ mes "I'll see you in Mora.";
+ set ep14_1_mistwoods,3;
+ erasequest 7212;
+ setquest 7213;
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "I can manage her on my own.";
+ mes "If you have something to say, say it after we get out of the forest.";
+ close;
+ } else {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "If you have something to say, say it after we get out of the forest.";
+ close;
+ }
+ end;
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Loki#mist", instance_id());
+ end;
+OnEnable:
+ enablenpc instance_npcname("Loki#mist", instance_id());
+ end;
+}
+
+1@mist,181,303,3 script Collapsed Girl#mist 511,{
+ mes "You see a girl with mysterious hair collapsed on the ground.";
+ mes "As you approach her, you smell the scent of flowers so strong that it makes you dizzy.";
+ close;
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Collapsed Girl#mist", instance_id());
+ end;
+OnEnable:
+ enablenpc instance_npcname("Collapsed Girl#mist", instance_id());
+ end;
+}
+
+mora,46,152,5 script Flower Smelling Lady 510,{
+ if (ep14_1_mistwoods < 3) {
+ mes "[Flower Smell Lady]";
+ mes "I need rest.";
+ mes "I'm too tired to talk to you.";
+ mes "I'm sorry.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Nydhogg the Guardian]";
+ mes "I've been waiting for you.";
+ mes "I'm still confused, but I know what I did wrong.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "If it weren't for you, I would still be wandering in the abyssal darkness.";
+ mes "I thank you, from the bottom of my heart.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I'm ashamed of myself, falling for the sweet but empty words that came to me in my loneliness.";
+ mes "....";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I don't deserve to be a guardian any more.";
+ mes "A dragon gone crazy is not a guardian any more.";
+ next;
+ mes "[Loki]";
+ mes "Yggdrasil doesn't think so.";
+ mes "Nidi, don't forget your duties.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Are you...?";
+ mes "I see...";
+ mes "I thought I was forsaken...";
+ next;
+ mes "The Guardian slowly looked away as if deep in thought.";
+ set ep14_1_mistwoods,4;
+ close2;
+ } else if (ep14_1_mistwoods == 4) {
+ mes "- He seems to be deep in thought. -";
+ close;
+ } else {
+ mes "[Nydhogg the Guardian]";
+ mes "I haven't gotten all of my powers back.";
+ mes "I'm sorry I can't protect you.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Loki said...";
+ mes "that I won't cry from loneliness again,";
+ mes "that I will always have new friends like you...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "...I've lost everything, but I'm happy now.";
+ close;
+ }
+}
+
+mora,48,152,3 script Sharp Eyed Man 512,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- You have too many items to do this quest. -";
+ close;
+ }
+ if (ep14_1_mistwoods < 3) {
+ mes "He won't look at you. It's like he's not interested at all.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "So you've passed through the forest.";
+ mes "It seems Niddy has something to say to you.";
+ close;
+ } else if (ep14_1_mistwoods == 4) {
+ mes "[Loki]";
+ mes "Nydhogg was one of the guardians of the World Tree.";
+ mes "But he abandoned his duties as a guardian when he gave in to Morroc's temptation.";
+ next;
+ mes "[Loki]";
+ mes "Some fools performed a ritual to break the seal that held Morroc.";
+ mes "But the ritual didn't work right. The servant of Morroc failed to break the seal.";
+ next;
+ mes "[Loki]";
+ mes "But the seal is so weak that it can break open any time.";
+ mes "It's Yggdrasil the World Tree's will that has kept the seal from breaking.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's right. The power of the World Tree is linked to the whole world.";
+ mes "When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's why all those disasters happened to Yggdrasil.";
+ mes "As the World Tree became unstable, the influence it had on the seal grew weak.";
+ next;
+ mes "[Loki]";
+ mes "And Morroc broke himself free from the seal.";
+ mes "Although it seems like he used most of his powers just to break the seal...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "It's all my fault.";
+ mes "I couldn't break free from Morroc's temptation.";
+ mes "For too... too long...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "...I wanted to be relieved of my thousands of years of loneliness.";
+ mes "I wasn't in my right mind then.";
+ mes "It was none other than I that broke my bond with Yggdrasil.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I lost control of myself, and did what I shouldn't have done.";
+ mes "The other side of me became a shadow and a reckless tyrant.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Facing the world, I realized...";
+ mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's how I was left alone.";
+ mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "So I became a sinner, forgotten to the world.";
+ next;
+ mes "[Loki]";
+ mes "It's not too late.";
+ mes "You're still a guardian.";
+ mes "You still have things to do.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "... Oh, yes. It's late, but I have to fulfill my duties as a guardian.";
+ mes "Now I know. I'll destroy Morroc with my own hands.";
+ mes "I will fulfill my duties as a guardian.";
+ next;
+ switch(select("You're not alone.:Those are very important duties.")) {
+ case 1:
+ mes "[Nydhogg the Guardian]";
+ mes "You're right.";
+ mes "It may be why I haven't been forsaken - to realize that I'm not alone.";
+ mes "You are a kind soul.";
+ next;
+ break;
+ case 2:
+ mes "[Nydhogg the Guardian]";
+ mes "But this is my atonement.";
+ mes "I'm happy, though.";
+ mes "I don't have to fight the loneliness any more.";
+ next;
+ break;
+ }
+ mes "[Nydhogg the Guardian]";
+ mes strcharinfo(0)+"...";
+ mes "Thanks for listening to my long story.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "It's what I always have with me.";
+ mes "I'm sure it will protect you someday.";
+ next;
+ mes "[Loki]";
+ mes "(Removes his scarf from around his neck and hands it to you.)";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "May the blessing of Mother Yggdrasil be with you...";
+ set ep14_1_mistwoods,10;
+ completequest 7213;
+ getitem 2568,1; //Muffler_Of_Roki
+ getitem 2858,1; //Pendant_Of_Guardian
+ getexp 400000,400000;
+ close;
+ } else {
+ mes "[Loki]";
+ mes "I'll be staying here for a while.";
+ mes "We may meet again.";
+ next;
+ mes "[Loki]";
+ mes "The day when Morroc reveals his despicable nature...";
+ mes "I will be waiting for him.";
+ close;
+ }
+}
+
+// Monster Spawns
+//============================================================
+1@mist,1,1,0 script #Mist Mobs Respawn1 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Miming",2137,15,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Miming",2137,.@num_mobs,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,2,0 script #Mist Mobs Respawn2 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Pom Spider",2132,35,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Pom Spider",2132,.@num_mobs,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,3,0 script #Mist Mobs Respawn3 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Angra Mantis",2133,35,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Angra Mantis",2133,.@num_mobs,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,4,0 script #Mist Mobs Respawn4 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Parus",2134,35,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Parus",2134,.@num_mobs,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,5,0 script #Mist Mobs Respawn5 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Little Fatum",2136,15,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Little Fatum",2136,.@num_mobs,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,6,0 script #Fragments of Memory 844,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("#Fragments of Memory", instance_id());
+ monster "1@mist",0,0,"Guardian's Fragments of Memory",2138,15;
+ end;
+}
+
+// Warp Portals
+//============================================================
+bif_fild01,38,374,0 script Mysterious Flower#ep14_1 844,{
+ mes "It's a giant flower with mysterious energy.";
+ if (countitem(12561)) {
+ mes "It's reacting to the Mysterious Flower Seeds you have with you.";
+ next;
+ switch(select("Observe the reaction.:Stop the reaction.")) {
+ case 1:
+ mes "The flower started to shake violently";
+ mes "and swing forward as if trying to send the seeds as far away as possible!!!";
+ close2;
+ delitem 12561,1; //Mysterious_Seed
+ warp "bif_fild02",160,230;
+ end;
+ case 2:
+ mes "As you hold onto the Mysterious Flower Seeds tightly,";
+ mes "the flower shook violently and then became calm again.";
+ close;
+ }
+ }
+ mes "It looks like it has some special use, but you're not sure what.";
+ close;
+}
+
+1@mist,104,23,0 warp #to_bif01 1,1,bif_fild01,160,352
+
+1@mist,109,70,0 script a1_a2 45,1,1,{
+ end;
+OnTouch:
+ if (checkquest(7211,PLAYTIME) == -1)
+ setquest 7211;
+ warp "1@mist",116,40;
+ end;
+}
+
+1@mist,113,40,0 warp a2_a7 1,1,1@mist,90,81
+1@mist,93,81,0 warp a7_a14 1,1,1@mist,108,152
+1@mist,111,154,0 warp a14_a24 1,1,1@mist,236,108
+1@mist,236,110,0 warp a24_a1 1,1,1@mist,106,69
+1@mist,161,67,0 warp a18-1_a22 1,1,1@mist,159,85
+1@mist,180,116,0 warp a23_a18-1 1,1,1@mist,164,66
+1@mist,180,63,0 warp a18-2_a9 1,1,1@mist,141,90
+1@mist,116,84,0 warp a8_a26 1,1,1@mist,222,133
+1@mist,220,133,0 warp a26_a27-1 1,1,1@mist,200,64
+1@mist,197,64,0 warp a27-1_a23 1,1,1@mist,177,116
+1@mist,146,194,0 warp af1-2_a27-2 1,1,1@mist,225,96
+1@mist,133,195,0 warp af1-1_af2-1 1,1,1@mist,202,110
+1@mist,202,107,0 warp af2-1_af1-1 1,1,1@mist,134,189
+1@mist,217,110,0 warp af2-2_a20-1 1,1,1@mist,240,56
+1@mist,240,54,0 warp a20-1_af2-2 1,1,1@mist,214,110
+1@mist,234,67,0 warp a20-2_a21 1,1,1@mist,239,80
+1@mist,242,77,0 warp a21_a15-1 1,1,1@mist,153,137
+1@mist,156,139,0 warp a15-1_a3 1,1,1@mist,123,55
+1@mist,124,51,0 warp a3_a20-1 1,1,1@mist,240,56
+1@mist,48,41,0 warp a4-1_a17 1,1,1@mist,174,165
+1@mist,171,165,0 warp a17_a16 1,1,1@mist,168,143
+1@mist,169,141,0 warp a16_a10 1,1,1@mist,101,107
+1@mist,99,107,0 warp a10_a4-2 1,1,1@mist,57,38
+1@mist,65,113,0 warp a11_a28 1,1,1@mist,218,151
+1@mist,221,151,0 warp a28_a13 1,1,1@mist,117,126
+1@mist,114,126,0 warp a13_a5 1,1,1@mist,36,62
+1@mist,61,88,0 warp a6_a19 1,1,1@mist,189,139
+1@mist,186,140,0 warp a19_a12 1,1,1@mist,98,126
+1@mist,101,126,0 warp a12_a29-1 1,1,1@mist,238,151
+1@mist,235,152,0 warp a29-1_af1-2 1,1,1@mist,144,194
+1@mist,254,151,0 warp a29-2E_b1 1,1,1@mist,271,164
+1@mist,275,211,0 warp b1_b13 1,1,1@mist,277,112
+1@mist,301,141,0 warp b14_b24 1,1,1@mist,99,232
+1@mist,99,230,0 warp b24_b25 1,1,1@mist,103,255
+1@mist,102,253,0 warp b25_b4-1 1,1,1@mist,215,177
+1@mist,212,177,0 warp b4-1_b1 1,1,1@mist,276,208
+1@mist,289,167,0 warp b2_b19 1,1,1@mist,152,219
+1@mist,149,219,0 warp b19_b20 1,1,1@mist,119,227
+1@mist,115,227,0 warp b20_b23 1,1,1@mist,230,353
+1@mist,233,353,0 warp b23_b7 1,1,1@mist,289,225
+1@mist,76,273,0 warp bf1-2_b7 1,1,1@mist,289,225
+1@mist,61,282,0 warp bf1-1_bf2-1 1,1,1@mist,256,220
+1@mist,252,220,0 warp bf2-1_bf1-1 1,1,1@mist,65,282
+1@mist,267,213,0 warp bf2-2_b28 1,1,1@mist,214,268
+1@mist,212,265,0 warp b28_b12 1,1,1@mist,288,266
+1@mist,285,266,0 warp b12_b21 1,1,1@mist,143,234
+1@mist,143,231,0 warp b21_b29 1,1,1@mist,222,281
+1@mist,223,279,0 warp b29_b31 1,1,1@mist,158,317
+1@mist,134,287,0 warp b30_b3 1,1,1@mist,293,195
+1@mist,295,197,0 warp b3_b10 1,1,1@mist,239,253
+1@mist,236,253,0 warp b10_b12 1,1,1@mist,288,266
+1@mist,111,203,0 warp b16_b34 1,1,1@mist,202,333
+1@mist,199,333,0 warp b34_b27-1 1,1,1@mist,203,251
+1@mist,206,249,0 warp b27-1_b22 1,1,1@mist,168,239
+1@mist,165,239,0 warp b22_b15 1,1,1@mist,89,173
+1@mist,177,265,0 warp b27-2_a14 1,1,1@mist,108,152
+1@mist,166,314,0 warp bN-1_b27-3 1,1,1@mist,206,297
+1@mist,197,299,0 warp bN-2_b17 1,1,1@mist,167,200
+1@mist,165,200,0 warp b17_bN-2 1,1,1@mist,193,299
+1@mist,86,173,0 warp b15_b32 1,1,1@mist,218,313
+1@mist,215,313,0 warp b32_b28 1,1,1@mist,214,268
+1@mist,230,324,0 warp b33_b6-1 1,1,1@mist,221,233
+1@mist,230,230,0 warp b6-2_b11 1,1,1@mist,263,261
+1@mist,263,258,0 warp b11_b9 1,1,1@mist,272,246
+1@mist,269,246,0 warp b9_b26 1,1,1@mist,143,265
+1@mist,140,265,0 warp b26_b5 1,1,1@mist,209,200
+1@mist,195,206,0 warp b18_b35 1,1,1@mist,169,341
+1@mist,166,341,0 warp b35_b36 1,1,1@mist,198,354
+1@mist,201,354,0 warp b36_b37-1 1,1,1@mist,83,224
+1@mist,87,224,0 warp b37-1_b35 1,1,1@mist,169,341
+1@mist,84,273,0 warp b37-2_c1 1,1,1@mist,98,287
+1@mist,111,298,0 warp c2_c3 1,1,1@mist,82,307
+1@mist,79,307,0 warp c3_c7 1,1,1@mist,284,89
+1@mist,281,89,0 warp c7_c12 1,1,1@mist,264,291
+1@mist,261,291,0 warp c12_c2 1,1,1@mist,115,298
+1@mist,326,275,0 warp c13-1_b13 1,1,1@mist,277,112
+1@mist,294,293,0 warp c13-2_c5 1,1,1@mist,78,330
+1@mist,81,330,0 warp c5_c17 1,1,1@mist,308,330
+1@mist,308,327,0 warp c17_c10 1,1,1@mist,309,165
+1@mist,306,165,0 warp c10_c13-2 1,1,1@mist,298,293
+1@mist,46,316,0 warp c4_c6 1,1,1@mist,113,328
+1@mist,95,328,0 warp c6_c9 1,1,1@mist,342,157
+1@mist,339,157,0 warp c9_c16 1,1,1@mist,343,328
+1@mist,343,325,0 warp c16_c8-2 1,1,1@mist,346,120
+1@mist,344,123,0 warp c8-2_c19 1,1,1@mist,277,343
+1@mist,256,313,0 warp c18_c15 1,1,1@mist,343,307
+1@mist,342,305,0 warp c15_cKEY 1,1,1@mist,332,121
+1@mist,335,120,0 warp cKEY_c18 1,1,1@mist,259,313
+1@mist,317,89,0 warp c8-1_c14 1,1,1@mist,339,284
+1@mist,339,281,0 warp c14_c11-1 1,1,1@mist,332,172
+1@mist,329,171,0 warp c11-1_c8-2 1,1,1@mist,346,120
+1@mist,301,237,0 warp b8_b2 1,1,1@mist,289,170
+
+// Disable Garden Tree warps.
+// Custom, but saves processing and lines.
+1@mist,1,1,0 script #mist_warp_init 844,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("a25_a18-1", instance_id());
+ disablenpc instance_npcname("a27-2_af1-2", instance_id());
+ disablenpc instance_npcname("a15-2_a4-1", instance_id());
+ disablenpc instance_npcname("a4-2_a11", instance_id());
+ disablenpc instance_npcname("b4-2_b2", instance_id());
+ disablenpc instance_npcname("b7_bf1-2", instance_id());
+ disablenpc instance_npcname("b31_b16", instance_id());
+ disablenpc instance_npcname("b27-3_bN-1", instance_id());
+ disablenpc instance_npcname("b6-1_b33", instance_id());
+ disablenpc instance_npcname("b5_b14", instance_id());
+ disablenpc instance_npcname("c1_c13-1", instance_id());
+ disablenpc instance_npcname("c13-3_c4", instance_id());
+ disablenpc instance_npcname("c19_c4", instance_id());
+ disablenpc instance_npcname("#to_bif02", instance_id());
+ disablenpc instance_npcname("#mist_warp_init", instance_id());
+ end;
+}
+1@mist,247,123,0 warp a25_a18-1 1,1,1@mist,164,66 //Tom
+1@mist,225,98,0 warp a27-2_af1-2 1,1,1@mist,144,194 //Tomba
+1@mist,159,184,0 warp a15-2_a4-1 1,1,1@mist,49,37 //Remi
+1@mist,61,39,0 warp a4-2_a11 1,1,1@mist,68,113 //Rem
+1@mist,230,179,0 warp b4-2_b2 1,1,1@mist,289,170 //Ron
+1@mist,285,225,0 warp b7_bf1-2 1,1,1@mist,72,274 //Rover
+1@mist,161,316,0 warp b31_b16 1,1,1@mist,108,203 //Mona
+1@mist,204,299,0 warp b27-3_bN-1 1,1,1@mist,169,314 //Namon
+1@mist,221,236,0 warp b6-1_b33 1,1,1@mist,233,324 //Neoron
+1@mist,206,200,0 warp b5_b14 1,1,1@mist,298,142 //Spyder
+1@mist,95,287,0 warp c1_c13-1 1,1,1@mist,323,276 //Tito
+1@mist,324,325,0 warp c13-3_c4 1,1,1@mist,49,316 //Pumba
+1@mist,280,344,0 warp c19_c4 1,1,1@mist,49,316 //Tete
+1@mist,345,186,0 warp #to_bif02 1,1,bif_fild02,151,121 //The Gardeners' Tree
diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt
index b6cc20f2c..1fce4269e 100644
--- a/npc/re/jobs/1-1/mage.txt
+++ b/npc/re/jobs/1-1/mage.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Renewal Mage Job Quest
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Job Change to Mage Class
//===== Additional Comments: =================================
diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt
index b08cf1a40..58c13ae17 100644
--- a/npc/re/jobs/1-1/merchant.txt
+++ b/npc/re/jobs/1-1/merchant.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Renewal Merchant Job Quest
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Job Change to Merchant Class
//===== Additional Comments: =================================
diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt
index db7b62d41..0d47f0b3a 100644
--- a/npc/re/jobs/1-1/swordman.txt
+++ b/npc/re/jobs/1-1/swordman.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Renewal Swordman Job Quest
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Job Change to Swordman Class
//===== Additional Comments: =================================
diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt
index e0ea4d5a9..23b23bd96 100644
--- a/npc/re/jobs/1-1/thief.txt
+++ b/npc/re/jobs/1-1/thief.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Renewal Thief Job Quest
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Job Change to Thief Class
//===== Additional Comments: =================================
diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index f8ba5b50e..71769be81 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Guillotine Cross Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN r16945+
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross.
diff --git a/npc/re/jobs/3-1/mechanic.txt b/npc/re/jobs/3-1/mechanic.txt
index 94792439d..c38d4608f 100644
--- a/npc/re/jobs/3-1/mechanic.txt
+++ b/npc/re/jobs/3-1/mechanic.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mechanic Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic.
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index e499b03b2..314f199d2 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Ranger Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Hunter / Sniper -> Ranger.
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index 6dbfdaa3a..1255c355e 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -1826,7 +1826,7 @@ job3_rune02,34,46,5 script Captain Tigris#jrt1 470,2,2,{
break;
case 5:
mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
- sc_start SC_BLEEDING,10000,0;
+ sc_start SC_BLOODING,10000,0;
break;
}
set $@job_rune_test2,1;
@@ -2161,4 +2161,4 @@ sec_in02,34,167,3 script R.Knight Job Manager 470,1,1,{
close;
}
job3_rune01,1,1,3 duplicate(R.Knight Job Manager) #renshucheck 844
-*/ \ No newline at end of file
+*/
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt
index 8a8e1f0ce..9894eae4b 100644
--- a/npc/re/jobs/3-1/warlock.txt
+++ b/npc/re/jobs/3-1/warlock.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Warlock Job Quest
//===== By: ==================================================
//= Muad_Dib, Gepard & L0ne_W0lf
//===== Current Version: =====================================
//= 1.3a
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Wizard / High Wizard -> Warlock.
diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index 1d0d8cbe9..bfa7d422c 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -1,15 +1,15 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Genetic Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib, Aeomin
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3a
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Alchemist / Creator -> Genetic.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Fixed Scatter Stuff NPCs [JayPee].
//= 1.2 Updated dialogue. Credits to Muad_Dib. [Joseph]
diff --git a/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt
index 9610e2c57..a9d584526 100644
--- a/npc/re/jobs/3-2/minstrel.txt
+++ b/npc/re/jobs/3-2/minstrel.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Minstrel Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Bard / Clown -> Minstrel.
diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index a7f21d763..614896133 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Royal Guard Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Crusader / Paladin -> Royal Guard.
diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt
index 4f0fd02b6..f9d27dc84 100644
--- a/npc/re/jobs/3-2/shadow_chaser.txt
+++ b/npc/re/jobs/3-2/shadow_chaser.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Shadow Chaser Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Rogue / Stalker -> Shadow Chaser.
diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt
index 712e01452..71ec97e4b 100644
--- a/npc/re/jobs/3-2/sorcerer.txt
+++ b/npc/re/jobs/3-2/sorcerer.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Sorcerer Job Quest
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Sage / Professor -> Sorcerer.
diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index b31719934..311e95ec1 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Sura Job Quest
//===== By: ==================================================
//= Muad_Dib, Gepard
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Monk / Champion -> Sura.
diff --git a/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt
index 552c9d80b..41839b644 100644
--- a/npc/re/jobs/3-2/wanderer.txt
+++ b/npc/re/jobs/3-2/wanderer.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Wanderer Job Quest
//===== By: ==================================================
//= Muad_Dib, Meyraw
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Dancer / Gypsy -> Wanderer.
diff --git a/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt
index 5687c0768..4a8436dfe 100644
--- a/npc/re/jobs/novice/supernovice_ex.txt
+++ b/npc/re/jobs/novice/supernovice_ex.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Expanded Super Novice Job Quest
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1a
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Job Change quest for Expanded Super Novice class.
//===== Additional Comments: =================================
diff --git a/npc/re/kafras/kafras.txt b/npc/re/kafras/kafras.txt
index eb4cd30d3..2cab9e388 100644
--- a/npc/re/kafras/kafras.txt
+++ b/npc/re/kafras/kafras.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Kafras (Cities/Dungeons/Fields)
//===== By: ==================================================
//= Joseph
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Argument settings for callfunc "F_Kafra":
//= arg(0): 0 - Default Kafra message
diff --git a/npc/re/merchants/card_separation.txt b/npc/re/merchants/card_separation.txt
index a81aeb746..386474000 100644
--- a/npc/re/merchants/card_separation.txt
+++ b/npc/re/merchants/card_separation.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Card Separation System
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Separates cards from equipment.
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index 92afddca0..7ee6a53af 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -1,7 +1,7 @@
-//===== Hercules Script =======================================
+//===== Hercules Script ======================================
//= Coin Merchants
//===== By: ==================================================
-//= rAthena Dev Team
+//= Hercules Dev Team
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt
index 118a3d111..fa19f372d 100644
--- a/npc/re/merchants/diamond.txt
+++ b/npc/re/merchants/diamond.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Rare Diamond Merchant
//===== By: ==================================================
//= Z3R0
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Aegis Conversion]
//= Exchanges 17 Carat Diamond
diff --git a/npc/re/merchants/enchan_mal.txt b/npc/re/merchants/enchan_mal.txt
index 5caa70217..c7e182005 100644
--- a/npc/re/merchants/enchan_mal.txt
+++ b/npc/re/merchants/enchan_mal.txt
@@ -1,19 +1,19 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Malangdo Enchants
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0a
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= [Official Conversion]
//= Adds enchantments to many high level weapons in exchange
//= for Malangdo coins.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Euphy]
//= 1.0a Added 'delequip' command. [Euphy]
-//============================================================
+//============================================================
malangdo,213,167,4 script Mayomayo#mal 555,{
disable_items;
diff --git a/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt
new file mode 100644
index 000000000..8ff8f758d
--- /dev/null
+++ b/npc/re/merchants/enchan_mora.txt
@@ -0,0 +1,2356 @@
+//===== rAthena Script =======================================
+//= Mora Enchants
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Official Conversion]
+//= Adds enchantments to various items in exchange for
+//= Mora coins.
+//===== Additional Comments: =================================
+//= 1.0 First Version. [Euphy]
+//============================================================
+
+// Arch Bishop Enchants :: coin_arc
+//============================================================
+mora,88,89,5 script Keeper of Secrets#pa082 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ if (countitem(6380) < 10) {
+ mes "[Artifice]";
+ mes "Relics for Archbishops are meant for defense and support!";
+ next;
+ mes "[Artifice]";
+ mes "Like the other Guardians, they may trade coins for their relics, so collect Mora Coins!";
+ next;
+ mes "[Artifice]";
+ mes "If you collect more than 10 coins then come to me to trade!";
+ close;
+ }
+ mes "[Artifice]";
+ mes "By the light! You look like you are ready to gain access to our relics.";
+ next;
+ mes "[Artifice]";
+ mes "Ring, Shoes, Shawl, Robe, Shield, or Weapon.";
+ mes "Select one of the six kinds of relics to receive.";
+ next;
+ mes "[Artifice]";
+ mes "I'll randomly give you one of 2 types of the equipment, depending upon the weather and my mood.";
+ next;
+ mes "[Artifice]";
+ mes "All I need is 10 Mora Coins of yours to grant you a relic!";
+ next;
+ switch(select("I don't think I'm ready.:I'm ready to exchange my Mora Coins.:Exchange my Ring.")) {
+ case 1:
+ mes "[Artifice]";
+ mes "See you next time!";
+ close;
+ case 2:
+ mes "[Artifice]";
+ // What does this even mean? (custom dialogue below)
+ //mes "You influence what part are you?";
+ mes "What kind of relic do you want?";
+ next;
+ switch(select("I'm not ready.:Ring:Shoes:Shawl:Robe:Shield:Weapon")) {
+ case 1:
+ mes "[Artifice]";
+ mes "Go with the light.";
+ close;
+ case 2:
+ if (countitem(2864) || countitem(2865) || countitem(2866)) {
+ mes "[Artifice]";
+ mes "You are already allowed access to our relics by your possession of a Ring!";
+ close;
+ }
+ if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ setarray .@items[0],2864,2865,2866; //Light_Of_Cure,Seal_Of_Cathedral,Ring_Of_Archbishop
+ break;
+ } else {
+ mes "[Artifice]";
+ mes "We prefer to only deal with Arch-Bishops.";
+ close;
+ }
+ case 3:
+ setarray .@items[0],2471,2472; //Shoes_Of_Affection,Shoes_Of_Judgement
+ break;
+ case 4:
+ setarray .@items[0],2569,2570; //Shawl_Of_Affection,Shawl_Of_Judgement
+ break;
+ case 5:
+ setarray .@items[0],15029,15030; //Robe_Of_Affection,Robe_Of_Judgement
+ break;
+ case 6:
+ setarray .@items[0],2156; //Bible_Of_Promise1
+ break;
+ case 7:
+ setarray .@items[0],1657,16013; //Wand_Of_Affection,Mace_Of_Judgement
+ break;
+ }
+ set .@item, .@items[rand(getarraysize(.@items))];
+ delitem 6380,10; //Mora_Coin
+ getitem .@item,1;
+ mes "[Artifice]";
+ mes "You have obtained ^aa00aa"+getitemname(.@item)+"^000000. May the Blessing of the Light be with you.";
+ close;
+ case 3:
+ if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ mes "[Artifice]";
+ mes "We exchange rings into coins for those who cannot control the ring.";
+ next;
+ mes "[Artifice]";
+ mes "It seems that you have power to control the ring so I cannot exchange it into coins.";
+ close;
+ }
+ if (countitem(2864)) set .@item,2864; //Light_Of_Cure
+ else if (countitem(2865)) set .@item,2865; //Seal_Of_Cathedral
+ else if (countitem(2866)) set .@item,2866; //Ring_Of_Archbishop
+ else {
+ mes "[Artifice]";
+ mes "Did you change something?";
+ close;
+ }
+ mes "[Artifice]";
+ mes "You have a "+getitemname(.@item)+". Do you really want to trade it for 10 Mora Coins?";
+ next;
+ switch(select("I'm not ready:Exchange my "+getitemname(.@item))) {
+ case 1:
+ mes "[Artifice]";
+ mes "If you change your mind, please stop by again.";
+ close;
+ case 2:
+ delitem .@item,1;
+ getitem 6380,10; //Mora_Coin
+ mes "[Artifice]";
+ mes "I think that was an even trade.";
+ close;
+ }
+ }
+}
+
+mora,96,74,5 script Master of Relics#pa0829 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ mes "[Relice]";
+ mes "I enhance Relics that holy Arch-Bishops use, it will take 2 Mora Coins and the relic to allow me to attempt to enhance it.";
+ next;
+ switch(select("More details please.:Please Enhance my Relic.")) {
+ case 1:
+ mes "[Relice]";
+ mes "Let me briefly explain, for 2 Mora Coins and the relic I can give you a single Enchantment on that relic.";
+ next;
+ mes "[Relice]";
+ mes "Even though this relic was already enchanted, we will re-enchant it without checking its status.";
+ next;
+ mes "[Relice]";
+ mes "So it you have already enchanted relic, please put it some place safe and come back.";
+ next;
+ mes "[Relice]";
+ mes "Ah, one more thing! It is possible I can fail though and if that happens the relic is lost forever.";
+ close;
+ case 2:
+ mes "[Relice]";
+ mes "Ok, you can get a new Relic from Artifice if it fails.";
+ next;
+ mes "[Relice]";
+ mes "If you have a ritual for luck, you should use it now!";
+ next;
+ set .@select, select("Wait a minute!:Light of Cure:Seal of Cathedral:Ring of Archbishop:Shoes of Affection:Shoes of Judgement:Shawl of Affection:Shawl of Judgement:Robe of Affection:Robe of Judgement:Bible of Promise 1st Vol:Wand of Affection:Mace of Judgement");
+ switch(.@select) {
+ case 1:
+ mes "[Relice]";
+ mes "Certainly. Go with the Light.";
+ close;
+ case 2:
+ case 3:
+ case 4:
+ setarray .@items[0],2864,2865,2866; //Light_Of_Cure,Seal_Of_Cathedral,Ring_Of_Archbishop
+ setarray .@special[0],4803,4804,4805; //Highness_Heal_3sec,Coluceo_Heal30,Heal_Amount2
+ set .@item, .@items[.@select-2];
+ set .@sp, .@special[.@select-2];
+ set .@enchant_type,1;
+ break;
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ setarray .@items[0],2471,2472,2569,2570,15029,15030,2156; //Shoes_Of_Affection,Shoes_Of_Judgement,Shawl_Of_Affection,Shawl_Of_Judgement,Robe_Of_Affection,Robe_Of_Judgement,Bible_Of_Promise1
+ set .@item, .@items[.@select-5];
+ set .@enchant_type,2;
+ break;
+ case 12:
+ set .@item,1657; //Wand_Of_Affection
+ set .@enchant_type,3;
+ break;
+ case 13:
+ set .@item,16013; //Mace_Of_Judgement
+ set .@enchant_type,4;
+ break;
+ }
+ if (countitem(6380) < 2 || countitem(.@item) == 0) {
+ mes "[Relice]";
+ mes "For 2 Mora Coins I can strengthen the relic you have in many ways!";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem 6380,2; //Mora_Coin
+ delitem .@item,1;
+ switch(.@enchant_type) {
+ case 1:
+ set .@i, rand(1,1487);
+ if (.@i <= 16) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 32) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 48) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 64) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 80) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 96) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 112) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 128) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 144) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 160) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 176) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 192) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 208) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 224) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 240) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 256) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 272) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 288) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 304) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 320) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 336) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 352) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 368) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 384) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 400) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 416) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 432) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 448) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 464) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 480) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 496) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 512) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 528) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 544) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 560) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 576) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 592) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 608) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 624) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 640) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 656) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 672) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 688) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 704) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 720) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 736) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 752) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 768) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 784) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 800) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 816) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 832) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 848) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 864) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 880) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 896) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 912) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 928) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 944) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 960) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 976) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 992) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 1008) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 1024) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 1040) setarray .@enchants[2],.@sp,.@sp; //[sp] [sp]
+ else if (.@i <= 1487) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 2:
+ set .@i, rand(1,1487);
+ if (.@i <= 16) setarray .@enchants[1],4710,4711,4764; //Inteligence1 Inteligence2 Critical5
+ else if (.@i <= 32) setarray .@enchants[1],4710,4711,4799; //Inteligence1 Inteligence2 HP500
+ else if (.@i <= 48) setarray .@enchants[1],4710,4711,4766; //Inteligence1 Inteligence2 Atk2
+ else if (.@i <= 64) setarray .@enchants[1],4710,4711,4788; //Inteligence1 Inteligence2 Mdef6
+ else if (.@i <= 80) setarray .@enchants[1],4710,4720,4764; //Inteligence1 Dexterity1 Critical5
+ else if (.@i <= 96) setarray .@enchants[1],4710,4720,4799; //Inteligence1 Dexterity1 HP500
+ else if (.@i <= 112) setarray .@enchants[1],4710,4720,4766; //Inteligence1 Dexterity1 Atk2
+ else if (.@i <= 128) setarray .@enchants[1],4710,4720,4788; //Inteligence1 Dexterity1 Mdef6
+ else if (.@i <= 144) setarray .@enchants[1],4710,4721,4764; //Inteligence1 Dexterity2 Critical5
+ else if (.@i <= 160) setarray .@enchants[1],4710,4721,4799; //Inteligence1 Dexterity2 HP500
+ else if (.@i <= 176) setarray .@enchants[1],4710,4721,4766; //Inteligence1 Dexterity2 Atk2
+ else if (.@i <= 192) setarray .@enchants[1],4710,4721,4788; //Inteligence1 Dexterity2 Mdef6
+ else if (.@i <= 208) setarray .@enchants[1],4710,4740,4764; //Inteligence1 Vitality1 Critical5
+ else if (.@i <= 224) setarray .@enchants[1],4710,4740,4799; //Inteligence1 Vitality1 HP500
+ else if (.@i <= 240) setarray .@enchants[1],4710,4740,4766; //Inteligence1 Vitality1 Atk2
+ else if (.@i <= 256) setarray .@enchants[1],4710,4740,4788; //Inteligence1 Vitality1 Mdef6
+ else if (.@i <= 272) setarray .@enchants[1],4711,4711,4764; //Inteligence2 Inteligence2 Critical5
+ else if (.@i <= 288) setarray .@enchants[1],4711,4711,4799; //Inteligence2 Inteligence2 HP500
+ else if (.@i <= 304) setarray .@enchants[1],4711,4711,4766; //Inteligence2 Inteligence2 Atk2
+ else if (.@i <= 320) setarray .@enchants[1],4711,4711,4788; //Inteligence2 Inteligence2 Mdef6
+ else if (.@i <= 336) setarray .@enchants[1],4711,4720,4764; //Inteligence2 Dexterity1 Critical5
+ else if (.@i <= 352) setarray .@enchants[1],4711,4720,4799; //Inteligence2 Dexterity1 HP500
+ else if (.@i <= 368) setarray .@enchants[1],4711,4720,4766; //Inteligence2 Dexterity1 Atk2
+ else if (.@i <= 384) setarray .@enchants[1],4711,4720,4788; //Inteligence2 Dexterity1 Mdef6
+ else if (.@i <= 400) setarray .@enchants[1],4711,4721,4764; //Inteligence2 Dexterity2 Critical5
+ else if (.@i <= 416) setarray .@enchants[1],4711,4721,4799; //Inteligence2 Dexterity2 HP500
+ else if (.@i <= 432) setarray .@enchants[1],4711,4721,4766; //Inteligence2 Dexterity2 Atk2
+ else if (.@i <= 448) setarray .@enchants[1],4711,4721,4788; //Inteligence2 Dexterity2 Mdef6
+ else if (.@i <= 464) setarray .@enchants[1],4711,4740,4764; //Inteligence2 Vitality1 Critical5
+ else if (.@i <= 480) setarray .@enchants[1],4711,4740,4799; //Inteligence2 Vitality1 HP500
+ else if (.@i <= 496) setarray .@enchants[1],4711,4740,4766; //Inteligence2 Vitality1 Atk2
+ else if (.@i <= 512) setarray .@enchants[1],4711,4740,4788; //Inteligence2 Vitality1 Mdef6
+ else if (.@i <= 528) setarray .@enchants[1],4720,4711,4764; //Dexterity1 Inteligence2 Critical5
+ else if (.@i <= 544) setarray .@enchants[1],4720,4711,4799; //Dexterity1 Inteligence2 HP500
+ else if (.@i <= 560) setarray .@enchants[1],4720,4711,4766; //Dexterity1 Inteligence2 Atk2
+ else if (.@i <= 576) setarray .@enchants[1],4720,4711,4788; //Dexterity1 Inteligence2 Mdef6
+ else if (.@i <= 592) setarray .@enchants[1],4720,4720,4764; //Dexterity1 Dexterity1 Critical5
+ else if (.@i <= 608) setarray .@enchants[1],4720,4720,4799; //Dexterity1 Dexterity1 HP500
+ else if (.@i <= 624) setarray .@enchants[1],4720,4720,4766; //Dexterity1 Dexterity1 Atk2
+ else if (.@i <= 640) setarray .@enchants[1],4720,4720,4788; //Dexterity1 Dexterity1 Mdef6
+ else if (.@i <= 656) setarray .@enchants[1],4720,4721,4764; //Dexterity1 Dexterity2 Critical5
+ else if (.@i <= 672) setarray .@enchants[1],4720,4721,4799; //Dexterity1 Dexterity2 HP500
+ else if (.@i <= 688) setarray .@enchants[1],4720,4721,4766; //Dexterity1 Dexterity2 Atk2
+ else if (.@i <= 704) setarray .@enchants[1],4720,4721,4788; //Dexterity1 Dexterity2 Mdef6
+ else if (.@i <= 720) setarray .@enchants[1],4720,4740,4764; //Dexterity1 Vitality1 Critical5
+ else if (.@i <= 736) setarray .@enchants[1],4720,4740,4799; //Dexterity1 Vitality1 HP500
+ else if (.@i <= 752) setarray .@enchants[1],4720,4740,4766; //Dexterity1 Vitality1 Atk2
+ else if (.@i <= 768) setarray .@enchants[1],4720,4740,4788; //Dexterity1 Vitality1 Mdef6
+ else if (.@i <= 784) setarray .@enchants[1],4721,4711,4764; //Dexterity2 Inteligence2 Critical5
+ else if (.@i <= 800) setarray .@enchants[1],4721,4711,4799; //Dexterity2 Inteligence2 HP500
+ else if (.@i <= 816) setarray .@enchants[1],4721,4711,4766; //Dexterity2 Inteligence2 Atk2
+ else if (.@i <= 832) setarray .@enchants[1],4721,4711,4788; //Dexterity2 Inteligence2 Mdef6
+ else if (.@i <= 848) setarray .@enchants[1],4721,4720,4764; //Dexterity2 Dexterity1 Critical5
+ else if (.@i <= 864) setarray .@enchants[1],4721,4720,4799; //Dexterity2 Dexterity1 HP500
+ else if (.@i <= 880) setarray .@enchants[1],4721,4720,4766; //Dexterity2 Dexterity1 Atk2
+ else if (.@i <= 896) setarray .@enchants[1],4721,4720,4788; //Dexterity2 Dexterity1 Mdef6
+ else if (.@i <= 912) setarray .@enchants[1],4721,4721,4764; //Dexterity2 Dexterity2 Critical5
+ else if (.@i <= 928) setarray .@enchants[1],4721,4721,4799; //Dexterity2 Dexterity2 HP500
+ else if (.@i <= 944) setarray .@enchants[1],4721,4721,4766; //Dexterity2 Dexterity2 Atk2
+ else if (.@i <= 960) setarray .@enchants[1],4721,4721,4788; //Dexterity2 Dexterity2 Mdef6
+ else if (.@i <= 976) setarray .@enchants[1],4721,4740,4764; //Dexterity2 Vitality1 Critical5
+ else if (.@i <= 992) setarray .@enchants[1],4721,4740,4799; //Dexterity2 Vitality1 HP500
+ else if (.@i <= 1008) setarray .@enchants[1],4721,4740,4766; //Dexterity2 Vitality1 Atk2
+ else if (.@i <= 1024) setarray .@enchants[1],4721,4740,4788; //Dexterity2 Vitality1 Mdef6
+ else if (.@i <= 1026) setarray .@enchants[1],4761,4761,4761; //Matk2 Matk2 Matk2
+ else if (.@i <= 1028) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4
+ else if (.@i <= 1030) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2
+ else if (.@i <= 1032) setarray .@enchants[1],4712,4713,4761; //Inteligence3 Inteligence4 Matk2
+ else if (.@i <= 1034) setarray .@enchants[1],4722,4723,4723; //Dexterity3 Dexterity4 Dexterity4
+ else if (.@i <= 1036) setarray .@enchants[1],4722,4703,4703; //Dexterity3 Strength4 Strength4
+ else if (.@i <= 1038) setarray .@enchants[1],4722,4767,4767; //Dexterity3 Atk3 Atk3
+ else if (.@i <= 1040) setarray .@enchants[1],4767,4767,4767; //Atk3 Atk3 Atk3
+ else if (.@i <= 1487) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 3:
+ set .@i, rand(1,2852);
+ if (.@i <= 31) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 62) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 155) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 186) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 248) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 279) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 310) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 372) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 403) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 434) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 465) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 496) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 527) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 558) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 651) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 682) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 744) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 775) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 806) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 868) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 899) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 930) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 961) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 992) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1147) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 1178) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1240) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 1271) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 1302) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1364) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 1395) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 1426) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1457) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1488) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1643) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 1674) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1736) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 1767) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 1798) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1860) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 1891) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 1922) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1953) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1984) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1986) setarray .@enchants[2],4761,4761; //Matk2 Matk2
+ else if (.@i <= 1988) setarray .@enchants[2],4761,4723; //Matk2 Dexterity4
+ else if (.@i <= 1990) setarray .@enchants[2],4761,4714; //Matk2 Inteligence5
+ else if (.@i <= 1992) setarray .@enchants[2],4714,4714; //Inteligence5 Inteligence5
+ else if (.@i <= 1994) setarray .@enchants[2],4714,4723; //Inteligence5 Dexterity4
+ else if (.@i <= 1996) setarray .@enchants[2],4723,4723; //Dexterity4 Dexterity4
+ else if (.@i <= 2852) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 4:
+ set .@i, rand(1,2852);
+ if (.@i <= 31) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 62) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 155) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 186) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 248) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 279) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 310) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 372) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 403) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 434) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 465) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 496) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 527) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 558) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 651) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 682) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 744) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 775) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 806) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 868) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 899) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 930) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 961) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 992) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 1147) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 1178) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1240) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 1271) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 1302) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1364) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 1395) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 1426) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 1457) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 1488) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 1643) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 1674) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1736) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 1767) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 1798) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1860) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 1891) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 1922) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 1953) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 1984) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1986) setarray .@enchants[2],4767,4767; //Atk3 Atk3
+ else if (.@i <= 1988) setarray .@enchants[2],4767,4723; //Atk3 Dexterity4
+ else if (.@i <= 1990) setarray .@enchants[2],4767,4704; //Atk3 Strength5
+ else if (.@i <= 1992) setarray .@enchants[2],4704,4704; //Strength5 Strength5
+ else if (.@i <= 1994) setarray .@enchants[2],4704,4723; //Strength5 Dexterity4
+ else if (.@i <= 1996) setarray .@enchants[2],4723,4723; //Dexterity4 Dexterity4
+ else if (.@i <= 2852) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ }
+ getitem2 .@item,1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ mes "[Relice]";
+ mes "The strengthening went well, lucky you!";
+ close;
+ }
+}
+
+// Warlock Enchants :: coin_warrock
+//============================================================
+mora,104,76,4 script Guardian of Artifacts#p 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Artifacts]";
+ mes "My job is to guard the Warlock's ancient artifacts.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "Well, it's not a big deal actually. I give out artifacts to those who deserve them for the price of a few Mora Coins.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "You can trade with me when you have 10 or more Coins. See you later.";
+ close;
+ }
+ mes "[Guardian of Artifacts]";
+ mes "Wow~ I see you're ready for the Warlock's Ancient Artifacts.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "You can choose from four types of items:";
+ mes "staffs, orbs, shoes, and robes.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "There are four options available for each type, but the item available will change day to day, depending on my mood.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "Do you want to buy an artifact with your Mora Coins?";
+ next;
+ if(select("Maybe later... I have things to do.:Yes, I do.") == 1) {
+ mes "[Guardian of Artifacts]";
+ mes "Okay, see you later then.";
+ close;
+ }
+ mes "[Guardian of Artifacts]";
+ mes "What type of item do you want to buy?";
+ next;
+ switch(select("Quit:Shoes:Orbs:Robes:Staves")) {
+ case 1:
+ mes "[Guardian of Artifacts]";
+ mes "Okay, see you later then.";
+ close;
+ case 2:
+ setarray .@items[0],2467,2468,2469,2470; //Golden_Rod_Shoes,Aqua_Shoes,Crimson_Shoes,Forest_Shoes
+ set .@plural,1;
+ break;
+ case 3:
+ setarray .@items[0],2859,2860,2861,2862; //Golden_Rod_Orb,Aqua_Orb,Crimson_Orb,Forest_Orb
+ break;
+ case 4:
+ setarray .@items[0],15025,15026,15027,15028; //Golden_Rod_Robe,Aqua_Robe,Crimson_Robe,Forest_Robe
+ break;
+ case 5:
+ setarray .@items[0],2007,2008,2009,2010; //Golden_Rod_Staff,Aqua_Staff,Crimson_Staff,Forest_Staff
+ break;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Artifacts]";
+ mes "Would you please come back when you have enough Coins?";
+ close;
+ }
+ set .@item, .@items[rand(getarraysize(.@items))];
+ delitem 6380,10; //Mora_Coin
+ getitem .@item,1;
+ mes "[Guardian of Artifacts]";
+ mes "I have ^aa00aa"+getitemname(.@item)+"^000000 available today. I hope "+((.@plural)?"they":"it")+" will come in handy...";
+ close;
+}
+
+mora,99,93,5 script Artifact Crafter#pa0829 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ mes "[Artifact Crafter]";
+ mes "My job is to imbue artifacts with new power. If you have enough Coins, you can have one of the following items reinforced.";
+ next;
+ if(select("Tell me more.:I want to have my item reinforced.") == 1) {
+ mes "[Artifact Crafter]";
+ mes "Let me explain. One reinforcement costs you two Coins.";
+ next;
+ set .@info_only,1;
+ }
+ mes "[Artifact Crafter]";
+ mes "And, I'll work on the item whether it's been already reinforced or not.";
+ next;
+ mes "[Artifact Crafter]";
+ mes "So if you have an artifact reinforced to your liking, put it in a safe place and come back.";
+ next;
+ mes "[Artifact Crafter]";
+ mes "And another thing, the artifact will be destroyed if the reinforcement fails. Please keep that in mind.";
+ if (.@info_only)
+ close;
+ next;
+ set .@select, select("Maybe next time.:Golden Rod Staff:Aqua Staff:Crimson Staff:Forest Staff:Golden Rod Shoes:Aqua Shoes:Crimson Shoes:Forest Shoes:Golden Rod Orb:Aqua Orb:Crimson Orb:Forest Orb:Golden Rod Robe:Aqua Robe:Crimson Robe:Forest Robe");
+ switch(.@select) {
+ case 1:
+ mes "[Artifact Crafter]";
+ mes "As you wish.";
+ close;
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ setarray .@items[0],2007,2008,2009,2010; //Golden_Rod_Staff,Aqua_Staff,Crimson_Staff,Forest_Staff
+ set .@enchant_type,1;
+ break;
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ setarray .@items[0],2467,2468,2469,2470; //Golden_Rod_Shoes,Aqua_Shoes,Crimson_Shoes,Forest_Shoes
+ set .@enchant_type,2;
+ break;
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ setarray .@items[0],2859,2860,2861,2862; //Golden_Rod_Orb,Aqua_Orb,Crimson_Orb,Forest_Orb
+ set .@enchant_type,2;
+ break;
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ setarray .@items[0],15025,15026,15027,15028; //Golden_Rod_Robe,Aqua_Robe,Crimson_Robe,Forest_Robe
+ set .@enchant_type,2;
+ break;
+ }
+ set .@item, .@items[(.@select-2)%4];
+ if (countitem(6380) == 0 || countitem(.@item) == 0) {
+ mes "[Artifact Crafter]";
+ mes "You have to have 2 Mora Coins and an item to be reinforced before I can do my work.";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem 6380,2; //Mora_Coin
+ delitem .@item,1;
+ switch(.@enchant_type) {
+ case 1:
+ set .@i, rand(1,2847);
+ if (.@i <= 31) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 62) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 93) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 155) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 186) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 217) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 248) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 279) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 310) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 341) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 372) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 403) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 434) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 465) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 496) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 527) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 558) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 589) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 651) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 682) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 713) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 744) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 775) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 806) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 837) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 868) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 899) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 930) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 961) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 992) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1147) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 1178) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 1209) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 1240) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 1271) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 1302) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 1333) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 1364) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 1395) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 1426) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1457) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1488) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1643) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 1674) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 1705) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 1736) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 1767) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 1798) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 1829) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 1860) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 1891) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 1922) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1953) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1984) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1986) setarray .@enchants[2],4713,4761; //Inteligence4 Matk2
+ else if (.@i <= 1988) setarray .@enchants[2],4713,4713; //Inteligence4 Inteligence4
+ else if (.@i <= 1990) setarray .@enchants[2],4761,4761; //Matk2 Matk2
+ else if (.@i <= 1992) setarray .@enchants[2],4761,4713; //Matk2 Inteligence4
+ else if (.@i <= 2847) {
+ mes "[Artifact Crafter]";
+ mes "Oh no... it broke... Well, it happens. Better luck next time.";
+ close;
+ }
+ break;
+ case 2:
+ set .@i, rand(1,2858);
+ if (.@i <= 31) setarray .@enchants[1],4710,4720,4786; //Inteligence1 Dexterity1 Mdef2
+ else if (.@i <= 62) setarray .@enchants[1],4710,4720,4760; //Inteligence1 Dexterity1 Matk1
+ else if (.@i <= 93) setarray .@enchants[1],4710,4720,4711; //Inteligence1 Dexterity1 Inteligence2
+ else if (.@i <= 124) setarray .@enchants[1],4710,4720,4721; //Inteligence1 Dexterity1 Dexterity2
+ else if (.@i <= 155) setarray .@enchants[1],4710,4796,4786; //Inteligence1 HP200 Mdef2
+ else if (.@i <= 186) setarray .@enchants[1],4710,4796,4760; //Inteligence1 HP200 Matk1
+ else if (.@i <= 217) setarray .@enchants[1],4710,4796,4711; //Inteligence1 HP200 Inteligence2
+ else if (.@i <= 248) setarray .@enchants[1],4710,4796,4721; //Inteligence1 HP200 Dexterity2
+ else if (.@i <= 279) setarray .@enchants[1],4710,4710,4786; //Inteligence1 Inteligence1 Mdef2
+ else if (.@i <= 310) setarray .@enchants[1],4710,4710,4760; //Inteligence1 Inteligence1 Matk1
+ else if (.@i <= 341) setarray .@enchants[1],4710,4710,4711; //Inteligence1 Inteligence1 Inteligence2
+ else if (.@i <= 372) setarray .@enchants[1],4710,4710,4721; //Inteligence1 Inteligence1 Dexterity2
+ else if (.@i <= 403) setarray .@enchants[1],4710,4801,4786; //Inteligence1 SP100 Mdef2
+ else if (.@i <= 434) setarray .@enchants[1],4710,4801,4760; //Inteligence1 SP100 Matk1
+ else if (.@i <= 465) setarray .@enchants[1],4710,4801,4711; //Inteligence1 SP100 Inteligence2
+ else if (.@i <= 496) setarray .@enchants[1],4710,4801,4721; //Inteligence1 SP100 Dexterity2
+ else if (.@i <= 527) setarray .@enchants[1],4711,4720,4786; //Inteligence2 Dexterity1 Mdef2
+ else if (.@i <= 558) setarray .@enchants[1],4711,4720,4760; //Inteligence2 Dexterity1 Matk1
+ else if (.@i <= 589) setarray .@enchants[1],4711,4720,4711; //Inteligence2 Dexterity1 Inteligence2
+ else if (.@i <= 620) setarray .@enchants[1],4711,4720,4721; //Inteligence2 Dexterity1 Dexterity2
+ else if (.@i <= 651) setarray .@enchants[1],4711,4796,4786; //Inteligence2 HP200 Mdef2
+ else if (.@i <= 682) setarray .@enchants[1],4711,4796,4760; //Inteligence2 HP200 Matk1
+ else if (.@i <= 713) setarray .@enchants[1],4711,4796,4711; //Inteligence2 HP200 Inteligence2
+ else if (.@i <= 744) setarray .@enchants[1],4711,4796,4721; //Inteligence2 HP200 Dexterity2
+ else if (.@i <= 775) setarray .@enchants[1],4711,4710,4786; //Inteligence2 Inteligence1 Mdef2
+ else if (.@i <= 806) setarray .@enchants[1],4711,4710,4760; //Inteligence2 Inteligence1 Matk1
+ else if (.@i <= 837) setarray .@enchants[1],4711,4710,4711; //Inteligence2 Inteligence1 Inteligence2
+ else if (.@i <= 868) setarray .@enchants[1],4711,4710,4721; //Inteligence2 Inteligence1 Dexterity2
+ else if (.@i <= 899) setarray .@enchants[1],4711,4801,4786; //Inteligence2 SP100 Mdef2
+ else if (.@i <= 930) setarray .@enchants[1],4711,4801,4760; //Inteligence2 SP100 Matk1
+ else if (.@i <= 961) setarray .@enchants[1],4711,4801,4711; //Inteligence2 SP100 Inteligence2
+ else if (.@i <= 992) setarray .@enchants[1],4711,4801,4721; //Inteligence2 SP100 Dexterity2
+ else if (.@i <= 1023) setarray .@enchants[1],4720,4720,4786; //Dexterity1 Dexterity1 Mdef2
+ else if (.@i <= 1054) setarray .@enchants[1],4720,4720,4760; //Dexterity1 Dexterity1 Matk1
+ else if (.@i <= 1085) setarray .@enchants[1],4720,4720,4711; //Dexterity1 Dexterity1 Inteligence2
+ else if (.@i <= 1116) setarray .@enchants[1],4720,4720,4721; //Dexterity1 Dexterity1 Dexterity2
+ else if (.@i <= 1147) setarray .@enchants[1],4720,4796,4786; //Dexterity1 HP200 Mdef2
+ else if (.@i <= 1178) setarray .@enchants[1],4720,4796,4760; //Dexterity1 HP200 Matk1
+ else if (.@i <= 1209) setarray .@enchants[1],4720,4796,4711; //Dexterity1 HP200 Inteligence2
+ else if (.@i <= 1240) setarray .@enchants[1],4720,4796,4721; //Dexterity1 HP200 Dexterity2
+ else if (.@i <= 1271) setarray .@enchants[1],4720,4710,4786; //Dexterity1 Inteligence1 Mdef2
+ else if (.@i <= 1302) setarray .@enchants[1],4720,4710,4760; //Dexterity1 Inteligence1 Matk1
+ else if (.@i <= 1333) setarray .@enchants[1],4720,4710,4711; //Dexterity1 Inteligence1 Inteligence2
+ else if (.@i <= 1364) setarray .@enchants[1],4720,4710,4721; //Dexterity1 Inteligence1 Dexterity2
+ else if (.@i <= 1395) setarray .@enchants[1],4720,4801,4786; //Dexterity1 SP100 Mdef2
+ else if (.@i <= 1426) setarray .@enchants[1],4720,4801,4760; //Dexterity1 SP100 Matk1
+ else if (.@i <= 1457) setarray .@enchants[1],4720,4801,4711; //Dexterity1 SP100 Inteligence2
+ else if (.@i <= 1488) setarray .@enchants[1],4720,4801,4721; //Dexterity1 SP100 Dexterity2
+ else if (.@i <= 1519) setarray .@enchants[1],4721,4720,4786; //Dexterity2 Dexterity1 Mdef2
+ else if (.@i <= 1550) setarray .@enchants[1],4721,4720,4760; //Dexterity2 Dexterity1 Matk1
+ else if (.@i <= 1581) setarray .@enchants[1],4721,4720,4711; //Dexterity2 Dexterity1 Inteligence2
+ else if (.@i <= 1612) setarray .@enchants[1],4721,4720,4721; //Dexterity2 Dexterity1 Dexterity2
+ else if (.@i <= 1643) setarray .@enchants[1],4721,4796,4786; //Dexterity2 HP200 Mdef2
+ else if (.@i <= 1674) setarray .@enchants[1],4721,4796,4760; //Dexterity2 HP200 Matk1
+ else if (.@i <= 1705) setarray .@enchants[1],4721,4796,4711; //Dexterity2 HP200 Inteligence2
+ else if (.@i <= 1736) setarray .@enchants[1],4721,4796,4721; //Dexterity2 HP200 Dexterity2
+ else if (.@i <= 1767) setarray .@enchants[1],4721,4710,4786; //Dexterity2 Inteligence1 Mdef2
+ else if (.@i <= 1798) setarray .@enchants[1],4721,4710,4760; //Dexterity2 Inteligence1 Matk1
+ else if (.@i <= 1829) setarray .@enchants[1],4721,4710,4711; //Dexterity2 Inteligence1 Inteligence2
+ else if (.@i <= 1860) setarray .@enchants[1],4721,4710,4721; //Dexterity2 Inteligence1 Dexterity2
+ else if (.@i <= 1891) setarray .@enchants[1],4721,4801,4786; //Dexterity2 SP100 Mdef2
+ else if (.@i <= 1922) setarray .@enchants[1],4721,4801,4760; //Dexterity2 SP100 Matk1
+ else if (.@i <= 1953) setarray .@enchants[1],4721,4801,4711; //Dexterity2 SP100 Inteligence2
+ else if (.@i <= 1984) setarray .@enchants[1],4721,4801,4721; //Dexterity2 SP100 Dexterity2
+ else if (.@i <= 1986) setarray .@enchants[1],4712,4713,4761; //Inteligence3 Inteligence4 Matk2
+ else if (.@i <= 1988) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4
+ else if (.@i <= 1990) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2
+ else if (.@i <= 1992) setarray .@enchants[1],4712,4761,4713; //Inteligence3 Matk2 Inteligence4
+ else if (.@i <= 1994) setarray .@enchants[1],4722,4713,4761; //Dexterity3 Inteligence4 Matk2
+ else if (.@i <= 1996) setarray .@enchants[1],4722,4713,4713; //Dexterity3 Inteligence4 Inteligence4
+ else if (.@i <= 1998) setarray .@enchants[1],4722,4761,4761; //Dexterity3 Matk2 Matk2
+ else if (.@i <= 2000) setarray .@enchants[1],4722,4761,4713; //Dexterity3 Matk2 Inteligence4
+ else if (.@i <= 2858) {
+ mes "[Artifact Crafter]";
+ mes "Oh no... it broke... Well, it happens. Better luck next time.";
+ close;
+ }
+ break;
+ }
+ getitem2 .@item,1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ mes "[Artifact Crafter]";
+ mes "Looks like my effort was successful.";
+ close;
+}
+
+// Rune Knight, Guillotine Cross, & Ranger Enchants :: new_artifact
+//============================================================
+mora,152,97,5 script Guardian of Power#pa082 515,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Power]";
+ mes "I give Rune Knights, Guillotine Crosses, and Rangers ancient artifacts to help them carry out their missions.";
+ next;
+ mes "[Guardian of Power]";
+ mes "There are guardians that give Mora Village coins which you can use to exchange for these artifacts.";
+ next;
+ mes "[Guardian of Power]";
+ mes "If you collect 10 or more Mora coins, then I can trade them for the artifacts.";
+ close;
+ }
+ mes "[Guardian of Power]";
+ mes "I think that you're ready to receive the ancient artifacts.";
+ next;
+ mes "[Guardian of Power]";
+ mes "Based on what class you specify, there are various artifacts available.";
+ next;
+ mes "[Guardian of Power]";
+ mes "^ff0000Choose carefully because these artifacts aren't easy to come by^000000. So what class do you want it for?";
+ next;
+ setarray .@jobs$[0],"Rune Knight","Guillotine Cross","Ranger";
+ set .@job, select("Cancel:Rune Knight:Guillotine Cross:Ranger")-2;
+ if (.@job == -1) {
+ mes "[Guardian of Power]";
+ mes "Talk to me later then.";
+ close;
+ }
+ mes "[Guardian of Power]";
+ mes .@jobs$[.@job]+"~ which artifact do you want?";
+ next;
+ switch(.@job) {
+ case 0: // Rune Knight
+ setarray .@items[0],2475,2476,2574,2575;
+ set .@i, select("Cancel:Ur's Greaves (Shoes):Peuz Greaves (Shoes):Ur's Manteau (Garment):Peuz Manteau (Garment)")-2;
+ break;
+ case 1: // Guillotine Cross
+ setarray .@items[0],2477,2478,2577,2578;
+ set .@i, select("Cancel:Sapha Shoes (Shoes):Nab Shoes (Shoes):Sapha Hood (Garment):Nab Hood (Garment)")-2;
+ break;
+ case 2: // Ranger
+ setarray .@items[0],2479,2480,2580,2581;
+ set .@i, select("Cancel:White Wing Boots (Shoes):Black Wing Boots (Shoes):White Wing Manteau (Garment):Black Wing Manteau (Garment)")-2;
+ break;
+ }
+ if (.@i == -1) {
+ mes "[Guardian of Power]";
+ mes "Talk to me later then.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Power]";
+ mes "Didn't I tell you to bring the correct amount of Mora Coins?";
+ close;
+ }
+ delitem 6380,10; //Mora_Coin
+ getitem .@items[.@i],1;
+ mes "[Guardian of Power]";
+ mes "Thank you for the 10 Mora Coins. Here is your artifact for the "+.@jobs$[.@job]+" job. Come back whenever you get more Mora Coins.";
+ close;
+}
+
+mora,148,98,3 script Artifact Researcher#new 521,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ disable_items;
+ mes "[Artifact Researcher]";
+ mes "Nice to meet you.";
+ mes "I'm here in Mora studying ancient relics and artifacts. The new discoveries of Adventurers has made this village very exciting for me.";
+ next;
+ switch(select("Tell me more...:Give abilities to artifacts.:Reset Enhanced abilities.")) {
+ case 1:
+ mes "[Artifact Researcher]";
+ mes "New artifacts have been found here in Mora village, haven't you heard the news?";
+ next;
+ mes "[Artifact Researcher]";
+ mes "If you come across any of these artifacts, there are hidden powers that can be extracted from them.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I'm going to continue my research for these artifacts. We researchers are taking Mora Coins as payment for our services...";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I'm offering my services to give abilities to the artifacts for 100,000 zeny and 1 Mora Coin.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "The best part of my service is that any enhancements that you have in these artifacts will not be harmed.";
+ close;
+ case 2:
+ set @mora_enchant_select,1;
+ break;
+ case 3:
+ set @mora_enchant_select,2;
+ break;
+ }
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "I'm not giving these services out for free pal. 100,000 zeny or 1 Mora Coin. Is that too much to ask?";
+ close;
+ }
+ mes "[Artifact Researcher]";
+ mes "Ok, so are you ready? Before I start working on this, what kind of equipment did you want me to enhance?";
+ next;
+ set .@i, select("I'm not wearing the equipment:1. Weapon:2. Shoes:3. Garment:4. Armor:5. Accessory")-2;
+ if (.@i == -1) {
+ mes "[Artifact Researcher]";
+ mes "Make sure you're wearing the equipment first.";
+ close;
+ }
+ setarray .@parts[0], EQI_HAND_R, EQI_SHOES, EQI_GARMENT, EQI_ARMOR, EQI_ACC_L;
+ set .@part, .@parts[.@i];
+ if (!getequipisequiped(.@part)) {
+ mes "[Artifact Researcher]";
+ mes "Make sure you're wearing the equipment first.";
+ close;
+ }
+ set .@equip_id, getequipid(.@part);
+ set @mora_equip_part, .@part;
+
+ // @mora_equip_id = enc_type
+ //callsub L_Socket,<enchant type>,<bonus enchant type>,<4-x enchants possible>;
+ // Enchant types:
+ // [1]ATK [2]CRIT [3]EVA [4]Healer [5]Spell 1 [6]Assist 1 [7]Assist 2 [8]STR [9]Range [10]Physical [11]Spell 2
+ switch(.@part) {
+ case 4: //EQI_HAND_R
+ switch(.@equip_id) {
+ case 1660: callsub L_Socket,4,5,1; //Wand_Of_Affection2
+ case 2011: callsub L_Socket,5,11,1; //Golden_Rod_Staff2
+ case 2012: callsub L_Socket,5,11,1; //Aqua_Staff2
+ case 2013: callsub L_Socket,5,11,1; //Crimson_Staff2
+ case 2014: callsub L_Socket,5,11,1; //Forest_Staff2
+ case 16018: callsub L_Socket,1,5,1; //Mace_Of_Judgement2
+ }
+ break;
+ case 6: //EQI_SHOES
+ switch(.@equip_id) {
+ case 2475: callsub L_Socket,6,8,1; //Ur_Greave
+ case 2476: callsub L_Socket,6,10,1; //Peuz_Greave
+ case 2477: callsub L_Socket,6,2,1; //Sabah_Shoes
+ case 2478: callsub L_Socket,6,1,1; //Nab_Shoes
+ case 2479: callsub L_Socket,6,2,1; //White_Wing_Boots
+ case 2480: callsub L_Socket,6,1,1; //Black_Wing_Boots
+ }
+ break;
+ case 5: //EQI_GARMENT
+ switch(.@equip_id) {
+ case 2574: callsub L_Socket,3,8,1; //Ur_Manteau
+ case 2575: callsub L_Socket,3,2,1; //Peuz_Manteau
+ case 2577: callsub L_Socket,3,2,1; //Sabah_Hood
+ case 2578: callsub L_Socket,3,2,1; //Nab_Hood
+ case 2580: callsub L_Socket,3,1,1; //White_Wing_Manteau
+ case 2581: callsub L_Socket,3,1,1; //Black_Wing_Manteau
+ }
+ break;
+ case 2: //EQI_ARMOR
+ switch(.@equip_id) {
+ case 15036: callsub L_Socket,8,1,1; //Ur_Plate
+ case 15037: callsub L_Socket,10,2,1; //Peuz_Plate
+ case 15038: callsub L_Socket,2,10,1; //Sabah_Cloth
+ case 15039: callsub L_Socket,1,2,1; //Nab_Cloth
+ case 15042: callsub L_Socket,2,9,1; //White_Wing_Suits
+ case 15043: callsub L_Socket,1,9,1; //Black_Wing_Suits
+ }
+ break;
+ case 7: //EQI_ACC_L
+ switch(.@equip_id) {
+ case 2883: callsub L_Socket,6,0,2; //Ur_Seal
+ case 2884: callsub L_Socket,6,0,2; //Peuz_Seal
+ case 2886: callsub L_Socket,6,0,2; //Sabah_Ring
+ case 2887: callsub L_Socket,6,0,2; //Nab_Ring
+ case 2890: callsub L_Socket,6,0,2; //White_Wing_Brooch
+ case 2891: callsub L_Socket,6,0,2; //Black_wing_Brooch
+ }
+ break;
+ }
+ mes "[Artifact Researcher]";
+ mes "^990099"+getequipname(.@part)+"^000000??";
+ mes "I really want to study this equipment...";
+ set @mora_equip_part,0;
+ close;
+
+L_Socket:
+ set .@select, @mora_enchant_select;
+ set .@enchant_type, getarg(0);
+ set .@part, @mora_equip_part;
+ set .@equip_id, getequipid(.@part);
+ set .@equip_name$, getitemname(.@equip_id);
+ set .@equip_refine, getequiprefinerycnt(.@part);
+ setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
+ set @mora_equip_part,0;
+ set @mora_enchant_select,0;
+
+ if (.@select == 1) {
+ // If refine is +9 or higher, unlock bonus enchant type.
+ if (.@equip_refine >= 9 && getarg(1) > 0) {
+ if (.@enchant_type < 1 || .@enchant_type > 11 || getarg(1) > 11) {
+ mes "[Artifact Researcher]";
+ mes "Mm-hmm something is wrong.";
+ close;
+ }
+ setarray .@enchant_type$[1],"ATK Type","Critical Type","Evasion Type","Healer Type","Spell Ability 1","Assist Ability 1","Assist Ability 2","Strength","Range Type","Physical Type","Spell Ability 2";
+ mes "[Artifact Researcher]";
+ mes "It's a considerable reinforcement to the equipment. In this case extended enhancements can be granted. Which stat do you want to enhance?";
+ next;
+ switch(select(.@enchant_type$[.@enchant_type],.@enchant_type$[getarg(1)])) {
+ case 1:
+ break;
+ case 2:
+ set .@enchant_type, getarg(1);
+ break;
+ }
+ }
+ if (.@equip_card[3] == 0 && getarg(2) < 4) {
+ set .@slot,4;
+ mes "[Artifact Researcher]";
+ mes "Attempting to strengthen the ability further. The previous enforcement won't be affected. Do you want to continue?";
+ } else if (.@equip_card[2] == 0 && getarg(2) < 3) {
+ set .@slot,3;
+ mes "[Artifact Researcher]";
+ mes "Attempting second enhancement. The previous enforcement won't be affected.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I may have a chance to fail now with this attempt. Do you wish to continue?";
+ } else if (.@equip_card[1] == 0 && getarg(2) < 2) {
+ set .@slot,2;
+ mes "[Artifact Researcher]";
+ mes "Let's start the third enhancement. I can give the best stats at this stage but remember, ^990000there is now a chance for the artifact to be destroyed and previous enhancements will be erased^000000. Continue?";
+ } else {
+ mes "[Artifact Researcher]";
+ mes "This artifact has been strengthened to the limit. Further enhancement is impossible at its current state.";
+ close;
+ }
+ next;
+ if(select("I'll come back later.:Please continue!") == 1) {
+ mes "[Artifact Researcher]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ switch(.@enchant_type) {
+ case 1: //Attack
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,655);
+ else if (.@slot == 2) set .@i, rand(451,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4700; //Strength1
+ else if (.@i < 201) set .@enchant,4811; //Fighting_Spirit1
+ else if (.@i < 301) set .@enchant,4819; //Atk1
+ else if (.@i < 351) set .@enchant,4701; //Strength2
+ else if (.@i < 401) set .@enchant,4810; //Fighting_Spirit2
+ else if (.@i < 451) set .@enchant,4766; //Atk2
+ else if (.@i < 476) set .@enchant,4702; //Strength3
+ else if (.@i < 501) set .@enchant,4809; //Fighting_Spirit3
+ else if (.@i < 526) set .@enchant,4767; //Atk3
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4703; //Strength4
+ else if (.@i < 656) set .@enchant,4808; //Fighting_Spirit4
+ else if (.@i < 661) set .@enchant,4704; //Strength5
+ else if (.@i < 666) set .@enchant,4820; //Fighting_Spirit5
+ else if (.@i < 668) set .@enchant,4705; //Strength6
+ else if (.@i < 670) set .@enchant,4821; //Fighting_Spirit6
+ else set .@enchant,9;
+ break;
+ case 2: //Critical
+ if (.@slot == 4) set .@i, rand(1,470);
+ else if (.@slot == 3) set .@i, rand(201,610);
+ else if (.@slot == 2) set .@i, rand(381,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4750; //Luck1
+ else if (.@i < 201) set .@enchant,4700; //Strength1
+ else if (.@i < 261) set .@enchant,4751; //Luck2
+ else if (.@i < 321) set .@enchant,4701; //Strength2
+ else if (.@i < 351) set .@enchant,4752; //Luck3
+ else if (.@i < 381) set .@enchant,4702; //Strength3
+ else if (.@i < 411) set .@enchant,4764; //Critical5
+ else if (.@i < 441) set .@enchant,4818; //Sharp1
+ else if (.@i < 471) set .@enchant,4752; //Luck3
+ else if (.@i < 571) set .@enchant,0;
+ else if (.@i < 586) set .@enchant,4753; //Luck4
+ else if (.@i < 601) set .@enchant,4754; //Luck5
+ else if (.@i < 606) set .@enchant,4765; //Critical7
+ else if (.@i < 611) set .@enchant,4817; //Sharp2
+ else if (.@i < 616) set .@enchant,4703; //Strength4
+ else if (.@i < 618) set .@enchant,4816; //Sharp3
+ else set .@enchant,9;
+ break;
+ case 3: //Evasion
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,670);
+ else if (.@slot == 2) set .@i, rand(451,800);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4859; //Evasion1
+ else if (.@i < 201) set .@enchant,4750; //Luck1
+ else if (.@i < 301) set .@enchant,4730; //Agility1
+ else if (.@i < 351) set .@enchant,4860; //Evasion3
+ else if (.@i < 401) set .@enchant,4751; //Luck2
+ else if (.@i < 451) set .@enchant,4731; //Agility2
+ else if (.@i < 476) set .@enchant,4731; //Agility2
+ else if (.@i < 501) set .@enchant,4752; //Luck3
+ else if (.@i < 526) set .@enchant,4732; //Agility3
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4762; //Evasion6
+ else if (.@i < 656) set .@enchant,4753; //Luck4
+ else if (.@i < 671) set .@enchant,4733; //Agility4
+ else if (.@i < 676) set .@enchant,4763; //Evasion12
+ else if (.@i < 681) set .@enchant,4754; //Luck5
+ else if (.@i < 683) set .@enchant,4734; //Agility5
+ else set .@enchant,9;
+ break;
+ case 4: //Healer
+ if (.@slot == 4) set .@i, rand(1,375);
+ else if (.@slot == 3) set .@i, rand(201,535);
+ else if (.@slot == 2) set .@i, rand(301,650);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4710; //Inteligence1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 251) set .@enchant,4711; //Inteligence2
+ else if (.@i < 301) set .@enchant,4721; //Dexterity2
+ else if (.@i < 326) set .@enchant,4805; //Heal_Amount2
+ else if (.@i < 351) set .@enchant,4712; //Inteligence3
+ else if (.@i < 376) set .@enchant,4722; //Dexterity3
+ else if (.@i < 476) set .@enchant,0;
+ else if (.@i < 491) set .@enchant,4760; //Matk1
+ else if (.@i < 506) set .@enchant,4850; //Heal_Amount3
+ else if (.@i < 521) set .@enchant,4713; //Inteligence4
+ else if (.@i < 536) set .@enchant,4723; //Dexterity4
+ else if (.@i < 541) set .@enchant,4761; //Matk2
+ else if (.@i < 546) set .@enchant,4851; //Heal_Amount4
+ else if (.@i < 548) set .@enchant,4806; //Matk3
+ else if (.@i < 550) set .@enchant,4852; //Heal_Amount5
+ else set .@enchant,9;
+ break;
+ case 5: //Spell 1
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,760);
+ else if (.@slot == 2) set .@i, rand(401,766);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4710; //Inteligence1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 301) set .@enchant,4795; //HP100
+ else if (.@i < 401) set .@enchant,4815; //Spell1
+ else if (.@i < 451) set .@enchant,4711; //Inteligence2
+ else if (.@i < 501) set .@enchant,4721; //Dexterity2
+ else if (.@i < 551) set .@enchant,4796; //HP200
+ else if (.@i < 601) set .@enchant,4814; //Spell2
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 716) set .@enchant,4712; //Inteligence3
+ else if (.@i < 731) set .@enchant,4722; //Dexterity3
+ else if (.@i < 746) set .@enchant,4797; //HP300
+ else if (.@i < 761) set .@enchant,4813; //Spell3
+ else if (.@i < 763) set .@enchant,4713; //Inteligence4
+ else if (.@i < 765) set .@enchant,4723; //Dexterity4
+ else if (.@i < 767) set .@enchant,4812; //Spell4
+ else set .@enchant,9;
+ break;
+ case 6: //Assist 1
+ if (.@slot == 4) set .@i, rand(1,520);
+ else if (.@slot == 3) set .@i, rand(321,720);
+ else if (.@slot == 2) set .@i, rand(521,850);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 81) set .@enchant,4792; //Def6
+ else if (.@i < 161) set .@enchant,4787; //Mdef4
+ else if (.@i < 241) set .@enchant,4801; //SP100
+ else if (.@i < 321) set .@enchant,4796; //HP200
+ else if (.@i < 371) set .@enchant,4700; //Strength1
+ else if (.@i < 421) set .@enchant,4720; //Dexterity1
+ else if (.@i < 471) set .@enchant,4730; //Agility1
+ else if (.@i < 521) set .@enchant,4740; //Vitality1
+ else if (.@i < 621) set .@enchant,0;
+ else if (.@i < 646) set .@enchant,4793; //Def9
+ else if (.@i < 671) set .@enchant,4788; //Mdef6
+ else if (.@i < 696) set .@enchant,4802; //SP150
+ else if (.@i < 721) set .@enchant,4797; //HP300
+ else if (.@i < 731) set .@enchant,4701; //Strength2
+ else if (.@i < 741) set .@enchant,4721; //Dexterity2
+ else if (.@i < 751) set .@enchant,4731; //Agility2
+ else set .@enchant,9;
+ break;
+ case 7: //Assist 2
+ if (.@slot == 4) set .@i, rand(1,520);
+ else if (.@slot == 3) set .@i, rand(321,720);
+ else if (.@slot == 2) set .@i, rand(521,850);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 81) set .@enchant,4792; //Def6
+ else if (.@i < 161) set .@enchant,4787; //Mdef4
+ else if (.@i < 241) set .@enchant,4801; //SP100
+ else if (.@i < 321) set .@enchant,4796; //HP200
+ else if (.@i < 371) set .@enchant,4710; //Inteligence1
+ else if (.@i < 421) set .@enchant,4720; //Dexterity1
+ else if (.@i < 471) set .@enchant,4730; //Agility1
+ else if (.@i < 521) set .@enchant,4740; //Vitality1
+ else if (.@i < 621) set .@enchant,0;
+ else if (.@i < 646) set .@enchant,4793; //Def9
+ else if (.@i < 671) set .@enchant,4788; //Mdef6
+ else if (.@i < 696) set .@enchant,4802; //SP150
+ else if (.@i < 721) set .@enchant,4797; //HP300
+ else if (.@i < 731) set .@enchant,4711; //Inteligence2
+ else if (.@i < 741) set .@enchant,4721; //Dexterity2
+ else if (.@i < 751) set .@enchant,4741; //Vitality2
+ else set .@enchant,9;
+ break;
+ case 8: //Strength
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,685);
+ else if (.@slot == 2) set .@i, rand(451,800);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4740; //Vitality1
+ else if (.@i < 201) set .@enchant,4797; //HP300
+ else if (.@i < 301) set .@enchant,4791; //Def3
+ else if (.@i < 351) set .@enchant,4741; //Vitality2
+ else if (.@i < 401) set .@enchant,4798; //HP400
+ else if (.@i < 451) set .@enchant,4792; //Def6
+ else if (.@i < 476) set .@enchant,4742; //Vitality3
+ else if (.@i < 501) set .@enchant,4793; //Def9
+ else if (.@i < 526) set .@enchant,4799; //HP500
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4742; //Vitality3
+ else if (.@i < 656) set .@enchant,4743; //Vitality4
+ else if (.@i < 671) set .@enchant,4794; //Def12
+ //else if (.@i < 686) set .@enchant,01; // ??
+ else if (.@i < 688) set .@enchant,4744; //Vitality5
+ //else if (.@i < 690) set .@enchant,02; // ??
+ else set .@enchant,9;
+ break;
+ case 9: //Range
+ if (.@slot == 4) set .@i, rand(1,470);
+ else if (.@slot == 3) set .@i, rand(201,610);
+ else if (.@slot == 2) set .@i, rand(321,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4750; //Luck1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 261) set .@enchant,4751; //Luck2
+ else if (.@i < 321) set .@enchant,4721; //Dexterity2
+ else if (.@i < 351) set .@enchant,4752; //Luck3
+ else if (.@i < 381) set .@enchant,4722; //Dexterity3
+ else if (.@i < 411) set .@enchant,4764; //Critical5
+ else if (.@i < 441) set .@enchant,4832; //Expert_Archer1
+ else if (.@i < 471) set .@enchant,4753; //Luck4
+ else if (.@i < 571) set .@enchant,0;
+ else if (.@i < 586) set .@enchant,4723; //Dexterity4
+ else if (.@i < 601) set .@enchant,4833; //Expert_Archer2
+ else if (.@i < 606) set .@enchant,4765; //Critical7
+ else if (.@i < 611) set .@enchant,4834; //Expert_Archer3
+ else if (.@i < 616) set .@enchant,4724; //Dexterity5
+ else if (.@i < 618) set .@enchant,4835; //Expert_Archer4
+ else set .@enchant,9;
+ break;
+ case 10: //Physical
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,800);
+ else if (.@slot == 2) set .@i, rand(601,930);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4791; //Def3
+ else if (.@i < 201) set .@enchant,4730; //Agility1
+ else if (.@i < 301) set .@enchant,4750; //Luck1
+ else if (.@i < 401) set .@enchant,4795; //HP100
+ else if (.@i < 451) set .@enchant,4792; //Def6
+ else if (.@i < 501) set .@enchant,4731; //Agility2
+ else if (.@i < 551) set .@enchant,4751; //Luck2
+ else if (.@i < 601) set .@enchant,4796; //HP200
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 726) set .@enchant,4793; //Def9
+ else if (.@i < 751) set .@enchant,4732; //Agility3
+ else if (.@i < 776) set .@enchant,4752; //Luck3
+ else if (.@i < 801) set .@enchant,4797; //HP300
+ else if (.@i < 816) set .@enchant,4733; //Agility4
+ else if (.@i < 831) set .@enchant,4753; //Luck4
+ else if (.@i < 833) set .@enchant,4807; //Atk_Speed1
+ else set .@enchant,9;
+ break;
+ case 11: //Spell 2
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,760);
+ else if (.@slot == 2) set .@i, rand(401,766);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4711; //Inteligence2
+ else if (.@i < 201) set .@enchant,4721; //Dexterity2
+ else if (.@i < 301) set .@enchant,4796; //HP200
+ else if (.@i < 401) set .@enchant,4814; //Spell2
+ else if (.@i < 451) set .@enchant,4712; //Inteligence3
+ else if (.@i < 501) set .@enchant,4722; //Dexterity3
+ else if (.@i < 551) set .@enchant,4760; //Matk1
+ else if (.@i < 601) set .@enchant,4813; //Spell3
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 716) set .@enchant,4713; //Inteligence4
+ else if (.@i < 731) set .@enchant,4723; //Dexterity4
+ else if (.@i < 746) set .@enchant,4761; //Matk2
+ else if (.@i < 761) set .@enchant,4812; //Spell4
+ else if (.@i < 763) set .@enchant,4714; //Inteligence5
+ else if (.@i < 765) set .@enchant,4724; //Dexterity5
+ else if (.@i < 767) set .@enchant,4806; //Matk3
+ else set .@enchant,9;
+ break;
+ default:
+ mes "[Artifact Researcher]";
+ mes "Well I guess I was wrong...";
+ close;
+ }
+ if (.@equip_card[3] == 0 && getarg(2) < 4) {
+ set .@equip_card[3],.@enchant;
+ } else if (.@equip_card[2] == 0 && getarg(2) < 3) {
+ set .@equip_card[2],.@enchant;
+ if (.@enchant == 0) {
+ set .@equip_card[3],0;
+ }
+ } else if (.@equip_card[1] == 0 && getarg(2) < 2) {
+ set .@equip_card[1],.@enchant;
+ if (.@enchant == 0) {
+ set .@equip_card[2],0;
+ set .@equip_card[3],0;
+ }
+ } else {
+ mes "[Artifact Researcher]";
+ mes "I think there was an enhancing limit to the artifacts.";
+ close;
+ }
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "I'm not going to do the work unless you pay the fee.";
+ close;
+ }
+ delitem 6380,1; //Mora_Coin
+ set Zeny, Zeny-100000;
+ delequip .@part;
+ if (.@enchant == 9) {
+ specialeffect2 EF_SUI_EXPLOSION;
+ mes "[Artifact Researcher]";
+ mes "This!";
+ mes "I... I'm sorry but the equipment has been destroyed.";
+ close;
+ }
+ if (.@enchant == 0) {
+ specialeffect2 EF_SHIELDCHARGE;
+ mes "[Artifact Researcher]";
+ mes "Since the balance of power does not match, the given existing ability has been destroyed. It is unfortunate but please try again next time.";
+ } else {
+ specialeffect2 EF_REPAIRWEAPON;
+ mes "[Artifact Researcher]";
+ // Replacing original dialogue since it doesn't make sense.
+ //mes "The artifact ^990000"+.@slot+" will have the first enhancement retained.";
+ mes "I've successfully enhanced the artifact ^990000"+.@equip_name$+"^000000 at socket "+.@slot+".";
+ }
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+
+ close;
+ } else if (.@select == 2) {
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "You've got to pay if you want the services.";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ mes "[Artifact Researcher]";
+ mes "The ability to enhance remains.";
+ delitem 6380,1; //Mora_Coin
+ set Zeny, Zeny-100000;
+ delequip .@part;
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@equip_card[.@i] >= 4700) // Armor Enchant System
+ set .@equip_card[.@i],0;
+ }
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+
+ close;
+ }
+}
+
+// Arch Bishop & Warlock Empowering :: relic_change
+//============================================================
+mora,124,82,4 script Artifact Collector#blan 522,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ disable_items;
+ emotion e_ho;
+ mes "Those Mora Artifacts look so perfect!";
+ mes "But I know you want them to be even better!";
+ next;
+ mes "[Artifact Collector]";
+ mes "Greetings Adventurer. We will be great friends in a moment after I tell you how to Empower your Artifacts!";
+ next;
+ switch(select("Let's do this!:Empower Artifacts?:Nope, not for me!")) {
+ case 1:
+ break;
+ case 2:
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "You seem like a pretty good judge of character.";
+ next;
+ mes "[Artifact Collector]";
+ mes "For over 200 years I've been working with Artifacts here in Mora. Toiling to get the perfect +9!";
+ next;
+ select("Gulp... +9?!");
+ emotion e_omg,1;
+ mes "[Artifact Collector]";
+ mes "My business is collecting the old relics and refining them to their essence!";
+ next;
+ emotion e_sob;
+ mes "[Artifact Collector]";
+ mes "Finding the perfect Artifact for me to experiment on is my life's work.";
+ mes "Plus seeing the wonder of our ancestor's legacy is also gratifying.";
+ next;
+ select("I can see how that could be fun.");
+ emotion e_pat;
+ mes "[Artifact Collector]";
+ mes "Thank you human.";
+ next;
+ mes "[Artifact Collector]";
+ mes "I've been doing this for over 200 years, and honestly the readily available supply is gone, and Artificer and Artifact Crafter won't trade me anymore...";
+ next;
+ emotion e_dots;
+ mes "[Artifact Collector]";
+ mes "But maybe the Humans that are starting to visit can bring in some new stock!";
+ next;
+ select("Humans... Stock?");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Yes! If the humans can bring me new artifacts I can work on my ultimate achievement!";
+ next;
+ select("Ultimate Achievement?");
+ emotion e_what,1;
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "Patience, we'll get to that...";
+ next;
+ mes "[Artifact Collector]";
+ mes "I am a collector, by trade, but my greatest achievement is empowering some artifacts with greater power!";
+ mes "I have only perfected my ability on a few Artifact types so far.";
+ next;
+ mes "[Artifact Collector]";
+ mes "You might just be the human to help me complete my plan.";
+ next;
+ emotion e_otl;
+ mes "[Artifact Collector]";
+ mes "Oh how I love how fate works sometimes...";
+ next;
+ mes "[Artifact Collector]";
+ mes "+1, +2, +3, +4, +5, +6 those refinements are not strong enough to work on my craft.";
+ next;
+ emotion 57,0;
+ mes "[Artifact Collector]";
+ mes "But +7! +7 is rare and just barely strong enough to work in my crafting attempts.";
+ next;
+ select("I'm gonna be abused again...");
+ emotion e_hmm,1;
+ mes "[Artifact Collector]";
+ mes "Right you are! I know it is natural for you Humans to help a friend, even without the friend asking...";
+ next;
+ select("I'm not sure if...");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Of course I'll accept your help! Find me...";
+ next;
+ mes "- Golden Rod Staff -";
+ mes "- Aqua Staff -";
+ mes "- Crimson Staff -";
+ mes "- Forest Staff -";
+ mes "- Staff of Mercy -";
+ mes "- Mace of Judgement -";
+ next;
+ select("Anything else?");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Well aside from the +7, there are very specific enchantments that need to be on the artifact that help catalyze the process.";
+ next;
+ mes "[Artifact Collector]";
+ mes "If either the +7 or the specific enchantment is missing I can't do it.";
+ next;
+ select("So the Refining will be preserved?");
+ emotion e_omg,1;
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "No, but what you'll get back is so much better!";
+ next;
+ mes "[Artifact Collector]";
+ mes "By now you are wondering more about the artifacts I'm looking for?";
+ next;
+ emotion e_what;
+ mes "[Artifact Collector]";
+ mes "Go ahead and ask!";
+ next;
+ setarray .@artifacts[0],1657,16013,2007,2008,2009,2010;
+ setarray .@empowered[0],1660,16018,2011,2012,2013,2014;
+ while(1) {
+ set .@i, select("I don't think I'm interested:Staff of Mercy:Mace of Judgement:Golden Rod Staff:Aqua Staff:Crimson Staff:Forest Staff")-2;
+ if (.@i == -1) {
+ emotion e_what;
+ mes "[Artifact Collector]";
+ mes "Ok, well maybe someday you will be.";
+ close;
+ }
+ mes "[Artifact Collector]";
+ mes getitemname(.@artifacts[.@i])+" must of course be refined to +7 or higher for me to distill it to an enchantment.";
+ next;
+ switch(.@i) {
+ case 0:
+ setarray .@enchants[0],4761,4723,4714;
+ set .@str$, "MATK+2%, DEX+4, INT+5";
+ break;
+ case 1:
+ setarray .@enchants[0],4767,4723,4704;
+ set .@str$, "ATK+3%, DEX+4, STR+5";
+ break;
+ default:
+ setarray .@enchants[0],4761,4713;
+ set .@str$, "MATK+2%, INT+4";
+ break;
+ }
+ mes "[Artifact Collector]";
+ mes "It must also carry any of these enchantments: "+.@str$+" to be craftable by me.";
+ next;
+ select(getitemname(.@empowered[.@i])+" attributes?");
+ callsub L_ShowInfo, .@empowered[.@i];
+ mes "[Artifact Collector]";
+ mes "But please if you do get one, please let me work on it, I'm begging you.";
+ next;
+ }
+ case 3:
+ mes "[Artifact Collector]";
+ mes "Have yourself a great day. Bye~";
+ close;
+ }
+ emotion e_flash;
+ mes "[Artifact Collector]";
+ mes "Let me take a look at what you have brought me.";
+ next;
+ if (!getequipisequiped(EQI_HAND_R)) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "I don't know what you are trying to do... I can't enhance what you don't have.";
+ close;
+ }
+ set .@equip_id, getequipid(EQI_HAND_R);
+ setarray .@equip_card[2], getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
+ switch(.@equip_id) {
+ case 2007: //Golden_Rod_Staff
+ case 2008: //Aqua_Staff
+ case 2009: //Crimson_Staff
+ case 2010: //Forest_Staff
+ if (.@equip_card[2] == 4761 || .@equip_card[3] == 4761 || //Matk2
+ .@equip_card[2] == 4713 || .@equip_card[3] == 4713) //Inteligence4
+ set .@empowered,.@equip_id+4; //Golden_Rod_Staff2,Aqua_Staff2,Crimson_Staff2,Forest_Staff2
+ break;
+ case 1657: //Wand_Of_Affection
+ if (.@equip_card[2] == 4761 || .@equip_card[3] == 4761 || //Matk2
+ .@equip_card[2] == 4714 || .@equip_card[3] == 4714 || //Inteligence5
+ .@equip_card[2] == 4723 || .@equip_card[3] == 4723) //Dexterity4
+ set .@empowered,1660; //Wand_Of_Affection2
+ break;
+ case 16013: //Mace_Of_Judgement
+ if (.@equip_card[2] == 4723 || .@equip_card[3] == 4723 || //Dexterity4
+ .@equip_card[2] == 4704 || .@equip_card[3] == 4704 || //Strength5
+ .@equip_card[2] == 4767 || .@equip_card[3] == 4767) //Atk3
+ set .@empowered,16018; //Mace_Of_Judgement2
+ break;
+ default:
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "The weapon you have isn't one of the Artifacts I can work with.";
+ close;
+ }
+ if (getequiprefinerycnt(EQI_HAND_R) < 7) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "I must insist that the refine level of the Artifact be at least +7!";
+ close;
+ }
+ if (!.@empowered) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "These attributes just won't do for my research process, try re-randoming them.";
+ close;
+ }
+ emotion e_slur;
+ mes "[Artifact Collector]";
+ mes "I'm tingling with excitement!";
+ mes "You've brought me everything I need!!";
+ next;
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "If you are ready I am about to show you what I can do with your +"+getequiprefinerycnt(EQI_HAND_R)+" Artifact!";
+ next;
+ mes "[Artifact Collector]";
+ mes "I'm going to take your ^FF0000"+getequipname(EQI_HAND_R)+"^000000 and exchange it, are you ready?";
+ next;
+ switch(select("NOOO!:Yes, I'm ready!:What will it be after?")) {
+ case 1:
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "You've got to be kidding... you got my hopes up...";
+ close;
+ case 2:
+ break;
+ case 3:
+ callsub L_ShowInfo, .@empowered;
+ mes "[Artifact Collector]";
+ mes "Surely you want to go on?";
+ next;
+ if(select("No, I don't.:Yes, do it!") == 1) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "You've got to be kidding... you got my hopes up...";
+ close;
+ }
+ break;
+ }
+ emotion e_heh;
+ delequip EQI_HAND_R;
+ getitem .@empowered,1;
+ mes "[Artifact Collector]";
+ mes "It is perfectly done, you will be so happy! Good bye friend~";
+ close;
+
+L_ShowInfo:
+ mes "[Artifact Collector]";
+ mes getitemname(getarg(0));
+ switch(getarg(0)) {
+ case 1660: //Wand_Of_Affection2
+ mes "One handed Staff / Attack : 30";
+ mes "Weight : 50 / Any Sex";
+ mes "Archbishop only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "MATK + 180, INT + 4.";
+ mes "Adds 20% Heal Bonus.";
+ mes "If worn with Robes, Shoes, and Robe of Mercy Increase Heal Bonus by an additional 45% and SP consumption of 'Heal' by 50.";
+ mes "When receives close physical attack, Lv.1 Silentium will be excuted at a certain rate.";
+ mes "Recuces 3 seconds of delay after excuting Clearance, Laudaramus, and Laudaagnus skills.";
+ break;
+ case 16018: //Mace_Of_Judgement2
+ mes "Mace / Attack : 170";
+ mes "Weight : 120 / Any Sex";
+ mes "Archbishop only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "MATK + 180, STR + 2, INT + 2.";
+ mes "Physical and Magical Attacks have a chance to increase damage by 40% to Demon monsters for 7 seconds.";
+ mes "If worn with Judgement Golves, Shoes and Shawl, increase Damage against Undead by 30%.";
+ mes "Increase damage of Adoramus by 200%, and increase SP cost of Adoramus by 30.";
+ break;
+ case 2011: //Golden_Rod_Staff2
+ mes "Staff / Attack: 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level : 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Jupitel Thunder damage by 30%.";
+ mes "If worn with Golden Robe, Golden Shoes, and Golden Orb Increase Wind Magic damage by 60%.";
+ mes "Lower Earth Magic damage by 60% and resistance to Earth by 50%.";
+ break;
+ case 2012: //Aqua_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Cold Bolt and Frost Diver damage by 30%.";
+ mes "If worn with Aqua Robe, Shoes, and Orb Increase Water Magic damage by 60%.";
+ mes "Lower Wind Magic damage by 60% and resistance to Wind by 50%.";
+ break;
+ case 2013: //Crimson_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Fire Bolt and Fireball damage by 30%.";
+ mes "If worn with Crimson Robe, Shoes, and Orb Increase Fire Magic damage by 60%.";
+ mes "Lower Water Magic damage by 60% and resistance to Water by 50%.";
+ break;
+ case 2014: //Forest_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Earth Spike and Heaven's Drive damage by 30%.";
+ mes "If worn with Forest Robe, Shoes, and Orb Increase Earth Magic damage by 60%.";
+ mes "Lower Fire Magic damage by 60% and resistance to Fire by 50%.";
+ break;
+ }
+ next;
+ return;
+}
+
+// Other Enchants :: sangjo
+//============================================================
+function script F_Mora_Enchant {
+ specialeffect2 EF_REPAIRWEAPON;
+ progressbar "ffff00",3;
+ delitem 6380,5; //Mora_Coin
+ delitem getarg(0),1;
+ set .@i, rand(1,4568);
+ if (.@i <= 11) setarray .@enchants[1],4766,4720,4700; //Atk2 Dexterity1 Strength1
+ else if (.@i <= 22) setarray .@enchants[1],4766,4720,4701; //Atk2 Dexterity1 Strength2
+ else if (.@i <= 33) setarray .@enchants[1],4766,4720,4730; //Atk2 Dexterity1 Agility1
+ else if (.@i <= 44) setarray .@enchants[1],4766,4720,4731; //Atk2 Dexterity1 Agility2
+ else if (.@i <= 55) setarray .@enchants[1],4766,4720,4740; //Atk2 Dexterity1 Vitality1
+ else if (.@i <= 66) setarray .@enchants[1],4766,4720,4741; //Atk2 Dexterity1 Vitality2
+ else if (.@i <= 77) setarray .@enchants[1],4766,4721,4700; //Atk2 Dexterity2 Strength1
+ else if (.@i <= 88) setarray .@enchants[1],4766,4721,4701; //Atk2 Dexterity2 Strength2
+ else if (.@i <= 99) setarray .@enchants[1],4766,4721,4730; //Atk2 Dexterity2 Agility1
+ else if (.@i <= 110) setarray .@enchants[1],4766,4721,4731; //Atk2 Dexterity2 Agility2
+ else if (.@i <= 121) setarray .@enchants[1],4766,4721,4740; //Atk2 Dexterity2 Vitality1
+ else if (.@i <= 132) setarray .@enchants[1],4766,4721,4741; //Atk2 Dexterity2 Vitality2
+ else if (.@i <= 143) setarray .@enchants[1],4766,4710,4700; //Atk2 Inteligence1 Strength1
+ else if (.@i <= 154) setarray .@enchants[1],4766,4710,4701; //Atk2 Inteligence1 Strength2
+ else if (.@i <= 165) setarray .@enchants[1],4766,4710,4730; //Atk2 Inteligence1 Agility1
+ else if (.@i <= 176) setarray .@enchants[1],4766,4710,4731; //Atk2 Inteligence1 Agility2
+ else if (.@i <= 187) setarray .@enchants[1],4766,4710,4740; //Atk2 Inteligence1 Vitality1
+ else if (.@i <= 198) setarray .@enchants[1],4766,4710,4741; //Atk2 Inteligence1 Vitality2
+ else if (.@i <= 209) setarray .@enchants[1],4766,4711,4700; //Atk2 Inteligence2 Strength1
+ else if (.@i <= 220) setarray .@enchants[1],4766,4711,4701; //Atk2 Inteligence2 Strength2
+ else if (.@i <= 231) setarray .@enchants[1],4766,4711,4730; //Atk2 Inteligence2 Agility1
+ else if (.@i <= 242) setarray .@enchants[1],4766,4711,4731; //Atk2 Inteligence2 Agility2
+ else if (.@i <= 253) setarray .@enchants[1],4766,4711,4740; //Atk2 Inteligence2 Vitality1
+ else if (.@i <= 264) setarray .@enchants[1],4766,4711,4741; //Atk2 Inteligence2 Vitality2
+ else if (.@i <= 275) setarray .@enchants[1],4766,4750,4700; //Atk2 Luck1 Strength1
+ else if (.@i <= 286) setarray .@enchants[1],4766,4750,4701; //Atk2 Luck1 Strength2
+ else if (.@i <= 297) setarray .@enchants[1],4766,4750,4730; //Atk2 Luck1 Agility1
+ else if (.@i <= 308) setarray .@enchants[1],4766,4750,4731; //Atk2 Luck1 Agility2
+ else if (.@i <= 319) setarray .@enchants[1],4766,4750,4740; //Atk2 Luck1 Vitality1
+ else if (.@i <= 330) setarray .@enchants[1],4766,4750,4741; //Atk2 Luck1 Vitality2
+ else if (.@i <= 341) setarray .@enchants[1],4766,4751,4700; //Atk2 Luck2 Strength1
+ else if (.@i <= 352) setarray .@enchants[1],4766,4751,4701; //Atk2 Luck2 Strength2
+ else if (.@i <= 363) setarray .@enchants[1],4766,4751,4730; //Atk2 Luck2 Agility1
+ else if (.@i <= 374) setarray .@enchants[1],4766,4751,4731; //Atk2 Luck2 Agility2
+ else if (.@i <= 385) setarray .@enchants[1],4766,4751,4740; //Atk2 Luck2 Vitality1
+ else if (.@i <= 396) setarray .@enchants[1],4766,4751,4741; //Atk2 Luck2 Vitality2
+ else if (.@i <= 407) setarray .@enchants[1],4767,4720,4700; //Atk3 Dexterity1 Strength1
+ else if (.@i <= 418) setarray .@enchants[1],4767,4720,4701; //Atk3 Dexterity1 Strength2
+ else if (.@i <= 429) setarray .@enchants[1],4767,4720,4730; //Atk3 Dexterity1 Agility1
+ else if (.@i <= 440) setarray .@enchants[1],4767,4720,4731; //Atk3 Dexterity1 Agility2
+ else if (.@i <= 451) setarray .@enchants[1],4767,4720,4740; //Atk3 Dexterity1 Vitality1
+ else if (.@i <= 462) setarray .@enchants[1],4767,4720,4741; //Atk3 Dexterity1 Vitality2
+ else if (.@i <= 473) setarray .@enchants[1],4767,4721,4700; //Atk3 Dexterity2 Strength1
+ else if (.@i <= 484) setarray .@enchants[1],4767,4721,4701; //Atk3 Dexterity2 Strength2
+ else if (.@i <= 495) setarray .@enchants[1],4767,4721,4730; //Atk3 Dexterity2 Agility1
+ else if (.@i <= 506) setarray .@enchants[1],4767,4721,4731; //Atk3 Dexterity2 Agility2
+ else if (.@i <= 517) setarray .@enchants[1],4767,4721,4740; //Atk3 Dexterity2 Vitality1
+ else if (.@i <= 528) setarray .@enchants[1],4767,4721,4741; //Atk3 Dexterity2 Vitality2
+ else if (.@i <= 539) setarray .@enchants[1],4767,4710,4700; //Atk3 Inteligence1 Strength1
+ else if (.@i <= 550) setarray .@enchants[1],4767,4710,4701; //Atk3 Inteligence1 Strength2
+ else if (.@i <= 561) setarray .@enchants[1],4767,4710,4730; //Atk3 Inteligence1 Agility1
+ else if (.@i <= 572) setarray .@enchants[1],4767,4710,4731; //Atk3 Inteligence1 Agility2
+ else if (.@i <= 583) setarray .@enchants[1],4767,4710,4740; //Atk3 Inteligence1 Vitality1
+ else if (.@i <= 594) setarray .@enchants[1],4767,4710,4741; //Atk3 Inteligence1 Vitality2
+ else if (.@i <= 605) setarray .@enchants[1],4767,4711,4700; //Atk3 Inteligence2 Strength1
+ else if (.@i <= 616) setarray .@enchants[1],4767,4711,4701; //Atk3 Inteligence2 Strength2
+ else if (.@i <= 627) setarray .@enchants[1],4767,4711,4730; //Atk3 Inteligence2 Agility1
+ else if (.@i <= 638) setarray .@enchants[1],4767,4711,4731; //Atk3 Inteligence2 Agility2
+ else if (.@i <= 649) setarray .@enchants[1],4767,4711,4740; //Atk3 Inteligence2 Vitality1
+ else if (.@i <= 660) setarray .@enchants[1],4767,4711,4741; //Atk3 Inteligence2 Vitality2
+ else if (.@i <= 671) setarray .@enchants[1],4767,4750,4700; //Atk3 Luck1 Strength1
+ else if (.@i <= 682) setarray .@enchants[1],4767,4750,4701; //Atk3 Luck1 Strength2
+ else if (.@i <= 693) setarray .@enchants[1],4767,4750,4730; //Atk3 Luck1 Agility1
+ else if (.@i <= 704) setarray .@enchants[1],4767,4750,4731; //Atk3 Luck1 Agility2
+ else if (.@i <= 715) setarray .@enchants[1],4767,4750,4740; //Atk3 Luck1 Vitality1
+ else if (.@i <= 726) setarray .@enchants[1],4767,4750,4741; //Atk3 Luck1 Vitality2
+ else if (.@i <= 737) setarray .@enchants[1],4767,4751,4700; //Atk3 Luck2 Strength1
+ else if (.@i <= 748) setarray .@enchants[1],4767,4751,4701; //Atk3 Luck2 Strength2
+ else if (.@i <= 759) setarray .@enchants[1],4767,4751,4730; //Atk3 Luck2 Agility1
+ else if (.@i <= 770) setarray .@enchants[1],4767,4751,4731; //Atk3 Luck2 Agility2
+ else if (.@i <= 781) setarray .@enchants[1],4767,4751,4740; //Atk3 Luck2 Vitality1
+ else if (.@i <= 792) setarray .@enchants[1],4767,4751,4741; //Atk3 Luck2 Vitality2
+ else if (.@i <= 803) setarray .@enchants[1],4764,4720,4700; //Critical5 Dexterity1 Strength1
+ else if (.@i <= 814) setarray .@enchants[1],4764,4720,4701; //Critical5 Dexterity1 Strength2
+ else if (.@i <= 825) setarray .@enchants[1],4764,4720,4730; //Critical5 Dexterity1 Agility1
+ else if (.@i <= 836) setarray .@enchants[1],4764,4720,4731; //Critical5 Dexterity1 Agility2
+ else if (.@i <= 847) setarray .@enchants[1],4764,4720,4740; //Critical5 Dexterity1 Vitality1
+ else if (.@i <= 858) setarray .@enchants[1],4764,4720,4741; //Critical5 Dexterity1 Vitality2
+ else if (.@i <= 869) setarray .@enchants[1],4764,4721,4700; //Critical5 Dexterity2 Strength1
+ else if (.@i <= 880) setarray .@enchants[1],4764,4721,4701; //Critical5 Dexterity2 Strength2
+ else if (.@i <= 891) setarray .@enchants[1],4764,4721,4730; //Critical5 Dexterity2 Agility1
+ else if (.@i <= 902) setarray .@enchants[1],4764,4721,4731; //Critical5 Dexterity2 Agility2
+ else if (.@i <= 913) setarray .@enchants[1],4764,4721,4740; //Critical5 Dexterity2 Vitality1
+ else if (.@i <= 924) setarray .@enchants[1],4764,4721,4741; //Critical5 Dexterity2 Vitality2
+ else if (.@i <= 935) setarray .@enchants[1],4764,4710,4700; //Critical5 Inteligence1 Strength1
+ else if (.@i <= 946) setarray .@enchants[1],4764,4710,4701; //Critical5 Inteligence1 Strength2
+ else if (.@i <= 957) setarray .@enchants[1],4764,4710,4730; //Critical5 Inteligence1 Agility1
+ else if (.@i <= 968) setarray .@enchants[1],4764,4710,4731; //Critical5 Inteligence1 Agility2
+ else if (.@i <= 979) setarray .@enchants[1],4764,4710,4740; //Critical5 Inteligence1 Vitality1
+ else if (.@i <= 990) setarray .@enchants[1],4764,4710,4741; //Critical5 Inteligence1 Vitality2
+ else if (.@i <= 1001) setarray .@enchants[1],4764,4711,4700; //Critical5 Inteligence2 Strength1
+ else if (.@i <= 1012) setarray .@enchants[1],4764,4711,4701; //Critical5 Inteligence2 Strength2
+ else if (.@i <= 1023) setarray .@enchants[1],4764,4711,4730; //Critical5 Inteligence2 Agility1
+ else if (.@i <= 1034) setarray .@enchants[1],4764,4711,4731; //Critical5 Inteligence2 Agility2
+ else if (.@i <= 1045) setarray .@enchants[1],4764,4711,4740; //Critical5 Inteligence2 Vitality1
+ else if (.@i <= 1056) setarray .@enchants[1],4764,4711,4741; //Critical5 Inteligence2 Vitality2
+ else if (.@i <= 1067) setarray .@enchants[1],4764,4750,4700; //Critical5 Luck1 Strength1
+ else if (.@i <= 1078) setarray .@enchants[1],4764,4750,4701; //Critical5 Luck1 Strength2
+ else if (.@i <= 1089) setarray .@enchants[1],4764,4750,4730; //Critical5 Luck1 Agility1
+ else if (.@i <= 1100) setarray .@enchants[1],4764,4750,4731; //Critical5 Luck1 Agility2
+ else if (.@i <= 1111) setarray .@enchants[1],4764,4750,4740; //Critical5 Luck1 Vitality1
+ else if (.@i <= 1122) setarray .@enchants[1],4764,4750,4741; //Critical5 Luck1 Vitality2
+ else if (.@i <= 1133) setarray .@enchants[1],4764,4751,4700; //Critical5 Luck2 Strength1
+ else if (.@i <= 1144) setarray .@enchants[1],4764,4751,4701; //Critical5 Luck2 Strength2
+ else if (.@i <= 1155) setarray .@enchants[1],4764,4751,4730; //Critical5 Luck2 Agility1
+ else if (.@i <= 1166) setarray .@enchants[1],4764,4751,4731; //Critical5 Luck2 Agility2
+ else if (.@i <= 1177) setarray .@enchants[1],4764,4751,4740; //Critical5 Luck2 Vitality1
+ else if (.@i <= 1188) setarray .@enchants[1],4764,4751,4741; //Critical5 Luck2 Vitality2
+ else if (.@i <= 1199) setarray .@enchants[1],4765,4720,4700; //Critical7 Dexterity1 Strength1
+ else if (.@i <= 1210) setarray .@enchants[1],4765,4720,4701; //Critical7 Dexterity1 Strength2
+ else if (.@i <= 1221) setarray .@enchants[1],4765,4720,4730; //Critical7 Dexterity1 Agility1
+ else if (.@i <= 1232) setarray .@enchants[1],4765,4720,4731; //Critical7 Dexterity1 Agility2
+ else if (.@i <= 1243) setarray .@enchants[1],4765,4720,4740; //Critical7 Dexterity1 Vitality1
+ else if (.@i <= 1254) setarray .@enchants[1],4765,4720,4741; //Critical7 Dexterity1 Vitality2
+ else if (.@i <= 1265) setarray .@enchants[1],4765,4721,4700; //Critical7 Dexterity2 Strength1
+ else if (.@i <= 1276) setarray .@enchants[1],4765,4721,4701; //Critical7 Dexterity2 Strength2
+ else if (.@i <= 1287) setarray .@enchants[1],4765,4721,4730; //Critical7 Dexterity2 Agility1
+ else if (.@i <= 1298) setarray .@enchants[1],4765,4721,4731; //Critical7 Dexterity2 Agility2
+ else if (.@i <= 1309) setarray .@enchants[1],4765,4721,4740; //Critical7 Dexterity2 Vitality1
+ else if (.@i <= 1320) setarray .@enchants[1],4765,4721,4741; //Critical7 Dexterity2 Vitality2
+ else if (.@i <= 1331) setarray .@enchants[1],4765,4710,4700; //Critical7 Inteligence1 Strength1
+ else if (.@i <= 1342) setarray .@enchants[1],4765,4710,4701; //Critical7 Inteligence1 Strength2
+ else if (.@i <= 1353) setarray .@enchants[1],4765,4710,4730; //Critical7 Inteligence1 Agility1
+ else if (.@i <= 1364) setarray .@enchants[1],4765,4710,4731; //Critical7 Inteligence1 Agility2
+ else if (.@i <= 1375) setarray .@enchants[1],4765,4710,4740; //Critical7 Inteligence1 Vitality1
+ else if (.@i <= 1386) setarray .@enchants[1],4765,4710,4741; //Critical7 Inteligence1 Vitality2
+ else if (.@i <= 1397) setarray .@enchants[1],4765,4711,4700; //Critical7 Inteligence2 Strength1
+ else if (.@i <= 1408) setarray .@enchants[1],4765,4711,4701; //Critical7 Inteligence2 Strength2
+ else if (.@i <= 1419) setarray .@enchants[1],4765,4711,4730; //Critical7 Inteligence2 Agility1
+ else if (.@i <= 1430) setarray .@enchants[1],4765,4711,4731; //Critical7 Inteligence2 Agility2
+ else if (.@i <= 1441) setarray .@enchants[1],4765,4711,4740; //Critical7 Inteligence2 Vitality1
+ else if (.@i <= 1452) setarray .@enchants[1],4765,4711,4741; //Critical7 Inteligence2 Vitality2
+ else if (.@i <= 1463) setarray .@enchants[1],4765,4750,4700; //Critical7 Luck1 Strength1
+ else if (.@i <= 1474) setarray .@enchants[1],4765,4750,4701; //Critical7 Luck1 Strength2
+ else if (.@i <= 1485) setarray .@enchants[1],4765,4750,4730; //Critical7 Luck1 Agility1
+ else if (.@i <= 1496) setarray .@enchants[1],4765,4750,4731; //Critical7 Luck1 Agility2
+ else if (.@i <= 1507) setarray .@enchants[1],4765,4750,4740; //Critical7 Luck1 Vitality1
+ else if (.@i <= 1518) setarray .@enchants[1],4765,4750,4741; //Critical7 Luck1 Vitality2
+ else if (.@i <= 1529) setarray .@enchants[1],4765,4751,4700; //Critical7 Luck2 Strength1
+ else if (.@i <= 1540) setarray .@enchants[1],4765,4751,4701; //Critical7 Luck2 Strength2
+ else if (.@i <= 1551) setarray .@enchants[1],4765,4751,4730; //Critical7 Luck2 Agility1
+ else if (.@i <= 1562) setarray .@enchants[1],4765,4751,4731; //Critical7 Luck2 Agility2
+ else if (.@i <= 1573) setarray .@enchants[1],4765,4751,4740; //Critical7 Luck2 Vitality1
+ else if (.@i <= 1584) setarray .@enchants[1],4765,4751,4741; //Critical7 Luck2 Vitality2
+ else if (.@i <= 1595) setarray .@enchants[1],4762,4720,4700; //Evasion6 Dexterity1 Strength1
+ else if (.@i <= 1606) setarray .@enchants[1],4762,4720,4701; //Evasion6 Dexterity1 Strength2
+ else if (.@i <= 1617) setarray .@enchants[1],4762,4720,4730; //Evasion6 Dexterity1 Agility1
+ else if (.@i <= 1628) setarray .@enchants[1],4762,4720,4731; //Evasion6 Dexterity1 Agility2
+ else if (.@i <= 1639) setarray .@enchants[1],4762,4720,4740; //Evasion6 Dexterity1 Vitality1
+ else if (.@i <= 1650) setarray .@enchants[1],4762,4720,4741; //Evasion6 Dexterity1 Vitality2
+ else if (.@i <= 1661) setarray .@enchants[1],4762,4721,4700; //Evasion6 Dexterity2 Strength1
+ else if (.@i <= 1672) setarray .@enchants[1],4762,4721,4701; //Evasion6 Dexterity2 Strength2
+ else if (.@i <= 1683) setarray .@enchants[1],4762,4721,4730; //Evasion6 Dexterity2 Agility1
+ else if (.@i <= 1694) setarray .@enchants[1],4762,4721,4731; //Evasion6 Dexterity2 Agility2
+ else if (.@i <= 1705) setarray .@enchants[1],4762,4721,4740; //Evasion6 Dexterity2 Vitality1
+ else if (.@i <= 1716) setarray .@enchants[1],4762,4721,4741; //Evasion6 Dexterity2 Vitality2
+ else if (.@i <= 1727) setarray .@enchants[1],4762,4710,4700; //Evasion6 Inteligence1 Strength1
+ else if (.@i <= 1738) setarray .@enchants[1],4762,4710,4701; //Evasion6 Inteligence1 Strength2
+ else if (.@i <= 1749) setarray .@enchants[1],4762,4710,4730; //Evasion6 Inteligence1 Agility1
+ else if (.@i <= 1760) setarray .@enchants[1],4762,4710,4731; //Evasion6 Inteligence1 Agility2
+ else if (.@i <= 1771) setarray .@enchants[1],4762,4710,4740; //Evasion6 Inteligence1 Vitality1
+ else if (.@i <= 1782) setarray .@enchants[1],4762,4710,4741; //Evasion6 Inteligence1 Vitality2
+ else if (.@i <= 1793) setarray .@enchants[1],4762,4711,4700; //Evasion6 Inteligence2 Strength1
+ else if (.@i <= 1804) setarray .@enchants[1],4762,4711,4701; //Evasion6 Inteligence2 Strength2
+ else if (.@i <= 1815) setarray .@enchants[1],4762,4711,4730; //Evasion6 Inteligence2 Agility1
+ else if (.@i <= 1826) setarray .@enchants[1],4762,4711,4731; //Evasion6 Inteligence2 Agility2
+ else if (.@i <= 1837) setarray .@enchants[1],4762,4711,4740; //Evasion6 Inteligence2 Vitality1
+ else if (.@i <= 1848) setarray .@enchants[1],4762,4711,4741; //Evasion6 Inteligence2 Vitality2
+ else if (.@i <= 1859) setarray .@enchants[1],4762,4750,4700; //Evasion6 Luck1 Strength1
+ else if (.@i <= 1870) setarray .@enchants[1],4762,4750,4701; //Evasion6 Luck1 Strength2
+ else if (.@i <= 1881) setarray .@enchants[1],4762,4750,4730; //Evasion6 Luck1 Agility1
+ else if (.@i <= 1892) setarray .@enchants[1],4762,4750,4731; //Evasion6 Luck1 Agility2
+ else if (.@i <= 1903) setarray .@enchants[1],4762,4750,4740; //Evasion6 Luck1 Vitality1
+ else if (.@i <= 1914) setarray .@enchants[1],4762,4750,4741; //Evasion6 Luck1 Vitality2
+ else if (.@i <= 1925) setarray .@enchants[1],4762,4751,4700; //Evasion6 Luck2 Strength1
+ else if (.@i <= 1936) setarray .@enchants[1],4762,4751,4701; //Evasion6 Luck2 Strength2
+ else if (.@i <= 1947) setarray .@enchants[1],4762,4751,4730; //Evasion6 Luck2 Agility1
+ else if (.@i <= 1958) setarray .@enchants[1],4762,4751,4731; //Evasion6 Luck2 Agility2
+ else if (.@i <= 1969) setarray .@enchants[1],4762,4751,4740; //Evasion6 Luck2 Vitality1
+ else if (.@i <= 1980) setarray .@enchants[1],4762,4751,4741; //Evasion6 Luck2 Vitality2
+ else if (.@i <= 1991) setarray .@enchants[1],4763,4720,4700; //Evasion12 Dexterity1 Strength1
+ else if (.@i <= 2002) setarray .@enchants[1],4763,4720,4701; //Evasion12 Dexterity1 Strength2
+ else if (.@i <= 2013) setarray .@enchants[1],4763,4720,4730; //Evasion12 Dexterity1 Agility1
+ else if (.@i <= 2024) setarray .@enchants[1],4763,4720,4731; //Evasion12 Dexterity1 Agility2
+ else if (.@i <= 2035) setarray .@enchants[1],4763,4720,4740; //Evasion12 Dexterity1 Vitality1
+ else if (.@i <= 2046) setarray .@enchants[1],4763,4720,4741; //Evasion12 Dexterity1 Vitality2
+ else if (.@i <= 2057) setarray .@enchants[1],4763,4721,4700; //Evasion12 Dexterity2 Strength1
+ else if (.@i <= 2068) setarray .@enchants[1],4763,4721,4701; //Evasion12 Dexterity2 Strength2
+ else if (.@i <= 2079) setarray .@enchants[1],4763,4721,4730; //Evasion12 Dexterity2 Agility1
+ else if (.@i <= 2090) setarray .@enchants[1],4763,4721,4731; //Evasion12 Dexterity2 Agility2
+ else if (.@i <= 2101) setarray .@enchants[1],4763,4721,4740; //Evasion12 Dexterity2 Vitality1
+ else if (.@i <= 2112) setarray .@enchants[1],4763,4721,4741; //Evasion12 Dexterity2 Vitality2
+ else if (.@i <= 2123) setarray .@enchants[1],4763,4710,4700; //Evasion12 Inteligence1 Strength1
+ else if (.@i <= 2134) setarray .@enchants[1],4763,4710,4701; //Evasion12 Inteligence1 Strength2
+ else if (.@i <= 2145) setarray .@enchants[1],4763,4710,4730; //Evasion12 Inteligence1 Agility1
+ else if (.@i <= 2156) setarray .@enchants[1],4763,4710,4731; //Evasion12 Inteligence1 Agility2
+ else if (.@i <= 2167) setarray .@enchants[1],4763,4710,4740; //Evasion12 Inteligence1 Vitality1
+ else if (.@i <= 2178) setarray .@enchants[1],4763,4710,4741; //Evasion12 Inteligence1 Vitality2
+ else if (.@i <= 2189) setarray .@enchants[1],4763,4711,4700; //Evasion12 Inteligence2 Strength1
+ else if (.@i <= 2200) setarray .@enchants[1],4763,4711,4701; //Evasion12 Inteligence2 Strength2
+ else if (.@i <= 2211) setarray .@enchants[1],4763,4711,4730; //Evasion12 Inteligence2 Agility1
+ else if (.@i <= 2222) setarray .@enchants[1],4763,4711,4731; //Evasion12 Inteligence2 Agility2
+ else if (.@i <= 2233) setarray .@enchants[1],4763,4711,4740; //Evasion12 Inteligence2 Vitality1
+ else if (.@i <= 2244) setarray .@enchants[1],4763,4711,4741; //Evasion12 Inteligence2 Vitality2
+ else if (.@i <= 2255) setarray .@enchants[1],4763,4750,4700; //Evasion12 Luck1 Strength1
+ else if (.@i <= 2266) setarray .@enchants[1],4763,4750,4701; //Evasion12 Luck1 Strength2
+ else if (.@i <= 2277) setarray .@enchants[1],4763,4750,4730; //Evasion12 Luck1 Agility1
+ else if (.@i <= 2288) setarray .@enchants[1],4763,4750,4731; //Evasion12 Luck1 Agility2
+ else if (.@i <= 2299) setarray .@enchants[1],4763,4750,4740; //Evasion12 Luck1 Vitality1
+ else if (.@i <= 2310) setarray .@enchants[1],4763,4750,4741; //Evasion12 Luck1 Vitality2
+ else if (.@i <= 2321) setarray .@enchants[1],4763,4751,4700; //Evasion12 Luck2 Strength1
+ else if (.@i <= 2332) setarray .@enchants[1],4763,4751,4701; //Evasion12 Luck2 Strength2
+ else if (.@i <= 2343) setarray .@enchants[1],4763,4751,4730; //Evasion12 Luck2 Agility1
+ else if (.@i <= 2354) setarray .@enchants[1],4763,4751,4731; //Evasion12 Luck2 Agility2
+ else if (.@i <= 2365) setarray .@enchants[1],4763,4751,4740; //Evasion12 Luck2 Vitality1
+ else if (.@i <= 2376) setarray .@enchants[1],4763,4751,4741; //Evasion12 Luck2 Vitality2
+ else if (.@i <= 2387) setarray .@enchants[1],4760,4720,4700; //Matk1 Dexterity1 Strength1
+ else if (.@i <= 2398) setarray .@enchants[1],4760,4720,4701; //Matk1 Dexterity1 Strength2
+ else if (.@i <= 2409) setarray .@enchants[1],4760,4720,4730; //Matk1 Dexterity1 Agility1
+ else if (.@i <= 2420) setarray .@enchants[1],4760,4720,4731; //Matk1 Dexterity1 Agility2
+ else if (.@i <= 2431) setarray .@enchants[1],4760,4720,4740; //Matk1 Dexterity1 Vitality1
+ else if (.@i <= 2442) setarray .@enchants[1],4760,4720,4741; //Matk1 Dexterity1 Vitality2
+ else if (.@i <= 2453) setarray .@enchants[1],4760,4721,4700; //Matk1 Dexterity2 Strength1
+ else if (.@i <= 2464) setarray .@enchants[1],4760,4721,4701; //Matk1 Dexterity2 Strength2
+ else if (.@i <= 2475) setarray .@enchants[1],4760,4721,4730; //Matk1 Dexterity2 Agility1
+ else if (.@i <= 2486) setarray .@enchants[1],4760,4721,4731; //Matk1 Dexterity2 Agility2
+ else if (.@i <= 2497) setarray .@enchants[1],4760,4721,4740; //Matk1 Dexterity2 Vitality1
+ else if (.@i <= 2508) setarray .@enchants[1],4760,4721,4741; //Matk1 Dexterity2 Vitality2
+ else if (.@i <= 2519) setarray .@enchants[1],4760,4710,4700; //Matk1 Inteligence1 Strength1
+ else if (.@i <= 2530) setarray .@enchants[1],4760,4710,4701; //Matk1 Inteligence1 Strength2
+ else if (.@i <= 2541) setarray .@enchants[1],4760,4710,4730; //Matk1 Inteligence1 Agility1
+ else if (.@i <= 2552) setarray .@enchants[1],4760,4710,4731; //Matk1 Inteligence1 Agility2
+ else if (.@i <= 2563) setarray .@enchants[1],4760,4710,4740; //Matk1 Inteligence1 Vitality1
+ else if (.@i <= 2574) setarray .@enchants[1],4760,4710,4741; //Matk1 Inteligence1 Vitality2
+ else if (.@i <= 2585) setarray .@enchants[1],4760,4711,4700; //Matk1 Inteligence2 Strength1
+ else if (.@i <= 2596) setarray .@enchants[1],4760,4711,4701; //Matk1 Inteligence2 Strength2
+ else if (.@i <= 2607) setarray .@enchants[1],4760,4711,4730; //Matk1 Inteligence2 Agility1
+ else if (.@i <= 2618) setarray .@enchants[1],4760,4711,4731; //Matk1 Inteligence2 Agility2
+ else if (.@i <= 2629) setarray .@enchants[1],4760,4711,4740; //Matk1 Inteligence2 Vitality1
+ else if (.@i <= 2640) setarray .@enchants[1],4760,4711,4741; //Matk1 Inteligence2 Vitality2
+ else if (.@i <= 2651) setarray .@enchants[1],4760,4750,4700; //Matk1 Luck1 Strength1
+ else if (.@i <= 2662) setarray .@enchants[1],4760,4750,4701; //Matk1 Luck1 Strength2
+ else if (.@i <= 2673) setarray .@enchants[1],4760,4750,4730; //Matk1 Luck1 Agility1
+ else if (.@i <= 2684) setarray .@enchants[1],4760,4750,4731; //Matk1 Luck1 Agility2
+ else if (.@i <= 2695) setarray .@enchants[1],4760,4750,4740; //Matk1 Luck1 Vitality1
+ else if (.@i <= 2706) setarray .@enchants[1],4760,4750,4741; //Matk1 Luck1 Vitality2
+ else if (.@i <= 2717) setarray .@enchants[1],4760,4751,4700; //Matk1 Luck2 Strength1
+ else if (.@i <= 2728) setarray .@enchants[1],4760,4751,4701; //Matk1 Luck2 Strength2
+ else if (.@i <= 2739) setarray .@enchants[1],4760,4751,4730; //Matk1 Luck2 Agility1
+ else if (.@i <= 2750) setarray .@enchants[1],4760,4751,4731; //Matk1 Luck2 Agility2
+ else if (.@i <= 2761) setarray .@enchants[1],4760,4751,4740; //Matk1 Luck2 Vitality1
+ else if (.@i <= 2772) setarray .@enchants[1],4760,4751,4741; //Matk1 Luck2 Vitality2
+ else if (.@i <= 2783) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1
+ else if (.@i <= 2794) setarray .@enchants[1],4761,4720,4701; //Matk2 Dexterity1 Strength2
+ else if (.@i <= 2805) setarray .@enchants[1],4761,4720,4730; //Matk2 Dexterity1 Agility1
+ else if (.@i <= 2816) setarray .@enchants[1],4761,4720,4731; //Matk2 Dexterity1 Agility2
+ else if (.@i <= 2827) setarray .@enchants[1],4761,4720,4740; //Matk2 Dexterity1 Vitality1
+ else if (.@i <= 2838) setarray .@enchants[1],4761,4720,4741; //Matk2 Dexterity1 Vitality2
+ else if (.@i <= 2849) setarray .@enchants[1],4761,4721,4700; //Matk2 Dexterity2 Strength1
+ else if (.@i <= 2860) setarray .@enchants[1],4761,4721,4701; //Matk2 Dexterity2 Strength2
+ else if (.@i <= 2871) setarray .@enchants[1],4761,4721,4730; //Matk2 Dexterity2 Agility1
+ else if (.@i <= 2882) setarray .@enchants[1],4761,4721,4731; //Matk2 Dexterity2 Agility2
+ else if (.@i <= 2893) setarray .@enchants[1],4761,4721,4740; //Matk2 Dexterity2 Vitality1
+ else if (.@i <= 2904) setarray .@enchants[1],4761,4721,4741; //Matk2 Dexterity2 Vitality2
+ else if (.@i <= 2915) setarray .@enchants[1],4761,4710,4700; //Matk2 Inteligence1 Strength1
+ else if (.@i <= 2926) setarray .@enchants[1],4761,4710,4701; //Matk2 Inteligence1 Strength2
+ else if (.@i <= 2937) setarray .@enchants[1],4761,4710,4730; //Matk2 Inteligence1 Agility1
+ else if (.@i <= 2948) setarray .@enchants[1],4761,4710,4731; //Matk2 Inteligence1 Agility2
+ else if (.@i <= 2959) setarray .@enchants[1],4761,4710,4740; //Matk2 Inteligence1 Vitality1
+ else if (.@i <= 2970) setarray .@enchants[1],4761,4710,4741; //Matk2 Inteligence1 Vitality2
+ else if (.@i <= 2981) setarray .@enchants[1],4761,4711,4700; //Matk2 Inteligence2 Strength1
+ else if (.@i <= 2992) setarray .@enchants[1],4761,4711,4701; //Matk2 Inteligence2 Strength2
+ else if (.@i <= 3003) setarray .@enchants[1],4761,4711,4730; //Matk2 Inteligence2 Agility1
+ else if (.@i <= 3014) setarray .@enchants[1],4761,4711,4731; //Matk2 Inteligence2 Agility2
+ else if (.@i <= 3025) setarray .@enchants[1],4761,4711,4740; //Matk2 Inteligence2 Vitality1
+ else if (.@i <= 3036) setarray .@enchants[1],4761,4711,4741; //Matk2 Inteligence2 Vitality2
+ else if (.@i <= 3047) setarray .@enchants[1],4761,4750,4700; //Matk2 Luck1 Strength1
+ else if (.@i <= 3058) setarray .@enchants[1],4761,4750,4701; //Matk2 Luck1 Strength2
+ else if (.@i <= 3069) setarray .@enchants[1],4761,4750,4730; //Matk2 Luck1 Agility1
+ else if (.@i <= 3080) setarray .@enchants[1],4761,4750,4731; //Matk2 Luck1 Agility2
+ else if (.@i <= 3091) setarray .@enchants[1],4761,4750,4740; //Matk2 Luck1 Vitality1
+ else if (.@i <= 3102) setarray .@enchants[1],4761,4750,4741; //Matk2 Luck1 Vitality2
+ else if (.@i <= 3113) setarray .@enchants[1],4761,4751,4700; //Matk2 Luck2 Strength1
+ else if (.@i <= 3124) setarray .@enchants[1],4761,4751,4701; //Matk2 Luck2 Strength2
+ else if (.@i <= 3135) setarray .@enchants[1],4761,4751,4730; //Matk2 Luck2 Agility1
+ else if (.@i <= 3146) setarray .@enchants[1],4761,4751,4731; //Matk2 Luck2 Agility2
+ else if (.@i <= 3157) setarray .@enchants[1],4761,4751,4740; //Matk2 Luck2 Vitality1
+ else if (.@i <= 3168) setarray .@enchants[1],4761,4751,4741; //Matk2 Luck2 Vitality2
+ else if (.@i <= 3179) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1
+ else if (.@i <= 3181) setarray .@enchants[1],4761,4712,4712; //Matk2 Inteligence3 Inteligence3
+ else if (.@i <= 3183) setarray .@enchants[1],4765,4732,4732; //Critical7 Agility3 Agility3
+ else if (.@i <= 3185) setarray .@enchants[1],4763,4752,4753; //Evasion12 Luck3 Luck4
+ else if (.@i <= 3187) setarray .@enchants[1],4763,4742,4742; //Evasion12 Vitality3 Vitality3
+ else if (.@i <= 3189) setarray .@enchants[1],4763,4722,4722; //Evasion12 Dexterity3 Dexterity3
+ else if (.@i <= 3191) setarray .@enchants[1],4742,4742,4742; //Vitality3 Vitality3 Vitality3
+ else if (.@i <= 3193) setarray .@enchants[1],4761,4722,4722; //Matk2 Dexterity3 Dexterity3
+ else if (.@i <= 3195) setarray .@enchants[1],4767,4702,4702; //Atk3 Strength3 Strength3
+ else if (.@i <= 3197) setarray .@enchants[1],4763,4732,4732; //Evasion12 Agility3 Agility3
+ else if (.@i <= 4568) return 0;
+
+ getitem2 getarg(0),1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ return 1;
+}
+mora,105,176,4 script Master Tailor#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(15024) < 1) {
+ mes "[Master Tailor]";
+ mes "With my touch, I can turn a typical army padding into a piece of art. I'm Kay the Master Tailor, creating art with army paddings.";
+ next;
+ mes "[Master Tailor]";
+ mes "Well, what's in a name? I can turn your army padding into a piece of art if you bring ^ff00005 Mora Coins and an Army Padding^000000.";
+ if (countitem(6380)) {
+ next;
+ mes "[Master Tailor]";
+ mes "I happen to have a few army paddings in stock. Would you like to buy one? The price is 1 Mora Coin. So cheap.";
+ next;
+ switch(select("Maybe next time.:I'll buy one now.")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "Okay, I understand.";
+ mes "Come back for one if you change your mind.";
+ close;
+ case 2:
+ delitem 6380,1; //Mora_Coin
+ getitem 15024,1; //Army_Padding
+ mes "[Master Tailor]";
+ mes "Here it is.";
+ mes "It's very nice and fluffy. Please come back.";
+ close;
+ }
+ }
+ close;
+ }
+ mes "[Master Tailor]";
+ mes "Have you come to add art to one of your army paddings?";
+ next;
+ switch(select("Please tell me more.:Yes, I have.")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "A typical army padding isn't warm enough. It feels rough on your skin and doesn't look good. And artistic value? It has next to none.";
+ next;
+ mes "[Master Tailor]";
+ mes "However, I'll embroider it with velvet threads, and add three options to it.";
+ next;
+ mes "[Master Tailor]";
+ mes "Bring me ^8888005 Mora Coins^000000 and an Army Padding, and we can add some art together!";
+ close;
+ case 2:
+ mes "[Master Tailor]";
+ mes "I'm telling you just in case - I'll do whatever I need to do with your army padding, whether it's brand-new or has been mended before.";
+ next;
+ mes "[Master Tailor]";
+ mes "So if you have with you an army padding mended to your liking, put it in a safe place and come back.";
+ next;
+ mes "[Master Tailor]";
+ mes "And another thing - once I fail to add art to it, it becomes unusable... you'll need to buy a new one in that case.";
+ next;
+ switch(select("Come on, what's the rush?:Okay! Let's do it!!")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "What's wrong with you?";
+ mes "The villagers keep me busy enough.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(15024) == 0) {
+ mes "[Master Tailor]";
+ mes "It looks like you don't have everything you need.";
+ next;
+ mes "[Master Tailor]";
+ mes "You have to have 5 Mora Coins and an Army Padding with you before I can do my work.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",15024) == 0) {
+ mes "[Master Tailor]";
+ mes "Oh......";
+ mes "I can't believe I messed up.";
+ next;
+ mes "[Master Tailor]";
+ mes "I want to be alone. Go away!";
+ close;
+ }
+ mes "[Master Tailor]";
+ mes "My art looks great.";
+ close;
+ }
+ }
+}
+
+mora,123,177,6 script Pendant Crafter#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(2858) == 0) {
+ mes "[Pendant Crafter]";
+ mes "My job is to polish the stone in a Guardian's Pendant, and then carve a symbol with special power on it.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "The process gives the Guardian's Pendant more power than an ordinary accessory.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "If you're interested, I can work on your pendant for ^ff00005 Mora Coins^000000. Of course you need to have a Guardian's Pendant so I can work on with you.";
+ close;
+ }
+ mes "[Pendant Crafter]";
+ mes "Have you come to have your Guardian's Pendant upgraded?";
+ next;
+ switch(select("Please tell me more.:Yes, I have.")) {
+ case 1:
+ mes "[Pendant Crafter]";
+ mes "My job is to polish the stone in a Guardian's Pendant, and then carve a symbol with special power on it.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "The process gives the Guardian's Pendant more power than an ordinary accessory.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "If you're interested, I can work on your pendant for ^ff00005 Mora Coins^000000. Of course you need to have a Guardian's Pendant so I can work on with you.";
+ close;
+ case 2:
+ mes "[Pendant Crafter]";
+ mes "I'm telling you just in case - ";
+ mes "If I work on a Guardian's Pendant that's been upgraded before, it loses its original power.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "And worse, it can lose its power and become an ordinary pendant. Of course, stone is not as susceptible to damage as cloth, so you won't lose the pendant itself.";
+ next;
+ switch(select("Come on, what's the rush?:Okay! Let's do it!!")) {
+ case 1:
+ mes "[Pendant Crafter]";
+ mes "Come back when you're not in a hurry. I always have a lot of time on my hands.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(2858) == 0) {
+ mes "[Pendant Crafter]";
+ mes "It looks like you don't have everything you need.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "You must have 5 Mora Coins and a Guardian's Pendant with you before I can do my work.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",2858) == 0) {
+ getitem 2858,1; //Pendant_Of_Guardian
+ mes "[Pendant Crafter]";
+ mes "What~!!";
+ mes "What on earth is wrong with it!!";
+ close;
+ }
+ mes "[Pendant Crafter]";
+ mes "Looks like I did it!";
+ close;
+ }
+ }
+}
+
+mora,134,166,4 script Bulberry Westhood#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(2568) == 0) {
+ mes "[Bulberry Westhood]";
+ mes "I'm Bulberry Westhood, keeping the tradition of quality hoods alive.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "I only handle quality items - not random scarfs from a marketplace.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "If you have anything that you think is of high enough quality, come find me with ^ff00005 Mora Coins^000000.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "I can improve its high quality with my own hands.";
+ close;
+ }
+ mes "[Bulberry Westhood]";
+ mes "So you have a Loki's Scarf 1042 Special Edition. You really have an eye for quality. Can I start working on it right away?";
+ next;
+ switch(select("I don't get it.:Yes, please.")) {
+ case 1:
+ mes "[Bulberry Westhood]";
+ mes "Like I said, I only handle quality items - not random scarfs from a marketplace.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "This Loki's Scarf you have is awesome. It's a limited edition product with Loki's crest on it!";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "My specialty is bringing out the hidden power at the small cost of... ";
+ mes "5 Mora Coins.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Come back if you change your mind.";
+ close;
+ case 2:
+ mes "[Bulberry Westhood]";
+ mes "I'm telling you just in case - ";
+ mes "If I work on a Loki's Scarf that's been upgraded before, it loses its original power.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "And worse, it can lose all its power becoming an ordinary scarf.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Of course, the Loki's Scarf is a quality item, so you won't lose the scarf itself in the process.";
+ next;
+ switch(select("Maybe later, sir...:I'd like to own a quality item!")) {
+ case 1:
+ mes "[Bulberry Westhood]";
+ mes "Ha...!";
+ mes "You say 'later' when you can have the best quality item right away? Well, have it your own way.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(2568) == 0) {
+ mes "[Bulberry Westhood]";
+ mes "It looks like you don't everything you need.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "You must have 5 Mora Coins and a Loki's Scarf with you before you can have the best quality item.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",2568) == 0) {
+ getitem 2568,1; //Muffler_Of_Roki
+ mes "[Bulberry Westhood]";
+ mes "Aaarrgghh, this is impossible!";
+ mes "My! My Loki's Scarf!....";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Oh, I apologize for my disgraceful behavior. I was too upset.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Fortunately, it's still in its original state before I started working on it. It's not torn or stretched. It's a quality item after all. Oh ho ho~";
+ close;
+ }
+ mes "[Bulberry Westhood]";
+ mes "Wow~ mission complete!";
+ close;
+ }
+ }
+}
diff --git a/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt
index a9b9c2367..8eb987e08 100644
--- a/npc/re/merchants/flute.txt
+++ b/npc/re/merchants/flute.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Falcon & Wolf Flute Trader
-//===== By: ==================================================
+//===== By: ==================================================
//= Masao, Muad_Dib, Ziu
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
//= Sells Falcon Flute and Wolf Flute.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao]
//= 1.2 Added Wolf Flute trader, optimized. [Euphy]
-//============================================================
+//============================================================
- script Falcon Flute Trader::fflute -1,{
mes "[Falcon Flute Trader]";
diff --git a/npc/re/merchants/inn.txt b/npc/re/merchants/inn.txt
index e8eb922a5..14e1a2eff 100644
--- a/npc/re/merchants/inn.txt
+++ b/npc/re/merchants/inn.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Inn Npcs
//===== By: ==================================================
//= c, L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Inn Npcs, Save and Heal
//===== Additional Comments: =================================
diff --git a/npc/re/merchants/quivers.txt b/npc/re/merchants/quivers.txt
new file mode 100644
index 000000000..45e44401a
--- /dev/null
+++ b/npc/re/merchants/quivers.txt
@@ -0,0 +1,121 @@
+//===== rAthena Script =======================================
+//= Arrow Quivers
+//===== By: ==================================================
+//= Muad_Dib (Prometheus Project); L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Turns arrows into Arrow Quivers.
+// Breakdown of Subroutine "S_BuyQuiver"
+// arg(0): Type of Arrow to be packaged (item ID).
+// arg(1): How many of each 'getarg(0)' arrow per quiver.
+// arg(2): The cost of making a 'getarg(0)' quiver.
+// arg(3): The quiver given by the NPC (item ID).
+//===== Additional Comments: =================================
+//= 1.0 Added Mora NPC. [Euphy]
+//= 1.1 Updated to match the official scripts. [Euphy]
+//============================================================
+
+mora,106,117,3 script Quiver Maker#mora 516,{
+ if (checkweight(1201,1) == 0) {
+ mes "[Quiver Maker]";
+ mes "You have too many things with you.";
+ mes "Make some space in your inventory and come back. I'll tell you something interesting.";
+ close;
+ }
+ if (MaxWeight - Weight < 2000) {
+ mes "[Quiver Maker]";
+ mes "You seem worn out with all that stuff.";
+ mes "Make some space in your inventory and come back. I'll tell you something interesting.";
+ close;
+ }
+ mes "[Quiver Maker]";
+ mes "Mora villagers ask what good quivers are. They just don't know how the world works.";
+ mes "No wonder they don't know a thing about quivers - spreading jam over leaves all day long.";
+ next;
+ switch(select("Please make me a quiver.:What's a quiver?")) {
+ case 1:
+ mes "[Quiver Maker]";
+ mes "At last someone appreciates a quiver!";
+ mes "I can make Elven Quivers and Hunting Quivers.";
+ mes "Which do you need?";
+ next;
+ switch(select("An Elven Quiver:A Hunting Quiver:I don't need a quiver.")) {
+ case 1: callsub S_BuyQuiver,1773,500,500,12575; //Arrow_Of_Elf_Cntr
+ case 2: callsub S_BuyQuiver,1774,500,500,12576; //Hunting_Arrow_Cntr
+ case 3:
+ mes "[Quiver Maker]";
+ mes "You can buy arrows off the tool merchant next to me.";
+ close;
+ }
+ case 2:
+ mes "[Quiver Maker]";
+ mes "An arrow may be thin and light, but carrying hundreds and thousands of arrows is like carrying a whole log.";
+ next;
+ mes "[Quiver Maker]";
+ mes "But when you have quivers, you can put arrows in them and save weight and space.";
+ mes "If you're interested in one, I'll stitch one up for you.";
+ close;
+ }
+ end;
+
+S_BuyQuiver:
+ if (countitem(getarg(0)) < getarg(1)) {
+ mes "[Quiver Maker]";
+ mes "Bring more than "+getarg(1)+" "+getitemname(getarg(0))+" and I'll make you a quiver.";
+ close;
+ }
+ mes "[Quiver Maker]";
+ mes "Oh, I see you have "+getitemname(getarg(0))+" in your hand!";
+ mes "Are you interested in using a quiver? It's really convenient!";
+ mes "If you're interested, I can trade "+getarg(1)+" of those arrows for one of these quivers for ^FF3131"+getarg(2)+" zeny^000000.";
+ next;
+ switch(select("Trade all the arrows you have:Get only one quiver:Don't trade")) {
+ case 1:
+ set .@arrows, countitem(getarg(0));
+ set .@quiver, .@arrows / getarg(1);
+ set .@arrows_used, .@quiver * getarg(1);
+ set .@arrow_zeny01, .@quiver * getarg(2);
+ mes "The number of arrows you have : ^3131FF"+.@arrows+"^000000";
+ mes "The number of quivers available : ^3131FF"+.@quiver+"^000000";
+ mes "Zeny needed for trade : ^3131FF"+.@arrow_zeny01+" zeny^000000";
+ next;
+ mes "Trade?";
+ next;
+ if(select("Trade:Don't trade") == 2) {
+ mes "[Quiver Maker]";
+ mes "Hey, you don't doubt my skills, do you?";
+ close;
+ }
+ break;
+ case 2:
+ set .@quiver, 1;
+ set .@arrows_used, getarg(1);
+ set .@arrow_zeny01, getarg(2);
+ set .@zeny_mes,1;
+ break;
+ case 3:
+ mes "[Quiver Maker]";
+ mes "Hey, you don't doubt my skills, do you?";
+ close;
+ }
+ if (Zeny < .@arrow_zeny01) {
+ mes "[Quiver Maker]";
+ if (.@zeny_mes == 1)
+ mes "I said I'd accept human coins just for you, and you still don't want to spend the money?";
+ else
+ mes "You really don't expect to get your hands on a masterpiece for nothing, do you?";
+ close;
+ }
+ mes "[Quiver Maker]";
+ mes "Hey, here you are.";
+ mes "There is ^3131FFsomething you need to know^000000 - try to remember it.";
+ mes "^FF0000You can't use quivers when your encumbrance is over 70%.^000000";
+ mes "You'd better keep that in mind, or you might be in trouble later.";
+ set Zeny, Zeny-.@arrow_zeny01;
+ delitem getarg(0),.@arrows_used;
+ getitem getarg(3),.@quiver;
+ close;
+}
diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt
index 4b02e0d22..27a09fce7 100644
--- a/npc/re/merchants/refine.txt
+++ b/npc/re/merchants/refine.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Renewal Refining NPCs
//===== By: ==================================================
-//= rAthena Dev Team
+//= Hercules Dev Team
//===== Current Version: =====================================
//= 1.0a
//===== Compatible With: =====================================
diff --git a/npc/re/merchants/renters.txt b/npc/re/merchants/renters.txt
index 0e4864bb2..e4f1a02c7 100644
--- a/npc/re/merchants/renters.txt
+++ b/npc/re/merchants/renters.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Renters
//===== By: ==================================================
-//= rAthena Dev Team
+//= Hercules Dev Team
//===== Current Version: =====================================
//= 2.1
//===== Description: =========================================
diff --git a/npc/re/merchants/shops.txt b/npc/re/merchants/shops.txt
index 35b1baf95..b27e5cc1d 100644
--- a/npc/re/merchants/shops.txt
+++ b/npc/re/merchants/shops.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Shops
//===== By: ==================================================
-//= rAthena Dev Team
+//= Hercules Dev Team
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
diff --git a/npc/re/mobs/dungeons/dew_dun.txt b/npc/re/mobs/dungeons/dew_dun.txt
index 809295e0c..1080a1cf1 100644
--- a/npc/re/mobs/dungeons/dew_dun.txt
+++ b/npc/re/mobs/dungeons/dew_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script ========================================
+//===== Hercules Script ======================================
//= Dewata Dungeon Monster Spawn Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Official kRO monster spawns
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/dic_dun.txt b/npc/re/mobs/dungeons/dic_dun.txt
index e259f0465..f173fec0e 100644
--- a/npc/re/mobs/dungeons/dic_dun.txt
+++ b/npc/re/mobs/dungeons/dic_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script ========================================
+//===== Hercules Script ======================================
//= El Dicastes Dungeon Monster Spawn Script
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Official monster spawns in El Dicastes Dungeon.
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/ein_dun.txt b/npc/re/mobs/dungeons/ein_dun.txt
index 587e3df60..3efcd52f6 100644
--- a/npc/re/mobs/dungeons/ein_dun.txt
+++ b/npc/re/mobs/dungeons/ein_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Einbech Mine Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 spawn N and spawn delays aren't yet correct, so I set
//= respawn delays quite big for now [Lupus]
diff --git a/npc/re/mobs/dungeons/gef_dun.txt b/npc/re/mobs/dungeons/gef_dun.txt
index babb96d55..d6da72c1c 100644
--- a/npc/re/mobs/dungeons/gef_dun.txt
+++ b/npc/re/mobs/dungeons/gef_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Geffen Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//= 1.3 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/gefenia.txt b/npc/re/mobs/dungeons/gefenia.txt
index b10f90e34..89e943312 100644
--- a/npc/re/mobs/dungeons/gefenia.txt
+++ b/npc/re/mobs/dungeons/gefenia.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Geffenia Dungeon Monster Spawn Script
//===== By: ==================================================
-//= Muad_Dib, rAthena Dev Team
+//= Muad_Dib, Hercules Dev Team
//===== Current Version: =====================================
//= 1.1
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/glastheim.txt b/npc/re/mobs/dungeons/glastheim.txt
index cbe5a31b7..d23154de2 100644
--- a/npc/re/mobs/dungeons/glastheim.txt
+++ b/npc/re/mobs/dungeons/glastheim.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Glast Heim Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 [Lupus]
//= 1.2 Updated to ep 8.5 aegis spawns [MasterOfMuppets]
diff --git a/npc/re/mobs/dungeons/gld_dun.txt b/npc/re/mobs/dungeons/gld_dun.txt
deleted file mode 100644
index cb06564e2..000000000
--- a/npc/re/mobs/dungeons/gld_dun.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-//===== rAthena Script =======================================
-//= Guild Dungeons Monster Spawn Script
-//===== By: ==================================================
-//= Athena (1.0)
-//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Any Athena Version
-//===== Additional Comments: =================================
-//= 1.2 Official kRO 10.1 spawns [Playtester]
-//= 1.3 Corrected MVP spawn variance. [Gepard]
-//============================================================
-
-//==================================================
-// gld_dun01 - Guild Dungeon
-//==================================================
-gld_dun01,0,0,0,0 monster Am Mut 1301,20,5000,0,0
-gld_dun01,0,0,0,0 monster Skeleton General 1290,10,5000,0,0
-gld_dun01,0,0,0,0 monster Gajomart 1309,10,5000,0,0
-gld_dun01,0,0,0,0 monster Cat o' Nine Tails 1307,3,1200000,0,0
-gld_dun01,0,0,0,0 monster Vagabond Wolf 1092,1,14400000,7200000,1
-gld_dun01,0,0,0,0 boss_monster Eddga 1115,1,28800000,600000,1
-
-//==================================================
-// gld_dun02 - Guild Dungeon
-//==================================================
-gld_dun02,0,0,0,0 monster Giant Hornet 1303,10,120000,60000,0
-gld_dun02,0,0,0,0 monster Giant Spider 1304,10,240000,120000,0
-gld_dun02,0,0,0,0 monster Ancient Worm 1305,7,120000,60000,0
-gld_dun02,0,0,0,0 monster Killer Mantis 1294,5,120000,60000,0
-gld_dun02,0,0,0,0 monster Owl Baron 1295,1,5000,0,0
-gld_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,28800000,600000,1
-
-//==================================================
-// gld_dun03 - Guild Dungeon
-//==================================================
-gld_dun03,0,0,0,0 monster Caterpillar 1300,20,5000,0,0
-gld_dun03,0,0,0,0 monster Creamy Fear 1293,20,5000,0,0
-gld_dun03,0,0,0,0 monster Leib Olmai 1306,20,5000,0,0
-gld_dun03,0,0,0,0 monster Gullinbursti 1311,10,5000,0,0
-gld_dun03,0,0,0,0 monster Maya Purple 1289,3,1200000,600000,0
-gld_dun03,0,0,0,0 boss_monster Maya 1147,1,28800000,600000,1
-
-//==================================================
-// gld_dun04 - Guild Dungeon
-//==================================================
-gld_dun04,0,0,0,0 monster Zombie Master 1298,29,5000,0,0
-gld_dun04,0,0,0,0 monster Wraith Dead 1291,27,5000,0,0
-gld_dun04,0,0,0,0 monster Mini Demon 1292,3,5000,0,0
-gld_dun04,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0
-gld_dun04,0,0,0,0 monster Ghostring 1120,1,14400000,7200000,1
-gld_dun04,0,0,0,0 boss_monster Dark Lord 1272,1,28800000,600000,1
diff --git a/npc/re/mobs/dungeons/gld_dunSE.txt b/npc/re/mobs/dungeons/gld_dunSE.txt
index 488875380..52d5bd0e5 100644
--- a/npc/re/mobs/dungeons/gld_dunSE.txt
+++ b/npc/re/mobs/dungeons/gld_dunSE.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Guild Dungeons Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version
//= 1.1 Updated spawns to official. [L0ne_W0lf]
diff --git a/npc/re/mobs/dungeons/gld_re.txt b/npc/re/mobs/dungeons/gld_re.txt
new file mode 100644
index 000000000..1280755a7
--- /dev/null
+++ b/npc/re/mobs/dungeons/gld_re.txt
@@ -0,0 +1,100 @@
+//===== Hercules Script ======================================
+//= Renewal Guild Monster Spawn Script
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Hercules
+//===== Additional Comments: =================================
+//= 1.0 First version, Hall of Abyss update. [Euphy]
+//============================================================
+
+//==================================================
+// Baldur - gld_dun01, gld_dun01_2, gld2_pay
+//==================================================
+gld_dun01,0,0,0,0 monster Gullinbursti 1311,30,5000,0,0
+gld_dun01,0,0,0,0 monster Leib Olmai 1306,55,5000,0,0
+gld_dun01,0,0,0,0 monster Cat O' Nine Tails 1307,3,1200000,0,0
+gld_dun01,0,0,0,0 boss_monster Moonlight Flower 1150,1,28800000,600000,1
+
+gld_dun01_2,0,0,0,0 monster Skeleton General 1290,50,5000,0,0
+gld_dun01_2,0,0,0,0 monster Am Mut 1301,15,5000,0,0
+gld_dun01_2,0,0,0,0 monster Gajomart 1309,20,5000,0,0
+gld_dun01_2,0,0,0,0 boss_monster Eddga 1115,1,28800000,600000,1
+
+gld2_pay,0,0,0,0 monster Skeleton General 1290,60,5000,0,0
+gld2_pay,0,0,0,0 monster Am Mut 1301,25,5000,0,0
+gld2_pay,0,0,0,0 monster Gajomart 1309,30,5000,0,0
+gld2_pay,0,0,0,0 boss_monster General Daehyun 2253,1,28800000,600000,1
+gld2_pay,0,0,0,0 monster Samurai Soheon 2254,1,1800000,600000,1
+
+//==================================================
+// Luina - gld_dun02, gld_dun02_2, gld2_ald
+//==================================================
+gld_dun02,0,0,0,0 monster Giant Hornet 1303,30,5000,0,0
+gld_dun02,0,0,0,0 monster Ancient Worm 1305,25,5000,0,0
+gld_dun02,0,0,0,0 monster Giant Spider 1304,15,5000,0,0
+gld_dun02,0,0,0,0 boss_monster Mistress 1059,1,28800000,600000,1
+
+gld_dun02_2,0,0,0,0 monster Killer Mantis 1294,30,5000,0,0
+gld_dun02_2,0,0,0,0 monster Angra Mantis 2133,40,5000,0,0
+gld_dun02_2,0,0,0,0 monster Maya Purple 1289,3,1200000,600000,0
+gld_dun02_2,0,0,0,0 boss_monster Maya 1147,1,28800000,600000,1
+
+gld2_ald,0,0,0,0 monster Killer Mantis 1294,60,5000,0,0
+gld2_ald,0,0,0,0 monster Angra Mantis 2133,70,5000,0,0
+gld2_ald,0,0,0,0 monster Maya Purple 1289,3,1200000,0,0
+gld2_ald,0,0,0,0 boss_monster Gioia 2251,1,28800000,600000,1
+gld2_ald,0,0,0,0 monster Elvira 2252,1,1800000,600000,1
+
+//==================================================
+// Valkyrie - gld_dun03, gld_dun03_02, gld2_prt
+//==================================================
+gld_dun03,0,0,0,0 monster Caterpillar 1300,35,5000,0,0
+gld_dun03,0,0,0,0 monster Creamy Fear 1293,35,5000,0,0
+gld_dun03,0,0,0,0 boss_monster Baphomet 1039,1,28800000,600000,1
+
+gld_dun03_2,0,0,0,0 monster Dark Axe Kobold 2284,13,5000,0,0
+gld_dun03_2,0,0,0,0 monster Dark Hammer Kobold 2285,23,5000,0,0
+gld_dun03_2,0,0,0,0 monster Dark Mace Kobold 2286,23,5000,0,0
+gld_dun03_2,0,0,0,0 monster Dark Kobold Archer 2287,23,5000,0,0
+gld_dun03_2,0,0,0,0 monster Kobold Leader 1296,1,14400000,7200000,1
+gld_dun03_2,0,0,0,0 boss_monster Atroce 1785,1,28800000,600000,1
+
+gld2_prt,0,0,0,0 monster Dark Axe Kobold 2284,25,5000,0,0
+gld2_prt,0,0,0,0 monster Dark Hammer Kobold 2285,35,5000,0,0
+gld2_prt,0,0,0,0 monster Dark Mace Kobold 2286,35,5000,0,0
+gld2_prt,0,0,0,0 monster Dark Kobold Archer 2287,35,5000,0,0
+gld2_prt,0,0,0,0 boss_monster Angry Student Pyuriel 2249,1,28800000,600000,1
+gld2_prt,0,0,0,0 monster Warrior Laura 2250,1,1800000,600000,1
+
+//==================================================
+// Britoniah - gld_dun04, gld_dun04_02, gld2_gef
+//==================================================
+gld_dun04,0,0,0,0 monster Mini Demon 1292,10,5000,0,0
+gld_dun04,0,0,0,0 monster Zombie Master 1298,55,5000,0,0
+gld_dun04,0,0,0,0 monster Wraith Dead 1291,25,5000,0,0
+gld_dun04,0,0,0,0 monster Ghostring 1120,1,14400000,7200000,1
+gld_dun04,0,0,0,0 boss_monster Doppelganger 1046,1,28800000,600000,1
+
+gld_dun04_2,0,0,0,0 monster Dark Frame 2282,15,5000,0,0
+gld_dun04_2,0,0,0,0 monster Dark Priest 2283,15,5000,0,0
+gld_dun04_2,0,0,0,0 monster Dark Shadow 2281,45,5000,0,0
+gld_dun04_2,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0
+gld_dun04_2,0,0,0,0 boss_monster Dark Lord 1272,1,28800000,600000,1
+
+gld2_gef,0,0,0,0 monster Dark Frame 2282,20,5000,0,0
+gld2_gef,0,0,0,0 monster Dark Priest 2283,20,5000,0,0
+gld2_gef,0,0,0,0 monster Dark Shadow 2281,80,5000,0,0
+gld2_gef,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0
+gld2_gef,0,0,0,0 boss_monster Dark Guardian Kades 2255,1,28800000,600000,1
+gld2_gef,0,0,0,0 monster Rudo 2256,1,1800000,600000,1
+
+//==================================================
+// Treasure Chests
+//==================================================
+gld2_pay,0,0,0,0 monster Treasure Chest 2288,5,5000,0,0
+gld2_ald,0,0,0,0 monster Treasure Chest 2288,5,5000,0,0
+gld2_prt,0,0,0,0 monster Treasure Chest 2288,5,5000,0,0
+gld2_gef,0,0,0,0 monster Treasure Chest 2288,5,5000,0,0
diff --git a/npc/re/mobs/dungeons/gon_dun.txt b/npc/re/mobs/dungeons/gon_dun.txt
index 98958a4dc..19e7ee3db 100644
--- a/npc/re/mobs/dungeons/gon_dun.txt
+++ b/npc/re/mobs/dungeons/gon_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Gonryun Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf]
diff --git a/npc/re/mobs/dungeons/ice_dun.txt b/npc/re/mobs/dungeons/ice_dun.txt
index 418006267..11513ecd5 100644
--- a/npc/re/mobs/dungeons/ice_dun.txt
+++ b/npc/re/mobs/dungeons/ice_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Ice Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version from jAthena [Playtester]
//= 1.1 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/in_sphinx.txt b/npc/re/mobs/dungeons/in_sphinx.txt
index 7263f38d9..c93a13cdc 100644
--- a/npc/re/mobs/dungeons/in_sphinx.txt
+++ b/npc/re/mobs/dungeons/in_sphinx.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morocc Sphinx Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 Replaced Marduk with Anubis on F4 and F5 [Playtester]
diff --git a/npc/re/mobs/dungeons/iz_dun.txt b/npc/re/mobs/dungeons/iz_dun.txt
index 8518d020d..8d4fad684 100644
--- a/npc/re/mobs/dungeons/iz_dun.txt
+++ b/npc/re/mobs/dungeons/iz_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Byalan Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns for 1-4 [Playtester]
//= 1.2 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/juperos.txt b/npc/re/mobs/dungeons/juperos.txt
index efa7bece7..28c53f174 100644
--- a/npc/re/mobs/dungeons/juperos.txt
+++ b/npc/re/mobs/dungeons/juperos.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Juperos Dungeon Monster Spawn Script
//===== By: ==================================================
-// The Prometheus Project, rAthena Dev Team
+// The Prometheus Project, Hercules Dev Team
//===== Current Version: =====================================
//= 1.4
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/kh_dun.txt b/npc/re/mobs/dungeons/kh_dun.txt
index 9965585dd..a882550c8 100644
--- a/npc/re/mobs/dungeons/kh_dun.txt
+++ b/npc/re/mobs/dungeons/kh_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Kiel Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version [MasterOfMuppets]
//= 1.1 Added official mob types [Playtester]
diff --git a/npc/re/mobs/dungeons/lhz_dun.txt b/npc/re/mobs/dungeons/lhz_dun.txt
index be3e34989..d723a8d67 100644
--- a/npc/re/mobs/dungeons/lhz_dun.txt
+++ b/npc/re/mobs/dungeons/lhz_dun.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Lighthalzen Dungeon(Biolabs) Monster Spawn Script
//===== By: ==================================================
-// The Prometheus Project, rAthena Dev Team
+// The Prometheus Project, Hercules Dev Team
//===== Current Version: =====================================
//= 1.9
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/lou_dun.txt b/npc/re/mobs/dungeons/lou_dun.txt
index 46c40fa30..f5e276757 100644
--- a/npc/re/mobs/dungeons/lou_dun.txt
+++ b/npc/re/mobs/dungeons/lou_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Louyang Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Updated by MasterOfMuppets
//= 1.2 Added Bacsojin and Chung E [MasterOfMuppets]
diff --git a/npc/re/mobs/dungeons/ma_dun.txt b/npc/re/mobs/dungeons/ma_dun.txt
index 0794e0d59..f7028e579 100644
--- a/npc/re/mobs/dungeons/ma_dun.txt
+++ b/npc/re/mobs/dungeons/ma_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script ========================================
+//===== Hercules Script ======================================
//= Malaya Port Dungeon Monster Spawn Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Official kRO monster spawns
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/mag_dun.txt b/npc/re/mobs/dungeons/mag_dun.txt
index 7fce2de53..562633a5d 100644
--- a/npc/re/mobs/dungeons/mag_dun.txt
+++ b/npc/re/mobs/dungeons/mag_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Magma Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 fixed 2,3,4 tabs instead of 1... and wrong mob names [Lupus]
//= 1.2 Official jRO 10.3 spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/mal_dun.txt b/npc/re/mobs/dungeons/mal_dun.txt
index 79efeecbf..9bcfc8132 100644
--- a/npc/re/mobs/dungeons/mal_dun.txt
+++ b/npc/re/mobs/dungeons/mal_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script ========================================
+//===== Hercules Script ======================================
//= Malangdo Dungeon Monster Spawn Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Official kRO monster spawns
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/mjo_dun.txt b/npc/re/mobs/dungeons/mjo_dun.txt
index 435678446..4e100d161 100644
--- a/npc/re/mobs/dungeons/mjo_dun.txt
+++ b/npc/re/mobs/dungeons/mjo_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Coal Mine(Dead pit) Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//============================================================
diff --git a/npc/re/mobs/dungeons/moc_pryd.txt b/npc/re/mobs/dungeons/moc_pryd.txt
index e082fec52..dcd5197f1 100644
--- a/npc/re/mobs/dungeons/moc_pryd.txt
+++ b/npc/re/mobs/dungeons/moc_pryd.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morocc Pryamid Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/mosk_dun.txt b/npc/re/mobs/dungeons/mosk_dun.txt
index b340ccb12..64dbc9245 100644
--- a/npc/re/mobs/dungeons/mosk_dun.txt
+++ b/npc/re/mobs/dungeons/mosk_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Moscovia Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 Added spawns [Playtester]
//= 1.1 Swapped named according to mob db. [L0ne_W0lf]
diff --git a/npc/re/mobs/dungeons/nyd_dun.txt b/npc/re/mobs/dungeons/nyd_dun.txt
index 8d10e2631..7b8dbd156 100644
--- a/npc/re/mobs/dungeons/nyd_dun.txt
+++ b/npc/re/mobs/dungeons/nyd_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Yggdrasil Root Dungeon
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version
//============================================================
diff --git a/npc/re/mobs/dungeons/odin.txt b/npc/re/mobs/dungeons/odin.txt
index b7a9038ca..cf9f046bb 100644
--- a/npc/re/mobs/dungeons/odin.txt
+++ b/npc/re/mobs/dungeons/odin.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Odin Temple Monster Spawn Script
//===== By: ==================================================
//= Poki#3 (0.1)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 Updated by using Tharis' Homun AI, by Tharis [Vicious]
//= 1.1 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/orcsdun.txt b/npc/re/mobs/dungeons/orcsdun.txt
index 3a011ec5d..6c0ecee54 100644
--- a/npc/re/mobs/dungeons/orcsdun.txt
+++ b/npc/re/mobs/dungeons/orcsdun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Orc Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//============================================================
diff --git a/npc/re/mobs/dungeons/pay_dun.txt b/npc/re/mobs/dungeons/pay_dun.txt
index eade9ece2..83639ca2c 100644
--- a/npc/re/mobs/dungeons/pay_dun.txt
+++ b/npc/re/mobs/dungeons/pay_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Payon Cave Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 Small spawn update [Playtester]
diff --git a/npc/re/mobs/dungeons/prt_maze.txt b/npc/re/mobs/dungeons/prt_maze.txt
index 169127050..6feea8a0a 100644
--- a/npc/re/mobs/dungeons/prt_maze.txt
+++ b/npc/re/mobs/dungeons/prt_maze.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Prontera Maze(Hidden Temple) Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//= 1.3 Some small fixes [Playtester]
diff --git a/npc/re/mobs/dungeons/prt_sew.txt b/npc/re/mobs/dungeons/prt_sew.txt
index 23a10de97..6fd21922d 100644
--- a/npc/re/mobs/dungeons/prt_sew.txt
+++ b/npc/re/mobs/dungeons/prt_sew.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Prontera Sewers(Culvert) Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 Corrected MVP spawn variance. [L0ne_W0lf]
diff --git a/npc/re/mobs/dungeons/ra_san.txt b/npc/re/mobs/dungeons/ra_san.txt
index 46b4f255b..b5f764b70 100644
--- a/npc/re/mobs/dungeons/ra_san.txt
+++ b/npc/re/mobs/dungeons/ra_san.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Rachel Sanctuary Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version with guessed amounts [Playtester]
//= 1.1 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/tha_t.txt b/npc/re/mobs/dungeons/tha_t.txt
index 681f086d8..789a71cdd 100644
--- a/npc/re/mobs/dungeons/tha_t.txt
+++ b/npc/re/mobs/dungeons/tha_t.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Thanatos Tower Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 Real spawns by Poki#3 [Nexon]
//= 1.1 More official spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/thor_v.txt b/npc/re/mobs/dungeons/thor_v.txt
index 077ada870..2d3867f5b 100644
--- a/npc/re/mobs/dungeons/thor_v.txt
+++ b/npc/re/mobs/dungeons/thor_v.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script ========================================
+//===== Hercules Script ======================================
//= Thor Volcano Monster Spawn Script
//===== By: ==================================================
//= Playtester
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Official monster spawn in Thor Volcano Dungeon.
//===== Additional Comments: =================================
diff --git a/npc/re/mobs/dungeons/treasure.txt b/npc/re/mobs/dungeons/treasure.txt
index e4073cfba..25d8caf60 100644
--- a/npc/re/mobs/dungeons/treasure.txt
+++ b/npc/re/mobs/dungeons/treasure.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Sunken Ship Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/tur_dun.txt b/npc/re/mobs/dungeons/tur_dun.txt
index 467bee819..a73fc3d1b 100644
--- a/npc/re/mobs/dungeons/tur_dun.txt
+++ b/npc/re/mobs/dungeons/tur_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Turtle Island Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//============================================================
diff --git a/npc/re/mobs/dungeons/xmas_dun.txt b/npc/re/mobs/dungeons/xmas_dun.txt
index eeca02eef..f3c6d8859 100644
--- a/npc/re/mobs/dungeons/xmas_dun.txt
+++ b/npc/re/mobs/dungeons/xmas_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Toy Factory Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.1 added Garm Baby according to May 10 patch
//= 1.2 Official kRO 10.1 spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/yggdrasil.txt b/npc/re/mobs/dungeons/yggdrasil.txt
index b3d401ac5..9fb13a6b6 100644
--- a/npc/re/mobs/dungeons/yggdrasil.txt
+++ b/npc/re/mobs/dungeons/yggdrasil.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Yggdrasil Tree Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Additional Comments: =================================
//= 1.0 Splitted from Nifflheim fields [DracoRPG]
//= 1.1 Official kRO 10.1 spawns [Playtester]
diff --git a/npc/re/mobs/fields/bifrost.txt b/npc/re/mobs/fields/bifrost.txt
index b8c28bf49..04667acb0 100644
--- a/npc/re/mobs/fields/bifrost.txt
+++ b/npc/re/mobs/fields/bifrost.txt
@@ -9,27 +9,28 @@
//===== Additional Comments: =================================
//= 1.0 First Release
//= 1.1 Added more accurate 1@mist monsters
+//= 1.2 Renewal spawn update. [Euphy]
//============================================================
//==================================================
// bif_fild01 - Bifrost South
//==================================================
-bif_fild01,0,0,0,0 monster Luciola Vespa 1994,25,0,0,0
-bif_fild01,0,0,0,0 monster Cornus 1992,15,0,0,0
-bif_fild01,0,0,0,0 monster Pom Spider 2132,5,0,0,0
-bif_fild01,0,0,0,0 monster Angra Mantis 2133,5,0,0,0
-bif_fild01,0,0,0,0 monster Little Fatum 2136,30,0,0,0
-bif_fild01,0,0,0,0 monster Miming 2137,50,0,0,0
+bif_fild01,0,0,0,0 monster Luciola Vespa 1994,29,5000,0,0
+bif_fild01,0,0,0,0 monster Cornus 1992,17,5000,0,0
+bif_fild01,0,0,0,0 monster Miming 2137,58,5000,0,0
+bif_fild01,0,0,0,0 monster Little Fatum 2136,34,5000,0,0
+bif_fild01,0,0,0,0 monster Angra Mantis 2133,5,5000,0,0
+bif_fild01,0,0,0,0 monster Pom Spider 2132,5,5000,0,0
//==================================================
// bif_fild02 - Bifrost North
//==================================================
-bif_fild02,0,0,0,0 monster Luciola Vespa 1994,25,0,0,0
-bif_fild02,0,0,0,0 monster Cornus 1992,15,0,0,0
-bif_fild02,0,0,0,0 monster Pom Spider 2132,5,0,0,0
-bif_fild02,0,0,0,0 monster Angra Mantis 2133,5,0,0,0
-bif_fild02,0,0,0,0 monster Little Fatum 2136,50,0,0,0
-bif_fild02,0,0,0,0 monster Miming 2137,30,0,0,0
+bif_fild02,0,0,0,0 monster Luciola Vespa 1994,27,5000,0,0
+bif_fild02,0,0,0,0 monster Cornus 1992,16,5000,0,0
+bif_fild02,0,0,0,0 monster Miming 2137,33,5000,0,0
+bif_fild02,0,0,0,0 monster Little Fatum 2136,55,5000,0,0
+bif_fild02,0,0,0,0 monster Angra Mantis 2133,5,5000,0,0
+bif_fild02,0,0,0,0 monster Pom Spider 2132,5,5000,0,0
//==================================================
// 1@mist - Forest Maze of Mists
diff --git a/npc/re/mobs/fields/lighthalzen.txt b/npc/re/mobs/fields/lighthalzen.txt
index 8a9dbead3..92cbad659 100644
--- a/npc/re/mobs/fields/lighthalzen.txt
+++ b/npc/re/mobs/fields/lighthalzen.txt
@@ -1,7 +1,7 @@
//===== Hercules Script ======================================
//= Lighthalzen Fields Monster Spawn Script
//===== By: ==================================================
-//= Muad_Dib, rAthena Dev Team
+//= Muad_Dib, Hercules Dev Team
//===== Current Version: =====================================
//= 1.6
//===== Additional Comments: =================================
diff --git a/npc/re/other/mercenary_rent.txt b/npc/re/other/mercenary_rent.txt
index 0b065208d..0e92f8fc2 100644
--- a/npc/re/other/mercenary_rent.txt
+++ b/npc/re/other/mercenary_rent.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mercenary related NPCs
//===== By: ==================================================
//= Daegaladh
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Sells Lancer, Sword, and Archer mercenaries,
//= along with related mercenary items.
diff --git a/npc/re/quests/cupet.txt b/npc/re/quests/cupet.txt
index ac19d237d..c2ba9fec7 100644
--- a/npc/re/quests/cupet.txt
+++ b/npc/re/quests/cupet.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Cute Pet Manager
//===== By: ==================================================
//= Z3R0
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Aegis Conversion]
//= Exchanges Hunted Items for Tames
diff --git a/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt
index d4599c557..c503a274b 100644
--- a/npc/re/quests/eden/56-70.txt
+++ b/npc/re/quests/eden/56-70.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.4
+//= 2.1
//===== Description: =========================================
//= Repetable Quests for Players between Baselevel 56 - 70.
//===== Additional Comments: =================================
@@ -12,1076 +12,355 @@
//= 1.2 Added checkquest confirmation for -1. [Euphy]
//= 1.3 Fixed Puppet Master's Agony Quest (12217 -> 3259). [Joseph]
//= 1.4 Fixed invalid check (Magic Wand Quest). [Joseph]
+//= 2.0 Optimised [Zopokx]
+//= 2.1 Fixed some errors using Euphy's reference [Zopokx]
//============================================================
moc_para01,42,38,3 script Mission [56 - 70] 857,{
- if (checkquest(12217) > -1) erasequest 12217;
- if (countitem(6219)) {
- mes "Here is the list of various adventures for level 55~70 adventurers.";
- next;
- mes "Lots of missions such as a Monster Hunting, Delivery Goods, Finding People.";
- next;
- switch (select("Mission Numbers 1~5:Mission Numbers 6~10:Mission Numbers 11~15")) {
+ if (countitem(6219) < 1) {
+ mes "To get these missions, I need to Join the Eden Group first. I must find Secretary Lime Evenor and become a member.";
+ close;
+ }
+ mes "Here is the list of various adventures for level 56~70 adventurers.";
+ next;
+ mes "Lots of missions such as a Monster Hunting, Delivery Goods, Finding People.";
+ next;
+ switch (select("Mission Numbers 1~5:Mission Numbers 6~10:Mission Numbers 11~15")) {
case 1:
switch (select("What is this Bandage?:Dangerous Alligators.:That wasn't a mermaid...:My country is calling me!")) {
- case 1:
- if (checkquest(3250) <= 0) {
- mes "This mission is assigned by the Rekenber corporation from Lighthalzen. Below are the details.";
- next;
- mes "Rekenber corporation is about to launch a new project called 'Green Medical Center'. For the first product of the project, we are preparing well-being Bandages.";
- next;
- mes "Regarding the project, we need to research monster's reactions when they are wrapped with Rotten Bandages.";
- next;
- mes "If you are interested, please hunt 30 Mummies and bring 30 Rotten Bandages. You can find them in the Pyramid West of Morroc.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "- Rekenber corporation chief director 'Julie E Delph' -";
- next;
- mes " ";
- next;
- mes "Would you like to accept this mission?";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3250;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3250,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the Rekenber corporation from Lighthalzen. Below are the details.";
- next;
- mes "Rekenber corporation is about to launch a new project called 'Green Medical Center'. For the first product of the project, we are preparing well-being Bandages.";
- next;
- mes "Regarding the project, we need to research monster's reactions when they are wrapped with Rotten Bandages.";
- next;
- mes "If you are interested, please hunt 30 Mummies and bring 30 Rotten Bandages. You can find them in the Pyramid West of Morroc.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "- Rekenber corporation chief director 'Julie E Delph' -";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3250,HUNTING) == 2) && (countitem(930) > 19)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 930,20; //Rotten_Bandage
- getexp 15000,5000;
- erasequest 3250;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 2:
- if (checkquest(3251) <= 0) {
- mes "This mission is assigned by the Comodo cooperative society. Below are the details.";
- next;
- mes "Alligators have gone wild these days, they attack women and drunken people who hang out near the beach.";
- next;
- mes "This is a very shameful situation for us, the most wonderful vacation spot in Rune-Midgard.";
- next;
- mes "So, it would be very helpful if you hunt 30 Alligators to clean out this situation.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes " ";
- next;
- mes "Would you like to accept this mission?";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3251;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3251,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the Comodo cooperative society. Below are the details.";
- next;
- mes "Alligators have gone wild these days, they attack women and drunken people who hang out near the beach.";
- next;
- mes "This is a very shameful situation for us, the most wonderful vacation spot in Rune-Midgard.";
- next;
- mes "So, it would be very helpful if you hunt 30 Alligators to clean out this situation.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3251,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 16000,6000;
- erasequest 3251;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 3:
- if (checkquest(3252) <= 0) {
- mes "This mission is assigned by an unknown client from Izlude.";
- next;
- mes "I have admired the beach of Izlude, ever since I was born.";
- next;
- mes "When I was young, I found a mysterious creature in the Izlude dungeon, I had never seen something like that before...";
- next;
- mes "I instantly thought it was a mermaid. I was so supprised, I have studied about mermaids in whole my life.";
- next;
- mes "But, as I studied harder, I found that the creature was not a mermaid... yes, It wasn't beautiful at all like other mermaids...";
- next;
- mes "I finally tracked down the fact that it was a Merman, not a Mermaid!";
- next;
- mes "Merman... I have wasted my life studying this monster! So please hunt 30 Mermans to make me feel better.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Izlude 'The Lost dream mermaid' --";
- next;
- mes " ";
- next;
- mes "Would you like to accept this mission?";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3252;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3252,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by an unknown client from Izlude.";
- next;
- mes "I have admired the beach of Izlude, ever since I was born.";
- next;
- mes "When I was young, I found a mysterious creature in the Izlude dungeon, I had never seen something like that before.";
- next;
- mes "I instantly thought it was a mermaid. I was so supprised, I have studied about mermaids in whole my life.";
- next;
- mes "But, as I studied harder, I found that the creature was not a mermaid... yes, It wasn't beautiful at all like other mermaids...";
- next;
- mes "I finally tracked down the fact that it was a Merman, not a Mermaid!";
- next;
- mes " Merman... I have wasted my life studying this monster! So please hunt 30 Mermans to make me feel better.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Izlude 'The Lost dream mermaid' --";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3252,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 17000,8000;
- erasequest 3252;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 4:
- if (checkquest(3254) <= 0) {
- mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom.";
- next;
- mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply.";
- next;
- mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit.";
- next;
- mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam.";
- next;
- mes "You can get those materials from Sand Man, I wish you good luck!";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3254;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3254) == 1) && (countitem(7043) < 10) && (countitem(1056) < 30)) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom.";
- next;
- mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply.";
- next;
- mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit.";
- next;
- mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam.";
- next;
- mes "You can get those materials from Sand Man, I wish you good luck!";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3254) == 1) && (countitem(7043) > 9) && (countitem(1056) > 29)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 7043,10; //Fine_Sand
- delitem 1056,30; //Grit
- getexp 18000,8000;
- erasequest 3254;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3254) == 2) {
- mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom.";
- next;
- mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply.";
- next;
- mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit.";
- next;
- mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam.";
- next;
- mes "You can get those materials from Sand Man, I wish you good luck!";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3254;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- close;
+ case 1: callsub L_HuntingQuest,3250,15000,5000,930,30;
+ case 2: callsub L_HuntingQuest,3251,16000,6000;
+ case 3: callsub L_HuntingQuest,3252,17000,8000;
+ case 4: callsub L_Quest,3254,18000,8000,7043,10,1056,30;
}
+ break;
case 2:
switch (select("Hunt Wild Boar:Preparing the Summer:A Woman's Grudge:Special ingredients:Puppet Master's Agony")) {
- case 1:
- if (checkquest(3255) <= 0) {
- mes "This mission is assigned by the Payon town hall.";
- next;
- mes "Wild animals are always annoyances to farmers.";
- next;
- mes "They attack our farm and ruin whole crops!! We can't stand it anymore!";
- next;
- mes "So, we would like to ask for the help from brave adventurers.";
- next;
- mes "Please, hunt 30 Savages to save our crops!";
- next;
- mes "You can easily find those monsters around our town and field.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Payon town hall members --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3255;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3255,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the Payon town hall.";
- next;
- mes "Wild animals are always an annoyance to farmers.";
- next;
- mes "They attack our farm and ruin whole crops!! We can't stand it anymore!";
- next;
- mes "So, we would like to ask for the help from brave adventurers.";
- next;
- mes "Please, hunt 30 Savages to save our crops!";
- next;
- mes "You can easily find those monsters around our town and field.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Payon town hall members --";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3255,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 16000,7000;
- erasequest 3255;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 2:
- if (checkquest(3256) <= 0) {
- mes "This mission is assigned by the Morroc blacksmith Aragham.";
- next;
- mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!";
- next;
- mes "Anyway, I have a son named Aragam Junior, the cute one. Haha.";
- next;
- mes "He will be attending summer camp this summer, but he doesn't know how to swim.";
- next;
- mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe.";
- next;
- mes "But, I figured that if I make swim fins, it will be great for his confidence~!";
- next;
- mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!";
- next;
- mes "-- The hottest blacksmith, Morroc blacksmith Aragham --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3256;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3256) == 1) && (countitem(918) < 30)) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the Morroc blacksmith Aragham.";
- next;
- mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!";
- next;
- mes "Anyway, I have a son named Aragam Junior, the cute one. Haha.";
- next;
- mes "He will be attending summer camp this summer, but he doesn't know how to swim.";
- next;
- mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe.";
- next;
- mes "But, I figured that if I make swim fins, it will be great for his confidence~!";
- next;
- mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!";
- next;
- mes "-- The hottest blacksmith, Morroc blacksmith Aragham --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3256) == 1) && (countitem(918) > 29)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 918,30; //Sticky_Webfoot
- getexp 15000,5000;
- erasequest 3256;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3256) == 2) {
- mes "This mission is assigned by the Morroc blacksmith Aragham.";
- next;
- mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!";
- next;
- mes "Anyway, I have a son named Aragam Junior, the cute one. Haha.";
- next;
- mes "He will be attending summer camp this summer, but he doesn't know how to swim.";
- next;
- mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe.";
- next;
- mes "But, I figured that if I make swim fins, it will be great for his confidence~!";
- next;
- mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!";
- next;
- mes "-- The hottest blacksmith, Morroc blacksmith Aragham --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3256;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- close;
- case 3:
- if (checkquest(3257) <= 0) {
- mes "This mission is assigned by an inventor Dorian from Izlude.";
- next;
- mes "Have you heard the story that if women have a grudge on their mind, it will bring natural disasters.";
- next;
- mes "Wow, so guys must watch out for those sensitive women! Make sure they don't have any grudges on you.";
- next;
- mes "Women can bring strange phenomenons with them!";
- next;
- mes "I am so intrigued with that story that I'm trying to prove that it can be true.";
- next;
- mes "So I need to make women upset! Haha, I know what a mean idea, right?";
- next;
- mes "But this is seriously just for studying... So please hunt 30 Sohee's who seems to be revived from victimized souls.";
- next;
- mes "So I can keep observing the case.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Elegance inventor Dorian --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3257;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3257,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by an inventor Dorian from Izlude.";
- next;
- mes "Have you heard the story that if women have a grudge on their mind, it will bring natural disasters.";
- next;
- mes "Wow, so guys must watch out for those sensitive women! Make sure they don't have any grudges on you.";
- next;
- mes "Women can bring strange phenomenons with them!";
- next;
- mes "I am so intrigued with that story that I'm trying to prove that it can be true.";
- next;
- mes "So I need to make women upset! Haha, I know what a mean idea, right?";
- next;
- mes "But this is seriously just for studying... So please hunt 30 Sohee's who seems to be revived from victimized souls.";
- next;
- mes "So I can keep observing the case.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Elegance inventor Dorian --";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3257,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 17000,8000;
- erasequest 3257;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 4:
- if (checkquest(3258) <= 0) {
- mes "This mission is assigned by Wallah from Payon.";
- next;
- mes "Hello, adventurer. How are you? How is your health?";
- next;
- mes "I am a pharmacist and I am having a hard time getting special ingredients lately.";
- next;
- mes "Because I am a little sensitive girl, how can I possibly get those things by myself.";
- next;
- mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!";
- next;
- mes "Please bring it as soon as possible, people need my medicine.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Wallah --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3258;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3258) == 1) && (countitem(7198) < 40)) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by Wallah from Payon.";
- next;
- mes "Hello, adventurer. How are you? How is your health?";
- next;
- mes "I am a pharmacist and I am having a hard time getting special ingredients lately.";
- next;
- mes "Because I am a little sensitive girl, how can I possibly get those things by myself.";
- next;
- mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!";
- next;
- mes "Please bring it as soon as possible, people need my medicine.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Wallah --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3258) == 1) && (countitem(7198) > 39)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 7198,40; //Great_Leaf
- getexp 16000,7000;
- erasequest 3258;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3258) == 2) {
- mes "This mission is assigned by Wallah from Payon.";
- next;
- mes "Hello, adventurer. How are you? How is your health?";
- next;
- mes "I am a pharmacist and I am having a hard time getting special ingredients lately.";
- next;
- mes "Because I am a little sensitive girl, how can I possibly get those things by myself.";
- next;
- mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!";
- next;
- mes "Please bring it as soon as possible, people need my medicine.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Wallah --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3258;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- close;
- case 5:
- if (checkquest(3259) <= 0) {
- mes "This mission is assigned by puppet master Woonute from Geffen.";
- next;
- mes "You know being a puppet master is kind of a hard job to satisfy people.";
- next;
- mes "People can search and see so many different things on their own thesedays.";
- next;
- mes "Their expectations are getting high, I can't satisfy them anymore.";
- next;
- mes "But if I can make new toy concepts, like living toys, it will be ground breaking.";
- next;
- mes "I heard that there are live dolls called Marionettes. Can you hunt 30 Marionettes for me? And also bring 30 Golden Hair, those will be great materials for the new toys.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Puppet Master Woonute --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3259;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3259,HUNTING) == 1) && (countitem(1060) < 30)) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by puppet master Woonute from Geffen.";
- next;
- mes "You know being a puppet master is kind of a hard job to satisfy people.";
- next;
- mes "People can search and see so many different things on their own thesedays.";
- next;
- mes "Their expectations are getting high, I can't satisfy them anymore.";
- next;
- mes "But if I can make new toy concepts, like living toys, it will be ground breaking.";
- next;
- mes "I heard that there are live dolls called Marionettes. Can you hunt 30 Marionettes for me? And also bring 30 Golden Hair, those will be great materials for the new toys.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Puppet Master Woonute --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3259,HUNTING) == 2) && (countitem(1060) > 29)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 1060,30; //Golden_Hair
- getexp 17000,7000;
- erasequest 3259;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
+ case 1: callsub L_HuntingQuest,3255,16000,7000;
+ case 2: callsub L_Quest,3256,15000,5000,918,30;
+ case 3: callsub L_HuntingQuest,3257,17000,8000;
+ case 4: callsub L_Quest,3258,16000,7000,7198,40;
+ case 5: callsub L_HuntingQuest,3259,17000,7000,1060,30;
}
+ break;
case 3:
switch (select("Tiresome Flies:Dangerous Munak:Make the World green:Magic Wand")) {
- case 1:
- if (checkquest(3260) <= 0) {
- mes "This mission is assigned by an exterminator from Prontera.";
- next;
- mes "As the weather gets warmer, insects multiply more and more. It is already out of control.";
- next;
- mes "People in Prontera cannot sleep because of all the bugs in their house.";
- next;
- mes "So, please help us, hunt 30 Hunter Flies. Then the flies can be reduced slowly.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- The Prontera exterminator --";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3260;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3260,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by an exterminator from Prontera.";
- next;
- mes "As the weather gets warmer, insects multiply more and more. It is already out of control.";
- next;
- mes "People in Prontera cannot sleep because of all the bugs in their house.";
- next;
- mes "So, please help us, hunt 30 Hunter Flies. Then the flies can be reduced slowly.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- The Prontera exterminator --";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3260,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 16000,6000;
- erasequest 3260;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 2:
- if (checkquest(3261) <= 0) {
- mes "This mission is assigned by Cheese Dongja from Payon.";
- next;
- mes "Have you heard about Munak?";
- next;
- mes "The ugly monster Munak is threatening people in Payon.";
- next;
- mes "So we need brave adventurers like you!";
- next;
- mes "Please hunt 30 Munaks then Payon will be in peace.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "- Payon Cheese Dongja -";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3261;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3261,HUNTING) == 1) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by Cheese Dongja from Payon.";
- next;
- mes "Have you heard about Munak?";
- next;
- mes "The ugly monster Munak is threatening people in Payon.";
- next;
- mes "So we need brave adventurers like you!";
- next;
- mes "Please hunt 30 Munaks then Payon will be in peace.";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "- Payon Cheese Dongja -";
- close;
- case 2:
- close;
- }
- }
- if (checkquest(3261,HUNTING) == 2) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- getexp 16000,7000;
- erasequest 3261;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 3:
- if (checkquest(3262) <= 0) {
- mes "This mission is assigned by a gem dealer, Ibraham from Morroc.";
- next;
- mes "A small beautiful flower in the barren desert... What an incredible scene it would be!";
- next;
- mes "Planting flowers can make the world green and it will be so pretty everywhere.";
- next;
- mes "I plan to plant strong flowers in the Morroc desert so the soil gets better.";
- next;
- mes "I need 40 Maneater Blossom from Flora, I know Maneater Blossom is an ugly flower, but still it is a plant.";
- next;
- mes "I hope you can hunt Flora and get me 40 Maneater Blossoms. You are making the world green! Be proud!";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Morroc Ibraham --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3262;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3262) == 1) && (countitem(1032) < 40)) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by a gem dealer, Ibraham from Morroc.";
- next;
- mes "A small beautiful flower in the barren desert... What an incredible scene it would be!";
- next;
- mes "Planting flowers can make the world green and it will be so pretty everywhere.";
- next;
- mes "I plan to plant strong flowers in the Morroc desert so the soil gets better.";
- next;
- mes "I need 40 Maneater Blossom from Flora, I know Maneater Blossom is an ugly flower, but still it is a plant.";
- next;
- mes "I hope you can hunt Flora and get me 40 Maneater Blossoms. You are making the world green! Be proud!";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Morroc Ibraham --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3262) == 1) && (countitem(1032) > 39)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 1032,40; //Blossom_Of_Maneater
- getexp 17000,7000;
- erasequest 3262;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
- case 4:
- if (checkquest(3263) <= 0) {
- mes "This mission is assigned by the Payon blacksmith Antonio.";
- next;
- mes "Magic wand! Have you heard about it? It is an incredible wand!";
- next;
- mes "If you say the magic words and swing the wand, it will make your wishes come true.";
- next;
- mes "So, I decided to make it by myself. Then I will be rich and powerful~! Haha!!";
- next;
- mes "To make the wand, I need some special materials.";
- next;
- mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Payon blacksmith Antonio --";
- next;
- mes " ";
- next;
- switch (select("Accept the mission.:Do not accept the mission.")) {
- case 1:
- if ((BaseLevel > 54) && (BaseLevel < 71)) {
- setquest 3263;
- mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
- next;
- mes "This mission doesn't have time limits.";
- close;
- }
- mes "These missions are not fit for my level. I should look for other missions.";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3263) == 1) && ((countitem(1021) < 30) || (countitem(7150) < 30))) {
- mes "You have an on-going mission. Would you like to check the details?";
- next;
- switch (select("Check the details.:Cancel.")) {
- case 1:
- mes "This mission is assigned by the Payon blacksmith Antonio.";
- next;
- mes "Magic wand! Have you heard about it? It is an incredible wand!";
- next;
- mes "If you say the magic words and swing the wand, it will make your wishes come true.";
- next;
- mes "So, I decided to make it by myself. Then I will be rich and powerful~! Haha!!";
- next;
- mes "To make the wand, I need some special materials.";
- next;
- mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?";
- next;
- mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
- next;
- mes "-- Payon blacksmith Antonio --";
- close;
- case 2:
- close;
- }
- }
- if ((checkquest(3263) == 1) && (countitem(1021) > 29) && (countitem(7150) > 29)) {
- mes "I have done pretty well for the mission. Should I report it now?";
- next;
- switch (select("Report the mission.:Do not report it yet.")) {
- case 1:
- delitem 1021,30; //Dokkaebi_Horn
- delitem 7150,30; //Bamboo_Cut
- getexp 18000,8000;
- erasequest 3263;
- mes "You have completed the mission. Get rewards.";
- close;
- case 2:
- close;
- }
- }
+ case 1: callsub L_HuntingQuest,3260,16000,6000;
+ case 2: callsub L_HuntingQuest,3261,16000,7000;
+ case 3: callsub L_Quest,3262,17000,7000,1032,40;
+ case 4: callsub L_Quest,3263,18000,8000,1021,30,7150,30;
+ }
+ break;
+ }
+ end;
+
+L_Quest:
+ if (checkquest(getarg(0)) <= 0) {
+ callsub L_CheckDetails, getarg(0);
+ mes " ";
+ next;
+ mes "Would you like to accept this mission?";
+ next;
+ if(select("Accept the mission.:Do not accept the mission.") == 1) {
+ if ((BaseLevel < 56) || (BaseLevel > 70)) {
+ mes "These missions are not fit for my level. I should look for other missions.";
+ close;
+ }
+ setquest getarg(0);
+ mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
+ next;
+ mes "This mission doesn't have time limits.";
+ }
+ close;
+ }
+ if (checkquest(getarg(0)) == 1) {
+ if (getargcount() > 5) {
+ if ((countitem(getarg(3)) >= getarg(4)) && (countitem(getarg(5)) >= getarg(6))) { set .@complete, 1; }
+ else { set .@complete, 0; }
+ } else {
+ if (countitem(getarg(3)) >= getarg(4)) { set .@complete, 1; }
+ else { set .@complete, 0; }
+ }
+ if (.@complete) {
+ mes "I have done pretty well for the mission. Should I report it now?";
+ next;
+ if(select("Report the mission.:Do not report it yet.") == 2) { close; }
+ delitem getarg(3),getarg(4);
+ if (getarg(5,0) > 0) { delitem getarg(5),getarg(6); }
+ getexp getarg(1),getarg(2);
+ erasequest getarg(0);
+ mes "You have completed the mission. Get rewards.";
+ } else {
+ mes "You have an on-going mission. Would you like to check the details?";
+ next;
+ if(select("Check the details.:Cancel.") == 1)
+ callsub L_CheckDetails, getarg(0);
+ }
+ }
+ close;
+ end;
+
+L_HuntingQuest:
+ if (checkquest(getarg(0)) <= 0) {
+ callsub L_CheckDetails, getarg(0);
+ next;
+ mes " ";
+ next;
+ mes "Would you like to accept this mission?";
+ next;
+ if(select("Accept the mission.:Do not accept the mission.") == 1) {
+ if ((BaseLevel < 56) || (BaseLevel > 70)) {
+ mes "These missions are not fit for my level. I should look for other missions.";
+ close;
}
+ setquest getarg(0);
+ mes "I have successfully accepted the mission. I have to come back and confirm my work after I complete the mission.";
+ next;
+ mes "This mission doesn't have time limits.";
+ }
+ }
+ else if (checkquest(getarg(0),HUNTING) == 1) {
+ mes "You have an on-going mission. Would you like to check the details?";
+ next;
+ if(select("Check the details.:Cancel.") == 1)
+ callsub L_CheckDetails, getarg(0);
+ }
+ else if (checkquest(getarg(0),HUNTING) == 2) {
+ if (getargcount() > 3) {
+ if (countitem(getarg(3)) >= getarg(4)) { set .@complete, 1; }
+ else { set .@complete, 0; }
+ } else { set .@complete, 1; }
+ if (.@complete) {
+ mes "I have done pretty well for the mission. Should I report it now?";
+ next;
+ if(select("Report the mission.:Do not report it yet.") == 2) { close; }
+ if (getarg(3,0) > 0) { delitem getarg(3),getarg(4); }
+ getexp getarg(1),getarg(2);
+ erasequest getarg(0);
+ mes "You have completed the mission. Get rewards.";
+ } else {
+ mes "I don't have enough "+getitemname(getarg(3))+".";
+ mes "I need to gather "+getarg(4)+" "+getitemname(getarg(3))+" to complete this mission.";
}
}
- mes "To get these missions, I need to Join the Eden Group first. I must find Secretary Lime Evenor and become a member.";
close;
+ end;
+
+L_CheckDetails:
+ switch(getarg(0)){
+ case 3250:
+ mes "This mission is assigned by the Rekenber corporation from Lighthalzen. Below are the details.";
+ next;
+ mes "Rekenber corporation is about to launch a new project called 'Green Medical Center'. For the first product of the project, we are preparing well-being Bandages.";
+ next;
+ mes "Regarding the project, we need to research monster's reactions when they are wrapped with Rotten Bandages.";
+ next;
+ mes "If you are interested, please hunt 30 Mummies and bring 30 Rotten Bandages. You can find them in the Pyramid West of Morroc.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "- Rekenber corporation chief director 'Julie E Delph' -";
+ break;
+ case 3251:
+ mes "This mission is assigned by the Comodo cooperative society. Below are the details.";
+ next;
+ mes "Alligators have gone wild these days, they attack women and drunken people who hang out near the beach.";
+ next;
+ mes "This is a very shameful situation for us, the most wonderful vacation spot in Rune-Midgard.";
+ next;
+ mes "So, it would be very helpful if you hunt 30 Alligators to clean out this situation.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ break;
+ case 3252:
+ mes "This mission is assigned by an unknown client from Izlude.";
+ next;
+ mes "I have admired the beach of Izlude, ever since I was born.";
+ next;
+ mes "When I was young, I found a mysterious creature in the Izlude dungeon, I had never seen something like that before...";
+ next;
+ mes "I instantly thought it was a mermaid. I was so supprised, I have studied about mermaids in whole my life.";
+ next;
+ mes "But, as I studied harder, I found that the creature was not a mermaid... yes, It wasn't beautiful at all like other mermaids...";
+ next;
+ mes "I finally tracked down the fact that it was a Merman, not a Mermaid!";
+ next;
+ mes "Merman... I have wasted my life studying this monster! So please hunt 30 Mermans to make me feel better.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Izlude 'The Lost dream mermaid' --";
+ break;
+ case 3254:
+ mes "This mission is assigned by the government officer of the Rune-Midgarts Kingdom.";
+ next;
+ mes "To prevent a flood in Prontera, we decided to build a huge dam to regulate the water supply.";
+ next;
+ mes "But, we are shorthanded on supplies and we need to collect Fine Sand and Grit.";
+ next;
+ mes "So, we would like to ask for help. People, please bring us 10 Fine Sand and 30 Grit each so we can build the dam.";
+ next;
+ mes "You can get those materials from Sand Man, I wish you good luck!";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Government officer of the Rune-Midgarts Kingdom, Dufre Kent --";
+ break;
+ case 3255:
+ mes "This mission is assigned by the Payon town hall.";
+ next;
+ mes "Wild animals are always annoyances to farmers.";
+ next;
+ mes "They attack our farm and ruin whole crops!! We can't stand it anymore!";
+ next;
+ mes "So, we would like to ask for the help from brave adventurers.";
+ next;
+ mes "Please, hunt 30 Savages to save our crops!";
+ next;
+ mes "You can easily find those monsters around our town and field.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Payon town hall members --";
+ break;
+ case 3256:
+ mes "This mission is assigned by the Morroc blacksmith Aragham.";
+ next;
+ mes "Hello~~~~, Adventurers! This is Aragham, the hottest blacksmith in Morroc!";
+ next;
+ mes "Anyway, I have a son named Aragam Junior, the cute one. Haha.";
+ next;
+ mes "He will be attending summer camp this summer, but he doesn't know how to swim.";
+ next;
+ mes "I want to teach him, but as you know I am a blacksmith, a far cry from swimming! Hehe.";
+ next;
+ mes "But, I figured that if I make swim fins, it will be great for his confidence~!";
+ next;
+ mes "To make it, I need 30 Sticky Webfoots from a Roda Frog. Can you bring them to me?";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "PS. Do not compare me with Hollgrehenn or Antonio!!!!";
+ next;
+ mes "-- The hottest blacksmith, Morroc blacksmith Aragham --";
+ break;
+ case 3257:
+ mes "This mission is assigned by an inventor Dorian from Izlude.";
+ next;
+ mes "Have you heard the story that if women have a grudge on their mind, it will bring natural disasters.";
+ next;
+ mes "Wow, so guys must watch out for those sensitive women! Make sure they don't have any grudges on you.";
+ next;
+ mes "Women can bring strange phenomenons with them!";
+ next;
+ mes "I am so intrigued with that story that I'm trying to prove that it can be true.";
+ next;
+ mes "So I need to make women upset! Haha, I know what a mean idea, right?";
+ next;
+ mes "But this is seriously just for studying... So please hunt 30 Sohee's who seems to be revived from victimized souls.";
+ next;
+ mes "So I can keep observing the case.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Elegance inventor Dorian --";
+ break;
+ case 3258:
+ mes "This mission is assigned by Wallah from Payon.";
+ next;
+ mes "Hello, adventurer. How are you? How is your health?";
+ next;
+ mes "I am a pharmacist and I am having a hard time getting special ingredients lately.";
+ next;
+ mes "Because I am a little sensitive girl, how can I possibly get those things by myself.";
+ next;
+ mes "So, please help me. Just bring 40 Huge Leafs to me, that will be enough to complete my special medicine!";
+ next;
+ mes "Please bring it as soon as possible, people need my medicine.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Wallah --";
+ break;
+ case 3259:
+ mes "This mission is assigned by puppet master Woonute from Geffen.";
+ next;
+ mes "You know being a puppet master is kind of a hard job to satisfy people.";
+ next;
+ mes "People can search and see so many different things on their own thesedays.";
+ next;
+ mes "Their expectations are getting high, I can't satisfy them anymore.";
+ next;
+ mes "But if I can make new toy concepts, like living toys, it will be ground breaking.";
+ next;
+ mes "I heard that there are live dolls called Marionettes. Can you hunt 30 Marionettes for me? And also bring 30 Golden Hair, those will be great materials for the new toys.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Puppet Master Woonute --";
+ break;
+ case 3260:
+ mes "This mission is assigned by an exterminator from Prontera.";
+ next;
+ mes "As the weather gets warmer, insects multiply more and more. It is already out of control.";
+ next;
+ mes "People in Prontera cannot sleep because of all the bugs in their house.";
+ next;
+ mes "So, please help us, hunt 30 Hunter Flies. Then the flies can be reduced slowly.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- The Prontera exterminator --";
+ break;
+ case 3261:
+ mes "This mission is assigned by Cheese Dongja from Payon.";
+ next;
+ mes "Have you heard about Munak?";
+ next;
+ mes "The ugly monster Munak is threatening people in Payon.";
+ next;
+ mes "So we need brave adventurers like you!";
+ next;
+ mes "Please hunt 30 Munaks then Payon will be in peace.";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "- Payon Cheese Dongja -";
+ break;
+ case 3262:
+ mes "This mission is assigned by a gem dealer, Ibraham from Morroc.";
+ next;
+ mes "A small beautiful flower in the barren desert... What an incredible scene it would be!";
+ next;
+ mes "Planting flowers can make the world green and it will be so pretty everywhere.";
+ next;
+ mes "I plan to plant strong flowers in the Morroc desert so the soil gets better.";
+ next;
+ mes "I need 40 Maneater Blossom from Flora, I know Maneater Blossom is an ugly flower, but still it is a plant.";
+ next;
+ mes "I hope you can hunt Flora and get me 40 Maneater Blossoms. You are making the world green! Be proud!";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Morroc Ibraham --";
+ break;
+ case 3263:
+ mes "This mission is assigned by the Payon blacksmith Antonio.";
+ next;
+ mes "Magic wand! Have you heard about it? It is an incredible wand!";
+ next;
+ mes "If you say the magic words and swing the wand, it will make your wishes come true.";
+ next;
+ mes "So, I decided to make it by myself. Then I will be rich and powerful~! Haha!!";
+ next;
+ mes "To make the wand, I need some special materials.";
+ next;
+ mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?";
+ next;
+ mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
+ next;
+ mes "-- Payon blacksmith Antonio --";
+ break;
+ }
+ return;
}
diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt
index 1b05030c8..8570fd39e 100644
--- a/npc/re/quests/eden/eden_common.txt
+++ b/npc/re/quests/eden/eden_common.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eden Group Quests - Common NPCs
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.6
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Eden Group Headquarter NPC's.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index 3c9d421a7..4a85bdc79 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eden Group Quest - Quests NPCs
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.4b
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Eden Group Headquarter NPC's.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt
index 041395861..fd6e9a47f 100644
--- a/npc/re/quests/eden/eden_service.txt
+++ b/npc/re/quests/eden/eden_service.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eden Group Quests - Service NPCs
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Paradise Group storage access.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
new file mode 100644
index 000000000..c9ecd6f17
--- /dev/null
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -0,0 +1,1562 @@
+//===== rAthena Script =======================================
+//= Eden Tutorial
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= A series of quests introducing the major features of
+//= Ragnarok Online.
+//===== Additional Comments: =================================
+//= 1.0 First Version. [Euphy]
+//============================================================
+
+moc_para01,34,178,3 script Tutorial Instructor 904,{
+ if (Class == Job_Novice) {
+ // Fall through
+ } else if (checkquest(9167) == -1) {
+ OnStartQuest:
+ if (@tutorial_restart) {
+ set .@tutorial_restart,1;
+ set @tutorial_restart,0;
+ }
+ mes "[Tutorial Instructor]";
+ mes "Lately, it has been said that";
+ mes "they are developing ways to add options";
+ mes "to put in sockets or add statuses";
+ mes "on equipment that normally don't have it.";
+ mes "They call that ^006400Enchant^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "After seeing that being developed,";
+ mes "I was so inspired by it";
+ mes "that I worked hard to discover";
+ mes "a way to do it and I finally";
+ mes "made my own way to ^006400Enchant^000000!";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "But in order do to this";
+ mes "I need some special materials.";
+ mes "If you're okay with it...";
+ mes "Do you think you can";
+ mes "help me out by gathering them?";
+ next;
+ switch(select("Sure, I can help out!:I'm a little busy right now...")) {
+ case 1:
+ mes "[Tutorial Instructor]";
+ mes "However, looking at you";
+ mes "in your current state makes me";
+ mes "doubt your ability to gather";
+ mes "the items I need...";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Well, I guess if you employ";
+ mes "a ^006400Mercenary^000000 for this";
+ mes "then I think I can entrust you";
+ mes "with my requests... right?";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to employ a Mercenary,";
+ mes "go find the ^006400Mercenary Guild^000000";
+ mes "which is by the front door of ^8B4513Prontera^000000.";
+ mes "Go to the ^006400Information Agent^000000";
+ mes "and ask them where the ^006400Mercenary Guild Official^000000";
+ mes "is located and they will let you know.";
+ next;
+ if (.@tutorial_restart) {
+ erasequest 9167;
+ erasequest 9168;
+ erasequest 9169;
+ erasequest 9170;
+ erasequest 9171;
+ erasequest 9172;
+ completequest 9173;
+ erasequest 9173;
+ }
+ mes "[Tutorial Instructor]";
+ mes "Now... Hurry and employ";
+ mes "a ^006400Mercenary^000000 and come back to me!";
+ setquest 9167;
+ close;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Well since you said you're busy";
+ mes "I can't be helped...";
+ mes "When you're not so busy, come find me again.";
+ close;
+ }
+ } else if (checkquest(9167) == 0 || checkquest(9167) == 1) {
+ if (!getmercinfo(1)) {
+ mes "[Tutorial Instructor]";
+ mes "You haven't gotten a mercenary yet.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to employ a Mercenary,";
+ mes "go find the ^006400Mercenary Guild^000000";
+ mes "which is by the front door of ^8B4513Prontera^000000.";
+ mes "Go to the ^006400Information Agent^000000";
+ mes "and ask them where the ^006400Mercenary Guild Official^000000";
+ mes "is located and they will let you know.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now... Hurry and employ";
+ mes "a ^006400Mercenary^000000 and come back to me!";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "Seeing you with a ^006400Mercenary^000000 definitely makes me trust you more.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If a 006400Mercenary^000000 gives you direct effect";
+ mes "by fighting for you";
+ mes "then a ^006400Pet^000000 helps you indirectly with their";
+ mes "abilities and varied appearances,";
+ mes "and it captures your heart.";
+ mes "Try raising a ^006400Pet^000000 in the future as well.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, let's see... In order to";
+ mes "get this ^006400Enchant^000000 to succeed";
+ mes "you have to go gather some materials for me...";
+ mes "What I need is...";
+ mes "..............";
+ next;
+ select("I don't think I heard you clearly...");
+ mes "[Tutorial Instructor]";
+ mes "I really don't like to repeat myself..";
+ mes "If you ask me again like that";
+ mes "does it just make your mouth tired?";
+ mes "In these situations, open your ^006400Quest Window^000000";
+ mes "and you can see what is requested of you";
+ mes "and the details of my request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If you look at the top left";
+ mes "in the area with the information,";
+ mes "it says ^006400QUEST^000000";
+ mes "and if you click that";
+ mes "it'll show all information";
+ mes "that pertains to the request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you verify what materials";
+ mes "you need go gather from";
+ mes "the ^006400Quest Window^000000,";
+ mes "come find and talk to me again.";
+ completequest 9167;
+ setquest 9168;
+ close;
+ } else if (checkquest(9168) == 0 || checkquest(9168) == 1) {
+ if (checkweight(607,1) == 0) {
+ if (MaxWeight - Weight < getiteminfo(607,6)) {
+ mes "[Tutorial Instructor]";
+ mes "You seemed to be sluggish with a lot of items";
+ mes "in your inventory making you heavy...";
+ mes "It'll be hard to do my request";
+ mes "when you're heavy with all that junk!";
+ mes "Go empty out your inventory and come back to me.";
+ close;
+ } else {
+ mes "[Tutorial Instructor]";
+ mes "It seems that you have";
+ mes "one too many items on you...";
+ mes "If you want to help me out";
+ mes "then you're gonna have to put some";
+ mes "stuff away then come back.";
+ close;
+ }
+ }
+ mes "[Tutorial Instructor]";
+ mes "Did you open your ^006400Quest Window^000000";
+ mes "to verify the materials?";
+ next;
+ switch(select("Yup!:No...:Where is the Quest Window...")) {
+ case 1:
+ mes "[Tutorial Instructor]";
+ mes "Oh yeah? Then shall I test you to see";
+ mes "if you really checked it?";
+ mes "Write down what material I asked you to get.";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "10 Jellopy") {
+ mes "[Tutorial Instructor]";
+ mes "Good, you know.";
+ mes "Now, are you feeling pretty familiar";
+ mes "about the ^006400Quest Window^000000?";
+ mes "But there is an issue...";
+ mes "You know what material to collect,";
+ mes "but gathering that won't be easy.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Also, there is one thing";
+ mes "I absolutely think you need to try.";
+ mes "And that is...";
+ mes "the ^006400Universal Silver Catalog^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The ^006400Universal Silver Catalog^000000";
+ mes "can be obtained from";
+ mes "the ^0000FFCatalogue Wizard^000000";
+ mes "that is located in South Prontera.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, go and obtain";
+ mes "a ^006400Universal Silver Catalog^000000";
+ mes "then come back and talk to me.";
+ completequest 9168;
+ setquest 9169;
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "You... still don't seem";
+ mes "to know much about the";
+ mes "^006400Quest Window^000000.";
+ mes "I will inform you again.";
+ next;
+ break;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Hurry and check to see";
+ mes "what materials are required in";
+ mes "your ^006400Quest Window^000000.";
+ close;
+ case 3:
+ break;
+ }
+ mes "[Tutorial Instructor]";
+ mes "If you look at the top left";
+ mes "in the area with the information,";
+ mes "it says ^006400QUEST^000000";
+ mes "and if you click that";
+ mes "it'll show all information";
+ mes "that pertains to the request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you verify what materials";
+ mes "you need go gather from";
+ mes "the ^006400Quest Window^000000,";
+ mes "come find and talk to me again.";
+ close;
+ } else if (checkquest(9169) == 0 || checkquest(9169) == 1) {
+ if (countitem(12580) == 0) {
+ mes "[Tutorial Instructor]";
+ mes "Hmm? So I noticed that";
+ mes "you haven't gone and picked up a";
+ mes "^006400Universal Silver Catalog^000000 yet!";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "You can get the";
+ mes "^006400Universal Silver Catalog^000000";
+ mes "from the ^0000FFCatalogue Wizard^000000";
+ mes "who is located in Prontera.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, go and get the";
+ mes "^006400Universal Silver Catalog^000000";
+ mes "then come back to me.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "Oh! You managed to get a";
+ mes "^006400Universal Silver Catalog^000000!";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "This lets you browse and search";
+ mes "through all the various stores";
+ mes "that are on the same map and";
+ mes "are open for vending.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It only costs 200 zeny for one";
+ mes "of these and with it you can";
+ mes "search up to 10 times.";
+ mes "You can say that it's a necessity.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, go to the area you want";
+ mes "and try out the ^006400Universal Silver Catalog^000000";
+ mes "then come and find me";
+ mes "after you've done this.";
+ completequest 9169;
+ setquest 9170;
+ close;
+ } else if (checkquest(9170) == 0 || checkquest(9170) == 1) {
+ if (countitem(12580)) {
+ mes "[Tutorial Instructor]";
+ mes "Hmm... It seems that you still have";
+ mes "the ^006400Universal Silver Catalog^000000 in your inventory.";
+ mes "Since you're saying you forgot how to use it";
+ mes "I'll explain it to you again.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "You see... the ^006400Universal Silver Catalog^000000";
+ mes "lets you browse and search";
+ mes "through all the various stores";
+ mes "that are on the same map and";
+ mes "are open for vending.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, go to the area you want";
+ mes "and try out the ^006400Universal Silver Catalog^000000";
+ mes "them come and find me";
+ mes "after you've done this.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "How do you feel after trying out";
+ mes "the ^006400Universal Silver Catalog^000000?";
+ mes "It feels a lot easier than";
+ mes "going through each individual";
+ mes "vendor and finding the item";
+ mes "you need, right?";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, go out and gather";
+ mes "the materials I need and";
+ mes "I will make sure to give you";
+ mes "a fantastic ^006400enchant^000000!";
+ mes "I'll be waiting!";
+ completequest 9170;
+ setquest 9171;
+ close;
+ } else if (checkquest(9171) == 0 || checkquest(9171) == 1) {
+ if (countitem(909) < 10) {
+ mes "[Tutorial Instructor]";
+ mes "It seems you didn't bring";
+ mes "enough materials. Did you forget";
+ mes "what you needed to gather?";
+ next;
+ switch(select("Yeah...:Nope!")) {
+ case 1:
+ mes "[Tutorial Instructor]";
+ mes "I've been told that if you click the";
+ mes "thing on the top left that says";
+ mes "^006400QUEST^000000, it'll show you all";
+ mes "the information that you need";
+ mes "that pertains to your requests.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you gather all the materials";
+ mes "that are listed in your ^006400Quest Window^000000";
+ mes "come and talk to me.";
+ close;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "When you gather the items";
+ mes "come to me and I will show you";
+ mes "an awesome ^006400ENCHANT^000000.";
+ mes "I'll be waiting!";
+ close;
+ }
+ }
+ if (checkweight(607,6) == 0) {
+ if (MaxWeight - Weight < getiteminfo(607,6)) {
+ mes "[Tutorial Instructor]";
+ mes "Your inventory seems to be really full";
+ mes "with various stuff... Do you think";
+ mes "you can get anything done when you're so";
+ mes "weighed down? Go put some stuff away";
+ mes "then come back to me.";
+ close;
+ } else {
+ mes "[Tutorial Instructor]";
+ mes "You seem to have too much stuff";
+ mes "in your inventory... Go put some";
+ mes "stuff away then come back to me";
+ mes "when you have less suff on you.";
+ close;
+ }
+ }
+ mes "[Tutorial Instructor]";
+ mes "You got everything I asked for!";
+ mes "So~ Shall we start on the awesome";
+ mes "Enchant that I found and developed?";
+ next;
+ specialeffect EF_BASH3D2;
+ mes "[Tutorial Instructor]";
+ mes "Okay! Now for the first skill!!";
+ mes "To add a new ability to your armor...";
+ mes "^006400HIDDEN SOCKET ENCHANT^000000!!";
+ next;
+ specialeffect EF_BASH3D2;
+ mes "[Tutorial Instructor]";
+ mes "And for the second skill!!";
+ mes "To add a new socket into your";
+ mes "weapon and shield...";
+ mes "^006400SOCKET ENCHANT^000000!!";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "There. The Enchant is done. You can't understand the the process by just watching me, so I'll let you look at the items themselves.";
+ delitem 909,10; //Jellopy
+ completequest 9171;
+ setquest 9172;
+ getitem2 15033,1,1,0,0,0,0,0,4702; //Tutorial_Mattle[Strength3]
+ getitem 15033,1; //Tutorial_Mattle
+ getitem 15034,1; //Tutorial_Mattle_
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Those items cannot be";
+ mes "worn or traded so don't even";
+ mes "think about running away with them.";
+ mes "When you're done looking at them,";
+ mes "give them back to me.";
+ close;
+ } else if (checkquest(9172) == 0 || checkquest(9172) == 1) {
+ if (countitem(15033) == 0 || countitem(15034) == 0) {
+ mes "[Tutorial Instructor]";
+ mes "What did you do with the Enchanted";
+ mes "items I lent to you to look at?";
+ mes "Until you bring back the fruits of";
+ mes "my labor, I don't want to talk to you,";
+ mes "let alone see your face.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "Are you done looking over";
+ mes "the items I Enchanted?";
+ next;
+ switch(select("Yes, thank you.:I haven't looked at them yet.")) {
+ case 1:
+ mes "[Tutorial Instructor]";
+ mes "So what did you think after inspecting it? Now that you've looked at an actual Enchanted item, do you understand it?";
+ // Item deletions moved below to prevent errors.
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Thanks to you I was able to see great results of my research and study.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If you have any questions about anything that I discussed with you, I will tell you everything! Thanks for your hard work!";
+ delitem 15033,2;
+ delitem 15034,1;
+ completequest 9172;
+ setquest 9173;
+ getexp 5000,2500;
+ close;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Take your time to look them over";
+ mes "then bring them back to me.";
+ close;
+ }
+ } else if (checkquest(9173) == 0 || checkquest(9173) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "Do you have any questions?";
+ next;
+ switch(select("Can I do the same quest again?:About the Quest Window...:About ENCHANT...:About Searching Vends...:About Mercenary and Pets...:End Conversation.")) {
+ case 1:
+ if (checkquest(9173,PLAYTIME) == 0 || checkquest(9173,PLAYTIME) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!";
+ mes "[Tutorial Instructor]";
+ mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set @tutorial_restart,1;
+ goto OnStartQuest;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Okay. But if you change your mind and want to receive a quest, come find me.";
+ close;
+ }
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If you look at the top left";
+ mes "in the area with the information,";
+ mes "it says ^006400QUEST^000000";
+ mes "and if you click that";
+ mes "it'll show all information";
+ mes "that pertains to the request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc.";
+ close;
+ case 3:
+ mes "[Tutorial Instructor]";
+ mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?";
+ close;
+ case 4:
+ mes "[Tutorial Instructor]";
+ mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The ^006400Universal Silver Catalog^000000";
+ mes "can be obtained from ";
+ mes "the ^0000FFCatalogue Wizard^000000";
+ mes "that is located in South Prontera;";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It only costs 200 zeny for one";
+ mes "of these and with it you can";
+ mes "search up to 10 times.";
+ mes "You can say that it's a necessity.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!";
+ close;
+ case 5:
+ mes "[Tutorial Instructor]";
+ mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If a 006400Mercenary^000000 gives you direct effect";
+ mes "by fighting for you";
+ mes "then a ^006400Pet^000000 helps you indirectly with their";
+ mes "abilities and varied appearances,";
+ mes "and it captures your heart.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to employ a Mercenary";
+ mes "Go find the ^006400Mercenary Guild^000000";
+ mes "which is by the front door of ^8B4513Prontera^000000.";
+ mes "Go to the ^006400Information Agent^000000";
+ mes "and ask them where the ^006400Mercenary Guild Official^000000";
+ mes "is located and they will let you know.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Because there is a chance for failure, please use the taming item with great care.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future.";
+ close;
+ case 6:
+ mes "[Tutorial Instructor]";
+ mes "If you have any questions, come find me again.";
+ close;
+ }
+ }
+ mes "[Tutorial Instructor]";
+ mes "Lately, it has been said that";
+ mes "they are developing ways to add options";
+ mes "to put in sockets or add statuses";
+ mes "on equipment that normally don't have it.";
+ close;
+}
+
+moc_para01,32,179,4 script Tutorial Goal 895,{
+ if (checkweight(608,7) == 0) {
+ if (MaxWeight - Weight < getiteminfo(608,7)) {
+ mes "[Tutorial Goal]";
+ mes "You seem to be overweight with items. Go put some stuff away then come back.";
+ close;
+ } else {
+ mes "[Tutorial Goal]";
+ mes "You have too many items on you. Go put some stuff away then come back.";
+ close;
+ }
+ }
+ if (checkquest(4161) == 0 || checkquest(4161) == 1) {
+ mes "[Tutorial Goal]";
+ mes "Well~ We gotta go challenge the experts right?";
+ mes "Let's start off by finding the ^006400Siege Expert^000000!";
+ close;
+ } else if (checkquest(4162) == 0 || checkquest(4162) == 1) {
+ mes "[Tutorial Goal]";
+ mes "You've passed the ^006400Siege Expert^000000's test! Congrats!";
+ mes "Now, go find the ^006400Party Recruiting Expert^000000!";
+ close;
+ } else if (checkquest(4163) == 0 || checkquest(4163) == 1) {
+ mes "[Tutorial Goal]";
+ mes "Oh! You've passed the ^006400Party Recruiting Expert^000000's test! Congrats!";
+ mes "Now, go find the ^006400Battleground Expert^000000!";
+ close;
+ } else if (checkquest(4164) == 0 || checkquest(4164) == 1) {
+ mes "[Tutorial Goal]";
+ mes "Yay! You passed the test from the ^006400Battleground Expert^000000! Congrats!";
+ mes "Next, go and find the ^006400Memorial Dungeon Expert^000000!";
+ close;
+ } else if (checkquest(4165) == 0 || checkquest(4165) == 1) {
+ mes "[Tutorial Goal]";
+ mes "You passed the test from ^006400Memorial Dungeon Expert^000000! That's great!";
+ mes "Try finding the ^006400Map Expert^000000!";
+ close;
+ } else if (checkquest(4166) == 0 || checkquest(4166) == 1) {
+ mes "[Tutorial Goal]";
+ mes "You passed ^006400Map Expert^000000's test! Congrats!";
+ mes "I'm so glad that you were to pass all the Experts' tests! You're better than I expected!!";
+ next;
+ mes "[Tutorial Goal]";
+ mes "Now, even you are an ^006400Expert^000000!! Such a fitting nick name for you!";
+ mes "Thank you so much for your hard work. As promised, here is a small little reward for you.";
+ next;
+ mes "[Tutorial Goal]";
+ mes "I think it'll be useful to you during your adventures. I wish you luck on your future adventures~";
+ completequest 4166;
+ getitem 510,5; //Blue_Herb
+ getitem 511,5; //Green_Herb
+ getitem 504,5; //White_Potion
+ getitem 608,1; //Seed_Of_Yggdrasil
+ close;
+ } else if (checkquest(4166) == 2) {
+ mes "[Tutorial Goal]";
+ mes "Now, even you are an ^006400Expert^000000!! Such a fitting nick name for you!";
+ mes "Thank you so much for your hard work.";
+ mes "I hope that your future adventures are filled with good luck.";
+ close;
+ }
+ if (Class == Job_Novice) {
+ mes "[Tutorial Goal]";
+ mes "Hmm, I wonder if there is any adventurer that is smart enough to challenge our Experts...";
+ close;
+ }
+ mes "[Tutorial Goal]";
+ mes "Hey you! You look like an adventurer... Though you look a little dull...";
+ next;
+ if(select("What'd you say? I'm smart!:Yeah... I'm dull.") == 1) {
+ mes "[Tutorial Goal]";
+ mes "Serious? Though I don't know if I can believe that. Look at the expert who is in front of me! He took up only one area of study for 16 years and now he is as dignified as can be!";
+ next;
+ mes "[Tutorial Goal]";
+ mes "Well, if you manage to pass all their tests then I will believe in your abilities.";
+ next;
+ mes "[Tutorial Goal]";
+ mes "And I will apologize for calling you dull. How about it, Dull Expert?! Do you want to challenge them?";
+ next;
+ if(select("Ch... Challenge!!:Um... I think I'll just give up now...") == 1) {
+ mes "[Tutorial Goal]";
+ mes "You're braver than you look. You can't go back now that you've decided to challenge!";
+ next;
+ mes "[Tutorial Goal]";
+ mes "Okay~ Start by talking to the ^006400Siege Expert^000000 who's right there in front.";
+ setquest 4161;
+ close;
+ }
+ }
+ mes "[Tutorial Goal]";
+ mes "Well, don't get discouraged... If you change your mind and want to do the challenge, come find me.";
+ close;
+}
+
+moc_para01,24,175,4 script Siege Master 734,{
+ set .@checkquest, checkquest(4161);
+ if (.@checkquest == 2) {
+ mes "[Siege Expert]";
+ mes "Since you've come again, I assume you're curious about ^006400Siege^000000?";
+ next;
+ switch(select("Listen about Siege.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Siege Expert]";
+ mes "Now that you've gone through all of this with an expert, isn't it easy to understand? If you want to go over anything, just come talk to me.";
+ close;
+ case 2:
+ mes "[Siege Expert]";
+ mes "If you want to go over anything, just come talk to me.";
+ close;
+ }
+ } else if (.@checkquest == 0 || .@checkquest == 1) {
+ mes "[Siege Expert]";
+ mes "I am someone who has studied War of Emperium for 16 years! So that makes me an expert! Since you came to find me, I assume you want to learn more about ^006400Siege^000000.";
+ next;
+ mes "[Siege Expert]";
+ mes "You have great desire and enthusiasm. As the Expert of ^006400Siege^000000, you have motivated me! All the other Experts are waiting for you! Go get'em!";
+ next;
+ mes "[Siege Expert]";
+ mes "If I told you that there was a great prize for being able to pass all the Experts' tests~ would you go for the challenge?";
+ next;
+ mes "[Siege Expert]";
+ mes "As the first Expert, I can teach you about ^006400Siege^000000. How about it? Did you wanna learn about ^006400Siege^000000s?";
+ next;
+ switch(select("Listen about Siege.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Siege Expert]";
+ mes "Now that you've gone through all of this with an expert, isn't it easy to understand?";
+ mes "Now I'll give you 3 questions~ get those right and you've passed! Do you want a challenge?";
+ while(1) {
+ set .@correct,0;
+ next;
+ switch(select("Challenge me!:Listen Again:Quit")) {
+ case 1:
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Siege Expert]";
+ mes "A Siege is done in order to take over a [].";
+ mes "It's a war that happens between a [] and another [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Castle, User, Guild:Castle, Guild, Guild:Town, Guild, Guild:Town, User, User") == 2)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "What is the wrong Siege time?";
+ next;
+ if(select("WoE 1 Tues 9-11:WoE 1 Sat 4-6:WoE 1 Thurs 8-10") == 3)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "When you get a castle, you must raise [] in order to get better benefits.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Commerce Development:Industrial Development:Guild Development:Town Development") == 1)
+ set .@correct, .@correct+10;
+ break;
+ case 2:
+ mes "[Siege Expert]";
+ mes "There are 2 types of Siege.";
+ mes "There is the normal War of Emperium";
+ mes "and then there is [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("War of Emperium MO:War of Emperium NE:War of Emperium SK:War of Emperium SE") == 4)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "As the guild that owns a castle, you must protect the [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Emperial:Emperium:Emperiom:Imperial") == 2)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "What benefits does the guild get for winning the Siege?";
+ next;
+ if(select("30% off all items when purchasing:Increase experience gained by 20%:Access to Guild Dungeon:Getting Weapons everyday at midnight.") == 3)
+ set .@correct, .@correct+10;
+ break;
+ case 3:
+ mes "[Siege Expert]";
+ mes "What benefits does the guild get for winning the Siege?";
+ next;
+ if(select("Increase experience gained by 20%:30% off all items when purchasing:Access to Guild Field:Treasure Box daily at midnight") == 4)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "How many hours does a siege last?";
+ next;
+ if(select("1 Hour:2 Hours:3 Hours:4 Hours") == 2)
+ set .@correct, .@correct+10;
+ mes "[Siege Expert]";
+ mes "When you get a castle, you must raise [] in order to get better benefits.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Town Development:Industry Development:Guild Development:Commerce Development") == 4)
+ set .@correct, .@correct+10;
+ break;
+ }
+ if (.@correct == 30) {
+ mes "[Siege Expert]";
+ mes "Wow! You got all 3 questions correct! So, you feel pretty good about ^006400Siege^000000s? Right?";
+ next;
+ mes "[Siege Expert]";
+ mes "If you ever want to learn about ^006400Siege^000000, come find me.";
+ next;
+ mes "[Siege Expert]";
+ mes "Now, go and find the ^0000FFParty Recruiting Expert^000000. He's waiting for you.";
+ completequest 4161;
+ setquest 4162;
+ getexp 2000,1000;
+ close;
+ }
+ mes "[Siege Expert]";
+ mes "There's only 3 questions and you didn't get them all right! At this rate, you'll fail all the Experts' tests.";
+ next;
+ mes "[Siege Expert]";
+ mes "But when I look at you I know you have potential. Did you want to try to tackle it again?";
+ break;
+ case 2:
+ callsub L_Info;
+ mes "[Siege Expert]";
+ mes "Now that you've gone through all of this with an expert, isn't it easy to understand?";
+ mes "Now I'll give you 3 questions~ get those right and you've passed! Do you want a challenge?";
+ break;
+ case 3:
+ mes "[Siege Expert]";
+ mes "Bah! You're no fun... you give up too easy! If you change your mind, come find me.";
+ close;
+ }
+ }
+ close;
+ case 2:
+ mes "[Siege Expert]";
+ mes "Are you giving up? If you change your mind, come find me.";
+ close;
+ }
+ }
+ mes "[Siege Expert]";
+ mes "If you want to learn something from me, go meet ^006400Tutorial Goal^000000 first.";
+ close;
+
+L_Info:
+ mes "[Siege Expert]";
+ mes "A ^006400Siege^000000 is a ^0000FFGuild vs. Guild^000000 war in hope to occupy a castle!";
+ next;
+ mes "[Siege Expert]";
+ mes "There are 2 different types of ^006400Siege^000000.";
+ mes "There is the standard ^006400War of Emperium^000000 and one that is slightly different which is known as ^006400War of Emperium 2^000000.";
+ next;
+ mes "[Siege Expert]";
+ mes "So during this time, there are two sides of the war.";
+ mes "The ^0000FFGuild That Owns a Castle^000000 tries to protect the ^006400Emperium^000000 and the ^0000FFGuild That Attacks a Castle^000000 tries to break the ^006400Emperium^000000.";
+ next;
+ mes "[Siege Expert]";
+ mes "You can find ^006400Siege^000000 times on our website.";
+ mes "And guilds that win also get a special something-something.";
+ next;
+ mes "[Siege Expert]";
+ mes "Guilds that win during the Siege";
+ mes "get access to a ^006400Guild Dungeon^000000";
+ mes "and the Guild Master gets to open ^006400Treasure Box^000000es at ^0000FFMidnight each day^000000.";
+ mes "Isn't that a great benefit?";
+ next;
+ mes "[Siege Expert]";
+ mes "Another thing you have to do when you win a castle is called ^006400Commerce Development^000000. The more you do it, the better the benefits.";
+ next;
+ return;
+}
+
+moc_para01,21,172,4 script Party Recruiting Expert 878,{
+ set .@checkquest, checkquest(4162);
+ if (.@checkquest == 2) {
+ mes "[Party Recruiting Expert]";
+ mes "Since you've come and found me, it seems you're curious about ^006400Party Recruiting^000000?";
+ next;
+ switch(select("Listen about Party Recruiting.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Party Recruiting Expert]";
+ mes "This expert's explanation was pretty great, huh? If you need a refresher, come find me again.";
+ close;
+ case 2:
+ mes "[Party Recruiting Expert]";
+ mes "Well, if you have any questions, come find me.";
+ close;
+ }
+ } else if (.@checkquest == 0 || .@checkquest == 1) {
+ mes "[Party Recruiting Expert]";
+ mes "I am the ^006400Party Recruiting^000000 expert because I did research about Party Recruting for 16 years! It seems that the ^006400Siege Expert^000000 sent you my way since you passed his tests, hmm?";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "You may have already heard but if you pass all the Experts' quizzes, you'll get an awesome prize!";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "As the 2nd expert, I'll tell you all about ^006400Party Recruiting^000000! How about it?";
+ next;
+ switch(select("Listen about Party Recruiting.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Party Recruiting Expert]";
+ mes "Now~ my explanations were smoother than a smooth criminal, right? Now I'm gonna give you a quiz with 3 questions. Get them all right and you've passed. Wanna take the challenge?";
+ while(1) {
+ set .@correct,0;
+ next;
+ switch(select("On to the quiz!:Explain again please?:Give up.")) {
+ case 1:
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Party Recruiting Expert]";
+ mes "Party Recruiting is used to help";
+ mes "users that are looking for []";
+ mes "and those looking for a [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Guild, Guildmate:Club, Club Members:Paris, Party Members:Party, Party Members") == 4)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "The window that is used to help users look and search for a party is called a [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Party List:Party Wanted List:Party Recruiting List:Costume Party List") == 3)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "Which of the choices are not listed as a choice to pick when making a party recruit notice?";
+ next;
+ if(select("LEVEL:SKILL:JOB:MAP") == 2)
+ set .@correct, .@correct+10;
+ break;
+ case 2:
+ mes "[Party Recruiting Expert]";
+ mes "There are 2 types of Party Recruiting.";
+ mes "Registering Party Recruiting is one";
+ mes "and the 2nd one is [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Search for Parties that are Recruiting:Parties that are starting to hunt:Party Recruit and Item Distribution:Party Stuff") == 1)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "In order to start Party Recruiting, you have to click the [] button which is located in the info section of the upper left hand side.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("party:guild:booking:skill") == 3)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "If you want to know more about commands for Party Recruiting, you have to press the [] button on the Party Recruting List window.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Basic Information:Help:Party:Confirm") == 2)
+ set .@correct, .@correct+10;
+ break;
+ case 3:
+ mes "[Party Recruiting Expert]";
+ mes "For Party Recruiting, in order to make the";
+ mes "Party Recruiting Window pop up,";
+ mes "You type in this command [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("/Party Collection Window:/Party Collection:/Party Recruitment Window:/Party Recruitment") == 4)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "When recruiting for a party, you can set 3 parameters. Those 3 are";
+ mes "LEVEL, JOB, and [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("SKILL:GUILD:MAP:OPTION") == 3)
+ set .@correct, .@correct+10;
+ mes "[Party Recruiting Expert]";
+ mes "Party Recruiting is used to help";
+ mes "users that are looking for []";
+ mes "and those looking for a [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Parry, Party Members:Club, Club Members:Party, Party Members:Guild, Guild Members") == 3)
+ set .@correct, .@correct+10;
+ break;
+ }
+ if (.@correct == 30) {
+ mes "[Party Recruiting Expert]";
+ mes "Nice! You got all 3 correct! Now do you feel more confident about ^006400Party Recruiting^000000?";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "If you ever want to hear more about ^006400Party Recruiting^000000, come find me anytime.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "Well, off you go to the ^0000FFBattleground Expert^000000! He is probably waiting for you.";
+ completequest 4162;
+ setquest 4163;
+ getexp 2000,1000;
+ close;
+ }
+ mes "[Party Recruiting Expert]";
+ mes "There's only 3 questions and you didn't get them all right! At this rate, you'll fail all the Experts' tests.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "But if you want to retake the quiz! Go for it! I think you have potential! Wanna take the quiz again?";
+ break;
+ case 2:
+ callsub L_Info;
+ mes "[Party Recruiting Expert]";
+ mes "Now~ my explanations were smoother than a smooth criminal, right? Now I'm gonna give you a quiz with 3 questions. Get them all right and you've passed. Wanna take the challenge?";
+ break;
+ case 3:
+ mes "[Party Recruiting Expert]";
+ mes "Don't give up! You can do it! If you change your mind, come talk to me again!";
+ close;
+ }
+ }
+ close;
+ case 2:
+ mes "[Party Recruiting Expert]";
+ mes "You're gonna give up without even listening to me? If you change your mind, come talk to me again!";
+ close;
+ }
+ }
+ mes "[Party Recruiting Expert]";
+ mes "If you want to learn something from me, talk to the ^006400Siege Master^000000 first.";
+ close;
+
+L_Info:
+ mes "[Party Recruiting Expert]";
+ mes "^006400Party Recruiting^000000 is pretty self explanatory. It helps people find party members and it helps people find parties.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "There are 2 parts to Party Recruiting.";
+ mes "1st step is ^0000FFRegistering Party Recruiting^000000,";
+ mes "and the 2nd step is ^0000FFParty Search^000000.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "In order to look up Party Recruiting, in the info window on the upper left, click the button that says ^006400booking^000000. Then the ^006400Party Recruiting List^000000 will come up.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "^006400Party Recruiting List^000000 window shows you the parties that are looking for members that was listed by other users. You can search through it.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "In the case that you don't want to join a party, but you want to recruit for one, type in the ^0000FF/Party Recruit^000000 command then in the ^006400Party Recruiting^000000 window, you can do some recruiting!";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "Once you register your party recruit notice in the ^006400Party Recruiting^000000 window, the users can search out your ^006400Party Recruiting List^000000";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "In the ^006400Party Recruiting List^000000 and";
+ mes "^006400Party Recruiting^000000 you can put in basic information of what you're going to be doing, or what you're looking for like ";
+ mes "^006400LEVEL^000000, ^006400MAP^000000, ^006400JOB^000000.";
+ mes "Then the users can search using those parameters and utilizing the ^006400Party Recruitment^000000 system.";
+ next;
+ mes "[Party Recruiting Expert]";
+ mes "If you want to learn more commands about ^006400Party Recruiting^000000, click on the ^006400Help^000000 button on the bottom right of the ^006400Party Recruiting list^000000.";
+ next;
+ return;
+}
+
+moc_para01,12,179,6 script Battleground Master 419,{
+ set .@checkquest, checkquest(4163);
+ if (.@checkquest == 2) {
+ mes "[Battleground Expert]";
+ mes "Seeing that you sought me out, I guess you want to learn about ^006400Battleground^000000s, eh?";
+ next;
+ switch(select("Learn about Battlegrounds.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Battleground Expert]";
+ mes "There's nothing better than hearing it straight from the expert! If you want to go over it again, just talk to me.";
+ close;
+ case 2:
+ mes "[Battleground Expert]";
+ mes "If you want to go over anything, let me know.";
+ close;
+ }
+ } else if (.@checkquest == 0 || .@checkquest == 1) {
+ mes "[Battleground Expert]";
+ mes "For 16 years, I experienced the intense heat of battle on the ^006400Battleground^000000s... I am the ^006400Battleground^000000 Expert!";
+ mes "It seems that the ^006400Party Recruiting Expert^000000 sent you to me since you passed his quiz.";
+ next;
+ mes "[Battleground Expert]";
+ mes "You may already know but if you get pass all the quizzes from the Experts, you'll get a prize!";
+ next;
+ mes "[Battleground Expert]";
+ mes "I will tell you about the ^006400Battleground^000000s! I will tell you everything I know! How about it? Wanna hear about it?";
+ next;
+ switch(select("Learn about Battlegrounds.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Battleground Expert]";
+ mes "There's nothing better than hearing it straight from the expert! Now, do you wanna take my 3-question quiz? You have to answer all 3 correctly to pass!";
+ while(1) {
+ set .@correct,0;
+ next;
+ switch(select("On to the quiz!:Explain again please?:Give up.")) {
+ case 1:
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Battleground Expert]";
+ mes "For starters, you have to pick either the side of [] Camp or [] Camp in order to to participate in Battleground.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Guillaume, Tierra:Rachel, KVM:Guillaume, Croix:Maroll, KVM") == 3)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "[] can do either 10vs10 and you have to attack the crystals of the opposing team while protecting yours.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Tierra:Flavius:KVM:Maroll") == 2)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "When you complete a battle, you may get a reward! From a KVM battle, you get [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("KVM Badge:Valor Badge:Bravery Badge:Honor Badge") == 1)
+ set .@correct, .@correct+10;
+ break;
+ case 2:
+ mes "[Battleground Expert]";
+ mes "For [], it's 10vs10. You also need to attack the enemies supply depot while protecting your own.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Maroll:KVM:Flavius:Tierra") == 4)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "In order to get into the battlegrounds, which one is not the recruiter you need to find?";
+ next;
+ if(select("Maroll Mercenary Recruiter:KVM Mercenary Recruiter:Tierra Mercenary Recruiter:Flavius Mercenary Recruiter") == 1)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "You can get [] from participating in the Battlegrounds of Tierra.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("KVM Badge:Valor Badge:Bravery Badge:Honor Badge") == 2)
+ set .@correct, .@correct+10;
+ break;
+ case 3:
+ mes "[Battleground Expert]";
+ mes "In every major city, you can find [] to enter the Battlegrounds.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Maroll Battleground Recruiter:Tierra Battleground Recruiter:Flavius Battleground Recruiter:KVM Battleground Recruiter") == 1)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "For [], you go in 5vs5 with the intention of trying to reduce the number of enemies on the opposite side.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Maroll:Flavius:KVM:Tierra") == 3)
+ set .@correct, .@correct+10;
+ mes "[Battleground Expert]";
+ mes "When you complete a battle, you get a prize. The prize from Flavius is called [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("KVM Badge:Valor Badge:Bravery Badge:Honor Badge") == 3)
+ set .@correct, .@correct+10;
+ break;
+ }
+ if (.@correct == 30) {
+ mes "[Battleground Expert]";
+ mes "You got all 3 correct! I think you got a pretty good head on your shoulders. You know a thing or two about ^006400Battleground^000000s.";
+ next;
+ mes "[Battleground Expert]";
+ mes "If you ever want to go over anything about ^006400Battleground^000000s, feel free to come talk to me!";
+ next;
+ mes "[Battleground Expert]";
+ mes "Go on and find and talk to the 0000FFMemorial Dungeon Expert^000000!";
+ completequest 4163;
+ setquest 4164;
+ getexp 2000,1000;
+ close;
+ }
+ mes "[Battleground Expert]";
+ mes "There's only 3 questions and you didn't get them all right! At this rate, you'll fail all the Experts' tests.";
+ next;
+ mes "[Battleground Expert]";
+ mes "But if you want to take it on again, you should.";
+ break;
+ case 2:
+ callsub L_Info;
+ mes "[Battleground Expert]";
+ mes "There's nothing better than hearing it straight from the expert! Now, do you wanna take my 3-question quiz? You have to answer all 3 correctly to pass!";
+ break;
+ case 3:
+ mes "[Battleground Expert]";
+ mes "Don't disappoint me by giving up. If you change your mind, come find me again.";
+ close;
+ }
+ }
+ close;
+ case 2:
+ mes "[Battleground Expert]";
+ mes "You're a coward if you give up even before starting. If you change your mind, come find me again.";
+ close;
+ }
+ close;
+ }
+ mes "[Battleground Expert]";
+ mes "If you want to learn something from me, go get acknowledged by the ^006400Party Recruiting Expert^000000 first.";
+ close;
+
+L_Info:
+ mes "[Battleground Expert]";
+ mes "To explain ^006400Battleground^000000 easily...";
+ mes "You pick either Camp ^006400Guillaume^000000 or Camp ^006400Croix^000000 then you fight each other.";
+ next;
+ mes "[Battleground Expert]";
+ mes "There are 3 types of ^006400Battleground^000000s.";
+ mes "First is ^006400KVM^000000. It is a 5vs5 battle with the goal of reducing the number of people on either side.";
+ next;
+ mes "[Battleground Expert]";
+ mes "The second one is 10vs10. You attack the supply depots of your opponents and in turn, you protect your supply depots. This is called ^006400Tierra^000000.";
+ next;
+ mes "[Battleground Expert]";
+ mes "The third and final one is called ^006400Flavius^000000. This one is also 10vs10. For this one, you attack the crystals of your opponents while trying to protect your own.";
+ next;
+ mes "[Battleground Expert]";
+ mes "To get to ^006400Battleground^000000s, find ^006400Maroll, the Recruiter^000000 who can be found in all major towns.";
+ next;
+ mes "[Battleground Expert]";
+ mes "After you enter, pick if you want to side with Guillaume or Croix, then on their side, pick either...";
+ mes "^006400KVM Mercenary Recruiter^000000,";
+ mes "^006400Tierra Mercenary Recruiter^000000, or";
+ mes "^006400Flavius Mercenary Recruiter^000000,";
+ mes "then you can join the ^006400Battleground^000000s.";
+ next;
+ mes "[Battleground Expert]";
+ mes "Depending on the outcome of the ^006400Battleground^000000 you can get a prize too.";
+ mes "You get KVM Badges from ^006400KVM^000000,";
+ mes "from ^006400Tierra^000000 you obtain Bravery Badges and";
+ mes "you receive Valor Badges ^006400Flavius^000000.";
+ next;
+ mes "[Battleground Expert]";
+ mes "With the rewards from ^006400Battleground^000000s, you can get items that you can't normally get elsewhere.";
+ mes "Each ^006400Battleground^000000 reward you can obtain is different so you'll have to check on it.";
+ next;
+ return;
+}
+
+moc_para01,28,167,3 script Memorial Dungeon Expert 868,{
+ set .@checkquest, checkquest(4164);
+ if (.@checkquest == 2) {
+ mes "[Memorial Dungeon Expert]";
+ mes "Since you've come here, it seems you want to learn about the ^006400Memorial Dungeon^000000.";
+ next;
+ switch(select("Listen about Memorial Dungeon.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Memorial Dungeon Expert]";
+ mes "Now that you've listend to an expert, it's easy to understand, right? If you want to hear about it again, come find me.";
+ close;
+ case 2:
+ mes "[Memorial Dungeon Expert]";
+ mes " If you want to hear about it again, come find me.";
+ close;
+ }
+ } else if (.@checkquest == 0 || .@checkquest == 1) {
+ mes "[Memorial Dungeon Expert]";
+ mes "I am the ^006400Memorial Dungeon^000000 Expert! I studied the ^006400Memorial Dungeon^000000 for 16 years!";
+ mes "Since you've sought me out, I assume that you've passed the ^006400Battleground Expert^000000's quiz.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "As you already know, if you pass all the Experts' quiz you'll get a prize.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "As the 4th Expert, I will explain everything to you about ^006400Memorial Dungeon^000000.";
+ mes "Want to hear about ^006400Memorial Dungeon^000000?";
+ next;
+ switch(select("Listen about Memorial Dungeon.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Memorial Dungeon Expert]";
+ mes "Now that you've listend to an expert, it's easy to understand, right? If you want to hear about it again, come find me.";
+ mes "Okay, now I'm gonna give you a quiz. You have to get all the questions right to pass. Ready?";
+ while(1) {
+ set .@correct,0;
+ next;
+ switch(select("On to the quiz!:Explain again please?:Give up.")) {
+ case 1:
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Memorial Dungeon Expert]";
+ mes "^006400Memorial Dungeon^000000 isn't a dungeon that is open to all users. It's only available to you and your [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Party Members:Guildmates:Friends:Family") == 1)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "If you go to [] and find [], he will give you information about Endless Tower- which is a huge and tall dungeon.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Prontera, Seiyablem:Alberta, Leyablem:Alberta, Captain Jansen:Prontera, Captin Jansen") == 3)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "In order to enter Memorial Dungeon the [] must apply and then be on stand-by to enter. You will enter in the order the application was put in.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Guild Member:Guild Leader:Party Leader:Party Member") == 3)
+ set .@correct, .@correct+10;
+ break;
+ case 2:
+ mes "[Memorial Dungeon Expert]";
+ mes "When you're done with the [], you cannot re-enter the same dungeon for a certain period of time.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Buff:Ritual:Exploration:Inspection") == 3)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "If you go to the Orc Map where all the orcs live, you will be able to find []. He will probably be able to give you information about the Orc's Memory dungeon.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Insane Scientist:Crazy Scientist:Insane Alchemist:Crazy Alchemist") == 1)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "In order to enter Memorial Dungeon, the [] must apply- then you'll be able to enter in order of when your application was turned in.";
+ mes "You have to be on stand-by for this.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Guild Leader:Guildmate:Party Member:Party Leader") == 4)
+ set .@correct, .@correct+10;
+ break;
+ case 3:
+ mes "[Memorial Dungeon Expert]";
+ mes "If you go to the place where you can become a monk, the Capitolina Monastery, you can meet []. He will tell you about the dungeon with the Sealed Baphomet.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Agent Patrick:Patrolman Patrick:Drunken Patrick:Detective Patrick") == 4)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "When you're done with the [], you cannot re-enter the same dungeon for a certain period of time.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Exploration:Inspection:Buff:Ritual") == 1)
+ set .@correct, .@correct+10;
+ mes "[Memorial Dungeon Expert]";
+ mes "^006400Memorial Dungeon^000000 is not just open to all users. It is open available for you and your [].";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Friends:Family:Party Members:Guildmates") == 3)
+ set .@correct, .@correct+10;
+ break;
+ }
+ if (.@correct == 30) {
+ mes "[Memorial Dungeon Expert]";
+ mes "You're pretty bright~ seeing that you got all 3 correct. Now do you understand about ^006400Memorial Dungeon^000000?";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "If you ever want to go over things about ^006400Memorial Dungeon^000000, come talk to me any time.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Now, off you go to the the ^0000FFMap Expert^000000!";
+ completequest 4164;
+ setquest 4165;
+ getexp 2000,1000;
+ close;
+ }
+ mes "[Memorial Dungeon Expert]";
+ mes "The quiz wasn't that hard...";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "You look like you have potential... you should try again.";
+ break;
+ case 2:
+ callsub L_Info;
+ mes "[Memorial Dungeon Expert]";
+ mes "It's easy to understand since it's coming from an expert like me. Now it's quiz time. You have to get all the answers correct to pass. Are you ready?";
+ break;
+ case 3:
+ mes "[Memorial Dungeon Expert]";
+ mes "Giving up is lame. If you change your mind, come talk to me.";
+ close;
+ }
+ }
+ close;
+ case 2:
+ mes "[Memorial Dungeon Expert]";
+ mes "Giving up without even trying is lame. If you change your mind, come talk to me.";
+ close;
+ }
+ close;
+ }
+ mes "[Memorial Dungeon Expert]";
+ mes "If you want to learn anything from me, talk to the ^006400Battleground Master^000000 first and get acknowledged by him.";
+ close;
+
+L_Info:
+ mes "[Memorial Dungeon Expert]";
+ mes "The ^006400Memorial Dungeon^000000is not a dungeon that is open to everyone. It only opens to ^0000FFYou and your Party Members^000000.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Therefore, in order to enter ^006400Memorial Dungeon^000000, the Party Leader must apply to enter. Since you enter in the order you apply, you must be on stand-by to enter.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Also, after you explore Memorial Dungeon, you cannot re-enter the same ^006400Memorial Dungeon^000000 for a certain period of time.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Many ^006400Memorial Dungeon^000000s exist, but we will give you hints to help you find Memorial Dungeon in the world of Rune Midgard.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "First, go to ^8B4513Alberta^000000 and find ^006400Captain Jansen^000000.";
+ mes "He will give you information about the really huge and tall dungeon known as ^006400Endless Tower^000000.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Second, go to the ^8B4513Orc Map^000000 where all the orcs live and find the ^006400Insane Scientist^000000.";
+ mes "You might be able to get some information about a dungeon that has to do with ^006400Orc's Memory^000000.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Third and last, seek out the place where you can become a monk, which is the ^8B4513Capitolina Monastery^000000 and seek out ^006400Detective Patrick^000000.";
+ mes "He will be able to give you information about the dungeon with the ^006400Sealed Baphomet^000000+.";
+ next;
+ mes "[Memorial Dungeon Expert]";
+ mes "Of course there are other locations for Memorial Dungeon but it's best to start where you can find it easily.";
+ mes "As you continue to go on your adventures you will be able to find them more easily.";
+ next;
+ return;
+}
+
+moc_para01,14,168,6 script Map Expert 743,{
+ set .@checkquest, checkquest(4165);
+ if (.@checkquest == 2) {
+ mes "[Map Expert]";
+ mes "Seeing that you came to me, I assume you have some questions about ^006400MAP^000000s?";
+ next;
+ switch(select("List about the Map.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Map Expert]";
+ mes "If you end up in those areas while you're adventuring, be sure to tell me all about it!";
+ mes "And now, since you've passed all the Expert's quizzes, go on and talk to ^006400Tutorial Goal^000000.";
+ close;
+ case 2:
+ mes "[Map Expert]";
+ mes "If you have any more questions, come find me.";
+ close;
+ }
+ } else if (.@checkquest == 0 || .@checkquest == 1) {
+ mes "[Map Expert]";
+ mes "I have been researching and studying ^006400MAP^000000s for 16 years and so now I am the ^006400MAP^000000 Expert!";
+ mes "Since you've sought me out, it seems you've passed ^006400Memorial Dungeon Expert^000000's quiz.";
+ next;
+ mes "[Map Expert]";
+ mes "As you already know, if you pass all the Experts' quiz you'll get a prize.";
+ next;
+ mes "[Map Expert]";
+ mes "As the last Expert, I will try to explain everything about ^006400MAP^000000s to make it easy on you. Ready to start?";
+ next;
+ switch(select("Listen about Maps.:End Conversation.")) {
+ case 1:
+ callsub L_Info;
+ mes "[Map Expert]";
+ mes "How was my explanation? Now I am gonna give you a quick quiz! You have to get all the answers correct in order to pass. Ready?";
+ while(1) {
+ set .@correct,0;
+ next;
+ switch(select("On to the quiz!:Explain again please?:Give up.")) {
+ case 1:
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Map Expert]";
+ mes "You can view the map by clicking on the [] button that is located in the upper left hand side.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("SKILL:GUILD:MAP:BOOKING") == 3)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "When looking at the map, each area offers the [] and [] information about the monsters. That will take all the guess work out of where you should hunt.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Name, Age:Attributes, Level:Attributes, Tribe:Name, Level") == 4)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "If you want to stop looking at the map, simple press the shortcut key of [] or ESC and it will close the map for you.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("ALT + F4:CTRL + %:CTRL + M:ALT + ESC") == 2)
+ set .@correct, .@correct+10;
+ break;
+ case 2:
+ mes "[Map Expert]";
+ mes "After you open your map and you";
+ mes "hover your mouse over specific areas";
+ mes "you can see the [] and [] of the region.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Name, Area Details:Name, Monster Attributes:Specialties, Area Details:Specialties, Name") == 1)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "If you look to the bottom right of the map, you will see a drawing of []. Click on that or press the TAB shortcut key and you can find out various information.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Desert Wolf:Mimic:Siroma:Poring") == 4)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "While looking at the map, when you press the TAB shortcut key, you will be able to find and locate various dungeons and their Entrance Locations.";
+ mes "You can also find the [] of the monsters in that area.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Name:Level:Attribute:Size") == 2)
+ set .@correct, .@correct+10;
+ break;
+ case 3:
+ mes "[Map Expert]";
+ mes "If you want to stop looking at the map, all you need to do is press the [] to go back to your normal screen.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("O:X:EXIT:ALT") == 2)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "While looking at the map, when you press the TAB shortcut key, you will be able to find and locate various dungeons and their Entrance Locations.";
+ mes "You can also find the [] of the monsters in that area.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("Level:Name:Size:Attribute") == 1)
+ set .@correct, .@correct+10;
+ mes "[Map Expert]";
+ mes "You can view the map by clicking on the [] button that is located in the upper left hand side.";
+ mes "What words go in the empty spaces of []?";
+ next;
+ if(select("GUILD:SKILL:BOOKING:MAP") == 4)
+ set .@correct, .@correct+10;
+ break;
+ }
+ if (.@correct == 30) {
+ mes "[Map Expert]";
+ mes "Bingo! You got all 3 answers correct! Now, do you feel like you understand stuff about ^006400MAP^000000s more?";
+ next;
+ mes "[Map Expert]";
+ mes "If you ever feel like you want to learn more about ^006400MAP^000000s, come talk to me anytime.";
+ next;
+ mes "[Map Expert]";
+ mes "Congrats on passing all the Experts' quizzes! Now, go find and talk to the ^006400Tutorial Goal^000000!";
+ completequest 4165;
+ setquest 4166;
+ getexp 2000,1000;
+ close;
+ }
+ mes "[Map Expert]";
+ mes "The 3 questions shouldn't have been that hard...";
+ next;
+ mes "[Map Expert]";
+ mes "Well, you seem to be pretty smart so why not try the quiz again?";
+ break;
+ case 2:
+ callsub L_Info;
+ mes "[Map Expert]";
+ mes "How is this Expert's explanations? Now I am gonna give you a quick quiz. You have to get all the answers correct to pass. Want to try it?";
+ break;
+ case 3:
+ mes "[Map Expert]";
+ mes "I'm the last Expert! Dont' give up! Come find me again when you're ready!";
+ close;
+ }
+ }
+ close;
+ case 2:
+ mes "[Map Expert]";
+ mes "You're gonna give up without even trying? But I'm the last Expert! Dont' give up! Come find me again when you're ready!";
+ close;
+ }
+ close;
+ }
+ mes "[Map Expert]";
+ mes "If you want to learn from me, go get acknowledged by the ^006400Memorial Dungeon^000000 first.";
+ close;
+
+L_Info:
+ mes "[Map Expert]";
+ mes "A ^006400MAP^000000 shows you things that is much needed for travelling around the world; such as the lay of the land, major towns and fields and such. It's a very important tool!";
+ next;
+ mes "[Map Expert]";
+ mes "Because of this, it's more important than everything else that you know about ^006400MAP^000000s.";
+ next;
+ mes "[Map Expert]";
+ mes "The map can be accessed by clicking on the button that says ^006400MAP^000000 on the upper left side of your screen.";
+ next;
+ mes "[Map Expert]";
+ mes "When you click on the ^006400MAP^000000 button, a full sized map of Rune Midgards will take up your screen.";
+ mes "When you ^0000FFHover your mouse over specific areas^000000, you can find out more things such as ^006400NAME^000000 and Area Details.";
+ next;
+ mes "[Map Expert]";
+ mes "If you look to the lower right side of your map, there is a ^006400Poring drawing^000000.";
+ mes "If you click on it or press the ^006400TAB^000000 shortcut key, you will be able to various information.";
+ next;
+ mes "[Map Expert]";
+ mes "Firstly, you can find out the ^006400NAME^000000 and ^006400LEVEL^000000 of the monsters in each area. That will take a lot of the guess work out of where you want to go hunt.";
+ next;
+ mes "[Map Expert]";
+ mes "Secondly, You can locate various ^006400DUNGEON^000000s and their";
+ mes "^006400Entrance Location^000000. Plus, it'll also tell you monsters that reside in that area";
+ mes "along with their ^006400LEVEL^000000. It's displayed in red so it's easy to find.";
+ next;
+ mes "[Map Expert]";
+ mes "If you want to stop looking at the map, there are 2 ways to do this.";
+ mes "You can press the shortcut keys which are ^006400CTRL + %^000000 or ^006400ESC^000000";
+ mes "Or at the top right of the map, there is a ^006400X^000000 button. Click that and you will return to your normal game screen.";
+ next;
+ mes "[Map Expert]";
+ mes "Currently, we cannot see places that are beyond Rune Midgards but it has been said that there are a lot of unknown worlds that exist in the beyond.";
+ next;
+ return;
+}
diff --git a/npc/re/quests/homu_s.txt b/npc/re/quests/homu_s.txt
index 1881a97ca..66e2b5c3d 100644
--- a/npc/re/quests/homu_s.txt
+++ b/npc/re/quests/homu_s.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Homunculus S Quest
//===== By: ==================================================
//= Masao
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Evolves an Homunculus which is at least Level 99 to the
//= new Homunculus S Class.
diff --git a/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt
index 943d0c8dd..9f9ccec1f 100644
--- a/npc/re/quests/magic_books.txt
+++ b/npc/re/quests/magic_books.txt
@@ -1,4 +1,4 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Magic Book Seller
//===== By: ==================================================
//= Masao
@@ -6,7 +6,7 @@
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena
+//= Hercules
//===== Description: =========================================
//= An NPC which sells you different kinds of Magic Books.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/mrsmile.txt b/npc/re/quests/mrsmile.txt
index c36ecf91a..029633437 100644
--- a/npc/re/quests/mrsmile.txt
+++ b/npc/re/quests/mrsmile.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mr. Smile Quest
//===== By: ==================================================
//= Daegaladh, Masao
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= [Aegis Conversion]
//= Trade Clover, Fluff and Jellopy for a Mr. Smile mask.
diff --git a/npc/re/quests/pile_bunker.txt b/npc/re/quests/pile_bunker.txt
index 31b36c82b..c2c979430 100644
--- a/npc/re/quests/pile_bunker.txt
+++ b/npc/re/quests/pile_bunker.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Pile Bunker Quest
//===== By: ==================================================
//= JayPee Mateo
//===== Current Version: =====================================
//= 2.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= 1.0 A Pile Bunker quest based on iRO WiKi. [JayPee Mateo]
//= 2.0 Rewrited the Script a little so it looks a bit better. [Masao]
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index 88b021a0f..e9256047f 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Brasilis Qiests
//===== By ===================================================
//= L0ne_W0lf
//===== Version ==============================================
//= 1.2
//===== Compatible With ======================================
-//= rAthena SVN
+//= Hercules
//===== Description ==========================================
//= [Translated from the Official]
//= Lost Puppies (Repeatable, 24 hours.)
@@ -227,9 +227,9 @@ brasilis,192,133,6 script Lucia#brasilis 478,{
if (.@nQState2 > -1) erasequest 9029;
setquest 9029;
percentheal 100,100;
- sc_start SC_LUKFOOD, 1200000, 5; percentheal 5,2;
- sc_start SC_VITFOOD, 1200000, 5; percentheal 10,0;
- sc_start SC_DEXFOOD, 1200000, 5; percentheal 5,5;
+ sc_start SC_FOOD_LUK, 1200000, 5; percentheal 5,2;
+ sc_start SC_FOOD_VIT, 1200000, 5; percentheal 10,0;
+ sc_start SC_FOOD_DEX, 1200000, 5; percentheal 5,5;
getitem 11502,3; //Light_Blue_Pot
close;
}
@@ -971,7 +971,7 @@ OnTouch_:
set brazil_gua,8;
changequest 2197,2198;
close2;
- sc_start SC_SpeedUp1,5000,0;
+ sc_start SC_MOVHASTE_INFINITY,5000,0;
end;
}
else {
@@ -3071,13 +3071,13 @@ bra_dun02,157,74,5 script Iara#nk 478,2,2,{
delitem 11517,1; //Puri_Potion
percentheal 100,100;
sc_start SC_INCFLEE,3600000,20;
- sc_start SC_INCCRI,3600000,10;
- sc_start SC_STRFOOD,1200000,3;
- sc_start SC_DEXFOOD,1200000,3;
- sc_start SC_AGIFOOD,1200000,3;
- sc_start SC_VITFOOD,1200000,3;
- sc_start SC_INTFOOD,1200000,3;
- sc_start SC_LUKFOOD,1200000,3;
+ sc_start SC_CRITICALPERCENT,3600000,10;
+ sc_start SC_FOOD_STR,1200000,3;
+ sc_start SC_FOOD_DEX,1200000,3;
+ sc_start SC_FOOD_AGI,1200000,3;
+ sc_start SC_FOOD_VIT,1200000,3;
+ sc_start SC_FOOD_INT,1200000,3;
+ sc_start SC_FOOD_LUK,1200000,3;
next;
mes "[Iara]";
mes "Ahhh~...";
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index ad986da6c..f0f6fef1e 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Dewata Quest NPCs
//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Quest NPCs related to Dewata:
//== "Dewata Legend"
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index e55ed80a6..20320b078 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= El Dicastes Quest NPCs
//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
-//= 1.8a
+//= 1.9a
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Quest NPCs related to Dewata:
//== Sapha's Visit, Doha's Secrect Order, Frede's Request,
@@ -25,6 +25,9 @@
//= 1.7 Updated to match the official script. [Joseph]
//= 1.8 Optimized and fixed invalid checkquest. [Joseph]
//= 1.8a Disabled "Fish Tails" until Izlude RE coordinates are found. [Euphy]
+//= 1.8b Updated "Calyon" NPC and fixed a check. [Euphy]
+//= 1.9 Updated "Fish Tails" with RE coordinates.
+//= 1.9a Minor fix. [Joseph]
//============================================================
// Entrance
@@ -436,7 +439,7 @@ function script que_dic {
delitem getarg(3), getarg(4);
}
else if (getarg(0) == 2) {
- for(.@i = 1; .@i < getargcount(); .@i++) {
+ for(set .@i,1; .@i<getargcount(); set .@i,.@i+1) {
if (checkquest(getarg(.@i)) >= 0)
erasequest getarg(.@i);
}
@@ -1027,7 +1030,7 @@ dic_in01,40,193,1 script Papyrus#0001 453,{
else if (.@doc == 11) eldicastes_dp(12169,"Stem","There is nothing like Midgard plants in Manuk.","These plants are used for food and medicine and some are even poisonous.");
else if (.@doc == 12) eldicastes_dp(12170,"Pointed Scale","Stem from a bumpy life form. Research required as the usage is unknown.","");
else if (.@doc == 13) eldicastes_dp(12171,"Resin","Sap from an old tree collected and solidified. Very valuable in the human world.","");
- //else if (.@doc == 14) eldicastes_dp(12174,"Fish Tail","Humans eat meat called fish.","Can be used as important food supply for foreign adventurers visiting in the city.");
+ else if (.@doc == 14) eldicastes_dp(12174,"Fish Tail","Humans eat meat called fish.","Can be used as important food supply for foreign adventurers visiting in the city.");
else if (.@doc == 15) eldicastes_dp(12175,"Worm Peeling","They say some Worm Peelings are valuable.","But this is based on the human's standard of value. Research required.");
else if (.@doc == 16) eldicastes_dp(12176,"Gill","There are Midgard creatures that live in the sea and breathe through gills.","Further research on their ecology will be useful.");
else if (.@doc == 17) eldicastes_dp(12177,"Tooth of Bat","Traces of a nocturnal creature unknown to Manuk. Not a strong creature from the size of its teeth.","");
@@ -1090,7 +1093,7 @@ dic_in01,25,187,0 duplicate(Document Package#main) Document Package#0004 844
function script unknown_d {
if (checkquest(getarg(0)) == -1) {
- mes "You see some traces of digging";
+ mes "You see some traces of digging.";
close;
}
specialeffect2 EF_SPRINKLESAND;
@@ -1115,7 +1118,7 @@ pay_fild02,105,113,0 script Pointed Scales 844,{ unknown_d(12170,906); }
pay_fild01,152,171,0 script Resin 844,{ unknown_d(12171,907); }
gef_fild01,104,111,0 script Spawn 844,{ unknown_d(12172,908); }
prt_fild08,299,332,0 script Jellopy 844,{ unknown_d(12173,909); }
-//izlude,132,136,0 script Fish Tails 844,{ unknown_d(12174,1023); }
+izlude,136,160,0 script Fish Tails 844,{ unknown_d(12174,1023); } // Pre-RE: izlude (132,136)
prt_fild05,303,169,0 script Worm Peelings 844,{ unknown_d(12175,955); }
iz_dun03,155,165,0 script Gills 844,{ unknown_d(12176,956); }
mjo_dun01,222,226,0 script Tooth of Bat 844,{ unknown_d(12177,913); }
@@ -2279,159 +2282,175 @@ dic_in01,158,188,3 script Jarute HesLanta#ep133_2 451,{
}
dicastes01,223,190,1 script Calyon#pa8029 453,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of items. Let's try again after you reduce the number of items.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "Cannot proceed because the weight of your items is too heavy. Let's try again after you get rid of some weight.";
+ close;
+ }
+ if (!isequipped(2782)) {
+ mes "¡õ¢£¡ô";
+ mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£";
+ next;
+ mes "I don't feel confident in talking since you wouldn't understand anything.";
+ close;
+ }
+ if (ep13_3_invite < 6) {
+ mes "Sapha keeps a distance from you even when you try to talk. Looks like he called on Guard Galten. Time to go.";
+ close;
+ }
mes "[Calyon]";
- if (isequipped(2782)) {
- if (ep13_3_invite == 5) {
- if (BaseLevel < 80) {
- mes "Sorry, a minimum base level of 80 or higher is required to obtain my request.";
- close; }
- if (checkquest(12163,PLAYTIME) == 2) {
- mes "Calculate your request activities with the ^800080Transport Dept. 1 Manager^000000 at Operations and then come back.";
- close;
- } else if (checkquest(12163,PLAYTIME) != -1) {
- mes "We're done for the day. You can report back to the ^800080Transport Dept. 1 Manager^000000 at Operations. Good luck.";
- close; }
- mes "Welcome.";
- mes "What brings you here?";
- next;
- if(select("Please explain the request to me.", "Please give me a request.")==1) {
- mes "[Calyon]";
- mes "The Transport Dept. 1 and 2 brings in rare items that are not available here.";
- next;
- mes "[Calyon]";
- mes "It is one of the key departments that obtains the rich supplies mostly from the Midgard Continent.";
- next;
- mes "[Calyon]";
- mes "Please see me any time once you are ready.";
- close;
- }
- set .@calyonrequest,rand(1,11);
- mes "[Calyon]";
- mes "Finally, I have a request for you. It is an important one so I need you to be focused.";
- next;
- mes "[Calyon]";
- if (.@calyonrequest == 1) {
- setquest 12139;
- setquest 12163;
- mes "The high minister is looking for the Midgard product, Witherless Roses these days.";
- mes "Not sure if it's a good gift but some have seen him with it on his head and showing it off.";
- next;
- mes "[Calyon]";
- mes "So... I know this is difficult to ask for but please bring me 1 Witherless Rose. This is just between you and me.";
- next;
- mes "You have received a request named ^800080Respect for Taste^000000.";
- } else if (.@calyonrequest == 2) {
- setquest 12137;
- setquest 12163;
- mes "The industrial research center researches ways of refining Bradium efficiently but they are always short on test materials.";
- next;
- mes "[Calyon]";
- mes "I heard there is a merchant in the adventurer's city who sells Glass Tubes. I will need 4 of them.";
- next;
- mes "You have received a request named ^800080Tools for Experiment^000000.";
- } else if (.@calyonrequest == 3) {
- setquest 12138;
- setquest 12163;
- mes "The pub owner said he wants to give a gift to all his regular Sapha customers.";
- next;
- mes "[Calyon]";
- mes "But doesn't know what to give. If you see any interesting gifts in Midgard, can bring back 5 of them?";
- next;
- mes "You have received a request named ^800080Fine Gift Samples^000000.";
- } else if (.@calyonrequest == 4) {
- setquest 12140;
- setquest 12163;
- mes "A request from the pub owner. He says he can't use disposable leaf plates for regular customers.";
- next;
- mes "[Calyon]";
- mes "He is asking for 15 solid, white chinas from Midgard.";
- next;
- mes "You have received a request named ^800080Courtesy for Regular^000000.";
- } else if (.@calyonrequest == 5) {
- setquest 12141;
- setquest 12163;
- mes "I have a personal request. I heard there is a round transparent handicraft in Midgard.";
- mes "I think they are called Glass Beads.";
- next;
- mes "[Calyon]";
- mes "We have similar manufactured items here but nothing compared to the elaborate sphere there.";
- mes "Please get me 10 of them.";
- next;
- mes "You have received a request named ^800080Special Package^000000.";
- } else if (.@calyonrequest == 6) {
- setquest 12142;
- setquest 12163;
- mes "Hmm... I don't know how to start. The high minister is requesting for puppets from Midgard.";
- mes "I don't know what it is but since the high minister is asking for it, it must be used for a very important purpose.";
- next;
- mes "[Calyon]";
- mes "Please bring 15 of them.";
- next;
- mes "You have received a request named ^800080Dangerous Request^000000.";
- } else if (.@calyonrequest == 7) {
- setquest 12143;
- setquest 12163;
- mes "I heard there is a trend among many of my colleagues here about a musical accessory made from a Bill of Birds from Midgard.";
- next;
- mes "[Calyon]";
- mes "I'm thinking of distributing them within the Operations building.";
- mes "Can you buy and bring back 50 of them?";
- next;
- mes "You have received a request named ^800080Strange Trend^000000.";
- } else if (.@calyonrequest == 8) {
- setquest 12144;
- setquest 12163;
- mes "The pub owner said he wanted to decorate the pub with something called Clam Shells.";
- mes "Please bring back about 50 of them.";
- next;
- mes "[Calyon]";
- mes "I have no idea how he will use them but I think he has a very unique taste after being acquainted with many adventurers.";
- next;
- mes "You have received a request named ^800080Unknown Usage^000000.";
- } else if (.@calyonrequest == 9) {
- setquest 12145;
- setquest 12163;
- mes "We don't have cuisine for ourselves but many adventurers seem to enjoy the art of eating.";
- mes "So the pub owner needs a plate for his new cuisine.";
- next;
- mes "[Calyon]";
- mes "He asked for 20 Crab Shells.";
- mes "I have no idea where you can get them but... good luck.";
- next;
- mes "You have received a request named ^800080Other World Cuisine^000000.";
- } else if (.@calyonrequest == 10) {
- setquest 12146;
- setquest 12163;
- mes "I think the most useful Midgard item is Scells.";
- next;
- mes "[Calyon]";
- mes "Use Scells to fill any crack or holes in a building and then mix and plaster grinded Garlet to it and the building is maintained quick and simple.";
- mes "Can you bring back 30 of them?";
- next;
- mes "You have received a request named ^800080Filling in Cracks^000000.";
- } else if (.@calyonrequest == 11) {
- setquest 12147;
- setquest 12163;
- mes "Garlets are an element in building maintenance.";
- mes "It is one of the most important materials in buildings.";
- next;
- mes "[Calyon]";
- mes "Before Garlets were available, we crushed and used Zargons but they have become difficult to come by.";
- mes "Please bring back 40 of them.";
- next;
- mes "You have received a request named ^800080Adhesive Material^000000."; }
- mes "You can check details of the request and who to report back to by opening the ^800080Quest Window^000000.";
- mes "You have 23 hours to complete this mission.";
- close;
- }
- mes "- The Sapha keeps a distance from you even when you try to talk.";
- mes "It looks like he is calling for a Galten. Time to go. -";
- close;
+ if (BaseLevel < 80) {
+ mes "Ha ha, come back again after you are trained more. I have no request that fits you.";
+ close;
+ }
+ if (checkquest(12163,PLAYTIME) == 2) {
+ mes "Calculate your request activities with the ^800080Transport Dept. 1 Manager^000000 at Operations and then come back.";
+ close;
+ } else if (checkquest(12163,PLAYTIME) != -1) {
+ mes "We're done for the day. You can report back to the ^800080Transport Dept. 1 Manager^000000 at Operations. Good luck.";
+ close;
}
- mes "¡õ¢£¡ô";
- mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£";
+ mes "Welcome.";
+ mes "What brings you here?";
next;
- mes "- I can't understand him... -";
+ if(select("Please explain the request to me.", "Please give me a request.") == 1) {
+ mes "[Calyon]";
+ mes "The Transport Dept. 1 and 2";
+ mes "brings in rare items";
+ mes "that are not available";
+ mes "here.";
+ next;
+ mes "[Calyon]";
+ mes "It is one of the";
+ mes "key departments that";
+ mes "obtains the rich supplies";
+ mes "mostly from the Midgard Continent.";
+ next;
+ mes "[Calyon]";
+ mes "Please see me any time";
+ mes "once you are ready.";
+ close;
+ }
+ mes "[Calyon]";
+ mes "Finally, I have a request for you. It is an important one so I need you to be focused.";
+ next;
+ set .@calyonrequest,rand(1,11);
+ mes "[Calyon]";
+ if (.@calyonrequest == 1) {
+ setquest 12139;
+ setquest 12163;
+ mes "The high minister is looking for the Midgard product, Witherless Roses these days.";
+ mes "Not sure if it's a good gift but some have seen him with it on his head and showing it off.";
+ next;
+ mes "[Calyon]";
+ mes "So... I know this is difficult to ask for but please bring me 1 Witherless Rose. This is just between you and me.";
+ next;
+ mes "You have received a request named ^800080Respect for Taste^000000.";
+ } else if (.@calyonrequest == 2) {
+ setquest 12137;
+ setquest 12163;
+ mes "The industrial research center researches ways of refining Bradium efficiently but they are always short on test materials.";
+ next;
+ mes "[Calyon]";
+ mes "I heard there is a merchant in the adventurer's city who sells Glass Tubes. I will need 4 of them.";
+ next;
+ mes "You have received a request named ^800080Tools for Experiment^000000.";
+ } else if (.@calyonrequest == 3) {
+ setquest 12138;
+ setquest 12163;
+ mes "The pub owner said he wants to give a gift to all his regular Sapha customers.";
+ next;
+ mes "[Calyon]";
+ mes "But doesn't know what to give. If you see any interesting gifts in Midgard, can bring back 5 of them?";
+ next;
+ mes "You have received a request named ^800080Fine Gift Samples^000000.";
+ } else if (.@calyonrequest == 4) {
+ setquest 12140;
+ setquest 12163;
+ mes "A request from the pub owner. He says he can't use disposable leaf plates for regular customers.";
+ next;
+ mes "[Calyon]";
+ mes "He is asking for 15 solid, white chinas from Midgard.";
+ next;
+ mes "You have received a request named ^800080Courtesy for Regular^000000.";
+ } else if (.@calyonrequest == 5) {
+ setquest 12141;
+ setquest 12163;
+ mes "I have a personal request. I heard there is a round transparent handicraft in Midgard.";
+ mes "I think they are called Glass Beads.";
+ next;
+ mes "[Calyon]";
+ mes "We have similar manufactured items here but nothing compared to the elaborate sphere there.";
+ mes "Please get me 10 of them.";
+ next;
+ mes "You have received a request named ^800080Special Package^000000.";
+ } else if (.@calyonrequest == 6) {
+ setquest 12142;
+ setquest 12163;
+ mes "Hmm... I don't know how to start. The high minister is requesting for puppets from Midgard.";
+ mes "I don't know what it is but since the high minister is asking for it, it must be used for a very important purpose.";
+ next;
+ mes "[Calyon]";
+ mes "Please bring 15 of them.";
+ next;
+ mes "You have received a request named ^800080Dangerous Request^000000.";
+ } else if (.@calyonrequest == 7) {
+ setquest 12143;
+ setquest 12163;
+ mes "I heard there is a trend among many of my colleagues here about a musical accessory made from a Bill of Birds from Midgard.";
+ next;
+ mes "[Calyon]";
+ mes "I'm thinking of distributing them within the Operations building.";
+ mes "Can you buy and bring back 50 of them?";
+ next;
+ mes "You have received a request named ^800080Strange Trend^000000.";
+ } else if (.@calyonrequest == 8) {
+ setquest 12144;
+ setquest 12163;
+ mes "The pub owner said he wanted to decorate the pub with something called Clam Shells.";
+ mes "Please bring back about 50 of them.";
+ next;
+ mes "[Calyon]";
+ mes "I have no idea how he will use them but I think he has a very unique taste after being acquainted with many adventurers.";
+ next;
+ mes "You have received a request named ^800080Unknown Usage^000000.";
+ } else if (.@calyonrequest == 9) {
+ setquest 12145;
+ setquest 12163;
+ mes "We don't have cuisine for ourselves but many adventurers seem to enjoy the art of eating.";
+ mes "So the pub owner needs a plate for his new cuisine.";
+ next;
+ mes "[Calyon]";
+ mes "He asked for 20 Crab Shells.";
+ mes "I have no idea where you can get them but... good luck.";
+ next;
+ mes "You have received a request named ^800080Other World Cuisine^000000.";
+ } else if (.@calyonrequest == 10) {
+ setquest 12146;
+ setquest 12163;
+ mes "I think the most useful Midgard item is Scells.";
+ next;
+ mes "[Calyon]";
+ mes "Use Scells to fill any crack or holes in a building and then mix and plaster grinded Garlet to it and the building is maintained quick and simple.";
+ mes "Can you bring back 30 of them?";
+ next;
+ mes "You have received a request named ^800080Filling in Cracks^000000.";
+ } else if (.@calyonrequest == 11) {
+ setquest 12147;
+ setquest 12163;
+ mes "Garlets are an element in building maintenance.";
+ mes "It is one of the most important materials in buildings.";
+ next;
+ mes "[Calyon]";
+ mes "Before Garlets were available, we crushed and used Zargons but they have become difficult to come by.";
+ mes "Please bring back 40 of them.";
+ next;
+ mes "You have received a request named ^800080Adhesive Material^000000.";
+ }
+ mes "You can check details of the request and who to report back to by opening the ^800080Quest Window^000000.";
close;
}
@@ -6669,7 +6688,7 @@ man_in01,315,52,3 script Guard Captain Avalanche 450,{
}
else if (ep13_3_invite == 6) {
mes "[Avalanche]";
- mes "Oh.. You have the Light of El Dicastes.";
+ mes "Oh... You have the Light of El Dicastes.";
mes "it would be helpful for your travel.";
next;
mes "[Avalanche]";
@@ -6687,7 +6706,8 @@ man_in01,315,52,3 script Guard Captain Avalanche 450,{
next;
mes "[Avalanche]";
mes "Always take care of yourself at all times.";
- mes "Haha.. but then you humans are very strong.";
+ mes "Haha... but then you humans are very strong.";
+ close;
}
dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{
@@ -6941,7 +6961,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 453,{
mes "But of course, since this is adding spells on top of its original magic, I cannot guarantee that you will get what you want on one try.";
close;
}
- if (countitem(2844) < 1) { //Light of El Dicastes
+ if (countitem(2844) < 1) {
mes "[Kareka]";
mes "Either you are not wearing or don't have the equipment to upgrade on you.";
close;
@@ -7318,8 +7338,9 @@ dic_fild01,228,159,4 script Jahbong#pa0829 496,{
mes "Why are you here?";
mes "Jahbong will exchange ^8000801 Sapha Certification^000000 for ^8000801 item^000000!";
next;
- switch(select("Just came to see what you have.:I want the Feral Boots!:Give me the Feral Tail!:Give me the Golden Bell!:How much to buy you?")) {
- case 1:
+ set .@i, select("Just came to see what you have.:I want the Feral Boots!:Give me the Feral Tail!:Give me the Golden Bell!:How much to buy you?")-1;
+ switch (.@i) {
+ case 0:
mes "[Jahbong]";
mes "Meow!";
next;
@@ -7335,47 +7356,8 @@ dic_fild01,228,159,4 script Jahbong#pa0829 496,{
mes "[Jahbong]";
mes "There are some crazy adventurers asking if they can purchase me! Jahbong is not for sale! I'll just bite you if you ask!!";
close;
- case 2:
- mes "[Jahbong]";
- mes "Are you really buying something?!";
- next;
- if(select("Nope:Give me!!!")==1) {
- mes "[Jahbong]";
- mes "Okay!";
- close; }
- mes "[Jahbong]";
- mes "Here you go!";
- delitem 6304,1;
- getitem 2463,1;
- close;
- case 3:
- mes "[Jahbong]";
- mes "Are you really buying something?!";
- next;
- if(select("Nope:Give me!!!")==1) {
- mes "[Jahbong]";
- mes "Okay!";
- close; }
- mes "[Jahbong]";
- mes "Here you go!";
- delitem 6304,1;
- getitem 2564,1;
- close;
case 4:
mes "[Jahbong]";
- mes "Are you really buying something?!";
- next;
- if(select("Nope:Give me!!!")==1) {
- mes "[Jahbong]";
- mes "Okay!";
- close; }
- mes "[Jahbong]";
- mes "Here you go!";
- delitem 6304,1;
- getitem 2843,1;
- close;
- case 5:
- mes "[Jahbong]";
mes "Meooooooooooow!!!!!!!!~~ Meooooooooow!!!!!";
next;
mes "- ^800080Jahbong goes wild^000000. -";
@@ -7385,7 +7367,23 @@ dic_fild01,228,159,4 script Jahbong#pa0829 496,{
next;
mes "- He may react extremely, but Jahbong doesn't seem to be really angry. -";
close;
- }
+ default:
+ break;
+ }
+ mes "[Jahbong]";
+ mes "Are you really buying something?!";
+ next;
+ if (select("Nope:Give me!!!") == 1) {
+ mes "[Jahbong]";
+ mes "Okay!";
+ close;
+ }
+ setarray .@items[1],2463,2564,2843;
+ mes "[Jahbong]";
+ mes "Here you go!";
+ delitem 6304,1;
+ getitem .@items[.@i],1;
+ close;
}
// Cat Hand Agent
@@ -7411,7 +7409,7 @@ moc_para01,44,19,3 script Cat Hand Agent#gekk 496,{
mes "It breaks my heart to think my colleagues will be shivering in the blizzard. I hope I don't get into trouble since I can't do anything about it, right?";
next;
if (select ("Why don't you collect it yourself?:I'm sorry to hear that.") == 1) {
- emotion ET_HUK;
+ emotion e_omg;
mes "[Cat Hand Agent]";
mes "Human!! You're a genius!!";
mes "How did you come up with that?";
@@ -7453,7 +7451,7 @@ moc_para01,44,19,3 script Cat Hand Agent#gekk 496,{
next;
input .@inputstr$;
mes "[Agent Geck]";
- mes "" + name + "? Human names are strange to me.";
+ mes "" + strcharinfo(0) + "? Human names are strange to me.";
next;
mes "[Agent Geck]";
mes "Now you are Geck's personal slav... sponsor.";
@@ -7538,7 +7536,7 @@ moc_fild20,368,197,3 script Cat#to22 876,{
mes "The small body isn't as tall as your ankle and its small but thick paws look like little cushions. The ears that bent backwards when it looked at how big you were stirred up your protective instinct.";
next;
mes "You don't seem to have the nerve to step on the Cat Hand Agent.";
- emotion ET_CRY;
+ emotion e_sob;
close;
}
mes "You look at the Cat Hand Agent's small back and climb over the wall as quick as possible so that it wouldn't notice your weight.";
diff --git a/npc/re/quests/quests_izlude.txt b/npc/re/quests/quests_izlude.txt
index 8855ef2d1..0286baca0 100644
--- a/npc/re/quests/quests_izlude.txt
+++ b/npc/re/quests/quests_izlude.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Quest NPCs related to Izlude
//===== By: ==================================================
//= Daegaladh, Masao
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Edgar's Offer
//===== Additional Comments: =================================
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
new file mode 100644
index 000000000..9bab65bea
--- /dev/null
+++ b/npc/re/quests/quests_malaya.txt
@@ -0,0 +1,507 @@
+//===== rAthena Script =======================================
+//= Port Malaya Quest NPCs
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 0.2
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Official Conversion]
+//= Quest NPCs related to Port Malaya.
+//===== Additional Comments: =================================
+//= 0.1 Traders only. Adapted from Masao's conversion. [Euphy]
+//= 0.2 Added Tribe Blacksmith [DeadlySilence]
+//============================================================
+
+// Traders
+//============================================================
+ma_fild01,166,214,6 script Old Man in Dilemma#GA 575,{
+ if (MaxWeight - Weight < 600 || checkweight(1201,1) == 0) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Oh! Demons are gaining more and more power in this world.";
+ next;
+ switch(select("We need to gather items to fight them off.:Ignore.")) {
+ case 1:
+ if (countitem(6497) >= 3 && Zeny >= 1000) {
+ mes "[Old Man in Dilemma]";
+ mes "You don't seem to be strong enough to fight off demons.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "Will you create a Greater Agimat of Ancient Spirit with 3 Lesser Agimats and 1,000 Zeny?";
+ next;
+ if(select("Create.:No, thank you.") == 1) {
+ if (countitem(6497) >= 3 && Zeny >= 1000) {
+ specialeffect2 EF_CONE;
+ specialeffect EF_FORESTLIGHT2;
+ set Zeny, Zeny-1000;
+ getitem 12775,1; //Ancient_Spirit_Agimat
+ } else {
+ mes "[Old Man in Dilemma]";
+ mes "Short on materials.";
+ close;
+ }
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Hope you win the fight with the demon.";
+ close;
+ }
+ mes "[Old Man in Dilemma]";
+ mes "Can't make it now but there is an old way of making it handed down by generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "You need to call upon the power of Ancient Spirits. But you'll need several important materials first.";
+ next;
+ select("What are they?");
+ mes "[Old Man in Dilemma]";
+ mes "3 Lesser Agimats to hold the power of Ancient Spirits here and another special material handed down for generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "But nobody can get this special item anymore.";
+ next;
+ select("Something money cannot buy?");
+ mes "[Old Man in Dilemma]";
+ mes "No, no... It's this round little thing, you see?";
+ next;
+ select("Are you talking about Zeny?");
+ mes "[Old Man in Dilemma]";
+ mes "Looks similar to the special items handed down from generations.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "As long as we have enough of that, we could make the Greater Agimat of Ancient Spirit to fight against the demons.";
+ next;
+ select("Sounds good.");
+ mes "[Old Man in Dilemma]";
+ mes "In case you are too weary to take on the demons...";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "Come by with 3 Lesser Agimats and 1,000 of those so-called Zeny.";
+ next;
+ mes "[Old Man in Dilemma]";
+ mes "I will make a Greater Agimat of Ancient Spirit that will increase your attacks against demons by 10% for 20 min.";
+ close;
+ case 2:
+ mes "[Old Man in Dilemma]";
+ mes "Hope you win the fight with the demon.";
+ close;
+ }
+}
+
+ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{
+ if (MaxWeight - Weight < 50 || checkweight(1201,1) == 0) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ mes "[Tikbalang Expert]";
+ mes "I spent 90% of my life studying Tikbalang.";
+ next;
+ switch(select("But you look young?:What is Tikbalang?:Teach me how to catch a Tikbalang.")) {
+ case 1:
+ mes "[Tikbalang Expert]";
+ mes "What! I might be imagining things.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "I look younger than I am because of my baby face. Ha ha ha~";
+ next;
+ select("... ... ...");
+ mes "[Tikbalang Expert]";
+ mes "Trust!! They say faith will bring you luck.";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha... You ask the right question.";
+ mes "I'm a specialist in that field. Ask me anything.";
+ next;
+ select("Why won't you answer me?");
+ mes "[Tikbalang Expert]";
+ mes "Have you... ever been fooled by anyone around you? Why can't you believe someone's word for it? Really, ask me anything.";
+ next;
+ while(1) {
+ switch(select("I don't have any questions.:Characteristics?:Features?:Rumors?:Habitat?")) {
+ case 1:
+ mes "[Tikbalang Expert]";
+ mes "I think this is enough explanation for now. You wouldn't understand other highly sophisticated topics with specific terminology and all anyway.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Oh! Do you have any other questions?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "What do you think? Impressed at how much I know? Come by anytime when you have any more questions.";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs have a way to confuse travelers when they meet them by making them turn in circles regardless of wherever and how far they travel.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "They are mischievous creatures.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "But of course there is a way to stop their pranks. You know about the Inside-out Shirt? You can either wear your top inside-out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Or go on your way quietly without disrupting the Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha ha~ But everyone knows adventurers are never quiet while they travel, right?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Never...";
+ break;
+ case 3:
+ mes "[Tikbalang Expert]";
+ mes "They say Tikbalangs have several distinctions.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "First, they are very tall ^AAAAAA(tsk... wish I were tall)^000000 and have skinny, imbalanced legs and arms. Looks almost like a human but their knees are higher than their upper body when they sit down.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Second, is the standard characteristics acknowledged by the association. They have heads and feet like a horse.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "So with all these appearance traits, Tikbalang is sometimes called the creature from hell.";
+ break;
+ case 4:
+ mes "[Tikbalang Expert]";
+ mes "There are several fun rumors about Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "One of them is about Tikbalangs being the guardians of some kingdom that worships nature.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "So the Tikbalangs will trick travelers who come with bad intentions to the kingdom by making them travel in circles.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Another rumor is that people around here say that 'if it rains on a clear day, then it must be Tikbalang's wedding day'.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "The association speculates that sayings like 'it rains on Bathory's wedding day' or 'it rains on Moonlight Flower's wedding day' might have derived from the Tikbalang's saying.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Lastly, ancient fairy tales say that Tikbalangs can transform into human form or even make themselves transparen't but nobody has verified this yet.";
+ break;
+ case 5:
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs usually live in dark, busy places where there aren't many people around.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Hmm... For example, they are known to live beneath bridges, in banana and bamboo forests and beneath large trees.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "And this is just my opinion but wouldn't you agree that they are living in dark places because it is easier to play pranks on people?";
+ break;
+ }
+ next;
+ }
+ case 3:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha. Do you now know how great I am?";
+ next;
+ if (countitem(6496) >= 3 && countitem(6497) >= 5) {
+ mes "[Tikbalang Expert]";
+ mes "Oh! Isn't this material to make 'Tikbalang Belt' used to tame Tikbalangs?";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "The '^F80835Tikbalang Belt^000000' is used to capture Tikbalangs without the hassle. But that doesn't mean it's 100% successful. Interested? Do you want me to make one for you?";
+ next;
+ switch(select("Yes, Im interested.:No, I can capture one myself.")) {
+ case 1:
+ delitem 6496,3; //Tikbalang_Thick_Spine
+ getitem 12699,1; //Tikbalang_Belt
+ mes "[Tikbalang Expert]";
+ mes "Yiiiiiiiiiiii! Yap!";
+ next;
+ specialeffect EF_SONICBLOW2;
+ select("Huh?");
+ mes "[Tikbalang Expert]";
+ mes "The '^F80835Tikbalang Belt^000000' is already created.";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "You? Ha... You can try if you want to.";
+ close;
+ }
+ }
+ mes "[Tikbalang Expert]";
+ mes "There is the easy way and the hard way to capture Tikbalangs. Which one do you prefer?";
+ next;
+ switch(select("Easy way.:Hard way.")) {
+ case 1:
+ mes "[Tikbalang Expert]";
+ mes "Ha ha. I've come up with the easy way myself.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Bring me 3 Tikbalang's Thick Spines and 5 Lesser Agimats to make a '^F80835Tikbalang Belt^000000' to help you easily capture Tikbalangs.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Ha ha ha ha ha!";
+ mes "I will say it again.";
+ mes "It's 3 Tikbalang's Thick Spines and 5 Lesser Agimats. Understood?";
+ close;
+ case 2:
+ mes "[Tikbalang Expert]";
+ mes "It's easy for me but I don't know about you.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Tikbalangs have a sharp, pointy mane behind their neck.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Of course! There are several of them but you must get the three thickest ones.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "These three manes are the weak point. You can tame a Tikbalang by pulling the manes out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Now let me explain how to pull these manes out.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "You must fly like a butterfly and land like a bee on the back of a Tikbalang.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Of course! The Tikbalang will get mad and try to shake you off with all its might.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "All you have to do is hold on until the Tikbalang gets exhausted.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Then again, itll take 4 days and 3 nights for Tikbalangs to get tired since they are strong creatures. But let's not focus on too much details.";
+ next;
+ mes "[Tikbalang Expert]";
+ mes "Which means!! The Tikbalang is already tamed.";
+ close;
+ }
+ }
+}
+
+// MVP Armors :: mvpitem
+// ============================================================
+ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
+
+ mes "[Bayani]";
+ mes "I will upgrade your armor if you bring one that holds enormous power.";
+ next;
+ switch (select("What kind of equipment do upgrade?:What are the required materials?:What will it become after an upgrade?:Please upgrade this.")) {
+ case 1:
+ mes "[Bayani]";
+ mes "Your questions are too simple, but!";
+ next;
+ mes "[Bayani]";
+ mes "Are also important.";
+ next;
+ mes "[Bayani]";
+ mes "^7B4772Bakonawa Scale Armor^000000 made from the scales of the Bakonawa monster known to swallow the moon.";
+ next;
+ mes "[Bayani]";
+ mes "Light but sturdy ^7B4772Kalasag^000000 made from rattan that grows wild around Port Malaya.";
+ next;
+ mes "[Bayani]";
+ mes "^7B4772Buwaya Sack Cloth^000000 made from the sack of the man-eating alligator Buwaya.";
+ next;
+ mes "[Bayani]";
+ mes "^7B4772Bangungot Boots of Nightmare^000000 imbued with the hatred and vengeance of the monster Bangungot.";
+ next;
+ mes "[Bayani]";
+ mes "As just mentioned.";
+ next;
+ mes "[Bayani]";
+ mes "I will make powerful armor out of ONLY the strongest armor dropped from fearful monsters.";
+ close;
+ case 2:
+ mes "[Bayani]";
+ mes "Learned well.";
+ mes "Seems you learned that there is no such thing as free in life.";
+ next;
+ mes "[Bayani]";
+ mes "First thing to remember is that the object to upgrade must be strong itself. At least strong enough to endure ^FF0000+9 Refinement^000000.";
+ next;
+ mes "[Bayani]";
+ mes "Next is true strength that only comes out of power obtained naturally. I need ^FF000020 Ancient Grudges^000000 for protection from evil while Im refining.";
+ next;
+ mes "[Bayani]";
+ mes "When a ^FF0000+9 Refined Strong armor^000000 is combined with ^FF000020 Ancient Grudges^000000 for protection!!";
+ next;
+ mes "[Bayani]";
+ mes "You get a completely new and improved armor from old scraps.";
+ next;
+ mes "[Bayani]";
+ mes "Always look forward to this.";
+ close;
+ case 3:
+ mes "[Bayani]";
+ mes "Listen, because this is a very important question.";
+ next;
+ mes "[Bayani]";
+ mes "It won't matter if I say it more than a 100 times that upgraded armor is powerful.";
+ next;
+ mes "[Bayani]";
+ mes "Unless the one that holds it doesn't believe it is! Ask about what has changed and decide for yourself!";
+ next;
+ while (1) {
+ switch (select("There is no more.:Bakonawa Scale Armor:Kalasag:Buwaya Sack Cloth:Bangungot Boots of Nightmare")) {
+ case 1:
+ mes "[Bayani]";
+ mes "Looks like you ran out of questions.";
+ mes "Don't forget. You'll have to give up something to gain something.";
+ close;
+ case 2:
+ mes "[Bayani]";
+ mes "The Bakonawa Scale Armor adds +1 to all stats for all jobs which is overall great armor for everyone.";
+ next;
+ mes "[Bayani]";
+ mes "But I'm sure the inner you thinks this isn't enough.";
+ next;
+ mes "[Bayani]";
+ mes "That is why +2 can be added to all stats and an extra slot for a card to your socket if upgraded.";
+ next;
+ break;
+ case 3:
+ mes "[Bayani]";
+ mes "Kalasag is a good shield to reduce damage from boss monsters by 1% per 3 refinements.";
+ next;
+ mes "[Bayani]";
+ mes "But not enough. Can't believe that a shield doesnt have a place to equip a card.";
+ next;
+ mes "[Bayani]";
+ mes "That is why I can add an extra slot for a card to your socket if upgraded.";
+ next;
+ break;
+ case 4:
+ mes "[Bayani]";
+ mes "The Buwaya Sack Cloth offers healing capacity and healing item effect increase by 1% per 3 refinements. Not to mention it reduces 10% damage from Water, Earth, Fire, and Wind elemental monsters.";
+ next;
+ mes "[Bayani]";
+ mes "But not enough. Can't believe that these clothes don't come with a place to equip a card. Everyone knows that clothes should have Raydric on them!";
+ next;
+ mes "[Bayani]";
+ mes "Don't worry! I can add an extra slot for a card to your socket if upgraded.";
+ next;
+ break;
+ case 5:
+ mes "[Bayani]";
+ mes "The Bangungot Boots of Nightmare increases +1 MDEF per 1 refinement and speed increases starting at 14 refinement and above.";
+ next;
+ mes "[Bayani]";
+ mes "The speed increase effect from shoes like Moonlight Flower Shoes and Sleipnir items are out of reach for ordinary people.";
+ next;
+ mes "[Bayani]";
+ mes "But of course, +14 refinement isn't easy but there is an easy way to get it.";
+ next;
+ mes "[Bayani]";
+ mes "By upgrading your shoes, you can get speed increase starting from +12 refinement!";
+ next;
+ mes "[Bayani]";
+ mes "And it doesn't end there!!";
+ mes "I will also put in an extra slot in your socket to add a card.";
+ next;
+ break;
+ }
+ mes "[Bayani]";
+ mes "However, you'll have to give up something to gain something.";
+ next;
+ mes "[Bayani]";
+ mes "^0000FFEquipping the Kalasag, Buwaya Sack Cloth, Bakonawa Scale Armor, and Bangungot Boots of Nightmare all at once will lose the ^FF0000Set Effects^0000FF.^000000";
+ next;
+ mes "[Bayani]";
+ mes "Think it through. Next question?";
+ next;
+ }
+ }
+ mes "[Bayani]";
+ mes "Ha ha ha ha ha ha ha! Good!";
+ mes "You've brought the materials, right?";
+ next;
+ if (select("Oh... sorry...:Preparations are complete!!") == 1) {
+ mes "[Bayani]";
+ mes "Oh no!!";
+ mes "I will need an light but sturdy armor with an refinement of +9 or greater and 20 Ancient Grudges!!";
+ close;
+ }
+ if (countitem(6499) < 20) {
+ mes "[Bayani]";
+ mes "You said all preparations are done and you give me this?! I need at least 20 Ancient Grudges to refine your item.";
+ close;
+ }
+ mes "[Bayani]";
+ mes "So what armor will it be?";
+ next;
+ switch (select("Bakonawa Scale Armor:Kalasag:Buwaya Sack Cloth:Bangungot Boots of Nightmare")) {
+ case 1:
+ .@part = EQI_ARMOR;
+ .@item = 15051;
+ .@newItem = 15052;
+ break;
+ case 2:
+ .@part = EQI_HAND_L;
+ .@item = 2169;
+ .@newItem = 2170;
+ break;
+ case 3:
+ .@part = EQI_GARMENT;
+ .@item = 2590;
+ .@newItem = 2591;
+ break;
+ case 4:
+ .@part = EQI_SHOES;
+ .@item = 2491;
+ .@newItem = 2492;
+ break;
+ }
+
+ if (!(.@item)) {
+ mes "[Bayani]";
+ mes "You should wear the equipment to upgrade and not come without it on you.";
+ close;
+ } else if (getequipid(.@part) != .@item) {
+ mes "[Bayani]";
+ mes "What is this! You said you wanted to upgrade " + getitemname(.@item) + " but why are you giving me this? You should be wearing " + getitemname(.@item) + ".";
+ close;
+ } else if (getequiprefinerycnt(.@part) < 9) {
+ mes "[Bayani]";
+ mes "No, the sturdiness of this item has not been tested yet. It'll have to be at least +9 refined for me to say, 'Oh this is pretty sturdy armor.";
+ close;
+ }
+
+ mes "[Bayani]";
+ mes "Looks like you did your homework! Don't see a flaw! Then I have one question to ask before I start refinement.";
+ next;
+ mes "[Bayani]";
+ mes "^0000FFOnce your item is refined, the refinement level will be ^FF00000^0000FF and the item will be upgraded.^000000 You get this part?";
+ next;
+ if (select("No.:Yes.") == 1) {
+ mes "[Bayani]";
+ mes "What? You didn't know this? Then, read through my instructions and come back again.";
+ close;
+ }
+ mes "[Bayani]";
+ mes "Good. Next question. Once refinement is done,";
+ mes "^0000FFEquipping the Kalasag, Buwaya Sack Cloth, Bakonawa Scale Armor, and Bangungot Boots of Nightmare all at once will lose the ^FF0000Set Effects^0000FF.^000000";
+ mes "Do you understand this point?";
+ next;
+ if (select("No.:Yes.") == 1) {
+ mes "[Bayani]";
+ mes "What? You didn't know this? Then, read through my instructions and come back again.";
+ close;
+ }
+ mes "[Bayani]";
+ mes "Awesome! Then let's start refining " + getitemname(.@item) + ".";
+ next;
+ specialeffect EF_SONICBLOW;
+ mes "[Bayani]";
+ mes "Pow!! Wow!! Flip... flop!";
+ next;
+ specialeffect2 EF_TRIPLEATTACK;
+ mes "[Bayani]";
+ mes "BAM!!";
+ next;
+
+ delitem 6499,20; //Ancient_Grudge
+ delequip .@part;
+ getitem .@newItem, 1;
+
+ mes "[Bayani]";
+ mes "Ha ha. Perfect.";
+ mes "Congratulations. Your armor is better than ever.";
+ close;
+} \ No newline at end of file
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
new file mode 100644
index 000000000..f1d8e5784
--- /dev/null
+++ b/npc/re/quests/quests_mora.txt
@@ -0,0 +1,5315 @@
+//===== rAthena Script =======================================
+//= Mora Quest NPCs
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Quest NPCs related to Mora:
+//== Theore's Request, Chesire's New Day,
+//== Helping Lope and Euridi, Mora Daily Quests,
+//== Find the Research Tools, Knights of the Neighborhood
+//===== Additional Comments: =================================
+//= 0.1 NPCs are currently placeholders. [Euphy]
+//= 1.0 Implemented all official quests. [Euphy]
+//============================================================
+
+// Theore's Request :: bs
+//============================================================
+mid_camp,148,222,4 script Theore#ep14_1_bs 982,3,3,{
+ if (BaseLevel < 100) {
+ mes "- A person with a white gown -";
+ mes "- is pulling at his hair. -";
+ close;
+ }
+ if (ep14_1_bs == 0) {
+ mes "[Theore]";
+ mes "Aaaarrrggghh!!!";
+ mes "Darn it!!!!";
+ mes "I'm finished!!!";
+ next;
+ mes "[Theore]";
+ mes "How am I supposed to submit a report that's so bad!!! A 5-year-old could do better!!!";
+ mes "Noooo!!!";
+ set ep14_1_bs,1;
+ close;
+ } else if (ep14_1_bs == 1) {
+ mes "- A person with a white gown -";
+ mes "- is pulling at his hair. -";
+ next;
+ if(select("Try talking to him.:How noisy.") == 2) {
+ mes "[Theore]";
+ mes "Oh, of course, I'm sorry.";
+ mes "I'll keep it down.";
+ close;
+ }
+ mes "["+strcharinfo(0)+"]";
+ mes "Sir... Are you okay?";
+ mes "You will lose all your hair like that.";
+ mes "Calm down.";
+ next;
+ mes "[Theore]";
+ mes "Sob.......";
+ next;
+ mes "[Theore]";
+ mes ".......";
+ next;
+ mes "[Theore]";
+ mes "Odin!!!";
+ mes "Freyja!!!!";
+ mes "Sazarim!!!";
+ mes "Thank you!!";
+ mes "It's not all over!!";
+ next;
+ mes "[Theore]";
+ mes "There's always hope! I, Theore, will persevere and go on!!";
+ next;
+ mes "[Theore]";
+ mes "Dear Adventurer!!!";
+ mes "No, no, dear Warrior!!!!";
+ mes "Are you busy at the moment?";
+ mes "If you spare me a little time, I will see to it that you're rewarded handsomely!";
+ next;
+ switch(select("I'm busy.:Listen to him more.")) {
+ case 1:
+ mes "[Theore]";
+ mes ".......";
+ mes "I see, I suppose it can't be helped.";
+ mes "I'll probably lose all my hair and be on the ad for hair growth solutions. But I won't hold it against you, Warrior.";
+ next;
+ mes "[Theore]";
+ mes "Dear God! My luck ends here. *sob*";
+ mes "Even though the world is turning its back on me, I won't blame anyone!!!";
+ close;
+ case 2:
+ mes "[Theore]";
+ mes "Ahhh!";
+ mes "I feel like I was saved.";
+ mes "So the thing is.......";
+ next;
+ mes "[Theore]";
+ mes "Oh! Oh dear!";
+ mes "How rude of me, I haven't even introduced myself.";
+ mes "My name is Theore, and I work for 'Bazett Teablack's Institute of Culture of the Other World.' ";
+ next;
+ mes "[Theore]";
+ mes "I'm currently working on researching Laphines in the Splendide Basecamp.";
+ mes "Might be because I've been working soooo hard, but these days the Laphines all run away as soon as they see me.";
+ next;
+ mes "[Theore]";
+ mes "The deadline is approaching, and I still haven't figured out the most critical part. ";
+ mes "My professor will be very disappointed .......";
+ next;
+ mes "[Theore]";
+ mes "So won't you give me a hand?!";
+ mes "Your help will be acknowledged fully - I will tell the professor myself!";
+ next;
+ switch(select("Help.:Don't help.")) {
+ case 1:
+ mes "[Theore]";
+ mes "Sob sob Warrior, you're the best!";
+ mes "I will not forget this!!!";
+ mes "I'm going to write about it in my diary!!";
+ mes "And in the report!!!";
+ mes "And in a letter I'm sending home!!";
+ next;
+ mes "[Theore]";
+ mes "I'll tell my buddies at the lab!!!";
+ mes "I'll tell Lugen!!!";
+ mes "I'll write it in the bulletin board!!!";
+ mes "Let's see!!! Where else?";
+ next;
+ mes "- The man seems to be in a manic state. -";
+ mes "- Wait until he calms down -";
+ mes "- and try speaking to him again. -";
+ set ep14_1_bs,2;
+ setquest 11182;
+ close;
+ case 2:
+ mes "[Theore]";
+ mes ".......";
+ mes "You bad person, making me all worked up.";
+ mes "*sob*";
+ close;
+ }
+ }
+ } else if (ep14_1_bs == 2) {
+ if (checkquest(11182,PLAYTIME) < 2) {
+ mes "[Theore]";
+ mes "......";
+ switch(rand(1,4)) {
+ case 1:
+ mes "I must tell my next-door neighbor Pico!!!";
+ mes "And Kachua!!!";
+ break;
+ case 2:
+ mes "Tell the merchant across the street!!!";
+ mes "And also tell the administrator!!!";
+ break;
+ case 3:
+ mes "Tell Mr. Holgren!!!";
+ mes "Write up a report for the King!!!";
+ break;
+ case 4:
+ mes "Tell the people around here!!!";
+ mes "Shout it out loud from the observatory so the whole world hears!!!";
+ break;
+ }
+ next;
+ mes "- He is still manic. -";
+ mes "- Wait until he calms down -";
+ mes "- and try speaking to him again. -";
+ close;
+ }
+ mes "[Theore]";
+ mes "My apologies.";
+ mes "I got a little excited.";
+ mes "I do apologize.";
+ next;
+ mes "[Theore]";
+ mes "I'm usually a calm and rational person, but it feels like I've been everywhere - heaven AND hell - today!";
+ next;
+ mes "[Theore]";
+ mes "To the point: what I would like to ask you is not a hard task.";
+ next;
+ mes "[Theore]";
+ mes "As you probably know, the Laphines are at war with the Saphas.";
+ mes "Until recently, they attacked the Saphas mercilessly.";
+ next;
+ mes "[Theore]";
+ mes "But lately, the frequency of attacks has decreased significantly.";
+ mes "I can't figure out why, they are single-minded creatures and it's not likely that they just took pity on the Saphas' situation.";
+ next;
+ mes "[Theore]";
+ mes "Also, there are rumors of unarmed Laphines flying through the fields.";
+ next;
+ mes "[Theore]";
+ mes "I have seen it once, but he ran away as soon as he spotted me and I didn't get a chance to ask him.";
+ mes "I'm sure that he went back to the village. But as desperately as I want to ask, I was banned from entering the Splendide Basecamp.";
+ next;
+ select("Banned?");
+ mes "[Theore]";
+ mes "Well...";
+ mes "I got so excited after the professor assigned me to this research project.......";
+ mes "that I combed through Splendide night and day, and they finally kicked me out.";
+ mes "Ha ha ha!";
+ next;
+ mes "[Theore]";
+ mes "The Laphines may look cute, but they are combat specialists.......";
+ mes "So here I am, without the courage to sneak in, but with the report half-finished.......";
+ next;
+ mes "[Theore]";
+ mes "Tell me, is there a life more unfortunate than mine?";
+ mes "*chuckle*";
+ next;
+ mes "[Theore]";
+ mes "So Warrior, would you please find the Laphines who are coming to the Splendide field, and find out what they're up to?";
+ next;
+ mes "[Theore]";
+ mes "They may run away if you try to speak to them, so pay close attention when you find one.";
+ next;
+ mes "[Theore]";
+ mes "The Laphines are such a rowdy crew, and it's very unsettling to see how quiet they've been - almost like a period of calm before a giant thunderstorm.";
+ set ep14_1_bs,3;
+ changequest 11182,11183;
+ close;
+ } else if (ep14_1_bs == 3) {
+ mes "[Theore]";
+ mes "So Warrior, would you please find the Laphines who are coming to the Splendide field, and ask them what they're up to?";
+ next;
+ mes "[Theore]";
+ mes "They may run away if you try to speak to them, so pay close attention when you find one.";
+ next;
+ mes "[Theore]";
+ mes "The Laphines are such a rowdy crew, and it's very unsettling to see how quiet they've been - almost like a period of calm before a giant thunderstorm.";
+ close;
+ } else if (ep14_1_bs < 10) {
+ if (ep14_1_bs2 == 0) {
+ mes "- He is in no state for conversations. You should take the pouch to Splendide and look for its owner. -";
+ close;
+ } else if (ep14_1_bs2 < 4) {
+ mes "[Theore]";
+ mes "Hmm...... They were rummaging through the bushes?";
+ mes "Hmm... Hmm...";
+ next;
+ mes "[Theore]";
+ mes "They may have left a clue, can you please look around the area?";
+ mes "If they were looking through the bushes, they may have been looking for something they've lost.";
+ mes "Or they may have left something behind.";
+ close;
+ } else if (ep14_1_bs2 < 7) {
+ if (countitem(6390) == 0) {
+ mes "[Theore]";
+ mes "They may have left a clue, can you please look around the area?";
+ mes "If they were looking through the bushes, they may have been looking for something they've lost.";
+ mes "Or they may have left something behind.";
+ close;
+ }
+ mes "[Theore]";
+ mes "A pouch that a Laphine dropped as it fled?";
+ mes "Hmm... Hmm... A soft leather pouch with a string made by soaking dried vines in oil.... too small for humans or Saphas to use...";
+ next;
+ mes "[Theore]";
+ mes "Could... Could it be??!!";
+ mes "that object?!";
+ mes "that I've only heard about, but never came across!!!";
+ next;
+ mes "[Theore]";
+ mes "In the ancient times, Laphines used to carry fairy dust - such as the flying dust, minimizing dust - in a small pouch like this.";
+ next;
+ mes "[Theore]";
+ mes "They usually enjoy extravagant designs, but this 'fairy dust pouch' is something that they always carry around, and it is made simply without extravagant ornaments, keeping in line with tradition.";
+ next;
+ mes "[Theore]";
+ mes "I'm not sure what it'll be like nowadays, but if this is the 'fairy dust pouch,' the owner should be anxious to find it.";
+ next;
+ mes "[Theore]";
+ mes "We can't give it back for free though. In exchange for some information - that's a fair deal!";
+ next;
+ mes "[Theore]";
+ mes "And perhaps they won't be too upset if we look inside the pouch!";
+ mes "Wooow!!";
+ mes "I always believed when I was little that a fairy would come and sprinkle me with flying dust to make me fly!!!";
+ next;
+ mes "- Before I can stop him, -";
+ mes "- he opened the small pouch. -";
+ next;
+ mes "[Theore]";
+ mes ".......";
+ next;
+ mes "[Theore]";
+ mes "Oh...";
+ mes "Berries......and leaves?";
+ mes ".......";
+ next;
+ mes "[Theore]";
+ mes "......What about the flying dust?";
+ mes "Noooo!";
+ mes "My poor innocent imagination!!!!";
+ next;
+ mes "- He is in no state for conversations. You should take the pouch to Splendide and look for its owner. -";
+ set ep14_1_bs2, ep14_1_bs2+3; //4,5,6 -> 7,8,9
+ changequest 11185,11186;
+ close;
+ } else {
+ mes "- He is in no state for conversations. You should take the pouch to Splendide and look for its owner. -";
+ close;
+ }
+ } else if (ep14_1_bs < 18) {
+ mes "- He appears to be busy. You should finish the task at hand and come back. -";
+ close;
+ } else if (ep14_1_bs == 18) {
+ mes "[Theore]";
+ mes "At last, you're back!!!!";
+ mes "How did the investigation go?!";
+ next;
+ mes "[Theore]";
+ mes "Wow!!!";
+ mes "Incredible!!!!!!";
+ mes "Unbelievable!!!";
+ next;
+ mes "[Theore]";
+ mes "The best!!!!";
+ mes "This is surely enough to write an excellent report on!!";
+ mes "All thanks to you, Warrior!!";
+ next;
+ mes "[Theore]";
+ mes "I'll never, EVER forget what you've done for me!";
+ mes "No!!";
+ mes "My grandchildren's grandchildren will remember!!!!";
+ mes "*Sob*";
+ next;
+ mes "[Theore]";
+ mes "Then I'm off to put the finishing touches on the report!!!!!!!";
+ mes "Oh yeah!!!!";
+ set ep14_1_bs,19;
+ getexp 0,200000;
+ getitem 6380,5; //Mora_Coin
+ close;
+ } else if (ep14_1_bs > 18) {
+ mes "[Theore]";
+ mes "I'll write the report with lightning speed!!!!!!!";
+ mes "Oh yeah!!!!";
+ close;
+ }
+ end;
+OnTouch:
+ if (BaseLevel > 99) {
+ if (ep14_1_bs == 0) {
+ mes "[Theore]";
+ mes "Aaaarrrggghh!!!";
+ mes "Darn it!!!!";
+ mes "I'm finished!!!";
+ next;
+ mes "[Theore]";
+ mes "How am I supposed to submit a report that's so bad!!! A 5-year-old could do better!!!";
+ mes "Noooo!!!";
+ set ep14_1_bs,1;
+ close;
+ }
+ }
+ end;
+}
+
+- script #mora_bush -1,{
+ if (ep14_1_bs != 3 || rand(5)) {
+ mes "- It's just an ordinary bush. -";
+ close;
+ }
+ set .@i, atoi(charat(strnpcinfo(2),9));
+ set .@rand, rand(1,3);
+ mes "[Unarmed Laphine]";
+ mes "Aaaarrrrrggggghhhhh!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
+ donpcevent "Fairy#cmd"+.@i+.@rand+"::OnEnable";
+ set ep14_1_bs, .@i+3;
+ set ep14_1_bs2, .@rand;
+ changequest 11183,11184;
+ next;
+ mes "- You try to talk to the Laphine, -";
+ mes "- who is looking around the bushes, -";
+ mes "- but it flew away -";
+ mes "- while yelling fearfully. -";
+ next;
+ mes "- What was the fairy doing? -";
+ mes "- You decide to look around. -";
+ donpcevent "Bush"+.@i+"Timer::OnEnable";
+ close;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ donpcevent "Bush"+charat(strnpcinfo(2),9)+"Timer::OnDisable";
+ end;
+OnDisable:
+ disablenpc strnpcinfo(0);
+ end;
+}
+
+- script #mora_pouch -1,{
+ end;
+OnTouch:
+ set .@i, atoi(charat(strnpcinfo(2),9));
+ if (ep14_1_bs == .@i+3) {
+ if (countitem(6390) == 0) {
+ if (checkweight(1201,1) == 0) {
+ mes " - Hang on there !! -";
+ mes " - You are carrying too many kinds of items - ";
+ mes " - to receive any more items. - ";
+ mes " - Please lighten your load - ";
+ mes " - and try again. - ";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes " - Hang on there !! -";
+ mes " - You are carrying too much weight - ";
+ mes " - Please lighten your load - ";
+ mes " - and try again. - ";
+ close;
+ }
+ mes "- Jumble Fumble -";
+ mes "- Rustle Bustle -";
+ next;
+ if (rand(1,5) == 4) {
+ mes "- You've found a Small pouch. -";
+ if (ep14_1_bs2 > 0 && ep14_1_bs2 < 4)
+ set ep14_1_bs2, ep14_1_bs2+3;
+ changequest 11184,11185;
+ getitem 6390,1; //Small_Pocket
+ close;
+ } else {
+ mes "- You didn't find anything. -";
+ close;
+ }
+ }
+ }
+ end;
+}
+
+- script #mora_fairy -1,{
+ end;
+OnInit:
+ disablenpc strnpcinfo(0);
+ end;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ initnpctimer;
+ end;
+OnDisable:
+ disablenpc strnpcinfo(0);
+ stopnpctimer;
+ end;
+OnTimer5000:
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ stopnpctimer;
+ end;
+}
+
+spl_fild02,79,104,0 duplicate(#mora_bush) Bush#ep14_1_bs1 111
+spl_fild02,79,104,0 duplicate(#mora_pouch) #ep14_1_bs1 139,2,2
+spl_fild02,79,104,6 duplicate(#mora_fairy) Fairy#cmd11 440
+spl_fild02,79,104,6 duplicate(#mora_fairy) Fairy#cmd12 445
+spl_fild02,79,104,6 duplicate(#mora_fairy) Fairy#cmd13 439
+
+spl_fild02,103,344,0 duplicate(#mora_bush) Bush#ep14_1_bs2 111
+spl_fild02,103,344,0 duplicate(#mora_pouch) #ep14_1_bs2 139,2,2
+spl_fild02,103,344,6 duplicate(#mora_fairy) Fairy#cmd21 440
+spl_fild02,103,344,6 duplicate(#mora_fairy) Fairy#cmd22 445
+spl_fild02,103,344,6 duplicate(#mora_fairy) Fairy#cmd23 439
+
+spl_fild02,261,323,0 duplicate(#mora_bush) Bush#ep14_1_bs3 111
+spl_fild02,261,323,0 duplicate(#mora_pouch) #ep14_1_bs3 139,2,2
+spl_fild02,261,323,6 duplicate(#mora_fairy) Fairy#cmd31 440
+spl_fild02,261,323,6 duplicate(#mora_fairy) Fairy#cmd32 445
+spl_fild02,261,323,6 duplicate(#mora_fairy) Fairy#cmd33 439
+
+spl_fild02,137,305,0 duplicate(#mora_bush) Bush#ep14_1_bs4 111
+spl_fild02,137,305,0 duplicate(#mora_pouch) #ep14_1_bs4 139,2,2
+spl_fild02,137,305,6 duplicate(#mora_fairy) Fairy#cmd41 440
+spl_fild02,137,305,6 duplicate(#mora_fairy) Fairy#cmd42 445
+spl_fild02,137,305,6 duplicate(#mora_fairy) Fairy#cmd43 439
+
+spl_fild02,23,196,0 duplicate(#mora_bush) Bush#ep14_1_bs5 111
+spl_fild02,23,196,0 duplicate(#mora_pouch) #ep14_1_bs5 139,2,2
+spl_fild02,23,196,6 duplicate(#mora_fairy) Fairy#cmd51 440
+spl_fild02,23,196,6 duplicate(#mora_fairy) Fairy#cmd52 445
+spl_fild02,23,196,6 duplicate(#mora_fairy) Fairy#cmd53 439
+
+spl_fild02,186,260,0 duplicate(#mora_bush) Bush#ep14_1_bs6 111
+spl_fild02,186,260,0 duplicate(#mora_pouch) #ep14_1_bs6 139,2,2
+spl_fild02,186,260,6 duplicate(#mora_fairy) Fairy#cmd61 440
+spl_fild02,186,260,6 duplicate(#mora_fairy) Fairy#cmd62 445
+spl_fild02,186,260,6 duplicate(#mora_fairy) Fairy#cmd63 439
+
+- script #mora_bush_timer -1,{
+ end;
+OnInit:
+ disablenpc strnpcinfo(0);
+ end;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ initnpctimer;
+ end;
+OnDisable:
+ stopnpctimer;
+ disablenpc strnpcinfo(0);
+ end;
+OnTimer1000:
+ donpcevent "Bush#ep14_1_bs"+charat(strnpcinfo(0),4)+"::OnDisable";
+ end;
+OnTimer600000:
+ donpcevent "Bush#ep14_1_bs"+charat(strnpcinfo(0),4)+"::OnEnable";
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+}
+spl_fild02,180,1,0 duplicate(#mora_bush_timer) Bush1Timer 440
+spl_fild02,181,1,0 duplicate(#mora_bush_timer) Bush2Timer 440
+spl_fild02,182,1,0 duplicate(#mora_bush_timer) Bush3Timer 440
+spl_fild02,183,1,0 duplicate(#mora_bush_timer) Bush4Timer 440
+spl_fild02,184,1,0 duplicate(#mora_bush_timer) Bush5Timer 440
+spl_fild02,186,1,0 duplicate(#mora_bush_timer) Bush6Timer 440
+
+/*
+spl_fild02,187,1,0 script Field Bush Switch 440,{
+ donpcevent "Bush#ep14_1_bs1::OnEnable";
+ end;
+}
+*/
+
+splendide,183,117,4 script Tired-looking Fairy 438,{
+ if (!isequipped(2782)) {
+ mes "[Tired-looking Fairy]";
+ mes "VeOsaRiveh No ModAsh";
+ next;
+ mes "- You can't understand the fairy's words. -";
+ mes "- You need something to help you interpret them. -";
+ close;
+ }
+ if (ep14_1_bs < 4) {
+ mes "[Tired-looking Fairy]";
+ mes "I'm tired, don't talk to me.";
+ close;
+ } else if (ep14_1_bs < 10) {
+ if (checkquest(11187) == -1) {
+ mes "[Tired-looking Fairy]";
+ mes "I'm tired, don't talk to me.";
+ next;
+ select("Show the pouch.");
+ mes "[Tired-looking Fairy]";
+ mes "Huh?!";
+ mes "Where did you get this from?!";
+ next;
+ select("I found it in the bushes.");
+ mes "[Tired-looking Fairy]";
+ mes "It may not look like much, but it is an important object for us. I suppose I should say thanks.";
+ next;
+ mes "[Tired-looking Fairy]";
+ mes "But it won't be easy to find its owner with just the pouch...";
+ changequest 11186,11187;
+ next;
+ if(select("I think I saw a fairy that might be the owner.:I'll think about it.") == 2) {
+ mes "[Tired-looking Fairy]";
+ mes "Then tell me if you remember anything.";
+ close;
+ }
+ } else if (checkquest(11187) == 2) {
+ mes "[Tired-looking Fairy]";
+ mes "I hope you can find the owner.";
+ close;
+ }
+ mes "[Tired-looking Fairy]";
+ mes "Do you remember how the fairy looked?";
+ next;
+
+ setarray .@Hair$[0],"blonde","grassy-green","woody-brown","sea-blue";
+ setarray .@Skin$[0],"dark","light";
+ setarray .@Clothing$[0],"snow-white","grape","sky-blue","grassy-green";
+ setarray .@Wings$[0],"round","two pairs of","characteristic";
+
+ setarray .@i[1],
+ select("Blonde hair:Grassy-green hair:Woody-brown hair:Sea-blue hair"),
+ select("Dark-skinned:Light-skinned"),
+ select("Snow-white clothing:Grape clothing:Sky-blue clothing:Grassy-green clothing"),
+ select("Round wings:Two pairs of wings:Characteristic Wings");
+
+ set .@i[0], (1 << .@i[1]) | (1 << (.@i[2]+4)) | (1 << (.@i[3]+6)) | (1 << (.@i[4]+10));
+
+ mes "[Tired-looking Fairy]";
+ mes "A "+.@Skin$[.@i[2]-1]+"-skinned fairy with "+.@Hair$[.@i[1]-1]+" hair and "+.@Wings$[.@i[4]-1]+" wings, dressed in "+.@Clothing$[.@i[3]-1]+" clothing.......";
+ switch(.@i[0]) {
+ case 4418: // Kusmi: blonde hair, light skin, grape clothing, two pairs of wings
+ mes "Hmm...... That must be Kusmi.";
+ next;
+ mes "[Tired-looking Fairy]";
+ mes "Kusmi must be roaming the area southeast of the village.";
+ mes "Go see if she has lost her pouch.";
+ if (ep14_1_bs2 == 7)
+ set ep14_1_bs2,10;
+ close;
+ case 2212: // Theodore: grassy-green hair, dark skin, snow-white clothing, round wings
+ mes "Hmm......That must be Theodore.";
+ next;
+ mes "[Tired-looking Fairy]";
+ mes "Theodore must be roaming the area northeast of the village.";
+ mes "Go see if he has lost his pouch.";
+ if (ep14_1_bs2 == 8)
+ set ep14_1_bs2,11;
+ close;
+ case 9264: // Pauchon: sea-blue hair, dark skin, grassy-green clothing, characteristic wings
+ mes "Hmm......That must be Pauchon.";
+ next;
+ mes "[Tired-looking Fairy]";
+ mes "Pauchon must be roaming the area north of the village.";
+ mes "Go see if she has lost her pouch.";
+ if (ep14_1_bs2 == 9)
+ set ep14_1_bs2,12;
+ close;
+ default:
+ next;
+ mes "[Tired-looking Fairy]";
+ mes "Hmm...";
+ mes "I don't remember seeing such a fairy.";
+ mes "Are you sure you're not mistaken?";
+ mes "Try to remember it again.";
+ close;
+ }
+ }
+ mes "[Tired-looking Fairy]";
+ mes "What's up?";
+ mes "Did you find the owner of the pouch?";
+ close;
+}
+
+splendide,119,138,4 script Kusmi#ep14_1_bs 440,{
+ if (!isequipped(2782)) {
+ mes "[Kusmi]";
+ mes "DimFusTal Mu Lars";
+ mes "ModAnduLo";
+ mes "Mod";
+ mes "DorDuMe U NohLarsFulo Mu Fus";
+ next;
+ mes "- You can't understand the fairy's words. -";
+ mes "- You need something to help you interpret them. -";
+ close;
+ }
+ if (ep14_1_bs > 3 && ep14_1_bs < 10) {
+ mes "[Kusmi]";
+ mes "And who mayy you be?";
+ next;
+ select("Show the pouch.");
+ if (countitem(6390) == 0) {
+ mes "[Kusmi]";
+ mes "What is it that you want to show mee?";
+ close;
+ }
+ if (ep14_1_bs2 == 10) {
+ mes "[Kusmi]";
+ mes "Ahh!!";
+ mes "My pouch!!!!!";
+ mes "Thank you sirr!!!!!";
+ mes "I've been looking for it all overr!";
+ next;
+ select("Ask about the rumor.");
+ mes "[Kusmi]";
+ mes "That's a difficult questionn!";
+ mes "But you've returned my pouch, so I'll have to answerr......";
+ next;
+ mes "[Kusmi]";
+ mes "Promise me you won't tell anyonee!";
+ mes "If you can promise, please talk to me againn.";
+ delitem 6390,1; //Small_Pocket
+ set ep14_1_bs,10;
+ changequest 11187,11188;
+ close;
+ } else {
+ mes "[Kusmi]";
+ mes "Hmm I don't know who, but must be a slobb to be dropping his pouch like soo.";
+ mes "Huh? Mine??";
+ mes "No, mine is right here safelyy?";
+ next;
+ mes "[Kusmi]";
+ mes "It's a precious object so I hope you'll find the owner itt.";
+ close;
+ }
+ }
+ if (ep14_1_bs2 == 10) {
+ if (ep14_1_bs == 10) {
+ mes "[Kusmi]";
+ mes "You can't say this to anybody okayy~?";
+ mes "Recently,";
+ mes "the supplies from our the mainland have been cutt!";
+ mes "Or rather, the supply route is being blocked and we can't get our suppliess?";
+ next;
+ mes "[Kusmi]";
+ mes "We need to find enough food before we run out of stored goods, that's why we've been rummaging the bushess.";
+ next;
+ mes "[Kusmi]";
+ mes "But this cursed frozen land has no good foods.";
+ mes "We're barely keeping it green using magic, but it takes too much power to make fruit.";
+ next;
+ mes "[Kusmi]";
+ mes "The energy spent in making food is probably twice as much as the energy gained from eatingg.";
+ mes "Those higher up don't want to admit it, but it's going to become a serious problem soonn.";
+ next;
+ mes "[Kusmi]";
+ mes "We can't leave the battleground because we're in war, so we can't go checkk.";
+ mes "I am curiousss.......";
+ next;
+ mes "[Kusmi]";
+ mes "Not just me, but many Laphines are worriedd.";
+ mes "Well that's the situation, so if you meet a Laphine in the bushes please don't talk to himm.";
+ mes "It's embarrassingg!!!";
+ next;
+ mes "[Kusmi]";
+ mes "Oh, and you must never ever tell anyone about what happened todayy!";
+ mes "Unless that person wanted to help uss... spreading the word won't do Splendide any goood.";
+ set ep14_1_bs,11;
+ completequest 11188;
+ setquest 11189;
+ close;
+ } else if (ep14_1_bs == 11) {
+ mes "[Kusmi]";
+ mes "Eh?";
+ mes "You stilll want to talk?";
+ next;
+ select("Supply route from the mainland?");
+ mes "[Kusmi]";
+ mes "Well if you hear that you'll have to helpp!";
+ mes "Still want to knoww?!";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Kusmi]";
+ mes "It's not a special road or anythingg.";
+ mes "Just an old roadd.";
+ mes "Some say it connects different continents. It also connects the Splendide Basecamp and Alfheim through the backk.";
+ next;
+ mes "[Kusmi]";
+ mes "If you're headed that way, please go see that all's okayy.";
+ set ep14_1_bs,12;
+ changequest 11189,11190;
+ close;
+ case 2:
+ mes "[Kusmi]";
+ mes "Thank you for finding my pouchh.";
+ mes "I would give you some fairy dust, but there is none leftt.";
+ close;
+ }
+ } else if (ep14_1_bs == 12) {
+ mes "[Kusmi]";
+ mes "It's not a special road or anythingg.";
+ mes "Just an old roadd.";
+ mes "Some say it connects different continents. It also connects the Splendide Basecamp and Alfheim through the backk.";
+ next;
+ mes "[Kusmi]";
+ mes "If you're headed that way, please go see that all's okayy.";
+ close;
+ } else if (ep14_1_bs == 13) {
+ mes "[Kusmi]";
+ mes "A crevicee?";
+ mes "That's why we couldn't contact the mainland.";
+ mes "Urggg.......";
+ mes "It would be good to know what's going on up theree.";
+ next;
+ mes "[Kusmi]";
+ mes "If you happen to go through Bifrost, please figure out what's going onn.";
+ mes "In the middle of Bifrost is a small village called 'Mora.' All the supplies from the mainland come through that villagee.";
+ next;
+ mes "[Kusmi]";
+ mes "If you go to the warehouse in Mora Village, the manager will tell you moree.";
+ mes "Also, on the way back, will you check to see that my friend Rondo is in Mora Villagee?";
+ next;
+ mes "[Kusmi]";
+ mes "He always used to visit Splendide around this time, but the situation is no good now. I'll have to tell him to come another time.";
+ set ep14_1_bs,14;
+ changequest 11191,11192;
+ close;
+ } else if (ep14_1_bs == 14) {
+ mes "[Kusmi]";
+ mes "If you happen to go through Bifrost, please figure out what's going onn.";
+ mes "In the middle of Bifrost is a small village called 'Mora.' All the supplies from the mainland come through that villagee.";
+ next;
+ mes "[Kusmi]";
+ mes "If you go to the warehouse in Mora Village, the manager will tell you moree.";
+ if (checkquest(11193) > -1 && checkquest(11193) < 2)
+ close;
+ mes "Also, on the way back, will you check to see that my friend Rondo is in Mora Villagee?";
+ next;
+ mes "[Kusmi]";
+ mes "He always used to visit Splendide around this time, but the situation is no good now. I'll have to tell him to come another time.";
+ close;
+ } else if (ep14_1_bs > 14) {
+ if (checkquest(11193) == -1) {
+ mes "[Kusmi]";
+ mes "Will you check to see that my friend Rondo is in Mora Villagee?";
+ next;
+ mes "[Kusmi]";
+ mes "He always used to visit Splendide around this time, but the situation is no good now. I'll have to tell him to come another time.";
+ close;
+ }
+ mes "[Kusmi]";
+ mes "Heee!";
+ mes "You really went through the fog of the Maze of the Hazy Forest?";
+ mes "Wow!!!";
+ mes "That's very impressivee.";
+ next;
+ mes "[Kusmi]";
+ mes "Thank you soooo much.";
+ mes "I hope we'll be able to go through Bifrost againn.";
+ mes "I want to meet Rondo and talk to him againn.";
+ if (ep14_1_bs == 17) {
+ next;
+ mes "[Kusmi]";
+ mes "Oh, And Daphrer is in northwest Splendide.";
+ }
+ if (checkquest(11193) < 2) {
+ completequest 11192;
+ completequest 11193;
+ }
+ close;
+ }
+ }
+ mes "[Kusmi]";
+ mes "This place is always coldd.";
+ mes "So different from my heavenly hometownn.";
+ close;
+}
+
+splendide,304,295,4 script Theodore#ep14_1_bs 445,{
+ if (!isequipped(2782)) {
+ mes "[Theodore]";
+ mes "DimFusTal Mu Lars";
+ mes "ModAnduLo";
+ mes "Mod";
+ mes "DorDuMe U NohLarsFulo Mu Fus";
+ next;
+ mes "- You can't understand the fairy's words. -";
+ mes "- You need something to help you interpret them. -";
+ close;
+ }
+ if (ep14_1_bs > 3 && ep14_1_bs < 10) {
+ mes "[Theodore]";
+ mes "Who are you!";
+ next;
+ select("Show the pouch.");
+ if (countitem(6390) == 0) {
+ mes "[Theodore]";
+ mes "Hmm? What do you mean?";
+ close;
+ }
+ if (ep14_1_bs2 == 11) {
+ mes "[Theodore]";
+ mes "Ahh!!";
+ mes "My pouch!!!!!";
+ mes "I've been looking for it all over the place.";
+ mes "Thanks!";
+ next;
+ select("Ask about the rumor.");
+ mes "[Theodore]";
+ mes "Hrm!!";
+ mes "What a penetrating question!";
+ next;
+ mes "[Theodore]";
+ mes "If you really want to hear the answer, talk to me again.";
+ mes "I need time to think.";
+ delitem 6390,1; //Small_Pocket
+ set ep14_1_bs,10;
+ changequest 11187,11194;
+ close;
+ } else {
+ mes "[Theodore]";
+ mes "What is that dirty pouch!";
+ mes "It is definitely not mine.";
+ next;
+ mes "[Theodore]";
+ mes "But I hope you find its rightful owner.";
+ close;
+ }
+ }
+ if (ep14_1_bs2 == 11) {
+ if (ep14_1_bs == 10) {
+ mes "[Theodore]";
+ mes "You are not to tell anyone what I'm about to tell you.";
+ next;
+ mes "[Theodore]";
+ mes "Recently, there's a big problem in Splendide.";
+ mes "There is no communication with the mainland.";
+ mes "Not just communication, but supplies have been cut off also. People act indifferent but actually there is deep panic.";
+ next;
+ mes "[Theodore]";
+ mes "This frozen land is no use for collecting food, but to farm it would be too much work.";
+ next;
+ mes "[Theodore]";
+ mes "In fact, just maintaining the green is costing an incredible amount of magic power.";
+ mes "No word has come from higher up, but from the rumors it's not an easily fixable problem.";
+ next;
+ mes "[Theodore]";
+ mes "And because there is no easy fix, everybody is worried sick.";
+ mes "By military law, our soldiers cannot leave the battlefield during war, so it's impossible to get more information.";
+ next;
+ mes "[Theodore]";
+ mes "Therefore, if you happen to run into a Laphine, please don't mention any of this.";
+ mes "Everybody is trying as hard as they can, but we are still a proud race.";
+ next;
+ mes "[Theodore]";
+ mes "And as I said before, what I told you is a secret and you must not tell anyone.";
+ mes "We do need help, but we are cornered and we don't want others to know.";
+ set ep14_1_bs,11;
+ completequest 11194;
+ setquest 11195;
+ close;
+ } else if (ep14_1_bs == 11) {
+ mes "[Theodore]";
+ mes "You have further business with me?";
+ next;
+ select("Supply route from the mainland?");
+ mes "[Theodore]";
+ mes "Hmm... if you hear that, you might just have to help us out?";
+ mes "Do you still want to know?";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Theodore]";
+ mes "The supply route comes through Bifrost, and you can get to it from the back of the Splendide Basecamp.";
+ mes "That is why we set up the basecamp here.";
+ mes "The origin of the route is unclear, but it has been known for a long time to be a bridge that connects continents.";
+ next;
+ mes "[Theodore]";
+ mes "If you happen to venture there, please ask a guard what things are like there.";
+ set ep14_1_bs,12;
+ changequest 11195,11196;
+ close;
+ case 2:
+ mes "[Theodore]";
+ mes "Thank you for getting the pouch back to me.";
+ mes "Fairy dust? I don't carry around such a thing.";
+ close;
+ }
+ } else if (ep14_1_bs == 12) {
+ mes "[Theodore]";
+ mes "The supply route comes through Bifrost, and you can get to it from the back of the Splendide Basecamp.";
+ mes "That is why we set up the basecamp here.";
+ mes "The origin of the route is unclear, but it has been known for a long time to be a bridge that connects continents.";
+ next;
+ mes "[Theodore]";
+ mes "If you happen to venture there, please ask a guard what things are like there.";
+ close;
+ } else if (ep14_1_bs == 13) {
+ mes "[Theodore]";
+ mes "A crevice?";
+ mes "So that was why we couldn't reach the mainland.";
+ mes "It would be good to know what's going on up there.";
+ next;
+ mes "[Theodore]";
+ mes "Hmm...";
+ mes "I can't leave here, but you would be able to, no?";
+ mes "The supplies from the mainland come through 'Mora' Village, which is located in the middle of Bifrost.";
+ next;
+ mes "[Theodore]";
+ mes "If you speak to the Warehouse Manager of Mora Village, you'd be able to get more information.";
+ mes "If you're willing, will you go to Bifrost's 'Mora' Village and meet the Warehouse Manager?";
+ next;
+ mes "[Theodore]";
+ mes "And if it's not too much trouble, you could drop by my friend Lilitia's also...";
+ set ep14_1_bs,14;
+ changequest 11197,11198;
+ close;
+ } else if (ep14_1_bs == 14) {
+ mes "[Theodore]";
+ mes "If you speak to the Warehouse Manager of Mora Village, you'd be able to get more information.";
+ mes "If you're willing, will you go to Bifrost's 'Mora' Village and meet the Warehouse Manager?";
+ if (checkquest(11199) > -1 && checkquest(11199) < 2)
+ close;
+ next;
+ mes "[Theodore]";
+ mes "And if it's not too much trouble, you could drop by my friend Lilitia's also...";
+ close;
+ } else if (ep14_1_bs > 14) {
+ if (checkquest(11199) == -1) {
+ mes "[Theodore]";
+ mes "And if it's not too much trouble, you could drop by my friend Lilitia's also...";
+ close;
+ }
+ mes "[Theodore]";
+ mes "Wow!!!";
+ mes "So you went through the Maze of the Hazy Forest and returned from Mora Village.";
+ mes "I made the right decision by asking you!";
+ next;
+ mes "[Theodore]";
+ mes "Thank you.";
+ mes "I hope this gets resolved soon...";
+ mes "I don't want to further upset Lilitia...";
+ if (ep14_1_bs == 17) {
+ next;
+ mes "[Theodore]";
+ mes "Oh, And Daphrer is in northwest Splendide.";
+ }
+ if (checkquest(11199) < 2) {
+ completequest 11198;
+ completequest 11199;
+ }
+ close;
+ }
+ }
+ mes "[Theodore]";
+ mes "Sometimes, I sense a painful beauty in this frozen earth, quite different from the beauty of my hometown.";
+ mes "But this is a difficult environment for us to live in, certainly.";
+ close;
+}
+
+splendide,168,301,4 script Pauchon#ep14_1_bs 439,{
+ if (!isequipped(2782)) {
+ mes "[Pauchon]";
+ mes "DimFusTal Mu Lars";
+ mes "ModAnduLo";
+ mes "Mod";
+ mes "DorDuMe U NohLarsFulo Mu Fus";
+ next;
+ mes "- You can't understand the fairy's words. -";
+ mes "- You need something to help you interpret them. -";
+ close;
+ }
+ if (ep14_1_bs > 3 && ep14_1_bs < 10) {
+ mes "[Pauchon]";
+ mes "What can I do for you, sir?";
+ next;
+ select("Show the pouch.");
+ if (countitem(6390) == 0) {
+ mes "[Pauchon]";
+ mes "Huh? Do you see something?";
+ mes "I don't see anything...";
+ close;
+ }
+ if (ep14_1_bs2 == 12) {
+ mes "[Pauchon]";
+ mes "Good heavens...!";
+ mes "I think this is mine!";
+ mes "Thank you.";
+ mes "I've been worried since I lost it, you lifted a burden off of my mind.";
+ next;
+ select("Ask about the rumor.");
+ mes "[Pauchon]";
+ mes "That's not easy for me to answer...";
+ mes "I do appreciate you finding my pouch.... Hmm...";
+ mes "Please give me some time to think..";
+ delitem 6390,1; //Small_Pocket
+ set ep14_1_bs,10;
+ changequest 11187,11200;
+ close;
+ } else {
+ mes "[Pauchon]";
+ mes "Oh dear. It's not mine.";
+ mes "But to carelessly drop such an important object!";
+ mes "I don't know who it is, but that Laphine needs a lesson!";
+ close;
+ }
+ }
+ if (ep14_1_bs2 == 12) {
+ if (ep14_1_bs == 10) {
+ mes "[Pauchon]";
+ mes "What I'm about to tell you is top secret!";
+ mes "We don't even talk about it amongst ourselves!";
+ mes "How would we say that the supply from the mainland's been cut off like that!";
+ next;
+ mes "[Pauchon]";
+ mes "Ugh?!";
+ mes "Oh boy... I've done it....";
+ mes "It's really a top secret!!";
+ mes "Don't tell anybody!";
+ next;
+ mes "[Pauchon]";
+ mes "Well since I spilled the beans already... oh well, too late.";
+ mes "So it's been a while since we received supplies from the mainland.";
+ next;
+ mes "[Pauchon]";
+ mes "We're not starving, but we're receiving less and less food.";
+ mes "I was hungry so I went to go pick fruit, but in this cold climate there are no fruit trees.";
+ next;
+ mes "[Pauchon]";
+ mes "And the people higher up only tell us to wait... I'm so tired of waiting!";
+ mes "But the instant I leave this place, I'll end up going to prison....";
+ next;
+ mes "[Pauchon]";
+ mes "So I'm stuck here, and I'll be stuck here, suffering from hunger.... *sob*";
+ next;
+ mes "[Pauchon]";
+ mes "I'd eat the bark off of that tree if I could.";
+ mes "If only somebody could help. *sob*";
+ set ep14_1_bs,11;
+ completequest 11200;
+ setquest 11201;
+ close;
+ } else if (ep14_1_bs == 11) {
+ mes "[Pauchon]";
+ mes "What?";
+ mes "What do you want... I'm hungry, don't have energy to talk...";
+ next;
+ select("Supply route from the mainland?");
+ mes "[Pauchon]";
+ mes "Are you going to help me if I tell you?";
+ mes "If not, I won't tell.";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Pauchon]";
+ mes "A giant road leads away from the back of Splendide.";
+ mes "I don't know if it's related to legends and what not, but I've heard that the road's been there forever.";
+ next;
+ mes "[Pauchon]";
+ mes "Oh! The guard there might know something.";
+ mes "If you're headed that way, please go find out what's up.";
+ set ep14_1_bs,12;
+ changequest 11201,11202;
+ close;
+ case 2:
+ mes "[Pauchon]";
+ mes "Thank you for finding the pouch.";
+ mes "Ugh... I'm starving... I suppose I'll have to eat these bitter berries...";
+ close;
+ }
+ } else if (ep14_1_bs == 12) {
+ mes "[Pauchon]";
+ mes "A giant road leads away from the back of Splendide.";
+ mes "I don't know if it's related to legends and what not, but I've heard that the road's been there forever.";
+ next;
+ mes "[Pauchon]";
+ mes "Oh! The guard there might know something.";
+ mes "If you're headed that way, please go find out what's up.";
+ close;
+ } else if (ep14_1_bs == 13) {
+ mes "[Pauchon]";
+ mes "Crevice?!?";
+ mes "Hmm I have heard that crevices are creeping up here and there, but it even infiltrated Bifrost....";
+ mes "It appears to be more serious than I had imagined.";
+ next;
+ mes "[Pauchon]";
+ mes "If you can, would you go to 'Mora' Village in Bifrost and figure out what's going on?";
+ next;
+ mes "[Pauchon]";
+ mes "The supplies from the mainland come through the Village. If you go speak to the Warehouse Manager, he'll be able to tell you something.";
+ mes "Also, please pay a visit to my friend Humming.";
+ next;
+ mes "[Pauchon]";
+ mes "He's such a flighty guy, might have already left, but we were supposed to meet up in Mora Village.";
+ set ep14_1_bs,14;
+ changequest 11203,11204;
+ close;
+ } else if (ep14_1_bs == 14) {
+ mes "[Pauchon]";
+ mes "If you can, would you go to 'Mora' Village in Bifrost and figure out what's going on?";
+ next;
+ mes "[Pauchon]";
+ mes "The supplies from the mainland come through the Village. If you go speak to the Warehouse Manager, he'll be able to tell you something.";
+ if (checkquest(11205) > -1 && checkquest(11205) < 2)
+ close;
+ mes "Also, please pay a visit to my friend Humming.";
+ next;
+ mes "[Pauchon]";
+ mes "He's such a flighty guy, might have already left, but we were supposed to meet up in Mora Village.";
+ close;
+ } else if (ep14_1_bs > 14) {
+ if (checkquest(11205) == -1) {
+ mes "[Pauchon]";
+ mes "Please pay a visit to my friend Humming.";
+ mes "He's such a flighty guy, might have already left, but we were supposed to meet up in Mora Village.";
+ close;
+ }
+ mes "[Pauchon]";
+ mes "I had my doubts...But you really did cross the legendary Maze of the Hazy Forest...";
+ mes "I'm very impressed.";
+ next;
+ mes "[Pauchon]";
+ mes "I really appreciate your help.";
+ mes "I hope this gets resolved soon.";
+ mes "What I'm really afraid of... is hunger. More than war.";
+ if (ep14_1_bs == 17) {
+ next;
+ mes "[Pauchon]";
+ mes "Oh, And Daphrer is in northwest Splendide.";
+ }
+ if (checkquest(11205) < 2) {
+ completequest 11204;
+ completequest 11205;
+ }
+ close;
+ }
+ }
+ mes "[Pauchon]";
+ mes "Ah... I'm hungry.";
+ mes "When I get back to the mainland I'm going to stuff my belly until it bursts.";
+ close;
+}
+
+splendide,262,376,4 script Laphine Soldier#ep14_1 447,{
+ if (!isequipped(2782)) {
+ mes "[Laphine Soldier]";
+ mes "DielFarmar Di RiniIyazser Ha mahAgolAsh U U ";
+ mes "TurNohnar Di DurNeiFar Ra AnuVerNoth Ha AshRivehDor Ha BurWehLars Ur RinimanMod";
+ next;
+ mes "- You can't understand the fairy's words. -";
+ mes "- You need something to help you interpret them. -";
+ close;
+ }
+ mes "[Laphine Soldier]";
+ mes "This is Bifrost, which leads to Alfheim.";
+ mes "Please note that entry is forbidden due to a crevice caused by an unidentified source.";
+ if (ep14_1_bs != 12)
+ close;
+ next;
+ mes "[Laphine Soldier]";
+ mes "The other way leads to the Maze of the Hazy Forest.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "You can get to Alfheim by making it through the Maze of the Hazy Forest. However, nobody has ever come back from the Maze of the Hazy Forest.";
+ if (checkquest(11190) > -1 && checkquest(11190) < 2) {
+ set ep14_1_bs,13;
+ changequest 11190,11191;
+ } else if (checkquest(11196) > -1 && checkquest(11196) < 2) {
+ set ep14_1_bs,13;
+ changequest 11196,11197;
+ } else if (checkquest(11202) > -1 && checkquest(11202) < 2) {
+ set ep14_1_bs,13;
+ changequest 11202,11203;
+ }
+ close;
+}
+
+mora,185,163,2 script Warehouse Manager#ep14_1 516,{
+ if (ep14_1_bs < 15) {
+ mes "[Warehouse Manager]";
+ mes "No, sir!";
+ mes "You cannot enter at will.";
+ mes "This is a warehouse. If you need something, please ask the staff outside.";
+ if (ep14_1_bs < 14)
+ close;
+ next;
+ select("Supplies for Laphine?");
+ mes "[Warehouse Manager]";
+ mes "Ah!";
+ mes "You're from Splendide?";
+ mes "Let's see...";
+ mes "All the supplies from over there to there are destined for Splendide.";
+ next;
+ mes "[Warehouse Manager]";
+ mes "We are quite worried too because the crevice in Bifrost has made it impossible to deliver these goods.";
+ next;
+ mes "[Warehouse Manager]";
+ mes "And the travelers who were heading down are also stuck here. The increasing number of customers is both a blessing and a curse..";
+ next;
+ mes "[Warehouse Manager]";
+ mes "If you plan to go back to Splendide, pay a visit to Jones at the Inn.";
+ mes "He has something that needs to be urgently delivered to the army of Splendide.";
+ set ep14_1_bs,15;
+ setquest 11206;
+ close;
+ } else if (ep14_1_bs == 15) {
+ mes "[Warehouse Manager]";
+ mes "If you plan to go back to Splendide, pay a visit to Jones at the Inn.";
+ mes "He has something that needs to be urgently delivered to the army of Splendide.";
+ close;
+ } else {
+ mes "[Warehouse Manager]";
+ mes "We are quite worried too because the crevice in Bifrost has made it impossible to deliver these goods.";
+ next;
+ mes "[Warehouse Manager]";
+ mes "And the travelers who were heading down are also stuck here. The increasing number of customers is both a blessing and a curse...";
+ close;
+ }
+ end;
+}
+
+mora,35,119,4 script Rondo#ep14_1_bs 513,{
+ mes "[Rondo]";
+ mes "Mora is such a mysterious place.";
+ mes "You can understand any language.";
+ next;
+ mes "[Rondo]";
+ mes "Of course, when we leave this area I won't be able to understand what you say, but I'll be able to remember the conversations we had. And I'll look forward to the day we meet again, here.";
+ if (ep14_1_bs > 13 && ep14_1_bs2 == 10) {
+ next;
+ mes "[Rondo]";
+ mes "Please tell Kusmi";
+ mes "that if he wants to meet, we can meet any time. There is nothing to worry about.";
+ if (checkquest(11193) == -1)
+ setquest 11193;
+ }
+ close;
+}
+
+mora,98,66,4 script Lilitia#ep14_1_bs 518,{
+ if (ep14_1_bs > 13 && ep14_1_bs2 == 11) {
+ mes "[Lilitia]";
+ mes "Boo!!!";
+ mes "He broke his promise again!!!";
+ next;
+ mes "[Lilitia]";
+ mes "He said he'd be here this time for sure!!!";
+ mes "That place is too cold for me to visit!!!!!";
+ mes "My precious leaves will wither there.";
+ next;
+ mes "[Lilitia]";
+ mes "What? Theodore sent you?";
+ mes "Please tell him that I'm so mad!!";
+ if (checkquest(11199) == -1)
+ setquest 11199;
+ close;
+ }
+ mes "[Lilitia]";
+ mes "I really hate the cold.";
+ mes "That's why Mora is a lovely place to live.";
+ next;
+ mes "[Lilitia]";
+ mes "The leaves are always fresh here. And, the stress about languages just disappears.";
+ close;
+}
+
+mora,139,102,2 script Humming#ep14_1_bs 515,{
+ if (ep14_1_bs > 13 && ep14_1_bs2 == 12) {
+ mes "[Humming]";
+ mes "Oh!";
+ mes "You're here because Pauchon sent you?";
+ next;
+ mes "[Humming]";
+ mes "It must've been hard for you to get here. I'm impressed.";
+ mes "The Maze of the Hazy Forest~ It fuels my adventurous spirit!";
+ next;
+ mes "[Humming]";
+ mes "If you reach Splendide before me, please tell Pauchon";
+ mes "that I'm going through the Maze of the Hazy Forest.";
+ if (checkquest(11205) == -1)
+ setquest 11205;
+ close;
+ }
+ mes "[Humming]";
+ mes "I heard that a crevice crept in between Jotunheim and Midgard, so I wanted to check it out. But I got stuck here.";
+ mes "I was looking forward to seeing a new place.";
+ next;
+ mes "[Humming]";
+ mes "Are you from Midgard?";
+ mes "What is it like there?";
+ mes "I've always wanted to see a creature called Poring.";
+ close;
+}
+
+mora,55,124,2 script Jones#ep14_1_bs 495,{
+ if (ep14_1_bs < 15) {
+ mes "[Jones]";
+ mes "Oh.... Darn.......";
+ mes "I can't go down, and I can't go back. My credibility that I've worked so hard on is just crumbling into dust.";
+ close;
+ } else if (ep14_1_bs == 15) {
+ mes "[Jones]";
+ mes "Ah, are you the traveler who came through the Maze of the Hazy Forest from Splendide?";
+ mes "If you plan to go back, can you please deliver this to the Splendide army?";
+ next;
+ mes "[Jones]";
+ mes "A person high up requested it, but I can't cross Bifrost.";
+ next;
+ mes "[Jones]";
+ mes "Deliveries to other places have all stopped also. Ah, my credibility is suffering....";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Jones]";
+ mes "Thank you.";
+ set ep14_1_bs,16;
+ changequest 11206,11207;
+ close;
+ case 2:
+ mes "[Jones]";
+ mes "I'm a bit embarrassed to ask this of a stranger...... Ha ha!";
+ close;
+ }
+ } else if (ep14_1_bs == 16) {
+ if (checkweight(1201,1) == 0) {
+ mes "[Jones]";
+ mes "You have too many kinds of items. Please lighten your load and come back.";
+ close;
+ }
+ if (MaxWeight - Weight < 3500) {
+ mes "[Jones]";
+ mes "You are carrying too much weight. Please lighten your load and come back.";
+ close;
+ }
+ mes "[Jones]";
+ mes "Please take good care of it.";
+ mes "It's for Daphrer in Splendide.";
+ set ep14_1_bs,17;
+ getitem 6391,1; //Splendid_Supply_Kit
+ changequest 11207,11208;
+ close;
+ } else if (ep14_1_bs == 17) {
+ mes "[Jones]";
+ mes "Please take good care of it.";
+ mes "It's for Daphrer in Splendide.";
+ close;
+ } else if (ep14_1_bs > 17) {
+ mes "[Jones]";
+ mes "Thanks to you, the job is well done.";
+ mes "Hehe, I see potential in you as a delivery man.";
+ mes "Interested in the career of delivery?";
+ close;
+ } else {
+ mes "[Jones]";
+ mes "Hehe, I see potential in you as a delivery man.";
+ mes "Interested in the career of delivery?";
+ close;
+ }
+ end;
+}
+
+splendide,121,260,4 script Daphrer#ep14_1_bs 435,{
+ if (!isequipped(2782)) {
+ mes "[Daphrer]";
+ mes "DRHSfhsdfGSDH FGkkmvoifk DFG DFHshfeksmn fgg FDbbd fjnnvk n skncki dfgd F FHdfkdfjkmv";
+ close;
+ }
+ if (countitem(6391)) {
+ mes "[Daphrer]";
+ mes "Oh....";
+ mes "I've been waiting for you.";
+ next;
+ mes "[Daphrer]";
+ mes "This was urgently needed so thank you for bringing it here, I hope I haven't caused you too much trouble..";
+ next;
+ mes "[Daphrer]";
+ mes "This is probably too small to be a reward, but please accept this as a sign of my gratitude.";
+ delitem 6391,1; //Splendid_Supply_Kit
+ if (ep14_1_bs == 17) {
+ set ep14_1_bs,18;
+ completequest 11208;
+ getexp 0,500000;
+ getitem 6380,5; //Mora_Coin
+ } else
+ getitem 6380,2; //Mora_Coin
+ close;
+ }
+ if (ep14_1_bs == 17) {
+ mes "[Daphrer]";
+ mes "Oh....";
+ mes "So you lost the item on the way.";
+ next;
+ mes "[Daphrer]";
+ mes "I knew that it was probably a stretch......";
+ mes "Perhaps I've been unrealistic.";
+ mes "But I thank you for your trouble anyway. Please accept this as a sign of my gratitude.";
+ set ep14_1_bs,18;
+ completequest 11208;
+ getexp 0,200000;
+ getitem 6380,2; //Mora_Coin
+ close;
+ }
+ mes "[Daphrer]";
+ mes "For me, a drop of water to make a flower blossom is more important than a sword for war.";
+ close;
+}
+
+// Chesire's New Day :: cheshir2
+//============================================================
+dic_in01,262,191,0 script #ep14_1_xq02 139,0,3,{
+ end;
+OnTouch:
+ if (ep13_3_secret > 22 && checkquest(7206) == -1) {
+ enablenpc "Cheshire#ep14_1_xq01";
+ cutin "ep13_cheshire_h",1;
+ mes "[Cheshire]";
+ mes "Oh, wait!";
+ mes "There's another thing I'd like you to do.";
+ mes "There's not enough time to go into details...";
+ next;
+ mes "- Cheshire glanced at the guard standing close to you, and leaned close and whispered into your ear.-";
+ next;
+ mes "[Cheshire]";
+ mes "You'll find cat caravans in the middle of ^4d4dffKamidal Tunnel^000000.";
+ mes "There is ^4d4dffa marked box among the caravans' goods to the west of the entrance to the Scaraba Hole^000000.";
+ next;
+ mes "[Cheshire]";
+ mes "I'd like you to bring it to me.";
+ mes "You'll see where you should bring it by looking at the box.";
+ mes "This is an important matter.";
+ next;
+ mes "[Cheshire]";
+ mes "I have something to get done in advance...";
+ mes "Good luck!";
+ setquest 7206;
+ close2;
+ disablenpc "Cheshire#ep14_1_xq01";
+ cutin "",255;
+ }
+ end;
+}
+
+dic_in01,260,194,4 script Cheshire#ep14_1_xq01 498,{
+ end;
+OnInit:
+ disablenpc "Cheshire#ep14_1_xq01";
+ end;
+}
+
+dic_dun01,274,114,0 script Stacked Boxes of Goods 844,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- You have too many items to do this quest. -";
+ close;
+ }
+ set .@playtime, checkquest(7208,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "Boxes with all kinds of goods in them are stacked to the ceiling.";
+ mes "The marked box Cheshire was talking about doesn't seem to be here yet.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "Boxes with all kinds of goods in them are stacked to the ceiling.";
+ mes "Looking closely, you find a box with a small piece of paper stuck to it.";
+ mes "You've found the box of goods Cheshire was talking about.";
+ next;
+ switch(select("Move the box.:Give up.")) {
+ case 1:
+ mes "You promised to take the box of Bradium to Cheshire, who will be waiting for you near the Crevice of Bifrost.";
+ erasequest 7208;
+ setquest 7210;
+ getitem 6392,1; //Bradium_Box
+ close;
+ case 2:
+ mes "You decided to give up delivering the box.";
+ mes "You left the box as it is.";
+ erasequest 7208;
+ close;
+ }
+ } else {
+ if (checkquest(7207) == -1) {
+ if (checkquest(7206) > -1) {
+ mes "Boxes with all kinds of goods in them are stacked to the ceiling.";
+ mes "Looking closely, you find a box with a small piece of paper stuck to it.";
+ next;
+ mes "The piece of paper is marked with some mysterious symbol, and below it is written ^4d4dffTo: The Crevice of Bifrost^000000 in small letters.";
+ next;
+ mes "This must the box Cheshire was talking about.";
+ mes "You decide to take it to the location shown on the piece of paper.";
+ completequest 7206;
+ setquest 7207;
+ getitem 6392,1; //Bradium_Box
+ close;
+ }
+ } else if (checkquest(7207) < 2) {
+ mes "You've already obtained the box Cheshire was talking about.";
+ mes "Now you only have to take it to the Crevice of Bifrost.";
+ close;
+ }
+ mes "Boxes with all kinds of goods in them are stacked to the ceiling.";
+ close;
+ }
+ end;
+}
+
+bif_fild01,335,168,3 script Cheshire#ep14_1_xq04 497,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- You have too many items to do this quest. -";
+ close;
+ }
+ cutin "ep13_cheshire",1;
+ if (checkquest(7209) > -1) {
+ if (countitem(6090) < 20) {
+ mes "[Cheshire]";
+ mes "Bring me 20 pieces of refined Bradium.";
+ mes "In exchange for the box, which you carelessly and irresponsibly sold to somebody.";
+ mes "Have I made myself clear?!";
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "[Cheshire]";
+ mes "So you've brought it?";
+ mes "The amount is less than it was, but I guess I can't help it.";
+ mes "Next time, you must bring the box to me intact.";
+ next;
+ mes "- Cheshire threw the Bradium into the Crevice. -";
+ next;
+ mes "[Cheshire]";
+ mes "You made a mistake of losing the box, you have to be content with this.";
+ mes "And starting tomorrow, get the box here intact.";
+ mes "Every day.";
+ delitem 6090,20; //Purified_Bradium
+ erasequest 7209;
+ setquest 7208;
+ getitem 6304,1; //Sapa_Feat_Cert
+ close2;
+ cutin "",255;
+ end;
+ }
+ callsub L_CheckPlaytime;
+ if (checkquest(7210) > -1) {
+ if (countitem(6392) == 0)
+ callsub L_LostQuest,7210;
+ else {
+ mes "[Cheshire]";
+ mes "You've come at just the right time.";
+ mes "And I see the box is intact!";
+ mes "Well done.";
+ next;
+ mes "[Cheshire]";
+ mes "Well, I'll be counting on you, tomorrow as well.";
+ mes "Get it?";
+ mes "Now, leave this place before the Laphines grow suspicious.";
+ erasequest 7210;
+ setquest 7208;
+ delitem 6392,1; //Bradium_Box
+ getitem 6304,1; //Sapa_Feat_Cert
+ getexp 50000,40000;
+ close2;
+ cutin "",255;
+ end;
+ }
+ }
+ if (ep13_3_secret > 22) {
+ if (checkquest(7207) == -1) {
+ if (checkquest(7206) == -1) {
+ mes "[Cheshire]";
+ mes "...Hmm? Huh?";
+ mes "It's "+strcharinfo(0)+"!";
+ mes "What are you doing here?";
+ next;
+ select("Huh? Cheshire?");
+ mes "[Cheshire]";
+ mes "What makes you so surprised?";
+ mes "Does it surprise you to see me here?";
+ next;
+ select("Nothing, it's just the hood...");
+ mes "[Cheshire]";
+ mes "Oh... This. Because it's bothersome.";
+ mes "And here, I don't have to mind others.";
+ mes "Oh, and well met!";
+ mes "I was going to put you to work when you came to Diel.";
+ next;
+ mes "[Cheshire]";
+ mes ".......What? Why are you staring at me like that?";
+ mes "his is all for Ahat's good.";
+ next;
+ switch(select("I guess I have no choice.:I have a lot of things to do!")) {
+ case 1:
+ mes "["+strcharinfo(0)+"]";
+ mes "(He will be suspicious if I refuse to do it... I guess I should play along for now.)";
+ mes "Okay.";
+ mes "I'll do anything for Ahat's pleasure.";
+ mes "So, what do you need me for?";
+ next;
+ break;
+ case 2:
+ mes "[Cheshire]";
+ mes "Things to do?";
+ mes "What things?";
+ mes "This is one of the things you must do.";
+ mes "Don't forget you're are loyal to Ahat.";
+ next;
+ break;
+ }
+ mes "[Cheshire]";
+ mes "Great! Now I will tell you what to do.";
+ mes "You know there is an entrance to Scaraba Hole in the middle of Kamidal Tunnel?";
+ mes "You will find cat caravans around there who sell supplies and some simple tools.";
+ next;
+ mes "[Cheshire]";
+ mes "There is a marked box among the goods stacked there.";
+ mes "I'd like you to bring the box to me.";
+ next;
+ mes "[Cheshire]";
+ mes "It's a simple job of picking up and delivering a box.";
+ mes "Do it ^4d4dff quickly and quietly, without being noticed^000000.";
+ setquest 7206;
+ next;
+ mes "[Cheshire]";
+ mes "Now, move!";
+ close2;
+ cutin "",255;
+ end;
+ } else {
+ mes "[Cheshire]";
+ mes "Bring the box from Kamidal Tunnel.";
+ mes "Quickly and quietly!";
+ mes "No, get a move on!";
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else if (checkquest(7207) < 2) {
+ if (countitem(6392) == 0)
+ callsub L_LostQuest,7207;
+ else {
+ mes "[Cheshire]";
+ mes "........That box!";
+ mes "Oh, yes. It's the right one!";
+ mes "You've done a good job.";
+ mes "This is very important.";
+ mes "Ahat will be pleased.";
+ next;
+ mes "[Cheshire]";
+ mes "The boxes will be at the same place every day.";
+ mes "I'll leave the job to you.";
+ next;
+ select("Why don't you do it yourself?");
+ mes "[Cheshire]";
+ mes "........ Hmm...";
+ mes "It's only you humans that have free access to any place.";
+ mes "Plus, this place is Laphine territory.";
+ next;
+ mes "[Cheshire]";
+ mes "I don't attract their attention much, looking like this,";
+ mes "but what would Saphas think?";
+ mes "To see Ahat's man in a Laphine territory?";
+ next;
+ mes "[Cheshire]";
+ mes "They will grow suspicious.";
+ mes "But you humans are free from such troubles, so that's why you're the right one for the job.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "(... I don't buy his story, but he believes I'm on his side, so I guess I should play along.)";
+ mes "What happens to this Bradium, then?";
+ next;
+ mes "[Cheshire]";
+ mes "That thing?";
+ mes "Hand it to me.";
+ next;
+ mes "- Cheshire opened the box, checked the Bradium in it, threw them into the Crevice,";
+ mes "and looked back, dusting his hands off, and with a triumphant look on his face. -";
+ next;
+ mes "[Cheshire]";
+ mes "This is what happens.";
+ mes "*laugh* Beyond the Crevice lies a path unknown to you.";
+ next;
+ mes "[Cheshire]";
+ mes "Well, I'll leave the matter to you.";
+ mes "Try to bring the box to me every day.";
+ mes "Okay?";
+ delitem 6392,1; //Bradium_Box
+ completequest 7207;
+ setquest 7208;
+ getitem 6304,1; //Sapa_Feat_Cert
+ getexp 50000,40000;
+ next;
+ mes "[Cheshire]";
+ mes "In compensation for your efforts, I'll give you an Exploit Certification of Sapha and a little cash.";
+ mes "Now, leave this place before the Laphines grow suspicious.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else {
+ callsub L_CheckPlaytime;
+ mes "[Cheshire]";
+ mes "Huh? What's up?";
+ mes "You haven't brought the box today?";
+ next;
+ mes "[Cheshire]";
+ mes "Hmm, this is unexpected...";
+ mes "Well, I have no choice then.";
+ mes "I'll have another guy do it today.";
+ mes "But you must do it starting tomorrow, okay?";
+ setquest 7208;
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else if (ep13_3_secret > 15) {
+ mes "[Cheshire]";
+ mes "... Huh? I think I've seen you somewhere...";
+ mes "..........Oh!";
+ mes strcharinfo(0)+"...?!";
+ mes "What brings you here?";
+ next;
+ mes "[Cheshire]";
+ mes "You say you've forgotten what to do?";
+ mes "You're not supposed to be here.";
+ mes "You're supposed to be at the crevice to the south of Dicastes.";
+ next;
+ mes "[Cheshire]";
+ mes "Whoa.";
+ mes "What was Ahat thinking when he sent such an idiot to me?";
+ mes "Now, get a move on and do your job.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "[Cheshire]";
+ mes "...Why isn't this fellow showing up?";
+ mes "Should be here by now...";
+ mes "Lost the way back perhaps...?";
+ mes "....? Eh? Who, who are you? How long have you been standing here?";
+ next;
+ select("A cat?!");
+ mes "[Cheshire]";
+ mes "Who... who's a cat?!";
+ mes "Get lost!";
+ close2;
+ cutin "",255;
+ end;
+L_LostQuest:
+ mes "[Cheshire]";
+ mes "Oh, have you been there?";
+ mes "What happened to the box?";
+ mes "Why are you empty-handed?";
+ next;
+ switch(select("I'll look for it again!:I lost it...")) {
+ case 1:
+ mes "[Cheshire]";
+ mes "Make sure you do a good job!";
+ mes "And keep looking for it.";
+ mes "You must not lose it.";
+ break;
+ case 2:
+ mes "[Cheshire]";
+ mes "Where?";
+ mes "Which merchant did you sell it to?";
+ mes "Can't you distinguish between what to sell and what not to sell?";
+ mes "Were you asleep when you made the deal?";
+ next;
+ mes "[Cheshire]";
+ mes "This is utterly ridiculous.";
+ mes "Make up for what you lost!";
+ mes "^4d4dff20 pieces of refined Bradium^000000!!!";
+ erasequest getarg(0);
+ setquest 7209;
+ break;
+ }
+ close2;
+ cutin "",255;
+ end;
+L_CheckPlaytime:
+ set .@playtime, checkquest(7208,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Cheshire]";
+ mes "Each day, one of these boxes is sent to Kamidal Tunnel.";
+ mes "It's smuggled in among other items.";
+ next;
+ mes "[Cheshire]";
+ mes "Sneak into the place on time, and bring the box to me. The boxes will be at the same place every day.";
+ mes "You'll be doing it every day.";
+ close2;
+ cutin "",255;
+ end;
+ } else if (.@playtime == 2) {
+ mes "[Cheshire]";
+ mes "It's about time.";
+ mes "Now go get the box.";
+ mes "It should be lying near the entrance to Scaraba Hole in the Kamidal Tunnel.";
+ mes "You've done this before, so you must be familiar with it?";
+ close2;
+ cutin "",255;
+ end;
+ } else
+ return;
+}
+
+dicastes02,125,192,0 script #call_cheshir_ep14 139,0,3,{
+ end;
+OnTouch:
+ if (ep13_3_secret > 22) {
+ if (rand(2)) {
+ emotion e_ho,1;
+ mes "..........?";
+ mes "You sense someone moving around.";
+ mes "There must be someone down there.";
+ if ($@cheshire_on == 0) {
+ donpcevent "Cheshire#ep14_extra::OnEnable";
+ set $@cheshire_on,1;
+ }
+ close;
+ }
+ }
+ end;
+}
+
+dicastes02,103,190,3 script Cheshire#ep14_extra 497,{
+ if (ep13_3_secret > 22) {
+ cutin "ep13_cheshire",1;
+ mes "[Cheshire]";
+ mes "...Eh?";
+ mes "What a surprise. What are you doing here?";
+ next;
+ switch(select("And what are YOU doing here?:Those ears...?")) {
+ case 1:
+ mes "[Cheshire]";
+ mes "Out for a walk?";
+ mes "I came out with Ahat, but he went back in to take care of an urgent matter.";
+ next;
+ mes "[Cheshire]";
+ mes ".. ..............";
+ next;
+ select("....:Wha... What a pretty tree.");
+ mes "[Cheshire]";
+ mes "This tree... it's white, transparent, and shiny.";
+ mes "It's a Sapha's body.";
+ next;
+ mes "[Cheshire]";
+ mes "You know Saphas slowly turn to stone throughout their lives.";
+ mes "So when they die, they turn to stony trees.";
+ mes "This forest is... their cemetery, so to speak.";
+ next;
+ mes "[Cheshire]";
+ mes "....... Look closely, and you can make out his arms and legs.";
+ mes "Interesting, isn't it?";
+ next;
+ mes "[Cheshire]";
+ mes "... .. ...";
+ next;
+ mes "[Cheshire]";
+ mes "Oh, this is so annoying.";
+ mes "I'm off!";
+ next;
+ mes "- Cheshire stormed off... -";
+ break;
+ case 2:
+ mes "[Cheshire]";
+ mes "What? The ears?";
+ mes "Well, it's no wonder because I'm a beastman.";
+ mes "... Why... Why are you staring me like that?";
+ next;
+ select("Are you responsible for the report?!");
+ mes "[Cheshire]";
+ mes "What are you talking about?";
+ mes "I don't know such a thing!";
+ next;
+ mes "- Cheshire ran away... -";
+ break;
+ }
+ disablenpc "Cheshire#ep14_extra";
+ stopnpctimer;
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "A boy dressed in unusual clothing is standing, with a fierce look in his eyes.";
+ mes "You guess you'd better leave him alone.";
+ close;
+OnInit:
+ disablenpc "Cheshire#ep14_extra";
+ end;
+OnEnable:
+ enablenpc "Cheshire#ep14_extra";
+ initnpctimer;
+ end;
+OnDisable:
+ disablenpc "Cheshire#ep14_extra";
+ stopnpctimer;
+ end;
+OnTimer600000:
+ disablenpc "Cheshire#ep14_extra";
+ set $@cheshire_on,0;
+ stopnpctimer;
+ end;
+}
+
+// Helping Lope and Euridi :: rofe
+//============================================================
+mora,117,66,3 script Euridi#pa 521,{
+ if (BaseLevel < 100) {
+ mes "[Euridi]";
+ mes "You are very delicate.";
+ mes "It's true that I need help,";
+ mes "but I don't think you can help.";
+ close;
+ }
+ if (ep14_1_rope == 0) {
+ mes "[Euridi]";
+ mes "I hear you passed through the Hazy Forest.";
+ mes "Did you...";
+ mes "Did you happen to see";
+ mes "Lope, my fiance, there?";
+ next;
+ switch(select("Yes, I did.:No, I didn't.")) {
+ case 1:
+ mes "[Euridi]";
+ mes "Are you sure? Where did you see him?";
+ mes "Take me there, quick!";
+ mes "...";
+ next;
+ mes "[Euridi]";
+ mes "What?";
+ mes "You're kidding...?";
+ mes "How could you?";
+ close;
+ case 2:
+ mes "[Euridi]";
+ mes "Please find my Lope.";
+ mes "I came here to the Village of Mora";
+ mes "after asking all around,";
+ mes "but there is nothing more I can do.";
+ next;
+ mes "[Euridi]";
+ mes "My heart aches at the thought of Lope...";
+ mes "He will be desperately looking for me...";
+ next;
+ switch(select("Sorry, I'm busy!:I'll help you!")) {
+ case 1:
+ mes "[Euridi]";
+ mes "How heartless!";
+ close;
+ case 2:
+ mes "[Euridi]";
+ mes "I heard that he had gone into the Hazy Forest,";
+ mes "while guiding tourists around the village.";
+ mes "One of the tourists who went with Lope";
+ mes "must still be at the inn.";
+ next;
+ mes "[Euridi]";
+ mes "He wouldn't see me and locked himself in the room.";
+ mes "But he might be willing to see you, because you've been to the Hazy Forest.";
+ setquest 1109;
+ set ep14_1_rope,1;
+ close;
+ }
+ }
+ } else if (ep14_1_rope == 1) {
+ mes "[Euridi]";
+ mes "The tourist is at the inn,";
+ mes "not in front of me!";
+ close;
+ } else if (ep14_1_rope == 2) {
+ mes "[Euridi]";
+ mes "So you've seen Pitt!";
+ mes "I knew he would be willing to see you.";
+ mes "What did he say?";
+ next;
+ mes "[Euridi]";
+ mes "...No way....!";
+ mes "That is utter nonsense.";
+ mes "To blame Lope for it!";
+ mes "I found this piece of paper";
+ mes "near the Hazy Forest.";
+ mes "I'm sure it's Lope's.";
+ next;
+ mes "[Euridi]";
+ mes "If you find the rest of ^0000FFLope's Clues^000000,";
+ mes "you'll be able to find out";
+ mes "where he is.";
+ mes "I'm counting on you, "+strcharinfo(0)+".";
+ changequest 1110,1111;
+ set ep14_1_rope,3;
+ close;
+ } else if (ep14_1_rope == 3) {
+ mes "[Euridi]";
+ mes "If you come across a ^0000FFLope's Clue^000000, please show it to Pitt.";
+ mes "I hope he will tell the truth soon.";
+ close;
+ } else if (ep14_1_rope == 4) {
+ mes "[Euridi]";
+ mes "I don't understand it.";
+ mes "I'm now suspicious of his motives.";
+ mes "Why is he trying so hard to accuse Lope?";
+ mes "Wait... those clues...";
+ next;
+ mes "[Euridi]";
+ mes "Those seem to be more than simple notes.";
+ mes "Can I have a look at them?";
+ mes "...";
+ mes "These fit together like a puzzle.";
+ mes "... Oh!... This is...";
+ next;
+ mes "[Lope's Letter]";
+ mes "...We've been wandering around the Forest for days.";
+ mes "...So we're not protecting the tourists,";
+ mes "I got sick from deadly poison, and became a burden to everyone.";
+ mes "How pathetic...";
+ next;
+ mes "[Lope's Letter]";
+ mes "No wonder I was kicked out of";
+ mes "the Splendide Expedition.";
+ mes "...But I managed to protect at least one tourist.";
+ mes "He will deliver this letter and the ring to you.";
+ next;
+ mes "[Lope's Letter]";
+ mes "...I wanted to propose to you";
+ mes "as a proud member of the Expedition.";
+ mes "I'm sorry, Euridi.";
+ mes "See you soon.";
+ next;
+ mes "Having read the letter,";
+ mes "Euridi is standing staring blankly like someone who wasn't all there.";
+ mes "Let's go show the letter to Pitt.";
+ changequest 1112,1113;
+ delitem 6383,30; //Clue_Of_Lope
+ set ep14_1_rope,5;
+ close;
+ } else if (ep14_1_rope == 5) {
+ mes "[Euridi]";
+ mes "No, Lope must be safe.";
+ mes "He will come back no matter what...";
+ close;
+ } else if (ep14_1_rope == 6) {
+ mes "[Euridi]";
+ mes "......";
+ next;
+ mes "You hear a song coming from the girl who is hanging her head low.";
+ mes "Her friend seems to have something to say.";
+ close;
+ } else if (ep14_1_rope == 7 || ep14_1_rope == 8) {
+ mes "You hear a quiet singing voice.";
+ mes "You can't make the words out.";
+ close;
+ } else if (ep14_1_rope == 9) {
+ mes "[Euridi]";
+ mes "Have you found Lope?";
+ mes "Is he safe?";
+ next;
+ switch(select("Tell her you can't possibly find him.:Tell her he is dead.")) {
+ case 1:
+ mes "[Euridi]";
+ mes "I'll go look for him myself.";
+ mes "Hopefully... it's not too late, yet.";
+ mes "Let me go, there's no time to lose!";
+ close;
+ case 2:
+ mes "[Euridi]";
+ mes "I don't believe it.";
+ mes "He told me he would come back soon...";
+ mes "He told me to hang on.";
+ mes "It can't be... It just can't be...";
+ next;
+ mes "You hand her Lope's Ring, which Pitt gave you.";
+ mes "With the ring in her hand, Euridi bursts into tears.";
+ mes "She starts to sing in a strained voice, still crying.";
+ changequest 1116,1117;
+ set ep14_1_rope,10;
+ delitem 6384,1; //Ring_Of_Lope
+ close;
+ }
+ } else if (ep14_1_rope > 9) {
+ mes "You stand frozen.";
+ mes "You hear a quiet singing voice.";
+ close;
+ }
+}
+
+mora,115,68,3 script Euridi's Friend#pa 520,{
+ if (ep14_1_rope < 2) {
+ mes "[Euridi's Friend]";
+ mes "Please stop Euridi.";
+ mes "She is desperate to find her missing fiance.";
+ close;
+ } else if (ep14_1_rope == 2) {
+ mes "[Euridi's Friend]";
+ mes "Pitt is definitely suspicious.";
+ mes "I think he is avoiding Euridi...";
+ mes "He must be hiding something.";
+ close;
+ } else if (ep14_1_rope == 3) {
+ mes "[Euridi's Friend]";
+ mes "To tell the truth, I don't think";
+ mes "that Lope is alive.";
+ mes "I'm just worried about Euridi.";
+ next;
+ mes "[Euridi]";
+ mes "Aaarrrggghhh!!!!!!!!";
+ next;
+ mes "[Euridi's Friend]";
+ mes "...";
+ mes "To tell the truth, I really believe";
+ mes "that Lope is alive.";
+ mes "...";
+ mes "*sigh*";
+ close;
+ } else if (ep14_1_rope == 4) {
+ mes "[Euridi's Friend]";
+ mes "How's Pitt doing?";
+ mes "I think I should go visit him";
+ mes "and make him feel worse!";
+ mes "He's so disgusting!";
+ close;
+ } else if (ep14_1_rope == 5) {
+ mes "[Euridi's Friend]";
+ mes "Go to Pitt, quick.";
+ close;
+ } else if (ep14_1_rope == 6) {
+ mes "[Euridi's Friend]";
+ mes "Euridi is singing a song of healing";
+ mes "to protect her weakened body and mind.";
+ mes "At this rate, something's going to happen to her too.";
+ next;
+ mes "[Euridi's Friend]";
+ mes "Oh, I remember a traveler telling me";
+ mes "that he had seen a suspicious man";
+ mes "near the entrance to the Hazy Forest.";
+ next;
+ mes "[Euridi's Friend]";
+ mes "The traveler says he looked creepy standing there staring blankly,";
+ mes "but he couldn't see clearly";
+ mes "because of the thick fog.";
+ mes "I think it's worth investigating.";
+ changequest 1114,1115;
+ set ep14_1_rope,7;
+ close;
+ } else if (ep14_1_rope == 7) {
+ mes "[Euridi's Friend]";
+ mes "I hear that a suspicious man was seen";
+ mes "near the entrance to the Hazy Forest.";
+ mes "The traveler says he looked creepy standing there staring blankly,";
+ mes "but he couldn't see clearly";
+ mes "because of the thick fog.";
+ mes "I think it's worth investigating.";
+ close;
+ } else if (ep14_1_rope == 8 || ep14_1_rope == 9) {
+ mes "[Euridi's Friend]";
+ mes "Your face is dark.";
+ mes "Bad news?";
+ close;
+ } else if (ep14_1_rope == 10) {
+ mes "[Euridi's Friend]";
+ mes "There is a Laphine saying that";
+ mes "desperation invites disaster.";
+ mes "Maybe we're responsible";
+ mes "for what happened.";
+ next;
+ if (checkweight(6380,1) == 0) {
+ mes "[Euridi's Friend]";
+ mes "You have too many things with you.";
+ mes "Can you throw out some of them?";
+ close;
+ }
+ mes "[Euridi's Friend]";
+ mes "Lope will be able to rest in peace now.";
+ mes "Thank you. I won't forget what you've done for me.";
+ completequest 1117;
+ set ep14_1_rope,11;
+ getexp 1000000,2000000;
+ getitem 6380,10; //Mora_Coin
+ close;
+ } else if (ep14_1_rope > 10) {
+ mes "[Euridi's Friend]";
+ mes "Thank you. I won't forget your help.";
+ close;
+ }
+}
+
+mora,65,145,3 script Pitt#pa 519,{
+ if (ep14_1_rope == 0) {
+ mes "[Pitt]";
+ mes "So you're quite good,";
+ mes "since you passed through the Hazy Forest alive.";
+ mes "I'm completely messed up, you see,";
+ mes "so I can't afford to listen to the tales of your exploits.";
+ mes "Now leave.";
+ close;
+ } else if (ep14_1_rope == 1) {
+ mes "[Pitt]";
+ mes "You have a knack for pestering people, don't you?";
+ mes "Euridi sent you, eh?";
+ mes "The Laphine couple is";
+ mes "anxious to kill me.";
+ next;
+ mes "[Pitt]";
+ mes "Go and tell her!";
+ mes "That the stupid guide";
+ mes "pushed us reluctant tourists into the forest,";
+ mes "and ran off to save his own skin!";
+ next;
+ mes "[Pitt]";
+ mes "So you're sorry that it's me, not him, that's here?";
+ mes "He will be alive somewhere,";
+ mes "so go and try to find him! Just stop bothering me!";
+ changequest 1109,1110;
+ set ep14_1_rope,2;
+ close;
+ } else if (ep14_1_rope == 2) {
+ mes "[Pitt]";
+ mes "This is all because of";
+ mes "the stupid guide!";
+ mes "I hate Laphines!";
+ close;
+ } else if (ep14_1_rope == 3) {
+ if (countitem(6383) < 30) {
+ mes "[Pitt]";
+ mes "This is all because of";
+ mes "the stupid guide!";
+ mes "I hate Laphines!";
+ close;
+ }
+ mes "[Pitt]";
+ mes "That thing you have in your hand...";
+ mes "It looks very strange.";
+ mes "I've never seen such a thing before.";
+ mes "You'd better not keep that.";
+ mes "Can I have it?";
+ next;
+ switch(select("Give it to him.:Don't give it to him.")) {
+ case 1:
+ mes "[Pitt]";
+ mes "So I swallow it like this,";
+ mes "and voila! Evidence gone!";
+ mes "Now I can sleep soundly, thank you!";
+ delitem 6383,5; //Clue_Of_Lope
+ close;
+ case 2:
+ mes "[Pitt]";
+ mes "Why are you showing me such a thing?";
+ mes "I don't know anything! I'm the victim here!";
+ mes "I'm a victim of the schemes of the Laphine couple.";
+ mes "It's unfair...";
+ next;
+ mes "It's no use trying to talk to him any more.";
+ mes "Try talking to Euridi.";
+ changequest 1111,1112;
+ set ep14_1_rope,4;
+ close;
+ }
+ } else if (ep14_1_rope == 4) {
+ mes "[Pitt]";
+ mes "This is unfair!";
+ mes "This is so totally unfair!";
+ close;
+ } else if (ep14_1_rope == 5) {
+ if (checkweight(6384,1) == 0) {
+ mes "[Pitt]";
+ mes "What are you, a professional mover?";
+ mes "Stomping about with a ton of stuff on your back!";
+ mes "I can't rest because of the noise!";
+ mes "Throw away all that stuff!";
+ close;
+ }
+ mes "[Pitt]";
+ mes "I never imagined you'd find them all";
+ mes "and piece them together.";
+ mes "Is this a divine punishment...?";
+ mes "Or Laphines' curse?";
+ mes "Whew...";
+ next;
+ mes "[Pitt]";
+ mes "That guide fellow,";
+ mes "he opened the gate out";
+ mes "when he was hit hard";
+ mes "by the poison.";
+ next;
+ mes "[Pitt]";
+ mes "When I was hesitating whether to take him with me,";
+ mes "he handed me that letter and the ring.";
+ mes "Laphines' jewelry...";
+ mes "It's rumored that nobody could ever have it except Laphines,";
+ mes "including the Gods themselves.";
+ next;
+ mes "[Pitt]";
+ mes "So I had in my hands";
+ mes "a treasure among treasures!";
+ mes "How...! Just how on earth";
+ mes "could I have let it pass through!";
+ next;
+ mes "[Pitt]";
+ mes "I was going to leave this place";
+ mes "as soon as I pulled myself together.";
+ mes "But now I'm stuck here,";
+ mes "affected by the poison myself.";
+ next;
+ mes "[Pitt]";
+ mes "I'll give you the ring back,";
+ mes "so please leave me alone!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Then where could Lope...?";
+ next;
+ mes "[Pitt]";
+ mes "If he died near the exit of the forest,";
+ mes "he must be somewhere around there,";
+ mes "in whatever form he might be in.";
+ changequest 1113,1114;
+ set ep14_1_rope,6;
+ getitem 6384,1; //Ring_Of_Lope
+ close;
+ } else if (ep14_1_rope == 6 || ep14_1_rope == 7) {
+ mes "[Pitt]";
+ mes "I'm a victim, too!";
+ mes "So leave me alone! I beg you!";
+ close;
+ } else if (ep14_1_rope == 8) {
+ mes "[Pitt]";
+ mes "...";
+ close;
+ } else if (ep14_1_rope > 8) {
+ mes "He's sleeping.";
+ mes "He seems to be in a very deep sleep.";
+ close;
+ }
+}
+
+bif_fild01,132,338,3 script Lope#pa 461,2,2,{
+ if (ep14_1_rope < 8) {
+ mes "[Suspicious Man]";
+ mes "......";
+ close;
+ } else if (ep14_1_rope == 8) {
+ donpcevent "Lope#pa::OnEnable";
+ mes "[Suspicious Man]";
+ mes "Aaaarrrrrggggghhhh!!!!!!";
+ mes "I can't see anything.";
+ mes "Who's there?";
+ mes "Answer, or I'll take you as an enemy and kill you.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Euridi is looking for you.";
+ next;
+ mes "[Suspicious Man]";
+ mes "......";
+ next;
+ mes "[Lope]";
+ mes "Wraith, how can you be so harsh to me?";
+ mes "I asked you to wipe the name off my mind";
+ mes "in return for bearing the curse!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Will you please calm down and listen to...";
+ next;
+ mes "[Lope]";
+ mes "My desire to help";
+ mes "led me to my death,";
+ mes "And my desire to survive and take revenge";
+ mes "led me to my rebirth.";
+ mes "I will not side with life any more.";
+ next;
+ mes "[Lope]";
+ mes "As soon as my transformation is over,";
+ mes "I will punish you all with the bloody confusion of the Hazy Forest,";
+ mes "which saved my life!";
+ next;
+ mes "You put the letter Euridi pieced together in Lope's hands.";
+ next;
+ mes "[Lope]";
+ mes "...This is!";
+ mes "I feel Euridi's touch.";
+ mes "So the letter... was delivered to Euridi?";
+ mes "This is unbelievable...";
+ next;
+ mes "[Lope]";
+ mes "Deformed as I am now,";
+ mes "I'm not her love any more.";
+ mes "Go back, and tell her that Lope turned to dust";
+ mes "on the ground of the Hazy Forest long ago.";
+ next;
+ mes "[Lope]";
+ mes "Now go!";
+ mes "This is my last request as a Laphine called Lope...";
+ set ep14_1_rope,9;
+ changequest 1115,1116;
+ close;
+ } else {
+ mes "[Lope]";
+ mes "Deformed as I am now,";
+ mes "I'm not her love any more.";
+ mes "Go back, and tell her that Lope turned to dust";
+ mes "on the ground of the Hazy Forest long ago.";
+ next;
+ mes "[Lope]";
+ mes "Now go!";
+ mes "This is my last request as a Laphine called Lope...";
+ next;
+ mes "You see a ring glowing faintly on his left hand.";
+ close;
+ }
+ end;
+OnEnable:
+ setnpcdisplay "Lope#pa",999;
+ end;
+OnDisable:
+ disablenpc "Lope#pa";
+ initnpctimer;
+ end;
+OnReset:
+ setnpcdisplay "Lope#pa",461;
+ enablenpc "Lope#pa";
+ end;
+OnTimer2000:
+ donpcevent "Lope#pa::OnReset";
+ stopnpctimer;
+ end;
+OnTouch:
+ mes "I see a suspicious man. Should I try talking to him?";
+ next;
+ switch(select("Leave him alone.:Talk to him.")) {
+ case 1:
+ donpcevent "Lope#pa::OnDisable";
+ mes "[Suspicious Man]";
+ mes "......";
+ close;
+ case 2:
+ donpcevent "Lope#pa::OnDisable";
+ if (ep14_1_rope == 7) {
+ mes "[Suspicious Man]";
+ mes ".";
+ mes "...";
+ mes "........!!!";
+ next;
+ mes "[Suspicious Man]";
+ mes "Aaaaarrrrrggghh!!!!!";
+ set ep14_1_rope,8;
+ close;
+ } else {
+ mes "[Suspicious Man]";
+ mes "......";
+ close;
+ }
+ }
+}
+
+// Find the Research Tools :: muk
+//============================================================
+mora,31,138,6 script Raffle Researcher#ep14 522,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 500) {
+ mes "^FF0000- Warning message -";
+ mes "- Hang on there!! -";
+ mes "- You have too many items -";
+ mes "- to receive any more items. -";
+ mes "- Please lighten your load -";
+ mes "- and try again. -^000000";
+ close;
+ }
+ // NPC disabled from 12am ~ 5am.
+ if (gettime(3) >= 0 && gettime(3) < 5) {
+ if (ep14_1_muk > 0) {
+ mes "[Raffle Researcher]";
+ mes "Don't humans sleep?";
+ mes "People should be sleeping at this hour.";
+ mes "Why on earth are you bothering me?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I can't get any sleep because of you.";
+ mes "I have to sleep for my research tomorrow.";
+ mes "You should go sleep too.";
+ close;
+ } else {
+ mes "Z z Z z";
+ next;
+ mes "^FF0000He appears to be asleep.^000000";
+ close;
+ }
+ }
+ if (ep14_1_muk == 0) {
+ mes "[Raffle Researcher]";
+ mes "Oh no~ My research tools...";
+ mes "What...... What was it?";
+ emotion e_sob;
+ next;
+ select("What is your business here?");
+ mes "[Raffle Researcher]";
+ mes "Hmm?";
+ emotion e_what;
+ next;
+ mes "[Raffle Researcher]";
+ mes "You're human...? Are you human...?";
+ mes "You... came from the underworld?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Human beings are incredible...";
+ mes "You survived the crevice and made it here.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "... ... ...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "You, come here for a minute.";
+ mes "It's a simple experiment, so there's no need to be afraid.";
+ emotion e_gg;
+ next;
+ if(select("What a crazy Raffle. I must run away.:... ...") == 1) {
+ mes "[Raffle Researcher]";
+ mes "You said you had made it up from the Crevice,";
+ mes "so I was wondering what race you were,";
+ mes "but a mere human? How did you get up here?";
+ emotion e_lv;
+ close;
+ }
+ if (BaseLevel < 100) {
+ mes "[Raffle Researcher]";
+ mes "What... I thought a human who made it up from the Crevice";
+ mes "would be extraordinary,";
+ mes "but you're no more than a kid.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Go hunt more ^000000Porings^000000";
+ mes "and come back when your level is in the triple digits kid!";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "... ... ...";
+ emotion e_dots;
+ next;
+ mes "[Raffle Researcher]";
+ mes "You... You're not like the other humans.";
+ mes "You're not running away...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "You've got some serious guts...";
+ mes "Now I really want to do some experiments on you...";
+ next;
+ select("Well... that's... um...");
+ mes "[Raffle Researcher]";
+ mes "Ha ha... Just kidding...";
+ mes "I'm a Raffle researcher,";
+ mes "but I don't research humans.";
+ mes "Actually, I have no idea";
+ mes "what to research";
+ mes "about humans...";
+ next;
+ select("Glad to hear that...");
+ mes "[Raffle Researcher]";
+ mes "That's that. You're not busy, are you?";
+ mes "I'd like you to give me a hand...";
+ next;
+ select("Help him.:Help willingly.:Although you feel a little embarrassed, help anyhow.:Help with conviction.:Help adorably.:You're suspicious, but help anyhow.:You have no choice. Help him.");
+ mes "[Raffle Researcher]";
+ mes "I haven't met many humans";
+ mes "but you clearly care about";
+ mes "another person's hardship.";
+ mes "You must be an ^FF0000extremely^000000 nice human.";
+ emotion e_no1;
+ next;
+ mes "[Raffle Researcher]";
+ mes "I'll save my thanks for time's sake.";
+ mes "It's important, so please take care of it quickly.";
+ mes "I can't proceed with the research because of it.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Here at the Mora Inn,";
+ mes "there's a very famous bath.";
+ mes "If anybody, not just us Raffles,";
+ mes "goes into the bath water";
+ mes "their wounds will be healed instantly...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "So being a great researcher, I went into the bath";
+ mes "to check it out further";
+ mes "and... unfortunately...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I was attacked by a mysterious creature,";
+ mes "and I lost consciousness.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "When I woke up, I realized that";
+ mes "my important research tools were missing...";
+ mes "So I was at a loss for what to do.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "And here you are, a human,";
+ mes "a brave, heroic human that arrived at Mora Village from the Crevice.";
+ mes "Your willingness to help has really taken this load off of my mind.";
+ next;
+ select("... ... ...");
+ mes "[Raffle Researcher]";
+ mes "Please go to the bath house and retrieve my research tools.";
+ mes "The sooner you get them back,";
+ mes "the sooner I can get back to my research.";
+ setquest 5016;
+ set ep14_1_muk,1;
+ next;
+ mes "[Raffle Researcher]";
+ mes "Have a safe trip.";
+ emotion e_paper;
+ close;
+ } else if (ep14_1_muk == 1) {
+ if (checkquest(5016) > -1 && countitem(6385) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You're back? Where are my research tools?";
+ emotion e_what;
+ next;
+ mes "[Raffle Researcher]";
+ mes "You still haven't found the research tools?";
+ mes "I'm disappointed. Get yourself to the bath";
+ mes "and quickly retrieve my research tools";
+ mes "taken away from me.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "Wow!! You found the research tools...?";
+ mes "You're quite capable.";
+ mes "I really like how you handle your work.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I like you.";
+ mes "Do you want to work on my research with me?";
+ mes "I could use your help here and there,";
+ mes "until I'm done with this research.";
+ next;
+ select("As you wish.");
+ mes "[Raffle Researcher]";
+ mes "Great. Thanks, and when we're done,";
+ mes "I'll pay you handsomely.";
+ mes "Also, for every research project that's completed,";
+ mes "I'll also give you some pocket money.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Young Raffles these days... they are just plain stupid.";
+ mes "I've always wanted a capable research assistant,";
+ mes "but it hasn't been easy to find one.";
+ next;
+ if (checkweight(6380,1) == 0) {
+ mes "[Raffle Researcher]";
+ mes "By the way... Was it that difficult to";
+ mes "reclaim the research tools?";
+ mes "You're carrying some very heavy looking equipment.";
+ mes "Go lighten your load, and I'll pay you for your work.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "It must've been hard work to retrieve the tools.";
+ mes "Why don't you take this and go to the inn";
+ mes "and rest up? There's nothing for you to do right now.";
+ delitem 6385,1; //Research_Tool_Bag
+ set ep14_1_muk,2;
+ getitem 6380,1; //Mora_Coin
+ erasequest 5016;
+ close;
+ } else if (ep14_1_muk == 2) {
+ // Unofficial check, but it's needed here.
+ if (checkquest(5029,PLAYTIME) == 0 || checkquest(5029,PLAYTIME) == 1) {
+ mes "[Raffle Researcher]";
+ mes "It must've been hard work to retrieve the tools.";
+ mes "Why don't you take this and go to the inn";
+ mes "and rest up? There's nothing for you to do right now.";
+ close;
+ }
+ switch(rand(1,5)) {
+ case 1:
+ mes "[Raffle Researcher]";
+ mes "I'm still preparing for the research.";
+ mes "Unfortunately a few research tools";
+ mes "were damaged.";
+ emotion e_an;
+ close;
+ case 2:
+ mes "[Raffle Researcher]";
+ mes "Come to think of it, I don't think";
+ mes "I told you my name.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "My name is Inffle. If anybody";
+ mes "asks you who you are working with,";
+ mes "you can say ^0000FFI'm working with Researcher Inffle.^000000";
+ mes "That's why I'm telling you my name.";
+ emotion e_ok;
+ close;
+ case 3:
+ mes "[Raffle Researcher]";
+ mes "Why? The inn is closed?";
+ mes "That's strange, it shouldn't be.";
+ mes "Why don't you go try again?";
+ emotion e_what;
+ close;
+ case 4:
+ break;
+ case 5:
+ mes "[Raffle Researcher]";
+ mes "Darn, I get more worked up the more I think about it.";
+ mes "It's not like I went with bad intentions...";
+ mes "I just wanted to do some research...";
+ mes "Can't believe I got attacked...";
+ mes "I just can't believe it...";
+ mes "What do you think?";
+ emotion e_an;
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "Good thing you're here.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I've been thinking about";
+ mes "the unidentified creature in the bath.";
+ mes "He's quite the little devil, to take research tools,";
+ mes "which are as important to a researcher as his life...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "A research assistant's job";
+ mes "is to make sure that the researcher can focus on his research";
+ mes "And not have to worry about anything else... VERY! Important.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I'd like you to take my revenge";
+ mes "on the unidentified creature for me...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I don't even want anything that drastic.";
+ mes "3 times! Go bully him for just 3 times.";
+ mes "You can draw on his face,";
+ mes "pinch him, tickle him,";
+ mes "whatever you want. Just bully him 3 times.";
+ set ep14_1_muk,3;
+ setquest 5017;
+ close;
+ } else if (ep14_1_muk < 6) {
+ mes "[Raffle Researcher]";
+ mes "How's the work going?";
+ mes "An assistant has to work swiftly and effectively.";
+ mes "Could it be that you have forgotten";
+ mes "what your task is?";
+ next;
+ select("Exactly. What should I do?");
+ mes "[Raffle Researcher]";
+ mes "Go bully the unidentified creature";
+ mes "just 3 times.";
+ mes "You can draw on his face,";
+ mes "pinch him, tickle him, or whatever.";
+ mes "Bully him 3 times.";
+ emotion e_gg;
+ close;
+ } else if (ep14_1_muk == 6) {
+ mes "[Raffle Researcher]";
+ mes "So you taught him a lesson? Great. I feel avenged!";
+ emotion e_heh;
+ next;
+ mes "[Raffle Researcher]";
+ mes "For a while, I couldn't sleep";
+ mes "because I couldn't stop thinking about the lost research tools.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "That's that! We need to begin the bath research now.";
+ mes "I need to finish the research quickly,";
+ mes "so that I can start on a new topic.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Go to the bath water";
+ mes "with the sample tube that I give you,";
+ mes "and gather some samples.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Look around the bath water,";
+ mes "and you will find an area emitting a distinct aura.";
+ mes "You can collect the samples";
+ mes "from that area.";
+ next;
+ if (MaxWeight - Weight < 100 || checkweight(1092,10) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You are carrying too much weight.";
+ mes "I can't give you the sample tube.";
+ mes "Why don't you lighten your load and come back?";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "Here is the sample tube for collecting.";
+ mes "Go and collect 10 samples!";
+ set ep14_1_muk,7;
+ getitem 1092,10; //Empty_Cylinder
+ erasequest 5018;
+ setquest 5019;
+ close;
+ } else if (ep14_1_muk == 7) {
+ if (checkquest(5019) > -1 && countitem(6386) < 10) {
+ mes "[Raffle Researcher]";
+ mes "Have you collected the samples yet?";
+ mes "Please hurry up.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Look around the bath water,";
+ mes "and you will find an area emitting a distinct aura.";
+ mes "You can collect the samples";
+ mes "from that area.";
+ close;
+ }
+ if (checkweight(6380,1) == 0) {
+ mes "[Raffle Researcher]";
+ mes "I know that you've done a lot...";
+ mes "but you are carrying too many things.";
+ mes "Even though I want to give you pocket money, I can't.";
+ mes "Could you lighten your load and come back?";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You got the bath water sample. Great job.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I'll have to run a few tests";
+ mes "with the bath water samples.";
+ mes "It usually takes about 24 hours.";
+ mes "Why don't you come back then?";
+ delitem 6386,10; //Bathtub_R_Sample
+ getitem 6380,1; //Mora_Coin
+ set ep14_1_muk,8;
+ erasequest 5019;
+ setquest 5020;
+ close;
+ } else if (ep14_1_muk == 8) {
+ if (checkquest(5020,PLAYTIME) == 0 || checkquest(5020,PLAYTIME) == 1) {
+ mes "[Raffle Researcher]";
+ mes "The basic tests have not been completed yet.";
+ mes "There's nothing for you to do now.";
+ mes "Go for a walk.";
+ mes "Spend some money that I gave you.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "The basic tests are done.";
+ mes "As I thought...";
+ mes "There were many interesting substances in the bath water.";
+ emotion e_ho;
+ next;
+ mes "[Raffle Researcher]";
+ mes "The most notable is this unidentifiable DNA.";
+ mes "I didn't have a chance to compare it to a lot of DNA samples,";
+ mes "but I'm pretty sure that this DNA";
+ mes "has been transformed by the mysterious substances of the bath.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "After much thought,";
+ mes "I concluded that this DNA probably belongs to";
+ mes "the unidentified creature that attacked me.";
+ next;
+ if (rand(2)) {
+ set .@str$,"teeth";
+ set .@quest,5021;
+ } else {
+ set .@str$,"scales";
+ set .@quest,5022;
+ }
+ mes "[Raffle Researcher]";
+ mes "I'd better compare the two.";
+ mes "Please return to the bath";
+ mes "and look for the creature's "+.@str$+".";
+ mes "If you can, please bring me 10 of them.";
+ set ep14_1_muk,9;
+ erasequest 5020;
+ setquest .@quest;
+ close;
+ } else if (ep14_1_muk == 9) {
+ if (checkquest(5021) > -1 || checkquest(5022) > -1) {
+ if (checkquest(5021) > -1) {
+ set .@quest,5021;
+ set .@item,6387; //Teeth_Sample
+ setarray .@str$[0],"tooth","teeth";
+ } else {
+ set .@quest,5022;
+ set .@item,6388; //Scale_Sample
+ setarray .@str$[0],"scale","scales";
+ }
+ if (countitem(.@item) < 10) {
+ mes "[Raffle Researcher]";
+ mes "Haven't you found the unidentified creature's "+.@str$[1]+" yet?";
+ mes "Look carefully!";
+ mes "I'm certain that the creature";
+ mes "dropped his "+.@str$[1]+" somewhere.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You've collected all the "+.@str$[0]+" samples, finally.";
+ mes "As humans say,";
+ mes "I've been waiting forever for them.";
+ next;
+ if (checkweight(6380,1) == 0) {
+ mes "[Raffle Researcher]";
+ mes "I know that you've done a lot...";
+ mes "but you are carrying too many things.";
+ mes "Even though I want to give you pocket money, I can't.";
+ mes "Could you lighten your load and come back?";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "OK, I'll get to work right away.";
+ mes "If you have any business to attend to, do so.";
+ mes "The DNA analysis takes about 6 hours.";
+ mes "Why don't you go for a walk";
+ mes "and come back then?";
+ delitem .@item,10;
+ getitem 6380,1; //Mora_Coin
+ erasequest .@quest;
+ setquest 5023;
+ close;
+ } else if (checkquest(5023,PLAYTIME) == 0 || checkquest(5023,PLAYTIME) == 1) {
+ mes "[Raffle Researcher]";
+ mes "I'm still analyzing the DNA.";
+ mes "The DNA analysis takes about 6 hours.";
+ mes "Why don't you go for a walk and come back then?";
+ close;
+ } else {
+ switch(rand(1,6)) {
+ case 1:
+ case 3:
+ set .@quest,5021;
+ set .@item,6387; //Teeth_Sample
+ setarray .@str$[0],"tooth","teeth";
+ break;
+ case 2:
+ case 4:
+ set .@quest,5022;
+ set .@item,6388; //Scale_Sample
+ setarray .@str$[0],"scale","scales";
+ break;
+ case 5:
+ case 6:
+ break;
+ }
+ if (.@quest) {
+ mes "[Raffle Researcher]";
+ mes "This is not it.";
+ mes "The samples that you collected belonged to a normal species.";
+ emotion e_swt2;
+ next;
+ mes "[Raffle Researcher]";
+ mes "Must be because so many species of creatures";
+ mes "have been in the bath.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I'm sorry, but please re-collect the samples.";
+ mes "This time, the "+.@str$[1]+"... Yes.";
+ mes "Please bring the "+.@str$[0]+" samples.";
+ erasequest 5023;
+ setquest .@quest;
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "Great! These samples are surely";
+ mes "from the mysterious creature.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "According to the analysis,";
+ mes "The DNA is a mutant form of fish DNA.";
+ mes "I'm not sure how long this creature";
+ mes "has lived in the bath,";
+ mes "but this DNA is 70% evolved";
+ mes "from the original fish DNA.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Where did this fish come from?";
+ mes "How can it survive in the warm bath water?";
+ mes "After the DNA analysis,";
+ mes "my head is filled with even more questions.";
+ next;
+ mes "... ... ... ... ...";
+ emotion e_dots;
+ emotion e_dots,1;
+ next;
+ mes "[Raffle Researcher]";
+ mes "The village elders say";
+ mes "that the bath water comes from";
+ mes "the puddles around the village.";
+ next;
+ callsub L_CheckWeight;
+ mes "[Raffle Researcher]";
+ mes "If you get me a sample from the puddle";
+ mes "to the east, at 2 o'clock from here,";
+ mes "I'll tell you what to do next.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "You probably don't need to run around";
+ mes "like you did collecting";
+ mes "the bath water samples.";
+ set ep14_1_muk,10;
+ getitem 1092,1; //Empty_Cylinder
+ erasequest 5023;
+ setquest 5024;
+ next;
+ mes "[Raffle Researcher]";
+ mes "If you get all 4 puddle samples at once";
+ mes "it may be more convenient. However,";
+ mes "there's the risk of samples being damaged or mixed up.";
+ mes "Therefore, I'm going to send you one place at a time. Good luck.";
+ close;
+ }
+ } else if (ep14_1_muk == 10) {
+ if (countitem(6389) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You still haven't gone to collect the puddle sample?";
+ mes "Go to the puddle to the east of the village,";
+ mes "and collect a sample.";
+ mes "It's going to be at 2 o'clock from here.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You have the sample from the puddle to the east?";
+ mes "Great job, but it's no time to rest -";
+ mes "the research is almost done.";
+ next;
+ callsub L_CheckWeight;
+ mes "[Raffle Researcher]";
+ mes "Get me a sample from the puddle from the west.";
+ mes "It's not completely to the west...";
+ mes "The puddle should be at 7 o'clock";
+ mes "from the village.";
+ delitem 6389,1; //Puddle_R_Sample
+ set ep14_1_muk,11;
+ getitem 1092,1; //Empty_Cylinder
+ changequest 5024,5025;
+ next;
+ mes "[Raffle Researcher]";
+ mes "Take care not to damage the sample.";
+ mes "Good luck!";
+ close;
+ } else if (ep14_1_muk == 11) {
+ if (countitem(6389) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You still haven't gone to collect the puddle sample?";
+ mes "Go to the puddle to the west of the village,";
+ mes "and collect a sample.";
+ mes "It's going to be at 7 o'clock from here.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You have the sample from the puddle to the west?";
+ mes "Great job, but it's no time to rest -";
+ mes "the research is almost done.";
+ next;
+ callsub L_CheckWeight;
+ mes "[Raffle Researcher]";
+ mes "Get me a sample from the puddle from the south.";
+ mes "The puddle to the south";
+ mes "should be... at 6 o'clock from here.";
+ delitem 6389,1; //Puddle_R_Sample
+ set ep14_1_muk,12;
+ getitem 1092,1; //Empty_Cylinder
+ changequest 5025,5026;
+ next;
+ mes "[Raffle Researcher]";
+ mes "I can't emphasize this enough, even if I did it 1000000000000000000000 times.";
+ mes "Please take care that";
+ mes "the sample is not damaged.";
+ close;
+ } else if (ep14_1_muk == 12) {
+ if (countitem(6389) == 0) {
+ mes "You still haven't gone to collect the puddle sample?";
+ mes "Get me a sample from the puddle from the south.";
+ mes "The puddle to the south is located";
+ mes "at 6 o'clock from here.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "You know what I'm going to say?";
+ mes "Be careful.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You have the sample from the puddle to the south?";
+ mes "Now only the puddle to the north";
+ mes "remains to be sampled.";
+ next;
+ callsub L_CheckWeight;
+ mes "[Raffle Researcher]";
+ mes "Please get me the sample from the puddle to the north.";
+ mes "It's not completely to the north.";
+ mes "it's at 11 o'clock from the village.";
+ delitem 6389,1; //Puddle_R_Sample
+ set ep14_1_muk,13;
+ getitem 1092,1; //Empty_Cylinder
+ changequest 5026,5027;
+ next;
+ mes "[Raffle Researcher]";
+ mes "You know what I'm going to say?";
+ mes "Be careful.";
+ close;
+ } else if (ep14_1_muk == 13) {
+ if (countitem(6389) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You still haven't gone to collect the puddle sample?";
+ mes "Please get me a sample from the puddle to the north.";
+ mes "It's not exactly north of the village.";
+ mes "The puddle should be located at 11 o'clock";
+ mes "from the village.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You brought the last sample from the puddle from the north.";
+ mes "Great work. You've done really well.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Now, I'm going to do some research";
+ mes "with these samples,";
+ mes "looking at the relationship between";
+ mes "these puddles and the bath.";
+ next;
+ if (checkweight(6380,4) == 0) {
+ mes "[Raffle Researcher]";
+ mes "I know that you've done a lot...";
+ mes "but you are carrying too many things.";
+ mes "Even though I want to give you pocket money, I can't.";
+ mes "Could you lighten your load and come back?";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "If I finish this experiment...";
+ mes "There's probably nothing else to do. While I run the experiment,";
+ mes "why don't you go and entertain yourself?";
+ delitem 6389,1; //Puddle_R_Sample
+ set ep14_1_muk,14;
+ getitem 6380,4; //Mora_Coin
+ erasequest 5027;
+ setquest 5028;
+ next;
+ mes "[Raffle Researcher]";
+ mes "Comparison of the samples and the bath water";
+ mes "will take about 12 hours.";
+ close;
+ } else if (ep14_1_muk == 14) {
+ if (checkquest(5028,PLAYTIME) == 0 || checkquest(5028,PLAYTIME) == 1) {
+ mes "[Raffle Researcher]";
+ mes "What? You're here? Well...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "But the sample studies have not been finished.";
+ mes "This is an experiment for the final result,";
+ mes "so don't be too hasty.";
+ mes "I think the research will take about 12 hours.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Come back then.";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "You're here? Finally,";
+ mes "the experiment results are all in.";
+ mes "Do you want to look at the results?";
+ next;
+ switch(select("Actually, I don't want to.:Look at the results.")) {
+ case 1:
+ mes "[Raffle Researcher]";
+ mes "Good thinking. Actually, it may hurt";
+ mes "regular people's brains to look at it.";
+ mes "I suppose it's time for your reward";
+ mes "for helping me out so much.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Did I talk to you about the reward before the experiment?";
+ mes "That you won't be sorry that you helped out...";
+ next;
+ break;
+ case 2:
+ mes "[Raffle Researcher]";
+ mes "You're curious about the results? Really???";
+ mes "OK, here it is.";
+ next;
+ callsub L_ShowReport;
+ mes "[Raffle Researcher]";
+ mes "There are no volcanoes around the area";
+ mes "and no record of volcanoes in the past,";
+ mes "but the water temperature is that high...";
+ mes "Isn't it surprising?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "The ingredients are... yes.";
+ mes "There are certainly substances that are beneficial for you humans.";
+ mes "But, there are also substances";
+ mes "that are fatal to us Raffles,";
+ mes "or other races.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "And if you look at the electric conductivity,";
+ mes "it is quite higher than that of the average water.";
+ mes "My theory is that";
+ mes "this must be the cause of the mysterious power.";
+ mes "That's what I'm thinking about.";
+ mes "Anyhow.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "There is something at work that science cannot explain";
+ mes "in the bath water...";
+ mes "Take the unidentified creature, for instance.";
+ mes "How strange is it that a fish can live";
+ mes "in such warm water?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I'm not satisfied with the research results and conclusions.";
+ mes "I guess in the end,";
+ mes "it will remain a mystery...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I suppose it's time for your reward";
+ mes "for helping me out so much.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Did I talk to you about the reward before the experiment?";
+ mes "That you won't be sorry that you helped out...";
+ next;
+ break;
+ }
+ mes "[Raffle Researcher]";
+ mes "I was thinking about what you would want";
+ mes "for your reward... and I felt";
+ mes "a little... sad.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "... ... ... ...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "During our short time here together working on these projects,";
+ mes "I sent you all over the place.";
+ mes "It must've been hard, but you didn't complain at all.";
+ mes "And unlike some of the other guys I've had,";
+ mes "you never skipped work.";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I suppose I've grown fond of you,";
+ mes "so that it saddens me to say goodbye...";
+ next;
+ mes "[Raffle Researcher]";
+ mes "But thank you anyhow. I've been researching for a while,";
+ mes "but I've never met such an excellent research assistant as you.";
+ next;
+ if (MaxWeight - Weight < 100 || checkweight(1092,1) == 0) {
+ mes "[Raffle Researcher]";
+ mes "Hmm? By the way...";
+ mes "You are carrying too much weight.";
+ mes "Could it be because you are also sad";
+ mes "about parting ways?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "With this weight, I can't give you a reward!";
+ close;
+ }
+ mes "[Raffle Researcher]";
+ mes "The best research assistant in my life...";
+ mes "is you, "+strcharinfo(0)+"!!!";
+ set ep14_1_muk,15;
+ completequest 5028;
+ getexp 1000000,4000000;
+ getitem 6380,30; //Mora_Coin
+ next;
+ mes "[Raffle Researcher]";
+ mes "If we happen to run into each other again,";
+ mes "let's work on a research project once more.";
+ close;
+ } else if (ep14_1_muk == 15) {
+ mes "[Raffle Researcher]";
+ mes "Hmm? No?... What are you doing here?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "Could it be that you suddenly want to look at";
+ mes "the research report???";
+ next;
+ switch(select("Look at the report.:I came to say hello.")) {
+ case 1:
+ mes "[Raffle Researcher]";
+ mes "Haven't I shown it to you before?";
+ next;
+ mes "[Raffle Researcher]";
+ mes "... ... ... ...";
+ emotion e_dots;
+ next;
+ mes "[Raffle Researcher]";
+ mes "Maybe I haven't shown you.";
+ mes "Sorry about that. So you wanted to see it so badly";
+ mes "that you came back to see me?";
+ mes "Great! Here it is.";
+ next;
+ while(1) {
+ callsub L_ShowReport;
+ mes "[Raffle Researcher]";
+ mes "This concludes the report of";
+ mes "Mora Village's mysterious bath.";
+ mes "You want to look again?";
+ emotion e_what;
+ next;
+ switch(select("Look again.:Don't look again.")) {
+ case 1:
+ mes "[Raffle Researcher]";
+ mes "Sure... As you wish!!";
+ next;
+ break;
+ case 2:
+ mes "[Raffle Researcher]";
+ mes "Goodbye. Come by any time,";
+ mes "if you want to look at the results again.";
+ mes "You're always welcome here.";
+ close;
+ }
+ }
+ case 2:
+ mes "[Raffle Researcher]";
+ mes "Oh, You came to say hi. I see.";
+ mes "Long time no see, "+strcharinfo(0)+".";
+ next;
+ mes "[Raffle Researcher]";
+ mes "I've been telling you that I lucked out in picking you as my research assistant.";
+ mes "Come by any time,";
+ mes "if you want to look at the results again.";
+ mes "You're always welcome here.";
+ close;
+ }
+ } else {
+ mes "[Raffle Researcher]";
+ mes "Hmm? I'm Researcher Inffle.";
+ mes "Who are you?";
+ close;
+ }
+ end;
+L_ShowReport:
+ mes "[Experimental Results]";
+ mes "*** Researcher - Inffle";
+ mes "*** Research Assistant - "+strcharinfo(0);
+ mes "¡¡";
+ mes "<Research topic>";
+ mes "*** Bath of Mora Village";
+ mes "¡¡";
+ mes "<Aim>";
+ mes "To investigate the mysterious power of the bath water";
+ mes "and to find out ways to better utilize";
+ mes "the water.";
+ mes "¡¡";
+ mes "<Methods>";
+ mes "1. Obtained an unidentified DNA sample.";
+ mes "Obtained a sample of an unidentified DNA,";
+ mes "and collected more samples to look further into it.";
+ mes "¡¡";
+ mes "2. A comparison analysis on the unidentified DNA";
+ mes "Concluded that the DNA belongs to";
+ mes "an unidentified creature living in the bath water.";
+ mes "combine and result in";
+ mes "from the swordfish DNA.";
+ mes "¡¡";
+ mes "3. Research on the puddles around the village";
+ mes "From the four puddles around the village,";
+ mes "confirmed that the testing substances were";
+ mes "distributed evenly across the puddles.";
+ mes "It is thought that the four puddles";
+ mes "combine and result in";
+ mes "the mysterious power.";
+ mes "¡¡";
+ mes "<Material analysis>";
+ mes "*** Temperature ***** 33.5° ";
+ mes "*** PH ************ 9.8";
+ mes "*** Solid residues *** 176";
+ mes "*** K+ ************ 0,23";
+ mes "*** Ca++ ********** 1.83";
+ mes "*** Cl- *********** 26.2";
+ mes "*** HCO3- ********* 31.0";
+ mes "*** H2S *********** 1.7";
+ mes "*** Na++ ********** 51.9";
+ mes "*** Mg+ *********** 0.03";
+ mes "*** SO4- ********** 5.0";
+ mes "*** F ************* 12.8";
+ mes "*** SiO2 ********** 23.9";
+ mes "*** Li ************ 0.06";
+ mes "*** CO3+ ********** 22.8";
+ mes "*** Sr ************ 0.04";
+ mes "*** Ge ************ 0.004";
+ mes "*** T-solids ****** 165";
+ mes "*** Electric conductivity **** 500";
+ mes "*** Longitude ********** 4.6";
+ next;
+ return;
+L_CheckWeight:
+ if (MaxWeight - Weight < 100 || checkweight(1092,1) == 0) {
+ mes "[Raffle Researcher]";
+ mes "You are carrying too much weight.";
+ mes "I can't give you the sample tube.";
+ mes "Why don't you lighten your load and come back?";
+ close;
+ }
+ return;
+}
+
+mora,114,79,0 script Black Shadow#ep14_muk 844,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 500) {
+ mes "^FF0000- Warning message -";
+ mes "- Hang on there!! -";
+ mes "- You have too many items -";
+ mes "- to receive any more items. -";
+ mes "- Please lighten your load -";
+ mes "- and try again. -^000000";
+ close;
+ }
+ if (BaseLevel < 100) {
+ mes "Something looks at you from head to toe, and disappears, mocking you.";
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ set .@playtime, checkquest(5029,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "You see a dark hole. As you show interest, something disappears quickly into the dark hole.";
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ } else if (.@playtime == 2)
+ erasequest 5029;
+ if (ep14_1_goki == 30) {
+ if (checkquest(5030) == -1 && checkquest(5031) == -1 && checkquest(5032) == -1 && checkquest(5033) == -1 && checkquest(5034) == -1) {
+ mes "[Unidentified creature]";
+ mes "Arrgghh!!!";
+ mes "Why you bother me.";
+ mes "You stop bullying me.";
+ next;
+ if(select("Bully anyway.:I'll stop.") == 1) {
+ emotion e_sob;
+ set ep14_1_goki,0;
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ mes "[Unidentified creature]";
+ mes "You... Good.";
+ mes "Everybody calls me monster.";
+ mes "Hit me. Bully. Me tired.";
+ next;
+ mes "[Fishee]";
+ mes "My name Fishee.";
+ mes "Dad name me.";
+ next;
+ mes "... ... ... ... ...";
+ next;
+ mes "He appears to be rambling.";
+ next;
+ mes "[Fishee]";
+ mes "Bully. Fun. Every day.";
+ mes "I talk. Still bully.";
+ next;
+ mes "[Fishee]";
+ mes "You... Good. Help Fishee?";
+ next;
+ if(select("Don't help.:Help.") == 1) {
+ emotion e_sob;
+ set ep14_1_goki,0;
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ mes "[Fishee]";
+ mes "You good. Good!";
+ next;
+ mes "[Fishee]";
+ mes "Me didn't live here.";
+ mes "Me lived puddle.";
+ mes "Puddle. Live there.";
+ next;
+ mes "[Fishee]";
+ mes "Me sleep weird.";
+ mes "Wake up one day.";
+ mes "Here, bath.";
+ next;
+ mes "[Fishee]";
+ mes "Don't know how go home.";
+ mes "Me just live here.";
+ mes "Grow big. Hole small.";
+ mes "Can't get in.";
+ next;
+ mes "[Fishee]";
+ mes "Me miss family. Me want to see family.";
+ mes "You good. How my family do.";
+ mes "Bring me. Good.";
+ next;
+ select("How would I know who is your family?");
+ mes "[Fishee]";
+ mes "Us fish stupid.";
+ mes "Stupid. But know family name.";
+ next;
+ mes "[Fishee]";
+ mes "Family know name Fishee. Family come.";
+ next;
+ mes "[Fishee]";
+ mes "Please. In puddle.";
+ mes "You tell me my family do okay.";
+ setquest 5030+rand(4); //5030,5031,5032,5033
+ close;
+ } else if (checkquest(5030) > -1 || checkquest(5031) > -1 || checkquest(5032) > -1 || checkquest(5033) > -1) {
+ mes "[Fishee]";
+ mes "Please. In puddle.";
+ mes "You tell me my family do okay.";
+ next;
+ mes "[Fishee]";
+ mes "You forgot me name?";
+ next;
+ if(select("Please tell me your name again!:I know your name.") == 1) {
+ mes "[Fishee]";
+ mes "Your memory, like fish.";
+ mes "Stupid. I talk.";
+ mes "My name Fishee, Fishee!!";
+ next;
+ }
+ mes "[Fishee]";
+ mes "Please. In puddle.";
+ mes "You tell me my family do okay.";
+ close;
+ } else if (checkquest(5034) > -1 && checkquest(5034) < 2) {
+ if (MaxWeight - Weight < 100 || checkweight(5792,1) == 0) {
+ mes "[Fishee]";
+ mes "You have lots.";
+ mes "I give. To you.";
+ mes "Empty bag. Come back.";
+ close;
+ }
+ mes "[Fishee]";
+ mes "You told me my family ok. Thank you.";
+ mes "I know thank you. Fish.";
+ mes "Re... Don't know word.";
+ next;
+ select("Perhaps... Reward??");
+ mes "[Fishee]";
+ mes "Yes. That. You good.";
+ mes "Smart. Give you reward.";
+ mes "I know thank you. Fish.";
+ next;
+ mes "[Fishee]";
+ mes "This, I got from bath.";
+ mes "No. Someone left it.";
+ mes "... ... Good guy. I give you.";
+ completequest 5034;
+ getitem 5792,1; //Fish_Pin
+ close;
+ } else if (checkquest(5034) == 2) {
+ mes "[Fishee]";
+ mes "You... I saw. Feeling. I saw. Feeling.";
+ mes "You... Name?";
+ next;
+ input .@inputstr$;
+ mes "[Fishee]";
+ mes .@inputstr$+" do.";
+ mes "No know. No remember..";
+ mes "Who.. you... are?";
+ close;
+ }
+ }
+ set .@weapon$, ((getequipisequiped(EQI_HAND_R))?getequipname(EQI_HAND_R):"Bare handed");
+ set .@pc_hp, 200;
+ set .@npc_hp, 200;
+ setarray .@skills$[0],"Midsection punch","Headbutt","Wiggle wiggle","Screw punch","Mumble muble";
+ mes "The unidentified creature is attacking. What will you do?";
+ next;
+ while(1) {
+ switch(select("Attack with a weapon.:Attack using a skill.:Attack using teeth.:Run away in fear.")) {
+ case 1: // Weapon
+ set .@p_damage,10;
+ set .@pc_attack, rand(1,10);
+ mes "["+strcharinfo(0)+"'s Attack]";
+ switch(.@pc_attack) {
+ // Miss.
+ case 3:
+ mes "You attempt to attack with your recent expensive purchase ^FF0000["+.@weapon$+"]^000000, but the unidentified creature rapidly dodged.";
+ break;
+ case 6:
+ mes "By mistake, you use ^FF0000["+.@weapon$+"]^000000 that Holgren has thrown your way to attack the unidentified creature, but the creature foresaw the attack and dodged.";
+ break;
+ case 9:
+ mes "You use your precious ^FF0000[+"+.@weapon$+"+]^000000 to attack the unidentified creature, but the creature pulled back and dodged your attack.";
+ break;
+ // Hit.
+ default:
+ specialeffect EF_HIT1;
+ set .@npc_hp, .@npc_hp - .@p_damage;
+ switch(.@pc_attack) {
+ case 1: set .@str$,"With your precious ^FF0000["+.@weapon$+"]^000000, you attacked the unidentified creature. The weapon pierced the creature's body."; break;
+ case 2: set .@str$,"By mistake, you use ^FF0000["+.@weapon$+"]^000000 that Holgren has thrown your way to attack the unidentified creature. With a thud, the unidentified creature's body is swaying."; break;
+ case 4: set .@str$,"You attempt to attack with your recent expensive purchase ^FF0000["+.@weapon$+"]^000000. You hit the unidentified creature's body with a thud."; break;
+ case 5: set .@str$,"You use a borrowed ^FF0000["+.@weapon$+"]^000000 to attack the unidentified creature, but the weapon slipped. But the weapon flies off and pierces the creature's body."; break;
+ case 7: set .@str$,"With your precious ^FF0000["+.@weapon$+"]^000000, you attacked the unidentified creature. It was as if the weapon was part of your body."; break;
+ case 8: set .@str$,"You use your lucky ^FF0000["+.@weapon$+"]^000000 to attack the unidentified creature."; break;
+ case 10: set .@str$,"You use a friend's ^FF0000["+.@weapon$+"]^000000 to attack the unidentified creature."; break;
+ }
+ mes .@str$+" ^FF0000["+.@p_damage+"]^000000 damage inflicted.";
+ break;
+ }
+ next;
+ break;
+ case 2: // Skill
+ set .@p_damage,20;
+ set .@pc_attack, rand(1,6);
+ set .@skillname$, .@skills$[rand(5)];
+ mes "["+strcharinfo(0)+"'s Attack]";
+ switch(.@pc_attack) {
+ // Miss.
+ case 2:
+ mes "You use skill ^0000FF["+.@skillname$+"]^000000 but you couldn't concentrate, and failed to use the skill properly.";
+ break;
+ case 4:
+ mes "You use skill ^0000FF["+.@skillname$+"]^000000 with all your might, but the unidentified creature dodged lightly and mocked you.";
+ break;
+ case 6:
+ mes "You use skill ^0000FF["+.@skillname$+"]^000000 to attack the creature, but he got out of sight and you failed to use the skill.";
+ break;
+ // Hit.
+ default:
+ specialeffect EF_BASH;
+ set .@npc_hp, .@npc_hp - .@p_damage;
+ switch(.@pc_attack) {
+ case 1: set .@str$, "With an attack so fast and furious, the creature is too stunned to move."; break;
+ case 3: set .@str$, "The creature dodged, but you foresaw his movements and targeted accurately."; break;
+ case 5: set .@str$, "Your skill flew in a perfect parabola and hit the creature exactly."; break;
+ }
+ mes "You use skill ^0000FF["+.@skillname$+"]^000000 to attack the unidentified creature. "+.@str$+" ^FF0000["+.@p_damage+"]^000000 damage inflicted.";
+ break;
+ }
+ next;
+ break;
+ case 3: // Tooth
+ set .@p_damage,50;
+ set .@pc_attack, rand(1,10);
+ mes "["+strcharinfo(0)+"'s Attack]";
+ if (.@pc_attack == 4 || .@pc_attack == 7) {
+ specialeffect EF_HIT1;
+ set .@npc_hp, .@npc_hp - .@p_damage;
+ mes "You use your well-groomed teeth to bite the unidentified creature hard until your teeth sink into its flesh. ^FF0000["+.@p_damage+"]^000000 damage inflicted.";
+ } else
+ mes "You use your steel-like teeth to bite the unidentified creature, but the frightened creature dodged. He stares at you with strange eyes.";
+ next;
+ break;
+ case 4: // Run
+ mes "You get scared of the unidentified creature, and attempt to run.";
+ next;
+ mes "["+strcharinfo(0)+"'s Escape]";
+ if (rand(1,2) == 1) {
+ mes "Fortunately, the unidentified creature did not come after you.";
+ close;
+ } else {
+ mes "When you attempt to run away, the unidentified creature sees you and attacks. You fail to escape.";
+ next;
+ specialeffect2 EF_HIT1;
+ mes "The creature slams you with its tail. It's so painful that a tear rolls out of your eyes. ^FF000010^000000 damaged received.";
+ set .@pc_hp, .@pc_hp - 10;
+ next;
+ // Unofficial check, but it's needed here.
+ callsub L_CheckPCAlive, .@pc_hp;
+ }
+ break;
+ }
+ if (.@npc_hp <= 0) {
+ mes "You won. The unidentified creature is unconscious.";
+ next;
+ if (checkquest(5016) > -1 && countitem(6385) == 0) {
+ mes "What will you do?";
+ next;
+ select("Look for the research tools.");
+ if (checkweight(6385,1) == 0) {
+ mes "You attempted to look for the research tools,";
+ mes "but you are carrying too many things.";
+ mes "You'd better lighten your load";
+ mes "and come back.";
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ mes "Found Researcher Raffle's ^0000FF Research tool ^000000.";
+ set ep14_1_goki, ep14_1_goki+1;
+ getitem 6385,1; //Research_Tool_Bag
+ setquest 5029;
+ next;
+ mes "The creature wakes up and disappears into the dark hole.";
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ } else if (checkquest(5017) > -1) {
+ mes "How will you bully the creature?";
+ next;
+ input .@inputstr$;
+ mes "You do ^0000FF"+.@inputstr$+"^000000 to bully the unidentified creature.";
+ next;
+ setquest 5029;
+ switch(ep14_1_muk) {
+ case 3:
+ mes "You bully the unidentified creature. This is kind of fun.";
+ break;
+ case 4:
+ mes "You bully the unidentified creature for the second time. It's definitely entertaining.";
+ break;
+ case 5:
+ mes "You bully the unidentified creature for the third time. It's fun, but now it is time to stop.";
+ changequest 5017,5018;
+ break;
+ }
+ set ep14_1_muk, ep14_1_muk+1;
+ set ep14_1_goki, ep14_1_goki+1;
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ } else {
+ mes "What will you do?";
+ next;
+ if(select("Check the body of the unidentified creature.:Leave.") == 2) {
+ setquest 5029;
+ set ep14_1_goki, ep14_1_goki+1;
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ if (rand(1,30) == 7) {
+ if (checkweight(6380,1) == 0) {
+ mes "While you were checking the body of the unidentified creature, your fingers touch something. You got lucky, but due to your heavy load you failed to obtain a ^0000FF Mora Coin^000000.";
+ set ep14_1_goki, ep14_1_goki+1;
+ setquest 5029;
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ mes "While you were checking the body of the unidentified creature, your fingers touch something. Lucky. Obtained a ^0000FF Mora Coin^000000.";
+ set ep14_1_goki, ep14_1_goki+1;
+ getitem 6380,1; //Mora_Coin
+ setquest 5029;
+ next;
+ mes "The creature wakes up and disappears into the dark hole.";
+ } else {
+ mes "As soon as you touch the creature's body, it wakes up and disappears into the dark hole.";
+ set ep14_1_goki, ep14_1_goki+1;
+ setquest 5029;
+ }
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ end;
+ }
+ }
+ mes "[ Current Progress ]";
+ mes strcharinfo(0)+" HP = "+.@pc_hp;
+ mes "Unidentified Creature HP = "+.@npc_hp;
+ next;
+ mes "[Attack of the unidentified creature]";
+ set .@npc_attack, rand(1,3);
+ switch(.@npc_attack) {
+ case 1:
+ set .@n_damage,10;
+ mes "The unidentified creature shoots a stream of bath water.";
+ break;
+ case 2:
+ set .@n_damage,20;
+ mes "The unidentified creature dashes at you with great speed. It appears to be attempting a headbutt.";
+ break;
+ case 3:
+ set .@n_damage,50;
+ mes "The unidentified creature runs at you with its teeth bared. It appears to be attempting to bite.";
+ break;
+ }
+ next;
+ mes "What will you do?";
+ next;
+ switch(select("... ... ...:Dodge.:Block.:It's too much. Run away.")) {
+ case 1:
+ switch(.@npc_attack) {
+ case 1:
+ specialeffect2 EF_ICEARROW;
+ mes "You stand still. The stream of water hits your face squarely. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ case 2:
+ specialeffect2 EF_BASH;
+ mes "You stand still. The creature headbutts you squarely. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ case 3:
+ specialeffect2 EF_HIT1;
+ mes "You stand still. While you were standing stupidly, the creature comes near and bites you mercilessly. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ }
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ next;
+ break;
+ case 2:
+ switch(.@npc_attack) {
+ case 1:
+ set .@miss, rand(1,5);
+ mes "[Attack of the unidentified creature]";
+ switch(.@miss) {
+ // Miss.
+ case 1:
+ mes "The unidentified creature shoots a stream of water at you, but you dodge it easily by tilting your body.";
+ break;
+ case 3:
+ mes "The unidentified creature shoots a stream of water at you, but you dodge it while picking your nose.";
+ break;
+ // Hit.
+ default:
+ specialeffect2 EF_ICEARROW;
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ switch(.@miss) {
+ case 2: set .@str$,"face"; break;
+ case 4: set .@str$,"stomach"; break;
+ case 5: set .@str$,"arm"; break;
+ }
+ mes "The stream of water hits your "+.@str$+" squarely. ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ }
+ next;
+ break;
+ case 2:
+ set .@miss, rand(1,10);
+ mes "[Attack of the unidentified creature]";
+ switch(.@miss) {
+ // Miss.
+ case 1:
+ mes "The unidentified creature dashes at you attempting a headbutt, but you are not the one to succumb to such an attack.";
+ break;
+ case 3:
+ mes "The unidentified creature dashes at you attempting a headbutt, but you move slightly to dodge the attack.";
+ break;
+ case 5:
+ mes "The unidentified creature dashes at you attempting a headbutt, but you dodge the attack while picking your nose.";
+ break;
+ case 7:
+ mes "The unidentified creature dashes at you attempting a headbutt, but you dodge the attack easily.";
+ break;
+ // Hit.
+ default:
+ specialeffect2 EF_BASH;
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ switch(.@miss) {
+ case 2: set .@str$,"With a thud, you can feel intense pain."; break;
+ case 4: set .@str$,"*thud* Your back seems to give way."; break;
+ case 6: set .@str$,"The creature's attack hits you in the shoulder."; break;
+ case 8: set .@str$,"The attack is like an arrow."; break;
+ case 9: set .@str$,"The attack was fast and accurate."; break;
+ case 10: set .@str$,"It hits your hand with a thud."; break;
+ }
+ mes "The unidentified creature dashes at you and headbutts. "+.@str$+" ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ }
+ next;
+ break;
+ case 3:
+ set .@miss, rand(1,10);
+ mes "[Attack of the unidentified creature]";
+ switch(.@miss) {
+ // Miss.
+ case 1:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack sneering.";
+ break;
+ case 3:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack by moving slightly.";
+ break;
+ case 5:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack while stretching.";
+ break;
+ case 7:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack while counting Zenies.";
+ break;
+ case 8:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack lightly.";
+ break;
+ case 9:
+ mes "The unidentified creature runs at you with its teeth bared, but you dodge the attack sneering.";
+ break;
+ // Hit.
+ default:
+ specialeffect2 EF_HIT1;
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ switch(.@miss) {
+ case 2: set .@str$,"leg. Its sharp teeth penetrate your legs."; break;
+ case 4: set .@str$,"arm. Its sharp teeth penetrate your arm."; break;
+ case 6: set .@str$,"toe. You feel like your toe is being cut off."; break;
+ case 10: set .@str$,"finger. You feel like your finger is being cut off."; break;
+ }
+ mes "The unidentified creature runs at you with its teeth bared, and bites your "+.@str$+" ^FF0000["+.@n_damage+"]^000000 damage received.";
+ break;
+ }
+ next;
+ break;
+ }
+ break;
+ case 3:
+ set .@defend, rand(1,10);
+ switch(.@npc_attack) {
+ case 1:
+ if (.@defend == 3 || .@defend == 6) {
+ set .@n_damage, .@n_damage / 2;
+ specialeffect2 EF_GUARD;
+ } else
+ specialeffect2 EF_ICEARROW;
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ mes "[Defense of "+strcharinfo(0)+"]";
+ switch(.@defend) {
+ // Blocked.
+ case 3: set .@str$,"You block the stream of water with your strong butt. Feels refreshing. HP reduced only by half."; break;
+ case 6: set .@str$,"You block the stream of water with your strong hands. Your hands sting a little. HP reduced only by half."; break;
+ // Not blocked.
+ case 1: set .@str$,"You try to block the stream of water with your strong butt, but it's too late."; break;
+ case 2: set .@str$,"You try to block the stream of water with your big gut, but to no avail."; break;
+ case 4: set .@str$,"You try to block the stream of water with your gathered hands, but the creature targets a different place."; break;
+ case 5: set .@str$,"You try to block the stream of water with your strong hands, but you fail."; break;
+ case 7: set .@str$,"You try to block the stream of water with arms crossed, but you fold them wrong."; break;
+ case 8: set .@str$,"You try to block the stream of water with your rock-like head, but it was not possible."; break;
+ case 9: set .@str$,"You try to block the stream of water with your solid muscles, but it was not possible."; break;
+ case 10: set .@str$,"You try to block the stream of water with your strong feet, but your effort was wasted."; break;
+ }
+ mes .@str$+" ^FF0000["+.@n_damage+"]^000000 damage received.";
+ next;
+ break;
+ case 2:
+ if (.@defend == 1 || .@defend == 3 || .@defend == 5 || .@defend == 7) {
+ set .@n_damage, .@n_damage / 2;
+ specialeffect2 EF_GUARD;
+ } else
+ specialeffect2 EF_BASH;
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ mes "[Defense of "+strcharinfo(0)+"]";
+ switch(.@defend) {
+ // Blocked.
+ case 1: set .@str$,"You block the dash attack with your fat butt. Your butt is world class. HP reduced only by half."; break;
+ case 3: set .@str$,"You block the dash attack with your big gut. Your gut is world class. HP reduced only by half."; break;
+ case 5: set .@str$,"You block the dash attack with your strong hands. Your hands are world class. HP reduced only by half."; break;
+ case 7: set .@str$,"The unidentified creature dashed with lightning speed, but you easily block the attack with your big gut. Your gut is world class. HP reduced only by half."; break;
+ // Not blocked.
+ case 2: set .@str$,"You try to block the dash attack with your fat butt, but miss and get hit in an unmentionable place."; break;
+ case 4: set .@str$,"You try to block the dash attack with your big gut, but your gut isn't big enough to absorb the impact."; break;
+ case 6: set .@str$,"You try to block the dash attack with arms crossed, but you feel an incredible force."; break;
+ case 8: set .@str$,"You try to block the dash attack, to no avail."; break;
+ case 9: set .@str$,"You try to block the dash attack with your strong hands, to no avail."; break;
+ case 10: set .@str$,"You try to block the dash attack with your durable feet, but the pain woke you up."; break;
+ }
+ mes .@str$+" ^FF0000["+.@n_damage+"]^000000 damage received.";
+ next;
+ break;
+ case 3:
+ if (.@defend == 2 || .@defend == 4 || .@defend == 6 || .@defend == 8) {
+ set .@n_damage, .@n_damage / 2;
+ specialeffect2 EF_GUARD;
+ }
+ set .@pc_hp, .@pc_hp - .@n_damage;
+ mes "[Defense of "+strcharinfo(0)+"]";
+ switch(.@defend) {
+ // Blocked.
+ case 2: set .@str$,"but you block its attack with a branch nearby. HP reduced only by half."; break;
+ case 4: set .@str$,"but you block its attack with a weapon. HP reduced only by half."; break;
+ case 6: set .@str$,"but you block its attack using skill ^0000FFFriend Shield^000000. HP reduced only by half."; break;
+ case 8: set .@str$,"but you block its attack using a book you always carry around. HP reduced only by half."; break;
+ // Not blocked.
+ case 1: set .@str$,"and bites your arm."; break;
+ case 3: set .@str$,"and bites your leg."; break;
+ case 5: set .@str$,"and bites your shoulder."; break;
+ case 7: set .@str$,"and bites your finger."; break;
+ case 9: set .@str$,"and bites your finger."; break;
+ case 10: set .@str$,"and bites your toe."; break;
+ }
+ mes "The unidentified creature runs at you with its teeth bared, "+.@str$+" ^FF0000["+.@n_damage+"]^000000 damage received.";
+ next;
+ break;
+ }
+ break;
+ case 4:
+ mes "You get scared of the unidentified creature, and attempt to run.";
+ next;
+ mes "["+strcharinfo(0)+"'s Escape]";
+ if (rand(1,2) == 1) {
+ mes "Fortunately ^BF2C15Unidentified creature^000000";
+ mes "did not come after you.";
+ close;
+ } else {
+ mes "When you attempt to run away, the unidentified creature sees you and attacks.";
+ mes "You fail to escape.";
+ next;
+ mes "The creature slams you with its tail. It's so painful that a tear rolls out of your eyes. ^FF000010^000000 damaged received.";
+ set .@pc_hp, .@pc_hp - 10;
+ next;
+ }
+ break;
+ }
+ callsub L_CheckPCAlive, .@pc_hp;
+ mes "[ Current Progress ]";
+ mes strcharinfo(0)+" HP = "+.@pc_hp;
+ mes "Unidentified Creature HP = "+.@npc_hp;
+ next;
+ }
+ end;
+L_CheckPCAlive:
+ if (getarg(0) <= 0) {
+ mes "You lost to the unidentified creature. Your mind goes blank and you faint.";
+ next;
+ mes "You leave the bath with somebody's help.";
+ percentheal -99,0;
+ donpcevent "Black Shadow#ep14_muk::OnDisable";
+ warp "mora",31,132;
+ end;
+ }
+ return;
+OnInit:
+ disablenpc "Black Shadow#ep14_muk";
+ end;
+OnEnable:
+ enablenpc "Black Shadow#ep14_muk";
+ disablenpc "???#ep14_muk01";
+ disablenpc "???#ep14_muk02";
+ disablenpc "???#ep14_muk03";
+ disablenpc "???#ep14_muk04";
+ disablenpc "???#ep14_muk05";
+ end;
+OnDisable:
+ disablenpc "Black Shadow#ep14_muk";
+ donpcevent "Black Shadow#ep14_muk::OnFullon";
+ mapannounce "mora","You can now use the mysterious power of bath water.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+OnFullon:
+ donpcevent "???#ep14_muk01::OnReset";
+ donpcevent "???#ep14_muk02::OnReset";
+ donpcevent "???#ep14_muk03::OnReset";
+ donpcevent "???#ep14_muk04::OnReset";
+ donpcevent "???#ep14_muk05::OnReset";
+ end;
+}
+
+- script ???#mora -1,{
+ if (checkquest(5019) > -1) {
+ mes "You find an area emitting a distinct aura.";
+ mes "You may be able to collect bath water samples.";
+ mes "What will you do?";
+ next;
+ if(select("Collect samples.:Leave.") == 2) {
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ if (countitem(6386) >= 10) {
+ mes "You will not need additional samples.";
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ if (countitem(1092) == 0) {
+ mes "To obtain a sample, you need a sample tube.";
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ mes "Collecting samples.";
+ next;
+ progressbar "ffff00",3;
+ if (!rand(3)) {
+ if (checkweight(6386,1) == 0) {
+ mes "You have so many items";
+ mes "that it is difficult to collect samples.";
+ mes "You will have to lighten your load and come back.";
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ mes "Bath water sample collection complete.";
+ delitem 1092,1; //Empty_Cylinder
+ getitem 6386,1; //Bathtub_R_Sample
+ } else {
+ mes "Bath water sample collection failed.";
+ percentheal 5,5;
+ }
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ } else if (checkquest(5021) > -1 || checkquest(5022) > -1) {
+ if (checkquest(5021) > -1) {
+ set .@str$,"tooth";
+ set .@item,6387; //Teeth_Sample
+ } else {
+ set .@str$,"scale";
+ set .@item,6388; //Scale_Sample
+ }
+ mes "Something is shining in the water.";
+ mes "You may be able to collect the unidentified creature's "+.@str$+" samples.";
+ mes "What do you want to do?";
+ next;
+ if(select("Look further.:Leave.") == 2) {
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ if (countitem(.@item) >= 10) {
+ mes "You will not need additional samples.";
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ }
+ progressbar "ffff00",3;
+ if (!rand(3)) {
+ if (checkweight(.@item,1) == 0) {
+ mes "You have so many items";
+ mes "that it is difficult to collect samples.";
+ mes "You will have to lighten your load and come back.";
+ close;
+ }
+ mes "Obtained a "+.@str$+" sample";
+ mes "of the unidentified creature.";
+ getitem .@item,1;
+ } else
+ mes "You thought you saw it on the ground, but it was an illusion.";
+ close2;
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+ } else {
+ mes "???";
+ next;
+ select("???");
+ mes "???";
+ close;
+ }
+ end;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ stopnpctimer;
+ end;
+OnDisable:
+ disablenpc strnpcinfo(0);
+ initnpctimer;
+ end;
+OnReset:
+ if (rand(2))
+ donpcevent strnpcinfo(0)+"::OnEnable";
+ else
+ initnpctimer;
+ end;
+OnTimer10000:
+OnTimer20000:
+OnTimer30000:
+OnTimer40000:
+OnTimer50000:
+ if (rand(2))
+ donpcevent strnpcinfo(0)+"::OnEnable";
+ end;
+OnTimer60000:
+ donpcevent strnpcinfo(0)+"::OnEnable";
+ end;
+OnTouch:
+ if (checkquest(5034) == 2 || ep14_1_muk == 0 || rand(5)) {
+ percentheal 5,5;
+ end;
+ }
+ set .@playtime, checkquest(5029,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ percentheal 5,5;
+ end;
+ } else if (.@playtime == 2) {
+ erasequest 5029;
+ end;
+ } else {
+ mapannounce "mora","You can no longer use the mysterious power of the bath water.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ mes "^FF0000Something appeared.^000000";
+ mes "^FFFF00You cannot use the mysterious power of the bath water.^000000";
+ close2;
+ donpcevent "Black Shadow#ep14_muk::OnEnable";
+ end;
+ }
+}
+mora,108,86,0 duplicate(???#mora) ???#ep14_muk01 844,2,2
+mora,107,82,0 duplicate(???#mora) ???#ep14_muk02 844,2,2
+mora,113,84,0 duplicate(???#mora) ???#ep14_muk03 844,2,2
+mora,116,81,0 duplicate(???#mora) ???#ep14_muk04 844,2,2
+mora,118,86,0 duplicate(???#mora) ???#ep14_muk05 844,2,2
+
+- script #mora_puddle -1,{
+ set .@i, atoi(charat(strnpcinfo(2),9));
+
+ // This script has a lot of checks,
+ // so arrays are only set when used.
+ setarray .@quest1[1],5024,5025,5026,5027;
+ setarray .@dir$[1],"east","west","south","north";
+
+ if (checkquest(.@quest1[.@i]) > -1) {
+ if (countitem(6389) == 0) {
+ mes "This appears to be the puddle to the "+.@dir$[.@i];
+ mes "that the researcher talked about.";
+ mes "Will you collect a sample?";
+ next;
+ if(select("Collect a sample.:Don't collect a sample.") == 2)
+ close;
+ if (countitem(1092) == 0) {
+ mes "You have no empty sample tubes.";
+ close;
+ }
+ progressbar "ffff00",5;
+ if (checkweight(6389,1) == 0) {
+ mes "You have so many items";
+ mes "that it is difficult to collect samples.";
+ mes "You will have to lighten your load and come back.";
+ close;
+ }
+ mes "You have collected a sample from the puddle to the "+.@dir$[.@i]+".";
+ delitem 1092,1; //Empty_Cylinder
+ getitem 6389,1; //Puddle_R_Sample
+ close;
+ } else {
+ mes "You already have a sample.";
+ close;
+ }
+ }
+
+ set .@quest1[0], .@quest1[.@i];
+ set .@dir$[0], .@dir$[.@i];
+ deletearray .@quest1[.@i],1;
+ deletearray .@dir$[.@i],1;
+
+ if (checkquest(.@quest1[1]) > -1 || checkquest(.@quest1[2]) > -1 || checkquest(.@quest1[3]) > -1) {
+ for(set .@j,1; .@j<=3; set .@j,.@j+1) {
+ if (checkquest(.@quest1[.@j]) > -1)
+ break;
+ }
+ mes "This is not the puddle to the "+.@dir$[.@j]+".";
+ close;
+ }
+
+ setarray .@quest2[1],5030,5031,5032,5033;
+ set .@quest2[0], .@quest2[.@i];
+ deletearray .@quest2[.@i],1;
+
+ if (ep14_1_goki == 30 && checkquest(.@quest2[0]) > -1) {
+ mes "You arrived at the puddle to the "+.@dir$[0]+".";
+ mes "You should look for the unidentified creature's family.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Fish~ Fish~";
+ next;
+ mes "When you called out, an answer came";
+ mes "from the puddle.";
+ next;
+ mes "[???]";
+ mes "Who? Fisher? Go!";
+ next;
+ select("I'm looking for a particular fish's family.");
+ mes "[???]";
+ mes "Family? What be that fish name?";
+ next;
+ mes "What was the name of the unidentified creature?";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ != "Fishee") {
+ mes "[???]";
+ mes "No Family. "+.@inputstr$+" No.";
+ mes "You go.";
+ next;
+ mes "It appears that the unidentified creature's family is not here.";
+ close;
+ }
+ mes "[???]";
+ mes .@inputstr$+"? Oh... How...";
+ mes "Husband here come. Your son.";
+ mes "News here.";
+ next;
+ mes "Another creature from the puddle spoke to you.";
+ next;
+ mes "[????]";
+ mes "What? Missing son news?";
+ next;
+ mes "The two fish were very excited,";
+ mes "and their conversation was hard to follow.";
+ mes "You waited for them to calm down";
+ mes "and told them the full story.";
+ next;
+ mes "[Fishee's Dad]";
+ mes "Yes... At night, son";
+ mes "gone... Night fishers.";
+ mes "Son stupid. Caught. Dead. OK.";
+ next;
+ mes "[Fishee's Mom]";
+ mes "Fishee alive. Great. Great.";
+ next;
+ mes "[Fishee's Dad]";
+ mes "Yes... Human give son news.";
+ mes "Thanks. Son,";
+ mes "We okay. Happy. Here. You tell son.";
+ changequest .@quest2[0],5034;
+ close;
+ } else if (checkquest(5034) > -1 && checkquest(5034) < 2) {
+ mes "[Fishee's Dad]";
+ mes "Yes... Human give son news.";
+ mes "Thanks. Son,";
+ mes "We okay. Happy. Here. You tell son.";
+ close;
+ } else if (checkquest(.@quest2[1]) > -1 || checkquest(.@quest2[2]) > -1 || checkquest(.@quest2[3]) > -1) {
+ mes "You arrived at the puddle to the "+.@dir$[0]+".";
+ mes "You should look for the unidentified creature's family.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Fish~ Fish~";
+ next;
+ mes "You yelled out loud for fish,";
+ mes "but there is no response.";
+ mes "I don't think anybody lives";
+ mes "in this puddle.";
+ close;
+ }
+ mes "You see a puddle with a calm surface.";
+ close;
+}
+bif_fild02,315,285,0 duplicate(#mora_puddle) Puddle#ep14_muk01 844
+bif_fild02,65,109,0 duplicate(#mora_puddle) Puddle#ep14_muk02 844
+bif_fild02,223,71,0 duplicate(#mora_puddle) Puddle#ep14_muk03 844
+bif_fild02,113,340,0 duplicate(#mora_puddle) Puddle#ep14_muk04 844
+
+// Mora Daily Quests :: dealer
+//============================================================
+mora,133,80,6 script Elephantine#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Elephantine]";
+ mes "Hmm, you don't look reliable enough to perform tasks for me.";
+ close;
+ }
+ if (BaseLevel < 135) {
+ mes "[Elephantine]";
+ mes "Why don't you come back when you've grown stronger? I can't give you tasks when you're in your current state.";
+ close;
+ }
+ set .@playtime, checkquest(12230,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Elephantine]";
+ mes "I have no additional tasks available now. If I get some, I'll let you know when you come back.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Elephantine]";
+ mes "Will you please check with ^990099Hotcha^000000";
+ mes "on the details of the previous task?";
+ close;
+ }
+ mes "[Elephantine]";
+ mes "Welcome.";
+ mes "I have some tasks for you - will you take a look at them?";
+ next;
+ if(select("What kind of tasks do you have for me?:Tell me about today's task.") == 1) {
+ mes "[Elephantine]";
+ mes "I'm the Head of the Volunteer Patrol of the Village of Mora. It didn't used to be like this, he he.";
+ next;
+ mes "[Elephantine]";
+ mes "Each day, I'll be giving you a quest to kill off monsters in the surrounding area.";
+ next;
+ mes "[Elephantine]";
+ mes "You might get a task that's far too difficult for you to take care of alone - in that case, try to get help from your fellow adventurers.";
+ close;
+ }
+ mes "[Elephantine]";
+ mes "Let me see what tasks we've got today... Hmm...";
+ next;
+ mes "[Elephantine]";
+ mes "How about this one?";
+ next;
+ switch(rand(1,5)) {
+ case 1:
+ setquest 12225;
+ setquest 12230;
+ mes "[Elephantine]";
+ mes "Strange insects that carry fruit on their backs roam this area - you must've seen them.";
+ next;
+ mes "[Elephantine]";
+ mes "I'd like you to take them out as you see them, before they try to sell anything to the adventurers lost in the forest.";
+ set .@n$,"Fruit-Carrying Insects";
+ break;
+ case 2:
+ setquest 12226;
+ setquest 12230;
+ mes "[Elephantine]";
+ mes "There have been a lot of reports lately about mantises disguised as flowers attacking creatures passing by.";
+ next;
+ mes "[Elephantine]";
+ mes "No casualties have been reported yet, but it wouldn't hurt to take precautions. Please deal with them appropriately.";
+ set .@n$,"Flowery Hunters";
+ break;
+ case 3:
+ setquest 12227;
+ setquest 12230;
+ mes "[Elephantine]";
+ mes "An adventurer was reported to have been attacked by little birds while gathering resources in the vicinity of Bifrost.";
+ next;
+ mes "[Elephantine]";
+ mes "They didn't look so ferocious... but the adventurer has asked me to get rid of them, so you'll have to do it.";
+ set .@n$,"Small but Ferocious...";
+ break;
+ case 4:
+ setquest 12228;
+ setquest 12230;
+ mes "[Elephantine]";
+ mes "I have qualms about this one, but somebody anonymously asked me to hunt down the naughty fairies.";
+ next;
+ mes "[Elephantine]";
+ mes "I don't know what grudge he has against the fairies, but a request is a request.";
+ set .@n$,"An Unknown Grudge";
+ break;
+ case 5:
+ setquest 12229;
+ setquest 12230;
+ mes "[Elephantine]";
+ mes "Would you believe it if I said there are balls of blonde hair rolling around? You wouldn't, would you?";
+ next;
+ mes "[Elephantine]";
+ mes "They don't seem so dangerous, but they are reported to steal books and sweets from adventurers. Please deal with them appropriately.";
+ set .@n$,"Blondie Ann";
+ break;
+ }
+ next;
+ mes "You have received the task ^005500"+.@n$+"^000000. Open and see the quest window for the details.";
+ close;
+}
+
+mora,115,98,8 script Hotcha#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Hotcha]";
+ mes "Hmm, you don't look reliable enough for Elephantine's tasks.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[Hotcha]";
+ mes "This place is like a paradise for adventurers. Not for weak ones like you, though.";
+ close;
+ }
+ set .@playtime, checkquest(12230,PLAYTIME);
+ if (.@playtime == -1) {
+ mes "[Hotcha]";
+ mes "I see you haven't received";
+ mes "any tasks yet.";
+ mes "Go talk to Elephantine,";
+ mes "and Elephantine will give you";
+ mes "one of the countless tasks.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Hotcha]";
+ mes "The time is up to complete the existing tasks.";
+ next;
+ mes "[Hotcha]";
+ mes "If you have any unfinished tasks in your quest log, they are considered 'failed' and removed from the log.";
+ next;
+ mes "[Hotcha]";
+ mes "Once they are removed, go talk to Elephantine and you can receive new tasks.";
+ for(set .@i,12225; .@i<=12229; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ erasequest 12230;
+ close;
+ }
+ mes "[Hotcha]";
+ mes "Welcome.";
+ mes "How may I help you?";
+ next;
+ select("I have completed a task.");
+ mes "Oh.";
+ mes "Have you?";
+ mes "Please wait a minute while I check the documents.";
+ next;
+
+ for(set .@i,12225; .@i<=12229; set .@i,.@i+1) {
+ if (checkquest(.@i,HUNTING) == 2) {
+ mes "[Hotcha]";
+ mes "Yes, I see you've completed the task. It has been confirmed as completed.";
+ erasequest .@i;
+ specialeffect2 EF_STEAL;
+ if (BaseLevel > 99)
+ getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
+ else
+ getexp 0, ((JobLevel < 70)?JobLevel * JobLevel * (110/100) * 10:0);
+ getitem 6380,3; //Mora_Coin
+ close;
+ }
+ }
+
+ mes "[Hotcha]";
+ mes "Hmm... "+strcharinfo(0)+".";
+ mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
+ close;
+}
+
+mora,119,103,4 script Bow-wow#pa0829 513,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Bow-wow]";
+ mes "I try to give tasks only to reliable people. You are......... no, never mind.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[Bow-wow]";
+ mes "You really have no clue. What could you do with such a weak body?";
+ close;
+ }
+ set .@playtime, checkquest(12241,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Bow-wow]";
+ mes "I have no additional tasks available now. If I get some, I'll let you know when you come back.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Bow-wow]";
+ mes "Will you please check with the ^990099General Goods Dealer^000000";
+ mes "on the details of the previous task?";
+ close;
+ }
+ mes "[Bow-wow]";
+ mes "Welcome.";
+ mes "I have some tasks for you - will you take a look at them?";
+ next;
+ if(select("What kind of tasks do you have for me?:Tell me about today's task.") == 1) {
+ mes "[Bow-wow]";
+ mes "Here, we make all kinds of supplies for adventurers.";
+ next;
+ mes "[Bow-wow]";
+ mes "We accept raw materials for the supplies once a day.";
+ next;
+ mes "[Bow-wow]";
+ mes "Sometimes, we might ask for materials that are very difficult to obtain. In that case, try to get help from your fellow adventurers.";
+ close;
+ }
+ mes "[Bow-wow]";
+ mes "Let me see... what supplies are we making today...?";
+ next;
+ mes "[Bow-wow]";
+ mes "How about this one?";
+ next;
+ switch(rand(1,5)) {
+ case 1:
+ setquest 12231;
+ setquest 12241;
+ mes "[Bow-wow]";
+ mes "The adventurers here make sure to bring with them, on their exploration to dungeons, a preservative to keep their food fresh. Do you know what the preservative is made from?";
+ next;
+ mes "[Bow-wow]";
+ mes "*grin* None other than... Insect Feelers! The General Goods Dealer there asked me to get four of them. I personally would not eat it for all the world...";
+ set .@n$,"Material for the Preservative";
+ break;
+ case 2:
+ setquest 12232;
+ setquest 12241;
+ mes "[Bow-wow]";
+ mes "These days, it's common for adventurers here to make talismans to protect themselves on their dangerous adventures. Like a kind of insurance.";
+ next;
+ mes "[Bow-wow]";
+ mes "Immortal Hearts seem to be all the rage lately. The General Goods Merchant asked me to get five of them.";
+ set .@n$,"A Symbol of Resistance";
+ break;
+ case 3:
+ setquest 12233;
+ setquest 12241;
+ mes "[Bow-wow]";
+ mes "They need tons of Rotten Bandages for making first aid bandages. They must have run out of new materials.";
+ next;
+ mes "[Bow-wow]";
+ mes "The client is the General Goods Merchant over there. Three bunches of them will be enough.";
+ set .@n$,"Material for First Aid Kits";
+ break;
+ case 4:
+ setquest 12234;
+ setquest 12241;
+ mes "[Bow-wow]";
+ mes "Symbols of strong warriors give adventurers great support on their journeys. That's why Orcish Vouchers sell like hotcakes.";
+ next;
+ mes "[Bow-wow]";
+ mes "The General Goods Dealer asked me to get three Orcish Vouchers, which are to be used to make symbols of courage.";
+ set .@n$,"Symbols of Courage";
+ break;
+ case 5:
+ setquest 12235;
+ setquest 12241;
+ mes "[Bow-wow]";
+ mes "It seems to be rumored among adventurers that drinking powdered bones mixed with water helps boost their stamina.";
+ next;
+ mes "[Bow-wow]";
+ mes "The General Goods Dealer asked me to get three Skel-Bones, which are to be used to make tonic.";
+ set .@n$,"Good for Stamina...";
+ break;
+ }
+ next;
+ mes "You have received the task ^880088"+.@n$+"^000000. Open and see the quest window for the details.";
+ close;
+}
+
+mora,119,118,4 script General Good Dealer#pa0 516,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[General Good Dealer]";
+ mes "Hmm, you don't look reliable enough for Bow-wow's tasks.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[General Good Dealer]";
+ mes "What could you do with that fragile body? Go get some exercise.";
+ close;
+ }
+ set .@playtime, checkquest(12241,PLAYTIME);
+ if (.@playtime == -1) {
+ mes "[General Good Dealer]";
+ mes "I see you haven't received";
+ mes "any tasks yet.";
+ mes "Go talk to Bow-wow,";
+ mes "and Bow-wow will give you";
+ mes "one of the countless tasks.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[General Good Dealer]";
+ mes "The time is up to complete the existing tasks.";
+ next;
+ mes "[General Good Dealer]";
+ mes "If you have any unfinished tasks in your quest log, they are considered 'failed' and removed from the log.";
+ next;
+ mes "[General Good Dealer]";
+ mes "Once they are removed, go talk to Bow-wow and you can receive new tasks.";
+ for(set .@i,12231; .@i<=12235; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ erasequest 12241;
+ close;
+ }
+ mes "[General Good Dealer]";
+ mes "Welcome.";
+ mes "How may I help you?";
+ next;
+ select("I have completed a task.");
+ mes "[General Good Dealer]";
+ mes "Oh.";
+ mes "Have you?";
+ mes "Please wait a minute while I check the documents.";
+ next;
+
+ callsub L_CheckQuest,12231,928,4; //Insect_Feeler
+ callsub L_CheckQuest,12232,929,5; //Immortal_Heart
+ callsub L_CheckQuest,12233,930,1; //Rotten_Bandage
+ callsub L_CheckQuest,12234,931,3; //Orcish_Voucher
+ callsub L_CheckQuest,12235,932,3; //Skel_Bone
+
+ mes "[General Good Dealer]";
+ mes "Hmm... "+strcharinfo(0)+".";
+ mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
+ close;
+
+L_CheckQuest:
+ if (checkquest(getarg(0)) > -1) {
+ if (countitem(getarg(1)) < getarg(2)) {
+ mes "[General Good Dealer]";
+ mes "The amount is not enough...";
+ close;
+ }
+ mes "[General Good Dealer]";
+ mes "I've received the items all right. It will be some time before I have another task for you, so why don't you visit the hot spring and relax?";
+ delitem getarg(1),getarg(2);
+ erasequest getarg(0);
+ specialeffect2 EF_STEAL;
+ if (BaseLevel > 99)
+ getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
+ else
+ getexp 0, ((JobLevel < 70)?JobLevel * JobLevel * (110/100) * 10:0);
+ getitem 6380,1; //Mora_Coin
+ close;
+ }
+ return;
+}
+
+mora,124,108,7 script Woof-grrr#pa0829 514,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Woof-grrr]";
+ mes "Can you please keep away from me? You're getting in the way.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[Woof-grrr]";
+ mes "This place is not a nursery. Grow up and come back, and I'll gladly give you tasks.";
+ close;
+ }
+ set .@playtime, checkquest(12242,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Woof-grrr]";
+ mes "I have no additional tasks available now. If I get some, I'll let you know when you come back.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Woof-grrr]";
+ mes "Will you please check with the ^990099Commodities Dealer^000000, standing across from me,";
+ mes "on the details of the previous task?";
+ close;
+ }
+ mes "[Woof-grrr]";
+ mes "Nice to see you.";
+ mes "I have some tasks for you - will you take a look at them?";
+ next;
+ if(select("What kind of tasks do you have for me?:Tell me about today's task.") == 1) {
+ mes "[Woof-grrr]";
+ mes "Bow-wow and I are in the same industry.";
+ next;
+ mes "[Woof-grrr]";
+ mes "We are a manufacturer of adventurers' supplies.";
+ next;
+ mes "[Woof-grrr]";
+ mes "My tasks won't be easy - you'd better prepare yourself.";
+ close;
+ }
+ mes "[Woof-grrr]";
+ mes "Hmm... What tasks are at hand today?";
+ next;
+ mes "[Woof-grrr]";
+ mes "Oh. This one looks good.";
+ next;
+ switch(rand(1,5)) {
+ case 1:
+ setquest 12236;
+ setquest 12242;
+ mes "[Woof-grrr]";
+ mes "Some people just hang their talismans around their necks, but more people choose to seal them in special cases and carry them on their bodies.";
+ next;
+ mes "[Woof-grrr]";
+ mes "Mementos serve as inspirations for designers of those cases. The Commodities Dealer across from me asked me to get two of them.";
+ set .@n$,"The Latest Trend in Talismans";
+ break;
+ case 2:
+ setquest 12237;
+ setquest 12242;
+ mes "[Woof-grrr]";
+ mes "Adventurers make sure to keep their talismans safe, because they could save their lives.";
+ next;
+ mes "[Woof-grrr]";
+ mes "The Commodities Dealer across from me seems to make protective cases out of Shells. I was asked to get three of them.";
+ set .@n$,"Keep Your Valuables Safe";
+ break;
+ case 3:
+ setquest 12238;
+ setquest 12242;
+ mes "[Woof-grrr]";
+ mes "Adventurers that go into the bushes of the Maze of the Hazy Forest always wear knee protectors.";
+ next;
+ mes "[Woof-grrr]";
+ mes "The Commodities Dealer across from me asked me to get three Scale Shells, which are to be used to make knee protectors.";
+ set .@n$,"Material for Knee Protectors";
+ break;
+ case 4:
+ setquest 12239;
+ setquest 12242;
+ mes "[Woof-grrr]";
+ mes "I have a task for you at hand, making a vaccine for possible poisonous insects.";
+ next;
+ mes "[Woof-grrr]";
+ mes "The Commodities Dealer across from me asked me to get two Venom Canines, which are to be used in the research of the substance.";
+ set .@n$,"Poison for Poison...";
+ break;
+ case 5:
+ setquest 12240;
+ setquest 12242;
+ mes "[Woof-grrr]";
+ mes "It seems they have run out of the material for adding non-slip soles to shoes.";
+ next;
+ mes "[Woof-grrr]";
+ mes "The Commodities Dealer across from me commissioned me to get five globs of Sticky Mucus.";
+ set .@n$,"Don't Slip and Fall";
+ break;
+ }
+ next;
+ mes "You have received the task ^880088"+.@n$+"^000000. Open and see the quest window for the details.";
+ close;
+}
+
+mora,127,112,4 script Commodities Dealer#pa08 518,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Commodities Dealer]";
+ mes "Well, Woof-grrr can't have given a weakling like you tasks.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[Commodities Dealer]";
+ mes "Go away! I can't concentrate on cataloging with you hanging around like that...";
+ close;
+ }
+ set .@playtime, checkquest(12242,PLAYTIME);
+ if (.@playtime == -1) {
+ mes "[Commodities Dealer]";
+ mes "I see you haven't received";
+ mes "any tasks yet.";
+ mes "Go talk to Woof-grrr,";
+ mes "and Woof-grrr will give you";
+ mes "one of the countless tasks.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Commodities Dealer]";
+ mes "The time is up to complete the existing tasks.";
+ next;
+ mes "[Commodities Dealer]";
+ mes "If you have any unfinished tasks in your quest log, they are considered 'failed' and removed from the log.";
+ next;
+ mes "[Commodities Dealer]";
+ mes "Once they are removed, go talk to Woof-grrr and you can receive new tasks.";
+ for(set .@i,12236; .@i<=12240; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ erasequest 12242;
+ close;
+ }
+ mes "[Commodities Dealer]";
+ mes "Welcome.";
+ mes "How may I help you?";
+ next;
+ select("I have completed a task.");
+ mes "[Commodities Dealer]";
+ mes "Oh.";
+ mes "Have you?";
+ mes "Please wait a minute while I check the documents.";
+ next;
+
+ callsub L_CheckQuest,12236,934,2; //Mementos
+ callsub L_CheckQuest,12237,935,3; //Shell
+ callsub L_CheckQuest,12238,936,3; //Scales_Shell
+ callsub L_CheckQuest,12239,937,2; //Posionous_Canine
+ callsub L_CheckQuest,12240,938,5; //Sticky_Mucus
+
+ mes "[Commodities Dealer]";
+ mes "Hmm... "+strcharinfo(0)+".";
+ mes "It may be a documentation error, but according to the documents, you have nothing to do with the tasks.";
+ close;
+
+L_CheckQuest:
+ if (checkquest(getarg(0)) > -1) {
+ if (countitem(getarg(1)) < getarg(2)) {
+ mes "[Commodities Dealer]";
+ mes "The amount is not enough...";
+ close;
+ }
+ mes "[Commodities Dealer]";
+ mes "I've received the items all right. I look forward to working with you again.";
+ delitem getarg(1),getarg(2);
+ erasequest getarg(0);
+ specialeffect2 EF_STEAL;
+ if (BaseLevel > 99)
+ getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
+ else
+ getexp 0, ((JobLevel < 70)?JobLevel * JobLevel * (110/100) * 10:0);
+ getitem 6380,1; //Mora_Coin
+ close;
+ }
+ return;
+}
+
+mora,170,101,4 script Soul Guide#pa0829 515,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (ep14_1_mistwoods < 10) {
+ mes "[Soul Guide]";
+ mes "Reliability is the primary quality needed in looking for lost souls. You don't look so reliable to me.";
+ close;
+ }
+ if (BaseLevel < 97) {
+ mes "[Soul Guide]";
+ mes "You need to have a strong spirit to do this task. I think you need a lot more discipline.";
+ close;
+ }
+ set .@playtime, checkquest(12253,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "You still have marks of the haunting souls on your body.";
+ next;
+ mes "You'll have to come back when the marks have disappeared.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "You feel your mind has calmed down once again. You now have enough energy to go look for other souls, so talk to the Guide again.";
+ for(set .@i,12243; .@i<=12252; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ erasequest 12253;
+ close;
+ }
+ mes "[Soul Guide]";
+ mes "Welcome.";
+ mes "Are you ready?";
+ next;
+ if(select("What kind of tasks do you have for me?:Tell me about today's task.") == 1) {
+ mes "[Soul Guide]";
+ mes "My job is to gather the remains of the souls haunting the forest and put them to rest.";
+ next;
+ mes "[Soul Guide]";
+ mes "There are countless souls trapped in the Maze.";
+ next;
+ mes "[Soul Guide]";
+ mes "Help them get their long-deserved rest.";
+ close;
+ }
+ mes "[Soul Guide]";
+ mes "I'll show you the details of one of the lost souls.";
+ next;
+ switch(rand(1,10)) {
+ case 1:
+ setquest 12243;
+ setquest 12253;
+ mes "^660066Age 32. Comes from Midgard. Has been missing for 3 months since he went to the Maze of the Hazy Forest in order to collect the native plants. Low chance of survival.^000000";
+ set .@n$,"Tazar";
+ break;
+ case 2:
+ setquest 12244;
+ setquest 12253;
+ mes "^660066Age 19. Adventurer who came from a far, unknown place by ship. Been missing for 2 months since he went to explore the Maze dressed in thin tights, despite dissuasion of all Mora residents.";
+ mes "Even if he's alive, he would cause trouble to the rescue team.^000000";
+ set .@n$,"Niger";
+ break;
+ case 3:
+ setquest 12245;
+ setquest 12253;
+ mes "^660066Age unknown. Has some mental illness. Went alone in order to purify the Maze of the Hazy forest. He insists that he has good ancestry but no one trusts him.";
+ mes "Disappearance period : 12 years. Not much chance of survival.^000000";
+ set .@n$,"Messil";
+ break;
+ case 4:
+ setquest 12246;
+ setquest 12253;
+ mes "^660066Age 51. Used to be a big thief who stole famous swords from all around the world.";
+ mes "Went missing in the Maze after being pursued for running an illegal casino house which caused massive casualties in his final years. Low chance of survival.^000000";
+ set .@n$,"Noirit";
+ break;
+ case 5:
+ setquest 12247;
+ setquest 12253;
+ mes "^660066Age 22. An apprentice of an airship pilot. He has gone missing while drinking in Mora town, where he went for a break.";
+ mes "Rumor has it that he fled after signing somewhere. Disappearance period : 4 months. Low chance of survival.^000000";
+ set .@n$,"Pajama Sin";
+ break;
+ case 6:
+ setquest 12248;
+ setquest 12253;
+ mes "^660066Age Unknown. A female with long hair, dressed in black. Went on an expedition to the forest of the Maze in search of eternal life. Disappearance period : 3 months. Low chance of survival.^000000";
+ set .@n$,"Mendel";
+ break;
+ case 7:
+ setquest 12249;
+ setquest 12253;
+ mes "^660066Age around 50. The current Mayor of the Mora village. He ran away to the Forest of Maze after being caught pocketing profits by cheating the residents. Survival uncertain.^000000";
+ set .@n$,"Milebit";
+ break;
+ case 8:
+ setquest 12250;
+ setquest 12253;
+ mes "^660066Age 29. A young man with an unknown background.";
+ mes "Fled to the forest of maze after scamming 1200 Mora coins from Mora residents while pretending to start a lot of business and adapting himself in Mora. Survival uncertain.^000000";
+ set .@n$,"Kunmoon";
+ break;
+ case 9:
+ setquest 12251;
+ setquest 12253;
+ mes "^660066Age 34. Flirted with several women in Mora. Fled from Mora villagers to the forest of maze. Survival uncertain.^000000";
+ set .@n$,"Chaihokin";
+ break;
+ case 10:
+ setquest 12252;
+ setquest 12253;
+ mes "^660066Age Unknown. Disappered with coins which were joint controlled by the villagers. Low chance of survival.^000000";
+ set .@n$,"Tual";
+ break;
+ }
+ next;
+ mes "^990099Information on missing person "+.@n$+"^000000 has been found. Check your Quest Window for further information.";
+ specialeffect2 EF_STEAL;
+ close;
+}
+
+mora,131,165,7 script Wandering Customer#pa082 520,{
+ mes "[Wandering Customer]";
+ mes "I don't know whether to believe this art dealer... He made me stand here like this for days.... Ah... I feel dizzy.";
+ close;
+}
+
+mora,125,174,2 script A Random Customer#pa0829 520,{
+ mes "[Naive Customer]";
+ mes "I don't know when carving my pendant will be completed. Since he is a reliable art dealer, I suppose he won't break my pendant.";
+ close;
+}
+
+mora,104,172,7 script Victim#pa0829 520,{
+ mes "[Victim]";
+ mes "You Bastard! I want my rugged outwear! That was passed on to me by my father *SOB*";
+ next;
+ mes "^990099 It seems that he has gotten a great deal of damage from the art dealer.^000000";
+ close;
+}
+
+// Mora Daily Quests - Souls :: md_cadaver_in
+//============================================================
+// callfunc "mora_remains",<quest ID>,<NPC name>,<Mora Coin amount>,<reward ID>,<max reward amount>;
+function script mora_remains {
+ if (MaxWeight - Weight < 1000) {
+ mes "You have to make space in your inventory.";
+ close;
+ }
+ if (checkquest(getarg(0)) > -1) {
+ specialeffect2 EF_BLIND;
+ specialeffect2 EF_BEGINSPELL;
+ progressbar "ffff00",4;
+ erasequest getarg(0);
+ mes "These must be ["+getarg(1)+"]'s Remains. So carefully gather his remains.";
+ specialeffect2 EF_STEAL;
+ getitem getarg(3), rand(1,getarg(4));
+ if (rand(10)) {
+ next;
+ mes "You picked up "+getarg(2)+" Mora Coins next to the remains.";
+ specialeffect2 EF_STEAL;
+ getitem 6380,getarg(2); //Mora_Coin
+ }
+ close;
+ }
+ mes "You see traces of recent digging.";
+ close;
+}
+1@mist,132,100,0 script Tazaar's Remains#33 844,{ callfunc "mora_remains",12243,"Tazaar",6,526,3; } //Royal_Jelly
+1@mist,102,242,0 script Naizar's Remains#33 844,{ callfunc "mora_remains",12244,"Naizar",5,942,17; } //Yoyo_Tail
+1@mist,145,245,0 script Meshir's Remains#33 844,{ callfunc "mora_remains",12245,"Meshir",5,943,4; } //Solid_Shell
+1@mist,196,276,0 script Noirit's Remains#33 844,{ callfunc "mora_remains",12246,"Noirit",6,549,3; } //Nice_Sweet_Potato
+1@mist,304,327,0 script Pajama God's Remains#33 844,{ callfunc "mora_remains",12247,"Pajama God",5,945,18; } //Raccoon_Leaf
+1@mist,334,287,0 script Mendel's Remains#33 844,{ callfunc "mora_remains",12248,"Mendel",7,946,31; } //Snail's_Shell
+1@mist,330,177,0 script Milebit's Remains#33 844,{ callfunc "mora_remains",12249,"Milebit",5,7008,17; } //Stiff_Horn
+1@mist,284,84,0 script Kunmun's Remains#33 844,{ callfunc "mora_remains",12250,"Kunmun",4,6380,20; } //Mora_Coin
+1@mist,170,54,0 script Tsaihokin's Remains#33 844,{ callfunc "mora_remains",12251,"Tsaihokin",2,929,5; } //Immortal_Heart
+1@mist,118,43,0 script Tuar's Remains#33 844,{ callfunc "mora_remains",12252,"Tuar",3,6380,20; } //Mora_Coin
+
+// Knights of the Neighborhood :: mora_knight
+//============================================================
+mora,118,166,6 script Knights Chief#mo 525,{
+ mes "[Order of the Knights Chief]";
+ mes "We are the legendary order of the Neighborhood Knights, founded just five minutes ago!";
+ next;
+ mes "[Order of the Knights Chief]";
+ mes "We have four chiefs but no foot soldiers...";
+ mes "It's so frustrating!";
+ next;
+ mes "[Other Leaders]";
+ mes "Those other guys are all soldiers, but I'm the Boss!";
+ mes "I, the Head, will tell you what to do!";
+ mes "The Leader is the highest in the rank!";
+ mes "You talked me into joining the order, and now look at this!";
+ close;
+}
+
+mora,116,165,5 script Knights Boss#mo 524,{
+ set .@playtime, checkquest(1119,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Order of the Knights Boss]";
+ mes "We've run out of Mora Coins.";
+ mes "Come back tomorrow!";
+ close;
+ } else if (.@playtime == 2)
+ erasequest 1119;
+ if (checkweight(6380,1) == 0) {
+ mes "[Order of the Knights Boss]";
+ mes "You have a lot of things with you!";
+ mes "Why not dump some of them in my pocket?";
+ close;
+ }
+ if (countitem(12561) >= 200) {
+ mes "[Order of the Knights Boss]";
+ mes "So you've brought back";
+ mes "200 ^FF0000Mysterious Seeds^000000.";
+ mes "Are you working under my command?";
+ mes "I'm so confused";
+ mes "because I've been sending random people on errands.";
+ next;
+ mes "[Order of the Knights Boss]";
+ mes "I'll reward you as I promised.";
+ mes "You made sure everyone knows";
+ mes "it's the Order of the Neighborhood Knights's work, right?";
+ setquest 1119;
+ delitem 12561,200; //Mysterious_Seed
+ getitem 6380,1; //Mora_Coin
+ close;
+ }
+ mes "[Order of the Knights Boss]";
+ mes "You have courage to";
+ mes "show up out of nowhere";
+ mes "and demand Mora Coins... how impressive!";
+ mes "You're more than qualified to be a soldier of the Order of the Neighborhood Knights.";
+ next;
+ mes "[Order of the Knights Boss]";
+ mes "Soldier, I need you to do something for me.";
+ mes "Go to the Hazy Forest and gather 200 ^FF0000Mysterious Seeds^000000!";
+ next;
+ switch(select("Yes, sir!:I challenge you to a duel!")) {
+ case 1:
+ mes "[Order of the Knights Boss]";
+ mes "Good attitude, "+strcharinfo(0)+" Soldier!";
+ mes "I'll reward you handsomely when you get back.";
+ next;
+ mes "[Other Bosses]";
+ mes "This is from me, the Chief!";
+ mes "Don't look down on the Head!";
+ mes "It's from me, the Leader!";
+ close;
+ case 2:
+ mes "[Order of the Knights Boss]";
+ mes "See the Chief if you want to have a duel!";
+ mes "I'm in charge of recruiting here.";
+ mes "Ahem...";
+ close;
+ }
+}
+
+mora,114,163,5 script Knights Head#mo 522,{
+ if (checkweight(6380,1) == 0) {
+ mes "[Order of the Knights Head]";
+ mes "You have a lot of things with you!";
+ mes "Why not dump some of them in my pocket?";
+ close;
+ }
+ if (ep14_1_rope < 11) {
+ mes "[Order of the Knights Head]";
+ mes "I hear that a Laphine called 'Lope'";
+ mes "went missing in the Hazy Forest.";
+ mes "I wish the Order of the Neighborhood Knights";
+ next;
+ mes "[Order of the Knights Head]";
+ mes "could help solve the case,";
+ mes "but we can't now";
+ mes "because we're not done cleaning the yard yet.";
+ mes "So, what I'm trying to say is";
+ next;
+ mes "[Order of the Knights Head]";
+ mes "why don't you go";
+ mes "and deal with the problem";
+ mes "on behalf of the Order of the Neighborhood Knights!";
+ next;
+ mes "[Order of the Knights Head]";
+ mes "I promise, as the Head of the Order,";
+ mes "that I'll give you more work";
+ mes "when you get back!";
+ next;
+ mes "[Other Heads]";
+ mes "I approve it, as the Chief.";
+ mes "You can thank me, the Boss.";
+ mes "You know the Leader is the boss here, right?";
+ close;
+ } else if (ep14_1_rope == 11) {
+ mes "[Order of the Knights Head]";
+ mes "So the missing Laphine";
+ mes "is dead?";
+ mes "I'm sorry to hear that.";
+ mes "I could have saved him.";
+ next;
+ mes "[Order of the Knights Head]";
+ mes "I hear that there are more ^0000FFLope's Clues^000000";
+ mes "in the Hazy Forest.";
+ mes "Go look for the rest of them";
+ mes "and bring back about 30 of them.";
+ mes "They will make great souvenirs.";
+ next;
+ switch(select("Am I doing all the work here or what?:Yes, sir!")) {
+ case 1:
+ mes "[Order of the Knights Head]";
+ mes "So you've noticed it?";
+ mes "Darn! I should have given you work earlier!";
+ close;
+ case 2:
+ mes "[Order of the Knights Head]";
+ mes "It was worthwhile to have trained you after all.";
+ mes "I'm proud of you,"+strcharinfo(0)+" Soldier!";
+ next;
+ mes "[Other Heads]";
+ mes "I think you'll make a great right-hand man, the Chief.";
+ mes "I feel rewarded, as the Boss.";
+ mes "As the Leader, I'm so pleased to see you all improve.";
+ set ep14_1_rope,12;
+ setquest 1118;
+ close;
+ }
+ } else if (ep14_1_rope == 12) {
+ if (countitem(6383) < 30) {
+ mes "[Order of the Knights Head]";
+ mes "You still haven't gathered";
+ mes "^0000FFLope's Clues^000000?";
+ mes "I feel somewhat good,";
+ mes "because that's about what I expected out of you.";
+ close;
+ }
+ mes "[Order of the Knights Head]";
+ mes "So you've brought back ^0000FFLope's Clues^000000.";
+ mes "Let's see ...";
+ mes "Assemble, assemble";
+ mes "Attach, attach";
+ next;
+ mes "[Lope's Letter]";
+ mes "...a traveler... attacked...";
+ mes "...under disguise... deadly poison...";
+ mes "...the Village... in danger...";
+ next;
+ mes "[Order of the Knights Head]";
+ mes "What on earth does this mean?";
+ mes "Well done, anyway.";
+ mes "Cheer up, you will be a great head of the Knights like myself, someday.";
+ next;
+ mes "[Other Heads]";
+ mes "I'm not so sure!";
+ mes "It's too much for us.";
+ mes "It's no use trying to do it.";
+ completequest 1118;
+ delitem 6383,30; //Clue_Of_Lope
+ set ep14_1_rope,13;
+ getitem 6380,2; //Mora_Coin
+ getexp 1000000,1000000;
+ close;
+ } else if (ep14_1_rope > 12) {
+ mes "[Order of the Knights Head]";
+ mes "We're in trouble.";
+ mes "We're sick of being knights.";
+ mes "We're thinking of forming";
+ mes "a circus troupe instead.";
+ mes "Are you interested in trying tightrope walking?";
+ next;
+ switch(select("Well, I could do a fire show.:This is so absurd.")) {
+ case 1:
+ mes "[Order of the Knights Head]";
+ mes "No, it's impossible.";
+ mes "I burned down a few houses";
+ mes "playing with fire.";
+ close;
+ case 2:
+ mes "[Order of the Knights Head]";
+ mes "That's the answer I expected.";
+ mes "I'm proud of myself.";
+ close;
+ }
+ close;
+ }
+ end;
+}
+
+mora,112,161,5 script Knights Leader#mo 523,{
+ mes "[Order of the Knights Leader]";
+ mes "I'm the Leader of the Order -";
+ mes "you can tell me.";
+ mes "What brings you here? Do you have some work for us?";
+ next;
+ mes "[Other Leaders]";
+ mes "Huh! I said the Boss is the boss!";
+ mes "No, the Chief is the best!";
+ mes "How rude you all are! I'm the Head here!";
+ emotion e_swt2,1;
+ close;
+}
diff --git a/npc/re/quests/quests_veins.txt b/npc/re/quests/quests_veins.txt
index b4be40067..3478fe16b 100644
--- a/npc/re/quests/quests_veins.txt
+++ b/npc/re/quests/quests_veins.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Quest NPCs located in Veins
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Quests related to Veins.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/skills/sage_skills.txt b/npc/re/quests/skills/sage_skills.txt
new file mode 100644
index 000000000..64ebe20e3
--- /dev/null
+++ b/npc/re/quests/skills/sage_skills.txt
@@ -0,0 +1,53 @@
+//===== Hercules Script ======================================
+//= Sage Quest Skill's related NPCs
+//===== By: ==================================================
+//= Zopokx
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Morocc/Payon Solution duplicate NPCs for Sage Quest Skill
+//===== Additional Comments: =================================
+//= 1.0 First version
+//============================================================
+
+moc_ruins,91,150,0 script Ponka-Hontas 93,{
+ mes "[Mage Guildsman]";
+ mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube.";
+ next;
+ if (select("Alright, Deal.:Nah, forget it.") == 1) {
+ mes "[Mage Guildsman]";
+ if (zeny < 50) {
+ mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee.";
+ close;
+ }
+ if (countitem(1092) == 0) {
+ mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me.";
+ close;
+ }
+ delitem 1092,1; //Empty_Cylinder
+ set zeny,zeny-50;
+ getitem 1088,1; //Morocc_Potion
+ }
+ close;
+}
+
+pay_arche,122,100,0 script Dollshoi 88,{
+ mes "[Mage Guildsman]";
+ mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube.";
+ next;
+ if (select("Alright, Deal.:Nah, forget it.") == 1) {
+ mes "[Mage Guildsman]";
+ if (Zeny < 50) {
+ mes "Hey! You don't have enough money to cover my 50 Zeny charge.";
+ close;
+ }
+ if (countitem(1092) == 0) {
+ mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube.";
+ close;
+ }
+ delitem 1092,1; //Empty_Cylinder
+ set zeny,zeny-50;
+ getitem 1089,1; //Payon_Potion
+ }
+ close;
+}
diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf
index 47b2cb7e0..c1e40dae6 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -13,6 +13,7 @@ npc: npc/re/cities/dicastes.txt
npc: npc/re/cities/izlude.txt
npc: npc/re/cities/jawaii.txt
npc: npc/re/cities/malangdo.txt
+npc: npc/re/cities/malaya.txt
npc: npc/re/cities/mora.txt
// --------------------------- Guides ---------------------------
@@ -33,6 +34,7 @@ npc: npc/re/guides/guides_juno.txt
npc: npc/re/guides/guides_lighthalzen.txt
npc: npc/re/guides/guides_louyang.txt
npc: npc/re/guides/guides_lutie.txt
+npc: npc/re/guides/guides_mora.txt
npc: npc/re/guides/guides_morroc.txt
npc: npc/re/guides/guides_moscovia.txt
npc: npc/re/guides/guides_niflheim.txt
@@ -50,10 +52,12 @@ npc: npc/re/merchants/3rd_trader.txt
npc: npc/re/merchants/diamond.txt
npc: npc/re/merchants/flute.txt
npc: npc/re/merchants/inn.txt
+npc: npc/re/merchants/quivers.txt
npc: npc/re/merchants/refine.txt
npc: npc/re/merchants/renters.txt
npc: npc/re/merchants/shops.txt
npc: npc/re/merchants/enchan_mal.txt
+npc: npc/re/merchants/enchan_mora.txt
npc: npc/re/merchants/coin_exchange.txt
// --------------------------- Others ---------------------------
@@ -84,5 +88,6 @@ npc: npc/re/quests/quests_izlude.txt
npc: npc/re/quests/quests_lighthalzen.txt
npc: npc/re/quests/quests_malangdo.txt
npc: npc/re/quests/quests_veins.txt
+npc: npc/re/quests/quests_mora.txt
npc: npc/re/quests/monstertamers.txt
npc: npc/re/quests/quests_13_1.txt
diff --git a/npc/re/scripts_main.conf b/npc/re/scripts_main.conf
index d9dfcf267..fd393e5b7 100644
--- a/npc/re/scripts_main.conf
+++ b/npc/re/scripts_main.conf
@@ -1,15 +1,15 @@
// --------------------------------------------------------------
-// - rAthena Renewal Primary Scripts File -
+// - Hercules Renewal Primary Scripts File -
// --------------------------------------------------------------
-// The idea of this new system is to make scripts more organized
+// The idea of this new system is to make scripts more organized
// since the old system was rather messy with all the NPCs in one
// file. Now scripts are organized in to files arraged by type.
-// Custom scripts are now in scripts_custom.conf, all other
+// Custom scripts are now in scripts_custom.conf, all other
// scripts are deemed as 'official'. You should place your NPCs
// in to scripts_custom.conf to follow the trend.
//
// Thanks,
-// Ancyker and the rest of the rAthena Team
+// Ancyker and the rest of the Hercules Team
//
// Note: "Comments" are all text on the right side of a double slash "//"
// Whatever text is commented will not be parsed by the servers, and serves
diff --git a/npc/re/scripts_monsters.conf b/npc/re/scripts_monsters.conf
index 25811f8b3..46ab419d8 100644
--- a/npc/re/scripts_monsters.conf
+++ b/npc/re/scripts_monsters.conf
@@ -18,7 +18,7 @@ npc: npc/re/mobs/dungeons/ein_dun.txt
npc: npc/re/mobs/dungeons/gef_dun.txt
npc: npc/re/mobs/dungeons/gefenia.txt
npc: npc/re/mobs/dungeons/glastheim.txt
-npc: npc/re/mobs/dungeons/gld_dun.txt
+npc: npc/re/mobs/dungeons/gld_re.txt
npc: npc/re/mobs/dungeons/gld_dunSE.txt
npc: npc/re/mobs/dungeons/gon_dun.txt
npc: npc/re/mobs/dungeons/ice_dun.txt
diff --git a/npc/re/warps/cities/dewata.txt b/npc/re/warps/cities/dewata.txt
index 9ca29688c..4e7476ec8 100644
--- a/npc/re/warps/cities/dewata.txt
+++ b/npc/re/warps/cities/dewata.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Dewata Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for Dewata
//===== Additional Comments: =================================
diff --git a/npc/re/warps/cities/dicastes.txt b/npc/re/warps/cities/dicastes.txt
index d80e178a9..d2c84ad0a 100644
--- a/npc/re/warps/cities/dicastes.txt
+++ b/npc/re/warps/cities/dicastes.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= El Dicastes Warp Script
//===== By: ==================================================
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for El Dicastes
//===== Additional Comments: =================================
diff --git a/npc/re/warps/cities/eclage.txt b/npc/re/warps/cities/eclage.txt
index c67bf202f..0400489f5 100644
--- a/npc/re/warps/cities/eclage.txt
+++ b/npc/re/warps/cities/eclage.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eclage Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for Eclage
//===== Additional Comments: =================================
diff --git a/npc/re/warps/cities/malaya.txt b/npc/re/warps/cities/malaya.txt
index 3a8b1002e..a792c4690 100644
--- a/npc/re/warps/cities/malaya.txt
+++ b/npc/re/warps/cities/malaya.txt
@@ -1,38 +1,94 @@
-//===== rAthena Script =======================================
-//= Malaya Port Warp Script
-//===== By: ==================================================
+//===== Hercules Script ======================================
+//= Mayala Port Town Warps
+//===== By: ==================================================
//= Chilly
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
-//= Warp Points for Malaya Port
-//===== Additional Comments: =================================
-//= 1.0 First Version.
-//============================================================
+//===== Current Version: =====================================
+//= 1.0a
+//===== Compatible With: =====================================
+//= Hercules
+//===== Description: =========================================
+//= Warps for Mayala Port Town.
+//===== Additional Comments: =================================
+//= 1.0 First Version [Chilly].
+//= 1.0a Updated the file with new / missing warps [Masao].
+//============================================================
+
+malaya,178,211,0 script malaya_inn 45,1,1,{
+ end;
+
+OnTouch:
+ if (malaya_hi < 10) {
+ mes "Door is closed. It seems keeping its eyes on you.";
+ close;
+ }
+ warp "ma_in01",24,80;
+ end;
+}
+
+malaya,112,212,0 script malaya_ws 45,1,1,{
+ end;
+
+OnTouch:
+ if (malaya_hi < 20) {
+ mes "Door is closed. It seems keeping its eyes on you.";
+ close;
+ }
+ warp "ma_in01",83,16;
+ end;
+}
+
+malaya,299,167,0 script malaya_ts 45,1,1,{
+ end;
+
+OnTouch:
+ if (malaya_hi < 20) {
+ mes "Door is closed. It seems keeping its eyes on you.";
+ close;
+ }
+ warp "ma_in01",12,24;
+ end;
+}
+
+malaya,261,240,0 script malaya_shop 45,1,1,{
+ end;
+
+OnTouch:
+ if (malaya_hi < 20) {
+ mes "Door is closed. It seems keeping its eyes on you.";
+ close;
+ }
+ warp "ma_in01",126,20;
+ end;
+}
+
+malaya,300,211,0 script malaya_house01 45,1,1,{
+ end;
+
+OnTouch:
+ if (malaya_hi < 10) {
+ mes "Door is closed. It seems keeping its eyes on you.";
+ close;
+ }
+ warp "ma_in01",36,152;
+ end;
+}
// Town Warps
-malaya,309,70,0 warp malaya_field0001 1,1,ma_in01,108,92
-ma_in01,105,92,0 warp malaya_field0002 1,1,malaya,310,67
-malaya,300,211,0 warp malaya_field0003 1,1,ma_in01,36,152
-ma_in01,33,152,0 warp malaya_field0004 1,1,malaya,297,211
-malaya,178,211,0 warp malaya_field0005 1,1,ma_in01,24,80
-ma_in01,24,77,0 warp malaya_field0006 1,1,malaya,178,208
-malaya,112,212,0 warp malaya_field0007 1,1,ma_in01,83,16
-ma_in01,86,16,0 warp malaya_field0008 1,1,malaya,115,212
-malaya,299,167,0 warp malaya_field0009 1,1,ma_in01,12,24
-ma_in01,9,24,0 warp malaya_field0010 1,1,malaya,296,167
-malaya,261,240,0 warp malaya_field0011 1,1,ma_in01,126,20
-ma_in01,126,17,0 warp malaya_field0012 1,1,malaya,261,237
-malaya,370,277,0 warp malaya_field0013 1,1,ma_fild01,40,272
-ma_fild01,37,272,0 warp malaya_field0014 1,1,malaya,367,277
-ma_fild01,266,359,0 warp malaya_field0015 1,1,ma_fild02,248,36
-ma_fild02,248,33,0 warp malaya_field0016 1,1,ma_fild01,266,356
-ma_fild01,251,190,0 warp malaya_field0017 1,1,ma_in01,108,160
-ma_in01,105,160,0 warp malaya_field0018 1,1,ma_fild01,249,192
-ma_fild01,288,52,0 warp malaya_field0019 1,1,ma_scene01,142,78
-ma_scene01,140,80,0 warp malaya_field0020 1,1,ma_fild01,288,55
+ma_in01,86,16,0 warp mal_in_ws 1,1,malaya,115,212
+ma_in01,24,77,0 warp mal_in_inn 1,1,malaya,178,208
+malaya,370,277,0 warp malaya_mal_fild01 1,1,ma_fild01,40,272
+ma_fild01,37,272,0 warp mal_fild01_malaya 1,1,malaya,367,277
+ma_in01,33,152,0 warp mal_in_house01 1,1,malaya,52,75
+malaya,309,70,0 warp malaya_ship_mal_in_ship 1,1,ma_in01,108,92
+ma_in01,105,92,0 warp mal_in_ship_malaya_ship 1,1,malaya,310,67
+ma_fild01,266,359,0 warp mafild01_to02 1,1,ma_fild02,248,36
+ma_fild02,248,33,0 warp mafild02_to01 1,1,ma_fild01,266,356
+ma_fild01,288,52,0 warp mafild01_tobknw 1,1,ma_scene01,142,78
+ma_scene01,140,80,0 warp bknw_tofild01 1,1,ma_fild01,288,55
+ma_in01,9,24,0 warp mal_in_ts 1,1,malaya,296,167
+ma_in01,126,17,0 warp mal_in_shop_malaya_shop 1,1,malaya,261,237
+ma_fild01,251,190,0 warp mf_minga_mf_in_minga 1,1,ma_in01,108,160
+ma_in01,105,160,0 warp mf_in_minga_mf_minga 1,1,ma_fild01,248,190
// Car Warps
ma_zif01,30,22,0 warp malaya_car0001 1,1,malaya,241,238
@@ -43,4 +99,4 @@ ma_zif05,30,22,0 warp malaya_car0005 1,1,malaya,341,150
ma_zif06,30,22,0 warp malaya_car0006 1,1,malaya,294,293
ma_zif07,30,22,0 warp malaya_car0007 1,1,malaya,239,221
ma_zif08,30,22,0 warp malaya_car0008 1,1,malaya,59,246
-ma_zif09,30,22,0 warp malaya_car0009 1,1,malaya,254,68
+ma_zif09,30,22,0 warp malaya_car0009 1,1,malaya,254,68 \ No newline at end of file
diff --git a/npc/re/warps/cities/rachel.txt b/npc/re/warps/cities/rachel.txt
index 8610fa3bf..eb2b0722f 100644
--- a/npc/re/warps/cities/rachel.txt
+++ b/npc/re/warps/cities/rachel.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Rachel Warp Script
//===== By: ==================================================
//= erKURITA & RockmanEXE
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Rachel City, shops & other locations
//===== Additional Comments: =================================
diff --git a/npc/re/warps/cities/yggdrasil.txt b/npc/re/warps/cities/yggdrasil.txt
index 92f084372..3076d22b1 100644
--- a/npc/re/warps/cities/yggdrasil.txt
+++ b/npc/re/warps/cities/yggdrasil.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Yggdrasil Tree Warp Script
//===== By: ==================================================
//= PKGINGO (1.0)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any Athena Version; RO Episode 6+
+//= Hercules; RO Episode 6+
//===== Description: =========================================
//= Warp Points for Yggdrasil Tree
//===== Additional Comments: =================================
diff --git a/npc/re/warps/dungeons/dic_dun.txt b/npc/re/warps/dungeons/dic_dun.txt
index 2af6d4445..9016c3e0c 100644
--- a/npc/re/warps/dungeons/dic_dun.txt
+++ b/npc/re/warps/dungeons/dic_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Scaraba Hole Warp Script
//===== By: ==================================================
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for Scaraba Hole
//===== Additional Comments: =================================
diff --git a/npc/re/warps/dungeons/ecl_dun.txt b/npc/re/warps/dungeons/ecl_dun.txt
index 6d6bb321a..5209c4f25 100644
--- a/npc/re/warps/dungeons/ecl_dun.txt
+++ b/npc/re/warps/dungeons/ecl_dun.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eclage Dungeon Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for Eclage Dungeon
//===== Additional Comments: =================================
diff --git a/npc/re/warps/dungeons/iz_dun.txt b/npc/re/warps/dungeons/iz_dun.txt
index 3ef9ab86e..bbe68f8b8 100644
--- a/npc/re/warps/dungeons/iz_dun.txt
+++ b/npc/re/warps/dungeons/iz_dun.txt
@@ -1,4 +1,4 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Izlude Dungeon Renewal Warp Script
//===== By: ==================================================
//= Athena (1.0)
@@ -6,7 +6,7 @@
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Bibilyn Island & Undersea Cave
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/bif_fild.txt b/npc/re/warps/fields/bif_fild.txt
index 3a32c3e75..ec9de1cf9 100644
--- a/npc/re/warps/fields/bif_fild.txt
+++ b/npc/re/warps/fields/bif_fild.txt
@@ -1,20 +1,44 @@
-//===== Hercules Script ======================================
+//===== rAthena Script =======================================
//= Bifrost Field Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
-//= 1.0
+//= 1.2
+//===== Compatible With: =====================================
+//= rAthena SVN
//===== Description: =========================================
//= Warp Points for Bifrost Field
//===== Additional Comments: =================================
//= 1.0 First Version.
+//= 1.1 Added official warp scripts. [Euphy]
+//= 1.2 Updated to match the official script. [Euphy]
//============================================================
splendide,275,390,0 warp bifrost_field0001 1,1,bif_fild01,316,50
-bif_fild01,318,48,0 warp bifrost_field0002 1,1,splendide,275,387
-bif_fild02,285,333,0 warp bifrost_field0003 1,1,mora,179,74
-mora,182,74,0 warp bifrost_field0004 1,1,bif_fild02,285,330
-bif_fild02,95,310,0 warp bifrost_field0005 1,1,mora,22,157
-mora,20,159,0 warp bifrost_field0006 1,1,bif_fild02,98,309
-bif_fild02,174,162,0 warp bifrost_field0007 1,1,mora,58,27
-mora,56,25,0 warp bifrost_field0008 1,1,bif_fild02,177,162
+bif_fild01,318,48,0 warp bifrost_field0002 1,1,splendide,271,382
+mora,182,74,0 warp bifrost_field0003 1,1,bif_fild02,286,327
+mora,20,159,0 warp bifrost_field0004 1,1,bif_fild02,99,308
+mora,56,25,0 warp bifrost_field0005 1,1,bif_fild02,176,162
+
+- script bifrost_field0000 -1,{
+ mes "At the end of the small path through the bright flower garden";
+ mes "is an entrance to something that looks like a small hill.";
+ next;
+ if(select("Knock-knock:Is this a wormhole?") == 1) {
+ mes "When you knock on the door-like thing just for fun,";
+ mes "the door clicks open and you feel some mysterious force pulling you inside.";
+ close2;
+ switch(atoi(charat(strnpcinfo(2),9))) {
+ case 1: warp "mora",179,74; end;
+ case 2: warp "mora",22,157; end;
+ case 3: warp "mora",58,27; end;
+ }
+ }
+ close;
+OnTouch:
+ specialeffect EF_LEVEL99_4;
+ end;
+}
+bif_fild02,285,332,0 duplicate(bifrost_field0000) Small Hole#ep14_mora1 844
+bif_fild02,95,310,0 duplicate(bifrost_field0000) Small Hole#ep14_mora2 844
+bif_fild02,174,162,0 duplicate(bifrost_field0000) Small Hole#ep14_mora3 844
diff --git a/npc/re/warps/fields/com_fild.txt b/npc/re/warps/fields/com_fild.txt
index 765874af1..c90257eb3 100644
--- a/npc/re/warps/fields/com_fild.txt
+++ b/npc/re/warps/fields/com_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Comodo Field Warp Script
//===== By: ==================================================
//= Nana
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= [Aegis Conversion]
//= Warp Points for Comodo Fields
diff --git a/npc/re/warps/fields/dic_fild.txt b/npc/re/warps/fields/dic_fild.txt
index d49b5f5c7..41ac07aaf 100644
--- a/npc/re/warps/fields/dic_fild.txt
+++ b/npc/re/warps/fields/dic_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= El Dicastes Field Warp Script
//===== By: ==================================================
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for El Dicastes Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/geffen_fild.txt b/npc/re/warps/fields/geffen_fild.txt
index 08b0e46e2..289ad3a6c 100644
--- a/npc/re/warps/fields/geffen_fild.txt
+++ b/npc/re/warps/fields/geffen_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Geffen Warp Script
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Geffen Field's
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/hugel_fild.txt b/npc/re/warps/fields/hugel_fild.txt
index 8b5de97b2..309ba8cc1 100644
--- a/npc/re/warps/fields/hugel_fild.txt
+++ b/npc/re/warps/fields/hugel_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Hugel Field Warp Script
//===== By: ==================================================
//= Sara-chan (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version; RO Episode 10+
+//= Hercules; RO Episode 10+
//===== Description: =========================================
//= Warp Points for Hugel Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/morroc_fild.txt b/npc/re/warps/fields/morroc_fild.txt
index 6cd6c64b5..b256e9413 100644
--- a/npc/re/warps/fields/morroc_fild.txt
+++ b/npc/re/warps/fields/morroc_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morroc Field Warp Script
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.4b
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Morroc Fields
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/payon_fild.txt b/npc/re/warps/fields/payon_fild.txt
index d991f2280..5bec271e8 100644
--- a/npc/re/warps/fields/payon_fild.txt
+++ b/npc/re/warps/fields/payon_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Payon Field Warps
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any rAthena Mod
+//= Hercules
//===== Description: =========================================
//= Payon Field Warps
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/prontera_fild.txt b/npc/re/warps/fields/prontera_fild.txt
index 16d3c8238..2267c298d 100644
--- a/npc/re/warps/fields/prontera_fild.txt
+++ b/npc/re/warps/fields/prontera_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Prontera Field Warp Script
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Prontera Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/rachel_fild.txt b/npc/re/warps/fields/rachel_fild.txt
index 475557200..87d4f16d7 100644
--- a/npc/re/warps/fields/rachel_fild.txt
+++ b/npc/re/warps/fields/rachel_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Rachel Field Warp Script
//===== By: ==================================================
//= Playtester
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Rachel Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/veins_fild.txt b/npc/re/warps/fields/veins_fild.txt
index ac05163ff..c1a5cce5a 100644
--- a/npc/re/warps/fields/veins_fild.txt
+++ b/npc/re/warps/fields/veins_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Veins Field Warp Script
//===== By: ==================================================
//= $ephiroth
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
-//= Any Athena Version
+//= Hercules
//===== Description: =========================================
//= Warp Points for Veins Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/yuno_fild.txt b/npc/re/warps/fields/yuno_fild.txt
index 32d1924f5..b570fca9e 100644
--- a/npc/re/warps/fields/yuno_fild.txt
+++ b/npc/re/warps/fields/yuno_fild.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Yuno Field Warp Script
//===== By: ==================================================
//= Nana (1.0), Sara
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
-//= Any Athena Version; RO Episode 5+
+//= Hercules; RO Episode 5+
//===== Description: =========================================
//= Warp Points for Yuno Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/guildcastles.txt b/npc/re/warps/guildcastles.txt
new file mode 100644
index 000000000..d8eab7cea
--- /dev/null
+++ b/npc/re/warps/guildcastles.txt
@@ -0,0 +1,43 @@
+//===== rAthena Script =======================================
+//= Guild Castles Warp Script
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Warp Points for Renewal Guild Castles
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+// Hall of Abyss
+//============================================================
+gld2_prt,10,22,0 warp dun2prt_to_gld 1,1,prt_gld,252,247
+gld2_prt,14,252,0 warp dun2prt_to_gld#2 1,1,prt_gld,63,66
+gld2_prt,266,236,0 warp dun2prt_to_gld#3 1,1,prt_gld,252,247
+gld2_prt,226,21,0 warp dun2prt_to_gld#4 1,1,prt_gld,63,66
+gld2_prt,103,11,0 warp dun2prt_to_gld#5 1,1,prt_gld,252,247
+gld_dun03_2,238,274,0 warp gdun03a_prtg#abyss 1,1,prt_gld,252,247
+gld_dun03_2,42,30,0 warp gdun03b_prtg#abyss 1,1,prt_gld,63,66
+gld2_pay,33,105,0 warp dun2pay_to_gld 1,1,pay_gld,53,141
+gld2_pay,119,21,0 warp dun2pay_to_gld#2 1,1,pay_gld,53,141
+gld2_pay,205,105,0 warp dun2pay_to_gld#3 1,1,pay_gld,53,141
+gld2_pay,175,215,0 warp dun2pay_to_gld#4 1,1,pay_gld,53,141
+gld2_pay,61,215,0 warp dun2pay_to_gld#5 1,1,pay_gld,53,141
+gld_dun01_2,119,14,0 warp gdun01_payg#abyss 1,1,pay_gld,53,141
+gld2_gef,28,205,0 warp dun2gef_to_gld 1,1,gef_fild13,42,331
+gld2_gef,221,145,0 warp dun2gef_to_gld#2 1,1,gef_fild13,373,62
+gld2_gef,175,198,0 warp dun2gef_to_gld#3 1,1,gef_fild13,42,331
+gld2_gef,25,68,0 warp dun2gef_to_gld#4 1,1,gef_fild13,373,62
+gld2_gef,111,35,0 warp dun2gef_to_gld#5 1,1,gef_fild13,42,331
+gld_dun04_2,37,230,0 warp gdun04_g13a#abyss 1,1,gef_fild13,42,331
+gld_dun04_2,110,20,0 warp gdun04_g13b#abyss 1,1,gef_fild13,373,62
+gld2_ald,172,46,0 warp dun2gef_to_gld#6 1,1,alde_gld,242,121
+gld2_ald,77,58,0 warp dun2gef_to_gld#7 1,1,alde_gld,229,185
+gld2_ald,46,122,0 warp dun2gef_to_gld#8 1,1,alde_gld,242,121
+gld2_ald,104,250,0 warp dun2gef_to_gld#9 1,1,alde_gld,229,185
+gld2_ald,247,156,0 warp dun2gef_to_gld#10 1,1,alde_gld,242,121
+gld_dun02_2,20,160,0 warp gdun02a_aldega#abyss 1,1,alde_gld,229,185
+gld_dun02_2,180,112,0 warp gdun02b_aldegb#abyss 1,1,alde_gld,242,121
diff --git a/npc/re/warps/other/jobquests.txt b/npc/re/warps/other/jobquests.txt
index 5dec2077c..5b62a74a4 100644
--- a/npc/re/warps/other/jobquests.txt
+++ b/npc/re/warps/other/jobquests.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Job Quest Renewal Warp Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
//= 2.2
//===== Compatible With: =====================================
-//= Any Athena Version; RO Version Ep4+
+//= Hercules; RO Version Ep4+
//===== Description: =========================================
//= Warp Points for Job Quest Maps
//===== Additional Comments: =================================
diff --git a/npc/re/warps/other/paradise.txt b/npc/re/warps/other/paradise.txt
index fec766ec4..4d4b241a9 100644
--- a/npc/re/warps/other/paradise.txt
+++ b/npc/re/warps/other/paradise.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Paradise Group Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
-//= rAthena SVN;
+//= Hercules
//===== Description: =========================================
//= Warp Points for Paradise Group
//===== Additional Comments: =================================
diff --git a/npc/re/warps/other/s_workshop.txt b/npc/re/warps/other/s_workshop.txt
index 884d77202..bc04509b3 100644
--- a/npc/re/warps/other/s_workshop.txt
+++ b/npc/re/warps/other/s_workshop.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Shadow Workshop Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
-//= rAthena SVN
+//= Hercules
//===== Description: =========================================
//= Warp Points for Shadow Workshop
//===== Additional Comments: =================================
diff --git a/npc/re/warps/other/sign.txt b/npc/re/warps/other/sign.txt
index fb24620f8..84895c26b 100644
--- a/npc/re/warps/other/sign.txt
+++ b/npc/re/warps/other/sign.txt
@@ -1,11 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Sign Quest Warps
//===== By: ==================================================
//= MasterOfMuppets
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
-//= Any Athena Version; RO Episode 8+
+//= Hercules; RO Episode 8+
//===== Description: =========================================
//= Warp Points related to the Sign Quest will be put here
//===== Additional Comments: =================================