summaryrefslogtreecommitdiff
path: root/npc/re
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re')
-rw-r--r--npc/re/airports/izlude.txt20
-rw-r--r--npc/re/cities/alberta.txt1
-rw-r--r--npc/re/cities/brasilis.txt18
-rw-r--r--npc/re/cities/dewata.txt118
-rw-r--r--npc/re/cities/dicastes.txt85
-rw-r--r--npc/re/cities/eclage.txt16
-rw-r--r--npc/re/cities/izlude.txt161
-rw-r--r--npc/re/cities/jawaii.txt16
-rw-r--r--npc/re/cities/malangdo.txt139
-rw-r--r--npc/re/cities/malaya.txt1526
-rw-r--r--npc/re/cities/mora.txt12
-rw-r--r--npc/re/cities/yuno.txt20
-rw-r--r--npc/re/guides/guides_alberta.txt129
-rw-r--r--npc/re/guides/guides_aldebaran.txt79
-rw-r--r--npc/re/guides/guides_amatsu.txt24
-rw-r--r--npc/re/guides/guides_ayothaya.txt127
-rw-r--r--npc/re/guides/guides_brasilis.txt70
-rw-r--r--npc/re/guides/guides_comodo.txt43
-rw-r--r--npc/re/guides/guides_dewata.txt117
-rw-r--r--npc/re/guides/guides_dicastes.txt48
-rw-r--r--npc/re/guides/guides_eclage.txt14
-rw-r--r--npc/re/guides/guides_einbroch.txt58
-rw-r--r--npc/re/guides/guides_geffen.txt43
-rw-r--r--npc/re/guides/guides_gonryun.txt32
-rw-r--r--npc/re/guides/guides_hugel.txt66
-rw-r--r--npc/re/guides/guides_izlude.txt152
-rw-r--r--npc/re/guides/guides_juno.txt55
-rw-r--r--npc/re/guides/guides_lighthalzen.txt49
-rw-r--r--npc/re/guides/guides_louyang.txt55
-rw-r--r--npc/re/guides/guides_lutie.txt28
-rw-r--r--npc/re/guides/guides_malaya.txt81
-rw-r--r--npc/re/guides/guides_mora.txt53
-rw-r--r--npc/re/guides/guides_morroc.txt76
-rw-r--r--npc/re/guides/guides_moscovia.txt76
-rw-r--r--npc/re/guides/guides_niflheim.txt30
-rw-r--r--npc/re/guides/guides_payon.txt70
-rw-r--r--npc/re/guides/guides_prontera.txt189
-rw-r--r--npc/re/guides/guides_rachel.txt34
-rw-r--r--npc/re/guides/guides_umbala.txt33
-rw-r--r--npc/re/guides/guides_veins.txt34
-rw-r--r--npc/re/guides/navigation.txt39
-rw-r--r--npc/re/guild/invest_main.txt24
-rw-r--r--npc/re/guild/invest_npc.txt5
-rw-r--r--npc/re/instances/BakonawaLake.txt14
-rw-r--r--npc/re/instances/BangungotHospital.txt12
-rw-r--r--npc/re/instances/BuwayaCave.txt14
-rw-r--r--npc/re/instances/HazyForest.txt8
-rw-r--r--npc/re/instances/MalangdoCulvert.txt12
-rw-r--r--npc/re/instances/OctopusCave.txt12
-rw-r--r--npc/re/instances/OldGlastHeim.txt12
-rw-r--r--npc/re/jobs/1-1/acolyte.txt10
-rw-r--r--npc/re/jobs/1-1/archer.txt10
-rw-r--r--npc/re/jobs/1-1/mage.txt12
-rw-r--r--npc/re/jobs/1-1/merchant.txt12
-rw-r--r--npc/re/jobs/1-1/swordman.txt12
-rw-r--r--npc/re/jobs/1-1/thief.txt12
-rw-r--r--npc/re/jobs/3-1/archbishop.txt387
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt58
-rw-r--r--npc/re/jobs/3-1/mechanic.txt14
-rw-r--r--npc/re/jobs/3-1/ranger.txt16
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt17
-rw-r--r--npc/re/jobs/3-1/warlock.txt27
-rw-r--r--npc/re/jobs/3-2/genetic.txt4
-rw-r--r--npc/re/jobs/3-2/minstrel.txt12
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt16
-rw-r--r--npc/re/jobs/3-2/shadow_chaser.txt12
-rw-r--r--npc/re/jobs/3-2/sorcerer.txt12
-rw-r--r--npc/re/jobs/3-2/sura.txt16
-rw-r--r--npc/re/jobs/3-2/wanderer.txt14
-rw-r--r--npc/re/jobs/novice/novice.txt3806
-rw-r--r--npc/re/jobs/novice/supernovice_ex.txt12
-rw-r--r--npc/re/jobs/repair.txt313
-rw-r--r--npc/re/kafras/kafras.txt54
-rw-r--r--npc/re/merchants/3rd_trader.txt266
-rw-r--r--npc/re/merchants/advanced_refiner.txt196
-rw-r--r--npc/re/merchants/alchemist.txt117
-rw-r--r--npc/re/merchants/ammo_boxes.txt19
-rw-r--r--npc/re/merchants/ammo_dealer.txt19
-rw-r--r--npc/re/merchants/blessed_refiner.txt4
-rw-r--r--npc/re/merchants/card_separation.txt231
-rw-r--r--npc/re/merchants/catalog.txt6
-rw-r--r--npc/re/merchants/coin_exchange.txt2
-rw-r--r--npc/re/merchants/diamond.txt16
-rw-r--r--npc/re/merchants/enchan_mal.txt12
-rw-r--r--npc/re/merchants/enchan_mora.txt25
-rw-r--r--npc/re/merchants/enchan_upg.txt264
-rw-r--r--npc/re/merchants/flute.txt19
-rw-r--r--npc/re/merchants/hd_refiner.txt4
-rw-r--r--npc/re/merchants/inn.txt4
-rw-r--r--npc/re/merchants/quivers.txt15
-rw-r--r--npc/re/merchants/refine.txt202
-rw-r--r--npc/re/merchants/renters.txt58
-rw-r--r--npc/re/merchants/shops.txt39
-rw-r--r--npc/re/merchants/ticket_refiner.txt4
-rw-r--r--npc/re/mobs/citycleaners.txt29
-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/ecl_tdun.txt37
-rw-r--r--npc/re/mobs/dungeons/ein_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/gef_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/glastheim.txt2
-rw-r--r--npc/re/mobs/dungeons/gld_dunSE.txt2
-rw-r--r--npc/re/mobs/dungeons/gld_re.txt2
-rw-r--r--npc/re/mobs/dungeons/gon_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/ice_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/in_sphinx.txt2
-rw-r--r--npc/re/mobs/dungeons/iz_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/kh_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/lhz_dun.txt14
-rw-r--r--npc/re/mobs/dungeons/lou_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/ma_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/mag_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/mal_dun.txt6
-rw-r--r--npc/re/mobs/dungeons/mjo_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/moc_pryd.txt22
-rw-r--r--npc/re/mobs/dungeons/mosk_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/nyd_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/odin.txt2
-rw-r--r--npc/re/mobs/dungeons/orcsdun.txt2
-rw-r--r--npc/re/mobs/dungeons/pay_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/prt_maze.txt2
-rw-r--r--npc/re/mobs/dungeons/prt_sew.txt2
-rw-r--r--npc/re/mobs/dungeons/ra_san.txt2
-rw-r--r--npc/re/mobs/dungeons/tha_t.txt2
-rw-r--r--npc/re/mobs/dungeons/thor_v.txt2
-rw-r--r--npc/re/mobs/dungeons/treasure.txt2
-rw-r--r--npc/re/mobs/dungeons/tur_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/xmas_dun.txt2
-rw-r--r--npc/re/mobs/dungeons/yggdrasil.txt2
-rw-r--r--npc/re/mobs/fields/bifrost.txt79
-rw-r--r--npc/re/mobs/fields/comodo.txt4
-rw-r--r--npc/re/mobs/fields/dewata.txt2
-rw-r--r--npc/re/mobs/fields/eclage.txt17
-rw-r--r--npc/re/mobs/fields/einbroch.txt8
-rw-r--r--npc/re/mobs/fields/geffen.txt2
-rw-r--r--npc/re/mobs/fields/hugel.txt4
-rw-r--r--npc/re/mobs/fields/jawaii.txt27
-rw-r--r--npc/re/mobs/fields/lighthalzen.txt2
-rw-r--r--npc/re/mobs/fields/payon.txt4
-rw-r--r--npc/re/mobs/fields/prontera.txt16
-rw-r--r--npc/re/mobs/fields/splendide.txt2
-rw-r--r--npc/re/mobs/fields/umbala.txt11
-rw-r--r--npc/re/mobs/fields/yuno.txt6
-rw-r--r--npc/re/mobs/towns.txt34
-rw-r--r--npc/re/other/bulletin_boards.txt37
-rw-r--r--npc/re/other/item_merge.txt69
-rw-r--r--npc/re/other/mail.txt19
-rw-r--r--npc/re/other/mercenary_rent.txt16
-rw-r--r--npc/re/other/pvp.txt91
-rw-r--r--npc/re/other/resetskill.txt147
-rw-r--r--npc/re/other/stone_change.txt59
-rw-r--r--npc/re/other/turbo_track.txt (renamed from npc/re/mobs/towns/brasilis.txt)14
-rw-r--r--npc/re/quests/cupet.txt6
-rw-r--r--npc/re/quests/eden/26-40.txt2
-rw-r--r--npc/re/quests/eden/41-55.txt4
-rw-r--r--npc/re/quests/eden/56-70.txt571
-rw-r--r--npc/re/quests/eden/71-85.txt738
-rw-r--r--npc/re/quests/eden/eden_common.txt73
-rw-r--r--npc/re/quests/eden/eden_iro.txt598
-rw-r--r--npc/re/quests/eden/eden_quests.txt90
-rw-r--r--npc/re/quests/eden/eden_service.txt2
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt4
-rw-r--r--npc/re/quests/first_class/tu_archer.txt14
-rw-r--r--npc/re/quests/homun_s.txt26
-rw-r--r--npc/re/quests/magic_books.txt182
-rw-r--r--npc/re/quests/monstertamers.txt8
-rw-r--r--npc/re/quests/mrsmile.txt21
-rw-r--r--npc/re/quests/pile_bunker.txt12
-rw-r--r--npc/re/quests/quests_13_1.txt19
-rw-r--r--npc/re/quests/quests_brasilis.txt92
-rw-r--r--npc/re/quests/quests_dewata.txt62
-rw-r--r--npc/re/quests/quests_dicastes.txt43
-rw-r--r--npc/re/quests/quests_eclage.txt4
-rw-r--r--npc/re/quests/quests_izlude.txt22
-rw-r--r--npc/re/quests/quests_lighthalzen.txt28
-rw-r--r--npc/re/quests/quests_malangdo.txt4476
-rw-r--r--npc/re/quests/quests_malaya.txt7667
-rw-r--r--npc/re/quests/quests_mora.txt69
-rw-r--r--npc/re/quests/quests_morocc.txt41
-rw-r--r--npc/re/quests/quests_nameless.txt15
-rw-r--r--npc/re/quests/quests_veins.txt12
-rw-r--r--npc/re/quests/skills/sage_skills.txt53
-rw-r--r--npc/re/scripts.conf45
-rw-r--r--npc/re/scripts_jobs.conf2
-rw-r--r--npc/re/scripts_main.conf2
-rw-r--r--npc/re/scripts_monsters.conf11
-rw-r--r--npc/re/scripts_warps.conf4
-rw-r--r--npc/re/warps/cities/brasilis.txt2
-rw-r--r--npc/re/warps/cities/dewata.txt2
-rw-r--r--npc/re/warps/cities/dicastes.txt4
-rw-r--r--npc/re/warps/cities/eclage.txt7
-rw-r--r--npc/re/warps/cities/izlude.txt95
-rw-r--r--npc/re/warps/cities/malangdo.txt2
-rw-r--r--npc/re/warps/cities/malaya.txt146
-rw-r--r--npc/re/warps/cities/rachel.txt2
-rw-r--r--npc/re/warps/cities/yggdrasil.txt2
-rw-r--r--npc/re/warps/dungeons/bra_dun.txt2
-rw-r--r--npc/re/warps/dungeons/dic_dun.txt2
-rw-r--r--npc/re/warps/dungeons/ecl_dun.txt2
-rw-r--r--npc/re/warps/dungeons/iz_dun.txt4
-rw-r--r--npc/re/warps/dungeons/moc_pryd.txt4
-rw-r--r--npc/re/warps/fields/bif_fild.txt4
-rw-r--r--npc/re/warps/fields/com_fild.txt4
-rw-r--r--npc/re/warps/fields/dic_fild.txt2
-rw-r--r--npc/re/warps/fields/geffen_fild.txt2
-rw-r--r--npc/re/warps/fields/hugel_fild.txt2
-rw-r--r--npc/re/warps/fields/morroc_fild.txt17
-rw-r--r--npc/re/warps/fields/payon_fild.txt12
-rw-r--r--npc/re/warps/fields/prontera_fild.txt36
-rw-r--r--npc/re/warps/fields/rachel_fild.txt2
-rw-r--r--npc/re/warps/fields/veins_fild.txt6
-rw-r--r--npc/re/warps/fields/yuno_fild.txt2
-rw-r--r--npc/re/warps/guildcastles.txt4
-rw-r--r--npc/re/warps/other/arena.txt18
-rw-r--r--npc/re/warps/other/jobquests.txt14
-rw-r--r--npc/re/warps/other/paradise.txt2
-rw-r--r--npc/re/warps/other/s_workshop.txt4
-rw-r--r--npc/re/warps/other/sign.txt2
218 files changed, 20636 insertions, 6164 deletions
diff --git a/npc/re/airports/izlude.txt b/npc/re/airports/izlude.txt
index 67b9e988d..fedb3e868 100644
--- a/npc/re/airports/izlude.txt
+++ b/npc/re/airports/izlude.txt
@@ -1,13 +1,19 @@
//===== Hercules Script ======================================
//= Izlude Airport NPCs
-//===== By: ==================================================
+//===== By: ==================================================
//= Hercules Dev Team
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= [Official Conversion]
//= Izlude Airport NPCs
-//===== Additional Comments: =================================
-//= Official NPCs.
-//= Updated to match the new Izlude Map. [Masao]
-//= Updated to Official coordinates
-//============================================================
+//===== Additional Comments: =================================
+//= 1.0 Updated to match the new Izlude Map. [Masao]
+//= 1.1 Added Izlude duplicates. [Euphy]
+//============================================================
izlude,202,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude 90
+izlude_a,202,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude_a 90
+izlude_b,202,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude_b 90
+izlude_c,202,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude_c 90
+izlude_d,202,75,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude_d 90
diff --git a/npc/re/cities/alberta.txt b/npc/re/cities/alberta.txt
index 9d17acc65..d25b59b4a 100644
--- a/npc/re/cities/alberta.txt
+++ b/npc/re/cities/alberta.txt
@@ -5,6 +5,7 @@
//===== Current Version: =====================================
//= 1.0
//===== Description: =========================================
+//= [Official Conversion]
//= Alberta town NPCs.
//===== Additional Comments: =================================
//= 1.0 First Version.
diff --git a/npc/re/cities/brasilis.txt b/npc/re/cities/brasilis.txt
index cde84e954..7be84507c 100644
--- a/npc/re/cities/brasilis.txt
+++ b/npc/re/cities/brasilis.txt
@@ -1,19 +1,21 @@
//===== Hercules Script ======================================
//= Brasilis Town
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.3
-//===== Description: =========================================
-//= [Aegis Conversion]
+//===== Description: =========================================
+//= [Official Conversion]
//= Brasilis Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. Transportation and Basic NPCs.
//= 1.1 Fixed Zeny not being removed for payment. [Kisuka]
//= 1.2 Updated dialog, added Ice Cream Maker. [L0ne_W0lf]
//= 1.3 Moved Alberta NPC to pre-re/re paths. [Euphy]
-//============================================================
+//============================================================
+// Brasilis Transportation
+//============================================================
/* Pre-Renewal coordinates: alberta,247,115,3 */
alberta,246,82,3 script Crewman#bra2 100,{
mes "[Crewman]";
@@ -29,7 +31,7 @@ alberta,246,82,3 script Crewman#bra2 100,{
if (Zeny > 9999) {
mes "[Crewman]";
mes "Cool~!! Let's go~!";
- set zeny,zeny-10000;
+ set Zeny, Zeny-10000;
close2;
warp "brasilis",314,60;
end;
@@ -67,6 +69,8 @@ brasilis,316,57,3 script Crewman#bra1 100,{
}
}
+// Generic Brasilis NPCs
+//============================================================
brasilis,155,165,3 script Signpost#bra1 858,{
mes ":: Art Museum ::";
close;
@@ -141,7 +145,7 @@ brasilis,137,77,5 script Ice-Cream Maker 85,{
mes "Lighten your pack before buying this.";
close;
}
- set zeny,zeny-.@icecream_hap;
+ set Zeny, Zeny-.@icecream_hap;
getitem 536,.@input; //Ice_Cream
close;
case 2:
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index 3c5953adf..37979d6d9 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -1,20 +1,74 @@
//===== Hercules Script ======================================
//= Dewata Town
-//===== By: ==================================================
+//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
+//= [Official Conversion]
//= Dewata Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version.
//= 1.1 Standardized. [Euphy]
//= 1.2 Fixed Zeny check. [Joseph]
//= 1.3 Updated to match the official script. [Lemongrass/Euphy]
//============================================================
+// Dewata Transportation
+//============================================================
+alberta,212,202,4 script Dewata Sailor#alberta 536,{
+ mes "[Dewata Sailor]";
+ mes "Do you want to visit ^8B4513Dewata Island^000000?";
+ mes "With it's dazzling waves and charming views it's a great place to relax.";
+ mes "The transit fee is 10,000 Zeny.";
+ next;
+ switch(select("Yes!:No.")) {
+ case 1:
+ if (Zeny >= 10000) {
+ mes "[Dewata Sailor]";
+ mes "^8B4513Dewata^000000 is a beautiful and peaceful island country.";
+ mes "Have a nice trip~";
+ close2;
+ set Zeny, Zeny - 10000;
+ warp "dewata",232,53;
+ end;
+ } else {
+ mes "[Dewata Sailor]";
+ mes "You don't have the dough, kid.";
+ mes "Come back when you have a bigger wallet.";
+ close;
+ }
+ case 2:
+ mes "[Dewata Sailor]";
+ mes "Let me know";
+ mes "when you're ready to travel~";
+ close;
+ }
+}
+
+dewata,229,49,6 script Alberta Sailor#dewata 536,{
+ mes "[Alberta Sailor]";
+ mes "Do you want to go back to Alberta?";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Alberta Sailor]";
+ mes "I hope you had a lot of fun on";
+ mes "your trip to ^8B4513Dewata^000000 Island.";
+ mes "Please come again!";
+ close2;
+ warp "alberta",210,198;
+ end;
+ case 2:
+ mes "[Alberta Sailor]";
+ mes "Have some more fun before you go.";
+ mes "^8B4513Dewata^000000 Island still has more to offer.";
+ close;
+ }
+}
+
+// Generic Dewata NPCs
+//============================================================
dewata,221,237,5 script Young Man#dew-1 536,{
mes "[Fruit Fancier]";
mes "What's wrong with your faaaaaace? You must really be clueless!";
@@ -456,36 +510,18 @@ dewata,89,191,6 script Small Shrine#dew1 844,{
next;
callsub L_Wish;
set Zeny, Zeny - .@input;
- if (.@stat & 1 && .@bonus){
- sc_start SC_FOOD_STR,1200000,3;
- percentheal 5,0;
- //consumeitem 12043; //Str_Dish03
- }
- else if (.@stat & 2 && .@bonus){
- sc_start SC_FOOD_AGI,1200000,3;
- percentheal 5,0;
- //consumeitem 12058; //Agi_Dish03
- }
- else if (.@stat & 4 && .@bonus){
- sc_start SC_FOOD_DEX,1200000,3;
- percentheal 5,0;
- //consumeitem 12063; //Dex_Dish03
- }
- else if (.@stat & 8 && .@bonus){
- sc_start SC_FOOD_VIT,1200000,3;
- percentheal 5,0;
- //consumeitem 12053; //Vit_Dish03
- }
- else if (.@stat & 16 && .@bonus){
- sc_start SC_FOOD_INT,1200000,3;
- percentheal 5,0;
- //consumeitem 12048; //Int_Dish03
- }
- else if (.@stat & 32 && .@bonus){
- sc_start SC_FOOD_LUK,1200000,3;
- percentheal 5,0;
- //consumeitem 12068; //Luk_Dish03
- }
+ if (.@stat & 1 && .@bonus)
+ consumeitem 12043; //Str_Dish03
+ else if (.@stat & 2 && .@bonus)
+ consumeitem 12058; //Agi_Dish03
+ else if (.@stat & 4 && .@bonus)
+ consumeitem 12063; //Dex_Dish03
+ else if (.@stat & 8 && .@bonus)
+ consumeitem 12053; //Vit_Dish03
+ else if (.@stat & 16 && .@bonus)
+ consumeitem 12048; //Int_Dish03
+ else if (.@stat & 32 && .@bonus)
+ consumeitem 12068; //Luk_Dish03
else if (.@stat & 64) {
specialeffect2 EF_ANGEL;
mes "- A celestial entity gives you a blessing. -";
@@ -621,7 +657,7 @@ OnTouch:
close;
}
-dewata,233,263,8 script Sweet Married Couple::smc_dew_01 828,2,3,{
+dewata,233,263,8 script Sweet Married Couple#1 828,2,3,{
OnTouch:
mes "[Sweet Husband]";
mes "You are the most beautiful thing in the world baby~";
@@ -641,7 +677,7 @@ OnTouch:
close;
}
-dewata,234,263,8 script Sweet Married Couple::smc_dew_02 727,2,3,{
+dewata,234,263,8 script Sweet Married Couple#2 727,2,3,{
OnTouch:
mes "[Sweet Wife]";
mes "Baby~ You know what flower that is~?";
@@ -840,7 +876,7 @@ OnTouch:
close;
}
-dewata,278,281,4 script Happily Married Grandpa::hmg_dew_01 534,{
+dewata,278,281,4 script Happily Married Grandpa 534,{
mes "[Happily Married Grandpa]";
mes "Today, I should ask my lady to";
mes "cook me some ^006400fried rice^000000.";
@@ -856,7 +892,7 @@ dewata,278,281,4 script Happily Married Grandpa::hmg_dew_01 534,{
close;
}
-dewata,280,277,4 script Happily Married Grandma::hmg_dew_02 535,{
+dewata,280,277,4 script Happily Married Grandma 535,{
mes "[Happily Married Grandma]";
mes "In my younger days,";
mes "there were many gentleman callers";
@@ -1104,7 +1140,7 @@ dewata,127,248,6 script Wishing Kid#dew 539,{
close;
}
-dew_fild01,101,259,6 script Jaty Tribe Gatekeeper::jtg_dew 541,{
+dew_fild01,101,259,6 script Jaty Tribe Gatekeeper 541,{
mes "[Jaty Tribe Gatekeeper]";
mes "Welcome to ^FF0000Jaty^000000 town.";
mes "Our tribe reveres strength and bravery.";
diff --git a/npc/re/cities/dicastes.txt b/npc/re/cities/dicastes.txt
index c47671b4b..af8ec7824 100644
--- a/npc/re/cities/dicastes.txt
+++ b/npc/re/cities/dicastes.txt
@@ -3,16 +3,16 @@
//===== By: ==================================================
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
-//= 1.2a
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.3
//===== Description: =========================================
+//= [Official Conversion]
//= El Dicastes Town Script
//===== Additional Comments: =================================
//= 1.0 First version.
//= 1.1 Standardized. [Euphy]
//= 1.2 Updated to match the official script. [Joseph]
//= 1.2a Moved Guide to a separate file. [Euphy]
+//= 1.3 Updated to match official script. [SkittleNugget]
//============================================================
dicastes01,194,159,5 script Excited Galten#a 492,{
@@ -76,8 +76,8 @@ dicastes01,194,95,5 script Sentinel#b 450,{
}
dicastes01,234,158,0 script Training Galten#a 450,{
+ mes "[Training Galten]";
if (isequipped(2782)) {
- mes "[Training Galten]";
mes "I'll be ready for anything";
mes "if I keep up with my training every day.";
close;
@@ -90,8 +90,8 @@ dicastes01,234,158,0 script Training Galten#a 450,{
}
dicastes01,244,166,0 script Training Galten#b 450,{
+ mes "[Training Galten]";
if (isequipped(2782)) {
- mes "[Training Galten]";
mes "I wonder if Ahat knows how";
mes "hard I am training.";
close;
@@ -134,6 +134,20 @@ dicastes01,248,129,0 script Training Galten#d 450,{
close;
}
+/*
+dicastes01,271,152,0 script Training Galten#e 450,{
+ mes "[Training Galten]";
+ if (isequipped(2782)) {
+ mes "I will get great results";
+ mes "if I do my best, right?";
+ close;
+ }
+ mes "¡ø¢²¡û ¡ô ¢£¢³¡ô";
+ mes "¡ü¡ô";
+ close;
+}
+*/
+
dic_in01,349,282,4 script Waiting Galten#in_1 492,{
if (isequipped(2782)) {
mes "[Waiting Galten]";
@@ -266,8 +280,8 @@ dic_in01,168,116,5 script Tired Piom#c 491,{
mes "[Tired Piom]";
if (isequipped(2782)) {
mes "If you need any";
- mes "information, you'd should try your";
- mes "luck with the Cat Merchant rather than wander around here.";
+ mes "information, you'd have better";
+ mes "luck with the Cat Merchant than wandering around here.";
mes "But of course you'll have to pay the price.";
close;
}
@@ -299,17 +313,18 @@ dic_in01,149,104,5 script Tired Piom#b 455,{
dic_in01,341,113,3 script Tired Piom#a 491,{
mes "[Tired Piom]";
if (isequipped(2782)) {
- mes "Ahat is the one";
- mes "and only Sapha pride.";
- mes "We have plenty of Bradium";
- mes "because of him!";
+ mes "[Tired Piom]";
+ mes "I think I look better in";
+ mes "robes than in leather.";
+ mes "I may have to change to knitting.";
+ mes "But mining does seem to suit me.";
next;
- mes "[Thrilled Piom]";
+ mes "[Tired Piom]";
mes "...";
next;
- mes "[Thrilled Piom]";
- mes "You don't feel his";
- mes "blessing?";
+ emotion e_swt;
+ mes "[Tired Piom]";
+ mes "I'll be rejected again, right?";
close;
}
mes "¡÷¡ò¡û ¡ó ¡ó¡Ð¢±";
@@ -320,6 +335,7 @@ dic_in01,341,113,3 script Tired Piom#a 491,{
mes "[Tired Piom]";
mes "¡þ";
next;
+ emotion e_swt;
mes "[Tired Piom]";
mes "¡ø¡ú¡ø ¢± ¡ö¡ò";
close;
@@ -337,7 +353,7 @@ dic_in01,252,103,3 script Eating Adventurer#tre 711,{
next;
mes "[Eating Adventurer]";
mes "I really would like a nice hot meal.";
- mes "I go to this great little restaurant in Geffen often, and I really miss that place now.";
+ mes "I go to this great little restaurant in Geffen often and I really miss that place now.";
close;
}
@@ -368,7 +384,8 @@ dic_in01,372,116,3 script Thrilled Piom#a 490,{
mes "[Thrilled Piom]";
mes "You don't feel his";
mes "blessing?";
- close; }
+ close;
+ }
mes "¡ò¡õ¢³ ¡õ ¡ô";
mes "¢£¡ó¡ø ¢² ¡ô¡÷";
mes "¡ò¡ô¢³ ¡ù ¢±¡ó¢± ¡õ";
@@ -444,7 +461,7 @@ dic_in01,42,250,5 script Guide#diel_1 489,{
close;
}
-dic_in01,335,34,0 script Talkative Piom#a 490,{
+dic_in01,335,34,5 script Talkative Piom#a 490,{
mes "[Talkative Piom]";
if (isequipped(2782)) {
mes "At my factory";
@@ -480,7 +497,7 @@ dicastes01,282,210,4 script Free Knit#a 453,{
mes "[Free Knit]";
if (isequipped(2782)) {
mes "As long as we have a steady";
- mes "supply of Bradium,";
+ mes "supply of Bradium";
mes "Saphas can live forever.";
mes "Our childhood lasts 10 years,";
mes "which is short.";
@@ -494,7 +511,7 @@ dicastes01,282,210,4 script Free Knit#a 453,{
close;
}
-dicastes01,246,210,4 script Free Venknick#a 449,{
+dicastes01,246,210,3 script Free Venknick#a 449,{
mes "[Free Venknick]";
if (isequipped(2782)) {
mes "At least we have plenty of Bradium.";
@@ -539,14 +556,12 @@ dicastes01,235,245,4 script Excited Piom#a 490,{
close;
}
-dicastes01,284,262,4 script Favorable Knit#a 453,{
+dicastes01,284,262,3 script Favorable Knit#a 453,{
mes "[Favorable Knit]";
if (isequipped(2782)) {
- mes "Unlike the Laphine, we Saphas";
+ mes "Unlike the Raphine, we Saphas";
mes "are a very close community.";
mes "We start by living together in common facilities after we are born.";
- next;
- mes "[Favorable Knit]";
mes "That is why all Saphas are like family.";
mes "We never have any quarrels between classes.";
close;
@@ -560,8 +575,8 @@ dicastes01,284,262,4 script Favorable Knit#a 453,{
}
dicastes01,164,180,4 script Limpy Piom#a 489,{
+ mes "[Limpy Piom]";
if (isequipped(2782)) {
- mes "[Limpy Piom]";
mes "They say there is a";
mes "war going on with the Splendide in Manuk.";
mes "I hope everything goes well.";
@@ -591,8 +606,8 @@ dicastes01,191,202,4 script Complaining Galten#fihs 450,{
next;
if(select("No:Yes") == 1) {
mes "[Complaining Galten]";
- mes "You don't know about the legend behind the statue?";
- mes "Then I don't know what to talk about it with you.";
+ mes "Then you don't know about the legend behind the statue?";
+ mes "Then, I don't know what to talk about with you.";
close;
}
emotion e_gg,0,"Crazy Venknick#fihsing1";
@@ -643,21 +658,25 @@ dicastes01,202,197,4 script Crazy Venknick#fihsing1 449,{
mes "Thanks.";
emotion e_gg,0,"Complaining Galten#fihs";
next;
- select("What is the sad legend?");
+ mes "["+strcharinfo(0)+"]";
+ mes "What is the sad legend?";
+ next;
emotion e_dots;
- select("I asked what the sad legend is about!");
+ mes "["+strcharinfo(0)+"]";
+ mes "I asked what the sad legend is about!";
next;
mes "[Crazy Venknick]";
mes "I don't believe in legends.";
next;
emotion e_dots,1;
- select("Was I tricked?");
- sc_start SC_Blind,20000,0;
+ mes "["+strcharinfo(0)+"]";
+ mes "Was I tricked?";
+ sc_start SC_BLIND,20000,0;
next;
mes "You feel outraged at being tricked.";
close;
}
- mes "[???¨²?¨´ ¡é3 ]";
+ mes "[¡ö¡ú¡ù ¢³ ]";
mes "¢²¡û¡ó ¡ó ¡ù¢¤¡ø";
mes "¢¤¡ð¢² ¢± ¡ñ¡ö¢² ¡ø ¡ï¡ö¡ü";
next;
@@ -693,4 +712,4 @@ dic_in01,98,96,3 script Lost Galten#a 492,{
mes "¡ü¡ø¡ñ ¢£ ";
mes "¡ö¡ï¢² ¡û ¡ö¡ó";
close;
-}
+} \ No newline at end of file
diff --git a/npc/re/cities/eclage.txt b/npc/re/cities/eclage.txt
index 7bb8d7942..7ae1f292c 100644
--- a/npc/re/cities/eclage.txt
+++ b/npc/re/cities/eclage.txt
@@ -1,16 +1,14 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eclage Town
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Description: =========================================
//= Eclage Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 Nearly complete iRO town NPCs. [Euphy]
-//============================================================
+//============================================================
// Generic Eclage NPCs - Set 1
//============================================================
@@ -71,7 +69,7 @@ ecl_fild01,110,316,2 script Tourist#ep14_2f7 896,{
next;
mes "[Tourist]";
mes "Perhaps you could consider it as the weight of life?";
- emotion 38,0;
+ emotion e_awsm,0;
close;
}
diff --git a/npc/re/cities/izlude.txt b/npc/re/cities/izlude.txt
index 24390f070..0082594cb 100644
--- a/npc/re/cities/izlude.txt
+++ b/npc/re/cities/izlude.txt
@@ -1,98 +1,105 @@
//===== Hercules Script ======================================
//= Izlude Town Renewal
-//===== By: ==================================================
+//===== By: ==================================================
//= Masao
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= [Official Conversion]
//= Izlude town NPCs.
-//===== Additional Comments: =================================
+//===== 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]
+//= 1.1 Updated to match the official script. [Euphy]
+//= 1.2 Added Channel Warper and Izlude duplicates. [Euphy]
//============================================================
+// Izlude
+//============================================================
izlude,197,205,1 duplicate(Sailor_izlude) Sailor#izlude 100
+izlude_a,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_a 100
+izlude_b,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_b 100
+izlude_c,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_c 100
+izlude_d,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_d 100
+
izlude,71,92,2 duplicate(Bonne_izlude) Bonne#izlude 90
-izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 91
-izlude,174,164,3 duplicate(Cuskoal_izlude) Cuskoal#izlude 124
-izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 84
-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;
-}
+izlude_a,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_a 90
+izlude_b,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_b 90
+izlude_c,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_c 90
+izlude_d,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_d 90
-prt_fild08,350,219,4 script Guard#izlude 105,{
- mes "[Izlude Guard]";
- mes "Welcome to Izlude.";
- close;
-}
+izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 91
+izlude_a,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_a 91
+izlude_b,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_b 91
+izlude_c,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_c 91
+izlude_d,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_d 91
-izlude,136,160,0 script Traces of Fish#izlude 111,{
- mes "There are signs of someone digging.";
- close;
-}
+izlude,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude 124
+izlude_a,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_a 124
+izlude_b,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_b 124
+izlude_c,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_c 124
+izlude_d,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_d 124
-izlude,207,167,3 script Arena#izlude 858,{
- mes "";
- close;
-}
+izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 84
+izlude_a,85,103,4 duplicate(Dega_izlude) Dega#izlude_a 84
+izlude_b,85,103,4 duplicate(Dega_izlude) Dega#izlude_b 84
+izlude_c,85,103,4 duplicate(Dega_izlude) Dega#izlude_c 84
+izlude_d,85,103,4 duplicate(Dega_izlude) Dega#izlude_d 84
-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,140,186,4 duplicate(Kylick_izlude) Kylick#izlude 97
+izlude_a,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_a 97
+izlude_b,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_b 97
+izlude_c,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_c 97
+izlude_d,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_d 97
-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,57,159,2 duplicate(Red_izlude) Red#izlude 85
+izlude_a,57,159,2 duplicate(Red_izlude) Red#izlude_a 85
+izlude_b,57,159,2 duplicate(Red_izlude) Red#izlude_b 85
+izlude_c,57,159,2 duplicate(Red_izlude) Red#izlude_c 85
+izlude_d,57,159,2 duplicate(Red_izlude) Red#izlude_d 85
-izlude,141,251,1 script Full-Grown Red Plant#iz 1078,{
- end;
-}
+izlude,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude 98
+izlude_a,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_a 98
+izlude_b,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_b 98
+izlude_c,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_c 98
+izlude_d,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_d 98
-izlude,102,150,1 script Sinchon Helper#izlude 71,{
- end;
-}
+izlude,165,156,2 duplicate(Soldier_izlude) Soldier#izlude 105
+izlude_a,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_a 105
+izlude_b,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_b 105
+izlude_c,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_c 105
+izlude_d,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_d 105
-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.";
+- script ::Guard_izlude -1,{
+ mes "[Izlude Guard]";
+ mes "Welcome to Izlude.";
close;
}
+prt_fild08,350,219,4 duplicate(Guard_izlude) Guard#izlude 105
+prt_fild08a,350,219,4 duplicate(Guard_izlude) Guard#izlude_a 105
+prt_fild08b,350,219,4 duplicate(Guard_izlude) Guard#izlude_b 105
+prt_fild08c,350,219,4 duplicate(Guard_izlude) Guard#izlude_c 105
+prt_fild08d,350,219,4 duplicate(Guard_izlude) Guard#izlude_d 105
-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;
+// Channel Warper
+//============================================================
+function script F_IzludeChannel {
+ mes "[Izlude Copy Warper]";
+ mes "Izlude is a verly lively place is it not?";
+ mes "I am here to help make Izlude feel more smooth!";
+ mes "I can send you to another copy of Izlude.";
+ mes "Do you want to go to another copy?";
+ next;
+ set .@i, select(getarg(0)+":Never mind");
+ if (.@i < 6) {
+ setarray .@maps$[1],"izlude","izlude_a","izlude_b","izlude_c","izlude_d";
+ savepoint .@maps$[.@i],128,98;
+ warp .@maps$[.@i],128,98;
+ end;
+ }
+ close;
}
+izlude,122,105,5 script Izlude Copy Warper 64,{ callfunc "F_IzludeChannel",":Go to copy 2:Go to copy 3:Go to copy 4:Go to copy 5"; }
+izlude_a,122,105,5 script Izlude Copy Warper#_a 64,{ callfunc "F_IzludeChannel","Go to copy 1::Go to copy 3:Go to copy 4:Go to copy 5"; }
+izlude_b,122,105,5 script Izlude Copy Warper#_b 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2::Go to copy 4:Go to copy 5"; }
+izlude_c,122,105,5 script Izlude Copy Warper#_c 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2:Go to copy 3::Go to copy 5"; }
+izlude_d,122,105,5 script Izlude Copy Warper#_d 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2:Go to copy 3:Go to copy 4:"; }
diff --git a/npc/re/cities/jawaii.txt b/npc/re/cities/jawaii.txt
index f1020b2f8..de263448c 100644
--- a/npc/re/cities/jawaii.txt
+++ b/npc/re/cities/jawaii.txt
@@ -3,14 +3,18 @@
//===== By: ==================================================
//= Daegaladh, Masao
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules GIT
+//= 1.2
//===== Description: =========================================
+//= [Official Conversion]
//= Jawaii town NPCs.
//===== Additional Comments: =================================
-//= 1.0 First Version. Renewal coordinates [Masao]
-//= 1.1 Changed to Official coordinates [Streusel]
+//= 1.0 First Version. Renewal coordinates by Masao.
+//= 1.1 Moved "Honeymoon Helper" NPC.
+//= 1.2 Added Izlude duplicates. [Euphy]
//============================================================
-izlude,180,224,6 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Izlude 71
+izlude,180,224,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Izlude 71
+izlude_a,180,224,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Iz_a 71
+izlude_b,180,224,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Iz_b 71
+izlude_c,180,224,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Iz_c 71
+izlude_d,180,224,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Iz_d 71
diff --git a/npc/re/cities/malangdo.txt b/npc/re/cities/malangdo.txt
index 76cc418cf..ad9e30279 100644
--- a/npc/re/cities/malangdo.txt
+++ b/npc/re/cities/malangdo.txt
@@ -1,20 +1,22 @@
//===== Hercules Script ======================================
//= Malangdo Town
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.5
+//===== Description: =========================================
+//= [Official Conversion]
//= Malangdo Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Added entrance scripts.
-//= 1.2 Added Official coordinates for Odgnalam [Streusel]
+//= 1.2 Moved "Odgnalam" coordinates.
+//= 1.3 Fixed dialogues.
+//= 1.4 Dialogue edits, source iRO.
+//= 1.5 Added Izlude duplicates.
//============================================================
-// Entrance :: malangdo_go
+// Malangdo Transportation :: malangdo_go
//============================================================
- script Dolangmal -1,{
if (checkquest(5091) == -1) {
@@ -155,34 +157,33 @@ rachel,121,126,4 duplicate(Dolangmal) Dolangmal#7 553
lighthalzen,254,83,5 duplicate(Dolangmal) Dolangmal#8 553
mora,57,150,4 duplicate(Dolangmal) Dolangmal#9 553
-
-izlude,182,218,4 script Odgnalam#iz 554,{
- mes "This cat is sleeping in the warm "+strnpcinfo(2)+" sun.";
+- script ::Odgnalam -1,{
+ mes "This cat is sleeping in the warm "+((strnpcinfo(2) == "albe")?"Alberta":"Izlude")+" sun.";
next;
if(select("Let him sleep:Talk to him") == 1) close;
mes "[Odgnalam]";
- mes "Meow? Uh?";
+ mes "Meow? Huh?";
next;
if (ep13_yong1 == 0) {
set .@price,1000;
- set .@s1$,"Huh!! You are such an annoying person. Let me send you to the heaven of the cat, ^A2314BMalangdo^000000 with ^0000FF1000 Zeny^000000.";
+ set .@s1$,"Huh! You are so annoying. Let me send you to ^A2314BMalangdo^000000 for ^0000FF1000 Zeny^000000.";
set .@s2$,"Money? Where is the money? You can't go anywhere without the money. Shame on you.";
} else if (ep13_yong1 < 60) {
set .@price,999;
- set .@s1$,"You have a little relationship with fleet of cat. I'll give you special discount price ^0000FF999 Zeny^000000 to the heaven of the cat, ^A2314BMalangdo^000000, because you have relationship with fleet.";
+ set .@s1$,"You have a little relationship with fleet of cat. I'll give you special discount price ^0000FF999 Zeny^000000 to ^A2314BMalangdo^000000, because you have relationship with fleet.";
set .@s2$,"Where is the money? You don't have a sense of honor.";
} else if (ep13_yong1 > 59 && ep13_yong1 < 80) {
set .@price,500;
- set .@s1$,"You gave several help to our cat's fleet so let me give you special that with 50% discount price ^0000FF500 Zeny^000000. I'll send you to the heaven of the cat, ^A2314BMalangdo^000000.";
+ set .@s1$,"You gave several help to our cat's fleet so let me give you special that with 50% discount price ^0000FF500 Zeny^000000. I'll send you to ^A2314BMalangdo^000000.";
set .@s2$,"You don't have any money for paying 50% discount price? I can't believe it.";
} else {
mes "[Odgnalam]";
mes "You are a hero of cat's fleet. Your activity is the legend between us.";
next;
mes "[Odgnalam]";
- mes "As you are a hero of the cat fleet let me send you to ^A2314BMeow Meow Island^000000 for free.";
+ mes "As you are a hero of the cat fleet let me send you to ^A2314BMalangdo^000000 for free.";
next;
- if(select("Send me to Meow Meow Island!:Do not go.") == 1) {
+ if(select("Send me to Malangdo!:Do not go.") == 1) {
mes "[Odgnalam]";
mes "Have a comfortable trip... Alright let's go~";
warp "malangdo",217,85;
@@ -192,7 +193,7 @@ izlude,182,218,4 script Odgnalam#iz 554,{
mes "[Odgnalam]";
mes .@s1$;
next;
- if(select("Send me to Meow Meow Island!:Do not go.") == 2) close;
+ if(select("Send me to Malangdo!:Do not go.") == 2) close;
if (Zeny < .@price) {
mes "[Odgnalam]";
mes "Money? Where is the money? You can't go anywhere without the money. Shame on you.";
@@ -204,7 +205,12 @@ izlude,182,218,4 script Odgnalam#iz 554,{
warp "malangdo",217,85;
close;
}
-alberta,200,151,4 duplicate(Odgnalam#iz) Odgnalam#Alberta 554
+alberta,200,151,4 duplicate(Odgnalam) Odgnalam#albe 554
+izlude,182,218,4 duplicate(Odgnalam) Odgnalam#iz 554 // Old coordinates: (182,192)
+izlude_a,182,218,4 duplicate(Odgnalam) Odgnalam#iz_a 554
+izlude_b,182,218,4 duplicate(Odgnalam) Odgnalam#iz_b 554
+izlude_c,182,218,4 duplicate(Odgnalam) Odgnalam#iz_c 554
+izlude_d,182,218,4 duplicate(Odgnalam) Odgnalam#iz_d 554
malangdo,219,86,4 script Kong#malang 545,{
mes "[Kong]";
@@ -258,7 +264,7 @@ malangdo,219,86,4 script Kong#malang 545,{
if (ep13_yong1 > 80) {
mes "Have a comfortable trip.";
if (.@i == 1)
- warp "izlude",195,212;
+ warp "izlude",195,212; // Old coordinates: (194,180)
else
warp "alberta",192,150;
close;
@@ -276,18 +282,19 @@ malangdo,219,86,4 script Kong#malang 545,{
close;
}
-// Town NPCs :: malang_tre
+// Generic Malangdo NPCs :: malang_tre
//============================================================
malangdo,147,117,3 script Innkeeper#malang 554,{
mes "You see a lazy cat standing on a chair.";
mes "You guess that this is the Innkeeper.";
next;
- switch(select("Umm... can I rest here?:Psst... can I save here?:Leave.")) {
+ switch(select("Umm... Can I rest here?:Psst... Can I save here?:Leave.")) {
case 1:
mes "[Innkeeper]";
- mes "You can use the hammock as you want, but give me ^FF00005 Malangdo Canned Specialties^000000. Then you can relax.";
+ mes "Eh?";
+ mes "Uh, sure you can use this hammock if you give me ^FF00005 Malangdo Cans^000000.";
next;
- switch(select("Give the cans.:No need.")) {
+ switch(select("Here you go.:Never mind.")) {
case 1:
if (countitem(12636) > 4) {
delitem 12636,5; //Malang_Sp_Can
@@ -301,11 +308,11 @@ malangdo,147,117,3 script Innkeeper#malang 554,{
close;
}
mes "[Innkeeper]";
- mes "It looks like a lack of cans.";
+ mes "This ain't no charity.";
close;
case 2:
mes "[Innkeeper]";
- mes "You are stronger than your appearance.";
+ mes "Let me know if you want to relax.";
close;
}
case 2:
@@ -315,27 +322,28 @@ malangdo,147,117,3 script Innkeeper#malang 554,{
close;
case 3:
mes "[Innkeeper]";
- mes "A busy moment makes you hurry and laziness makes you lazy.";
+ mes "Sometimes you just have to relax.";
next;
- mes "- Wonder if there is work time. -";
+ mes "- Wow, this is the laziest cat ever. -";
close;
}
close;
}
-malangdo,151,120,3 script Wandering Minstrel#mal 479,{
- mes "[Wandering Minstrel]";
+malangdo,151,120,3 script Minstrel#mal 479,{
+ mes "[Minstrel]";
mes "Boy, that lazy cat makes me want to just nap all day long.";
next;
- mes "[Wandering Minstrel]";
- mes "He makes life look so simple";
+ mes "[Minstrel]";
+ mes "He makes life look so simple.";
close;
}
-malangdo,149,120,5 script Wandering Wanderer#mal 485,5,1,{
- mes "[Wandering Wanderer]";
- mes "Cats living in here is so energetic.";
- mes "And it makes me dance~";
+malangdo,149,120,5 script Wanderer#mal 485,5,1,{
+ mes "[Wanderer]";
+ mes "The cats living in here are so energetic.";
+ mes "Is it weird that they make me want to dance all day?";
+ mes "La di dah di dah~!";
close;
OnTouch:
switch(rand(5)) {
@@ -362,31 +370,64 @@ OnTouch:
malangdo,216,168,3 script Cat Trainer#mal1 558,0,8,{
emotion e_awsm;
mes "[Cat Trainer]";
- mes "Phh there is a tail and butt both soft and tender!";
- mes "Can't stand, this is heaven~~!!";
+ mes "Ooo~ their soft puffy tails and soft fur~";
+ mes "I can't stand it, this is heaven~~!!";
next;
emotion e_gg;
mes "[Cat Trainer]";
- mes "My hidden card, ^FF0000<Silvervine Fruit>^000000, can make all cats in Malangdo my slaves~ haha!";
+ mes "My hidden card, ^FF0000Silvervine Fruit^000000, can make all cats in Malangdo my slaves~ haha!";
next;
- select("^FF0000<Silvervine Fruit>^000000?");
+ select("^FF0000Silvervine Fruit^000000?");
mes "[Cat Trainer]";
- mes "Silvervine Fruit is a rare item!";
+ mes "It is such a rare item!";
mes "I can barely get it.";
- mes "But every cat loves it with no complaints.";
+ mes "But these cudly cats can't resist it~";
next;
- select("Where can I get ^FF0000<Silvervine Fruit>^000000?");
+ select("Where can I get ^FF0000Silvervine Fruit^000000?");
mes "[Cat Trainer]";
- mes "How would I know if I could barely find it?";
- mes "This can't be taken even with ^3131FFall the zeny in this world^000000!";
+ mes "Why would I tell you when I can barely get it?";
+ mes "I wouldn't even tell you for all the zeny in the world~!";
next;
emotion e_gg;
mes "[Cat Trainer]";
- mes "The cats in Malangdo are mine...! As it should be, haha~";
- mes "^FF0000<Silvervine Fruit>^000000! I can be a king in Malangdo~ ohhhh!!!";
+ mes "All the Malangdo cats are mine~!";
+ mes "Muahahahaha~";
+ mes "With enough ^FF0000Silvervine Fruit^000000 I can be a queen in Malangdo~ ohhhh!!!";
close;
OnTouch:
emotion e_flash;
end;
}
-malangdo,164,203,3 duplicate(Cat Trainer#mal1) Cat Trainer#mal2 853,5,8
+
+malangdo,164,203,3 script Cat Trainer#mal2 853,{
+ emotion e_awsm;
+ mes "[Cat Trainer]";
+ mes "Ooo~ their soft puffy tails and soft fur~";
+ mes "I can't stand it, this is heaven~~!!";
+ next;
+ emotion e_gg;
+ mes "[Cat Trainer]";
+ mes "This is my little secret called";
+ mes "^FF0000Silvervine Fruit^000000. I can use";
+ mes "it to make the Malangdo cats my";
+ mes "slaves~ muahahahaha~!";
+ next;
+ select("^FF0000Silvervine Fruit^000000?");
+ mes "[Cat Trainer]";
+ mes "Hmm, I guess it's no wonder you don't know.";
+ mes "These Malangdo cats can't resist it.";
+ mes "But it's too rare of an item to get so you shouldn't bother trying to find it.";
+ next;
+ select("Where can I get ^FF0000Silvervine Fruit^000000?");
+ mes "[Cat Trainer]";
+ mes "Actually, it's simple. You just...";
+ next;
+ mes "[Cat Trainer]";
+ mes "Hey, you almost made me tell my secret.";
+ next;
+ emotion e_gg;
+ mes "[Cat Trainer]";
+ mes "One day these cats will be mine.";
+ mes "I can be a king in Malangdo~ ohhh~!";
+ close;
+}
diff --git a/npc/re/cities/malaya.txt b/npc/re/cities/malaya.txt
index 30a38cf4d..ba2196aa9 100644
--- a/npc/re/cities/malaya.txt
+++ b/npc/re/cities/malaya.txt
@@ -1,86 +1,58 @@
-//===== Hercules Script =======================================
-//= Port Malaya NPC's
-//===== By: ==================================================
-//= Masao
-//===== Current Version: =====================================
+//===== Hercules Script ======================================
+//= Port Malaya
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
-//= Many Port Malaya NPC's & Quests.
-//===== Additional Comments: =================================
-//= 1.0 First Version.
+//===== Description: =========================================
+//= [Official Conversion]
+//= Port Malaya Town Script
+//===== Additional Comments: =================================
+//= 0.1 Alberta sailors only. [Euphy]
+//= 0.2 Adapted from Masao's conversion.
+//= 1.0 Added remaining NPCs.
//= 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;
- }
-}
+//============================================================
+// Port Malaya Transportation
+//============================================================
+// Old coordinates: alberta (237,71)
alberta,196,202,3 script Optamara Crew#alberta 100,{
-
mes "[Optamara Crew]";
mes "Hey, there!";
- mes "Its 10,000 Zeny to go to Port Malaya. Interested?";
+ mes "It's 10,000 Zeny to go to Port Malaya. Interested?";
next;
- switch (select("About Port Malaya:Go to Port Malaya.:Cancel.")) {
+ 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!";
+ mes "I couldn't 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.";
+ mes "I don't 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.";
+ mes "I'm sure you'll feel the same once you reach Port Malaya.";
close;
case 2:
- if (Zeny > 9999) {
- set Zeny, Zeny - 10000;
+ if (Zeny < 10000) {
mes "[Optamara Crew]";
- mes "Great!";
- mes "Heading for Port Malaya!!";
- close2;
- warp "Malaya",271,55;
- end;
+ mes "Oh God!!";
+ mes "You don't know how far it is from here. Of course it's not free. Please come back with 10,000 Zeny. Sorry!";
+ close;
}
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;
+ mes "Great!";
+ mes "Heading for Port Malaya!!";
+ set Zeny, Zeny-10000;
+ close2;
+ warp "malaya",271,55;
+ end;
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.";
@@ -88,20 +60,47 @@ alberta,196,202,3 script Optamara Crew#alberta 100,{
}
}
-ma_in01,30,94,4 script Inn Keeper#ma 583,{
+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 < 20) {
+ mes "[Optamara Crew]";
+ mes "I think a nameless adventurer helped take a load off the villagers' minds. 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! Let's leave now for Alberta!!";
+ close2;
+ warp "alberta",239,68;
+ end;
+ case 2:
+ mes "[Optamara Crew]";
+ mes "That's okay. Come here if you ever want to go back to Alberta.";
+ close;
+ }
+}
+// Generic Port Malaya NPCs
+//============================================================
+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.";
+ mes "What bad timing. The village is a bit unorganized at the moment so I'm actually closed. Sorry.";
close;
- }
- else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (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 {
+ } else {
mes "[Inn Keeper]";
mes "Welcome.";
mes "This is Port Malaya's best inn, 'Cabin in the City'.";
@@ -110,7 +109,7 @@ ma_in01,30,94,4 script Inn Keeper#ma 583,{
mes "[Inn Keeper]";
mes "Come for a rest? Lodging will be 5,000 Zeny.";
next;
- switch (select("Store.:Lodge. - 5,000z:Cancel.")) {
+ switch(select("Store.:Lodge. - 5,000z:Cancel.")) {
case 1:
mes "[Inn Keeper]";
mes "Successfully stored. See you next time.";
@@ -118,14 +117,14 @@ ma_in01,30,94,4 script Inn Keeper#ma 583,{
close;
case 2:
if (Zeny < 5000) {
- mes "[Inn Keeper]";
- mes "Sorry. I think you are a bit short.";
- close;
+ 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;
+ set Zeny, Zeny-5000;
percentheal 100,100;
warp "ma_in01",43,98;
end;
@@ -134,867 +133,151 @@ ma_in01,30,94,4 script Inn Keeper#ma 583,{
}
}
-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,{
+- script Unidentified Creature#i -1,{
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;
+ switch(atoi(strnpcinfo(2))) {
+ case 1: setarray .@npc$,"01","02","03","04"; break;
+ case 5: setarray .@npc$,"05","06","07","08"; break;
+ case 9: setarray .@npc$,"09","10","11"; break;
+ default: end;
}
- 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,{
+ set .@size, getarraysize(.@npc$);
+ set .@rand, rand(.@size);
+ for(set .@i,0; .@i<.@size; set .@i,.@i+1)
+ donpcevent "Unidentified Creature#"+.@npc$[.@i]+"::"+((.@i == .@rand)?"OnEnable":"OnDisable");
end;
-
OnEnable:
- hideoffnpc "Unidentified Creature#10";
+ enablenpc strnpcinfo(0);
end;
-
OnDisable:
- hideonnpc "Unidentified Creature#10";
+ disablenpc strnpcinfo(0);
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";
+ switch(atoi(strnpcinfo(2))) {
+ case 1: setarray .@npc$,"02","03","04"; break;
+ case 5: setarray .@npc$,"06","07","08"; break;
+ case 9: setarray .@npc$,"10","11"; break;
}
+ set .@size, getarraysize(.@npc$);
+ set .@rand, rand(.@size);
+ for(set .@i,0; .@i<.@size; set .@i,.@i+1)
+ donpcevent "Unidentified Creature#"+.@npc$[.@i]+"::"+((.@i == .@rand)?"OnEnable":"OnDisable");
+ donpcevent strnpcinfo(0)+"::OnDisable";
end;
-
OnTouch:
- if (getpartyleader(getcharid(1),1) == getcharid(3)) {
+ if (getcharid(1)) {
if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
- donpcevent "Unidentified Creature#10::OnBingx2";
+ donpcevent strnpcinfo(0)+"::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);
+ if (rand(1,5)%2) {
+ switch(atoi(strnpcinfo(2))) {
+ case 1: set $ma_name04$,strcharinfo(0); break;
+ case 5: set $ma_name05$,strcharinfo(0); break;
+ case 9: set $ma_name06$,strcharinfo(0); break;
+ }
}
- donpcevent "Unidentified Creature#10::OnBingx2";
+ donpcevent strnpcinfo(0)+"::OnBingx2";
mes "The unidentified creature gets a glimpse of you and disappears.";
close;
}
- donpcevent "Unidentified Creature#10::OnBingx2";
+ donpcevent strnpcinfo(0)+"::OnBingx2";
mes "The unidentified creature looks at you and runs away.";
close;
}
+ma_fild01,74,367,6 duplicate(Unidentified Creature#i) Unidentified Creature#01 572,2,2
+ma_fild02,282,41,4 duplicate(Unidentified Creature#i) Unidentified Creature#05 572,2,2
+ma_scene01,195,92,4 duplicate(Unidentified Creature#i) Unidentified Creature#09 572,2,2
-ma_scene01,167,112,6 script Unidentified Creature#11 572,2,2,{
+- script Unidentified Creature#j -1,{
end;
-
OnEnable:
- hideoffnpc "Unidentified Creature#11";
+ enablenpc strnpcinfo(0);
end;
-
OnDisable:
- hideonnpc "Unidentified Creature#11";
+ disablenpc strnpcinfo(0);
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";
- }
+ switch(atoi(strnpcinfo(2))) {
+ case 2: setarray .@npc$,"01","03","04"; break;
+ case 3: setarray .@npc$,"01","02","04"; break;
+ case 4: setarray .@npc$,"01","02","03"; break;
+ case 6: setarray .@npc$,"05","07","08"; break;
+ case 7: setarray .@npc$,"05","06","08"; break;
+ case 8: setarray .@npc$,"05","06","07"; break;
+ case 10: setarray .@npc$,"09","11"; break;
+ case 11: setarray .@npc$,"09","10"; break;
+ }
+ set .@size, getarraysize(.@npc$);
+ set .@rand, rand(.@size);
+ for(set .@i,0; .@i<.@size; set .@i,.@i+1)
+ donpcevent "Unidentified Creature#"+.@npc$[.@i]+"::"+((.@i == .@rand)?"OnEnable":"OnDisable");
+ donpcevent strnpcinfo(0)+"::OnDisable";
end;
-
OnTouch:
- if ((checkquest(4229,PLAYTIME) > 0) && (checkquest(9223,PLAYTIME) > 0) && (checkquest(12278,PLAYTIME) > 0)) {
+ set .@i, atoi(strnpcinfo(2));
+ if (.@i%4 == 2) {
+ if (getcharid(0) == getpartyleader(getcharid(1),2))
+ set .@pass,1;
+ } else if (.@i%4 == 3) {
+ if (checkquest(4229,PLAYTIME) > -1 && checkquest(9223,PLAYTIME) > -1 && checkquest(12278,PLAYTIME) > -1)
+ set .@pass,1;
+ } else if (.@i%4 == 0) {
+ if (rand(1,100)%10 == 7)
+ set .@pass,1;
+ }
+ if (.@pass) {
if ($ma_name04$ == strcharinfo(0) || $ma_name05$ == strcharinfo(0) || $ma_name06$ == strcharinfo(0)) {
- donpcevent "Unidentified Creature#11::OnBingx2";
+ donpcevent strnpcinfo(0)+"::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);
+ if (rand(1,5)%2) {
+ switch(.@i) {
+ case 2:
+ case 3:
+ case 4:
+ set $ma_name04$,strcharinfo(0);
+ break;
+ case 6:
+ case 7:
+ case 8:
+ set $ma_name05$,strcharinfo(0);
+ break;
+ case 10:
+ case 11:
+ set $ma_name06$,strcharinfo(0);
+ break;
+ }
}
- donpcevent "Unidentified Creature#11::OnBingx2";
+ donpcevent strnpcinfo(0)+"::OnBingx2";
mes "The unidentified creature gets a glimpse of you and disappears.";
close;
}
- donpcevent "Unidentified Creature#11::OnBingx2";
+ donpcevent strnpcinfo(0)+"::OnBingx2";
mes "The unidentified creature looks at you and runs away.";
close;
}
+ma_fild01,109,116,4 duplicate(Unidentified Creature#j) Unidentified Creature#02 572,2,2
+ma_fild01,280,150,6 duplicate(Unidentified Creature#j) Unidentified Creature#03 572,2,2
+ma_fild01,309,221,6 duplicate(Unidentified Creature#j) Unidentified Creature#04 572,2,2
+ma_fild02,246,324,4 duplicate(Unidentified Creature#j) Unidentified Creature#06 572,2,2
+ma_fild02,71,296,6 duplicate(Unidentified Creature#j) Unidentified Creature#07 572,2,2
+ma_fild02,32,263,4 duplicate(Unidentified Creature#j) Unidentified Creature#08 572,2,2
+ma_scene01,158,139,4 duplicate(Unidentified Creature#j) Unidentified Creature#10 572,2,2
+ma_scene01,167,112,6 duplicate(Unidentified Creature#j) Unidentified Creature#11 572,2,2
malaya,227,311,4 script Grandma#ma01 575,{
-
if (malaya_hi < 10) {
mes "[Grandma]";
- mes "Youre not from around here? Take care of yourself.";
+ mes "You're 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.";
+ mes "I'm worried because my daughter-in-law is pregnant. I hope nothing goes wrong.";
close;
- } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (malaya_hi < 20) {
mes "[Grandma]";
mes "I heard there is an outsider that is helping the village.";
next;
@@ -1002,31 +285,16 @@ malaya,227,311,4 script Grandma#ma01 575,{
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) {
+ if (rand(1,3) == 2) {
mes "[Grandma]";
- mes "Heard there is this" + .@name$ + "that follows Meoneonuncle around.";
+ mes "Heard there is this "+getd("$ma_name0"+rand(1,6)+"$")+" 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.";
+ mes "I'm worried about my pregnant daughter-in-law. Hope Meoneonuncle won't bother her.";
next;
select("Meoneonuncle?");
mes "[Grandma]";
@@ -1036,7 +304,7 @@ malaya,227,311,4 script Grandma#ma01 575,{
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,";
+ 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.";
@@ -1046,25 +314,24 @@ malaya,227,311,4 script Grandma#ma01 575,{
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.";
+ 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.";
+ mes "And hear either tik-tik or wak-wak, be cautious because that is the sound of Meoneonuncle's wings flapping.";
close;
}
-malaya,189,263,4 script Drumming Young Man #ma02 578,{
-
+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";
+ mes "Ugh... it's just like that time before...";
next;
emotion e_omg;
mes "[Drumming Young Man]";
- mes "when the moon was swallowed. Argh!";
+ mes "When the moon was swallowed. Argh!";
close;
- } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (malaya_hi < 20) {
mes "[Drumming Young Man]";
mes "I think the village was saved by a nameless adventurer.";
next;
@@ -1073,24 +340,9 @@ malaya,189,263,4 script Drumming Young Man #ma02 578,{
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) {
+ if (rand(1,3) == 2) {
mes "[Drumming Young Man]";
- mes "" + .@name$ + "is said to have stopped Bakonawa from swallowing the moon. Isnt it awesome? I'm so relieved.";
+ mes getd("$ma_name0"+rand(1,6)+"$")+" is said to have stopped Bakonawa from swallowing the moon. Isn't it awesome? I'm so relieved.";
close;
}
mes "[Drumming Young Man]";
@@ -1109,50 +361,34 @@ malaya,189,263,4 script Drumming Young Man #ma02 578,{
next;
select("Wow. What is it?");
mes "[Drumming Young Man]";
- mes "He is sensitive to noise so when hes about to swallow the moon!!";
+ mes "He is sensitive to noise so when he's 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.";
+ mes "That's your chance!! It doesn't matter what kind of noise!! Whether it's 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.";
+ mes "Carry a drum around with you. You'll 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)) {
+ } else if (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) {
+ if (rand(1,3) == 2) {
mes "[Port Guard]";
- mes "" + .@name$ + "is said to escape from Bu waya alive after being captured. This person must be powerful.";
+ mes getd("$ma_name0"+rand(1,6)+"$")+" is said to escape from Buwaya alive after being captured. This person must be powerful.";
close;
}
emotion e_omg;
@@ -1160,89 +396,75 @@ malaya,270,59,4 script Port Guard#ma03 570,{
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.";
+ mes "Huh? You're 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.";
+ mes "Buwaya don't 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) {
+ switch(select("I see.:Is there any way to prevent them from coming?")) {
+ case 1:
mes "[Port Guard]";
mes "Be careful at night!";
close;
+ case 2:
+ mes "[Port Guard]";
+ mes "They say you can attack Buwaya's 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 don't hear anything, let's just say you should prepare for attack and wish for luck.";
+ 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,{
-
+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.";
+ mes "I'm scared but I have to visit the fairy in the forest.";
close;
- } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (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) {
+ if (rand(1,3) == 2) {
+ set .@name$, getd("$ma_name0"+rand(1,6)+"$");
mes "[Little Girl]";
- mes "A little while ago" + .@name$ + "came and told me a fun story.";
+ 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.";
+ mes "He he. Isn't 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.";
+ mes "Father said I won't catch skin diseases once I'm 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,";
+ mes "Encan'to! Encan'to 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?";
+ 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)) {
+ } else if (malaya_hi < 20) {
mes "[Little Kid]";
mes "My mom told me I can play but only in Port Malaya.";
next;
@@ -1250,30 +472,15 @@ malaya,219,92,6 script Little Kid#ma05 577,{
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) {
+ if (rand(1,3) == 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.";
+ mes "Why would someone steal a monster's hat? "+getd("$ma_name0"+rand(1,6)+"$")+" must be desperate.";
next;
mes "[Little Kid]";
- mes "Oh wait! This was suppose to be a secret. Shsh! Please pretend you didnt hear me.";
+ mes "Oh wait! This was suppose to be a secret. Shsh! Please pretend you didn't hear me.";
close;
}
mes "[Little Kid]";
@@ -1291,7 +498,6 @@ malaya,219,92,6 script Little Kid#ma05 577,{
}
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?";
@@ -1299,7 +505,7 @@ malaya,363,283,4 script Local#ma06 582,{
mes "[Local]";
mes "Beware of Mongkukurums needle, foreigner.";
close;
- } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (malaya_hi < 20) {
mes "[Local]";
mes "Welcome to Port Malaya, foreigner..";
next;
@@ -1307,37 +513,27 @@ malaya,363,283,4 script Local#ma06 582,{
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) {
+ set .@name$, getd("$ma_name0"+rand(1,6)+"$");
+ switch(rand(1,6)) {
+ case 1:
mes "[Local]";
- mes "Be careful walking around the village at night." + .@name$ + "was taken down by Wokwok.";
+ mes "Be careful walking around the village at night. "+.@name$+" was taken down by Wokwok.";
close;
- } else if (.@name_tak02 == 2) {
+ case 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? Çѹø º¸°í ½ÍÀºµ¥..";
+ mes .@name$+" is said to have successfully tamed a Tikbalang. This person must be courageous. Wonder if I'll get to see this tamed Tikbalang?";
close;
- } else if (.@name_tak02 == 3) {
+ case 3:
mes "[Local]";
- mes "Have you ever seen Bongisungisu? I heard" + .@name$ + "is hunting down Bongisungisus.";
+ mes "Have you ever seen Bongisungisu? I heard "+.@name$+" is hunting down Bongisungisus.";
close;
- } else if (.@name_tak02 == 4) {
+ case 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.";
+ 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 hospital.";
close;
+ case 5:
+ case 6:
+ break;
}
mes "[Local]";
mes "The village is chaotic these days. Looks like Mongkukurum is back in the village.";
@@ -1365,37 +561,21 @@ malaya,363,283,4 script Local#ma06 582,{
}
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)) {
+ } else if (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) {
+ if (rand(1,3) == 2) {
mes "[Old Man]";
- mes "" + .@name$ + "is said to throw out Jellopy in this village.";
+ mes getd("$ma_name0"+rand(1,6)+"$")+" 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.";
+ mes "Tsk, tsk... Must be a person that isn't worthy of a Jellopy.";
close;
}
mes "[Old Man]";
@@ -1406,82 +586,65 @@ malaya,41,127,6 script Old Man #ma07 574,{
next;
select("What happens?");
mes "[Old Man]";
- mes "Well, for a Bangungot, it means losing its home so they get revengeful.";
+ mes "Well, for a Bangungot, it means losing its home so they get vengeful.";
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.";
+ mes "But as time goes by and their vengeance grows, 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.";
+ mes "Ha ha ha. There are no Bangungots in normal pillars, so don't lose sleep over 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.";
+ mes "I don't have anything to share with you.";
close;
- } else if ((malaya_hi > 9) && (malaya_hi < 20)) {
+ } else if (malaya_hi < 20) {
mes "[Woman]";
- mes "Im worried about the children. I hope they arent terrified from whats going on in the village.";
+ mes "Im worried about the children. I hope they aren't 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) {
+ if (rand(1,3) == 2) {
+ set .@name$, getd("$ma_name0"+rand(1,6)+"$");
+ set .@rand, rand(1,10);
+ if (.@rand < 5) {
mes "[Woman]";
- mes "I like fun stories. Not so long ago," + .@name$ + "came and told me a funny story.";
+ mes "I like fun stories. Not so long ago, "+.@name$+" came and told me a funny story.";
next;
+ }
+ switch(.@rand) {
+ case 1:
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;
+ break;
+ case 2:
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;
+ break;
+ case 3:
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;
+ break;
+ case 4:
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.";
+ mes .@name$+" said that and was kicked out of the Tool Store.";
next;
- } else if (.@nongdum == 5) {
+ break;
+ case 5:
mes "[Woman]";
- mes "A Kafra Employee Im friends with told me a story about a customer.";
+ mes "A Kafra Employee I'm 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.'";
@@ -1489,16 +652,16 @@ malaya,63,185,4 script Woman#ma08 583,{
mes "[Woman]";
mes "He he... I do like funny stories but a bit difficult for my taste.";
close;
- } else {
+ default:
mes "[Woman]";
- mes "I like fun stories. Oh by the way!" + .@name$ + ", love is photogenic. Dont you agree?";
+ mes "I like fun stories. Oh by the way! "+.@name$+", love is photogenic. Don't you agree?";
next;
mes "[Woman]";
mes "It needs darkness to develop.";
next;
}
mes "[Woman]";
- mes "He he. Isnt it fun?";
+ mes "He he. Isn't it fun?";
close;
}
mes "[Woman]";
@@ -1513,13 +676,15 @@ malaya,63,185,4 script Woman#ma08 583,{
next;
select("Sounds like a sneaky monster.");
mes "[Woman]";
- mes "Yes, this monster is bad to trick the kindness of travelers but,";
+ 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.";
+ mes "There is rumor that the monster came from the soul of a baby that never been born. So sad.";
close;
}
+// Jeepneys
+//============================================================
function script F_Malaya_Jeepney {
.@mapName$ = getarg(0);
.@passengers = getarg(1);
@@ -1542,7 +707,7 @@ function script F_Malaya_Jeepney {
mes getarg(4);
next;
}
- switch (select("Board [Passenger " + getmapusers(.@mapName$) + "/" + .@passengers +"]:Jeepney?:Are there any other Jeepneys?:Ah... Yes...")) {
+ switch(select("Board [Passenger " + getmapusers(.@mapName$) + "/" + .@passengers +"]:Jeepney?:Are there any other Jeepneys?:Ah... Yes...")) {
case 1:
if (getmapusers(.@mapName$) >= .@passengers) {
mes "[Jeepney Driver]";
@@ -1559,10 +724,9 @@ function script F_Malaya_Jeepney {
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;
}
@@ -1610,15 +774,17 @@ function script F_Malaya_Jeepney {
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
+ "F_Malaya_Jeepney",
+ "ma_zif01",
+ 12,
+
+ // Messages for malaya_hi checks.
+ "UUrgghhhh.... I'm scared... so scared... what happened to this place?",
+ "The place is still a mess... I wonder if I can operate a jeepney here...",
+ "Ha ha ha Welcome. I am ^1561EAVol^000000, operating the 12 man Jeepney here.",
+
+ // Monologues of variable lengths.
+ "Is this your first time in Port Malaya?",
"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.",
@@ -1628,15 +794,15 @@ malaya,237,240,4 script Jeepney Driver#01 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif02",
+ 12,
+
+ "Wha... What's... Going on in that hospital...",
+ "I think the moaning coming from the hospital has lessened...",
+ "I'm ^1561EAChui^000000, operating a 12 man Jeepney. Hi there~",
+
+ "Is this your first time in Port Malaya?",
"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...",
@@ -1646,15 +812,15 @@ malaya,67,44,4 script Jeepney Driver#02 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif03",
+ 12,
+
+ "It's not good for outsiders to have a chat... Perhaps the Mumbaki Leader may have the solution for this.",
+ "Are you the adventurer who recently met Mumbaki? No wait... Then you shouldn't be here... Yes it's a ghost... Arghhhh...",
+ "The name's ^1561EATop^000000, operating one of the 3 12 man Jeepneys in town.",
+
+ "First time in town?",
"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...",
@@ -1664,15 +830,15 @@ malaya,282,129,4 script Jeepney Driver#03 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif04",
+ 30,
+
+ "G...Go... Go away...",
+ "Arghh... Scared the devil out of me... Go away... Shoo...",
+ "^1561EABrav^000000, 30 man Jeepney driver at your service, driving as safely as I can since I get scared easily.",
+
+ "Is this your first time in Port Malaya?",
"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.",
@@ -1682,15 +848,15 @@ malaya,134,250,6 script Jeepney Driver#04 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif05",
+ 30,
+
+ "G... Ghosts in town... Hey... Do you have one on you?",
+ "I think there are fewer ghosts now... The town is slightly quieter...",
+ "Hi I'm ^1561EALivil^000000 operator for the 30 man Jeepney. Safety is my priority.",
+
+ "First time in town?",
"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.",
@@ -1700,15 +866,15 @@ malaya,341,153,4 script Jeepney Driver#05 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif06",
+ 30,
+
+ "Gu... Guards... What are the guards doing...",
+ "Did the guards finally do something? Phew... What a rush...",
+ "I'm ^1561EAGad^000000, the trustworthy 30 man Jeepney driver.",
+
+ "I see you're new to this town.",
"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",
@@ -1718,30 +884,30 @@ malaya,293,290,6 script Jeepney Driver#06 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif07",
+ 60,
+
+ "Oh no... I think the whole village is bewitched by ghosts... Maybe... I should give the Mumbaki Leader a visit...",
+ "Ghost... I'm sure the Mumbaki Leader knows how to get rid of these ghosts...",
+ "^1561EAHott^000000, at your service, the safest 60 man Jeepney Operator.",
+
+ "Jeepney is the public transportation of Port Malaya.",
"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
+ "F_Malaya_Jeepney",
+ "ma_zif08",
+ 60,
+
+ "Shoo~ Be gone if you're a ghost, and go away even if you're human~ Shoo~",
+ "Hey... You... Are human right? Right? Huh? Say you are... Please...",
+ "Hullo, I'm ^1561EAMuyan^000000, operator of this 60 man Jeepney. Nice to meet you.",
+
+ "Jeepneys are public transport, so safety is our priority.",
"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."
);
@@ -1749,18 +915,18 @@ malaya,62,245,6 script Jeepney Driver#08 582,{
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
+ "F_Malaya_Jeepney",
+ "ma_zif09",
+ 60,
+
+ "...You're an outsider... Don't go touching anything and be careful in town...",
+ "The town is still quite dangerous. Best not touch anything until it is safe.",
+ "Hi there. I'm ^1561EAGramma^000000, Operator of the 60 man Jeepney of Port Malaya.",
+
+ "Is this your first time in Port Malaya?",
"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 a3f06edb9..baa5f90bc 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -1,22 +1,20 @@
//===== Hercules Script ======================================
//= Mora Village
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Mora Town Script
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [SuperHulk]
//= 1.1 Translations to English. [Flaid]
//= 1.1a Standardized. [Euphy]
//= 1.2 Added new NPCs. [Flaid]
//= 1.3 Replaced with full iRO town NPCs. [Euphy]
//= 1.4 Updated to match the official scripts. [Euphy]
-//============================================================
+//============================================================
// Set 1 :: mora_resident
//============================================================
diff --git a/npc/re/cities/yuno.txt b/npc/re/cities/yuno.txt
new file mode 100644
index 000000000..630969db6
--- /dev/null
+++ b/npc/re/cities/yuno.txt
@@ -0,0 +1,20 @@
+//===== Hercules Script ======================================
+//= Juno City
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= NPCs for the City of Juno
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+yuno,150,283,4 duplicate(JunoSoldier1) Juno Soldier#juno 852
+yuno,165,283,4 duplicate(JunoSoldier2) Juno Soldier#2juno 852
+yuno,227,292,4 duplicate(JunoSoldier3) Juno Soldier#3juno 852
+yuno,165,228,4 duplicate(JunoSoldier4) Juno Soldier#4juno 852
+yuno,150,228,4 duplicate(JunoSoldier5) Juno Soldier#5juno 852
+yuno,334,182,4 duplicate(JunoSoldier6) Juno Soldier#6juno 852
+yuno,263,320,4 duplicate(JunoSoldier7) Juno Soldier#7juno 852
diff --git a/npc/re/guides/guides_alberta.txt b/npc/re/guides/guides_alberta.txt
index 9b1b86a92..d18ec2031 100644
--- a/npc/re/guides/guides_alberta.txt
+++ b/npc/re/guides/guides_alberta.txt
@@ -3,14 +3,13 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.1
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Alberta
//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
+//= 1.1 Navigation system update. [Euphy]
//============================================================
alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
@@ -19,7 +18,9 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
mes "Welcome to ^8B4513Alberta^000000,";
mes "the Port City.";
mes "Do you need help navigating the city?";
+ F_Navi("[Alberta Guide]");
next;
+ set .@str$,"Would you like to check any other locations?";
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:[ Destination Ports ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
@@ -29,54 +30,54 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
case 1:
mes "[Alberta Guide]";
mes "Let me mark the location of the";
- mes "the ^0000FFTool Shop^000000";
+ mes "the "+F_Navi("Tool Shop","alberta,98,154","^0000FF");
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,98,154,0,0x0A82FF;
next;
break;
case 2:
mes "[Alberta Guide]";
- mes "The ^B9062FForge^000000 is currently";
+ mes "The "+F_Navi("Forge","alberta,35,41","^B9062F")+" is currently";
mes "located inside the Merchant Guild building.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,35,41,1,0xFF0000;
next;
break;
case 3:
mes "[Alberta Guide]";
mes "Let me mark the location of the";
- mes "the ^FF5400Weapon & Armor Shop^000000";
+ mes "the "+F_Navi("Weapon & Armor Shop","alberta,117,37","^FF5400");
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,117,37,2,0xFFB400;
next;
break;
case 4:
mes "[Alberta Guide]";
mes "Let me mark the location of the";
- mes "the ^006400Inn^000000";
+ mes "the "+F_Navi("Inn","alberta,65,233","^006400");
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,65,233,3,0xAAFF00;
next;
break;
case 5:
mes "[Alberta Guide]";
mes "Let me mark the location of the";
- mes "the ^7F3300Beauty Salon^000000";
+ mes "the "+F_Navi("Beauty Salon","alberta,48,145","^7F3300");
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,48,145,4,0xD2691E;
next;
break;
case 6:
mes "[Alberta Guide]";
- mes "The Merchant Guild is where";
- mes "you can change your job to ^800080Merchant.";
+ mes "The "+F_Navi("Merchant Guild","alberta,33,41")+" is where";
+ mes "you can change your job to ^800080Merchant^000000.";
mes "Let me mark its location";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,33,41,5,0xDA70D6;
next;
break;
@@ -92,10 +93,10 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Cool Event Employee ]:[ Bullet Merchant ]:[ Cooking Ingredient Merchant ]:Previous Menu")) {
case 1:
mes "[Alberta Guide]";
- mes "^B9062FEden Teleport Officers^000000 are located in south Alberta";
- mes "and inside the Merchant Guild building.";
+ mes "^B9062FEden Teleport Officers^000000 are located in "+F_Navi("south Alberta","alberta,121,68");
+ mes "and inside the "+F_Navi("Merchant Guild","alberta,33,41")+" building.";
mes "Let me mark their locations on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,33,41,6,0xFF0000;
viewpoint 1,121,68,7,0xFF0000;
next;
@@ -105,7 +106,7 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
mes "Let me mark the location of the";
mes "^0000FFKafra Employees^000000";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,33,41,8,0x0A82FF;
viewpoint 1,113,60,9,0x0A82FF;
next;
@@ -113,8 +114,8 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
case 3:
mes "[Alberta Guide]";
mes "When you win event items,";
- mes "you can claim them through the ^FF5400Cool Event Employee^000000.";
- mes "Would you like to check any other locations?";
+ mes "you can claim them through the "+F_Navi("Cool Event Employee","alberta,148,57","^FF5400")+".";
+ mes .@str$;
viewpoint 1,148,57,10,0xFFB400;
next;
break;
@@ -122,17 +123,17 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
mes "[Alberta Guide]";
mes "The ^7F3300Bullet Merchants^000000 for ^7F3300Gunslingers^000000";
mes "are located";
- mes "near the center of the city.";
- mes "Would you like to check any other locations?";
+ mes "near the "+F_Navi("center of the city","alberta,117,158")+".";
+ mes .@str$;
viewpoint 1,117,158,11,0xD2691E;
next;
break;
case 5:
mes "[Alberta Guide]";
- mes "The ^006400Chef Assistant^000000 in Alberta";
+ mes "The "+F_Navi("Chef Assistant","alberta,167,135","^006400")+" in Alberta";
mes "has many regular customers,";
mes "especially for his ^006400Delicious Fishes^000000.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,167,135,12,0xAAFF00;
next;
break;
@@ -145,77 +146,32 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
case 3:
set .@loop,1;
while (.@loop) {
- switch(select("[ Port - Northern Dock ]:[ Port - Brasilis ]:[ Port - Amatsu ]:[ Port - Kunlun ]:[ Port - Moscovia ]:[ Port - Louyang ]:[ Port - Ayothaya ]:Previous Menu")) {
+ switch(select("[ Port - Northern Dock ]:[ Port - Central Dock ]:[ Port - Southern Dock ]:Previous Menu")) {
case 1:
mes "[Alberta Guide]";
- mes "You can use";
- mes "the ^B9062FNorthern Dock^000000";
- mes "to go to the ^B9062FSunken Ship^000000 or ^B9062FIzlude Marina^000000.";
- mes "Would you like to check any other locations?";
- viewpoint 1,192,151,13,0xFF0000;
+ mes "You can use the "+F_Navi("Northern Dock","alberta,192,196");
+ mes "to go to ^0000FFPort Malaya^000000 or ^0000FFDewata^000000.";
+ mes .@str$;
+ viewpoint 1,192,196,13,0xFF0000;
next;
break;
case 2:
mes "[Alberta Guide]";
- mes "Please talk to the ^800080Crewman^000000 at the Alberta Port";
- mes "if you'd like to visit ^800080Brasilis^000000,";
- mes "the City of Passion.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,82,14,0xDA70D6;
+ mes "You can use the "+F_Navi("Central Dock","alberta,192,151");
+ mes "to go to the ^B9062FSunken Ship^000000 or ^B9062FIzlude Marina^000000.";
+ mes .@str$;
+ viewpoint 1,192,151,14,0xFF0000;
next;
break;
case 3:
mes "[Alberta Guide]";
- mes "Please talk to the";
- mes "the ^0000FFSea Captain^000000 at the Alberta Port";
- mes "if you'd like to enjoy viewing cherry blossoms";
- mes "in ^0000FFAmatsu^000000.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,74,15,0x0A82FF;
+ mes "You can use the "+F_Navi("Southern Dock","alberta,245,86");
+ mes "to go to ^0000FFTurtle Island^000000, ^0000FFBrasilis^000000, ^0000FFAmatsu^000000, ^0000FFKunlun^000000, ^0000FFMoscovia^000000, ^0000FFLouyang^000000, or ^0000FFAyothaya^000000.";
+ mes .@str$;
+ viewpoint 1,245,86,15,0xFF0000;
next;
break;
case 4:
- mes "[Alberta Guide]";
- mes "Please talk to the";
- mes "^B9062FKunlun Envoy^000000 at the Alberta Port";
- mes "if you'd like to experience the exotic atmosphere of ^B9062FKunlun^000000.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,62,16,0xFF0000;
- next;
- break;
- case 5:
- mes "[Alberta Guide]";
- mes "Please talk to the";
- mes "^FF5400Moscovia P.R. Officer^000000 at the Alberta Port";
- mes "if you'd like to move to";
- mes "^FF5400Moscovia^000000,";
- mes "the Eden on the ocean.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,51,17,0xFFB400;
- next;
- break;
- case 6:
- mes "[Alberta Guide]";
- mes "Please talk to the";
- mes "^7F3300Girl^000000 at the Alberta Port";
- mes "if you'd like to move to the historical city,";
- mes "^7F3300Louyang^000000.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,40,18,0xD2691E;
- next;
- break;
- case 7:
- mes "[Alberta Guide]";
- mes "Please talk to";
- mes "^800080Aibakthing^000000 at the Alberta Port";
- mes "if you'd like to move to";
- mes "^800080Ayothaya^000000,";
- mes "the religious city.";
- mes "Would you like to check any other locations?";
- viewpoint 1,246,29,19,0xDA70D6;
- next;
- break;
- case 8:
set .@loop,0;
break;
}
@@ -241,10 +197,6 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
viewpoint 2,1,1,13,0xFFFF00;
viewpoint 2,1,1,14,0xFFFF00;
viewpoint 2,1,1,15,0xFFFF00;
- viewpoint 2,1,1,16,0xFFFF00;
- viewpoint 2,1,1,17,0xFFFF00;
- viewpoint 2,1,1,18,0xFFFF00;
- viewpoint 2,1,1,19,0xFFFF00;
next;
break;
case 5:
@@ -256,6 +208,5 @@ alberta,23,238,4 script Guide#01alberta::AlbertaGuide 105,{
}
}
}
-
alberta,120,60,3 duplicate(AlbertaGuide) Guide#02alberta 105
alberta,184,143,4 duplicate(AlbertaGuide) Guide#03alberta 105
diff --git a/npc/re/guides/guides_aldebaran.txt b/npc/re/guides/guides_aldebaran.txt
index 9593e0b2e..e9b44d4c7 100644
--- a/npc/re/guides/guides_aldebaran.txt
+++ b/npc/re/guides/guides_aldebaran.txt
@@ -1,16 +1,16 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Al De Baran Guides
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.1
//===== Description: =========================================
//= [Official Conversion]
-//= Guides for the city of Al De baran
+//= Guides for the city of Al De Baran.
//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
+//= 1.1 Navigation system update. [Euphy]
+//= Optimized.
//============================================================
aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
@@ -19,7 +19,9 @@ aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
mes "Welcome to ^8B4513Al De Baran^000000,";
mes "the Border City.";
mes "Do you need help navigating the city?";
+ F_Navi("[Al De Baran Guide]");
next;
+ set .@str$,"Would you like to check any other locations?";
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
@@ -27,55 +29,43 @@ aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
while (.@loop) {
switch(select("[ Kafra Headquarters ]:[ Alchemist Guild ]:[ Clock Tower ]:[ Inn & Tool Shop ]:[ Repair & Buy Equipment ]:[ Tavern ]:Previous Menu")) {
case 1:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "^B9062FKafra Headquarters^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Kafra Headquarters","aldebaran,61,229","^B9062F");
+ mes .@str$;
viewpoint 1,61,229,0,0xFF0000;
next;
break;
case 2:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "the ^0000FFAlchemist Guild^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Alchemist Guild","aldebaran,60,60","^0000FF");
+ mes .@str$;
viewpoint 1,60,60,1,0x0A82FF;
next;
break;
case 3:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "the ^FF5400Clock Tower^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Clock Tower","aldebaran,139,133","^FF5400");
+ mes .@str$;
viewpoint 1,139,133,2,0xFFB400;
next;
break;
case 4:
mes "[Al De Baran Guide]";
mes "Let me mark the location of the";
- mes "the ^006400Inn^000000 and";
- mes "the ^006400Tool Shop^000000 building";
+ mes F_Navi("Inn & Tool Shop","aldebaran,197,70","^006400")+" building";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,197,70,3,0xAAFF00;
next;
break;
case 5:
mes "[Al De Baran Guide]";
- mes "If you'd like to ^7F3300Buy or Repair Equipment^000000,";
+ mes "If you'd like to ";
+ mes F_Navi("Buy or Repair Equipment","aldebaran,197,70","^7F3300")+",";
mes "then this is the place you'll want to visit.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,72,197,4,0xD2691E;
next;
break;
case 6:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "the ^800080Tavern^000000";
- mes "on your mini-map.";
+ callsub L_Mark, F_Navi("Tavern","aldebaran,231,106","^800080");
viewpoint 1,231,106,5,0xDA70D6;
next;
break;
@@ -90,38 +80,29 @@ aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
while (.@loop) {
switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Mr. Claus ]:[ Chef Assistant ]:Previous Menu")) {
case 1:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "^B9062FEden Teleport Officer^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Eden Teleport Officer","aldebaran,133,119","^B9062F");
+ mes .@str$;
viewpoint 1,133,119,6,0xFF0000;
next;
break;
case 2:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "^0000FFKafra Employee^000000";
- mes "on your mini-map.";
+ callsub L_Mark, "^0000FFKafra Employee^000000";
viewpoint 1,143,119,7,0x0A82FF;
next;
break;
case 3:
mes "[Al De Baran Guide]";
mes "Mr. Claus can teleport";
- mes "you to ^006400Lutie^000000.";
+ mes "you to "+F_Navi("Lutie","aldebaran,168,168","^006400")+".";
mes "Let me mark his location";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,168,168,8,0xAAFF00;
next;
break;
case 4:
- mes "[Al De Baran Guide]";
- mes "Let me mark the location of the";
- mes "^7F3300Chef Assistant^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Chef Assistant","aldebaran,165,107","^7F3300");
+ mes .@str$;
viewpoint 1,165,107,9,0xD2691E;
next;
break;
@@ -156,8 +137,14 @@ aldebaran,139,63,4 script Guide#01aldebaran::GuideAldearan 105,{
end;
}
}
+ end;
+L_Mark:
+ mes "[Al De Baran Guide]";
+ mes "Let me mark the location of the";
+ mes getarg(0);
+ mes "on your mini-map.";
+ return;
}
-
aldebaran,243,143,2 duplicate(GuideAldearan) Guide#02aldebaran 105
aldebaran,135,243,4 duplicate(GuideAldearan) Guide#03aldebaran 105
aldebaran,36,135,6 duplicate(GuideAldearan) Guide#04aldebaran 105
diff --git a/npc/re/guides/guides_amatsu.txt b/npc/re/guides/guides_amatsu.txt
index 4ab124e27..f9498499f 100644
--- a/npc/re/guides/guides_amatsu.txt
+++ b/npc/re/guides/guides_amatsu.txt
@@ -3,15 +3,14 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Amatsu.
//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
+//= 1.2 Navigation system update. [Euphy]
//============================================================
amatsu,202,91,3 script Amatsu Guide#amatsu 758,{
@@ -27,39 +26,40 @@ amatsu,202,91,3 script Amatsu Guide#amatsu 758,{
mes "as Miss Amatsu.";
mes "Please tell me";
mes "if you want to know something.";
+ F_Navi("[Amachang]");
while (1) {
next;
switch(select("[ Kafra Employee ]:[ Bar ]:[ Weapon Dealer ]:[ Tool Dealer ]:[ Amatsu Palace ]:[ Chef Assistant ]:[ Ninja Guild Building ]:[ Sea Captain ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
- callsub L_Mark,"^0000FFKafra Employee";
+ callsub L_Mark, "^0000FFKafra Employee^000000";
viewpoint 1,102,149,0,0x0A82FF;
break;
case 2:
- callsub L_Mark,"^006400Bar";
+ callsub L_Mark, F_Navi("Bar","amatsu,215,116","^006400");
viewpoint 1,215,116,1,0xAAFF00;
break;
case 3:
- callsub L_Mark,"^008080Weapon Dealer";
+ callsub L_Mark, F_Navi("Weapon Dealer","amatsu,129,117","^008080");
viewpoint 1,129,117,2,0x008080;
break;
case 4:
- callsub L_Mark,"^FF1493Tool Dealer";
+ callsub L_Mark, F_Navi("Tool Dealer","amatsu,97,117","^FF1493");
viewpoint 1,97,117,3,0xFF1493;
break;
case 5:
- callsub L_Mark,"^8B4513Amatsu Palace";
+ callsub L_Mark, F_Navi("Amatsu Palace","amatsu,87,235","^8B4513");
viewpoint 1,87,235,4,0x8B4513;
break;
case 6:
- callsub L_Mark,"^8A2BE2Chef Assistant";
+ callsub L_Mark, F_Navi("Chef Assistant","amatsu,206,150","^8A2BE2");
viewpoint 1,206,150,5,0x8A2BE2;
break;
case 7:
- callsub L_Mark,"^4B0082Ninja Guild Building";
+ callsub L_Mark, F_Navi("Ninja Guild Building","amatsu,148,137","^4B0082");
viewpoint 1,148,137,6,0x4B0082;
break;
case 8:
- callsub L_Mark,"^00BFFFSea Captain";
+ callsub L_Mark, F_Navi("Sea Captain","amatsu,195,79","^00BFFF");
viewpoint 1,195,79,7,0x00BFFF;
break;
case 9:
@@ -84,7 +84,7 @@ amatsu,202,91,3 script Amatsu Guide#amatsu 758,{
end;
L_Mark:
mes "[Amachang]";
- mes "The "+getarg(0)+"^000000 is";
+ mes "The "+getarg(0)+" is";
mes "marked on your mini-map.";
mes "Is there anything else I can do for you?";
return;
diff --git a/npc/re/guides/guides_ayothaya.txt b/npc/re/guides/guides_ayothaya.txt
index 135e34671..fd61b1380 100644
--- a/npc/re/guides/guides_ayothaya.txt
+++ b/npc/re/guides/guides_ayothaya.txt
@@ -3,73 +3,77 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= [Official Conversion]
-//= Guide for the city of Ayothaya
+//= Guide for the city of Ayothaya.
//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Added missing case. [Joseph]
+//= 1.2 Navigation system update. [Euphy]
//============================================================
ayothaya,203,169,4 script Ayothaya Guide Noi#01ay 839,{
- mes "[Noi]";
+ if (strnpcinfo(0) == "Ayothaya Guide Noi#01ay")
+ set .@n$, "[Noi]";
+ else
+ set .@n$, "[Noa]";
+ mes .@n$;
mes "Hello~";
mes "Welcome to ^8B4513Ayothaya^000000.";
mes "This town is linked to a river through the wild forest.";
mes "It's a really calm country.";
mes "Take your time to look around.";
+ F_Navi(.@n$);
while (1) {
next;
switch(select("[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Shrine ]:[ Fishing Spot ]:[ Aibakthing ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
- mes "[Noi]";
- mes "The ^0000FFWeapon Shop^000000";
+ mes .@n$;
+ mes "The "+F_Navi("Weapon Shop","ayothaya,163,90","^0000FF");
mes "in Ayothaya has special weapons.";
mes "You can find great weapons there.";
mes "Is there anything else I can do for you?";
viewpoint 1,163,90,0,0x0A82FF;
break;
case 2:
- mes "[Noi]";
- mes "Our citizens purchase many products in the ^006400Tool Shop^000000.";
+ mes .@n$;
+ mes "Our citizens purchase many products in the "+F_Navi("Tool Shop","ayothaya,131,86","^006400")+".";
mes "Make sure you get all you need there.";
- mes "Do you need anything else??";
+ mes "Do you need anything else?";
viewpoint 1,131,86,1,0xAAFF00;
break;
case 3:
- mes "[Noi]";
+ mes .@n$;
mes "Part of adventuring is collecting information.";
- mes "The ^008080Tavern^000000 is crowded with lots of travelers where you can get useful information.";
+ mes "The "+F_Navi("Tavern","ayothaya,229,72","^008080")+" is crowded with lots of travelers where you can get useful information.";
mes "Is there anything else I can do for you?";
viewpoint 1,229,72,2,0x008080;
break;
case 4:
- mes "[Noi]";
- mes "To calm your heart, go to the ^FF1493Shrine^000000 and say a prayer.";
+ mes .@n$;
+ mes "To calm your heart, go to the "+F_Navi("Shrine","ayothaya,208,280","^FF1493")+" and say a prayer.";
mes "Is there anything else I can do for you?";
viewpoint 1,208,280,3,0xFF1493;
break;
case 5:
- mes "[Noi]";
+ mes .@n$;
mes "Ayothaya is close to the beach, so most people enjoy fishing.";
mes "They really love to fish.";
- mes "Go ^8B4513fishing^000000 and try to grab a big fish.";
+ mes "Go "+F_Navi("fishing","ayothaya,255,99","^8B4513")+" and try to grab a big fish.";
mes "Is there anything else I can do for you?";
viewpoint 1,255,99,4,0x8B4513;
break;
case 6:
- mes "[Noi]";
+ mes .@n$;
mes "If you want to return home";
- mes "find ^00BFFFAibakthing^000000";
+ mes "find "+F_Navi("Aibakthing","ayothaya,151,68","^00BFFF");
mes "and ask him to send you back.";
mes "Is there anything else I can do for you?";
viewpoint 1,151,68,5,0x00BFFF;
break;
case 7:
- mes "[Noi]";
+ mes .@n$;
mes "I'll remove all marks from your mini-map.";
mes "Do you need anything else??";
viewpoint 2,1,1,0,0xFFFFFF;
@@ -80,91 +84,10 @@ ayothaya,203,169,4 script Ayothaya Guide Noi#01ay 839,{
viewpoint 2,1,1,5,0xFFFFFF;
break;
case 8:
- mes "[Noi]";
- mes "Enjoy your trip~!";
- close;
- }
- }
-}
-
-ayothaya,146,86,4 script Ayothaya Guide Noa#01ay 839,{
- mes "[Noa]";
- mes "Hello~";
- mes "Welcome to ^8B4513Ayothaya^000000.";
- mes "This town is linked to a river through the wild forest.";
- mes "It's a really calm country.";
- mes "Take your time to look around.";
- while (1) {
- next;
- switch(select("[ Kafra Employee ]:[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Shrine ]:[ Fishing Spot ]:[ Aibakthing ]:Remove Marks from Mini-Map:Cancel")) {
- case 1:
- mes "[Noa]";
- mes "The ^0000FFKafra Employee^000000 is";
- mes "marked on your mini-map.";
- mes "Check your mini-map.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,212,169,0,0x0A82FF;
- break;
- case 2:
- mes "[Noa]";
- mes "The ^0000FFWeapon Shop^000000";
- mes "in Ayothaya has special weapons.";
- mes "You can find great weapons there.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,163,90,1,0xAAFF00;
- break;
- case 3:
- mes "[Noa]";
- mes "Our citizens purchase many products in the ^006400Tool Shop^000000.";
- mes "Make sure you get all you need there.";
- mes "Do you need anything else??";
- viewpoint 1,131,86,2,0x008080;
- break;
- case 4:
- mes "[Noa]";
- mes "Part of adventuring is collecting information.";
- mes "The ^008080Tavern^000000 is crowded with lots of travelers where you can get useful information.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,229,72,3,0xFF1493;
- break;
- case 5:
- mes "[Noa]";
- mes "To calm your heart, go to the ^FF1493Shrine^000000 and say a prayer.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,208,280,4,0x8B4513;
- break;
- case 6:
- mes "[Noa]";
- mes "Ayothaya is close to the beach, so most people enjoy fishing.";
- mes "They really love to fish.";
- mes "Go ^8B4513fishing^000000 and try to grab a big fish.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,255,99,5,0x9400D3;
- break;
- case 7:
- mes "[Noa]";
- mes "If you want to return home";
- mes "find ^00BFFFAibakthing^000000";
- mes "and ask him to send you back.";
- mes "Is there anything else I can do for you?";
- viewpoint 1,151,68,6,0x00BFFF;
- break;
- case 8:
- mes "[Noa]";
- mes "I'll remove all marks from your mini-map.";
- mes "Do you need anything else??";
- viewpoint 2,1,1,0,0xFFFFFF;
- viewpoint 2,1,1,1,0xFFFFFF;
- viewpoint 2,1,1,2,0xFFFFFF;
- viewpoint 2,1,1,3,0xFFFFFF;
- viewpoint 2,1,1,4,0xFFFFFF;
- viewpoint 2,1,1,5,0xFFFFFF;
- viewpoint 2,1,1,6,0xFFFFFF;
- break;
- case 9:
- mes "[Noa]";
+ mes .@n$;
mes "Enjoy your trip~!";
close;
}
}
}
+ayothaya,146,86,4 duplicate(Ayothaya Guide Noi#01ay) Ayothaya Guide Noa#02ay 839
diff --git a/npc/re/guides/guides_brasilis.txt b/npc/re/guides/guides_brasilis.txt
index b94dc87f0..68b6df91f 100644
--- a/npc/re/guides/guides_brasilis.txt
+++ b/npc/re/guides/guides_brasilis.txt
@@ -3,79 +3,73 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= [Official Conversion]
-//= Guide for the city of Brasilis
+//= Guide for the city of Brasilis.
//===== Additional Comments: =================================
//= 1.0 First Version, Renewal guide.
//= 1.1 Added a missing close.
+//= 1.2 Navigation system update. [Euphy]
//============================================================
brasilis,219,97,3 script Brasilis Guide 478,{
mes "[Brasilis Guide]";
mes "Welcome to ^8B4513Brasilis^000000, a country as passionate as the sun.";
mes "If you have any questions, please ask me.";
+ F_Navi("[Brasilis Guide]");
next;
- mes "[Brasilis Guide]";
- mes "Where can I guide you?";
- while (1){
+ switch(select("Ask about locations:Remove Marks from Mini-Map:Cancel")) {
+ case 1:
+ mes "[Brasilis Guide]";
+ mes "Where can I guide you?";
next;
- switch(select("[ Hotel ]:[ Jungle Cable ]:[ Art Museum ]:[ Market ]:[ Verass Monument ]:Remove marks from Mini-Map:Cancel")) {
+ switch(select("[ Hotel ]:[ Jungle Cable ]:[ Art Museum ]:[ Market ]:[ Verass Monument ]")) {
case 1:
mes "[Brasilis Guide]";
- mes "The Brasilis Hotel is located just above, ^FF3355+^000000.";
+ mes "The "+F_Navi("Brasilis Hotel","brasilis,274,151")+" is located just above, ^FF3355+^000000.";
mes "Is there anything else I can do for you?";
viewpoint 1,274,151,2,0xFF3355;
- next;
- break;
+ close;
case 2:
mes "[Brasilis Guide]";
- mes "Do you want to go through the rough jungle? You can take a Jungle Cable here ^CE6300+^000000.";
+ mes "Do you want to go through the rough jungle? You can take a ";
+ mes F_Navi("Jungle Cable","brasilis,308,335")+" here ^CE6300+^000000.";
mes "Is there anything else I can do for you?";
viewpoint 1,308,335,3,0xCE6300;
- next;
- break;
+ close;
case 3:
mes "[Brasilis Guide]";
- mes "The pride of Brasilis, the world scale Art Museum is at ^A5BAAD+^000000.";
+ mes "The pride of Brasilis, the world scale "+F_Navi("Art Museum","brasilis,137,167")+" is at ^A5BAAD+^000000.";
mes "Is there anything else I can do for you?";
viewpoint 1,137,167,4,0x00FF00;
- next;
- break;
+ close;
case 4:
mes "[Brasilis Guide]";
- mes "You can buy items for hunting at the Market here ^55FF33+^000000.";
+ mes "You can buy items for hunting at the "+F_Navi("Market","brasilis,254,248")+" here ^55FF33+^000000.";
mes "Is there anything else I can do for you?";
viewpoint 1,254,248,5,0x55FF33;
- next;
- break;
+ close;
case 5:
mes "[Brasilis Guide]";
- mes "The iconic monument of Brasilis, the Verass Monument stands at ^3355FF+^000000.";
+ mes "The iconic monument of Brasilis, the "+F_Navi("Verass Monument","brasilis,195,222")+" stands at ^3355FF+^000000.";
mes "Is there anything else I can do for you?";
viewpoint 1,195,235,6,0x3355FF;
- next;
- break;
- case 6:
- mes "[Brasilis Guide]";
- mes "I'll remove all marks from your mini-map.";
- mes "Is there anything else I can do for you?";
- viewpoint 0,274,151,2,0x00FF00;
- viewpoint 0,308,335,3,0x00FF00;
- viewpoint 0,137,167,4,0x00FF00;
- viewpoint 0,254,248,5,0x00FF00;
- viewpoint 0,195,235,6,0x00FF00;
- next;
- break;
- case 7:
- mes "[Brasilis Guide]";
- mes "Wandering on your own is always the best way to explore. Anyway, take care.";
close;
}
+ case 2:
+ mes "[Brasilis Guide]";
+ mes "I'll remove all marks from your mini-map.";
+ mes "Is there anything else I can do for you?";
+ viewpoint 0,274,151,2,0x00FF00;
+ viewpoint 0,308,335,3,0x00FF00;
+ viewpoint 0,137,167,4,0x00FF00;
+ viewpoint 0,254,248,5,0x00FF00;
+ viewpoint 0,195,235,6,0x00FF00;
+ close;
+ case 3:
+ mes "[Brasilis Guide]";
+ mes "Wandering on your own is always the best way to explore. Anyway, take care.";
close;
- break;
}
}
diff --git a/npc/re/guides/guides_comodo.txt b/npc/re/guides/guides_comodo.txt
index 59988459e..85ad31703 100644
--- a/npc/re/guides/guides_comodo.txt
+++ b/npc/re/guides/guides_comodo.txt
@@ -3,15 +3,14 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Comodo.
//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
+//= 1.2 Navigation system update. [Euphy]
//============================================================
comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
@@ -19,6 +18,7 @@ comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
mes "Welcome to ^8B4513Comodo^000000,";
mes "the Beach Town of the Rune-Midgarts Kingdom.";
mes "Do you need help navigating the town?";
+ F_Navi("[Comodo Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel:About ^8B4513Comodo^000000")) {
@@ -27,57 +27,61 @@ comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
while (.@loop) {
switch(select("[ Tavern ]:[ Casino ]:[ Weapon & Armor Shop ]:[ Tool Shop ]:[ Campsite ]:[ Souvenir Vendor ]:[ East Cave Mao ]:[ West Cave Karu ]:[ North Cave Ruanda ]:[ Hula Dance Stage ]:[ Kafra Co. Western Branch ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FF0000Tavern";
+ callsub L_Mark, F_Navi("Tavern","comodo,161,315","^FF0000");
viewpoint 1,166,298,0,0xFF0000;
next;
break;
case 2:
- callsub L_Mark,"^FFA500Casino";
+ callsub L_Mark, F_Navi("Casino","comodo,140,111","^FFA500");
viewpoint 1,140,98,1,0xFFA500;
next;
break;
case 3:
- callsub L_Mark,"^FF4500Weapon & Armor Shop";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","comodo,266,74","^FF4500");
viewpoint 1,266,70,2,0xFF4500;
next;
break;
case 4:
- callsub L_Mark,"^B8860BTool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","comodo,92,128","^B8860B");
viewpoint 1,86,128,3,0xB8860B;
next;
break;
case 5:
- callsub L_Mark,"^32CD32Campsite";
+ callsub L_Mark, F_Navi("Campsite","comodo,209,308","^32CD32");
viewpoint 1,210,308,4,0x32CD32;
next;
break;
case 6:
- callsub L_Mark,"^6B8E23Souvenir Vendor";
+ callsub L_Mark, F_Navi("Souvenir Vendor","comodo,293,125","^6B8E23");
viewpoint 1,298,124,5,0x6B8E23;
next;
break;
case 7:
- callsub L_Mark,"^008B8BEast Cave Mao",1;
+ callsub L_Mark, F_Navi("East Cave Mao","comodo,333,175","^008B8B");
viewpoint 1,333,175,6,0x008B8B;
next;
break;
case 8:
- callsub L_Mark,"^1E90FFWest Cave Karu",1;
+ callsub L_Mark, F_Navi("West Cave Karu","comodo,24,214","^1E90FF");
viewpoint 1,24,214,7,0x1E90FF;
next;
break;
case 9:
- callsub L_Mark,"^0000CDNorth Cave Ruanda",1;
+ callsub L_Mark, F_Navi("North Cave Ruanda","comodo,176,358","^0000CD");
viewpoint 1,176,358,8,0x0000CD;
next;
break;
case 10:
- callsub L_Mark,"^C71585Hula Dance Stage";
+ callsub L_Mark, F_Navi("Hula Dance Stage","comodo,188,168","^C71585");
viewpoint 1,188,168,9,0xC71585;
next;
break;
case 11:
- callsub L_Mark,"^DB7093Kafra Corporation Western Branch";
+ mes "[Comodo Guide]";
+ mes "Let me mark the location of the";
+ mes F_Navi("Kafra Corporation Western Branch","comodo,131,195","^DB7093");
+ mes "on your mini-map.";
+ mes "Would you like to check any other locations?";
viewpoint 1,136,202,10,0xDB7093;
next;
break;
@@ -92,26 +96,26 @@ comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
while (.@loop) {
switch(select("[ Chief's House ]:[ Bor Robin ]:[ Kafra Employee ]:[ Roaming Bard ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^6495EDChief's House";
+ callsub L_Mark, F_Navi("Chief's House","comodo,115,290","^6495ED");
viewpoint 1,114,294,11,0x6495ED;
next;
break;
case 2:
mes "[Comodo Guide]";
- mes "^228B22Bor Robin^000000";
+ mes F_Navi("Bor Robin","comodo,193,151","^228B22");
mes "helps adventurers to become ^228B22Dancers^000000.";
mes "Would you like to check any other locations?";
viewpoint 1,193,151,12,0x228B22;
next;
break;
case 3:
- callsub L_Mark,"^1E90FFKafra Employee";
+ callsub L_Mark,"^1E90FFKafra Employee^000000";
viewpoint 1,195,149,13,0x1E90FF;
next;
break;
case 4:
mes "[Comodo Guide]";
- mes "The ^DB7093Roaming Bard^000000";
+ mes "The "+F_Navi("Roaming Bard","comodo,211,155","^DB7093");
mes "helps adventurers to become ^DB7093Bards^000000.";
mes "Would you like to check any other locations?";
viewpoint 1,211,155,14,0xDB7093;
@@ -167,12 +171,11 @@ comodo,322,178,4 script Comodo Guide#01comodo::GuideComodo 700,{
L_Mark:
mes "[Comodo Guide]";
mes "Let me mark the location of";
- mes ((getarg(1,0))?"":"the ")+getarg(0)+"^000000";
+ mes "the "+getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
}
-
comodo,181,347,4 duplicate(GuideComodo) Comodo Guide#02comodo 700
comodo,197,149,3 duplicate(GuideComodo) Comodo Guide#03comodo 700
comodo,37,219,4 duplicate(GuideComodo) Comodo Guide#04comodo 700
diff --git a/npc/re/guides/guides_dewata.txt b/npc/re/guides/guides_dewata.txt
index 28b8696c8..356ca81d1 100644
--- a/npc/re/guides/guides_dewata.txt
+++ b/npc/re/guides/guides_dewata.txt
@@ -1,17 +1,16 @@
//===== Hercules Script ======================================
//= Dewata Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Dewata.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Lemongrass]
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
dewata,202,106,4 script Dewata Guide#dewata01 535,{
mes "[Dewata Guide]";
@@ -21,71 +20,63 @@ dewata,202,106,4 script Dewata Guide#dewata01 535,{
next;
mes "[Dewata Guide]";
mes "Where can I guide you?";
+ F_Navi("[Dewata Guide]");
while (1) {
next;
- switch(select("[ Kafra Employee ]:[ Weapon Dealer ]:[ Armor Dealer ]:[ Tool Dealer ]:[ Krakatau Gatekeeper ]:[ Lodge Owner ]:[ Alberta Sailor ]:Remove marks from Mini-Map:Cancel")) {
- case 1:
- callsub L_Mark,"^0000FFKafra Employee";
- viewpoint 1,202,184,0,0x000FFF;
- break;
-
- case 2:
- callsub L_Mark,"^008080Armor Dealer";
- viewpoint 1,218,163,1,0x008080;
- break;
-
- case 3:
- callsub L_Mark,"^008080Weapon Dealer";
- viewpoint 1,158,182,2,0x008080;
- break;
-
- case 4:
- callsub L_Mark,"^FF1493Tool Dealer";
- viewpoint 1,182,164,3,0xFF1493;
- break;
-
- case 5:
- callsub L_Mark,"^FF1493Krakau Gatekeeper";
- viewpoint 1,232,59,4,0xFF1493;
- break;
-
- case 6:
- callsub L_Mark,"^8A2BE2Lodge Owner";
- viewpoint 1,195,235,5,0x8A2BE2;
- break;
-
- case 7:
- callsub L_Mark,"^00BFFFAlberta Sailor";
- viewpoint 1,230,52,6,0x00BFFF;
- break;
-
- case 8:
- mes "[Dewata Guide]";
- mes "I'll remove all marks from your mini-map.";
- mes "Is there anything else I can do for you?";
- viewpoint 2,202,184,0,0xFFFFFF;
- viewpoint 2,218,163,1,0xFFFFFF;
- viewpoint 2,158,182,2,0xFFFFFF;
- viewpoint 2,182,164,3,0xFFFFFF;
- viewpoint 2,232,59,4,0xFFFFFF;
- viewpoint 2,195,235,5,0xFFFFFF;
- viewpoint 2,230,52,6,0xFFFFFF;
- break;
-
- case 9:
- mes "[Dewata Guide]";
- mes "Enjoy your trip!!";
- close;
+ switch(select("[ Kafra Employee ]:[ Weapon Dealer ]:[ Armor Dealer ]:[ Tool Dealer ]:[ Restauranteur ]:[ Krakatau Gatekeeper ]:[ Alberta Sailor ]:Remove marks from Mini-Map:Cancel")) {
+ case 1:
+ callsub L_Mark, "^0000FFKafra Employee^000000";
+ viewpoint 1,202,184,0,0x000FFF;
+ break;
+ case 2:
+ callsub L_Mark, F_Navi("Weapon Dealer","dewata,218,164","^008080");
+ viewpoint 1,218,163,1,0x008080;
+ break;
+ case 3:
+ callsub L_Mark, F_Navi("Armor Dealer","dewata,158,182","^008080");
+ viewpoint 1,158,182,2,0x008080;
+ break;
+ case 4:
+ callsub L_Mark, F_Navi("Tool Dealer","dewata,182,164","^FF1493");
+ viewpoint 1,182,164,3,0xFF1493;
+ break;
+ case 5:
+ callsub L_Mark, F_Navi("Restauranteur","dewata,146,109","^FF1493");
+ viewpoint 1,146,109,4,0xFF1493;
+ break;
+ case 6:
+ callsub L_Mark, F_Navi("Krakau Gatekeeper","dewata,235,56","^8A2BE2");
+ viewpoint 1,235,56,5,0x8A2BE2;
+ break;
+ case 7:
+ callsub L_Mark, F_Navi("Alberta Sailor","dewata,229,49","^00BFFF");
+ viewpoint 1,229,49,6,0x00BFFF;
+ break;
+ case 8:
+ mes "[Dewata Guide]";
+ mes "I'll remove all marks from your mini-map.";
+ mes "Is there anything else I can do for you?";
+ viewpoint 2,202,184,0,0xFFFFFF;
+ viewpoint 2,218,163,1,0xFFFFFF;
+ viewpoint 2,158,182,2,0xFFFFFF;
+ viewpoint 2,182,164,3,0xFFFFFF;
+ viewpoint 2,232,59,4,0xFFFFFF;
+ viewpoint 2,195,235,5,0xFFFFFF;
+ viewpoint 2,230,52,6,0xFFFFFF;
+ break;
+ case 9:
+ mes "[Dewata Guide]";
+ mes "Enjoy your trip!!";
+ close;
}
}
L_Mark:
mes "[Dewata Guide]";
- mes "The "+getarg(0)+"^000000 is";
+ mes "The "+getarg(0)+" is";
mes "marked on your mini-map.";
mes "Check your mini-map.";
mes "Is there anything else I can do for you?";
return;
}
-
dewata,197,184,4 duplicate(Dewata Guide#dewata01) Dewata Guide#dewata02 535
diff --git a/npc/re/guides/guides_dicastes.txt b/npc/re/guides/guides_dicastes.txt
index d2e079da8..e802f9633 100644
--- a/npc/re/guides/guides_dicastes.txt
+++ b/npc/re/guides/guides_dicastes.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= El Dicastes Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of El Dicastes.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Joseph]
//= 1.1 Fixed viewpoint syntax. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
dicastes01,181,191,5 script Traveler Ichack#info 481,2,2,{
mes "[Traveler Ichack]";
@@ -25,6 +24,7 @@ dicastes01,181,191,5 script Traveler Ichack#info 481,2,2,{
mes "[Traveler Ichack]";
mes "That's why I will provide a service to guide adventurers from Rune-Midgard.";
mes "What would you like to know?";
+ F_Navi("[Traveler Ichack]");
next;
switch(select("Dicastes Diel:Residential Area:Training Room:Factory:Pub:Cat Hand Caravan")) {
case 1:
@@ -33,9 +33,9 @@ dicastes01,181,191,5 script Traveler Ichack#info 481,2,2,{
mes "It's said they discuss important things...";
next;
mes "[Traveler Ichack]";
- mes "Please make sure you signed in at the dior, otherwise you'll get in trouble.";
+ mes "Please make sure you signed in at the "+F_Navi("Diel","dicastes01,198,351")+", otherwise you'll get in trouble.";
mes "Go directly north from here and you can't miss it.";
- viewpoint 1,351,198,0,0x00FF00;
+ viewpoint 1,198,351,0,0x00FF00;
close;
case 2:
mes "[Traveler Ichack]";
@@ -46,39 +46,41 @@ dicastes01,181,191,5 script Traveler Ichack#info 481,2,2,{
mes "You won't believe me until you see it! Go see it for yourself!";
next;
mes "[Traveler Ichack]";
- mes "The residential area is divided into 2 area's.";
- mes "The lower residential area is around 7 o'clock and, the upper area is around 1 o'clock.";
- viewpoint 1,283,280,1,0x01FF01;
- viewpoint 1,106,136,2,0x0066FF;
+ mes "The residential area is divided into 2 areas.";
+ mes "The "+F_Navi("lower residential area","dicastes01,136,106")+" is around 7 o'clock, and the ";
+ mes F_Navi("upper area","dicastes01,280,283")+" is around 1 o'clock.";
+ viewpoint 1,280,283,1,0x01FF01;
+ viewpoint 1,136,106,2,0x0066FF;
close;
case 3:
mes "[Traveler Ichack]";
- mes "Because of the dangers here, we need better security..";
- mes "Have you ever been to the training room? The training guards seem to never sleep!";
- viewpoint 1,172,255,3,0xFFCCCC;
+ mes "Because of the dangers here, we need better security...";
+ mes "Have you ever been to the ";
+ mes F_Navi("training room","dicastes01,255,172")+"? The training guards seem to never sleep!";
+ viewpoint 1,255,172,3,0xFFCCCC;
close;
case 4:
mes "[Traveler Ichack]";
mes "This is one of the most important reasons why they live here.";
- mes "If you go to factory, you can see the recently refined Bradium.";
- viewpoint 1,256,97,4,0x0066FF;
+ mes "If you go to the "+F_Navi("factory","dicastes01,97,256")+", you can see the recently refined Bradium.";
+ viewpoint 1,97,256,4,0x0066FF;
close;
case 5:
mes "[Traveler Ichack]";
mes "Although I arrived here as the first adventurer, the owner of the pub was the first person here.";
- mes "Bumen Florine's pub is located underground in the lower residential area.";
+ mes F_Navi("Bumen Florine's pub","dicastes01,136,106")+" is located underground in the lower residential area.";
mes "He might have some valuable information for you.";
- viewpoint 1,106,136,5,0xFF3300;
+ viewpoint 1,136,106,5,0xFF3300;
close;
case 6:
mes "[Traveler Ichack]";
- mes "The cats seems that don't have good relationship with sapha same as us.";
+ mes "The "+F_Navi("cats","dicastes01,199,39")+" don't seem to have a good relationship with the Sapha like we do.";
mes "Perhaps it's because trading is involved.";
mes "Poor cats. They must be shivering from the cold out there.";
next;
mes "[Traveler Ichack]";
mes "You can find their caravan just outside the gates.";
- viewpoint 1,39,199,6,0x9933FF;
+ viewpoint 1,199,39,6,0x9933FF;
close;
}
OnTouch:
diff --git a/npc/re/guides/guides_eclage.txt b/npc/re/guides/guides_eclage.txt
index 1842a85dd..ed9432c95 100644
--- a/npc/re/guides/guides_eclage.txt
+++ b/npc/re/guides/guides_eclage.txt
@@ -1,16 +1,14 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eclage Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Description: =========================================
//= Guides for the city of Eclage.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
-//============================================================
+//============================================================
ecl_in01,48,60,4 script Eclage Guard#obb 447,{
mes "[Eclage Guard]";
diff --git a/npc/re/guides/guides_einbroch.txt b/npc/re/guides/guides_einbroch.txt
index 6d28cffef..81fa50bb5 100644
--- a/npc/re/guides/guides_einbroch.txt
+++ b/npc/re/guides/guides_einbroch.txt
@@ -1,17 +1,16 @@
//===== Hercules Script ======================================
-//= Einbroch, and Einbech Guides
-//===== By: ==================================================
+//= Einbroch and Einbech Guides
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
-//= Guides for the city of Einbroch, and Einbech
-//===== Additional Comments: =================================
-//= 1.0 First version, Renewal guide.
-//============================================================
+//= Guides for the cities of Einbroch and Einbech.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal guides.
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
cutin "ein_soldier",2;
@@ -21,6 +20,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
mes "the City of Steel.";
mes "Please ask me if you";
mes "have any questions.";
+ F_Navi("[Einbroch Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -30,7 +30,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
switch(select("[ Airport ]:[ Factory ]:[ Plaza ]:[ Hotel ]:[ Train Station ]:[ Weapon Shop ]:[ Laboratory ]:[ Monument ]:[ Blacksmith Guild ]:[ Gunslinger Guild ]:Previous Menu")) {
case 1:
mes "[Einbroch Guide]";
- mes "The ^FF0000Airport^000000 is located";
+ mes "The "+F_Navi("Airport","einbroch,64,204","^FF0000")+" is located";
mes "in the northwestern part";
mes "of the city. There you can";
mes "see our city's pride and joy, the Airship. Remember that you must pay admission to board the Airship.";
@@ -39,7 +39,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 2:
mes "[Einbroch Guide]";
- mes "The Factory, perhaps the";
+ mes "The "+F_Navi("Factory","einbroch,129,79")+", perhaps the";
mes "most important facility in";
mes "Einbroch, is located in the";
mes "southern part of the city.";
@@ -48,7 +48,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 3:
mes "[Einbroch Guide]";
- mes "The Plaza, our biggest";
+ mes "The "+F_Navi("Plaza","einbroch,129,79")+", our biggest";
mes "shopping district, can be";
mes "found just east from the";
mes "center of Einbroch.";
@@ -57,7 +57,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 4:
mes "[Einbroch Guide]";
- mes "The Hotel is east of";
+ mes "The "+F_Navi("Hotel","einbroch,254,199")+" is east of";
mes "the Plaza and offers top";
mes "caliber accomodations.";
mes "There, you can enjoy your";
@@ -67,7 +67,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 5:
mes "[Einbroch Guide]";
- mes "The Train Station is";
+ mes "The "+F_Navi("Train Station","einbroch,232,272")+" is";
mes "located in the northeast";
mes "part of Einbroch. Trains";
mes "running between here";
@@ -78,7 +78,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 6:
mes "[Einbroch Guide]";
- mes "The Weapon Shop is";
+ mes "The "+F_Navi("Weapon Shop","einbroch,216,211")+" is";
mes "located north from the";
mes "Plaza. There you can";
mes "purchase weapons for";
@@ -88,7 +88,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 7:
mes "[Einbroch Guide]";
- mes "The Laboratory is an";
+ mes "The "+F_Navi("Laboratory","einbroch,55,52")+" is an";
mes "annex of the Factory and";
mes "is located in the southwest";
mes "sector of Einbroch.";
@@ -98,7 +98,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
case 8:
mes "[Einbroch Guide]";
mes "I will mark the location";
- mes "of the ^808080Monument^000000";
+ mes "of the "+F_Navi("Monument","einbroch,178,173","^808080");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
viewpoint 1,178,173,7,0x808080;
@@ -106,7 +106,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
break;
case 9:
mes "[Einbroch Guide]";
- mes "The Blacksmith Guild is";
+ mes "The "+F_Navi("Blacksmith Guild","einbroch,255,110")+" is";
mes "located in the southeast";
mes "part of Einbroch. You can";
mes "upgrade your equipment";
@@ -117,7 +117,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
case 10:
mes "[Einbroch Guide]";
mes "I will mark the location";
- mes "of the ^008080Gunslinger Guild^000000";
+ mes "of the "+F_Navi("Gunslinger Guild","einbroch,130,197","^008080");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
viewpoint 1,130,197,9,0x008080;
@@ -142,7 +142,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
next;
mes "[Einbroch Guide]";
mes "I will mark the location";
- mes "of the ^FF1493Armsmith^000000";
+ mes "of the "+F_Navi("Armsmith","einbroch,255,110","^FF1493");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
next;
@@ -166,7 +166,7 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
next;
mes "[Einbroch Guide]";
mes "I will mark the location";
- mes "of the ^CD1039Eden Teleport Officer^000000";
+ mes "of the "+F_Navi("Eden Teleport Officer","einbroch,130,197","^CD1039");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
next;
@@ -206,7 +206,6 @@ einbroch,72,202,4 script Einbroch Guide#ein01::GuideEinbroch 852,{
}
}
}
-
einbroch,155,43,4 duplicate(GuideEinbroch) Einbroch Guide#ein02 852
einbroch,162,317,4 duplicate(GuideEinbroch) Einbroch Guide#ein03 852
einbroch,252,320,3 duplicate(GuideEinbroch) Einbroch Guide#ein04 852
@@ -219,12 +218,13 @@ einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{
mes "here to assist tourists,";
mes "so if you have any questions,";
mes "please feel free to ask us.";
+ F_Navi("[Einbech Guide]");
next;
while (1) {
switch(select("[ Tavern ]:[ Tool Shop ]:[ Train Station ]:[ Mine ]:[ Kafra Employee ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
mes "[Einbech Guide]";
- mes "The Tavern is located";
+ mes "The "+F_Navi("Tavern","einbech,157,106")+" is located";
mes "in the southern part of";
mes "Einbech. It's a nice place";
mes "to relax after a long day.";
@@ -233,8 +233,7 @@ einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{
break;
case 2:
mes "[Einbech Guide]";
- mes "You can find the Tool";
- mes "Shop in the center of";
+ mes "You can find the "+F_Navi("Tool Shop","einbech,177,133")+" in the center of";
mes "Einbech. There, you can";
mes "purchase any tools you";
mes "might need for your travels.";
@@ -243,7 +242,7 @@ einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{
break;
case 3:
mes "[Einbech Guide]";
- mes "The Train Stations are";
+ mes "The "+F_Navi("Train Stations","einbech,39,215")+" are";
mes "located in the northwest";
mes "and northeast parts of";
mes "Einbech. There, you can";
@@ -253,7 +252,7 @@ einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{
break;
case 4:
mes "[Einbech Guide]";
- mes "The Mine, which is";
+ mes "The "+F_Navi("Mine","einbech,137,248")+", which is";
mes "Einbech's major industry,";
mes "is located in the northern";
mes "part of this town. It's where";
@@ -290,5 +289,4 @@ einbech,67,37,4 script Einbech Guide#einbech01::GuideEinbech 852,{
}
}
}
-
einbech,48,214,4 duplicate(GuideEinbech) Einbech Guide#einbech02 852
diff --git a/npc/re/guides/guides_geffen.txt b/npc/re/guides/guides_geffen.txt
index de32bf185..527b46fe3 100644
--- a/npc/re/guides/guides_geffen.txt
+++ b/npc/re/guides/guides_geffen.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Geffen Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Geffen.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
cutin "gef_soldier",2;
@@ -20,6 +19,7 @@ geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
mes "Welcome to ^8B4513Geffen^000000,";
mes "the City of Magic.";
mes "Do you need help navigating the city?";
+ F_Navi("[Geffen Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -29,7 +29,7 @@ geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
switch(select("[ Magic Academy ]:[ Geffen Tower ]:[ Fountain ]:[ Tool Shop ]:[ Buy & Repair Equipment ]:[ Inn ]:[ Tavern ]:[ Christopher's Forge ]:Previous Menu")) {
case 1:
mes "[Geffen Guide]";
- mes "The ^B9062FMagic Academy^000000";
+ mes "The "+F_Navi("Magic Academy","geffen,61,180","^B9062F");
mes "handles all magic-related affairs,";
mes "including job changes.";
mes "Let me mark its location";
@@ -39,23 +39,24 @@ geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
next;
break;
case 2:
- callsub L_Mark,"^0000FFGeffen Tower";
+ callsub L_Mark, F_Navi("Geffen Tower","geffen,120,114","^0000FF");
viewpoint 1,120,114,1,0x0000FF;
next;
break;
case 3:
- callsub L_Mark,"^FF5400Fountain";
+ callsub L_Mark, F_Navi("Fountain","geffen,126,48","^FF5400");
viewpoint 1,126,48,2,0xFFB400;
next;
break;
case 4:
- callsub L_Mark,"^006400Tool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","geffen,44,86","^006400");
viewpoint 1,44,86,3,0xAAFF00;
next;
break;
case 5:
mes "[Geffen Guide]";
- mes "If you'd like to ^7F3300Buy or Repair Equipment^000000";
+ mes "If you'd like to ";
+ mes F_Navi("Buy or Repair Equipment","geffen,99,140","^7F3300");
mes "then this is the place you'll want to visit.";
mes "Let me mark its location";
mes "on your mini-map.";
@@ -64,18 +65,18 @@ geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
next;
break;
case 6:
- callsub L_Mark,"^800080Inn";
+ callsub L_Mark, F_Navi("Inn","geffen,172,174","^800080");
viewpoint 1,172,174,5,0xDA70D6;
next;
break;
case 7:
- callsub L_Mark,"^B9062FTavern";
+ callsub L_Mark, F_Navi("Tavern","geffen,138,138","^B9062F");
viewpoint 1,138,138,6,0xFF0000;
next;
break;
case 8:
mes "[Geffen Guide]";
- mes "^0000FFChristopher's Forge^000000 is";
+ mes F_Navi("Christopher's Forge","geffen,182,59","^0000FF")+" is";
mes "where you can purchase";
mes "Refining materials.";
mes "It used to be the old Blacksmith Guild.";
@@ -93,29 +94,29 @@ geffen,203,116,4 script Guide#01geffen::GuideGeffen 705,{
while (.@loop) {
switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Pet Groomer ]:[ Chef Assistant ]:[ Dimensional Arcanist Guide ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^B9062FEden Teleport Officers";
+ callsub L_Mark, F_Navi("Eden Teleport Officers","geffen,132,66","^B9062F");
viewpoint 1,61,180,7,0xFF0000;
viewpoint 1,132,66,8,0xFF0000;
next;
break;
case 2:
- callsub L_Mark,"^FF5400Kafra Employees";
+ callsub L_Mark, "^FF5400Kafra Employees^000000";
viewpoint 1,203,123,10,0xFFB400;
viewpoint 1,120,62,11,0xFFB400;
next;
break;
case 3:
- callsub L_Mark,"^006400Pet Groomer";
+ callsub L_Mark, F_Navi("Pet Groomer","geffen,193,152","^006400");
viewpoint 1,193,152,12,0xAAFF00;
next;
break;
case 4:
- callsub L_Mark,"^7F3300Chef Assistant";
+ callsub L_Mark, F_Navi("Chef Assistant","geffen,196,111","^7F3300");
viewpoint 1,196,111,13,0xD2691E;
next;
break;
case 5:
- callsub L_Mark,"^800080Dimensional Arcanist Guide";
+ callsub L_Mark, F_Navi("Dimensional Arcanist Guide","geffen,140,196","^800080");
viewpoint 1,140,196,14,0xDA70D6;
next;
break;
diff --git a/npc/re/guides/guides_gonryun.txt b/npc/re/guides/guides_gonryun.txt
index 9aa3e2371..9d1517059 100644
--- a/npc/re/guides/guides_gonryun.txt
+++ b/npc/re/guides/guides_gonryun.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Kunlun Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Kunlun.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
gonryun,163,60,4 script Kunlun Guide#01gonryun 780,{
mes "[He Yuen Zhe]";
@@ -26,35 +25,36 @@ gonryun,163,60,4 script Kunlun Guide#01gonryun 780,{
mes "I am responsible for helping you";
mes "with any questions you may have.";
mes "Please feel free to ask me anything.";
+ F_Navi("[He Yuen Zhe]");
while (1) {
next;
switch(select("[ Kafra Employee ]:[ Chief's Residence ]:[ Tool Dealer ]:[ Weapon Dealer ]:[ Armor Dealer ]:[ Wine Maker ]:[ Kunlun Envoy ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
- callsub L_Mark,"^0000FFKafra Employee";
+ callsub L_Mark, "^0000FFKafra Employee^000000";
viewpoint 1,159,122,0,0x0A82FF;
break;
case 2:
- callsub L_Mark,"^006400Chief's Residence";
+ callsub L_Mark, F_Navi("Chief's Residence","gonryun,110,131","^006400");
viewpoint 1,110,131,1,0xAAFF00;
break;
case 3:
- callsub L_Mark,"^D8BFD8Tool Dealer";
+ callsub L_Mark, F_Navi("Tool Dealer","gonryun,147,84","^D8BFD8");
viewpoint 1,147,84,2,0xD8BFD8;
break;
case 4:
- callsub L_Mark,"^FF1493Weapon Dealer";
+ callsub L_Mark, F_Navi("Weapon Dealer","gonryun,174,101","^FF1493");
viewpoint 1,174,101,3,0xFF1493;
break;
case 5:
- callsub L_Mark,"^8B4513Armor Dealer";
+ callsub L_Mark, F_Navi("Armor Dealer","gonryun,173,84","^8B4513");
viewpoint 1,173,84,4,0x8B4513;
break;
case 6:
- callsub L_Mark,"^9400DWine Maker";
+ callsub L_Mark, F_Navi("Wine Maker","gonryun,213,115","^9400D3");
viewpoint 1,213,115,5,0x9400D3;
break;
case 7:
- callsub L_Mark,"^00BFFFKunlun Envoy";
+ callsub L_Mark, F_Navi("Kunlun Envoy","gonryun,161,11","^00BFFF");
viewpoint 1,161,11,6,0x00BFFF;
break;
case 8:
@@ -78,7 +78,7 @@ gonryun,163,60,4 script Kunlun Guide#01gonryun 780,{
end;
L_Mark:
mes "[He Yuen Zhe]";
- mes "The "+getarg(0)+"^000000 is";
+ mes "The "+getarg(0)+" is";
mes "marked on your mini-map.";
mes "Check your mini-map.";
mes "Is there anything else I can do for you?";
diff --git a/npc/re/guides/guides_hugel.txt b/npc/re/guides/guides_hugel.txt
index e80146ff3..97e0513fa 100644
--- a/npc/re/guides/guides_hugel.txt
+++ b/npc/re/guides/guides_hugel.txt
@@ -1,24 +1,24 @@
//===== Hercules Script ======================================
//= Hugel Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Hugel.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
mes "[Hugel Guide Granny]";
mes "Oh, hello~ you are one energetic adventurer.";
mes "Welcome to ^8B4513Hugel^000000. I am honored to guide you in this beautiful village.";
mes "If this is the first time for you to use the guide services, you should ask a lot of questions.";
+ F_Navi("[Hugel Guide Granny]");
next;
set .@str$,"Would you like to know more locations?";
while (1) {
@@ -29,7 +29,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
switch(select("[ Church ]:[ Inn ]:[ Pub ]:[ Airport ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bingo Game Room ]:[ ^3131FFHunter Guild^000000 ]:[ Party Supplies Shop ]:[ ^3131FFShrine Expedition^000000 ]:Previous Menu")) {
case 1:
mes "[Hugel Guide Granny]";
- mes "Well, to me, this Church is rather like a place for old folks like me, you know...";
+ mes "Well, to me, this "+F_Navi("Church","hugel,159,113")+" is rather like a place for old folks like me, you know...";
mes .@str$;
viewpoint 1,159,113,0,0xFF0000;
next;
@@ -37,14 +37,14 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
case 2:
mes "[Hugel Guide Granny]";
mes "Pudding rather than praise.";
- mes "You'd better unpack your stuff first before you start looking around this village.";
+ mes "You'd better unpack your stuff at the "+F_Navi("Inn","hugel,101,77")+" first before you start looking around this village.";
mes .@str$;
viewpoint 1,101,77,1,0x8B4513;
next;
break;
case 3:
mes "[Hugel Guide Granny]";
- mes "Yes, when you travel, you want to drop by a Pub and make new friends.";
+ mes "Yes, when you travel, you want to drop by a "+F_Navi("Pub","hugel,126,65")+" and make new friends.";
mes "Go east from here, then you will arrive at the pub.";
mes .@str$;
viewpoint 1,126,65,2,0xDAA520;
@@ -52,7 +52,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
break;
case 4:
mes "[Hugel Guide Granny]";
- mes "A while ago, strangers came to the village and built that strange Airport kind of thing...";
+ mes "A while ago, strangers came to the village and built that strange "+F_Navi("Airport","hugel,178,146")+" kind of thing...";
mes "What do they call it? Airship?";
mes .@str$;
viewpoint 1,178,146,3,0xD7567F;
@@ -60,7 +60,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
break;
case 5:
mes "[Hugel Guide Granny]";
- mes "Well, we have a Weapon Shop in the center of the village.";
+ mes "Well, we have a "+F_Navi("Weapon Shop","hugel,88,167")+" in the center of the village.";
mes "But I don't know if there is any weapon that you find useful.";
mes .@str$;
viewpoint 1,88,167,4,0xCD5C5C;
@@ -69,7 +69,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
case 6:
mes "[Hugel Guide Granny]";
mes "Yes, I love Hugel brand Red Potions. I haven't tasted Red Potions from any other brands yet...hohoho. ";
- mes "The tool shop is located in the center of village.";
+ mes "The "+F_Navi("Tool Shop","hugel,92,163")+" is located in the center of village.";
mes .@str$;
viewpoint 1,92,163,5,0x000080;
next;
@@ -77,7 +77,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
case 7:
mes "[Hugel Guide Granny]";
mes "I will mark the location";
- mes "of the ^800080Bingo Game Room^000000";
+ mes "of the "+F_Navi("Bingo Game Room","hugel,58,206","^800080");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,58,206,6,0x800080;
@@ -86,7 +86,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
case 8:
mes "[Hugel Guide Granny]";
mes "Oh, are you an aspiring Hunter?";
- mes "Then head northeast following the beach, then you will find the Hunter Guild.";
+ mes "Then head northeast following the beach, then you will find the "+F_Navi("Hunter Guild","hugel,209,224")+".";
mes .@str$;
viewpoint 1,209,224,7,0xFF1493;
next;
@@ -94,7 +94,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
case 9:
mes "[Hugel Guide Granny]";
mes "I will mark the location";
- mes "of the ^483D8BParty Supplies Shop^000000";
+ mes "of the "+F_Navi("Party Supplies Shop","hugel,95,103","^483D8B");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,95,103,8,0x483D8B;
@@ -102,7 +102,8 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
break;
case 10:
mes "[Hugel Guide Granny]";
- mes "I heard that the Shrine Expedition is staying in a house at the west.";
+ mes "I heard that the ";
+ mes F_Navi("Shrine Expedition","hugel,52,95")+" is staying in a house at the west.";
mes "They have put some kind of sign in the middle of village, so I guess that they are hiring people for something...";
mes "I wonder what they are doing in here... hmmm.";
mes .@str$;
@@ -170,7 +171,7 @@ hugel,98,56,3 script Hugel Guide Granny#hugel 863,{
}
hugel,187,172,6 script Guide Rich King#hugel 414,{
- mes "[Guide Rich King]";
+ mes "[Rich King]";
mes "What business do you have";
mes "in this countryside village?";
next;
@@ -178,6 +179,7 @@ hugel,187,172,6 script Guide Rich King#hugel 414,{
mes "This is ^8B4513Hugel^000000";
mes "in the Schwaltzvalt Republic.";
mes "You are very honored to receive guidance from a great person like me.";
+ F_Navi("[Rich King]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -186,52 +188,52 @@ hugel,187,172,6 script Guide Rich King#hugel 414,{
while (.@loop) {
switch(select("[ Church ]:[ Inn ]:[ Pub ]:[ Airport ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bingo Game Room ]:[ Hunter Guild ]:[ Party Supplies Shop ]:[ Shrine Expedition ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FF0000Church";
+ callsub L_Mark, F_Navi("Church","hugel,159,113","^FF0000");
viewpoint 1,159,113,0,0xFF0000;
next;
break;
case 2:
- callsub L_Mark,"^8B4513Inn";
+ callsub L_Mark, F_Navi("Inn","hugel,101,77","^8B4513");
viewpoint 1,101,77,1,0x8B4513;
next;
break;
case 3:
- callsub L_Mark,"^DAA520Pub";
+ callsub L_Mark, F_Navi("Pub","hugel,126,65","^DAA520");
viewpoint 1,126,65,2,0xDAA520;
next;
break;
case 4:
- callsub L_Mark,"^D7567FAirport";
+ callsub L_Mark, F_Navi("Airport","hugel,178,146","^D7567F");
viewpoint 1,178,146,3,0xD7567F;
next;
break;
case 5:
- callsub L_Mark,"^CD5C5CWeapon Shop";
+ callsub L_Mark, F_Navi("Weapon Shop","hugel,88,167","^CD5C5C");
viewpoint 1,88,167,4,0xCD5C5C;
next;
break;
case 6:
- callsub L_Mark,"^000080Tool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","hugel,92,163","^000080");
viewpoint 1,92,163,5,0x000080;
next;
break;
case 7:
- callsub L_Mark,"^800080Bingo Game Room";
+ callsub L_Mark, F_Navi("Bingo Game Room","hugel,58,206","^800080");
viewpoint 1,58,206,6,0x800080;
next;
break;
case 8:
- callsub L_Mark,"^FF1493Hunter Guild";
+ callsub L_Mark, F_Navi("Hunter Guild","hugel,209,224","^FF1493");
viewpoint 1,209,224,7,0xFF1493;
next;
break;
case 9:
- callsub L_Mark,"^483D8BParty Supplies Shop";
+ callsub L_Mark, F_Navi("Party Supplies Shop","hugel,95,103","^483D8B");
viewpoint 1,95,103,8,0x483D8B;
next;
break;
case 10:
- callsub L_Mark,"^834683Shrine Expedition";
+ callsub L_Mark, F_Navi("Shrine Expedition","hugel,52,95","^834683");
viewpoint 1,52,95,9,0x834683;
next;
break;
@@ -246,12 +248,12 @@ hugel,187,172,6 script Guide Rich King#hugel 414,{
while (.@loop) {
switch(select("[ Monster Race Arena ]:[ Cool Event Corp. Staff ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FF1493Monster Race Arena";
+ callsub L_Mark, "^FF1493Monster Race Arena^000000";
viewpoint 1,60,71,10,0xFF1493;
next;
break;
case 2:
- callsub L_Mark,"^DA70D6Cool Event Corp. Staff";
+ callsub L_Mark, "^DA70D6Cool Event Corp. Staff^000000";
viewpoint 1,88,168,11,0xDA70D6;
next;
break;
@@ -290,7 +292,7 @@ hugel,187,172,6 script Guide Rich King#hugel 414,{
L_Mark:
mes "[Rich King]";
mes "I will mark the location";
- mes "of the "+getarg(0)+"^000000.";
+ mes "of the "+getarg(0)+".";
mes "Do you want to know more locations?";
mes "Are you going to keep bugging me and make me get upset?";
return;
diff --git a/npc/re/guides/guides_izlude.txt b/npc/re/guides/guides_izlude.txt
index 6f460ebcc..793a6ab77 100644
--- a/npc/re/guides/guides_izlude.txt
+++ b/npc/re/guides/guides_izlude.txt
@@ -1,83 +1,83 @@
//===== Hercules Script ======================================
//= Izlude Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
//= [Official Conversion]
-//= Guides for the city of Izlude
-//===== Additional Comments: =================================
+//= Guides for the city of Izlude.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Updated to match the new Izlude Map. [Masao]
-//============================================================
+//= 1.2 Added Renewal Izlude viewpoint coordinates.
+//= 1.3 Navigation system update. [Euphy]
+//= Optimized.
+//= 1.4 Added Izlude duplicates. [Euphy]
+//============================================================
-- script Guide#01izlude::GuideIzlude -1,{
+- script ::GuideIzlude -1,{
cutin "prt_soldier",2;
mes "[Izlude Guide]";
mes "Welcome to ^8B4513Izlude^000000,";
mes "Prontera's satellite town.";
mes "Do you need help navigating the town?";
+ F_Navi("[Izlude Guide]");
next;
+ set .@map$, strnpcinfo(4);
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
set .@loop,1;
while (.@loop) {
- switch(select("[ Marina ]:[ Airport ]:[ Arena ]:[ Tool Shop ]:[ Weapon & Armor Shop ]:[ Swordsman Guild ]:[ Swordsman Association ]:Previous Menu")) {
+ switch(select("[ Cryptura Academy ]:[ Marina ]:[ International Airship ]:[ Arena ]:[ Kit Shop ]:[ Swordsman Guild ]:[ Enchant Association ]:[ Forge ]:Previous Menu")) {
case 1:
mes "[Izlude Guide]";
- mes "You can use the northeast ^B9062FMarina^000000";
+ mes "Novice adventurers should go to "+F_Navi("Cryptura Academy","iz_ac01,100,39")+" to receive more information and training!";
+ mes "Would you like to check any other locations?";
+ viewpoint 1,128,260,0,0xD2691E;
+ next;
+ break;
+ case 2:
+ mes "[Izlude Guide]";
+ mes "You can use the "+F_Navi("Marina",.@map$+",197,205","^B9062F");
mes "to go to ^8B4513Alberta^000000 or ^8B4513Byalan Island^000000.";
mes "Beware of ^8B4513Izlude Dungeon^000000";
mes "on Byalan Island since it is";
mes "filled with dreadful monsters.";
mes "Would you like to check any other locations?";
- viewpoint 1,197,205,0,0xFF0000;
+ viewpoint 1,197,205,1,0xFF0000;
next;
break;
- case 2:
+ case 3:
mes "[Izlude Guide]";
- mes "The ^0000FFInternational Airship^000000 to the southeast";
+ mes "The "+F_Navi("International Airship",.@map$+",202,75","^0000FF");
mes "goes to ^8B4513Juno^000000 and ^8B4513Rachel^000000.";
mes "Let me mark its location";
mes "on your mini-map.";
mes "Would you like to check any other locations?";
- viewpoint 1,204,75,1,0x0A82FF;
+ viewpoint 1,210,73,2,0x0A82FF;
next;
break;
- case 3:
+ case 4:
mes "[Izlude Guide]";
- mes "The ^FF5400Arena^000000 at the north";
+ mes "The "+F_Navi("Arena",.@map$+",213,161","^FF5400");
mes "is a perfect place to";
mes "test your combat capabilities.";
mes "Let me mark its location";
mes "on your mini-map.";
mes "Would you like to check any other locations?";
- viewpoint 1,128,255,2,0xFF5400;
- next;
- break;
- case 4:
- mes "[Izlude Guide]";
- mes "Let me mark the location of the ^006400Tool Shop^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,160,125,3,0xAAFF00;
+ viewpoint 1,213,161,3,0xFF5400;
next;
break;
case 5:
- mes "[Izlude Guide]";
- mes "Let me mark the location of the ^7F3300Weapon & Armor Shop^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,109,182,4,0xD2691E;
+ callsub L_Mark, F_Navi("Kit Shop",.@map$+",110,182","^006400");
+ viewpoint 1,108,179,4,0xAAFF00;
next;
break;
case 6:
mes "[Izlude Guide]";
- mes "The Swordsman Guild is where you can ^800080change your job to Swordsman.^000000";
+ mes "The "+F_Navi("Swordsman Guild",.@map$+",51,172")+" is where you can ^800080change your job to Swordsman.^000000";
mes "Let me mark its location";
mes "on your mini-map.";
mes "Would you like to check any other locations?";
@@ -85,14 +85,16 @@
next;
break;
case 7:
- mes "[Izlude Guide]";
- mes "Let me mark the location of the ^B9062FSwordsman Association^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,212,161,6,0xFF0000;
+ callsub L_Mark, F_Navi("Enchant Association",.@map$+",97,125","^B9062F");
+ viewpoint 1,97,125,6,0xDA70D6;
next;
break;
case 8:
+ callsub L_Mark, F_Navi("Forge",.@map$+",153,126");
+ viewpoint 1,153,126,7,0xAAFF00;
+ next;
+ break;
+ case 9:
set .@loop,0;
break;
}
@@ -101,55 +103,48 @@
case 2:
set .@loop,1;
while (.@loop) {
- switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Newlywed Helper ]:[ Bullet Merchant ]:[ Mercenary Guildsman ]:Previous Menu")) {
+ switch(select("[ Eden Teleport Officer ]:[ Kafra Employee ]:[ Hypnotist ]:[ Newlywed Helper ]:[ Mercenary Guildsman ]:[ Pet Groomer ]:Previous Menu")) {
case 1:
mes "[Izlude Guide]";
- mes "The ^0000FFEden Teleport Officer^000000";
+ mes "The "+F_Navi("Eden Teleport Officer",.@map$+",131,148","^0000FF");
mes "is currently staying inside";
mes "the Swordsman Guild building.";
mes "Let me mark his location on your mini-map.";
mes "Would you like to check any other locations?";
- viewpoint 1,131,148,7,0x0A82FF;
+ viewpoint 1,131,148,8,0x0A82FF;
next;
break;
case 2:
- mes "[Izlude Guide]";
- mes "Let me mark the location of the";
- mes "^FF5400Kafra Employee^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,128,148,8,0xFF5400;
+ callsub L_Mark, F_Navi("Kafra Employee",.@map$+",128,148","^FF5400"),1;
+ viewpoint 1,128,148,9,0xFF5400;
next;
break;
case 3:
- mes "[Izlude Guide]";
- mes "If you'd like to go on a honeymoon to";
- mes "^8B4513Jawaii^000000, the paradise of newlyweds,";
- mes "please speak to the ^B9062FNewlywed Helper^000000.";
- mes "Would you like to check any other locations?";
- viewpoint 1,180,224,9,0xFF0000;
+ callsub L_Mark, F_Navi("Hypnotist",.@map$+",127,175"),1;
+ viewpoint 1,127,175,10,0x006400;
next;
break;
case 4:
mes "[Izlude Guide]";
- mes "The ^7F3300Bullet Merchants^000000 for ^7F3300Gunslingers^000000";
- mes "is located to the east.";
- mes "Let me mark his location";
- mes "on your mini-map.";
+ mes "If you'd like to go on a honeymoon to";
+ mes "^8B4513Jawaii^000000, the paradise of newlyweds,";
+ mes "please speak to the ";
+ mes F_Navi("Newlywed Helper",.@map$+",180,224","^B9062F")+".";
mes "Would you like to check any other locations?";
- viewpoint 1,158,130,10,0xD2691E;
+ viewpoint 1,180,224,11,0xFF0000;
next;
break;
case 5:
- mes "[Izlude Guide]";
- mes "Let me mark the location of ^0000FFFencer Mercenary Manager^000000 and";
- mes "^0000FFMercenary Goods Merchant^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,56,169,11,0xDA70D6;
+ callsub L_Mark, F_Navi("Mercenary Guildsman",.@map$+",47,170","^0000FF");
+ viewpoint 1,47,170,12,0xDA70D6;
next;
break;
case 6:
+ callsub L_Mark, F_Navi("Pet Groomer","izlude_in,72,98"),1;
+ viewpoint 1,108,179,13,0x006400;
+ next;
+ break;
+ case 7:
set .@loop,0;
break;
}
@@ -171,6 +166,8 @@
viewpoint 2,1,1,9,0xFFFF00;
viewpoint 2,1,1,10,0xFFFF00;
viewpoint 2,1,1,11,0xFFFF00;
+ viewpoint 2,1,1,12,0xFFFF00;
+ viewpoint 2,1,1,13,0xFFFF00;
next;
break;
case 4:
@@ -182,8 +179,29 @@
end;
}
}
+ end;
+L_Mark:
+ mes "[Izlude Guide]";
+ if (getarg(1,0)) {
+ mes "Let me mark the location of the";
+ mes getarg(0);
+ } else
+ mes "Let me mark the location of the "+getarg(0);
+ mes "on your mini-map.";
+ mes "Would you like to check any other locations?";
+ return;
}
-izlude,129,175,4 duplicate(GuideIzlude) Guide#02izlude 105
-izlude,133,113,4 duplicate(GuideIzlude) Guide#03izlude 105
-izlude,120,206,4 duplicate(GuideIzlude) Guide#04izlude 105
+izlude,129,175,4 duplicate(GuideIzlude) Guide#01izlude 105
+izlude_a,129,175,4 duplicate(GuideIzlude) Guide#01izlude_a 105
+izlude_b,129,175,4 duplicate(GuideIzlude) Guide#01izlude_b 105
+izlude_c,129,175,4 duplicate(GuideIzlude) Guide#01izlude_c 105
+izlude_d,129,175,4 duplicate(GuideIzlude) Guide#01izlude_d 105
+
+izlude,133,113,4 duplicate(GuideIzlude) Guide#02izlude 105
+izlude_a,133,113,4 duplicate(GuideIzlude) Guide#02izlude_a 105
+izlude_b,133,113,4 duplicate(GuideIzlude) Guide#02izlude_b 105
+izlude_c,133,113,4 duplicate(GuideIzlude) Guide#02izlude_c 105
+izlude_d,133,113,4 duplicate(GuideIzlude) Guide#02izlude_d 105
+
+//izlude,120,206,4 duplicate(GuideIzlude) Guide#03izlude 105
diff --git a/npc/re/guides/guides_juno.txt b/npc/re/guides/guides_juno.txt
index 8af05d5ae..924de82a1 100644
--- a/npc/re/guides/guides_juno.txt
+++ b/npc/re/guides/guides_juno.txt
@@ -1,92 +1,96 @@
//===== Hercules Script ======================================
//= Juno Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Juno.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
yuno,59,212,4 script Juno Guide#yuno01::GuideJuno 700,{
mes "[Juno Guide]";
mes "A place that takes the vision of the future, and gives it form in the present. Welcome to";
mes "the city of ^8B4513Juno^000000!";
+ F_Navi("[Juno Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove marks from Mini-Map:Cancel")) {
case 1:
set .@loop,1;
while (.@loop) {
- switch(select("[ Tool Shop ]:[ Forge ]:[ Airport ]:[ Government Building ]:[ Street of Book Stores ]:[ Inn & Pub ]:[ Sage Castle ]:[ Monster Academy ]:[ Library of the Republic ]:[ Weapon & Armor Shop ]:[ Juphero Plaze ]:[ Monster Museum ]:[ Schweicherbil Magic Academy ]:Previous Menu")) {
+ switch(select("[ Tool Shop ]:[ Forge ]:[ Airport ]:[ Government Building ]:[ Street of Book Stores ]:[ Inn & Pub ]:[ Sage Castle ]:[ Monster Academy ]:[ Library of the Republic ]:[ Weapon & Armor Shop ]:[ Juphero Plaza ]:[ Monster Museum ]:[ Schweicherbil Magic Academy ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FF0000Tool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","yuno,194,140","^FF0000");
viewpoint 1,194,140,0,0xFF0000;
next;
break;
case 2:
- callsub L_Mark,"^FF4500Forge";
+ callsub L_Mark, F_Navi("Forge","yuno,120,137","^FF4500");
viewpoint 1,120,137,1,0xFF4500;
next;
break;
case 3:
- callsub L_Mark,"^DAA520Airport";
+ callsub L_Mark, F_Navi("Airport","yuno,16,261","^DAA520");
viewpoint 1,16,261,2,0xDAA520;
next;
break;
case 4:
- callsub L_Mark,"^008000Government Building";
+ callsub L_Mark, F_Navi("Government Building","yuno,157,317","^008000");
viewpoint 1,157,317,3,0x008000;
next;
break;
case 5:
- callsub L_Mark,"^0000FFStreet of Book Stores";
+ callsub L_Mark, F_Navi("Street of Book Stores","yuno,172,100","^0000FF");
viewpoint 1,172,100,4,0x0000FF;
next;
break;
case 6:
- callsub L_Mark,"^000080Inn & Pub";
+ callsub L_Mark, F_Navi("Inn & Pub","yuno,51,105","^000080");
viewpoint 1,51,105,5,0x000080;
next;
break;
case 7:
- callsub L_Mark,"^800080Sage Castle";
+ callsub L_Mark, F_Navi("Sage Castle","yuno,90,318","^800080");
viewpoint 1,90,318,6,0x800080;
next;
break;
case 8:
- callsub L_Mark,"^834683Monster Academy";
+ callsub L_Mark, F_Navi("Monster Academy","yuno,95,184","^834683");
viewpoint 1,95,184,7,0x834683;
next;
break;
case 9:
- callsub L_Mark,"^4B0082Juno Library";
+ callsub L_Mark, F_Navi("Juno Library","yuno,338,203","^4B0082");
viewpoint 1,338,203,8,0x4B0082;
next;
break;
case 10:
- callsub L_Mark,"^008080Weapon & Armor Shop";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","yuno,120,137","^008080");
viewpoint 1,120,137,9,0x008080;
next;
break;
case 11:
- callsub L_Mark,"^FF1493Juphero Plaza";
+ callsub L_Mark, F_Navi("Juphero Plaza","yuno,115,57","^FF1493");
viewpoint 1,115,157,10,0xFF1493;
next;
break;
case 12:
- callsub L_Mark,"^DA70D6Monster Museum";
+ callsub L_Mark, F_Navi("Monster Museum","yuno,278,290","^DA70D6");
viewpoint 1,278,290,11,0xDA70D6;
next;
break;
case 13:
- callsub L_Mark,"^CD1039Schweicherbil Magic Academy";
+ mes "[Juno Guide]";
+ mes "I will mark the location of the";
+ mes F_Navi("Schweicherbil Magic Academy","yuno,323,280","^CD1039");
+ mes "on your mini-map.";
+ mes "Would you like to check any other locations?";
viewpoint 1,323,280,12,0xCD1039;
next;
break;
@@ -101,14 +105,14 @@ yuno,59,212,4 script Juno Guide#yuno01::GuideJuno 700,{
while (.@loop) {
switch(select("[ Kafra Employees ]:[ Eden Teleport Officer ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FA8072Kafra Employees";
+ callsub L_Mark, "^FA8072Kafra Employees^000000";
viewpoint 1,152,187,13,0xFA8072;
viewpoint 1,277,221,14,0xFA8072;
viewpoint 1,327,108,15,0xFA8072;
next;
break;
case 2:
- callsub L_Mark,"^803232Eden Teleport Officer";
+ callsub L_Mark, F_Navi("Eden Teleport Officer","yuno,144,189","^803232");
viewpoint 1,144,189,16,0x803232;
next;
break;
@@ -151,10 +155,9 @@ yuno,59,212,4 script Juno Guide#yuno01::GuideJuno 700,{
L_Mark:
mes "[Juno Guide]";
mes "I will mark the location";
- mes "of the "+getarg(0)+"^000000";
+ mes "of the "+getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
}
-
yuno,153,47,4 duplicate(GuideJuno) Juno Guide#yuno02 700
diff --git a/npc/re/guides/guides_lighthalzen.txt b/npc/re/guides/guides_lighthalzen.txt
index fcfd1cca8..6c6c42b26 100644
--- a/npc/re/guides/guides_lighthalzen.txt
+++ b/npc/re/guides/guides_lighthalzen.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Lighthalzen Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Lighthalzen.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
cutin "ein_soldier",2;
@@ -31,6 +30,7 @@ lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
mes "of ^8B4513Lighthalzen^000000. Now, please";
mes "select the location that you'd";
mes "like to learn more about.";
+ F_Navi("[Lighthalzen Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -39,52 +39,52 @@ lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
while (.@loop) {
switch(select("[ Hotel ]:[ Bank ]:[ Airport ]:[ Weapon Shop ]:[ Department Store ]:[ Police Station ]:[ Jewelry Store ]:[ Cool Event Corp. ]:[ Somatology Laboratory ]:[ Alchemist Association ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^FF0000Hotel";
+ callsub L_Mark, F_Navi("Hotel","lighthalzen,159,133","^FF0000");
viewpoint 1,160,217,0,0xFF0000;
next;
break;
case 2:
- callsub L_Mark,"^FF4500Bank";
+ callsub L_Mark, F_Navi("Bank","lighthalzen,203,257","^FF4500");
viewpoint 1,203,257,1,0xFF4500;
next;
break;
case 3:
- callsub L_Mark,"^DAA520Airport";
+ callsub L_Mark, F_Navi("Airport","lighthalzen,262,75","^DAA520");
viewpoint 1,262,75,2,0xDAA520;
next;
break;
case 4:
- callsub L_Mark,"^7B68EEWeapon Shop";
+ callsub L_Mark, F_Navi("Weapon Shop","lighthalzen,194,35","^7B68EE");
viewpoint 1,194,35,3,0x7B68EE;
next;
break;
case 5:
- callsub L_Mark,"^B91A4DDepartment Store";
+ callsub L_Mark, F_Navi("Department Store","lighthalzen,199,164","^B91A4D");
viewpoint 1,202,106,4,0xB91A4D;
next;
break;
case 6:
- callsub L_Mark,"^008000Police Station";
+ callsub L_Mark, F_Navi("Police Station","lighthalzen,234,276","^008000");
viewpoint 1,234,276,5,0x008000;
next;
break;
case 7:
- callsub L_Mark,"^0000FFJewelry Store";
+ callsub L_Mark, F_Navi("Jewelry Store","lighthalzen,96,110","^0000FF");
viewpoint 1,96,110,6,0x0000FF;
next;
break;
case 8:
- callsub L_Mark,"^000080Cool Event Corp.";
+ callsub L_Mark, F_Navi("Cool Event Corp.","lighthalzen,238,217","^000080");
viewpoint 1,238,217,7,0x000080;
next;
break;
case 9:
- callsub L_Mark,"^800080Somatology Laboratory";
+ callsub L_Mark, F_Navi("Somatology Laboratory","lighthalzen,101,243","^800080");
viewpoint 1,101,243,8,0x800080;
next;
break;
case 10:
- callsub L_Mark,"^0A9696Alchemist Association";
+ callsub L_Mark, F_Navi("Alchemist Association","lighthalzen,54,132","^0A9696");
viewpoint 1,54,132,9,0x0A9696;
next;
break;
@@ -105,7 +105,7 @@ lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
mes "on the 1st floor of the Weapon Shop.";
viewpoint 1,194,35,10,0x0A9696;
next;
- callsub L_Mark,"^0A9696Armsmith";
+ callsub L_Mark, "^0A9696Armsmith^000000";
next;
break;
case 2:
@@ -116,22 +116,22 @@ lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
mes "of the Weapon Shop.";
viewpoint 1,194,35,11,0x4B0082;
next;
- callsub L_Mark,"^4B0082Seiyablem",1;
+ callsub L_Mark, "^4B0082Seiyablem^000000",1;
next;
break;
case 3:
- callsub L_Mark,"^FF4500Pet Groomer";
+ callsub L_Mark, F_Navi("Pet Groomer","lighthalzen,222,191","^FF4500");
viewpoint 1,222,191,12,0xFF4500;
next;
break;
case 4:
- callsub L_Mark,"^008080Kafra Employees";
+ callsub L_Mark, "^008080Kafra Employees^000000";
viewpoint 1,164,99,13,0x008080;
viewpoint 1,164,99,14,0x008080;
next;
break;
case 5:
- callsub L_Mark,"^FF1493Cool Event Corp. Staff";
+ callsub L_Mark, F_Navi("Cool Event Corp. Staff","lighthalzen,94,247","^FF1493");
viewpoint 1,94,247,15,0xFF1493;
next;
break;
@@ -175,12 +175,11 @@ lighthalzen,207,310,5 script Lighthalzen Guide#lhz01::GuideLighthazlen 852,{
L_Mark:
mes "[Lighthalzen Guide]";
mes "I will mark the location";
- mes "of "+((getarg(1,0))?"":"the ")+getarg(0)+"^000000";
+ mes "of "+((getarg(1,0))?"":"the ")+getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
}
-
lighthalzen,220,310,3 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz02 852
lighthalzen,154,100,5 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz03 852
lighthalzen,307,224,3 duplicate(GuideLighthazlen) Lighthalzen Guide#lhz04 852
diff --git a/npc/re/guides/guides_louyang.txt b/npc/re/guides/guides_louyang.txt
index e5ff1d4c6..49eb5404b 100644
--- a/npc/re/guides/guides_louyang.txt
+++ b/npc/re/guides/guides_louyang.txt
@@ -1,17 +1,16 @@
//===== Hercules Script ======================================
//= Louyang Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
-//= Guide for the city of Louyang
-//===== Additional Comments: =================================
+//= Guide for the city of Louyang.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
louyang,224,104,4 script Louyang Guide#01louyang 818,{
mes "[Representative]";
@@ -26,86 +25,88 @@ louyang,224,104,4 script Louyang Guide#01louyang 818,{
mes "[Representative]";
mes "^8B4513Louyang^000000 is famous for";
mes "its elaborate history, as well as specialties that are unique to this nation. Please take your time and enjoy your stay.";
+ F_Navi("[Representative]");
+ set .@str$,"Is there anything else I can do for you?";
while (1) {
next;
switch(select("[ Dragon Castle ]:[ Doctor's Office ]:[ City Hall ]:[ Weapon Shop ]:[ Tool Shop ]:[ Tavern ]:[ Observatory ]:[ Return to Alberta ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
mes "[Representative]";
- mes "The Dragon Castle is located at ^0A82FF+^000000. It is where all the nobles reside, including our lord.";
+ mes "The "+F_Navi("Dragon Castle","louyang,218,253")+" is located at ^0A82FF+^000000. It is where all the nobles reside, including our lord.";
mes "Since you're an outsider, I guess it would be appropriate for you to visit our lord first.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,218,253,0,0x0A82FF;
break;
case 2:
mes "[Representative]";
- mes "It's a famous ^AAFF00Doctor's Office^000000";
+ mes "It's a famous "+F_Navi("Doctor's Office","louyang,261,93","^AAFF00");
mes "according to rumor it can cure all diseases. But I'm not sure if it's true or not.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,261,93,1,0xAAFF00;
break;
case 3:
mes "[Representative]";
- mes "We have a City Hall where the federal government operates.";
+ mes "We have a "+F_Navi("City Hall","louyang,309,78")+" where the federal government operates.";
mes "It is located at ^008080+^000000.";
next;
mes "[Representative]";
mes "If you have any problems,";
mes "you should talk with the";
mes "employees there.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,309,78,2,0x20B2AA;
break;
case 4:
mes "[Representative]";
- mes "The Weapon Shop is located at ^55FF33+^000000.";
+ mes "The "+F_Navi("Weapon Shop","louyang,145,172")+" is located at ^55FF33+^000000.";
next;
mes "[Representative]";
mes "You will see";
mes "marvelous weapons forged";
mes "by the well-experienced";
mes "Blacksmiths of Louyang.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,145,172,3,0xFF1493;
break;
case 5:
mes "[Representative]";
- mes "The Tool Shop is located at ^3355FF+^000000.";
+ mes "The "+F_Navi("Tool Shop","louyang,138,99")+" is located at ^3355FF+^000000.";
next;
mes "[Representative]";
mes "Knowing your enemy";
mes "is half the battle!";
mes "It's also safer to prepare yourself than to be sorry later. Why don't you go check their supplies?";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,138,99,4,0xFF0000;
break;
case 6:
mes "[Representative]";
- mes "When you get tired during your trip, I suggest that you visit the Tavern. It's located at ^00FF00+^000000.";
+ mes "When you get tired during your trip, I suggest that you visit the "+F_Navi("Tavern","louyang,280,165")+". It's located at ^00FF00+^000000.";
next;
- mes "[Soldier]";
+ mes "[Representative]";
mes "The Tavern is a good place";
mes "to meet other tourists, as well as to hear of any news that may be helpful to know.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,280,165,5,0xDAA520;
break;
case 7:
mes "[Representative]";
- mes "You won't get a better view of the world than you can at the Observatory.";
+ mes "You won't get a better view of the world than you can at the "+F_Navi("Observatory","louyang,136,245")+".";
mes "It's a must see here.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 1,136,245,6,0xD8BFD8;
break;
case 8:
mes "[Representative]";
mes "If you want to return to Alberta,";
- mes "find the ^00BFFFKGirl^000000 outside town on the docks.";
- mes "Is there anything else I can do for you?";
+ mes "find the "+F_Navi("Girl","louyang,218,22","^00BFFF")+" outside town on the docks.";
+ mes .@str$;
viewpoint 1,218,22,7,0x00BFFF;
break;
case 9:
mes "[Representative]";
mes "I'll remove all marks from your mini-map.";
- mes "Is there anything else I can do for you?";
+ mes .@str$;
viewpoint 2,1,1,0,0xFFFFFF;
viewpoint 2,1,1,1,0xFFFFFF;
viewpoint 2,1,1,2,0xFFFFFF;
diff --git a/npc/re/guides/guides_lutie.txt b/npc/re/guides/guides_lutie.txt
index 121744a24..5705cae9c 100644
--- a/npc/re/guides/guides_lutie.txt
+++ b/npc/re/guides/guides_lutie.txt
@@ -1,49 +1,49 @@
//===== Hercules Script ======================================
//= Lutie Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Lutie.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
xmas,140,137,3 script Lutie Guide#xmas 717,{
mes "[Lutie Guide]";
mes "Welcome to ^8B4513Lutie^000000,";
mes "the Snow Village.";
mes "Do you need help navigating the village?";
+ F_Navi("[Lutie Guide]");
while (1) {
next;
switch(select("[ Gift Shop ]:[ Church ]:[ Weapon & Armor Shop ]:[ Tool Shop ]:[ Santa's House ]:[ Toy Factory ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
- callsub L_Mark,"^008080Gift Shop";
+ callsub L_Mark, F_Navi("Gift Shop","xmas,172,131","^008080");
viewpoint 1,172,131,2,0x008080;
break;
case 2:
- callsub L_Mark,"^006400Church";
+ callsub L_Mark, F_Navi("Church","xmas,104,287","^006400");
viewpoint 1,104,287,1,0xAAFF00;
break;
case 3:
- callsub L_Mark,"^FF1493Weapon & Armor Shop";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","xmas,171,158","^FF1493");
viewpoint 1,171,158,3,0xFF1493;
break;
case 4:
- callsub L_Mark,"^8B4513Tool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","xmas,122,131","^8B4513");
viewpoint 1,122,131,4,0x8B4513;
break;
case 5:
- callsub L_Mark,"^B9062FSanta's House",1;
+ callsub L_Mark, F_Navi("Santa's House","xmas,149,237","^B9062F"),1;
viewpoint 1,149,237,5,0x9400D3;
break;
case 6:
- callsub L_Mark,"^9400D3Toy Factory";
+ callsub L_Mark, F_Navi("Toy Factory","xmas,143,312","^9400D3");
viewpoint 1,143,312,6,0xFF0000;
break;
case 7:
diff --git a/npc/re/guides/guides_malaya.txt b/npc/re/guides/guides_malaya.txt
new file mode 100644
index 000000000..265b362bb
--- /dev/null
+++ b/npc/re/guides/guides_malaya.txt
@@ -0,0 +1,81 @@
+//===== Hercules Script ======================================
+//= Port Malaya Guides
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Guides for the city of Malaya.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
+
+malaya,71,72,4 script Port Malaya Guide#01::GuideMalaya 579,{
+ mes "[Port Malaya Guide]";
+ mes "Welcome to ^8B4513Port Malaya^000000, the Breathing Village.";
+ mes "Where cultures and legends come to life!";
+ mes "Do you need help navigating the village?";
+ F_Navi("[Port Malaya Guide]");
+ while(1) {
+ next;
+ switch(select("[ Kafra Employees ]:[ Inn & Tavern ]:[ Weapon & Armor Shop ]:[ Tool Shop ]:[ Hospital ]:[ Park ]:[ Harbor ]:Remove marks from Mini-Map:Cancel")) {
+ case 1:
+ callsub L_Mark, "^0000FFKafra Employees^000000",1;
+ viewpoint 1,71,79,0,0x0A82FF;
+ viewpoint 1,234,204,1,0x0A82FF;
+ break;
+ case 2:
+ callsub L_Mark, F_Navi("Inn & Tavern","malaya,193,215","^006400");
+ viewpoint 1,193,215,2,0xAAFF00;
+ break;
+ case 3:
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","malaya,114,212","^008080");
+ viewpoint 1,114,212,3,0x4F543C;
+ break;
+ case 4:
+ callsub L_Mark, F_Navi("Tool Shop","malaya,297,167","^FF1493");
+ viewpoint 1,297,167,4,0xFF1493;
+ break;
+ case 5:
+ callsub L_Mark, F_Navi("Hospital","malaya,50,75","^8B4513");
+ viewpoint 1,50,75,5,0x8B4513;
+ break;
+ case 6:
+ callsub L_Mark, F_Navi("Park","malaya,280,371","^8B4513");
+ viewpoint 1,280,371,6,0x8B4513;
+ break;
+ case 7:
+ callsub L_Mark, F_Navi("Harbor","malaya,276,55","^8A2BE2");
+ viewpoint 1,276,55,7,0x8A2BE2;
+ break;
+ case 8:
+ mes "[Port Malaya Guide]";
+ mes "I'll remove all marks from your mini-map.";
+ mes "Is there anything else I can do for you?";
+ viewpoint 2,1,1,0,0xFFFFFF;
+ viewpoint 2,1,1,1,0xFFFFFF;
+ viewpoint 2,1,1,2,0xFFFFFF;
+ viewpoint 2,1,1,3,0xFFFFFF;
+ viewpoint 2,1,1,4,0xFFFFFF;
+ viewpoint 2,1,1,5,0xFFFFFF;
+ viewpoint 2,1,1,6,0xFFFFFF;
+ viewpoint 2,1,1,7,0xFFFFFF;
+ break;
+ case 9:
+ mes "[Port Malaya Guide]";
+ mes "I hope you enjoy your journey.";
+ close;
+ }
+ }
+ end;
+L_Mark:
+ mes "[Port Malaya Guide]";
+ mes "The "+getarg(0)+" "+((getarg(1,0))?"are":"is");
+ mes "marked on your mini-map.";
+ mes "Check your mini-map.";
+ mes "Is there anything else I can do for you?";
+ return;
+}
+malaya,250,83,6 duplicate(GuideMalaya) Port Malaya Guide#02 579
+malaya,224,204,6 duplicate(GuideMalaya) Port Malaya Guide#03 579
diff --git a/npc/re/guides/guides_mora.txt b/npc/re/guides/guides_mora.txt
index 0cb0db35d..67936cac0 100644
--- a/npc/re/guides/guides_mora.txt
+++ b/npc/re/guides/guides_mora.txt
@@ -1,48 +1,48 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mora Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= Guides for the city of Mora.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
-//============================================================
+//= 1.1 Navigation system update. [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~!";
+ F_Navi("[Raffoh]");
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 "We have an "+F_Navi("Inn","mora,44,138")+" 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 F_Navi("This","mora,119,170")+" 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.";
+ mes "If you are looking for souvenirs, you can buy some in this "+F_Navi("district","mora,112,110")+".";
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 F_Navi("This","mora,182,161")+" 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;
@@ -67,32 +67,33 @@ mora,167,76,3 script Raffle Guide#east 522,{
mes "Uh...";
mes "This, this is the Village of Mora.";
mes "Uh... which place do you want to know about?";
+ F_Navi("[Raffuh]");
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---";
+ mes "You can sleep "+F_Navi("here","mora,44,138")+" 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 "Why are you trying to find out "+F_Navi("where","mora,119,170")+" 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!";
+ mes "There are a lot of things in those "+F_Navi("stores","mora,112,110")+"-- 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 "You can't just march into the "+F_Navi("warehouse","mora,182,161")+", 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;
@@ -117,19 +118,20 @@ mora,115,138,5 script Raffle Guide#center 524,{
mes "Lala!";
mes "Welcome to the Village of Mora la!";
mes "If you need to know anything about the village, just ask me la!";
+ F_Navi("[Raffla]");
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 F_Navi("This","mora,44,138")+" 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 F_Navi("This","mora,119,170")+" is where Raffles live la!";
mes "Head over there la!";
viewpoint 1,119,170,1,0xAAFF00;
close;
@@ -137,13 +139,13 @@ mora,115,138,5 script Raffle Guide#center 524,{
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!";
+ mes "There are a lot of "+F_Navi("stores and cafes","mora,112,110")+", 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 "The "+F_Navi("Warehouse","mora,182,161")+" is where you keep your valuables la!";
mes "Be careful so you don't get robbed la!";
viewpoint 1,182,161,3,0xFF1493;
close;
@@ -168,19 +170,20 @@ mora,72,51,3 script Raffle Guide#south 518,{
mes "Lali?";
mes "Welcome to the Village of Mora.";
mes "If you need to know anything about the village, just ask me.";
+ F_Navi("[Raffli]");
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 F_Navi("This","mora,44,138")+" 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 F_Navi("This","mora,119,170")+" is where Raffles live.";
mes "Are you coming to Raffli's house li? I'm so happy.";
viewpoint 1,119,170,1,0xAAFF00;
close;
@@ -188,13 +191,13 @@ mora,72,51,3 script Raffle Guide#south 518,{
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.";
+ mes "You can find tons of "+F_Navi("places","mora,112,110")+" 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 "The "+F_Navi("Warehouse","mora,182,161")+" is where you keep your valuables.";
mes "But don't get robbed.";
viewpoint 1,182,161,3,0xFF1493;
close;
diff --git a/npc/re/guides/guides_morroc.txt b/npc/re/guides/guides_morroc.txt
index e9e662ecd..9c86f7fae 100644
--- a/npc/re/guides/guides_morroc.txt
+++ b/npc/re/guides/guides_morroc.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Morroc Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Morroc and Morroc Ruins.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
cutin "moc_soldier",2;
@@ -20,6 +19,7 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
mes "Welcome to ^8B4513Morroc^000000,";
mes "the Desert Town.";
mes "Do you need help navigating the town?";
+ F_Navi("[Morroc Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -29,7 +29,7 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
switch(select("[ Thief Guild ]:[ Sphinx Dungeon ]:[ Oasis Entrance ]:[ Forge ]:[ Weapon & Armor Shop ]:[ Inn ]:[ Tavern ]:Previous Menu")) {
case 1:
mes "[Morroc Guide]";
- mes "The ^B9062FThief Guild^000000 is located";
+ mes "The "+F_Navi("Thief Guild","morocc,26,294","^B9062F")+" is located";
mes "inside the ^B9062FPyramids^000000";
mes "that is near the ^B9062FOasis^000000.";
mes "Would you like to check any other locations?";
@@ -38,7 +38,7 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
break;
case 2:
mes "[Morroc Guide]";
- mes "The ^0000FFSphinx Dungeon^000000 is";
+ mes "The "+F_Navi("Sphinx Dungeon","morocc,26,164","^0000FF")+" is";
mes "right outside the western gate.";
mes "Would you like to check any other locations?";
viewpoint 1,26,164,1,0x0A82FF;
@@ -46,25 +46,25 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
break;
case 3:
mes "[Morroc Guide]";
- mes "Let me mark the entrance to the ^FF5400Oasis^000000";
+ mes "Let me mark the entrance to the "+F_Navi("Oasis","morocc,26,294","^FF5400");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
viewpoint 1,26,294,2,0xFFB400;
next;
break;
case 4:
- callsub L_Mark,"^006400Forge";
+ callsub L_Mark, F_Navi("Forge","morocc,47,47","^006400");
viewpoint 1,47,47,3,0xAAFF00;
next;
break;
case 5:
- callsub L_Mark,"^7F3300Weapon & Armor Shop";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","morocc,253,56","^7F3300");
viewpoint 1,253,56,4,0xD2691E;
next;
break;
case 6:
mes "[Morroc Guide]";
- mes "Currently the ^800080Inn^000000";
+ mes "Currently the "+F_Navi("Inn","morocc,273,269","^800080");
mes "has been shut down until further notice,";
mes "but I'll mark its location";
mes "on your mini-map.";
@@ -73,7 +73,7 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
next;
break;
case 7:
- callsub L_Mark,"^B9062FTavern";
+ callsub L_Mark, F_Navi("Tavern","morocc,52,259","^B9062F");
viewpoint 1,52,259,6,0xFF0000;
next;
break;
@@ -88,19 +88,19 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
while (.@loop) {
switch(select("[ Kafra Employee ]:[ Poison Herb Salesman ]:[ Dye Maker ]:[ Seiyablem ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^0000FFKafra Employees";
+ callsub L_Mark,"^0000FFKafra Employees^000000";
viewpoint 1,156,97,7,0x0A82FF;
viewpoint 1,160,258,8,0x0A82FF;
next;
break;
case 2:
- callsub L_Mark,"^006400Poison Herb Salesman";
+ callsub L_Mark, F_Navi("Poison Herb Salesman","morocc,191,94","^006400");
viewpoint 1,190,96,9,0xAAFF00;
next;
break;
case 3:
mes "[Morroc Guide]";
- mes "The ^7F3300Dye Maker^000000 is";
+ mes "The "+F_Navi("Dye Maker","morocc,273,269","^7F3300")+" is";
mes "currently staying";
mes "on the 1st floor of the Inn.";
mes "Let me mark his location";
@@ -111,7 +111,7 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
break;
case 4:
mes "[Morroc Guide]";
- mes "^800080Seiyablem^000000";
+ mes F_Navi("Seiyablem","morocc,51,41","^800080");
mes "is a technician";
mes "who can create ^0000FFslots^000000 on weapons and armors,";
mes "but not all equipment";
@@ -156,15 +156,14 @@ morocc,153,286,6 script Guide#01morocc::GuideMorroc 707,{
L_Mark:
mes "[Morroc Guide]";
mes "Let me mark the location of the";
- mes getarg(0)+"^000000";
+ mes getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
}
-
-morocc,154,38,6 duplicate(GuideMorroc) Guide#02morocc 707,{
-morocc,296,213,4 duplicate(GuideMorroc) Guide#03morocc 707,{
-morocc,28,170,5 duplicate(GuideMorroc) Guide#04morocc 707,{
+morocc,154,38,6 duplicate(GuideMorroc) Guide#02morocc 707
+morocc,296,213,4 duplicate(GuideMorroc) Guide#03morocc 707
+morocc,28,170,5 duplicate(GuideMorroc) Guide#04morocc 707
moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
cutin "moc_soldier",2;
@@ -172,6 +171,7 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
mes "Welcome to ^8B4513Morroc^000000,";
mes "the Desert Town.";
mes "Do you need help navigating the town?";
+ F_Navi("[Morroc Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -181,7 +181,7 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
switch(select("[ Thief Guild ]:[ Sphinx Dungeon ]:[ Morroc Entrance ]:Previous Menu")) {
case 1:
mes "[Morroc Guide]";
- mes "The ^B9062FThief Guild^000000 is located";
+ mes "The "+F_Navi("Thief Guild","moc_ruins,56,161","^B9062F")+" is located";
mes "inside the ^B9062FPyramids^000000.";
mes "Let me mark its location";
mes "on your mini-map.";
@@ -191,7 +191,7 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
break;
case 2:
mes "[Morroc Guide]";
- mes "The ^0000FFSphinx Dungeon^000000";
+ mes "The "+F_Navi("Sphinx Dungeon","moc_ruins,71,19","^0000FF");
mes "is outside the south entrance of this Oasis.";
mes "Would you like to check any other locations?";
viewpoint 1,71,19,1,0x0A82FF;
@@ -199,7 +199,7 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
break;
case 3:
mes "[Morroc Guide]";
- mes "^FF5400Morroc^000000 is";
+ mes F_Navi("Morroc","moc_ruins,158,40","^FF5400")+" is";
mes "right outside the southeast entrance of this Oasis.";
mes "Let me mark its location";
mes "on your mini-map.";
@@ -218,39 +218,44 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
while (.@loop) {
switch(select("[ Eden Teleport Officer ]:[ Tool Dealer ]:[ Kafra Employee ]:[ Repairman ]:[ Pet Groomer ]:[ Chef Assistant ]:[ Leablem ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^006400Eden Teleport Officer";
+ callsub L_Mark, F_Navi("Eden Teleport Officer","moc_ruins,68,164","^006400");
viewpoint 1,68,164,3,0xAAFF00;
next;
break;
case 2:
- callsub L_Mark,"^800080Tool Dealers";
+ mes "[Morroc Guide]";
+ mes "Let me mark the location of the";
+ mes F_Navi("Northern Tool Dealer","moc_ruins,92,128","^800080");
+ mes "and "+F_Navi("Southern Tool Dealer","moc_ruins,114,63","^800080");
+ mes "on your mini-map.";
+ mes "Would you like to check any other locations?";
viewpoint 1,92,128,5,0xDA70D6;
viewpoint 1,114,63,6,0xDA70D6;
next;
break;
case 3:
- callsub L_Mark,"^B9062FKafra Employee";
+ callsub L_Mark, "^B9062FKafra Employee^000000";
viewpoint 1,59,157,7,0xFF0000;
next;
break;
case 4:
- callsub L_Mark,"^0000FFRepairman";
+ callsub L_Mark, F_Navi("Repairman","moc_ruins,107,94","^0000FF");
viewpoint 1,107,94,8,0x0A82FF;
next;
break;
case 5:
- callsub L_Mark,"^FF5400Pet Groomer";
+ callsub L_Mark, F_Navi("Pet Groomer","moc_ruins,118,170","^FF5400");
viewpoint 1,118,170,9,0xFFB400;
next;
break;
case 6:
- callsub L_Mark,"^006400Chef Assistant";
+ callsub L_Mark, F_Navi("Chef Assistant","moc_ruins,115,123","^006400");
viewpoint 1,115,123,10,0xAAFF00;
next;
break;
case 7:
mes "[Morroc Guide]";
- mes "^7F3300Leablem^000000";
+ mes F_Navi("Leablem","moc_ruins,154,86","^7F3300");
mes "is a technician";
mes "who can create ^0000FFslots^000000 on weapons and armors,";
mes "but not all equipment";
@@ -295,11 +300,10 @@ moc_ruins,159,53,3 script Guide#01ruins::GuideMocRuins 707,{
L_Mark:
mes "[Morroc Guide]";
mes "Let me mark the location of the";
- mes getarg(0)+"^000000";
+ mes getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
}
-
moc_ruins,70,164,3 duplicate(GuideMocRuins) Guide#02ruins 707
moc_ruins,65,44,5 duplicate(GuideMocRuins) Guide#03ruins 707
diff --git a/npc/re/guides/guides_moscovia.txt b/npc/re/guides/guides_moscovia.txt
index 6627021f3..3a8d3e98b 100644
--- a/npc/re/guides/guides_moscovia.txt
+++ b/npc/re/guides/guides_moscovia.txt
@@ -1,77 +1,85 @@
//===== Hercules Script ======================================
//= Moscovia Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guide for the city of Moscovia.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized (a little bit). [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
-moscovia,226,191,4 script Moscovia Guide#02mosc 959,{
+moscovia,161,76,3 script Moscovia Guide#01mosc 959,{
mes "[Moscovia Guide]";
- mes "A paradise on the sea";
- mes "beautiful wave and warm sunshine";
- mes "^8B4513Moscovia^000000 is waitting for you";
- mes "welcome to come here.";
+ mes "A paradise on the sea,";
+ mes "beautiful waves and warm sunshine.";
+ mes "^8B4513Moscovia^000000 is waiting for you.";
mes "I'm supporting to offer information about here.";
- mes "if you want to ask anything just feel free tell me.";
+ mes "If you want to ask anything just feel free tell me.";
+ F_Navi("[Moscovia Guide]");
set .@str$,"Is there anything else I can do for you?";
while (1) {
next;
- switch(select("[ Palace ]:[ Chapel ]:[ Weapon Shop ]:[ Armor Shop ]:[ Tool Shop ]:[ Inn ]:[ Return to Alberta ]:Remove Marks from Mini-Map:Cancel")) {
+ switch(select("[ Kafra Employee ]:[ Palace ]:[ Chapel ]:[ Weapon Shop ]:[ Armor Shop ]:[ Tool Shop ]:[ Inn ]:[ Return to Alberta ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
mes "[Moscovia Guide]";
- mes "In the ^006400Palace^000000 you will find our Lord the Czar and other servants.";
- mes .@str$;
- viewpoint 1,255,140,0,0x0A82FF;
+ mes "The ^0000FFKafra Employee^000000 has";
+ mes "been marked on your mini-map";
+ mes "Check your mini-map.";
+ mes "Do you need anything else?";
+ viewpoint 1,223,191,0,0x0A82FF;
break;
case 2:
mes "[Moscovia Guide]";
- mes "The ^008080Chapel^000000 is located here.";
+ mes "In the "+F_Navi("Palace","moscovia,255,140","^006400")+" you will find our Lord the Czar and other servants.";
mes .@str$;
- viewpoint 1,253,179,1,0xAAFF00;
+ viewpoint 1,255,140,1,0x0A82FF;
break;
case 3:
mes "[Moscovia Guide]";
- mes "You can buy weapons from the best craftsmen in Moscovia if you go to ^FF1493Weapon Shop^000000.";
+ mes "The "+F_Navi("Chapel","moscovia,253,179","^008080")+" is located here.";
mes .@str$;
- viewpoint 1,186,191,2,0x008080;
+ viewpoint 1,253,179,2,0xAAFF00;
break;
case 4:
mes "[Moscovia Guide]";
- mes "You will find only the best gear at the Moscovia ^8B4513Armor Shop^000000.";
+ mes "You can buy weapons from the best craftsmen in Moscovia if you go to the "+F_Navi("Weapon Shop","moscovia,186,191","^FF1493")+".";
mes .@str$;
- viewpoint 1,204,169,3,0xB200FF;
+ viewpoint 1,186,191,3,0x008080;
break;
case 5:
mes "[Moscovia Guide]";
- mes "The ^FF1493Tool Shop^000000 is located just south from the center of town.";
- mes "You can find all sorts of things you need for your travels.";
+ mes "You will find only the best gear at the Moscovia "+F_Navi("Armor Shop","moscovia,204,169","^8B4513")+".";
mes .@str$;
- viewpoint 1,221,176,4,0xFF1493;
+ viewpoint 1,204,169,4,0xB200FF;
break;
case 6:
mes "[Moscovia Guide]";
- mes "The Inn 'Sticky Herb Tree' is just north from the center of town.";
- mes "If you need to rest, there is no better place to stay.";
+ mes "The "+F_Navi("Tool Shop","moscovia,221,176","^FF1493")+" is located just south from the center of town.";
+ mes "You can find all sorts of things you need for your travels.";
mes .@str$;
- viewpoint 1,227,206,5,0x8B4513;
+ viewpoint 1,221,176,5,0xFF1493;
break;
case 7:
mes "[Moscovia Guide]";
- mes "You can go back to Alberta at the docks.";
+ mes "The Inn "+F_Navi("Sticky Herb Tree","moscovia,227,206")+" is just north from the center of town.";
+ mes "If you need to rest, there is no better place to stay.";
mes .@str$;
- viewpoint 1,166,53,6,0x00BFFF;
+ viewpoint 1,227,206,6,0x8B4513;
break;
case 8:
mes "[Moscovia Guide]";
+ mes "You can find the";
+ mes F_Navi("Moscovia P.R. Officer","moscovia,166,53")+" at the docks if";
+ mes "you want to return to Alberta.";
+ viewpoint 1,166,53,7,0x00BFFF;
+ break;
+ case 9:
+ mes "[Moscovia Guide]";
mes "I'll remove all marks from your mini-map.";
mes .@str$;
viewpoint 2,1,1,0,0xFFFFFF;
@@ -81,11 +89,13 @@ moscovia,226,191,4 script Moscovia Guide#02mosc 959,{
viewpoint 2,1,1,4,0xFFFFFF;
viewpoint 2,1,1,5,0xFFFFFF;
viewpoint 2,1,1,6,0xFFFFFF;
+ viewpoint 2,1,1,7,0xFFFFFF;
break;
- case 9:
+ case 10:
mes "[Moscovia Guide]";
mes "Enjoy your trip~!";
close;
}
}
}
+moscovia,226,191,4 duplicate(Moscovia Guide#01mosc) Moscovia Guide#02mosc 959
diff --git a/npc/re/guides/guides_niflheim.txt b/npc/re/guides/guides_niflheim.txt
index 32790bd44..9c9321069 100644
--- a/npc/re/guides/guides_niflheim.txt
+++ b/npc/re/guides/guides_niflheim.txt
@@ -1,41 +1,45 @@
//===== Hercules Script ======================================
//= Niflheim Guide
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
-//= Guide for the city of Niflehim.
-//===== Additional Comments: =================================
+//= Guide for the city of Niflheim.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
//= 1.1 Optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
niflheim,201,187,3 script Niflheim Guide#01nif 849,{
mes "[Niflheim Guide]";
mes "Welcome to.. ^8B4513Niflheim^000000...";
mes "the Realm of the Dead...";
mes "Do you need help navigating the realm...?";
+ if (F_Navi() == 0) {
+ next;
+ mes "[Niflheim Guide]";
+ mes "When you click on the.. ^B9062F[location name]^000000... you'll receive the most advanced ^B9062FNavigation^000000 services...!";
+ }
while (1) {
next;
switch(select("[ Tool Shop ]:[ Pub ]:[ Weapon Shop ]:[ Witch's Castle ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
- callsub L_Mark,"^0000FFTool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","niflheim,218,196","^0000FF");
viewpoint 1,218,196,0,0x0A82FF;
break;
case 2:
- callsub L_Mark,"^006400Pub";
+ callsub L_Mark, F_Navi("Pub","niflheim,189,208","^006400");
viewpoint 1,189,208,1,0xAAFF00;
break;
case 3:
- callsub L_Mark,"^800080Weapon Shop";
+ callsub L_Mark, F_Navi("Weapon Shop","niflheim,218,170","^800080");
viewpoint 1,218,170,2,0xDA70D6;
break;
case 4:
- callsub L_Mark,"^FF1493Witch's Castle";
+ callsub L_Mark, F_Navi("Witch's Castle","niflheim,255,195","^FF1493");
viewpoint 1,255,195,3,0xFF1493;
break;
case 5:
diff --git a/npc/re/guides/guides_payon.txt b/npc/re/guides/guides_payon.txt
index e07ff5bfe..ce8164701 100644
--- a/npc/re/guides/guides_payon.txt
+++ b/npc/re/guides/guides_payon.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Payon Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Payon.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
//= 1.1 Fixed and optimized. [Euphy]
-//============================================================
+//= 1.2 Navigation system update. [Euphy]
+//============================================================
payon,163,64,3 script Guide#01payon::GuidePayon 708,{
cutin "pay_soldier",2;
@@ -20,16 +19,17 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
mes "Welcome to ^8B4513Payon^000000,";
mes "the Mountain Village.";
mes "Do you need help navigating the village?";
+ F_Navi("[Payon Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
set .@loop,1;
while (.@loop) {
- switch(select("[ Archer Village ]:[ Tool Shop]:[ Weapon & Armor Shop ]:[ Inn & Tavern ]:[ Central Palace ]:[ Palace Court ]:[ Royal Kitchen ]:Previous Menu")) {
+ switch(select("[ Archer Village ]:[ Tool Shop ]:[ Weapon & Armor Shop ]:[ Inn & Tavern ]:[ Central Palace ]:[ Palace Court ]:[ Royal Kitchen ]:Previous Menu")) {
case 1:
mes "[Payon Guide]";
- mes "^B9062FArcher Village^000000 is where";
+ mes F_Navi("Archer Village","payon,227,328","^B9062F")+" is where";
mes "the Archer Association resides.";
mes "Please use the far north gate to enter the village.";
mes "Would you like to check any other locations?";
@@ -37,32 +37,32 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
next;
break;
case 2:
- callsub L_Mark,"^0000FFTool Shop";
+ callsub L_Mark, F_Navi("Tool Shop","payon,144,85","^0000FF");
viewpoint 1,144,85,1,0x0A82FF;
next;
break;
case 3:
- callsub L_Mark,"^FF5400Weapon & Armor Shop";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","payon,139,159","^FF5400");
viewpoint 1,139,159,2,0xFFB400;
next;
break;
case 4:
- callsub L_Mark,"^006400Inn & Tavern";
+ callsub L_Mark, F_Navi("Inn & Tavern","payon,220,117","^006400");
viewpoint 1,220,117,3,0xAAFF00;
next;
break;
case 5:
- callsub L_Mark,"^7F3300Central Palace";
+ callsub L_Mark, F_Navi("Central Palace","payon,155,245","^7F3300");
viewpoint 1,155,245,4,0xD2691E;
next;
break;
case 6:
- callsub L_Mark,"^800080Palace Court";
+ callsub L_Mark, F_Navi("Palace Court","payon,107,325","^800080");
viewpoint 1,107,325,5,0xDA70D6;
next;
break;
case 7:
- callsub L_Mark,"^B9062FRoyal Kitchen";
+ callsub L_Mark, F_Navi("Royal Kitchen","payon,154,325","^B9062F");
viewpoint 1,154,325,6,0xFF0000;
next;
break;
@@ -75,36 +75,36 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
case 2:
set .@loop,1;
while (.@loop) {
- switch(select("[ Eden Teleport Officer ]:[ Kafra Shop ]:[ Repair / Armsmith ]:[ Kafra Employee]:[ Trap Specialist ]:[ Seiayblem ]:[ Leablem ]:[ Jade ]:[ Pet Groomer ]:[ Chef Assistant ]:Previous Menu")) {
+ switch(select("[ Eden Teleport Officer ]:[ Kafra Shop ]:[ Repair / Armsmith ]:[ Kafra Employee ]:[ Trap Specialist ]:[ Seiayblem ]:[ Leablem ]:[ Jade ]:[ Pet Groomer ]:[ Chef Assistant ]:Previous Menu")) {
case 1:
- callsub L_Mark,"^0000FFEden Teleport Officer";
+ callsub L_Mark, F_Navi("Eden Teleport Officer","payon,177,111","^0000FF");
viewpoint 1,177,111,7,0x0A82FF;
next;
break;
case 2:
- callsub L_Mark,"^FF5400Kafra Shop Girls";
+ callsub L_Mark, F_Navi("Kafra Shop Girls","payon,164,157","^FF5400");
viewpoint 1,164,157,8,0xFFB400;
next;
break;
case 3:
- callsub L_Mark,"^006400Repairman & Armsmith";
+ callsub L_Mark, F_Navi("Repairman & Armsmith","payon,144,170","^006400");
viewpoint 1,144,170,9,0xAAFF00;
next;
break;
case 4:
- callsub L_Mark,"^7F3300Kafra Employees";
+ callsub L_Mark, "^7F3300Kafra Employees^000000";
viewpoint 1,181,104,10,0xD2691E;
viewpoint 1,175,226,11,0xD2691E;
next;
break;
case 5:
- callsub L_Mark,"^800080Trap Specialist";
+ callsub L_Mark, F_Navi("Trap Specialist","payon,123,109","^800080");
viewpoint 1,123,109,12,0xDA70D6;
next;
break;
case 6:
mes "[Payon Guide]";
- mes "^B9062FSeiyablem^000000";
+ mes F_Navi("Seiyablem","payon,140,151","^B9062F");
mes "is a technician";
mes "who can create ^0000FFslots^000000 on weapons and armors,";
mes "but not all equipment";
@@ -115,7 +115,7 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
break;
case 7:
mes "[Payon Guide]";
- mes "^0000FFLeablem^000000";
+ mes F_Navi("Leablem","payon,236,199","^0000FF");
mes "is a technician";
mes "who can create ^0000FFslots^000000 on weapons and armors,";
mes "but not all equipment";
@@ -126,7 +126,7 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
break;
case 8:
mes "[Payon Guide]";
- mes "^FF5400Jade^000000";
+ mes F_Navi("Jade","payon,173,238","^FF5400");
mes "can exchange different types of";
mes "^FF5400Gemstones^000000.";
mes "Would you like to check any other locations?";
@@ -134,12 +134,12 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
next;
break;
case 9:
- callsub L_Mark,"^006400Pet Groomer";
+ callsub L_Mark, F_Navi("Pet Groomer","payon,177,131","^006400");
viewpoint 1,177,131,16,0xAAFF00;
next;
break;
case 10:
- callsub L_Mark,"^7F3300Chef Assistant";
+ callsub L_Mark, F_Navi("Chef Assistant","payon,206,119","^7F3300");
viewpoint 1,206,119,17,0xD2691E;
next;
break;
@@ -185,7 +185,7 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{
L_Mark:
mes "[Payon Guide]";
mes "Let me mark the location of the";
- mes getarg(0)+"^000000";
+ mes getarg(0);
mes "on your mini-map.";
mes "Would you like to check any other locations?";
return;
@@ -201,6 +201,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
mes "Welcome to ^8B4513Archer Village^000000,";
mes "a subsidiary village of Payon.";
mes "Do you need help navigating the village?";
+ F_Navi("[Payon Guide]");
next;
set .@str$,"Would you like to check any other locations?";
while (1) {
@@ -208,7 +209,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
case 1:
mes "[Payon Guide]";
mes "Let me mark the entrance of";
- mes "the ^B9062FPayon Dungeon^000000";
+ mes "the "+F_Navi("Payon Dungeon","pay_arche,38,131","^B9062F");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,38,131,0,0xFF0000;
@@ -216,7 +217,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
break;
case 2:
mes "[Payon Guide]";
- mes "The ^0000FFArcher Guild^000000";
+ mes "The "+F_Navi("Archer Guild","pay_arche,143,164","^0000FF");
mes "is where you can change";
mes "your job to Archer.";
mes .@str$;
@@ -226,7 +227,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
case 3:
mes "[Payon Guide]";
mes "Let me mark the location of the";
- mes "^FF5400Tool Shop^000000";
+ mes F_Navi("Tool Shop","pay_arche,72,156","^FF5400");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,72,156,2,0xFFB400;
@@ -243,8 +244,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
case 5:
mes "[Payon Guide]";
mes "Let me mark the location of the";
- mes "^7F3300Bow Mercenary Manager^000000 and";
- mes "^7F3300Mercenary Goods Merchant^000000";
+ mes F_Navi("Mercenary Guildsman","pay_arche,101,166","^7F3300");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,101,166,4,0xD2691E;
@@ -253,7 +253,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
case 6:
mes "[Payon Guide]";
mes "Let me mark the location of the";
- mes "^800080Alchemist Guildsman^000000";
+ mes F_Navi("Alchemist Guildsman","pay_arche,126,113,","^800080");
mes "on your mini-map.";
mes .@str$;
viewpoint 1,127,113,5,0xDA70D6;
@@ -261,7 +261,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{
break;
case 7:
mes "[Payon Guide]";
- mes "The ^0000FFEden Teleport Officer^000000";
+ mes "The "+F_Navi("Eden Teleport Officer","pay_arche,143,164","^0000FF");
mes "is currently staying inside";
mes "the Archer Guild building.";
mes .@str$;
diff --git a/npc/re/guides/guides_prontera.txt b/npc/re/guides/guides_prontera.txt
index f744a7a8c..08f2a8972 100644
--- a/npc/re/guides/guides_prontera.txt
+++ b/npc/re/guides/guides_prontera.txt
@@ -1,17 +1,17 @@
//===== Hercules Script ======================================
//= Prontera Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
-//= Guides for the city of Prontera
-//===== Additional Comments: =================================
+//= Guides for the city of Prontera.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//= Optimized.
+//============================================================
prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
cutin "prt_soldier",2;
@@ -20,7 +20,9 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
mes "the beautiful capital of the";
mes "Rune-Midgarts Kingdom.";
mes "Do you need help navigating the city?";
+ F_Navi("[Prontera Guide]");
next;
+ set .@str$,"Would you like to check any other locations?";
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
@@ -28,63 +30,53 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
while (.@loop) {
switch(select("[ Tool Shop ]:[ Weapon & Armor Shop ]:[ Forge ]:[ Sanctuary ]:[ Chivalry Office ]:[ Inn ]:[ Tavern ]:[ Library ]:[ Prontera Castle ]:[ Job Agency ]:[ City Hall ]:Previous Menu")) {
case 1:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^B9062FTool Shop^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Tool Shop","prontera,134,221","^B9062F");
+ mes .@str$;
viewpoint 1,134,221,0,0xFF0000;
next;
break;
case 2:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^0000FFWeapon & Armor Shop^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Weapon & Armor Shop","prontera,175,220","^0000FF");
+ mes .@str$;
viewpoint 1,175,220,1,0x0A82FF;
next;
break;
case 3:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^FF5400Forge^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Forge","prontera,179,184","^FF5400");
+ mes .@str$;
viewpoint 1,179,184,2,0xFFB400;
next;
break;
case 4:
mes "[Prontera Guide]";
- mes "The ^006400Prontera Sanctuary^000000 is";
+ mes "The "+F_Navi("Prontera Sanctuary","prontera,236,316","^006400")+" is";
mes "where you can change your job to Acolyte,";
mes "its located in the far northeast of Prontera.";
mes "Let me mark the location on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,236,316,3,0xAAFF00;
next;
break;
case 5:
mes "[Prontera Guide]";
- mes "The Chivalry Office is";
+ mes "The "+F_Navi("Chivalry Office","prontera,46,345")+" is";
mes "where you can change your job to ^7F3300Knight^000000";
mes "or apply for the ^7F3300Culvert^000000 Subjugation Party.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,46,345,4,0xD2691E;
next;
break;
case 6:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^800080Inn^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Inn","prontera,203,191","^800080");
+ mes .@str$;
viewpoint 1,204,191,5,0xDA70D6;
next;
break;
case 7:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^B9062FTaverns^000000";
- mes "on your mini-map.";
- mes "Only the ^B9062Fnorthern^000000 tavern";
+ callsub L_Mark, "^B9062FTaverns^000000";
+ mes "Only the "+F_Navi("northern","prontera,208,154","^B9062F")+" tavern";
mes "is open for now.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,208,154,6,0xFF0000;
viewpoint 1,46,67,7,0xFF0000;
next;
@@ -93,38 +85,36 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
mes "[Prontera Guide]";
mes "The ^0000FFLibrary^000000 is";
mes "where you can find useful information, like the Monster Encyclopedia.";
- mes "There are currently twi libaries available";
- mes "in the northern area of Prontera.";
- mes "Would you like to check any other locations?";
+ mes "There are currently two libaries available,";
+ mes "One to the "+F_Navi("northeast","prontera,120,264")+" and the other to the "+F_Navi("northwest","prontera,192,264")+".";
+ mes .@str$;
viewpoint 1,120,264,8,0x0A82FF;
viewpoint 1,192,264,9,0x0A82FF;
next;
break;
case 9:
mes "[Prontera Guide]";
- mes "The ^FF5400Prontera Castle^000000 is north from here,";
+ mes "The "+F_Navi("Prontera Castle","prontera,156,360","^FF5400")+" is north from here,";
mes "and its rear gate is connected to";
mes "the northern Prontera Fields.";
mes "Let me mark the castle on your mini-map.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,156,360,10,0xFFB400;
next;
break;
case 10:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the ^006400Job Agency^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Job Agency","prontera,133,183","^006400");
+ mes .@str$;
viewpoint 1,133,183,11,0xAAFF00;
next;
break;
case 11:
mes "[Prontera Guide]";
- mes "Let me mark the location of ^7F3300City Hall^000000";
+ mes "Let me mark the location of "+F_Navi("City Hall","prontera,75,91","^7F3300");
mes "on your mini-map.";
mes "There's a hairstylist";
mes "there that can change your hair color.";
- mes "Would you like to check any other locations?";
+ mes .@str$;
viewpoint 1,75,91,12,0xD2691E;
next;
break;
@@ -137,72 +127,66 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
case 2:
set .@loop,1;
while (.@loop) {
- switch(select("[ Eden Teleport Officer ]:[ Peco Peco Breeder ]:[ Riding Creature Master ]:[ Magic Gear Master ]:[ Peco Peco Remover ]:[ Rune Salesman ]:[ Mercenary Guildsman ]:[ Hypnotist ]:[ Kafra Employee ]:[ Leablem ]:[ Apprentice Craftsman ]:Previous Menu")) {
+ switch(select("[ Eden Teleport Officer ]:[ Peco Peco Breeder ]:[ Riding Creature Master ]:[ Magic Gear Master ]:[ Peco Peco Remover ]:[ Trading Merchants ]:[ Mercenary Guildsman ]:[ Hypnotist ]:[ Kafra Employee ]:[ Leablem ]:[ Apprentice Craftsman ]:[ Pet Groomer ]:Previous Menu")) {
case 1:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the";
- mes "^800080Eden Teleport Officer^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
+ callsub L_Mark, F_Navi("Eden Teleport Officer","prontera,124,76","^800080"),1;
+ mes .@str$;
viewpoint 1,124,76,13,0xDA70D6;
next;
break;
case 2:
mes "[Prontera Guide]";
mes "Two ^0000FFPeco Peco Breeders^000000 are available,";
- mes "one for ^0000FFKnights^000000 to the ^0000FFnorthwest^000000";
- mes "and the other for ^0000FFCrusaders^000000 to the ^0000FFnortheast^000000.";
- viewpoint 1,55,350,15,0x0A82FF;
- viewpoint 1,232,310,16,0x0A82FF;
+ mes "one for ^0000FFKnights^000000 to the "+F_Navi("northwest","prontera,55,350","^0000FF");
+ mes "and the other for ^0000FFCrusaders^000000 to the "+F_Navi("northeast","prontera,232,310","^0000FF")+".";
+ viewpoint 1,55,350,14,0x0A82FF;
+ viewpoint 1,232,310,15,0x0A82FF;
next;
break;
case 3:
mes "[Prontera Guide]";
- mes "The ^FF5400Riding Creature Master^000000 provides services for";
+ mes "The "+F_Navi("Riding Creature Master","prontera,131,213","^FF5400")+" provides services for";
mes "^FF5400Rune Knights^000000 and ^FF5400Royal Guards^000000.";
mes "Let me mark his location";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,131,213,17,0xFFB400;
+ mes .@str$;
+ viewpoint 1,131,213,16,0xFFB400;
next;
break;
case 4:
mes "[Prontera Guide]";
- mes "The ^006400Magic Gear Master^000000";
+ mes "The "+F_Navi("Magic Gear Master","prontera,163,178","^006400");
mes "provides services for";
mes "^006400Mechanics^000000.";
mes "Let me mark his location";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,163,178,18,0xAAFF00;
+ mes .@str$;
+ viewpoint 1,163,178,17,0xAAFF00;
next;
break;
case 5:
mes "[Prontera Guide]";
mes "If your beloved Peco Peco refuses";
mes "to leave you,";
- mes "please talk to the ^7F3300Peco Peco Remover^000000";
+ mes "please talk to the "+F_Navi("Peco Peco Remover","prontera,125,208","^7F3300");
mes "near the central fountain.";
- mes "Would you like to check any other locations?";
- viewpoint 1,125,208,19,0xD2691E;
+ mes .@str$;
+ viewpoint 1,125,208,18,0xD2691E;
next;
break;
case 6:
mes "[Prontera Guide]";
- mes "Let me mark the location of";
- mes "the ^800080Rune Salesman^000000";
+ mes "The Rune Merchant, Amatsu Trader, and other";
+ mes F_Navi("Trading Merchants","prontera,178,244","^800080")+" have been marked";
mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,168,228,20,0xDA70D6;
+ mes .@str$;
+ viewpoint 1,178,244,19,0xDA70D6;
next;
break;
case 7:
- mes "[Prontera Guide]";
- mes "Let me mark the location of ^0000FFSpear Mercenary Manager^000000 and";
- mes "^0000FFMercenary Goods Merchant^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,35,337,21,0x0A82FF;
+ callsub L_Mark, F_Navi("Mercenary Guildsman","prontera,35,337","^0000FF"),1;
+ mes .@str$;
+ viewpoint 1,35,337,20,0x0A82FF;
next;
break;
case 8:
@@ -210,46 +194,46 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
mes "The ^FF5400Hypnotist^000000";
mes "helps beginner adventurers";
mes "to reset their skills.";
- mes "Let me mark his location";
- mes "on your mini-map.";
+ mes "He has moved to Izlude, Prontera's satellite town to the southeast.";
mes "Would you like to check any other locations?";
- viewpoint 1,146,232,22,0xFFB400;
+ mes .@str$;
+ //viewpoint 1,146,232,21,0xFFB400;
next;
break;
case 9:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the";
- mes "^006400Kafra Employees^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,152,326,23,0xAAFF00;
- viewpoint 1,30,207,24,0xAAFF00;
- viewpoint 1,282,200,25,0xAAFF00;
- viewpoint 1,151,29,26,0xAAFF00;
- viewpoint 1,146,89,27,0xAAFF00;
+ callsub L_Mark, "^006400Kafra Employees^000000",1;
+ mes .@str$;
+ viewpoint 1,152,326,22,0xAAFF00;
+ viewpoint 1,30,207,23,0xAAFF00;
+ viewpoint 1,282,200,24,0xAAFF00;
+ viewpoint 1,151,29,25,0xAAFF00;
+ viewpoint 1,146,89,26,0xAAFF00;
next;
break;
case 10:
mes "[Prontera Guide]";
- mes "^0000FFLeablem^000000";
+ mes F_Navi("Leablem","prontera,244,169","^0000FF");
mes "is a technician";
mes "who can create ^0000FFslots^000000 on weapons and armors,";
mes "As amazing as it sounds,";
mes "not all equipment can be slotted.";
- mes "Would you like to check any other locations?";
- viewpoint 1,244,169,28,0x0A82FF;
+ mes .@str$;
+ viewpoint 1,244,169,27,0x0A82FF;
next;
break;
case 11:
- mes "[Prontera Guide]";
- mes "Let me mark the location of the";
- mes "^800080Apprentice Craftsman^000000";
- mes "on your mini-map.";
- mes "Would you like to check any other locations?";
- viewpoint 1,165,60,29,0xDA70D6;
+ callsub L_Mark, F_Navi("Apprentice Craftsman","prontera,165,60","^800080"),1;
+ mes .@str$;
+ viewpoint 1,165,60,28,0xDA70D6;
next;
break;
case 12:
+ callsub L_Mark, F_Navi("Pet Groomer","prontera,218,211"),1;
+ mes .@str$;
+ viewpoint 1,218,211,29,0xFF0000;
+ next;
+ break;
+ case 13:
set .@loop,0;
break;
}
@@ -280,7 +264,7 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
viewpoint 2,1,1,18,0xFFFF00;
viewpoint 2,1,1,19,0xFFFF00;
viewpoint 2,1,1,20,0xFFFF00;
- viewpoint 2,1,1,21,0xFFFF00;
+ //viewpoint 2,1,1,21,0xFFFF00;
viewpoint 2,1,1,22,0xFFFF00;
viewpoint 2,1,1,23,0xFFFF00;
viewpoint 2,1,1,24,0xFFFF00;
@@ -299,8 +283,17 @@ prontera,154,187,4 script Guide#01prontera::GuideProntera 105,{
end;
}
}
+ end;
+L_Mark:
+ mes "[Prontera Guide]";
+ if (getarg(1,0)) {
+ mes "Let me mark the location of the";
+ mes getarg(0);
+ } else
+ mes "Let me mark the location of the "+getarg(0);
+ mes "on your mini-map.";
+ return;
}
-
prontera,282,208,2 duplicate(GuideProntera) Guide#02prontera 105
prontera,29,200,6 duplicate(GuideProntera) Guide#03prontera 105
prontera,160,29,0 duplicate(GuideProntera) Guide#04prontera 105
diff --git a/npc/re/guides/guides_rachel.txt b/npc/re/guides/guides_rachel.txt
index e0aac2b8f..706a4b7b2 100644
--- a/npc/re/guides/guides_rachel.txt
+++ b/npc/re/guides/guides_rachel.txt
@@ -1,22 +1,22 @@
//===== Hercules Script ======================================
//= Rachel Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
-//= Guide for the city of Rachel
-//===== Additional Comments: =================================
+//= Guide for the city of Rachel.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guide.
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
rachel,138,146,5 script Rachel Guide#rachel 934,{
mes "[Rachel Guide]";
mes "Welcome to the capital of Arunafeltz, ^8B4513Rachel^000000 where the warm breath of the goddess Freya reaches.";
mes "If this is the first time for you to use the guide services, I suggest you ask many questions.";
+ F_Navi("[Rachel Guide]");
next;
while (1) {
switch(select("[ Main Facilities ]:[ Merchants & Helpers ]:Remove Marks from Mini-Map:Cancel")) {
@@ -26,35 +26,35 @@ rachel,138,146,5 script Rachel Guide#rachel 934,{
switch(select("[ Inn ]:[ Weapon Shop ]:[ Tool Shop ]:[ Airport ]:[ Cheshrumnir ]:[ Priest Zed's Mansion ]:Previous Menu")) {
case 1:
mes "[Rachel Guide]";
- mes "You can rest your fatigue of the journey in the Inn. The left building next to me is the Inn of Rachel.";
+ mes "You can rest your fatigue of the journey in the "+F_Navi("Inn","rachel,115,144")+". The left building next to me is the Inn of Rachel.";
mes "Would you like to check any other locations?";
viewpoint 1,115,144,0,0xFF0000;
next;
break;
case 2:
mes "[Rachel Guide]";
- mes "Do you want to check out the weapons that are sold in Rachel? The Weapon Shop is located near the west gate.";
+ mes "Do you want to check out the weapons that are sold in Rachel? The "+F_Navi("Weapon Shop","rachel,42,82")+" is located near the west gate.";
mes "Would you like to check any other locations?";
viewpoint 1,42,82,1,0xFF4500;
next;
break;
case 3:
mes "[Rachel Guide]";
- mes "Rachel's Tool Shop sells the best quality potions. It's located near the west gate.";
+ mes "Rachel's "+F_Navi("Tool Shop","rachel,83,73")+" sells the best quality potions. It's located near the west gate.";
mes "Would you like to check any other locations?";
viewpoint 1,83,73,2,0xDAA520;
next;
break;
case 4:
mes "[Rachel Guide]";
- mes "The Airport is located outside of the east gate.";
+ mes "The "+F_Navi("Airport","rachel,272,125")+" is located outside of the east gate.";
mes "Would you like to check any other locations?";
viewpoint 1,272,125,3,0x008000;
next;
break;
case 5:
mes "[Rachel Guide]";
- mes "Cheshrumnir is a holy ground where pope, the incarnation of goddess Freya stays.";
+ mes F_Navi("Cheshrumnir","rachel,150,243")+" is a holy ground where pope, the incarnation of goddess Freya stays.";
mes "Take the road to the north to find the building.";
mes "Would you like to check any other locations?";
viewpoint 1,150,243,4,0x0000FF;
@@ -63,7 +63,7 @@ rachel,138,146,5 script Rachel Guide#rachel 934,{
case 6:
mes "[Rachel Guide]";
mes "I will mark the location";
- mes "of the ^000080Priest Zed's Mansion^000000";
+ mes "of the "+F_Navi("Priest Zed's Mansion","rachel,98,238","^000080");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
viewpoint 1,98,238,5,0x000080;
@@ -82,7 +82,7 @@ rachel,138,146,5 script Rachel Guide#rachel 934,{
case 1:
mes "[Rachel Guide]";
mes "I will mark the location";
- mes "of the ^803232Cool Event Corp. Staff^000000";
+ mes "of the "+F_Navi("Cool Event Corp. Staff","rachel,110,138","^803232");
mes "on your mini map.";
mes "Would you like to check any other locations?";
viewpoint 1,110,138,7,0x803232;
@@ -91,7 +91,7 @@ rachel,138,146,5 script Rachel Guide#rachel 934,{
case 2:
mes "[Rachel Guide]";
mes "I will mark the location";
- mes "of the ^556B2FEden Teleport Officer^000000";
+ mes "of the "+F_Navi("Eden Teleport Officer","rachel,125,144","^556B2F");
mes "on your mini-map.";
mes "Would you like to check any other locations?";
viewpoint 1,125,144,8,0x556B2F;
diff --git a/npc/re/guides/guides_umbala.txt b/npc/re/guides/guides_umbala.txt
index defb6e714..3554a0ae0 100644
--- a/npc/re/guides/guides_umbala.txt
+++ b/npc/re/guides/guides_umbala.txt
@@ -1,25 +1,27 @@
//===== Hercules Script ======================================
//= Umbala Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
-//= Guides for the city of Umbala
-//===== Additional Comments: =================================
+//= Guides for the city of Umbala.
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{
+ mes "[Umbala Guide]";
mes "Welcome to ^8B4513Umbala^000000,";
mes "the Village of the Utan Tribe.";
next;
+ mes "[Umbala Guide]";
mes "Since I have been exploring here for several months.";
mes "I am familiar with this area's geography and the points of interest in this village.";
mes "Do you need help navigating the village?";
+ F_Navi("[Umbala Guide]");
while (1) {
next;
switch(select("[ Kafra Employee ]:[ Chief's House ]:[ Shaman's House ]:[ Weapon Shop ]:[ Tool Shop ]:[ Bungee Jump Area ]:[ Tree of Yggdrasil ]:Remove Marks from Mini-Map:Cancel")) {
@@ -33,21 +35,21 @@ umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{
break;
case 2:
mes "[Umbala Guide]";
- mes "Only the ^006400Chief^000000 knows the language of the outside world.";
+ mes "Only the "+F_Navi("Chief","umbala,68,251","^006400")+" knows the language of the outside world.";
mes "So you'd better visit him before anything else.";
mes "Would you like to check any other locations?";
viewpoint 1,68,251,1,0xAAFF00;
break;
case 3:
mes "[Umbala Guide]";
- mes "The ^008080Shaman^000000 has some sort of mystic power.";
+ mes "The "+F_Navi("Shaman","umbala,219,188","^008080")+" has some sort of mystic power.";
mes "People say she can create rough enchanted stones, and divide a pure enchanted stone into rough ones.";
mes "Would you like to check any other locations?";
viewpoint 1,219,188,2,0x008080;
break;
case 4:
mes "[Umbala Guide]";
- mes "The ^FF1493Weapon Shop^000000 inside Umbala";
+ mes "The "+F_Navi("Weapon Shop","umbala,125,155","^FF1493")+" inside Umbala";
mes "supplies the weapons";
mes "for defending against their enemies.";
mes "Would you like to check any other locations?";
@@ -56,14 +58,14 @@ umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{
case 5:
mes "[Umbala Guide]";
mes "There are many useful things for";
- mes "traveling in the ^8B4513Tool Shop^000000 in Umbala.";
+ mes "traveling in the "+F_Navi("Tool Shop","umbala,136,127","^8B4513")+" in Umbala.";
mes "Would you like to check any other locations?";
viewpoint 1,136,127,4,0x8B4513;
break;
case 6:
mes "[Umbala Guide]";
mes "Umbala has a unique locale called";
- mes "the 'Bungee Jump Area'.";
+ mes "the "+F_Navi("Bungee Jump Area","umbala,138,198")+".";
mes "If you're interested in testing";
mes "your courage, why don't you try it.";
mes "Would you like to check any other locations?";
@@ -71,7 +73,7 @@ umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{
break;
case 7:
mes "[Umbala Guide]";
- mes "There's the Tree of Yggdrasil in the northern part of town.";
+ mes "There's the "+F_Navi("Tree of Yggdrasil","umbala,107,284")+" in the northern part of town.";
mes "You should pay it a visit since that's a place I recommend when you visit Umbala.";
mes "Would you like to check any other locations?";
viewpoint 1,107,284,6,0xA52A2A;
@@ -95,5 +97,4 @@ umbala,128,94,3 script Umbala Guide#01umbala::GuideUmbala 702,{
}
}
}
-
umbala,99,158,3 duplicate(GuideUmbala) Umbala Guide#02umbala 702
diff --git a/npc/re/guides/guides_veins.txt b/npc/re/guides/guides_veins.txt
index 745872235..1f931d2bc 100644
--- a/npc/re/guides/guides_veins.txt
+++ b/npc/re/guides/guides_veins.txt
@@ -1,28 +1,28 @@
//===== Hercules Script ======================================
//= Veins Guides
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
//= Guides for the city of Veins
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, Renewal guides.
-//============================================================
+//= 1.1 Navigation system update. [Euphy]
+//============================================================
veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
mes "[Veins Guide]";
mes "Thank you for coming through the rough sand storms. Welcome to ^8B4513Veins^000000, the Canyon Village.";
mes "If this is the first time for you to use the guide services, why don't you check the \"Notice\" menu first?";
+ F_Navi("[Veins Guide]");
next;
while (1) {
switch(select("[ Temple ]:[ Inn ]:[ Pub ]:[ Weapon Shop ]:[ Tool Shop ]:[ Airport ]:[ Geological Research Institute ]:[ Cool Event Corp. Staff ]:Remove Marks from Mini-Map:Cancel")) {
case 1:
mes "[Veins Guide]";
- mes "The Temple is always filled with praying the faithful of the incarnation of goddess Freya.";
+ mes "The "+F_Navi("Temple","veins,197,256")+" is always filled with praying the faithful of the incarnation of goddess Freya.";
mes "It's located on the North side of Veins.";
mes "Would you like to check any other locations?";
viewpoint 1,197,256,0,0xFF0000;
@@ -30,14 +30,14 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
break;
case 2:
mes "[Veins Guide]";
- mes "You can rest your fatigue of the journey in the Inn. The Inn is located on the North-West side of Veins.";
+ mes "You can rest your fatigue of the journey in the "+F_Navi("Inn","veins,110,278")+". The Inn is located on the North-West side of Veins.";
mes "Would you like to check any other locations?";
viewpoint 1,110,278,1,0xFF4500;
next;
break;
case 3:
mes "[Veins Guide]";
- mes "If you want to talk to the Veins Towners, visit the Veins Pub.";
+ mes "If you want to talk to the Veins Towners, visit the Veins "+F_Navi("Pub","veins,150,215")+".";
mes "The pub is located on the west side of Veins.";
mes "Would you like to check any other locations?";
viewpoint 1,150,215,2,0xDAA520;
@@ -46,7 +46,7 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
case 4:
mes "[Veins Guide]";
mes "You have to be able to protect your own body.";
- mes "The Weapon Shop in Veins is selling the good weapons at a reasonable price..";
+ mes "The "+F_Navi("Weapon Shop","veins,150,175")+" in Veins is selling the good weapons at a reasonable price..";
mes "It is located on the West side of Veins.";
mes "Would you like to check any other locations?";
viewpoint 1,150,175,3,0x008000;
@@ -54,14 +54,14 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
break;
case 5:
mes "[Veins Guide]";
- mes "The essential items! Check out the Veins Tool Shop in the center of town..";
+ mes "The essential items! Check out the Veins "+F_Navi("Tool Shop","veins,230,161")+" in the center of town..";
mes "Would you like to check any other locations?";
viewpoint 1,230,161,4,0x0000FF;
next;
break;
case 6:
mes "[Veins Guide]";
- mes "The Airport of Veins is currently only used for Cargo.";
+ mes "The "+F_Navi("Airport","veins,273,287")+" of Veins is currently only used for Cargo.";
mes "Would you like to check any other locations?";
viewpoint 1,273,287,5,0x000080;
next;
@@ -69,7 +69,8 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
case 7:
mes "[Veins Guide]";
mes "Are you interested in Geology?";
- mes "If so, please visit the Geological Research Institute at the second floor of Weapon Shop.";
+ mes "If so, please visit the ";
+ mes F_Navi("Geological Research Institute","veins,150,175")+" at the second floor of Weapon Shop.";
mes "Would you like to check any other locations?";
viewpoint 1,150,175,6,0x800080;
next;
@@ -77,7 +78,7 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
case 8:
mes "[Veins Guide]";
mes "I will mark the location";
- mes "of the ^808080Cool Event Corp. Staff^000000";
+ mes "of the "+F_Navi("Cool Event Corp. Staff","veins,209,127","^808080");
mes "on your mini map.";
mes "Would you like to check any other locations?";
viewpoint 1,209,127,7,0x808080;
@@ -104,5 +105,4 @@ veins,210,345,5 script Veins Guide#veins01::GuideVeins 934,{
}
}
}
-
veins,189,101,5 duplicate(GuideVeins) Veins Guide#veins02 934
diff --git a/npc/re/guides/navigation.txt b/npc/re/guides/navigation.txt
new file mode 100644
index 000000000..b7bde6aab
--- /dev/null
+++ b/npc/re/guides/navigation.txt
@@ -0,0 +1,39 @@
+//===== Hercules Script ======================================
+//= Navigation Functions
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Controls the navigation system for Renewal guides.
+//= Clients before 2011-10-10 do not support navigation
+//= links, so disable the system if this applies to you.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+function script F_Navi {
+
+ // Uncomment to disable the navigation system.
+ //set .@disabled,1;
+
+ // This function takes 0 ~ 3 parameters.
+ switch(getargcount()) {
+ case 0: // Check if system is disabled.
+ return .@disabled;
+ case 1: // Display information message, if enabled.
+ if (!.@disabled) {
+ next;
+ mes getarg(0);
+ mes "When you click on the ^B9062F[location name]^000000, you'll receive the most advanced ^B9062FNavigation^000000 services!";
+ }
+ return;
+ default: // Display navigation link, if enabled; else set text color, if available.
+ if (!.@disabled)
+ return "<NAVI>[" + getarg(0) + "]<INFO>" + getarg(1) + ",0,000,0</INFO></NAVI>";
+ else if (getargcount() == 3)
+ return getarg(2)+getarg(0)+"^000000";
+ else
+ return getarg(0);
+ }
+}
diff --git a/npc/re/guild/invest_main.txt b/npc/re/guild/invest_main.txt
index e8c2a011a..a5a7b1e72 100644
--- a/npc/re/guild/invest_main.txt
+++ b/npc/re/guild/invest_main.txt
@@ -1,18 +1,18 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Hall of Abyss - Core Scripts
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.1
//===== Description: =========================================
+//= [Official Conversion]
//= 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]
+//= 1.1 Added GM management function. [Euphy]
//============================================================
// Global Variables
@@ -58,7 +58,7 @@ $@vfund_*_extra
// Investment Functions & Controller
//============================================================
-// Note: The time in this section are almost entirely custom.
+// Note: The times in this section are almost entirely custom.
- script #invest_timer -1,{
OnClock0000: // Open investments on Wed (1 hour after WoE)
@@ -387,11 +387,10 @@ OnReset:
}
prt_gld,2,2,0 script Investment_total#fund00 844,{
-/*
+ callfunc "F_GM_NPC";
mes "Is this not working properly?";
next;
- input .@input;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
mes "If you think the investment timer is dead, please adjust the timer.";
next;
switch(select("Turn on the timer:Cancel")) {
@@ -407,8 +406,7 @@ prt_gld,2,2,0 script Investment_total#fund00 844,{
mes "I don't need to adjust anything now.";
close;
}
-*/
- end;
+
OnInit:
if (callfunc("F_Invest_Status") == 1) {
initnpctimer;
@@ -1147,7 +1145,7 @@ OnAgitInvest:
callfunc "F_Invest_Abyss","$fund_"+.@npc$+"0"+.@id,"[Gate Manager]";
end;
case 2:
- callsub L_Enter,1,.@realm$;
+ callsub L_Enter,1,.@realm$,.@npc$;
mes "[Gate Manager]";
mes "You are interested in exploring the "+.@realm$+" Guild Dungeon Deepest Layer (2F).";
mes "Let me guide you. Good luck.";
@@ -1187,7 +1185,7 @@ OnAgitInvest:
}
end;
case 3:
- callsub L_Enter,2,.@realm$;
+ callsub L_Enter,2,.@realm$,.@npc$;
mes "[Gate Manager]";
mes "Let me guide you to the Abyss Gap connected with "+.@realm$+", the Abyss Gate 'Way of the Warrior'.";
close2;
@@ -1235,7 +1233,7 @@ OnAgitInvest:
L_Enter:
set .@invest_status, callfunc("F_Invest_Status");
if (.@invest_status == 3) {
- set .@status, getd("$"+.@npc$+"_invest_result");
+ set .@status, getd("$"+getarg(2)+"_invest_result");
if ((getarg(0) == 1 && .@status == 2) || .@status == 3)
return;
else {
diff --git a/npc/re/guild/invest_npc.txt b/npc/re/guild/invest_npc.txt
index 3c6c45ee5..edc8eeacf 100644
--- a/npc/re/guild/invest_npc.txt
+++ b/npc/re/guild/invest_npc.txt
@@ -1,12 +1,11 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Hall of Abyss - NPC Duplicates
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
+//= [Official Conversion]
//= Expansion for War of Emperium FE.
//= Invest in each realm to unlock new maps:
//= - Guild Dungeon F2, total 20,000,000z.
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
index 30b28e612..a742a405b 100644
--- a/npc/re/instances/BakonawaLake.txt
+++ b/npc/re/instances/BakonawaLake.txt
@@ -1,17 +1,17 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Bakonawa Lake
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Defeat Bakonawa before he eats the moon.
//= Part of the "Bakonawa Extermination" quest.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Added GM management NPC. [Euphy]
-//============================================================
+//============================================================
1@ma_b mapflag src4instance
//============================================================
@@ -99,7 +99,7 @@ ma_scene01,174,179,4 script Taho 541,{
} else if (.@baku_time == 2) {
mes "[Taho]";
mes "It's all cleaned up around here. Now you can go down again after getting a rope.";
- erasequest 5;
+ erasequest 12278;
close;
}
}
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 18d70e02d..6f35d64e9 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -1,17 +1,17 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Bangungot Hospital 2F
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Save the hospital in Port Malaya from Bangungot.
//= Part of the "Nurse in Port Malaya" quest.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Added GM management function. [Euphy]
-//============================================================
+//============================================================
1@ma_h mapflag src4instance
//============================================================
diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
index 0f8117170..82875c05e 100644
--- a/npc/re/instances/BuwayaCave.txt
+++ b/npc/re/instances/BuwayaCave.txt
@@ -1,16 +1,16 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Buwaya Cave
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Defeat Buwaya in his cave.
//= Part of the "Secret in the Woods" quest.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
-//============================================================
+//============================================================
1@ma_c mapflag src4instance
//============================================================
@@ -168,7 +168,7 @@ OnTimer2000:
end;
OnTouch:
percentheal -10,-10;
- sc_start SC_BLEEDING,60000,0;
+ sc_start SC_BLOODING,60000,0;
sc_start SC_POISON,60000,0;
end;
}
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
index de8bfcd06..75c6ececd 100644
--- a/npc/re/instances/HazyForest.txt
+++ b/npc/re/instances/HazyForest.txt
@@ -4,16 +4,14 @@
//= Euphy
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Cross through the Hazy Forest to reach the Bifrost.
//= Contains the "Wandering Guardian" quest.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Instance system rewrite. [Euphy]
-//============================================================
+//============================================================
1@mist mapflag src4instance
//============================================================
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
index 4138962c6..8ab251d4b 100644
--- a/npc/re/instances/MalangdoCulvert.txt
+++ b/npc/re/instances/MalangdoCulvert.txt
@@ -1,21 +1,21 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Malangdo Culvert
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Clean the culverts and defeat the Coelacanth.
//= Daily and weekly quests are available.
//= Contains a normal mode and hard mode.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= Letters "n" and "h" in NPC names indicate difficulty.
//= 1.0a There is no minimum party size on official servers.
//= 1.0b Fixed incorrect use of 'close'. [Joseph]
//= 1.1 Instance system rewrite. [Euphy]
-//============================================================
+//============================================================
1@pump mapflag src4instance
2@pump mapflag src4instance
diff --git a/npc/re/instances/OctopusCave.txt b/npc/re/instances/OctopusCave.txt
index c6216bfb3..7d5975e23 100644
--- a/npc/re/instances/OctopusCave.txt
+++ b/npc/re/instances/OctopusCave.txt
@@ -1,16 +1,16 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Octopus Cave
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Defeat the Disgusting Octopus.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Instance system rewrite. [Euphy]
-//============================================================
+//============================================================
1@cash mapflag src4instance
//============================================================
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index 034749f46..8fb99978f 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -1,15 +1,15 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Old Glast Heim
-//===== By: ==================================================
+//===== By: ==================================================
//= Ziu, Heris (translation)
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Description: =========================================
+//===== Description: =========================================
//= Discover the history of events that took place in the
//= Glast Heim castle and how it ended up in ruins.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
-//============================================================
+//============================================================
1@gl_k mapflag src4instance
2@gl_k mapflag src4instance
diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt
index 4ab8837d3..ca80fda9c 100644
--- a/npc/re/jobs/1-1/acolyte.txt
+++ b/npc/re/jobs/1-1/acolyte.txt
@@ -1,17 +1,17 @@
//===== Hercules Script ======================================
//= Renewal Acolyte Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Acolyte Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added back the npcs used for the priest quest.
//= 1.2 Added Baby Job compatibility [Streusel]
//= 1.3 Rewrote bits [Euphy]
-//============================================================
+//============================================================
prt_church,184,41,4 script Cleric#aco 60,{
if (Upper == 1) {
if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) {
diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt
index 8e8bedc5f..d22e85f04 100644
--- a/npc/re/jobs/1-1/archer.txt
+++ b/npc/re/jobs/1-1/archer.txt
@@ -1,16 +1,16 @@
//===== Hercules Script ======================================
//= Renewal Archer Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Archer Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added Baby Job compatibility [Streusel]
//= 1.2 Rewrote bits [Euphy]
-//============================================================
+//============================================================
payon_in02,64,71,4 script Archer Guildsman#archer 85,{
if (Upper == 1) {
if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) {
diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt
index 1fce4269e..ef60603f0 100644
--- a/npc/re/jobs/1-1/mage.txt
+++ b/npc/re/jobs/1-1/mage.txt
@@ -1,18 +1,16 @@
//===== Hercules Script ======================================
//= Renewal Mage Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Mage Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added Baby Job compatibility [Streusel]
//= 1.2 Rewrote bits [Euphy]
-//============================================================
+//============================================================
geffen_in,164,124,4 script Mage Guildsman#mage 123,{
if (Upper == 1) {
if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) {
diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt
index 58c13ae17..05b82ec66 100644
--- a/npc/re/jobs/1-1/merchant.txt
+++ b/npc/re/jobs/1-1/merchant.txt
@@ -1,18 +1,16 @@
//===== Hercules Script ======================================
//= Renewal Merchant Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Merchant Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added Baby Job compatibility [Streusel]
//= 1.2 Rewrote bits [Euphy]
-//============================================================
+//============================================================
alberta_in,53,43,6 script Merchant#mer 86,{
if (Upper == 1) {
if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) {
diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt
index 0d47f0b3a..fffebe722 100644
--- a/npc/re/jobs/1-1/swordman.txt
+++ b/npc/re/jobs/1-1/swordman.txt
@@ -1,18 +1,16 @@
//===== Hercules Script ======================================
//= Renewal Swordman Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Swordman Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added Baby Job compatibility [Streusel]
//= 1.2 Rewrote bits [Euphy]
-//============================================================
+//============================================================
izlude_in,74,172,4 script Swordman#swd 119,{
if (Upper == 1) {
if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) {
diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt
index 23b23bd96..c99368b8c 100644
--- a/npc/re/jobs/1-1/thief.txt
+++ b/npc/re/jobs/1-1/thief.txt
@@ -1,18 +1,16 @@
//===== Hercules Script ======================================
//= Renewal Thief Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Kisuka
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change to Thief Class
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Kisuka]
//= 1.1 Added Baby Job compatibility [Streusel]
//= 1.2 Rewrote bits [Euphy]
-//============================================================
+//============================================================
moc_prydb1,39,129,2 script Thief Guide#thief 69,{
if (Upper == 1) {
if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) {
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index 9a13aa359..ccc03b7f2 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -1,10 +1,10 @@
-//===== Hercules Script =======================================
+//===== Hercules Script ======================================
//= Arch Bishop Job Quest
//===== By: ==================================================
//= L0ne_W0lf
//= Credits: Gepard
//===== Current Version: =====================================
-//= 1.7a
+//= 1.9
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Priest / High Priest -> Arch Bishop.
@@ -20,6 +20,8 @@
//= 1.6 Fixed bugs where players unable to continue the quest. [Joseph]
//= 1.7 Updated script, many bugs fixed. [Euphy]
//= 1.7a Moved warps to separate file. [Euphy]
+//= 1.8 Bug fixes and corrections. [Euphy]
+//= 1.9 Added GM management function. [Euphy]
//============================================================
prt_church,103,88,3 script Praying Minister#arch 60,{
@@ -91,7 +93,7 @@ prt_church,103,88,3 script Praying Minister#arch 60,{
mes "But, I recommend this.";
next;
mes "[Praying Minister]";
- mes "Have you ever heard of a^3131FFHoly Pilgrimage^000000?";
+ mes "Have you ever heard of a ^3131FFHoly Pilgrimage^000000?";
mes "A Holy Pilgrimage means going to a holy place to pray to the God Odin for protection and grace.";
next;
mes "[Praying Minister]";
@@ -276,7 +278,7 @@ umbala,139,227,3 script Priest#arch 60,{
mes "And in Asgard, the world of the Gods, there is the Word spring.";
next;
mes "[Priest Dayan]";
- mes "Mimir'Â’s spring wells with intelligence, myth says that if Odin lets you have his eye that you will gain all of the knowledge within that spring.";
+ mes "Mimir's spring wells with intelligence, myth says that if Odin lets you have his eye that you will gain all of the knowledge within that spring.";
next;
mes "[Priest Dayan]";
mes Sex?"Brother.":"Sister.";
@@ -774,7 +776,10 @@ job3_arch01,29,34,3 script Valkyrie#arch 403,{
mes "You can't progress without using all your skill points. Please use all of your skill points before progressing~";
close;
}
- if (Class != Job_Arch_Bishop || Class != Job_Arch_Bishop_T || Class != Job_Baby_Bishop) {
+ if (Class != Job_Priest && Class != Job_High_Priest && Class != Job_Baby_Priest) {
+ warp "odin_tem02",282,263;
+ end;
+ } else if (Class != Job_Arch_Bishop && Class != Job_Arch_Bishop_T && Class != Job_Baby_Bishop) {
if (job_arch < 5) {
warp "odin_tem02",282,263;
end;
@@ -951,7 +956,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 403,{
mes "OK. now I'm going to send you there.";
mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000.";
mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000.";
- mes "But you have to be careful if an imeprsonation falls down.";
+ mes "But you have to be careful if an impersonation falls down.";
close2;
nude;
if (countitem(2798))
@@ -970,7 +975,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 403,{
end;
OnBc:
set $@archbs,0;
- mapannounce "job3_arch01","Valkyrie: I think someone fell down in the shrine. I can hear the devil's unpleasant laugh.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch01","Valkyrie: I think someone fell down in the shrine. I can hear the devil's unpleasant laugh.",bc_map,"0xFFCE00";
hideoffnpc "Valkyrie#arch";
end;
}
@@ -979,8 +984,8 @@ job3_arch02,119,49,0 script #arch_1_start 139,6,6,{
OnTouch:
if (countitem(12381) == 0)
getitem 12381,1; //ValkyrieA_Scroll
- mapannounce "job3_arch02","Whispering of an impersonation: I feel heavy! Set me free!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- hideonnpc "#arch_1_start";
+ mapannounce "job3_arch02","Whispering of an impersonation: I feel heavy! Set me free!",bc_map,"0xFFCE00";
+ disablenpc "#arch_1_start";
end;
}
@@ -988,18 +993,18 @@ OnTouch:
OnTouch:
if (countitem(12381)) {
delitem 12381,1; //ValkyrieA_Scroll
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
- }
- if (getmercinfo(1) == 2037) {
+ // fall through
+ } else if (getmercinfo(1) == 2037) {
+ if (strnpcinfo(0) == "#arch_1_10")
+ viewpoint 1,113,327,1,0xFF9900;
set .@randht, rand(1,10);
if (.@randht < 8)
- mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
else if ((.@randht == 8) || (.@randht == 9))
- mapannounce "job3_arch02","Whispering of an impersonation: They are coming!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: They are coming!",bc_map,"0xFFCE00";
end;
}
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
mapwarp "job3_arch02","job3_arch01",29,29;
end;
}
@@ -1020,17 +1025,14 @@ job3_arch02,203,286,0 script #arch_1_boss 139,5,5,{
OnTouch:
if (countitem(12381)) {
delitem 12381,1; //ValkyrieA_Scroll
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
- end;
- }
- if (getmercinfo(1) == 2037) {
- mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ // fall through
+ } else if (getmercinfo(1) == 2037) {
+ mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000";
donpcevent "mob#arch_1::OnKill";
- } else {
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
}
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job3_arch01",29,29;
end;
}
@@ -1057,22 +1059,22 @@ OnEnable:
OnMyMobDead:
if (mobcount("job3_arch02","#arch_val01::OnMyMobDead") < 1) {
donpcevent "#arch_redcell::OnGreen";
- mapannounce "job3_arch02","Valkyrie's Nightmare: Your win is only a false image! hahahaha!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Valkyrie's Nightmare: Your win is only a false image! hahahaha!",bc_map,"0xFF0000";
hideoffnpc "Valkyrie#arch_01";
- hideonnpc "#arch_1_start";
- hideonnpc "#arch_1_01";
- hideonnpc "#arch_1_02";
- hideonnpc "#arch_1_03";
- hideonnpc "#arch_1_04";
- hideonnpc "#arch_1_05";
- hideonnpc "#arch_1_06";
- hideonnpc "#arch_1_07";
- hideonnpc "#arch_1_08";
- hideonnpc "#arch_1_09";
- hideonnpc "#arch_1_10";
- hideonnpc "#arch_1_11";
- hideonnpc "#arch_1_12";
- hideonnpc "#arch_1_boss";
+ disablenpc "#arch_1_start";
+ disablenpc "#arch_1_01";
+ disablenpc "#arch_1_02";
+ disablenpc "#arch_1_03";
+ disablenpc "#arch_1_04";
+ disablenpc "#arch_1_05";
+ disablenpc "#arch_1_06";
+ disablenpc "#arch_1_07";
+ disablenpc "#arch_1_08";
+ disablenpc "#arch_1_09";
+ disablenpc "#arch_1_10";
+ disablenpc "#arch_1_11";
+ disablenpc "#arch_1_12";
+ disablenpc "#arch_1_boss";
}
end;
OnKill:
@@ -1087,9 +1089,9 @@ OnEnable:
end;
OnMyMobDead:
if (mobcount("job3_arch02","#arch_val02::OnMyMobDead") < 1) {
- mapannounce "job3_arch02","Valkyrie's Nightmare: You are so childish. I invite you to a devil's party. I'll make sure you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Valkyrie's Nightmare: You are so childish. I invite you to a devil's party. I'll make sure you have a fun!",bc_map,"0xFF0000";
hideoffnpc "Valkyrie#arch_02";
- hideonnpc "#arch_2_boss";
+ disablenpc "#arch_2_boss";
viewpoint 1,279,234,1,0xFFFF99;
}
end;
@@ -1298,7 +1300,7 @@ OnTouch:
jobchange roclass(eaclass()|EAJL_THIRD);
close;
OnInit:
- hideonnpc "#arch_end";
+ disablenpc "#arch_end";
end;
}
@@ -1332,7 +1334,7 @@ job3_arch02,132,323,0 script #arch_2_01 139,5,5,{
end;
OnTouch:
if (countitem(12382))
- mapannounce "job3_arch02","Whispering of Valkyrie: I see a new ancient scroll!",bc_map; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of Valkyrie: I see a new ancient scroll!",bc_map;
end;
}
@@ -1340,21 +1342,18 @@ OnTouch:
OnTouch:
if (countitem(12382)) {
delitem 12382,1; //ValkyrieB_Scroll
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
- end;
- }
- if (getmercinfo(1) == 2038) {
+ // fall through
+ } else if (getmercinfo(1) == 2038) {
set .@randht, rand(1,10);
if (.@randht < 8)
- mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
else if ((.@randht == 8) || (.@randht == 9))
- mapannounce "job3_arch02","Whispering of an impersonation: Combat readiness!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: Combat readiness!",bc_map,"0xFFCE00";
else
- mapannounce "job3_arch02","Whispering of an impersonation: I can't leave you. Die!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: I can't leave you. Die!",bc_map,"0xFFCE00";
end;
}
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
mapwarp "job3_arch02","job3_arch01",29,29;
end;
}
@@ -1369,93 +1368,102 @@ job3_arch02,234,179,0 duplicate(archbjcq2) #arch_2_09 139,5,5
job3_arch02,227,169,0 duplicate(archbjcq2) #arch_2_10 139,5,5
job3_arch02,190,146,0 duplicate(archbjcq2) #arch_2_11 139,5,5
+/*
+// Not in official script.
job3_arch02,252,267,0 script #arch_2_12 139,5,5,{
OnTouch:
- mapannounce "job3_arch02","Whispering of an impersonation: It's a crossroad. Let's go to the left side. I have to find my pipe.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: It's a crossroad. Let's go to the left side. I have to find my pipe.",bc_map,"0xFFCE00";
end;
}
job3_arch02,250,290,0 script #arch_2_13 139,5,5,{
OnTouch:
- mapannounce "job3_arch02","Whispering of an impersonation: I can see a ruined shrine. Take a rest in there.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of an impersonation: I can see a ruined shrine. Take a rest in there.",bc_map,"0xFFCE00";
end;
}
+*/
job3_arch02,206,113,0 script #arch_2_boss 139,5,5,{
OnTouch:
if (countitem(12382)) {
delitem 12382,1; //ValkyrieB_Scroll
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
- }
- if (getmercinfo(1) == 2038)
- mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
- else {
- mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
- mapwarp "job3_arch02","job3_arch01",29,29;
+ // fall through
+ } else if (getmercinfo(1) == 2038) {
+ mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000";
+ end;
}
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job3_arch01",29,29;
end;
}
job3_arch02,284,159,0 script #arch_3_01 139,20,20,{
OnTouch:
- if (BaseJob != Job_Priest) {
- mapannounce "job3_arch02","Frus: Do you want to see God? Okay, I'll send you to the land of the dead by myself!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
- areamonster "job3_arch02",242,44,246,48,"Frus",1762,1;
+ if (Class != Job_Priest) {
+ mapannounce "job3_arch02","Frus: Do you want to see God? Okay, I'll send you to the land of the dead by myself!",bc_map,"0xFF0000";
+ areamonster "job3_arch02",242,44,246,48,"Frus",1762,1,"#arch_3_01::OnMyMobDead";
}
- hideonnpc "#arch_3_01";
+ disablenpc "#arch_3_01";
+ end;
+OnMyMobDead:
end;
OnKill:
killmonster "job3_arch02","#arch_3_01::OnMyMobDead";
end;
-OnInit:
- hideoffnpc "#arch_3_01";
- end;
+//OnInit:
+// enablenpc "#arch_3_01";
+// end;
}
job3_arch02,307,200,0 script #arch_3_02 139,5,5,{
OnTouch:
if (BaseJob == Job_Priest) {
- mapannounce "job3_arch02","Skogul: You are my guest!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
- monster "job3_arch02",307,200,"Skogul",1761,1;
+ mapannounce "job3_arch02","Skogul: You are my guest!",bc_map,"0xFF0000";
+ monster "job3_arch02",307,200,"Skogul",1761,1,"#arch_3_02::OnMyMobDead";
}
- hideonnpc "#arch_3_02";
+ disablenpc "#arch_3_02";
+ end;
+OnMyMobDead:
end;
OnKill:
killmonster "job3_arch02","#arch_3_02::OnMyMobDead";
end;
-OnInit:
- hideoffnpc "#arch_3_02";
- end;
+//OnInit:
+// enablenpc "#arch_3_02";
+// end;
}
job3_arch02,296,216,0 script #arch_3_03 139,5,5,{
OnTouch:
- mapannounce "job3_arch02","Frus: I like your face... Can I steal it?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
- monster "job3_arch02",296,216,"Frus",1762,1;
- hideonnpc "#arch_3_03";
+ mapannounce "job3_arch02","Frus: I like your face... Can I steal it?",bc_map,"0xFF0000";
+ monster "job3_arch02",296,216,"Frus",1762,1,"#arch_3_03::OnMyMobDead";
+ disablenpc "#arch_3_03";
+ end;
+OnMyMobDead:
end;
OnKill:
killmonster "job3_arch02","#arch_3_03::OnMyMobDead";
end;
OnInit:
- hideonnpc "#arch_3_03";
+ disablenpc "#arch_3_03";
end;
}
job3_arch02,389,390,1 script mob#arch_1 844,{
end;
OnEnable:
- monster "job3_arch02",100,102,"Shrine Invader",1394,2;
- monster "job3_arch02",90,131,"Shrine Invader",1394,2;
- monster "job3_arch02",91,170,"Shrine Invader",1427,1;
- monster "job3_arch02",104,183,"Shrine Invader",1427,1;
- monster "job3_arch02",138,205,"Shrine Invader",1394,2;
- monster "job3_arch02",161,215,"Shrine Invader",1394,2;
- monster "job3_arch02",165,215,"Shrine Invader",1427,1;
- monster "job3_arch02",201,236,"Shrine Invader",1394,2;
- monster "job3_arch02",218,250,"Shrine Invader",1427,1;
- monster "job3_arch02",254,293,"Shrine Invader",1427,1;
+ monster "job3_arch02",100,102,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",90,131,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",91,170,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",104,183,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",138,205,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",161,215,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",165,215,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",201,236,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",218,250,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ monster "job3_arch02",254,293,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ end;
+OnMyMobDead:
end;
OnKill:
killmonster "job3_arch02","mob#arch_1::OnMyMobDead";
@@ -1465,18 +1473,20 @@ OnKill:
job3_arch02,389,389,1 script mob#arch_2 844,{
end;
OnEnable:
- monster "job3_arch02",156,321,"Shrine Invader",1480,2;
- monster "job3_arch02",170,305,"Shrine Invader",1480,2;
- monster "job3_arch02",183,293,"Shrine Invader",1453,1;
- monster "job3_arch02",200,287,"Shrine Invader",1453,1;
- monster "job3_arch02",256,293,"Shrine Invader",1480,2;
- monster "job3_arch02",286,284,"Shrine Invader",1480,2;
- monster "job3_arch02",278,236,"Shrine Invader",1453,1;
- monster "job3_arch02",292,185,"Shrine Invader",1480,2;
- monster "job3_arch02",281,170,"Shrine Invader",1453,1;
- monster "job3_arch02",227,166,"Shrine Invader",1453,1;
- monster "job3_arch02",190,146,"Shrine Invader",1480,1;
- monster "job3_arch02",204,177,"Shrine Invader",1453,1;
+ monster "job3_arch02",156,321,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",170,305,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",183,293,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",200,287,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",256,293,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",286,284,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",278,236,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",292,185,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",281,170,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",227,166,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",190,146,"Shrine Invader",1480,1,"mob#arch_2::OnMyMobDead";
+ monster "job3_arch02",204,177,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ end;
+OnMyMobDead:
end;
OnKill:
killmonster "job3_arch02","mob#arch_2::OnMyMobDead";
@@ -1486,43 +1496,43 @@ OnKill:
job3_arch02,389,388,1 script start#arch 844,{
end;
OnInit:
- mapwarp "job3_arch02","job3_arch02",29,29;
+ mapwarp "job3_arch02","job3_arch01",29,29;
end;
OnEnable:
- mapwarp "job3_arch02","job3_arch02",29,29;
- hideoffnpc "#arch_1_start";
- hideoffnpc "#arch_1_01";
- hideoffnpc "#arch_1_02";
- hideoffnpc "#arch_1_03";
- hideoffnpc "#arch_1_04";
- hideoffnpc "#arch_1_05";
- hideoffnpc "#arch_1_06";
- hideoffnpc "#arch_1_07";
- hideoffnpc "#arch_1_08";
- hideoffnpc "#arch_1_09";
- hideoffnpc "#arch_1_10";
- hideoffnpc "#arch_1_11";
- hideoffnpc "#arch_1_12";
- hideoffnpc "#arch_1_boss";
- hideonnpc "#arch_2_01";
- hideonnpc "#arch_2_02";
- hideonnpc "#arch_2_03";
- hideonnpc "#arch_2_04";
- hideonnpc "#arch_2_05";
- hideonnpc "#arch_2_06";
- hideonnpc "#arch_2_07";
- hideonnpc "#arch_2_08";
- hideonnpc "#arch_2_09";
- hideonnpc "#arch_2_10";
- hideonnpc "#arch_2_11";
- hideonnpc "#arch_2_boss";
- hideonnpc "#arch_3_01";
- hideonnpc "#arch_3_02";
- hideonnpc "#arch_3_03";
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ enablenpc "#arch_1_start";
+ enablenpc "#arch_1_01";
+ enablenpc "#arch_1_02";
+ enablenpc "#arch_1_03";
+ enablenpc "#arch_1_04";
+ enablenpc "#arch_1_05";
+ enablenpc "#arch_1_06";
+ enablenpc "#arch_1_07";
+ enablenpc "#arch_1_08";
+ enablenpc "#arch_1_09";
+ enablenpc "#arch_1_10";
+ enablenpc "#arch_1_11";
+ enablenpc "#arch_1_12";
+ enablenpc "#arch_1_boss";
+ disablenpc "#arch_2_01";
+ disablenpc "#arch_2_02";
+ disablenpc "#arch_2_03";
+ disablenpc "#arch_2_04";
+ disablenpc "#arch_2_05";
+ disablenpc "#arch_2_06";
+ disablenpc "#arch_2_07";
+ disablenpc "#arch_2_08";
+ disablenpc "#arch_2_09";
+ disablenpc "#arch_2_10";
+ disablenpc "#arch_2_11";
+ disablenpc "#arch_2_boss";
+ disablenpc "#arch_3_01";
+ disablenpc "#arch_3_02";
+ disablenpc "#arch_3_03";
donpcevent "#arch_3_01::OnKill";
donpcevent "#arch_3_02::OnKill";
donpcevent "#arch_3_03::OnKill";
- hideonnpc "#arch_end";
+ disablenpc "#arch_end";
hideonnpc "Valkyrie#arch_01";
hideonnpc "Valkyrie#arch_02";
hideonnpc "Valkyrie Anguhilde#end";
@@ -1530,8 +1540,8 @@ OnEnable:
donpcevent "#arch_redcell::OnRed";
donpcevent "mob#arch_1::OnKill";
donpcevent "mob#arch_2::OnKill";
- donpcevent "start#arch::OnTimeoff";
- donpcevent "start#arch::OnTimeon";
+ donpcevent "start#arch::OnTimeOff";
+ donpcevent "start#arch::OnTimeOn";
donpcevent "#arch_val01::OnKill";
donpcevent "#arch_val02::OnKill";
donpcevent "mob#arch_1::OnKill";
@@ -1539,10 +1549,10 @@ OnEnable:
donpcevent "mob#arch_1::OnEnable";
donpcevent "#arch_val01::OnEnable";
end;
-OnTimeon:
+OnTimeOn:
initnpctimer;
end;
-OnTimeoff:
+OnTimeOff:
stopnpctimer;
end;
OnTimer60000:
@@ -1561,10 +1571,10 @@ OnTimer540000:
}
end;
OnTimer600000:
- mapannounce "job3_arch02","Valkyrie's Nightmare: I can't stand anymore!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Valkyrie's Nightmare: I can't stand anymore!",bc_map,"0xFF0000";
end;
OnTimer605000:
- mapannounce "job3_arch02","Whispering of Valkyrie: No way! I can't let you guys do that. Go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapannounce "job3_arch02","Whispering of Valkyrie: No way! I can't let you guys do that. Go back!",bc_map,"0xFFCE00";
mapwarp "job3_arch02","job3_arch01",29,29;
donpcevent "Valkyrie#arch::OnBc";
stopnpctimer;
@@ -1574,32 +1584,32 @@ OnTimer605000:
job3_arch02,390,388,1 script #arch_2_start 844,{
end;
OnInit:
- hideonnpc "#arch_2_01";
- hideonnpc "#arch_2_02";
- hideonnpc "#arch_2_03";
- hideonnpc "#arch_2_04";
- hideonnpc "#arch_2_05";
- hideonnpc "#arch_2_06";
- hideonnpc "#arch_2_07";
- hideonnpc "#arch_2_08";
- hideonnpc "#arch_2_09";
- hideonnpc "#arch_2_10";
- hideonnpc "#arch_2_11";
- hideonnpc "#arch_2_boss";
+ disablenpc "#arch_2_01";
+ disablenpc "#arch_2_02";
+ disablenpc "#arch_2_03";
+ disablenpc "#arch_2_04";
+ disablenpc "#arch_2_05";
+ disablenpc "#arch_2_06";
+ disablenpc "#arch_2_07";
+ disablenpc "#arch_2_08";
+ disablenpc "#arch_2_09";
+ disablenpc "#arch_2_10";
+ disablenpc "#arch_2_11";
+ disablenpc "#arch_2_boss";
end;
OnEnable:
- hideoffnpc "#arch_2_01";
- hideoffnpc "#arch_2_02";
- hideoffnpc "#arch_2_03";
- hideoffnpc "#arch_2_04";
- hideoffnpc "#arch_2_05";
- hideoffnpc "#arch_2_06";
- hideoffnpc "#arch_2_07";
- hideoffnpc "#arch_2_08";
- hideoffnpc "#arch_2_09";
- hideoffnpc "#arch_2_10";
- hideoffnpc "#arch_2_11";
- hideoffnpc "#arch_2_boss";
+ enablenpc "#arch_2_01";
+ enablenpc "#arch_2_02";
+ enablenpc "#arch_2_03";
+ enablenpc "#arch_2_04";
+ enablenpc "#arch_2_05";
+ enablenpc "#arch_2_06";
+ enablenpc "#arch_2_07";
+ enablenpc "#arch_2_08";
+ enablenpc "#arch_2_09";
+ enablenpc "#arch_2_10";
+ enablenpc "#arch_2_11";
+ enablenpc "#arch_2_boss";
donpcevent "#arch_val02::OnEnable";
donpcevent "mob#arch_2::OnEnable";
end;
@@ -1608,11 +1618,11 @@ OnEnable:
job3_arch02,390,386,1 script #arch_3_start 844,{
end;
OnEnable:
- hideoffnpc "#arch_3_01";
- hideoffnpc "#arch_3_02";
- hideoffnpc "#arch_3_03";
- hideoffnpc "#arch_end";
- hideoffnpc "#arch_end_eff";
+ enablenpc "#arch_3_01";
+ enablenpc "#arch_3_02";
+ enablenpc "#arch_3_03";
+ enablenpc "#arch_end";
+ //enablenpc "#arch_end_eff";
end;
}
@@ -1622,30 +1632,26 @@ OnTouch:
end;
}
-odin_tem02,30,181,0 script #wherearch01 139,10,10,{
-OnTouch:
- if (job_arch == 5)
- viewpoint 1,282,263,1,0xFFFF99;
- end;
-}
-
-odin_tem02,30,335,0 script #wherearch02 139,10,10,{
+/*
+job_arch01,26,25,0 script #archremove 139,3,3,{
OnTouch:
- if (job_arch == 5)
- viewpoint 1,282,263,1,0xFFFF99;
+ if (countitem(6154)) delitem 6154, countitem(6154); //Broken_Horn_Pipe
+ if (countitem(12381)) delitem 12381, countitem(12381); //ValkyrieA_Scroll
+ if (countitem(12382)) delitem 12382, countitem(12382); //ValkyrieB_Scroll
+ if (countitem(2798)) delitem 2798, countitem(2798); //Will_Of_Exhausted_Angel
end;
}
+*/
-/*
job3_arch01,1,1,1 script control#arch 844,{
+ callfunc "F_GM_NPC";
mes "[Troll]";
mes "Password please.";
next;
- input .@input;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
mes "[Transit]";
mes "The GlobalVar is";
- mes "" + $@archbs + ".";
+ mes $@archbs + ".";
mes "Do you want to change it?";
next;
switch(select("0:1")) {
@@ -1664,4 +1670,17 @@ job3_arch01,1,1,1 script control#arch 844,{
close;
}
}
-*/
+
+odin_tem02,30,181,0 script #wherearch01 139,10,10,{
+OnTouch:
+ if (job_arch == 5)
+ viewpoint 1,282,263,1,0xFFFF99;
+ end;
+}
+
+odin_tem02,30,335,0 script #wherearch02 139,10,10,{
+OnTouch:
+ if (job_arch == 5)
+ viewpoint 1,282,263,1,0xFFFF99;
+ end;
+}
diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index 47b42e16f..904c04148 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -1,21 +1,21 @@
//===== Hercules Script ======================================
//= Guillotine Cross Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.5
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 Adapted from original script. [Euphy]
//= 1.0a Added 'npcskill' command. [Euphy]
//= 1.0b Moved warps to separate file. [Euphy]
//= 1.1 Fixed some minor bugs. [Euphy]
//= 1.2 Moved "Girl" NPC off ve_fild05. [Euphy]
//= 1.3 Added missing OnMyMobDead labels. [Euphy]
+//= 1.4 Added missing labels. [Joseph]
+//= 1.5 Added GM management function. [Euphy]
//============================================================
que_job01,75,96,3 script Guild Member#3rdgc01 997,{
@@ -3057,6 +3057,8 @@ OnTouch:
monster "job3_guil03",93,33,"Front Gate Guard",1985,1,"Front Gate Guard#g01::OnMyMobDead";
monster "job3_guil03",93,32,"Guard Dog",1866,1,"Front Gate Guard#g01::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,93,36,3 duplicate(#3rdgc_guard00) Front Gate Guard#g03 456
job3_guil03,93,34,3 duplicate(#3rdgc_guard00) Front Gate Guard#g04 456
@@ -3086,6 +3088,8 @@ OnTouch:
monster "job3_guil03",133,50,"Back Gate Guard",1985,1,"Back Gate Guard#g01::OnMyMobDead";
monster "job3_guil03",133,49,"Guard Dog",1866,1,"Back Gate Guard#g01::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,133,53,5 duplicate(#3rdgc_guard00) Back Gate Guard#g03 456
job3_guil03,133,51,5 duplicate(#3rdgc_guard00) Back Gate Guard#g04 456
@@ -3115,6 +3119,8 @@ OnTouch:
monster "job3_guil03",117,49,"Interior Guard",1985,1,"Interior Guard#g01::OnMyMobDead";
monster "job3_guil03",117,48,"Guard Dog",1866,1,"Interior Guard#g01::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,117,52,4 duplicate(#3rdgc_guard00) Interior Guard#g03 456
job3_guil03,117,50,4 duplicate(#3rdgc_guard00) Interior Guard#g04 456
@@ -3139,6 +3145,8 @@ OnTouch:
monster "job3_guil03",88,43,"Exterior Guard",1985,1,"Exterior Guard#g01::OnMyMobDead";
monster "job3_guil03",88,45,"Guard Dog",1866,1,"Exterior Guard#g01::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,88,55,4 script Exterior Guard#g02 456,5,5,{
@@ -3160,6 +3168,8 @@ OnTouch:
monster "job3_guil03",88,54,"Exterior Guard",1985,1,"Exterior Guard#g02::OnMyMobDead";
monster "job3_guil03",88,56,"Guard Dog",1866,1,"Exterior Guard#g02::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,88,64,4 script Exterior Guard#g03 456,5,5,{
@@ -3181,6 +3191,8 @@ OnTouch:
monster "job3_guil03",88,63,"Exterior Guard",1985,1,"Exterior Guard#g03::OnMyMobDead";
monster "job3_guil03",88,65,"Guard Dog",1866,1,"Exterior Guard#g03::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,73,62,4 script Exterior Guard#g04 456,5,5,{
@@ -3202,6 +3214,8 @@ OnTouch:
monster "job3_guil03",73,61,"Exterior Guard",1985,1,"Exterior Guard#g04::OnMyMobDead";
monster "job3_guil03",73,63,"Guard Dog",1866,1,"Exterior Guard#g04::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,77,51,4 script Exterior Guard#g05 456,5,5,{
@@ -3223,6 +3237,8 @@ OnTouch:
monster "job3_guil03",77,50,"Exterior Guards",1985,1,"Exterior Guard#g05::OnMyMobDead";
monster "job3_guil03",77,49,"Guard Dog",1866,1,"Exterior Guard#g05::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,73,34,4 script Exterior Guard#g06 456,5,5,{
@@ -3244,6 +3260,8 @@ OnTouch:
monster "job3_guil03",73,33,"Exterior guards",1985,1,"Exterior Guard#g06::OnMyMobDead";
monster "job3_guil03",73,32,"Guard Dog",1866,1,"Exterior Guard#g06::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,110,27,3 script Guard Dog#dog01 1866,3,1,{
@@ -3265,6 +3283,8 @@ OnTouch:
monster "job3_guil03",104,27,"Dog Trainer's Assistant",1985,1,"Guard Dog#dog01::OnMyMobDead";
monster "job3_guil03",98,27,"Guard",1985,1,"Guard Dog#dog01::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,119,27,3 script Guard Dog#dog02 1866,3,1,{
@@ -3286,6 +3306,8 @@ OnTouch:
monster "job3_guil03",104,27,"Trainer's Assistant",1985,1,"Guard Dog#dog02::OnMyMobDead";
monster "job3_guil03",131,27,"Guard",1985,1,"Guard Dog#dog02::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,2,1,0 script #3rdgc_sunchal_nomal 844,{
@@ -3321,6 +3343,8 @@ OnEnable:
OnReset:
killmonster "job3_guil03","#3rdgc_sunchal_nomal::OnMyMobDead";
end;
+OnMyMobDead:
+ end;
}
job3_guil03,2,2,0 script #3rdgc_sunchal_kill01 844,{
@@ -3808,12 +3832,11 @@ OnTouch:
end;
}
-/*
job3_guil02,1,3,0 script #GMhelper01_gc 844,{
+ callfunc "F_GM_NPC";
mes "What can I do for you?";
next;
- input .@input;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
set .@room01, $@3rdgc_room01;
mes "I check the recent situation.";
mes "The battle situation of storage: "+.@room01+"";
@@ -3842,16 +3865,17 @@ job3_guil02,1,3,0 script #GMhelper01_gc 844,{
mes "A management for mansion is in mansion.";
close;
}
+ } else {
+ mes "-_-.";
+ close;
}
- mes "-_-.";
- close;
}
job3_guil03,1,8,0 script #GMhelper02_gc 844,{
+ callfunc "F_GM_NPC";
mes "What can I do for you?";
next;
- input .@input;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
set .@room02, $@3rdgc_room02;
mes "Check the recent situation.";
mes "The battle situation of the mansion is: "+.@room02+"";
@@ -3912,8 +3936,8 @@ job3_guil03,1,8,0 script #GMhelper02_gc 844,{
mes "The management of storage is in a storage.";
close;
}
+ } else {
+ mes "-_-.";
+ close;
}
- mes "-_-.";
- close;
}
-*/
diff --git a/npc/re/jobs/3-1/mechanic.txt b/npc/re/jobs/3-1/mechanic.txt
index 4890d072b..2133a227a 100644
--- a/npc/re/jobs/3-1/mechanic.txt
+++ b/npc/re/jobs/3-1/mechanic.txt
@@ -1,19 +1,17 @@
//===== Hercules Script ======================================
//= Mechanic Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Fixed the Door NPC [JayPee].
//= 1.2 Updated script. [Euphy]
-//============================================================
+//============================================================
yuno,129,156,3 script Chainheart 923,{
mes "[Chainheart]";
@@ -730,4 +728,4 @@ OnTouch:
}
jupe_core2,150,33,0 duplicate(#Acquiring Knowledge) #Acquiring Knowledge2 139,1,0
-jupe_core2,0,0,0,0 monster Dimik 1669,100,0,0,0
+jupe_core2,0,0,0,0 monster Dimik 1669,100,0,0,0 \ No newline at end of file
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index 02af29d54..b35c8ebfc 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Ranger Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.6
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Hunter / Sniper -> Ranger.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Updated SC_STONE duration from 2 Seconds to 2 Minutes
//= and fixed Mercenary check.
@@ -20,6 +18,7 @@
//= 1.3a Little beauty fix, changed break; to next; . [Masao]
//= 1.4 Some optimization. [Euphy]
//= 1.5 Updated script, optimized. [Euphy]
+//= 1.6 Added GM management function. [Euphy]
//============================================================
tur_dun01,156,36,5 script Survival Instructor#jr01 59,{
@@ -1757,8 +1756,8 @@ job3_rang01,90,43,3 script Ranger Master#jr_29 832,{
}
}
-/*
job3_rang01,58,1,0 script Worker#job_ranger 88,{
+ callfunc "F_GM_NPC";
switch(select("Enable Waiting Room:Disable Waiting Room:Enable 1st Test:Disable 1st Test:Enable 2nd Test:Disable 2nd Test:Enable 3rd Test:Disable 3rd Test:Cancel")) {
case 1:
mes "Enabled Waiting Room";
@@ -1803,4 +1802,3 @@ job3_rang01,58,1,0 script Worker#job_ranger 88,{
close;
}
}
-*/
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index 1255c355e..f9264574a 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf, Muad_Dib
//===== Current Version: =====================================
-//= 1.4
+//= 1.5
//===== Description: =========================================
//= Job change Quest from Knight / Lord Knight -> Rune Knight.
//===== Additional Comments: =================================
@@ -13,6 +13,8 @@
//= 1.3 Updated script, optimized. [Euphy]
//= 1.3a Added 'npcskill' command. [Euphy]
//= 1.4 Fixed a few bugs. [Euphy]
+//= 1.4a Moved Kafra to main file. [Euphy]
+//= 1.5 Added GM management function. [Euphy]
//============================================================
prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{
@@ -2132,19 +2134,11 @@ OnMyMobDead:
end;
}
-job3_rune01,92,62,3 script Kafra Employee::kaf_rune 114,{
- cutin "kafra_04",2;
- callfunc "F_KafSet";
- callfunc "F_Kafra",0,9,2,80,700;
- callfunc "F_KafEnd",0,0;
-}
-
-/*
sec_in02,34,167,3 script R.Knight Job Manager 470,1,1,{
+ callfunc "F_GM_NPC";
mes "Enter the Password.";
next;
- input .@inputstr$;
- if (.@inputstr$ == "1854") {
+ if (callfunc("F_GM_NPC","1854",1) == 1) {
mes "Rune Knight Job Change Managing Module Start";
next;
switch(select("GlobalVar check:GlobalVar Oneshot Modification")) {
@@ -2161,4 +2155,3 @@ 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
-*/
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt
index d08d7395d..263ccd9b0 100644
--- a/npc/re/jobs/3-1/warlock.txt
+++ b/npc/re/jobs/3-1/warlock.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Warlock Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib, Gepard & L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.3a
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Wizard / High Wizard -> Warlock.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version. [Masao]
//= 1.1 Fixed some conversion mistakes, replaced numbers with
//= constants, added item names in comments.
@@ -18,6 +16,8 @@
//= 1.2a Fixed a typo. [Euphy]
//= 1.3 Updated script, optimized. [Euphy]
//= 1.3a Added temporary coordinate fix #distorted_space_1-1. [Euphy]
+//= 1.3b Added official coordinates. [Euphy]
+//= 1.4 Added GM management function. [Euphy]
//============================================================
- script #distorted_space_ -1,{
@@ -66,12 +66,10 @@ OnTouch:
}
end;
}
-morocc,103,144,0 duplicate(#distorted_space_) #distorted_space_1 139,1,1
+//morocc,103,144,0 duplicate(#distorted_space_) #distorted_space_1 139,1,1
+morocc,95,132,0 duplicate(#distorted_space_) #distorted_space_1 139,1,1
splendide,141,284,0 duplicate(#distorted_space_) #distorted_space_2 139,1,1
-// This is a temporary fix until new official coordinates are found.
-morocc,98,144,0 duplicate(#distorted_space_) #distorted_space_1-1 139,1,1
-
function script F_Warlock {
mes "[Assistant]";
mes "Huh!!! Human!?!";
@@ -1056,8 +1054,8 @@ OnTimer6000:
end;
}
-/*
-job3_war01,1,2,0 script Button Girl 66,{
+job3_war01,1,2,0 script Button Girl#wl 66,{
+ callfunc "F_GM_NPC";
switch(select("Open Arena:Close Arena:Open the Chamber of Magic:Close the Chamber of Magic:Hollow Stone On:Hollow Stone Off:Cancel")) {
case 1:
mes "Opening the Arena.";
@@ -1093,7 +1091,6 @@ job3_war01,1,2,0 script Button Girl 66,{
close;
}
}
-*/
spl_fild02,0,0,0,0 monster Bradium Golem 2049,20,5000,0,0
-spl_fild02,0,0,0,0 monster Naga 2047,20,5000,0,0
+spl_fild02,0,0,0,0 monster Naga 2047,20,5000,0,0 \ No newline at end of file
diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index 5ca20d2d3..44124a1d8 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -4,8 +4,6 @@
//= Muad_Dib, Aeomin
//===== Current Version: =====================================
//= 1.3a
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Alchemist / Creator -> Genetic.
@@ -1044,4 +1042,4 @@ job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0
job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0
job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0
job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0
-job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0
+job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 \ No newline at end of file
diff --git a/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt
index 5ffc84a06..5ddb5bf5d 100644
--- a/npc/re/jobs/3-2/minstrel.txt
+++ b/npc/re/jobs/3-2/minstrel.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Minstrel Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Bard / Clown -> Minstrel.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Fix the checking of requirements before job change to Minstel [JayPee]
//= 1.2 Optimized. [Euphy]
@@ -1917,4 +1915,4 @@ prt_in,94,172,4 script Karian#job_min3 480,{
mes "[Karian]";
mes "How did you get in here?";
close;
-}
+} \ No newline at end of file
diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index 1222c23ed..f98861461 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -1,17 +1,16 @@
//===== Hercules Script ======================================
//= Royal Guard Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Crusader / Paladin -> Royal Guard.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [brAthena]
//= 1.1 Updated script. [Euphy]
+//= 1.2 Added GM management function. [Euphy]
//============================================================
prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{
@@ -497,8 +496,8 @@ OnTouch:
end;
}
-/*
sec_in02,12,43,3 script sorcereryal 57,1,1,{
+ callfunc "F_GM_NPC";
switch(select("Royal Guard:Rune Knight:Sorcerer")) {
case 1:
mes "1~5";
@@ -538,4 +537,3 @@ sec_in02,12,43,3 script sorcereryal 57,1,1,{
close;
}
}
-*/
diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt
index 313ce7390..30d10abdb 100644
--- a/npc/re/jobs/3-2/shadow_chaser.txt
+++ b/npc/re/jobs/3-2/shadow_chaser.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Shadow Chaser Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Rogue / Stalker -> Shadow Chaser.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [ultragunner, Oshinoke]
//= 1.1 Standardized. [Euphy]
//= 1.2 Updated dialogue. [Joseph]
@@ -2503,4 +2501,4 @@ OnTouch:
//============================================================
tur_dun03,0,0,0,0 monster Shadow of Deception 2076,1,1000,0,0
ice_dun02,0,0,0,0 monster Shadow of Illusion 2077,1,1000,0,0
-niflheim,0,0,0,0 monster Shadow of Pleasure 2078,1,1000,0,0
+niflheim,0,0,0,0 monster Shadow of Pleasure 2078,1,1000,0,0 \ No newline at end of file
diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt
index d2cec9242..de934d394 100644
--- a/npc/re/jobs/3-2/sorcerer.txt
+++ b/npc/re/jobs/3-2/sorcerer.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Sorcerer Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Sage / Professor -> Sorcerer.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Cleaning. [Euphy]
//= 1.2 Updated script, optimized. [Euphy]
@@ -417,4 +415,4 @@ gef_tower,113,161,5 script Karacas 754,{
thor_v01,64,252,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#1 836
ice_dun01,274,274,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#2 836
mjo_dun03,200,141,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#3 836
-gon_dun02,195,190,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#4 836
+gon_dun02,195,190,0 duplicate(Spirit Detecting Staff#0) Spirit Detecting Staff#4 836 \ No newline at end of file
diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index 5a0e8e36a..240b453e2 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -1,18 +1,17 @@
//===== Hercules Script ======================================
//= Sura Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib, Gepard
-//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.3
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Monk / Champion -> Sura.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
//= 1.1 Removed disablenpc which causes players stucked in waitingroom. [Joseph]
//= 1.2 Updated script, optimized. [Euphy]
+//= 1.3 Added GM management function. [Euphy]
//============================================================
ve_in,237,125,0 script King Crab#job_shu 107,{
@@ -829,8 +828,8 @@ sword_1-1,223,167,2 script Master#job_shu 483,{
end;
}
-/*
sword_2-1,1,2,0 script Button Girl#sura 66,{
+ callfunc "F_GM_NPC";
switch(select("Turn on arena.:Turn off arena.:Turn on the living room.:Turn on Buddy.:Turn on Gara.:Turn off all.:Close")) {
case 1:
mes "Turn on arena.";
@@ -864,4 +863,3 @@ sword_2-1,1,2,0 script Button Girl#sura 66,{
close;
}
}
-*/
diff --git a/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt
index fd3b75f59..3c6e097c6 100644
--- a/npc/re/jobs/3-2/wanderer.txt
+++ b/npc/re/jobs/3-2/wanderer.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Wanderer Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib, Meyraw
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Dancer / Gypsy -> Wanderer.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Updated dialogue to be more official / accurate. Huge thanks to Muad_Dib! [Masao]
//= 1.2 Fixed an endless loop in dialogue.
@@ -453,7 +451,7 @@ comodo,140,86,5 script Cheerless Maestro 479,{
mes "[" + strcharinfo(0) + "]";
mes "It felt like hearing mommy's lullaby~ It was so beautiful and moving... You are the best artist of our time.";
next;
- specialeffect 18;
+ specialeffect EF_STEAL;
mes "[Guitar Song]";
mes "Ha ha ha. I know that well, but it feels good to hear a compliment from you!";
next;
@@ -1034,4 +1032,4 @@ xmas,145,127,7 duplicate(#wander_xmas) Spectator#xmas2 712
xmas,148,127,7 duplicate(#wander_xmas) Soy#xmas 714
xmas,149,127,1 duplicate(#wander_xmas) Mimi#xmas 714
xmas,151,127,1 duplicate(#wander_xmas) Spectator#xmas3 716
-xmas,154,129,1 duplicate(#wander_xmas) Spectator#xmas4 797
+xmas,154,129,1 duplicate(#wander_xmas) Spectator#xmas4 797 \ No newline at end of file
diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt
index b9c2a10ac..95add76e2 100644
--- a/npc/re/jobs/novice/novice.txt
+++ b/npc/re/jobs/novice/novice.txt
@@ -1,34 +1,35 @@
-//===== rAthena Script =======================================
-//= New Novice Training Grounds
+//===== Hercules Script ======================================
+//= Renewal Novice Training Grounds
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
-//= 1.4a
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.5
//===== Description: =========================================
-//= New Novice Training Grounds
-//= [Hand Scripted (No Programs or AEGIS Scripts)]
+//= [Official Conversion]
+//= A tutorial for new players starting at new_1-1 (53,111).
+//=
+//= This script was replaced by the Izlude Academy in 2012.
//===== Additional Comments: =================================
-//= 1.0 First version. [Kisuka]
+//= 1.0 First version, hand scripted from iRO. [Kisuka]
//= 1.1 Updated warps, savepoints, NPC locations. [Kisuka]
//= 1.2 Cleaning. [Euphy]
//= 1.3 Fixed Eden Group Officer's level requirement. [Joseph]
//= 1.4 Fixed checkquest to check quest accordingly. [Joseph]
//= 1.4a Added 'npcskill' command. [Euphy]
+//= 1.5 Replaced with the official kRO scripts. [Euphy]
//============================================================
-// Sprakki (Stard of Novice Training Ground, Outside Castle)
+// Main NPCs
//============================================================
-new_1-1,53,114,4 script Sprakki#nv1 90,{
- if(job_novice_q < 1) {
+- script Sprakki#newbe01::NvSprakkiA -1,{
+ if (job_novice_q == 0) {
mes "[Sprakki]";
mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips.";
mes "Click on the [Next] button or press [Enter] to continue.";
next;
mes "[Sprakki]";
mes "First you need to learn the very basics of controlling your character.";
- mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000.";
+ mes "All the basic ^4d4dffmoves, selection of items, and attacks^000000 use the ^4d4dff left click of the mouse^000000.";
next;
cutin "tutorial01",3;
mes "-! Info !-";
@@ -40,11 +41,11 @@ new_1-1,53,114,4 script Sprakki#nv1 90,{
mes "First off, try moving around.";
mes "Do you see that wooden bridge to the right?";
next;
- setquest 7117;
- set job_novice_q,1;
mes "[Sprakki]";
mes "Walk over that bridge and there's a castle used as the Training Center.";
mes "I will be waiting for you inside of that Castle. Please come to the castle by yourself.";
+ set job_novice_q,1;
+ setquest 7117;
next;
cutin "tutorial02",3;
mes "-! Info !-";
@@ -55,30 +56,43 @@ new_1-1,53,114,4 script Sprakki#nv1 90,{
mes "I will wait inside the Training Center across the bridge.";
next;
mes "-! Info !-";
- mes "You can open the Quest Info Window by pressing the ^4A4AFFALT + U^000000 keys at the same time.";
+ mes "You can open the Quest Info Window by pressing the ^4d4dffAlt + U^000000 keys at the same time.";
next;
cutin "",255;
mes "[Sprakki]";
mes "Have you checked the Quest Info Window?";
mes "I'll be waiting in the castle across the bridge.";
+ close2;
+ cutin "",255;
+ end;
+ } else if (job_novice_q == 1) {
+ mes "[Sprakki]";
+ mes "I will be waiting for you across the Bridge to the east.";
+ close;
+ } else {
+ mes "[Sprakki]";
+ mes "Are you lost?";
+ mes "Have you gone beyond the bridge to the east?";
+ mes "I will guide you further after we meet in the Training Center.";
close;
}
- mes "[Sprakki]";
- mes "I will be waiting for you across the Bridge to the east.";
- close;
}
+new_1-1,53,114,3 duplicate(NvSprakkiA) Sprakki#nv1a 90
+new_2-1,53,114,3 duplicate(NvSprakkiA) Sprakki#nv2a 90
+new_3-1,53,114,3 duplicate(NvSprakkiA) Sprakki#nv3a 90
+new_4-1,53,114,3 duplicate(NvSprakkiA) Sprakki#nv4a 90
+new_5-1,53,114,3 duplicate(NvSprakkiA) Sprakki#nv5a 90
-// Sprakki (Inside Castle)
-//============================================================
-new_1-2,100,29,4 script Sprakki#nv2 90,{
- if(job_novice_q < 1) {
+- script Sprakki#newbe05::NvSprakkiB -1,{
+ if (job_novice_q == 0) {
mes "[Sprakki]";
- mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips.";
- mes "Click on the [Next] button or press [Enter] to continue.";
+ mes "Hello there! Welcome to the World of Ragnarok Online.";
+ mes "My name is Sprakki and I'm in charge of giving you basic gameplay tips.";
+ mes "Click on the [Next] button or press [Enter] key to continue.";
next;
mes "[Sprakki]";
mes "First you need to learn the very basics of controlling your character.";
- mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000.";
+ mes "All the basic ^4d4dffmoves, selection of items, and attacks^000000 use the ^4d4dff left click of the mouse^000000.";
next;
cutin "tutorial01",3;
mes "-! Info !-";
@@ -86,133 +100,247 @@ new_1-2,100,29,4 script Sprakki#nv2 90,{
mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them.";
next;
cutin "",255;
- setquest 7117;
- set job_novice_q,1;
mes "[Sprakki]";
mes "Well then, I will give you a quest to talk to me.";
mes "After the conversation is over, talk to me again by left-clicking on me.";
+ set job_novice_q,1;
+ setquest 7117;
next;
cutin "tutorial02",3;
mes "-! Info !-";
mes "You've received a quest from Sprakki.";
- mes "You can check the contents of the quest in the Quest Info Window by pressing the ^4A4AFFAlt + U^000000 keys at the same time.";
+ mes "You can check the contents of the quest in the Quest Info Window by pressing the ^4d4dffAlt + U^000000 keys at the same time.";
next;
cutin "",255;
mes "[Sprakki]";
mes "Have you checked the Quest Info Window?";
mes "Well, talk to me again.";
close;
- }
- if(job_novice_q == 1) {
- getexp 300,0;
- getexp 300,5;
- completequest 7117;
- set job_novice_q,2;
+ } else if (job_novice_q < 3) {
+ if (job_novice_q == 1) {
+ mes "[Sprakki]";
+ mes "Great!";
+ mes "Now you know how to move and talk to others, right?";
+ set job_novice_q,2;
+ getexp 600,5;
+ completequest 7117;
+ next;
+ }
+ mes "[Sprakki]";
+ mes "The Training Center is prepared for novices just like you.";
+ mes "You are going to be trained to get used to the basics of the Game.";
+ next;
mes "[Sprakki]";
- mes "Great!";
- mes "Now you know how to move and talk to others, right?";
+ mes "Of course, this Training Process is optional, if you want to go straight to town, that's also fine.";
+ mes "But, you will miss all the advantages you can get in the Training Center.";
next;
+ switch(select("Begin Training.:Start the game right away.")) {
+ case 1:
+ mes "[Sprakki]";
+ mes "I will guide you to the Novice Training Center.";
+ mes "Inside, Instructor 'Brade' will be waiting to speak to you.";
+ next;
+ mes "[Sprakki]";
+ mes "Instructor 'Brade' will help you afterwards.";
+ mes "Please, Go see him.";
+ setquest 7118;
+ next;
+ mes "^4d4dff- You received a quest 'Novice Training Ground -1' from Sprakki.";
+ mes "Please check the Quest Info Window. -^000000";
+ close2;
+ savepoint strnpcinfo(4),100,100;
+ warp strnpcinfo(4),100,100;
+ end;
+ case 2:
+ set nov_1st_cos,0;
+ set nov_2nd_cos,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set nov_3_merchant,0;
+ mes "[Sprakki]";
+ mes "Ok, You want to start right away.";
+ mes "Which Town do you want to start at?";
+ next;
+ set .@select, select("Prontera:Morroc:Geffen:Payon:Alberta:Izlude");
+ mes "[Sprakki]";
+ mes "I see.";
+ mes "Go ahead and grow stronger! Look toward a brighter future ahead of you.";
+ callfunc "F_NvErase";
+ close2;
+ switch(.@select) {
+ case 1:
+ savepoint "prontera",273,354;
+ warp "prontera",273,354;
+ break;
+ case 2:
+ savepoint "morocc",160,94;
+ warp "morocc",160,94;
+ break;
+ case 3:
+ savepoint "geffen",120,100;
+ warp "geffen",120,100;
+ break;
+ case 4:
+ savepoint "payon",70,100;
+ warp "payon",70,100;
+ break;
+ case 5:
+ savepoint "alberta",116,57;
+ warp "alberta",116,57;
+ break;
+ case 6: // Old coordinates: (94,103)
+ savepoint "izlude",128,98;
+ warp "izlude",128,98;
+ break;
+ }
+ end;
+ }
+ } else {
+ mes "[Sprakki]";
+ mes "These are the Novice Training Grounds.";
+ mes "I will guide you to the Novice Training Center.";
+ close2;
+ savepoint strnpcinfo(4),100,100;
+ warp strnpcinfo(4),100,100;
+ end;
}
- mes "[Sprakki]";
- mes "The training Center is prepared for novices just like you.";
- mes "You are going to be trained to get used to the basics of the Game.";
- next;
- select("Begin Training.");
- mes "[Sprakki]";
- mes "I will guide you to the Novice Training Center.";
- mes "Inside, Instructor 'Brade' will be waiting to speak to you.";
- next;
- setquest 7118;
- set job_novice_q,3;
- mes "[Sprakki]";
- mes "Instructor 'Brade' will help you afterwards.";
- mes "Please, Go see him.";
- next;
- mes "^4A4AFF- You received a quest 'Novice Training Ground-1' from Sprakki.^000000";
- mes "^4A4AFFPlease check the Quest Info Window.-^000000";
- close2;
- savepoint "new_1-2",100,100;
- warp "new_1-2",100,100;
- end;
}
+new_1-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv1b 90
+new_2-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv2b 90
+new_3-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv3b 90
+new_4-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv4b 90
+new_5-2,100,29,4 duplicate(NvSprakkiB) Sprakki#nv5b 90
-// Instructor Brade
-//============================================================
-new_1-2,100,105,4 script Brade#nv 733,{
- if(job_novice_q < 3) {
+- script Brade#newbe02::NvBradeA -1,{
+ if (job_novice_q < 2) {
mes "[Instructor Brade]";
- mes "How did you get here?";
- close2;
- warp "new_1-1",53,111;
- end;
- }
- else if(job_novice_q == 3) {
- getexp 300,0;
- getexp 300,0;
- getexp 300,10;
- completequest 7118;
- set job_novice_q,4;
+ mes "Hello there! Welcome to the World of Ragnarok Online.";
+ mes "You have participated on the previous Training Grounds.";
+ mes "The Training Grounds have now come under new management.";
+ next;
mes "[Instructor Brade]";
- mes "Great.";
- mes "You've completed the given quest successfully, so I will reward you with experience points.";
+ mes "I guess we will just have to start your training all over again.";
next;
mes "[Instructor Brade]";
- mes "Experience Points you've earned from hunting or finishing quests can be checked by tracking the EXP Bar, located at the upper-left side of the display.";
+ mes "My name is Instructor Brade and I'm in charge of giving you basic gameplay tips.";
+ mes "Click on the [Next] button or press [Enter] to continue.";
next;
mes "[Instructor Brade]";
- mes "Sigh... I will just talk roughly.";
- mes "...I just can't get used to";
- mes "'politeness' you know.";
- mes "Don't look at me like that!";
+ mes "First you need to learn the very basics of controlling your character.";
+ mes "All the basic ^4d4dff moves, selection of items, and attacks^000000 use the ^4d4dff left click of the mouse^000000.";
+ next;
+ cutin "tutorial01",3;
+ mes "-! Info !-";
+ mes "Click on the ground to move the character.";
+ mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them.";
+ next;
+ cutin "",255;
next;
mes "[Instructor Brade]";
- mes "Ok look alive you maggot.";
- mes "Next up is items and equipment.";
+ mes "First off, try moving around.";
+ mes "After moving around, talk to me again.";
+ set nov_1st_cos,0;
+ set nov_2nd_cos,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set nov_3_merchant,0;
+ set treasure_alb,0;
+ set job_novice_q,2;
+ setquest 7118;
next;
+ cutin "tutorial02",3;
+ mes "-! Info !-";
+ mes "You've received a quest from Instructor Brade.";
+ mes "You can check the contents of the quest in the Quest Info Window.";
+ next;
+ mes "-! Info !-";
+ mes "You can open the Quest Info Window by pressing the ^4d4dffAlt + U^000000keys at the same time.";
+ next;
+ cutin "",255;
mes "[Instructor Brade]";
- mes "First, take these.";
- mes "These are very basic equipments and recovery potions.";
- getitem 2352,1; // Novice_Plate
- getitem 2510,1; // Novice_Hood
- getitem 2414,1; // Novice_Boots
- getitem 5055,1; // Novice_Egg_Cap
- getitem 1243,1; // Novice_Knife
- getitem 2112,1; // Novice_Guard
- getitem 569,300; // Novice_Potion
+ mes "Have you checked the Quest Info Window?";
+ mes "Well, talk to me again.";
+ close;
+ } else if (job_novice_q < 4) {
+ if (job_novice_q == 2) {
+ mes "[Instructor Brade]";
+ mes "Great.";
+ mes "You've completed the given quest successfully, so I will reward you with experience points.";
+ set job_novice_q,3;
+ getexp 900,10;
+ completequest 7118;
+ next;
+ mes "[Instructor Brade]";
+ mes "Experience Points you've earned from hunting or finishing quests can be checked by tracking the EXP Bar, located at upper-left side of the display.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Sigh... I will just talk roughly.";
+ mes "...I just can't get used to 'politeness' you know.";
+ mes "Don't look at me like that!";
+ next;
+ mes "[Instructor Brade]";
+ mes "Ok look alive you maggot.";
+ mes "Next up is items and equipment.";
+ next;
+ mes "[Instructor Brade]";
+ mes "First, take these.";
+ mes "These are very basic equipments and recovery potions.";
+ } else {
+ mes "[Instructor Brade]";
+ mes "Uh... Where were we? Oh right, let's continue.";
+ mes "It's about items and equipments.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Take these.";
+ mes "Basic equipments and recovery potions.";
+ }
+ set job_novice_q,4;
+ getitem 2352,1; //Novice_Plate
+ getitem 2510,1; //Novice_Hood
+ getitem 2414,1; //Novice_Boots
+ getitem 5055,1; //Novice_Egg_Cap
+ getitem 1243,1; //Novice_Knife
+ getitem 2112,1; //Novice_Guard
+ getitem 569,300; //Novice_Potion
setquest 7119;
- set job_novice_q,5;
next;
mes "[Instructor Brade]";
- mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window.";
- mes "The item window has 3 sections...";
+ mes "In the upper left Basic Info. Window, press the 'Item' icon to open the Item Window.";
+ mes "The item window is divided into...";
next;
mes "[Instructor Brade]";
- mes "Consumable items, equipment, and other items.";
- mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
+ mes "3 sections: consumable items, equipment and other items.";
+ mes "If you want to use or equip items, just double-click on the item or drag them into the Equipment Window.";
next;
mes "[Instructor Brade]";
- mes "You can see detailed info of each item by right-clicking on the item.";
- mes "Do that and the info will pop-up in a separate window.";
+ mes "You can see detailed info. of each item by right-clicking on the item.";
+ mes "Detailed information of the item will pop up.";
next;
cutin "tutorial04",3;
mes "!- Info -!";
- mes "Double-click on the item to see the detailed information.";
+ mes "Right-click on an item to see detailed information about it.";
next;
mes "!- Info -!";
- mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc.";
+ mes "Right-click on other players to show the Community Menu and you can join a party, or request trade with a player etc.";
next;
cutin "",255;
mes "[Instructor Brade]";
mes "Why don't you equip the items I gave you earlier?";
- mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up.";
+ mes "^4d4dffDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up.";
next;
cutin "tutorial03",3;
mes "!- Info -!";
- mes "Items can be easily equipped or used by simply clicking on them.";
- mes "The Hot Key to open the Item Window is Alt + E.";
+ mes "Items can be easily equipped or used by simply double-clicking on them.";
+ mes "The Hot Key to open the Inventory Window is ALT + E.";
next;
mes "!- Info -!";
- mes "To check on the items that are currently equipped, use the hot key Alt + Q.";
+ mes "To check on the items that are currently equipped, use the Hot Key ALT + Q.";
mes "Or, drag the item on to the item slot you want the item to be equipped.";
next;
mes "!- Info -!";
@@ -220,139 +348,71 @@ new_1-2,100,105,4 script Brade#nv 733,{
close2;
cutin "",255;
end;
- }
- else if(job_novice_q == 4) {
+ } else if (job_novice_q == 4) {
+ if (isequipped(2414) + isequipped(2352) + isequipped(2510) + isequipped(2112) + isequipped(1243) < 4) {
+ mes "[Instructor Brade]";
+ mes "Try to put on at least 4 of the equipments I gave you.";
+ mes "Put those shoes on, wear those clothes, and arm yourself with that weapon you maggot.";
+ close;
+ }
mes "[Instructor Brade]";
- mes "Uh... Where were we? Oh right, let's continue.";
- mes "It's about items and equipments.";
+ mes "You are all set.";
+ mes "You are coming along just fine.";
+ set job_novice_q,5;
+ getexp 1200,15;
+ getitem 12323,50; //N_Fly_Wing
+ getitem 12324,20; //N_Butterfly_Wing
+ completequest 7119;
next;
mes "[Instructor Brade]";
- mes "Take these.";
- mes "Basic equipments and recovery potions.";
- getitem 2352,1; // Novice_Plate
- getitem 2510,1; // Novice_Hood
- getitem 2414,1; // Novice_Boots
- getitem 5055,1; // Novice_Egg_Cap
- getitem 1243,1; // Novice_Knife
- getitem 2112,1; // Novice_Guard
- getitem 569,300; // Novice_Potion
- setquest 7119;
- set job_novice_q,5;
+ mes "Here's some Fly Wings and Butterfly Wings as a reward.";
+ mes "You don't need these in the Training Ground, but they will come in handy later.";
next;
mes "[Instructor Brade]";
- mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window.";
- mes "The item window is divided into...";
+ mes "Next, are Hot Keys.";
+ mes "Press the ^4d4dffF12 key^000000 on your keyboard.";
+ mes "A box with 9 slots will pop up.";
next;
mes "[Instructor Brade]";
- mes "3 sections: consumable items, equipment and other items.";
- mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
+ mes "Drag on the right corner of the Hot Key Window and you will be able to see the other pages of the Hot Key.";
next;
mes "[Instructor Brade]";
- mes "You can see detailed info of each item by right-clicking on the item.";
- mes "Do that and the info will pop-up in a separate window.";
+ mes "The F1 to F9 keys are the designated hotkeys.";
+ mes "Just drag a skill or an item onto the Hot Key Window and press a corresponding key to use them right away.";
next;
- cutin "tutorial04",3;
+ cutin "tutorial05",3;
mes "!- Info -!";
- mes "Double-click on the item to see the detailed information.";
+ mes "You can register a skill or an item to the Hot Key Window by just dragging them onto the Hot Key Slot.";
next;
mes "!- Info -!";
- mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc.";
- next;
- cutin "",255;
- mes "[Instructor Brade]";
- mes "Why don't you equip the items I gave you earlier?";
- mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up.";
+ mes "Registered Skills or Items can be used/equipped by just pressing the corresponding key.";
next;
- cutin "tutorial03",3;
mes "!- Info -!";
- mes "Items can be easily equipped or used by simply clicking on them.";
- mes "The Hot Key to open the Item Window is Alt + E.";
+ mes "You can customize the Hot Key to use any keys you please as the Hot Key by changing the Shortcut configuration in the options menu.";
next;
mes "!- Info -!";
- mes "To check on the items that are currently equipped, use the hot key Alt + Q.";
- mes "Or, drag the item on to the item slot you want the item to be equipped.";
+ mes "Register skills and items that you use often so that you can use them easily.";
next;
- mes "!- Info -!";
- mes "Equip all of the equipment given by Instructor Brade.";
- close2;
cutin "",255;
- end;
- }
- else if(job_novice_q == 5 || job_novice_q == 6) {
- for(set .@i,1; .@i<7; set .@i,.@i+1)
- if (getequipisequiped(.@i)) set .@EquipCheck, .@EquipCheck+1;
- if(.@EquipCheck >= 4) {
- if(job_novice_q == 5) {
- mes "[Instructor Brade]";
- mes "You are all set.";
- mes "You are coming along just fine.";
- getexp 300,0;
- getexp 300,0;
- getexp 300,0;
- getexp 300,15;
- getitem 12323,50; // N_Fly_Wing
- getitem 12324,20; // N_Butterfly_Wing
- completequest 7119;
- set job_novice_q,6;
- next;
- mes "[Instructor Brade]";
- mes "Here's some Fly Wings and Butterfly Wings as a reward.";
- mes "You don't need these in the Training Ground, but they will come in handy later.";
- next;
- }
- mes "[Instructor Brade]";
- mes "Next, are Hot Keys.";
- mes "Press the ^4A4AFF12 key^000000 on your keyboard.";
- mes "A box with 9 slots will pop up.";
- next;
- mes "[Instructor Brade]";
- mes "Drag on the right corner of the Hot Key Window and you will be able to see the other pages of the Hot Key.";
- next;
- mes "[Instructor Brade]";
- mes "The F1 to F9 keys are the designated hotkeys.";
- mes "Just drag a skill or an item onto the Hot Key Window and press a corresponding key to use them right away.";
- next;
- cutin "tutorial05",3;
- mes "!- Info -!";
- mes "You can register a skill or an item to the Hot Key Window by just dragging them onto the Hot Key Slot.";
- next;
- mes "!- Info -!";
- mes "Registered Skills or Items can be used/equipped by just pressing the corresponding key.";
- next;
- mes "!- Info -!";
- mes "You can customize the Hot Key to use any keys you please as the Hot Key by changing the Shortcut configuration in the options menu.";
- next;
- mes "!- Info -!";
- mes "Register skills and items that you use often so that you can use them easily";
- next;
- cutin "",255;
- mes "[Instructor Brade]";
- mes "The last part is how to use Skills.";
- mes "But before that, you need to learn something first.";
- next;
- setquest 7120;
- set job_novice_q,7;
- mes "[Instructor Brade]";
- mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000.";
- mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him.";
- next;
- mes "[Instructor Brade]";
- mes "Your lesson is after that.";
- mes "Go find Jinha and learn the [First Aid] Skill. Then come back to me.";
- close;
- }
mes "[Instructor Brade]";
- mes "Try to put on at least 4 of the equipment I gave you.";
- mes "Put those shoes on, wear those clothes, and arm yourself with that weapon you maggot.";
+ mes "The last part is how to use Skills.";
+ mes "But before that, you need to learn something first.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Somewhere in this room, there's someone named ^4d4dffJinha^000000.";
+ mes "Find Jinha and learn the ^4d4dff[First Aid]^000000 skill from him.";
+ setquest 7120;
+ next;
+ mes "[Instructor Brade]";
+ mes "Your lesson is after that.";
+ mes "Go find Jinha and learn the [First Aid] Skill. Then come back to me.";
close;
- }
- else if(job_novice_q == 7) {
+ } else if (job_novice_q == 5) {
mes "[Instructor Brade]";
- mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000.";
- mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him.";
+ mes "Somewhere in this room, there's someone named ^4d4dffJinha^000000.";
+ mes "Find Jinha and learn the ^4d4dff[First Aid]^000000 skill from him.";
close;
- }
- else if(job_novice_q == 8) {
+ } else if (job_novice_q == 6) {
mes "[Instructor Brade]";
mes "Now you've learned the [First Aid] Skill.";
mes "Just as I told you before, by registering the First Aid Skill onto the Hot Key Window, you can use the skill fast and easy.";
@@ -368,43 +428,64 @@ new_1-2,100,105,4 script Brade#nv 733,{
next;
mes "[Instructor Brade]";
mes "You've come along fine this far.";
- mes "This is not much, but that this as a reward.";
- getitem 2393,1; // N_Adventurer's_Suit
+ mes "This is not much, but take this as a reward.";
+ set job_novice_q,7;
+ getitem 2393,1; //N_Adventurer's_Suit
completequest 7120;
- set job_novice_q,9;
close;
- }
- else if(job_novice_q > 8) {
+ } else if (job_novice_q == 7) {
mes "[Instructor Brade]";
mes "Next step of the Training is done in the room west of here.";
mes "If you are lost, I can send you there.";
next;
- if(select("I can get there by myself.:Please, send me to the next room.") == 2) {
+ switch(select("I can get there by myself.:Please, send me to the next room.")) {
+ case 1:
+ mes "[Instructor Brade]";
+ mes "Good. That's the attitude you must have.";
+ mes "You can't just lean on others to help you.";
+ mes "Now, go ahead.";
+ close;
+ case 2:
mes "[Instructor Brade]";
mes "Oh well.";
mes "I think it's better than seeing you lost and wandering about.";
mes "Hahahaha...";
close2;
- warp "new_1-2",41,172;
+ warp strnpcinfo(4),41,172;
end;
}
+ } else {
mes "[Instructor Brade]";
- mes "Good. That's the attitude you must have.";
- mes "You can't just lean on others to help you.";
- mes "Now, go ahead.";
- close;
+ mes "Aren't you done with the courses here?";
+ mes "Or are you just lost?";
+ next;
+ switch(select("Send me to the Combat Training Ground.:I want to go to town.")) {
+ case 1:
+ mes "[Instructor Brade]";
+ mes "Sure.";
+ mes "Be careful not to be lost again.";
+ close2;
+ warp "new_"+charat(strnpcinfo(4),4)+"-3",96,21;
+ end;
+ case 2:
+ mes "[Instructor Brade]";
+ mes "Town... Eh?";
+ mes "In that case, I will send you to where the Kafra Employee is at.";
+ mes "Use ^4d4dffKafra's Warp Service^000000 to go to town.";
+ close2;
+ warp strnpcinfo(4),41,172;
+ end;
+ }
}
- mes "[Instructor Brade]";
- mes "Why are you still here?";
- close2;
- warp "prontera",156,90;
- end;
}
+new_1-2,100,105,3 duplicate(NvBradeA) Brade#nv1a 733
+new_2-2,100,105,3 duplicate(NvBradeA) Brade#nv2a 733
+new_3-2,100,105,3 duplicate(NvBradeA) Brade#nv3a 733
+new_4-2,100,105,3 duplicate(NvBradeA) Brade#nv4a 733
+new_5-2,100,105,3 duplicate(NvBradeA) Brade#nv5a 733
-// Instructor Jinha
-//============================================================
-new_1-2,115,120,4 script Jinha#nv 59,{
- if(job_novice_q < 7) {
+- script Jinha#newbe03::NvJinha -1,{
+ if (job_novice_q < 5) {
mes "[Jinha]";
mes "What can I help you with?";
mes "Hmm? You haven't followed the curriculum correctly.";
@@ -412,99 +493,168 @@ new_1-2,115,120,4 script Jinha#nv 59,{
mes "[Jinha]";
mes "You have to see Instructor Brade first before me. I will send you to Instructor Brade.";
close2;
- warp "new_1-2",100,100;
+ warp strnpcinfo(4),100,100;
end;
- }
- else if(job_novice_q == 7) {
- mes "[Jinha]";
- mes "Hello!";
- mes "How can I help you?";
- next;
- select("I want to learn the use the [First Aid] Skill.");
- mes "[Jinha]";
- mes "That's right.";
- mes "First Aid is the skill used to convert SP into HP when you are in danger.";
- next;
- specialeffect2 58;
- specialeffect2 234;
- mes "[Jinha]";
- mes "It's recovery amount is small.";
- mes "Still, it will help you not to faint from a critical hit.";
- next;
- skill "NV_FIRSTAID",1,0; // NV_FIRSTAID
- set job_novice_q,8;
- mes "[Jinha]";
- mes "You can open the Skill Window by pressing the ^4A4AFFskill^000000 button in the Basic Window.";
- mes "Hot Key is ^4A4AFFALT + S^000000.";
- mes "Why don't you try the skill?";
- next;
- mes "[Jinha]";
- mes "Good, now you know how to use the First Aid Skill, you have to move on to the next step.";
- mes "Go back to Instructor Brade and show him what you've learned here.";
- close;
- }
- else if(job_novice_q == 8) {
+ } else if (job_novice_q == 5) {
+ if (getskilllv("NV_FIRSTAID") > 0) {
+ mes "[Jinha]";
+ mes "Hello!";
+ mes "I am responsible for teaching you the [First Aid] skill.";
+ mes "Instructor Brade asked you to learn it right?.";
+ next;
+ mes "[Jinha]";
+ mes "Wow... ...it's amazing!";
+ mes "You already know the First Aid Skill.";
+ mes "There doesn't seem to be anything for me to teach you.";
+ next;
+ mes "[Jinha]";
+ mes "Great. Was your instructor from the previous management Cecil?";
+ mes "Well, you have learned First Aid, I can confirm that.";
+ next;
+ mes "[Jinha]";
+ mes "Well, you can directly go to the next step of the course.";
+ mes "Go back to Instructor Brade.";
+ set job_novice_q,6;
+ close;
+ } else {
+ mes "[Jinha]";
+ mes "Hello!";
+ mes "How can I help you?";
+ next;
+ select("I want to learn to use the [First Aid] Skill.");
+ mes "[Jinha]";
+ mes "That's right.";
+ mes "First Aid is the skill used to convert SP into HP when you are in danger.";
+ next;
+ mes "[Jinha]";
+ mes "It's recovery amount is small.";
+ mes "Still, it will help you not to faint from a critical hit.";
+ specialeffect2 EF_BEGINSPELL6;
+ specialeffect2 EF_SPELLBREAKER;
+ next;
+ mes "[Jinha]";
+ mes "You can open the Skill Window by pressing the ^4d4dffskill^000000 button in the Basic Window.";
+ mes "Hot Key is ^4d4dffALT + S^000000.";
+ mes "Why don't you try the skill?";
+ skill "NV_FIRSTAID",1,0;
+ set skill_nov,3; // Has future uses - do not remove! [Euphy]
+ set job_novice_q,6;
+ next;
+ mes "[Jinha]";
+ mes "Good, now you know how to use the First Aid Skill, you have to move on to the next step.";
+ mes "Go back to Instructor Brade and show him what you've learned here.";
+ close;
+ }
+ } else if (job_novice_q == 6) {
mes "[Jinha]";
mes "Didn't you learn the First Aid Skill already?";
mes "Have it checked by Instructor Brade.";
mes "If you don't know how to get to him, I will send you to him.";
next;
- if(select("I'm good by myself.:Please, send me to him.") == 2) {
+ switch(select("I'm good by myself.:Please, send me to him.")) {
+ case 1:
+ mes "[Jinha]";
+ mes "Very Good!";
+ mes "That's the right attitude!";
+ mes "You will be a great adventurer in the future.";
+ close;
+ case 2:
mes "[Jinha]";
mes "I will send you to Instructor Brade.";
close2;
- warp "new_1-2",100,100;
+ warp strnpcinfo(4),100,100;
end;
}
- mes "[Jinha]";
- mes "Very Good!";
- mes "That's the right attitude!";
- mes "You will be a great adventurer in the future.";
- close;
- }
- else if(job_novice_q > 8) {
+ } else {
mes "[Jinha]";
mes "What can I do for you?";
mes "Next course will be continued in the West Room.";
- mes "Go on to the west room.";
+ mes "Go on into the west room.";
close;
}
- mes "[Jinha]";
- mes "Why are you still here?";
- close2;
- warp "prontera",156,90;
- end;
}
+new_1-2,115,120,3 duplicate(NvJinha) Jinha#nv1 59
+new_2-2,115,120,3 duplicate(NvJinha) Jinha#nv2 59
+new_3-2,115,120,3 duplicate(NvJinha) Jinha#nv3 59
+new_4-2,115,120,3 duplicate(NvJinha) Jinha#nv4 59
+new_5-2,115,120,3 duplicate(NvJinha) Jinha#nv5 59
// People/Services in Ragnarok
//============================================================
-// ---------- Chocolat ----------
-new_1-2,32,172,4 script Chocolat#nv 96,{
- if(job_novice_q < 9) {
+- script Chocolat#newbe06::NvChocolat -1,{
+ if (job_novice_q < 7) {
mes "[Chocolat]";
mes "Hmm? Strange.";
mes "Let me see that Trainee ID for a sec.";
next;
- mes "[Chocolat]";
- mes "You were still on the basic course.";
- mes "You should go back to Instructor Brade or Jinha.";
- next;
- mes "[Chocolat]";
- mes "If you don't know how to find them, I can send you to Instructor Brade, How about it?";
- next;
- if(select("I will go myself.:Will you do that for me?") == 2) {
+ if (job_novice_q < 2) {
mes "[Chocolat]";
- mes "Sure.";
- mes "I will see you later.";
- close2;
- warp "new_1-2",100,100;
- end;
+ mes "Oh, really...";
+ mes "You have participated on the previous Training Grounds.";
+ mes "The Training Grounds have now come under new management.";
+ next;
+ mes "[Chocolat]";
+ mes "If you want to do the basic course,";
+ mes "you should go back to Instructor Brade.";
+ next;
+ mes "[Chocolat]";
+ mes "Or you can go ahead and start with theory training.";
+ mes "What would you like to do?";
+ next;
+ switch(select("Send me to Basic Training.:Start Theory Training.")) {
+ case 1:
+ mes "[Chocolat]";
+ mes "Sure.";
+ mes "I will send you to Instructor Brade.";
+ mes "Instructor Brade will start your basic training.";
+ close2;
+ warp strnpcinfo(4),100,100;
+ end;
+ case 2:
+ mes "[Chocolat]";
+ mes "I will tell you about the people you will be seeing in Town.";
+ mes "There are many kinds of people in town and some of them will be helpful to know.";
+ next;
+ mes "[Chocolat]";
+ mes "There are a lot of people in town, but among them, these people are the most important to know.";
+ next;
+ mes "[Chocolat]";
+ mes "They are [Kafra] Employee's standing right behind me and their rival company the [Cool Event Corp].";
+ mes "When you visit a town for the first time, you should talk to the Information [Guide]";
+ next;
+ mes "[Chocolat]";
+ mes "Well then, let's hear from each of them.";
+ mes "Start by talking to the [Kafra] Employee.";
+ set job_novice_q,8;
+ setquest 7121;
+ next;
+ mes "^4d4dff- You've received a quest from Chocolat.";
+ mes "Please check the quest information window. -^000000";
+ close;
+ }
+ } else {
+ mes "[Chocolat]";
+ mes "You were still on the basic course.";
+ mes "You should go back to Instructor Brade or Jinha.";
+ next;
+ mes "[Chocolat]";
+ mes "If you don't know how to find them, I can send you to Instructor Brade, How about it?";
+ next;
+ switch(select("I will go myself.:Will you do that for me?")) {
+ case 1:
+ mes "[Chocolat]";
+ mes "Sure. Go out to the door to the right.";
+ close;
+ case 2:
+ mes "[Chocolat]";
+ mes "Sure.";
+ mes "I will see you later.";
+ close2;
+ warp strnpcinfo(4),100,100;
+ end;
+ }
}
- mes "[Chocolat]";
- mes "Sure. Go out to the door to the right.";
- close;
- }
- else if(job_novice_q == 9) {
+ } else if (job_novice_q == 7) {
mes "[Chocolat]";
mes "I will tell you about the people you will be seeing in Town.";
mes "There are many kinds of people in town and some of them will be helpful to know.";
@@ -513,46 +663,46 @@ new_1-2,32,172,4 script Chocolat#nv 96,{
mes "There are a lot of people in town, but among them, these people are the most important to know.";
next;
mes "[Chocolat]";
- mes "They are [Kafra] Agents standing right behind me and their rival company the [Cool Event].";
- mes "When you visit a town for the first time, you should talk to Information [Soldier].";
+ mes "They are [Kafra] Employee's standing right behind me and their rival company the [Cool Event Corp].";
+ mes "When you visit a town for the first time, you should talk to Information [Guide]";
next;
mes "[Chocolat]";
mes "Well then, let's hear from each of them.";
- mes "Start by talking to the [Kafra] agent.";
+ mes "Start by talking to the [Kafra] Employee.";
+ set job_novice_q,8;
setquest 7121;
- set job_novice_q,10;
close;
- }
- else if(job_novice_q == 10) {
+ } else if (job_novice_q == 8) {
mes "[Chocolat]";
mes "Here, talk to these guys standing behind me.";
- mes "Start with the [Kafra] gal behind me.";
+ mes "Start with the [Kafra] Employee behind me.";
close;
- }
- else if(job_novice_q == 11) {
+ } else if (job_novice_q == 9) {
mes "[Chocolat]";
mes "You've learned a lot about Kafra service huh?";
- mes "From now on, you can use the Kafra Server.";
+ mes "From now on, you can use the Kafra Service.";
+ next;
+ mes "[Chocolat]";
+ mes "During the Training Process, if you want to go straight to the town, you can use the Kafra Service to go there.";
+ mes "But, once you leave the Training Center, you can never come back here.";
next;
mes "[Chocolat]";
- mes "Next is Kafra's rival, [Cool Event] Staff!";
- mes "[Cool Event] Staff specialize in events.";
+ mes "Next is the Kafra's rival, [Cool Event Corp.] Staff!";
+ mes "[Cool Event Corp.] Staff specialize in events.";
mes "Well, why don't you talk to him yourself?";
close;
- }
- else if(job_novice_q == 12) {
+ } else if (job_novice_q == 10) {
mes "[Chocolat]";
- mes "After [Kafra] and [Cool Event], are the Information [Soldier]s.";
+ mes "After [Kafra] and [Cool Event Corp.], are the Information [Guide]'s.";
mes "They can seem insignificant but they can help you greatly when the time comes.";
next;
mes "[Chocolat]";
- mes "I've brought the Information Soldier from the City of Prontera.";
+ mes "I've brought the Information Guide from the City of Prontera.";
mes "Ask him what he actually does in town.";
close;
- }
- else if(job_novice_q == 13) {
+ } else if (job_novice_q == 11) {
mes "[Chocolat]";
- mes "How was the guide of the Information [Soldier]?";
+ mes "How was the explanation of the Information [Guide]?";
mes "Last is about using [Inn]s.";
mes "There's an Inn located in each town.";
next;
@@ -563,16 +713,11 @@ new_1-2,32,172,4 script Chocolat#nv 96,{
next;
mes "[Chocolat]";
mes "Besides these guys, there's many merchants selling various kind of items, so go check them out.";
+ set job_novice_q,12;
completequest 7121;
- getexp 300,0;
- getexp 300,0;
- getexp 300,0;
- getexp 300,0;
- getexp 300,0;
- getexp 300,20;
- getitem 7059,20; // Cargo_Free_Ticket
- getitem 7060,30; // Warp_Free_Ticket
- set job_novice_q,14;
+ getexp 1800,20;
+ getitem 7059,20; //Cargo_Free_Ticket
+ getitem 7060,30; //Warp_Free_Ticket
next;
mes "[Chocolat]";
mes "You've completed all the quests I gave you.";
@@ -587,280 +732,423 @@ new_1-2,32,172,4 script Chocolat#nv 96,{
mes "Real Combat Training will be given by Instructor Brade. You met him earlier.";
mes "I will send you to the Real Combat Training Field.";
close2;
- savepoint "new_1-3",96,21;
- warp "new_1-3",96,21;
+ set .@map$, "new_"+charat(strnpcinfo(4),4)+"-3";
+ savepoint .@map$,96,21;
+ warp .@map$,96,21;
end;
- }
- else if(job_novice_q > 13) {
+ } else {
mes "[Chocolat]";
- mes "What can I do for you?";
+ mes "Are you lost?";
next;
- select("");
- mes "[Chocolat]";
- mes "I will send you to the Real Combat Training Field right away.";
- close2;
- savepoint "new_1-3",96,21;
- warp "new_1-3",96,21;
- end;
+ switch(select("No, just looking around:Yes, send me to the Combat Training Field")) {
+ case 1:
+ mes "[Chocolat]";
+ mes "Okay, come back to me if";
+ mes "you need me to redirect you.";
+ close;
+ case 2:
+ mes "[Chocolat]";
+ mes "I will send you to the Real Combat Training Field.";
+ close2;
+ set .@map$, "new_"+charat(strnpcinfo(4),4)+"-3";
+ savepoint .@map$,96,21;
+ warp .@map$,96,21;
+ end;
+ }
}
- mes "[Chocolat]";
- mes "Why are you still here?";
- close2;
- warp "prontera",156,90;
- end;
}
+new_1-2,33,172,4 duplicate(NvChocolat) Chocolat#nv1 96
+new_2-2,33,172,4 duplicate(NvChocolat) Chocolat#nv2 96
+new_3-2,33,172,4 duplicate(NvChocolat) Chocolat#nv3 96
+new_4-2,33,172,4 duplicate(NvChocolat) Chocolat#nv4 96
+new_5-2,33,172,4 duplicate(NvChocolat) Chocolat#nv5 96
-// ---------- Kafra ----------
-new_1-2,29,176,4 script Kafra#nv 117,{
- if(job_novice_q < 10) {
- mes "[Kafra Agent]";
+- script Kafra Employee#newbe07::NvKafra -1,{
+ if (job_novice_q < 8) {
+ mes "[Kafra Employee]";
mes "Hello.";
mes "I don't think it's my turn yet.";
mes "Please talk to 'Chocolat' first.";
close;
- }
- else if(job_novice_q == 10) {
- mes "[Kafra Agent]";
+ } else if (job_novice_q == 8) {
+ mes "[Kafra Employee]";
mes "Hello.";
- mes "I've been dispatched by the Kafra Head Office to help Trainees.";
- mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune Midgard continent.";
+ mes "I've been dispatched by the Kafra Head Office to help trainees.";
+ mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune-Midgard continent.";
mes "It's important for you adventurers to be close with us.";
next;
- mes "[Kafra Agent]";
- mes "I will inform you about the Kafra Services which you will be using most frequently, [Save], [Storage], and [Teleport] Services.";
+ mes "[Kafra Employee]";
+ mes "I will inform you about the Kafra Services which you will be using most frequently, [Save], [Storage] and [Teleport] Services.";
next;
- mes "[Kafra Agent]";
- mes "When you talk to a Kafra Agent and ask for the Save Service, the location of where you will revive, after being defeated in battle, will be changed.";
+ mes "[Kafra Employee]";
+ mes "When you talk to a Kafra Employee and ask for the Save Service,";
+ mes "the location of where you will revive, after being defeated in battle, will be changed.";
next;
- mes "[Kafra Agent]";
- mes "Your Respawn Point is always the last place where you have saved.";
- mes "Using a Butterfly Wing will return you to the place where you last saved.";
+ mes "[Kafra Employee]";
+ mes "Your Respawn Point is always the last place where you have saved. Using a Butterfly Wing will return you to the place where you last saved.";
mes "This service is free to use, so feel free to use the Save Service anytime you like.";
next;
- mes "[Kafra Agent]";
- mes "Next is the Storage Service.";
+ callsub L_Services,2; //Storage
+ next;
+ callsub L_Services,3; //Teleport
+ set job_novice_q,9;
+ next;
+ mes "[Kafra Employee]";
+ mes "Do you want to hear another explanation?";
+ next;
+ while(1) {
+ set .@select, select("About Save:About Storage:About Teleport:About Cart:No More.");
+ if (.@select == 5) {
+ mes "[Kafra Employee]";
+ mes "I hope you are satisfied with my explanation";
+ mes "about the Kafra Service.";
+ close;
+ }
+ callsub L_Services, .@select;
+ next;
+ }
+ } else {
+ mes "[Kafra Employee]";
+ mes "Kafra Service at your service.";
+ mes "What can I do for you?";
+ next;
+ mes "[Kafra Employee]";
+ mes "Let me inform you before you use the Teleport Service.";
+ mes "If you teleport to the village,";
+ mes "^4d4dffyou can NEVER come back to the Novice Training Field.^000000";
+ mes "So keep that in mind.";
+ next;
+ switch(select("Teleport Service:About Kafra Service")) {
+ case 1:
+ mes "[Kafra Employee]";
+ mes "So, you are going straight to town.";
+ mes "Let me give you a brief introduction.";
+ mes "^4d4dffProntera is the Capital City of the Rune-Midgarts Kingdom, and right next to it is Izlude^000000.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^4d4dffMorroc is the Desert City, you can change your job to Thief and Assassin^000000 here.";
+ mes "^4d4dffPayon is the Village in the Mountains, and it is close to the Archer Village^000000.";
+ mes "^4d4dffGeffen is the City of Magic. Go there if you want to become a Mage.^000000";
+ next;
+ mes "[Kafra Employee]";
+ mes "^4d4dffAlberta is the Port City and there you can find the Merchant Guild^000000.";
+ mes "Also, if you are trying to take a boat to go somewhere, you have to go through Alberta first.";
+ mes "Select the town you want to teleport to.";
+ next;
+ switch(select("Prontera:Morroc:Payon:Alberta:Geffen")) {
+ case 1:
+ mes "[Kafra Employee]";
+ mes "Rune-Midgarts' Capital, Prontera.";
+ mes "I will send you to Prontera.";
+ mes "May Freya bless you upon your journey.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "prontera",117,72;
+ warp "prontera",150,50;
+ end;
+ case 2:
+ mes "[Kafra Employee]";
+ mes "The Desert City, Morroc...";
+ mes "It has lost it's former glory...";
+ mes "Do not lose the dream in your heart right now.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "morocc",150,99;
+ warp "morocc",155,110;
+ end;
+ case 3:
+ mes "[Kafra Employee]";
+ mes "Hmm, you want to be an Archer?.";
+ mes "Let's go to Payon.";
+ mes "Let Freya bless you.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "payon",70,100;
+ warp "payon",166,67;
+ end;
+ case 4:
+ mes "[Kafra Employee]";
+ mes "The Port City, Alberta.";
+ mes "Main city for all trades on the Rune-Midgard continent.";
+ mes "If you want to experience other civilizations, you have to visit Alberta first.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "alberta",30,232;
+ warp "alberta",114,58;
+ end;
+ case 5:
+ mes "[Kafra Employee]";
+ mes "The City of Magic!";
+ mes "Geffen Tower is looking nice standing in the middle of Geffen City.";
+ mes "I will send you close to the Geffen fountain.";
+ mes "May Goddess Freya bless you!.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "geffen",119,37;
+ warp "geffen",122,65;
+ end;
+ }
+ case 2:
+ mes "[Kafra Employee]";
+ mes "I will explain about the Kafra Service.";
+ mes "Which Service do you want to be";
+ mes "informed about?";
+ next;
+ while(1) {
+ set .@select, select("About Save:About Storage:About Teleport:About Cart:No More.");
+ if (.@select == 5) {
+ mes "[Kafra Employee]";
+ mes "I hope you are satisfied with my explanation";
+ mes "about the Kafra Service.";
+ close;
+ }
+ callsub L_Services, .@select;
+ next;
+ }
+ }
+ }
+ end;
+
+L_Services:
+ switch(getarg(0)) {
+ case 1:
+ mes "[Kafra Employee]";
+ mes "When you are killed in a battle,";
+ mes "you can revive in the location you saved with this service.";
+ mes "If you save at a Kafra in each village";
+ mes "You can revive in the village you saved.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Saved location is always where";
+ mes "you saved last, and by using a Butterfly Wing,";
+ mes "you can teleport directly to your saved point.";
+ mes "So feel free to use this service.";
+ break;
+ case 2:
+ mes "[Kafra Employee]";
+ mes "Next is about using the Storage Service.";
mes "You can store and retrieve your items in any town at your convenience.";
next;
- mes "[Kafra Agent]";
+ mes "[Kafra Employee]";
mes "It's unreasonable to carry all of your items with you when you don't need them right away.";
mes "Please use our Storage and keep your items safe and secure.";
next;
- mes "[Kafra Agent]";
- mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town.";
- mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage.";
+ mes "[Kafra Employee]";
+ mes "Our convenient Storage Service";
+ mes "is provided to our customers for a small fee which is different from town to town.";
+ mes "However, you must be";
+ mes "at least ^3355FFBasic Skill Level 6^000000";
+ mes "to use the Storage.";
next;
- mes "[Kafra Agent]";
+ mes "[Kafra Employee]";
+ //mes "There are 3 different item sections of the Storage into which items are organized: Consumable, Equipment and Etc.";
mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items.";
next;
- mes "[Kafra Agent]";
- mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage.";
+
+ // VIP System messages.
+ mes "[Kafra Employee]";
+ mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of items in Storage.";
+ next;
+/*
+ mes "[Kafra Employee]";
+ mes "There are a maximum of 300 Inventory Slots in Kafra Storage, meaning you can have up to 300 different kinds of items in Storage.";
next;
- mes "[Kafra Agent]";
+ mes "[Kafra Employee]";
mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!";
mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot.";
mes "The maximum number of items that can be placed in Kafra Storage is 30,000.";
next;
- mes "[Kafra Agent]";
- mes "Storage is shared by everyone character on one account.";
- mes "Storage Fees can vary for each Town.";
+*/
+
+ mes "[Kafra Employee]";
+ mes "This Storage is shared by every character on one account.";
+ mes "Storage Fees can be vary for each Town.";
mes "So please keep that in mind when you are using our storage service.";
- next;
- mes "[Kafra Agent]";
+ break;
+ case 3:
+ mes "[Kafra Employee]";
mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance.";
next;
- mes "[Kafra Agent]";
- mes "With our veteran teleporter's skill, your trip will be safer and more comfortable.";
+ mes "[Kafra Employee]";
+ mes "With our veteran teleporter's skill,";
+ mes "your trip will be safer and more comfortable.";
mes "Oh and remember that the places you can teleport to vary from town to town.";
next;
- mes "[Kafra Agent]";
- mes "This is all for your never ending support. We are working hard to repay our debt to our customers.";
- next;
- mes "[Kafra Agent]";
- mes "Do you want to hear another explanation?";
- set job_novice_q,11;
- next;
- }
- else {
- mes "[Kafra Agent]";
- mes "Kafra Service at your service";
- mes "What can I do for you?";
- next;
- select("About Kafra Service");
- mes "[Kafra Agent]";
- mes "I will explain about the Kafra Service.";
- mes "Which service do you want to be informed about?";
- next;
- }
-
- while(1) {
- switch(select("About Save:About Storage:About Teleport:About Cart:No More.")) {
- case 1:
- mes "[Kafra Agent]";
- mes "When you are killed in battle, you can revive in the location you saved with this service.";
- mes "If you save at a Kafra in a village, you can revive in the village you saved.";
- next;
- mes "[Kafra Agent]";
- mes "Saved location is always where you saved last, and by using a Butterfly Wing, you can teleport directly to your saved point.";
- mes "So feel free to use this service.";
- next;
- break;
- case 2:
- mes "[Kafra Agent]";
- mes "Next is the Storage Service.";
- mes "You can store and retrieve your items in any town at your convenience.";
- next;
- mes "[Kafra Agent]";
- mes "It's unreasonable to carry all of your items with you when you don't need them right away.";
- mes "Please use our Storage and keep your items safe and secure.";
- next;
- mes "[Kafra Agent]";
- mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town.";
- mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage.";
- next;
- mes "[Kafra Agent]";
- mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items.";
- next;
- mes "[Kafra Agent]";
- mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage.";
- next;
- mes "[Kafra Agent]";
- mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!";
- mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot.";
- mes "The maximum number of items that can be placed in Kafra Storage is 30,000.";
- next;
- mes "[Kafra Agent]";
- mes "Storage is shared by everyone character on one account.";
- mes "Storage Fees can vary for each Town.";
- mes "So please keep that in mind when you are using our storage service.";
- next;
- break;
- case 3:
- mes "[Kafra Agent]";
- mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance.";
- next;
- mes "[Kafra Agent]";
- mes "With our veteran teleporter's skill, your trip will be safer and more comfortable.";
- mes "Oh and remember that the places you can teleport to vary from town to town.";
- next;
- mes "[Kafra Agent]";
- mes "This is all for your never ending support. We are working hard to repay our debt to our customers.";
- next;
- break;
- case 4:
- mes "[Kafra Agent]";
- mes "The Kafra corporation provides Cart rental services to customers engaged in commercial business.";
- mes "Originally this cart rental service had been only provided by the merchant guild in Alberta.";
- next;
- mes "[Kafra Agent]";
- mes "However, since we took over this service, our merchant customers have been able to rent carts from almost anywhere.";
- mes "The cart rental service is available only for job classes engaged in commercial business such as ^4A4AFFMerchants, Blacksmiths, Alchemists, and Super Novices^000000.";
- next;
- mes "[Kafra Agent]";
- mes "Of course you should learn the 'Pushcart' skill beforehand, otherwise you will not be able to rent a cart from us.";
- mes "The rental fee varies by town, please keep that in mind.";
- next;
- break;
- case 5:
- mes "[Kafra Agent]";
- mes "I hope you are satisfied with my explanation about the Kafra Service.";
- close;
- }
+ mes "[Kafra Employee]";
+ mes "This is all for your never ending";
+ mes "support. We are working hard to";
+ mes "repay our dept to our customers.";
+ break;
+ case 4:
+ mes "[Kafra Employee]";
+ mes "The Kafra corporation provides Cart rental services";
+ mes "to customers engaged in commercial business.";
+ mes "Originally this cart rental service had been only provided";
+ mes "by the merchant guild in Alberta";
+ next;
+ mes "[Kafra Employee]";
+ mes "However, since we took over this service";
+ mes "our merchant customers have been able to rent carts from almost anywhere.";
+ mes "The cart rental service is available only for job classes engaged in commercial business";
+ mes "such as ^4d4dffMerchants, Blacksmiths, Alchemists, and Super Novices^000000.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Of course you should learn the 'Pushcart' skill beforehand,";
+ mes "otherwise you will not be able to rent a cart from us.";
+ mes "The rental fee varies by town,";
+ mes "please keep that in mind.";
+ break;
}
+ return;
}
+new_1-2,30,176,4 duplicate(NvKafra) Kafra Employee#nv1 117
+new_2-2,30,176,4 duplicate(NvKafra) Kafra Employee#nv2 117
+new_3-2,30,176,4 duplicate(NvKafra) Kafra Employee#nv3 117
+new_4-2,30,176,4 duplicate(NvKafra) Kafra Employee#nv4 117
+new_5-2,30,176,4 duplicate(NvKafra) Kafra Employee#nv5 117
-// ---------- Cool Event Staff ----------
-new_1-2,32,176,4 script Cool Event Staff#nv 874,{
- if(job_novice_q < 11) {
- mes "[Cool Event Staff]";
+- script Cool Event Corp. Staff::NvCool -1,{
+ if (job_novice_q < 9) {
+ mes "[Cool Event Corp. Staff]";
mes "This is not my turn.";
- mes "You finished talking to Kafra yet?";
+ mes "have you finished talking to the Kafra Employee yet?";
close;
- }
- else if(job_novice_q == 11) {
- mes "[Cool Event Staff]";
+ } else if (job_novice_q == 9) {
+ mes "[Cool Event Corp. Staff]";
mes "Hello.";
- mes "We are working hard to provide events on Rune Midgard similar to the Kafra service.";
+ mes "We are working hard to provide events on Rune-Midgard similar to the Kafra services.";
next;
- mes "[Cool Event Staff]";
- mes "Our staff is here to support you with [storage], [save], and [teleport] services.";
+ mes "[Cool Event Corp. Staff]";
+ mes "Our staff is here to support you with [storage], [save] and [teleport service].";
next;
- mes "[Cool Event Staff]";
+ mes "[Cool Event Corp. Staff]";
mes "If there's no Kafra around you, we're around to help you.";
next;
- mes "[Cool Event Staff]";
+ mes "[Cool Event Corp. Staff]";
mes "We are working hard on a network of Events to make your life better.";
mes "I hope that you can meet our staff in Alberta.";
next;
- mes "[Cool Event Staff]";
+ mes "[Cool Event Corp. Staff]";
mes "Who knows, we might meet outside of this academy.";
next;
- mes "[Cool Event Staff]";
- mes "Mostly all of us wear red coats in the places that the Kafra Staff don't work for.";
- set job_novice_q,12;
+ mes "[Cool Event Corp. Staff]";
+ mes "Mostly all of us wear red coats in the places that the Kafra Employee's don't work in.";
+ set job_novice_q,10;
+ close;
+ } else {
+ mes "[Cool Event Corp. Staff]";
+ mes "Most of our services are similar to those of the Kafra Corporation.";
close;
}
- mes "[Cool Event Staff]";
- mes "Most of our services are similar to those of Kafra.";
- close;
}
+new_1-2,33,176,4 duplicate(NvCool) Cool Event Corp. Staff::NvCool1 874
+new_2-2,33,176,4 duplicate(NvCool) Cool Event Corp. Staff::NvCool2 874
+new_3-2,33,176,4 duplicate(NvCool) Cool Event Corp. Staff::NvCool3 874
+new_4-2,33,176,4 duplicate(NvCool) Cool Event Corp. Staff::NvCool4 874
+new_5-2,33,176,4 duplicate(NvCool) Cool Event Corp. Staff::NvCool5 874
-// ---------- Soldier ----------
-new_1-2,35,176,4 script Soldier#nv 105,{
- if(job_novice_q < 12) {
- mes "[Soldier]";
- mes "It isn't my turn yet.";
+- script Guide::NvGuide -1,{
+ if (job_novice_q < 10) {
+ mes "[Guide]";
+ mes "It ain't my turn yet.";
mes "Listen to Chocolat.";
close;
- }
- else if(job_novice_q == 12) {
- mes "[Soldier]";
- mes "Soldiers are in each town to guide you to useful places.";
- mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000.";
+ } else if (job_novice_q == 10) {
+ mes "[Guide]";
+ mes "Guides are in each town to guide you to useful places.";
+ mes "Ask us where you want to go and we'll mark your mini maps with a ^4d4dff+^000000.";
mes "Don't hesitate to ask us questions.";
next;
- mes "[Soldier]";
+ mes "[Guide]";
mes "We all don't look the same in every town but our roles are the same.";
mes "Take note of this whenever you go to a new town.";
next;
- mes "[Soldier]";
- mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds.";
- set job_novice_q,13;
- close;
- }
- mes "[Soldier]";
- mes "What can I help you with?";
- mes "Need me to explain what I do again?";
- next;
- if(select("Yes, I need an explanation.:Nope") == 2) {
- mes "[Soldier]";
- mes "Ok well talk to Chocolat if you're done talking with us.";
+ mes "[Guide]";
+ mes "If you want to go to your first town, you can ask the Kafra Employee to the left.";
+ mes "You can move there with the Teleport Service.";
+ set job_novice_q,11;
close;
+ } else {
+ mes "[Guide]";
+ mes "What can I help you with?";
+ mes "Need me to explain what I do again?";
+ next;
+ switch(select("Yes, I need an explanation.:Nope.")) {
+ case 1:
+ mes "[Guide]";
+ mes "Guides are in each town to guide you to useful places in each town.";
+ mes "Ask us where you want to go and we'll mark your mini maps with a ^4d4dff+^000000.";
+ mes "Don't hesitate to ask us questions.";
+ next;
+ mes "[Guide]";
+ mes "We all don't look the same in every town but our roles are the same.";
+ mes "Take note of this whenever you go to a new town.";
+ next;
+ mes "[Guide]";
+ mes "If you want to go to your first town, you can ask the Kafra Employee to the left.";
+ mes "You can move there with the Teleport Service.";
+ close;
+ case 2:
+ mes "[Guide]";
+ mes "Ok well talk to Chocolat if you're done talking with us.";
+ close;
+ }
}
- mes "[Soldier]";
- mes "Soldiers are in each town to guide you to useful places.";
- mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000.";
- mes "Don't hesitate to ask us questions.";
- next;
- mes "[Soldier]";
- mes "We all don't look the same in every town but our roles are the same.";
- mes "Take note of this whenever you go to a new town.";
- next;
- mes "[Soldier]";
- mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds.";
- close;
}
+new_1-2,36,176,4 duplicate(NvGuide) Guide#nv1 105
+new_2-2,36,176,4 duplicate(NvGuide) Guide#nv2 105
+new_3-2,36,176,4 duplicate(NvGuide) Guide#nv3 105
+new_4-2,36,176,4 duplicate(NvGuide) Guide#nv4 105
+new_5-2,36,176,4 duplicate(NvGuide) Guide#nv5 105
-// Instructor Brade (Real Combat Training)
+// Real Combat Training
//============================================================
-- script Brade#nv::NvBrade 733,{
- if(job_novice_q < 14) {
- mes "[Brade]";
- mes "How did you get here?";
- close2;
- warp "new_1-2",100,100;
- end;
- }
- else if(job_novice_q == 14) {
+- script Brade#newbe04::NvBradeB -1,{
+ if (job_novice_q < 12) {
+ if (job_novice_q < 2) {
+ mes "[Brade]";
+ mes "You have participated on the previous Training Grounds.";
+ mes "The Training Grounds have now come under new management.";
+ next;
+ mes "[Brade]";
+ mes "Do you want to do the basic course,";
+ mes "or do you just want to go through from here?";
+ next;
+ switch(select("Send me to Basic Training.:I'll start from here.")) {
+ case 1:
+ mes "[Brade]";
+ mes "Ok. I'll send you to the basic course.";
+ close2;
+ warp "new_"+charat(strnpcinfo(4),4)+"-2",100,100;
+ end;
+ case 2:
+ mes "[Brade]";
+ mes "Then we will start your training.";
+ mes "I'll write down the registration form.";
+ set job_novice_q,12;
+ close;
+ }
+ } else {
+ mes "[Brade]";
+ mes "I think you came back from theory training course,";
+ mes "can I send you back to there or do you just want to go through from here?";
+ next;
+ switch(select("Send me back to Chocolat.:I'll start from here.")) {
+ case 1:
+ mes "[Brade]";
+ mes "Ok. I'll send you to Chocolat.";
+ close2;
+ warp "new_"+charat(strnpcinfo(4),4)+"-2",41,172;
+ end;
+ case 2:
+ mes "[Brade]";
+ mes "Then we will start your training.";
+ mes "I'll write down the registration form.";
+ set job_novice_q,12;
+ close;
+ }
+ }
+ } else if (job_novice_q == 12) {
mes "[Brade]";
mes "Welcome.";
mes "Now this is real practice.";
@@ -872,113 +1160,163 @@ new_1-2,35,176,4 script Soldier#nv 105,{
next;
mes "[Brade]";
mes "For convenience,";
- mes "^4A4AFFIf you hold down the Ctrl key,^000000";
- mes "while attacking, you will automatically attack.";
+ mes "^4d4dffIf you hold down the Ctrl key,^000000 while attacking, you will automatically attack.";
next;
mes "[Brade]";
- mes "You can also set this mode before battle by typing ^4A4AFF[ /nc ]^000000.";
+ mes "You can also set this mode before battle by typing ^4d4dff[ /nc ]^000000.";
next;
mes "[Brade]";
mes "Then, let's go Poring hunting.";
- mes "Please hunt Poring's on Level 1 of the training grounds.";
+ mes "Please hunt 'Poring's on Level 1 of the training grounds.";
+ set job_novice_q,13;
setquest 7122;
- set job_novice_q,15;
- getitem 569,100; // Novice_Potion
+ getitem 569,100; //Novice_Potion
+ savepoint strnpcinfo(4),96,21;
next;
- mes "^4A4AFF- You've received a quest from Instructor Brade.^000000";
- mes "^4A4AFFPlease check the quest information window. -^000000";
+ mes "^4d4dff- You've received a quest from Instructor Brade.";
+ mes "Please check the quest information window. -^000000";
+ close2;
+ } else if (job_novice_q < 15) {
+ if (job_novice_q == 13) {
+ if (checkquest(7122,HUNTING) == 2) {
+ mes "[Brade]";
+ mes "You can see it is not so hard, huh?";
+ mes "Nice job.";
+ set job_novice_q,14;
+ getitem 13040,1; //N_Cutter
+ getexp 3000,30;
+ completequest 7122;
+ next;
+ } else {
+ mes "[Brade]";
+ mes "Kill enough Porings.";
+ mes "Porings are easy to deal with, so cheer up.";
+ mes "Try again.";
+ npcskill "AL_HEAL",11,99,60;
+ close;
+ }
+ }
+ mes "[Brade]";
+ mes "Now all of the courses are almost done.";
+ mes "You are a Novice, and you can't get any jobs yet.";
+ next;
+ mes "[Brade]";
+ mes "If you acquire all of basic skills with JOB Level 10, you can change your job.";
+ next;
+ mes "[Brade]";
+ mes "The first Job classes are defined into 6 classes.";
+ next;
+ mes "[Brade]";
+ mes "The 6 basic jobs are";
+ mes "Swordman, Thief,";
+ mes "Acolyte, Mage,";
+ mes "Archer and Merchant.";
+ next;
+ mes "[Brade]";
+ mes "Let's experience the basic 6 jobs, Swordman, Thief, Acolyte, Mage, Archer and Merchant and see what those jobs can do.";
+ next;
+ mes "[Brade]";
+ mes "Behind me, there are people dispatched from each of the basic Job Guilds.";
+ mes "These people will give you instruction manuals that allow you to experience some limited skills of each job.";
+ next;
+ mes "[Brade]";
+ mes "Equip a manual of the job which you want to experience, and you will be able to use some basic skills of that corresponding job.";
+ mes "Try those skills and decide which job to choose.";
+ set job_novice_q,15;
close;
- }
- else if(job_novice_q == 15) {
- if(checkquest(7122,HUNTING) == 2) {
- mes "[Brade]";
- mes "You can see it is not so hard, right?";
- mes "Nice job.";
- getitem 13040,1; // N_Cutter
- getexp 1000,0;
- getexp 1000,0;
- getexp 1000,30;
- completequest 7122;
- set job_novice_q,16;
- next;
- mes "[Brade]";
- mes "Now all of the courses are almost done.";
- mes "You are a Novice, and you can't get any jobs yet.";
- next;
- mes "[Brade]";
- mes "If you acquire all of basic skills with Job Level 10, you can change your job.";
- next;
- mes "[Brade]";
- mes "The first job classes are defined into 6 classes.";
- next;
+ } else {
+ mes "[Brade]";
+ mes "Have you tried the skills in the Manuals?";
+ mes "If you want to hear information about each job, talk to the people dispatched by the Job Guilds.";
+ next;
+ mes "[Brade]";
+ mes "I think you've learned enough, do you want to quit and go to your first town?";
+ next;
+ switch(select("I will stay little longer.:I want to quit and go to the town.")) {
+ case 1:
mes "[Brade]";
- mes "The 6 basic jobs are";
- mes "Swordman, Thief,";
- mes "Acolyte, Mage,";
- mes "Archer and Merchant.";
+ mes "It's ok to stay here and practice until you think you are ready.";
next;
mes "[Brade]";
- mes "Let's experience the basic 6 jobs, Swordman, Thief, Acolyte, Mage, Archer and Merchant and see what those jobs can do.";
- next;
+ mes "Try using the job manuals to find out the characteristics of each job's skills.";
+ mes "I will restore your HP and SP... Keep it up.";
+ npcskill "AL_HEAL",11,99,60;
+ percentheal 0,100;
+ close;
+ case 2:
mes "[Brade]";
- mes "Behind me, there are people dispatched from each of the basic Job Guilds.";
- mes "These people will give you instruction manuals that allow you to experience some limited skills of each job.";
+ mes "Looks like you are ready.";
+ mes "I guess you have made up your mind, huh?";
+ mes "Well, where do you want to go?";
next;
- mes "[Brade]";
- mes "Equip a manual of the job which you want to experience, and you will be able to use some basic skills of that corresponding job.";
- mes "Try those skills and decide which job to choose.";
- close;
+ switch(select("Prontera:Morroc:Payon:Alberta:Geffen:Cancel")) {
+ case 1:
+ mes "[Brade]";
+ mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
+ mes "Take care and god bless you on your journey.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "prontera",117,72;
+ warp "prontera",150,50;
+ end;
+ case 2:
+ mes "[Brade]";
+ mes "The Desert Town, Morroc...";
+ mes "There's lots of hidden stories within that town.";
+ mes "Take care.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "morocc",150,99;
+ warp "morocc",155,110;
+ end;
+ case 3:
+ mes "[Brade]";
+ mes "You've selected Payon.";
+ mes "God bless you.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "payon",70,100;
+ warp "payon",166,67;
+ end;
+ case 4:
+ mes "[Brade]";
+ mes "Alberta, the Port City.";
+ mes "It's the main hub of all trades.";
+ mes "If you want to meet with other civilizations, you have to go to Alberta first.";
+ mes "Well then, god bless you on your soul.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "alberta",30,232;
+ warp "alberta",114,58;
+ end;
+ case 5:
+ mes "[Brade]";
+ mes "Geffen, the City of Magic.";
+ mes "Geffen Tower in the middle of the city is nice.";
+ mes "I will send you near the Geffen fountain.";
+ mes "May Goddess Freya bless you.";
+ callfunc "F_NvErase";
+ close2;
+ savepoint "geffen",119,37;
+ warp "geffen",122,65;
+ end;
+ case 6:
+ mes "[Brade]";
+ mes "Yeah... Think with prudence.";
+ mes "...Meet up with the people from each guild.";
+ close;
+ }
}
- mes "[Brade]";
- mes "Kill enough Porings.";
- mes "Porings are easy to deal with, so cheer up.";
- mes "Try again.";
- npcskill "AL_HEAL",10,99,60;
- close;
- }
- mes "[Brade]";
- mes "Have you tried the skills in the Manuals?";
- mes "If you want to hear information about each job, talk to the people dispatched by the Job Guilds.";
- next;
- mes "[Brade]";
- mes "I think you've learned enough, if you want to learn more, then speak to the Eden Group girl next to the Trainers.";
- next;
- mes "[Brade]";
- mes "Try using the job manuals to find out the characteristics of each job's skills.";
- mes "I will restore your HP and SP... Keep it up.";
- npcskill "AL_HEAL",10,99,60;
- close;
-}
-
-new_1-3,96,30,4 duplicate(NvBrade) Brade#nv1 733
-new_2-3,96,30,4 duplicate(NvBrade) Brade#nv2 733
-new_3-3,96,30,4 duplicate(NvBrade) Brade#nv3 733
-new_4-3,96,30,4 duplicate(NvBrade) Brade#nv4 733
-new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
-
-// Job Guides (Real Combat Training)
-//============================================================
-// --------------------------- Deletion Function ------------------------------
-function script F_NvErase {
- if (getarg(0,0)) {
- if (checkquest(7123) == 0 || checkquest(7123) == 1) erasequest 7123;
- if (checkquest(7124) == 0 || checkquest(7124) == 1) erasequest 7124;
- if (checkquest(7126) == 0 || checkquest(7126) == 1) erasequest 7126;
- if (checkquest(7127) == 0 || checkquest(7127) == 1) erasequest 7127;
}
- nude;
- if (countitem(2819)) delitem 2819,1; // Swordsman_Manual
- if (countitem(2820)) delitem 2820,1; // Thief_Manual
- if (countitem(2821)) delitem 2821,1; // Acolyte_Manual
- if (countitem(2822)) delitem 2822,1; // Archer_Manual
- if (countitem(2823)) delitem 2823,1; // Merchant_Manual
- if (countitem(2824)) delitem 2824,1; // Mage_Manual
- return;
}
+new_1-3,96,30,4 duplicate(NvBradeB) Brade#nv1b 733
+new_2-3,96,30,4 duplicate(NvBradeB) Brade#nv2b 733
+new_3-3,96,30,4 duplicate(NvBradeB) Brade#nv3b 733
+new_4-3,96,30,4 duplicate(NvBradeB) Brade#nv4b 733
+new_5-3,96,30,4 duplicate(NvBradeB) Brade#nv5b 733
-// ---------------------------- Swordman Guide -------------------------------
-- script Swordman Guide#nv::NvSwd 728,{
- if(job_novice_q < 16) {
+- script Swordman Guide#newbe10::NvSwordman -1,{
+ if (job_novice_q < 15) {
mes "[Swordman Guildsman]";
mes "I won't help you until you finish Brade's instructions.";
close;
@@ -987,291 +1325,248 @@ function script F_NvErase {
mes "Can I help you?";
next;
switch(select("About Swordman Class.:Job change to Swordman.:Got any quests?:Cancel.")) {
- case 1:
- mes "[Swordman Guildsman]";
- mes "Literally, Swordman means one, who is specialized in wielding swords.";
- mes "But they can also choose to use spears if they so choose.";
- next;
+ case 1:
+ mes "[Swordman Guildsman]";
+ mes "Literally, Swordman means one, who";
+ mes "is specialized in wielding swords.";
+ mes "But they can also choose to use spears if they so choose.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "We possesses strong physical strength.";
+ mes "So naturally we can equip heavy armors and weapons.";
+ mes "Most weapon classes, except for bows and rods,";
+ mes "are equippable by our class.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "The only weakness of the Swordman class is that they cannot use magic spells.";
+ mes "But we've compensated for that by using elemental weapons.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "The merits of being a Swordman is the enormous amount of HP we have.";
+ mes "Most of us can bear the grunt of our enemies' attacks with relative ease.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "And we are unrivaled when it comes to one-on-one melee combat.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Anyone who chooses to be a Swordman will likely play the role of the tank. It is our duty to protect the weak.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "As a Swordman you can advance to a ^8E2323Knight^000000 or ^8E2323Crusader^000000 class as your 2nd class profession.";
+ mes "And just recently third professions have been discovered.";
+ next;
+ if (isequipped(2819) || countitem(2819)) {
mes "[Swordman Guildsman]";
- mes "We possess strong physical strength.";
- mes "So naturally we can equip heavy armors and weapons.";
- mes "Most weapon classes, except for bows and rods, are equippable by our class.";
- next;
+ mes "Try the Swordman skills listed in the manual.";
+ mes "Open your skill menu by pressing Alt + S";
+ mes "Make sure it is in list mode by clicking the minimize button on the top right corner of the Skill Menu.";
+ close;
+ }
+ mes "[Swordman Guildsman]";
+ mes "If you're interested in being a Swordman, I'll offer you this manual.";
+ mes "Do you want to try the skills of a Swordman?";
+ next;
+ switch(select("I'll try the Swordman skills.:No thanks.")) {
+ case 1:
mes "[Swordman Guildsman]";
- mes "The only weakness of the Swordman class is that they cannot use magic spells.";
- mes "But we've compensated for that by using elemental weapons.";
+ mes "Here is the Swordman manual.";
+ mes "I'll just take any manuals from any other classes you have.";
next;
- mes "[Swordman Guildsman]";
- mes "The merits of being a Swordman is the enormous amount of HP we have.";
- mes "Most of us can bear the grunt of our enemies' attacks with relative ease.";
+ callfunc "F_NvErase";
+ getitem 2819,1; //Swordman_Manual
next;
mes "[Swordman Guildsman]";
- mes "And we are unrivaled when it comes to one-on-one melee combat.";
- next;
+ mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
+ mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
+ close;
+ case 2:
mes "[Swordman Guildsman]";
- mes "Anyone who chooses to be a Swordman will likely play the role of the tank. It is our duty to protect the weak.";
- next;
+ mes "Hum. Do you think so?";
+ mes "Ok, I agree with you. Choosing a job is very important in our lives.";
+ mes "Just talk to me whenever you want to experience Swordman skills.";
+ close;
+ }
+ case 2:
+ mes "[Swordman Guildsman]";
+ mes "Do you really want to change your job to Swordman?";
+ mes "If you want to be a Swordman, I'll send you to the Swordman Association immediately.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "I think you have enough job levels, of course, right?";
+ mes "Do you want to stop your training now and go to the Swordman Association?";
+ next;
+ switch(select("I'll consider it again.:I'll go to the Swordman Association.")) {
+ case 1:
mes "[Swordman Guildsman]";
- mes "As a Swordman you can advance to a ^8C2121Knight^000000 or ^8C2121Crusader^000000 class as your 2nd class profession.";
- mes "And just recently third professions have been discovered.";
- if(countitem(2819) == 0 && (getequipid(EQI_ACC_L) != 2819 || getequipid(EQI_ACC_R) != 2819)) {
- next;
- mes "[Swordman Guildsman]";
- mes "If you're interested in being a Swordman, I'll offer you this manual.";
- mes "Do you want to try the skills of a Swordman?";
- next;
- if(select("I'll try the Swordman skills.:No Thanks.") == 2) {
- mes "[Swordman Guildsman]";
- mes "Hum. Do you think so?";
- mes "Ok, I agree with you. Choosing a job is very important in our lives.";
- mes "Just talk to me whenever you want to experience Swordman skills.";
- close;
- }
- mes "[Swordman Guildsman]";
- mes "Here is the Swordman manual.";
- mes "I'll just take any manuals from any other classes you have.";
- callfunc "F_NvErase";
- getitem 2819,1; // Swordsman_Manual
- next;
- mes "[Swordman Guildsman]";
- mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
- mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
- }
+ mes "Please try enough instruction manuals from each job class and consider it carefully.";
+ mes "Of course, you're always welcomed.";
close;
case 2:
mes "[Swordman Guildsman]";
- mes "Do you really want to change your job to Swordman?";
- mes "If you want to be a Swordman, I'll send you to the Swordman Guild immediately.";
+ mes "I see.";
+ mes "Then I'll end your training process and send you to the Swordman Guild.";
+ callfunc "F_NvErase",1;
+ close2;
+ savepoint "izlude",128,98; // Old coordinates: (95,104)
+ warp "izlude_in",74,167;
+ end;
+ }
+ case 3:
+ set .@quest, checkquest(7123);
+ if (.@quest == -1) {
+ mes "[Swordman Guildsman]";
+ mes "You want me to give you a quest?";
+ mes "Umm. Let me see.";
+ mes "Ok! Hunt a couple of Picky monsters around here?";
+ next;
+ mes "^4d4dffYou received a hunting request from a staff of the Swordman Guild.";
+ mes "You can check the contents of the quest from the quest information window.^000000";
+ setquest 7123;
next;
mes "[Swordman Guildsman]";
- mes "I think you have enough job levels, of course, right?";
- mes "Do you want to stop your training now and go to the Swordman Guild?";
+ mes "Use the 'Bash' skill in the Swordman manual.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available Swordman skills.";
next;
- if(select("I'll consider it again.:I'll go to the Swordman Guild.") == 2) {
- mes "[Swordman Guildsman]";
- mes "I see.";
- mes "Then I'll end your training process and send you to the Swordman Guild.";
- close2;
- callfunc "F_NvErase",1;
- savepoint "izlude",94,103;
- warp "izlude_in",74,167;
- end;
- }
mes "[Swordman Guildsman]";
- mes "Please try enough instruction manuals from each job class and consider it carefully.";
- mes "Of course, you're always welcomed.";
+ mes "Talk to Trainer Brutus if you want to fight stronger monsters.";
+ mes "I'll wait for you here.";
+ mes "Wish you a good luck.";
close;
- case 3:
- set .@quest, checkquest(7123);
- if (.@quest == -1) {
- mes "[Swordman Guildsman]";
- mes "You want me to give you a quest?";
- mes "Umm. Let me see.";
- mes "Ok! Hunt a couple of Picky monsters around here.";
- next;
- mes "^4d4dffYou received a hunting request from a staff of the Swordman Guild.";
- mes "You can check the contents of the quest from the quest information window.^000000";
- setquest 7123;
- next;
+ } else if (.@quest == 0 || .@quest == 1) {
+ if (checkquest(7123,HUNTING) == 2) {
mes "[Swordman Guildsman]";
- mes "Use the 'Bash' skill in the Swordman manual.";
- mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available Swordman skills.";
- next;
- mes "[Swordman Guildsman]";
- mes "Talk to Trainer Brutus if you want to fight stronger monsters.";
- mes "I'll wait for you here.";
- mes "Wish you a good luck.";
+ mes "Great.";
+ mes "I think that you're good enough to be a Swordman.";
+ mes "I'll give you some potions as a reward.";
+ completequest 7123;
+ getitem 569,200; //Novice_Potion
+ getexp 5000,100;
close;
- }
- else if (.@quest == 1) {
- if (checkquest(7123,HUNTING) == 2) {
- mes "[Swordman Guildsman]";
- mes "Great.";
- mes "I think that you're good enough to be a Swordman.";
- mes "I'll give you some potions as a reward.";
- completequest 7123;
- getitem 569,200; // Novice_Potion
- getexp 5000,100;
- close;
- }
+ } else {
mes "[Swordman Guildsman]";
mes "Hunt two Picky monsters.";
mes "You can find them in the more difficult training grounds by talking to Trainer Brutus.";
close;
}
- else if (.@quest == 2) {
- mes "[Swordman Guildsman]";
- mes "I think you finished that quest already, right?";
- mes "You'll experience more of these quests as you grow as an adventurer in the world.";
- next;
- mes "[Swordman Guildsman]";
- mes "Your training is now complete.";
- mes "If you choose to become a Swordman I wish you goodluck.";
- close;
- }
+ } else if (.@quest == 2) {
mes "[Swordman Guildsman]";
- mes "I'm sorry but I don't have any quests to give you right now.";
+ mes "I think you finished that quest already, right?";
+ mes "You'll experience more of these quests as you grow as an adventurer in the world.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Your training is now complete.";
+ mes "If you choose to become a Swordman I wish you good luck.";
close;
- case 4:
+ } else {
mes "[Swordman Guildsman]";
- mes "If you have any questions about the Swordman class, please ask me.";
- mes "The Swordman Guild is waiting for novices like you.";
+ mes "I'm sorry but I don't have any quests to give you right now.";
close;
+ }
+ case 4:
+ mes "[Swordman Guildsman]";
+ mes "If you have any questions about the Swordman class, please ask me.";
+ mes "The Swordman Guild is waiting for novices like you.";
+ close;
}
}
+new_1-3,97,41,3 duplicate(NvSwordman) Swordman Guide#nv1 728
+new_2-3,97,41,3 duplicate(NvSwordman) Swordman Guide#nv2 728
+new_3-3,97,41,3 duplicate(NvSwordman) Swordman Guide#nv3 728
+new_4-3,97,41,3 duplicate(NvSwordman) Swordman Guide#nv4 728
+new_5-3,97,41,3 duplicate(NvSwordman) Swordman Guide#nv5 728
-new_1-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv1 728
-new_2-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv2 728
-new_3-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv3 728
-new_4-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv4 728
-new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
-
-// ---------------------------- Mage Guide ----------------------------------
-- script Mage Guide#nv::NvMag 123,{
- if(job_novice_q < 16) {
- mes "[Mage Guild Member]";
- mes "You are still in the process of training with Instructor Brade.";
+- script Acolyte Guide#newbe10::NvAcolyte -1,{
+ if (job_novice_q < 15) {
+ mes "[Prontera Acolyte]";
+ mes "You look like you are not done with Instructor Brade's lessons.";
close;
}
- mes "[Mage Guild Member]";
- mes "What can I help you with?";
+ mes "[Prontera Acolyte]";
+ mes "What can I do for you?";
next;
- switch(select("Tell me about Mages:I want to be a Mage:Give me a Quest:Cancel")) {
+ switch(select("What is an Acolyte?:Job change to Acolyte.:Cancel")) {
case 1:
- mes "[Mage Guild Member]";
- mes "Mages are those who can use magic when they need to protect their friends.";
- mes "Mages can curse enemies using the elements of fire, water, earth and thunder magic.";
+ mes "[Prontera Acolyte]";
+ mes "An Acolyte is someone who worships the goddess Freya sacrificing themselves to help others.";
next;
- mes "[Mage Guild Member]";
- mes "However they cannot equip other weapons but staffs and books.";
- mes "Because they are too delicate to carry heavy weapons.";
+ mes "[Prontera Acolyte]";
+ mes "Acolytes use supportive skills to make combat easier.";
+ mes "It is essential to have an Acolyte in any successful party.";
next;
- mes "[Mage Guild Member]";
- mes "But they can cover this weakness by their remarkable magic skills.";
- mes "That is why many people want to become a Mage!";
+ mes "[Prontera Acolyte]";
+ mes "^8E2323As an Acolyte, you can upgrade your future job to Priest or Monk^8E2323.";
next;
- mes "[Mage Guild Member]";
- mes "Mages have to be in their guild for guild's power and honor.";
- mes "This is one of the reasons why Mages are popular in any parties and guilds.";
- mes "Why don't you become a Mage?";
+ if (isequipped(2821) || countitem(2821)) {
+ mes "[Prontera Acolyte]";
+ mes "Try the Acolyte Skills with the manual you have. It will help you understand the job easier.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available skills.";
+ close;
+ }
+ mes "[Prontera Acolyte]";
+ mes "If you want, I can give you a skill manual to experience what it is like to be an Acolyte.";
+ mes "Would you like to experience the skills of an Acolyte?";
next;
- mes "[Mage Guild Member]";
- mes "^8C2121Mages can transform to Wizards or Sages as their second job.^000000";
- if(countitem(2824) == 0 && (getequipid(EQI_ACC_L) != 2824 || getequipid(EQI_ACC_R) != 2824)) {
- next;
- mes "[Mage Guild Member]";
- mes "Do you want to register to experience how it is to be a Mage?";
- mes "Would you like to test Mage skills?";
- next;
- if(select("I want to test Mage skills.:I don't want to test it.") == 2) {
- mes "[Mage Guild Member]";
- mes "Hum. Do you think so.";
- mes "Ok, I agree with you. Choosing a job is very important in our life.";
- mes "Just talk to me whenever you want to experience Mage skills.";
- close;
- }
- mes "[Mage Guild Member]";
- mes "Here is the Mage Manual.";
- mes "I will take the other job registration forms and manuals from you.";
+ switch(select("Yes, please.:No, I'm not interested.")) {
+ case 1:
+ mes "[Prontera Acolyte]";
+ mes "Here you go, the instruction manual of an Acolyte.";
+ mes "I will take away those other job's manuals while you study this one.";
next;
- mes "[Mage Guild Member]";
- mes "Here is the Mage Manual.";
- mes "I will take the other job registration forms and manuals from you.";
callfunc "F_NvErase";
- getitem 2824,1; // Mage_Manual
+ getitem 2821,1; //Acolyte_Manual
next;
- mes "[Mage Guild Member]";
- mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
- mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
+ mes "[Prontera Acolyte]";
+ mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available skills.";
+ close;
+ case 2:
+ mes "[Prontera Acolyte]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to know about Acolytes.";
+ close;
}
- close;
case 2:
- mes "[Mage Guild Member]";
- mes "You want to be a Mage?";
- mes "Ok, then, I will send you to the Mage Guild union in Geffen right away.";
+ mes "[Prontera Acolyte]";
+ mes "Do you really want to become an Acolyte?";
+ mes "If you do, I will send you to Prontera's Sanctuary.";
next;
- mes "[Mage Guild Member]";
- mes "Wait, have you checked your Job level?";
- mes "Do you want to complete your Novice training and go straight to the Mage Guild's union?";
+ mes "[Prontera Acolyte]";
+ mes "Of course, I assume you have enough job levels to become an Acolyte right?";
+ mes "Would you like to quit the Training Process and go to the Prontera's Sanctuary?";
next;
- if(select("I will think about it again.:Yes, complete my training.") == 2) {
- mes "[Mage Guild Member]";
- mes "Welcome!!";
- mes "I will send you to the Mage Guilds union after you complete your Novice training.";
- close2;
+ switch(select("Let me reconsider.:I will go to the Sanctuary.")) {
+ case 1:
+ mes "[Prontera Acolyte]";
+ mes "You should try out each job's manuals.";
+ mes "Go through them thoroughly and decide carefully.";
+ mes "Of course, I will welcome you anytime.";
+ close;
+ case 2:
+ mes "[Prontera Acolyte]";
+ mes "That's great.";
+ mes "Then I will completely end the Training Process and send you to Prontera's Sanctuary.";
callfunc "F_NvErase",1;
- savepoint "geffen",119,38;
- warp "geffen_in",163,98;
+ close2;
+ savepoint "prontera",117,72;
+ warp "prt_church",172,19;
end;
}
- mes "[Mage Guild Member]";
- mes "Please test what Mage skills are all about before you decide.";
- mes "We are always welcome to have you!";
- close;
case 3:
- set .@quest, checkquest(7124);
- if (.@quest == -1) {
- mes "[Mage Guild Member]";
- mes "Huh? Quest?";
- mes "Hmm... What would be suited for you...?";
- mes "Would you like to hunt Lunatics by using Bolt skills?";
- next;
- mes "^4d4dffYou have received a Hunting quest from the Mage Guide.";
- mes "You can get more information about the quest from the quest window.^000000";
- setquest 7124;
- next;
- mes "[Mage Guild Member]";
- mes "You are able to use 'Fire Bolt' skill that is shown on the Mage manual.";
- mes "I will wait for you here.";
- mes "Good luck!";
- close;
- }
- else if (.@quest == 1) {
- if (checkquest(7124,HUNTING) == 2) {
- mes "[Mage Guild Member]";
- mes "You have done excellent job.";
- mes "So, did you find any interests about Mages?";
- mes "Alright. I will give something...";
- mes "Here are Novice Butterfly Wings, please take them.";
- completequest 7124;
- getitem 12324, 30; // N_Butterfly_Wing
- getexp 5000,100;
- close;
- }
- mes "[Mage Guild Member]";
- mes "The quest is that you have to";
- mes "hunt Lunatics and bring 5 clovers.";
- close;
- }
- else if (.@quest == 2) {
- mes "[Mage Guild Member]";
- mes "You have already completed the quest.";
- mes "Once you enter the main world, you can get various exciting quests there!";
- next;
- mes "[Mage Guild Member]";
- mes "This should be enough for your training.";
- close;
- }
- mes "[Mage Guild Member]";
- mes "I'm sorry but I don't have any quests to give you right now.";
- close;
- case 4:
- mes "[Mage Guild Member]";
- mes "If you have any questions about Mages, feel free to ask me.";
- mes "I think you could be a intelligent Mage...";
+ mes "[Prontera Acolyte]";
+ mes "If you have any questions about Acolytes, please ask me anytime.";
+ mes "Our God, Odin awaits adventurers like you.";
close;
}
}
+new_1-3,101,41,3 duplicate(NvAcolyte) Acolyte Guide#nv1 95
+new_2-3,101,41,3 duplicate(NvAcolyte) Acolyte Guide#nv2 95
+new_3-3,101,41,3 duplicate(NvAcolyte) Acolyte Guide#nv3 95
+new_4-3,101,41,3 duplicate(NvAcolyte) Acolyte Guide#nv4 95
+new_5-3,101,41,3 duplicate(NvAcolyte) Acolyte Guide#nv5 95
-new_1-3,101,41,4 duplicate(NvMag) Mage Guide#nv1 123
-new_2-3,101,41,4 duplicate(NvMag) Mage Guide#nv2 123
-new_3-3,101,41,4 duplicate(NvMag) Mage Guide#nv3 123
-new_4-3,101,41,4 duplicate(NvMag) Mage Guide#nv4 123
-new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
-
-// ---------------------------- Thief Guide ---------------------------------
-- script Thief Guide#nv::NvThf 118,{
- if(job_novice_q < 16) {
+- script Thief Guide#newbe10::NvThief -1,{
+ if (job_novice_q < 15) {
mes "[Thief Guild Member]";
mes "You look like you are not done with Instructor Brade's lessons.";
close;
@@ -1290,39 +1585,41 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "They are also feared for their use of poison, which slowly weakens their enemies.";
next;
mes "[Thief Guild Member]";
- mes "In jeopardy, or in the case that thieves do not want to reveal themselves, they can use their skill to hide themselves easily.";
+ mes "In jeopardy, or in the case that thieves do not want to reveal themselves,";
+ mes "they can even use their skill to hide themselves easily.";
next;
mes "[Thief Guild Member]";
- mes "Thieves can change their jobs to ^8C2121Assassins^000000 or ^8C2121Rogues.^000000";
- if(countitem(2820) == 0 && (getequipid(EQI_ACC_L) != 2820 || getequipid(EQI_ACC_R) != 2820)) {
- next;
+ mes "Thieves can change their jobs to ^8E2323Assassins^000000 or ^8E2323Rogues^000000.";
+ next;
+ if (isequipped(2820) || countitem(2820)) {
mes "[Thief Guild Member]";
- mes "If you want, I'll give you a Thief skill manual.";
- mes "Would you like to experience the skills of a Thief?";
- next;
- if(select("Yes, I would.:No, I don't.") == 2) {
- mes "[Thief Guild Member]";
- mes "Oh, are you sure?";
- mes "Class selection is very important so please consider it carefully.";
- mes "If you want to ask about Thieves, please talk to me any time.";
- close;
- }
+ mes "The class manual can help you understand what it is to be a Thief by using the skills that are essential to all Thieves.";
+ close;
+ }
+ mes "[Thief Guild Member]";
+ mes "If you want, I'll give you a Thief skill manual.";
+ mes "Would you like to experience the skills of a Thief?";
+ next;
+ switch(select("Yes, I would.:No, I don't.")) {
+ case 1:
mes "[Thief Guild Member]";
mes "Here, please take the Thief manual.";
mes "I'll just take the other class manuals while I'm at it.";
next;
- mes "[Thief Guild Member]";
- mes "Here, please take the Thief manual.";
- mes "I'll just take the other class manuals while I'm at it.";
callfunc "F_NvErase";
- getitem 2820,1; // Thief_Manual
+ getitem 2820,1; //Thief_Manual
next;
mes "[Thief Guild Member]";
mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
- mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available skills.";
+ close;
+ case 2:
+ mes "[Thief Guild Member]";
+ mes "Oh, are you sure?";
+ mes "Class selection is very important so please consider it carefully.";
+ mes "If you want to ask about Thieves, please talk to me any time.";
+ close;
}
- close;
-
case 2:
mes "[Thief Guild Member]";
mes "Do you really want to be a Thief?";
@@ -1332,20 +1629,22 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "You already reached the required job level, didn't you?";
mes "Do you want to finish the Novice training and go to the Thief Guild?";
next;
- if(select("Let me consider it again.:Yes, I do.") == 2) {
+ switch(select("Let me consider it again.:Yes, I do.")) {
+ case 1:
+ mes "[Thief Guild Member]";
+ mes "Have you tried all of the class manuals yet?";
+ mes "If you're undecided what job to take on I suggest you try talking to all the Guides first.";
+ close;
+ case 2:
mes "[Thief Guild Member]";
mes "Ok, I see.";
mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately.";
- close2;
callfunc "F_NvErase",1;
- savepoint "morocc",150,100;
+ close2;
+ savepoint "morocc",150,99;
warp "moc_prydb1",99,185;
end;
}
- mes "[Thief Guild Member]";
- mes "Have you tried all of the class manuals yet?";
- mes "If you're undecided what job to take on I suggest you try talking to all the Guides first.";
- close;
case 3:
set .@quest, checkquest(7127);
if (.@quest == -1) {
@@ -1363,52 +1662,50 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "If you equip the Thief manual, you can have the effect of the skill, Double Attack.";
mes "Double Attack and Hide are the main skills of the Thief.";
close;
- }
- else if (.@quest == 1) {
+ } else if (.@quest == 0 || .@quest == 1) {
if (checkquest(7127,HUNTING) == 2) {
mes "[Thief Guild Member]";
mes "You are very strong.";
mes "These are not many but let me give you a reward for your effort.";
completequest 7127;
- getitem 12323, 50; // N_Fly_Wing
+ getitem 12323,50; //N_Fly_Wing
getexp 5000,100;
close;
+ } else {
+ mes "[Thief Guild Member]";
+ mes "Hunt 5 Willows and then come talk to me to finish your quest.";
+ close;
}
- mes "[Thief Guild Member]";
- mes "Hunt 5 Willows and then come talk to me to finish your quest.";
- close;
- }
- else if (.@quest == 2) {
+ } else if (.@quest == 2) {
mes "[Thief Guild Member]";
mes "I think you finished that quest already, right?";
mes "You'll experience more of these quests as you grow as an adventurer in the world.";
next;
mes "[Thief Guild Member]";
mes "Your training is now complete.";
- mes "If you choose to become a Thief I wish you goodluck.";
+ mes "If you choose to become a Thief I wish you good luck.";
+ close;
+ } else {
+ mes "[Thief Guild Member]";
+ mes "I'm sorry but I don't have any quests to give you right now.";
close;
}
- mes "[Thief Guild Member]";
- mes "I'm sorry but I don't have any quests to give you right now.";
- close;
case 4:
mes "[Thief Guild Member]";
mes "If you have something to ask about the Thief job, feel free to ask me.";
close;
}
}
+new_1-3,105,41,3 duplicate(NvThief) Thief Guide#nv1 118
+new_2-3,105,41,3 duplicate(NvThief) Thief Guide#nv2 118
+new_3-3,105,41,3 duplicate(NvThief) Thief Guide#nv3 118
+new_4-3,105,41,3 duplicate(NvThief) Thief Guide#nv4 118
+new_5-3,105,41,3 duplicate(NvThief) Thief Guide#nv5 118
-new_1-3,105,41,4 duplicate(NvThf) Thief Guide#nv1 118
-new_2-3,105,41,4 duplicate(NvThf) Thief Guide#nv2 118
-new_3-3,105,41,4 duplicate(NvThf) Thief Guide#nv3 118
-new_4-3,105,41,4 duplicate(NvThf) Thief Guide#nv4 118
-new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
-
-// ---------------------------- Merchant Guide ------------------------------
-- script Merchant Guide#nv::NvMer 97,{
- if(job_novice_q < 16) {
+- script Merchant Guide#newbe10::NvMerchant -1,{
+ if (job_novice_q < 15) {
mes "[Merchant Guildsman]";
- mes "You are still in the process of training with sir Brade.";
+ mes "You are still in the process of training with sir Brad.";
close;
}
mes "[Merchant Guildsman]";
@@ -1417,46 +1714,50 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
switch(select("Tell me about Merchants:I want to be a Merchant.:Give me a Quest.:Cancel")) {
case 1:
mes "[Merchant Guildsman]";
- mes "Merchant? Simply put, they sell goods and make money.";
+ mes "Merchant? Simply put, he sells goods and makes money.";
mes "That's the main focus for any Merchant.";
next;
mes "[Merchant Guildsman]";
mes "We have special skills for making money.";
- mes "We can buy goods at a lower price and sell them at a higher price.";
+ mes "We can buy goods at a lower price";
+ mes "and sell them at a higher price.";
next;
mes "[Merchant Guildsman]";
- mes "Also Merchants can have Carts that we can store lots of items in.";
+ mes "Also Merchants can have Carts";
+ mes "that we can store lots of items in.";
next;
mes "[Merchant Guildsman]";
- mes "^8C2121Merchants can transform to a Blacksmith or an Alchemist^000000 as their second job.";
- if(countitem(2823) == 0 && (getequipid(EQI_ACC_L) != 2823 || getequipid(EQI_ACC_R) != 2823)) {
- next;
+ mes "^8E2323Merchants can transform to a Blacksmith";
+ mes "^8E2323or an Alchemist^000000 as their second job.";
+ next;
+ if (isequipped(2823) || countitem(2823)) {
mes "[Merchant Guildsman]";
- mes "Do you wan to see what it's like to be a Merchant?";
- next;
- if(select("I want to test Merchant skills.:I don't want to test it.") == 2) {
- mes "[Merchant Guildsman]";
- mes "Hum. Do you think so?";
- mes "Ok, I agree with you. Choosing a job is very important in our life.";
- mes "Just talk to me whenever you want to experience Merchant skills.";
- close;
- }
+ mes "I think you should test Merchant skills before you decide what to do.";
+ close;
+ }
+ mes "[Merchant Guildsman]";
+ mes "Do you want to see what it's like to be a Merchant?";
+ next;
+ switch(select("I want to test Merchant skills.:I don't want to test it.")) {
+ case 1:
mes "[Merchant Guildsman]";
mes "Here is the Merchant skill manual.";
mes "I will take other job manuals from you while I'm at it.";
next;
- mes "[Merchant Guildsman]";
- mes "Here is the Merchant skill manual.";
- mes "I will take other job manuals from you while I'm at it.";
callfunc "F_NvErase";
- getitem 2823,1; // Merchant_Manual
+ getitem 2823,1; //Merchant_Manual
next;
mes "[Merchant Guildsman]";
mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
- mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available skills.";
+ close;
+ case 2:
+ mes "[Merchant Guildsman]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Merchant skills.";
+ close;
}
- close;
-
case 2:
mes "[Merchant Guildsman]";
mes "You want to be a Merchant?";
@@ -1466,20 +1767,22 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "Wait, have you checked your Job level?";
mes "Do you want to complete your Novice training and go straight to the Merchant Guild's union?";
next;
- if(select("I will think about it again.:Yes, I want to go to the Merchant Guild's union.") == 2) {
+ switch(select("I will think about it again.:Yes, I want to go to the Merchant Guild's union")) {
+ case 1:
mes "[Merchant Guildsman]";
- mes "Welcome!!";
- mes "I will send you to the Merchant Guild's union after you complete your Novice training.";
- close2;
+ mes "Ok, I hope you consider being a Merchant.";
+ mes "We are always welcome to have you!";
+ close;
+ case 2:
+ mes "[Merchant Guildsman]";
+ mes "That's great.";
+ mes "Then I will end the Training Process and send you to the Merchant Guild's union immediately.";
callfunc "F_NvErase",1;
- savepoint "alberta",29,231;
+ close2;
+ savepoint "alberta",30,232;
warp "alberta_in",62,44;
end;
}
- mes "[Merchant Guildsman]";
- mes "Ok, I hope you consider being a Merchant.";
- mes "We are always welcome to have you!";
- close;
case 3:
set .@quest, checkquest(7126);
if (.@quest == -1) {
@@ -1492,12 +1795,12 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "If you equipped the Merchant manual you have the ability to use the 'Overcharge' and 'Discount' skills.";
setquest 7126;
next;
+ mes "[Merchant Guildsman]";
mes "I will wait for you here.";
mes "Good luck!";
close;
- }
- else if (.@quest == 1) {
- if (Zeny > 299) {
+ } else if (.@quest == 0 || .@quest == 1) {
+ if (Zeny >= 300) {
mes "[Merchant Guildsman]";
mes "Excellent!";
mes "Zeny is the currency of Rune-Midgard.";
@@ -1513,23 +1816,23 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "Alright! What about Phracon?";
mes "Phracon is a metallic element which you can use for refining weapons.";
completequest 7126;
- getitem 1010,7; // Phracon
+ getitem 1010,7; //Phracon
getexp 5000,100;
close;
+ } else {
+ mes "[Merchant Guildsman]";
+ mes "Zeny is the currency of Rune-Midgard.";
+ mes "You can make zeny by selling loot as well as through making smart business decisions.";
+ next;
+ mes "[Merchant Guildsman]";
+ mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!";
+ mes "What a valuable job it is! Isn't it?";
+ next;
+ mes "[Merchant Guildsman]";
+ mes "Why don't you try to be a Merchant? Making money is not easy but it will be a great experience!";
+ close;
}
- mes "[Merchant Guildsman]";
- mes "Zeny is the currency of Rune-Midgard.";
- mes "You can make zeny by selling loot as well as through making smart business decisions.";
- next;
- mes "[Merchant Guildsman]";
- mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!";
- mes "What a valuable job it is! Isn't it?";
- next;
- mes "[Merchant Guildsman]";
- mes "Why don't you try to be a Merchant? Making money is not easy but it will be a great experience!";
- close;
- }
- else if (.@quest == 2) {
+ } else if (.@quest == 2) {
mes "[Merchant Guildsman]";
mes "You have already completed the quest.";
mes "Once you enter the main world, you can get various exciting quests there!";
@@ -1537,10 +1840,11 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "[Merchant Guildsman]";
mes "I think you're strong enough now to change your job right? Hahahaha don't waste too much time here Novice.";
close;
+ } else {
+ mes "[Merchant Guildsman]";
+ mes "I'm sorry but I don't have any quests to give you right now.";
+ close;
}
- mes "[Merchant Guildsman]";
- mes "I'm sorry but I don't have any quests to give you right now.";
- close;
case 4:
mes "[Merchant Guildsman]";
mes "If you have any questions about Merchants, feel free to ask me.";
@@ -1548,197 +1852,266 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
close;
}
}
+new_1-3,109,41,3 duplicate(NvMerchant) Merchant Guide#nv1 97
+new_2-3,109,41,3 duplicate(NvMerchant) Merchant Guide#nv2 97
+new_3-3,109,41,3 duplicate(NvMerchant) Merchant Guide#nv3 97
+new_4-3,109,41,3 duplicate(NvMerchant) Merchant Guide#nv4 97
+new_5-3,109,41,3 duplicate(NvMerchant) Merchant Guide#nv5 97
-new_1-3,109,41,4 duplicate(NvMer) Merchant Guide#nv1 97
-new_2-3,109,41,4 duplicate(NvMer) Merchant Guide#nv2 97
-new_3-3,109,41,4 duplicate(NvMer) Merchant Guide#nv3 97
-new_4-3,109,41,4 duplicate(NvMer) Merchant Guide#nv4 97
-new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
-
-// ---------------------------- Archer Guide --------------------------------
-- script Archer Guide#nv::NvArc 727,{
- if(job_novice_q < 16) {
- mes "[Archer Guide]";
+- script Archer Guide#newbe10::NvArcher -1,{
+ if (job_novice_q < 15) {
+ mes "[Archer Guildsman]";
mes "You are still in the process of training with sir Brade.";
close;
}
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "What can I help you with?";
next;
switch(select("Tell me about Archers:I want to be an Archer:Cancel")) {
case 1:
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "Archers have specialized skills by using a Bow and have a variety of powerful skills.";
mes "Archers are good at staying back and picking off their targets.";
next;
- mes "[Archer Guide]";
- mes "Archers don't have great vitality so they have to keep their distance from enemies.";
+ mes "[Archer Guildsman]";
+ mes "Archers don't have great";
+ mes "vitality so they have to keep";
+ mes "their distance from enemies.";
next;
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "On the other hand, Archers are attentive and have incredibly accurate eyes.";
mes "So once they are ready to attack, they can kill enemies before they're even aware of their presence.";
next;
- mes "[Archer Guide]";
- mes "^8C2121Archers can transform to many second jobs like a Hunter.^000000";
- mes "^8C2121Besides Hunters, Archers can transform to a Bard, if they are male.^000000";
- mes "^8C2121They can transform to a Dancer, if they are female.^000000";
- if(countitem(2822) == 0 && (getequipid(EQI_ACC_L) != 2822 || getequipid(EQI_ACC_R) != 2822)) {
- next;
- mes "[Archer Guide]";
- mes "Do you want to register to test skill experience?";
- mes "Would you like to test Archer skills?";
- next;
- if(select("I want to test Archer skills.:I don't want to test it.") == 2) {
- mes "[Archer Guide]";
- mes "Hum. Do you think so.";
- mes "Ok, I agree with you. Choosing a job is very important in our life.";
- mes "Just talk to me whenever you want to experience Archer skills.";
- close;
- }
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
+ mes "^8E2323Archers can transform to many second jobs like a Hunter.";
+ mes "Besides Hunters, Archers can transform to a Bard, if they are male.";
+ mes "They can transform to a Dancer, if they are female^000000.";
+ next;
+ if (isequipped(2822) || countitem(2822)) {
+ mes "[Archer Guildsman]";
+ mes "I think you should test Archer skills before you decide what to do.";
+ mes "I can provide you our test skill manual.";
+ close;
+ }
+ mes "[Archer Guildsman]";
+ mes "Do you want to register to test skill experience?";
+ mes "Would like to test Archer skills?";
+ next;
+ switch(select("I want to test Archer skills.:I don't want to test it.")) {
+ case 1:
+ mes "[Archer Guildsman]";
mes "Here is the Archer manual.";
mes "I will take the other job manuals from you while you test the Archer manual out.";
next;
- mes "[Archer Guide]";
- mes "I will take the other job manuals from you while you test the Archer manual out.";
callfunc "F_NvErase";
- getitem 2822,1; // Archer_Manual
+ getitem 2822,1; //Archer_Manual
next;
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
- mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ mes "Open your Skill Tree by pressing ^4d4dffAlt + S^000000 and minimize the window by pressing the ^4d4dff'-'^000000 button on the top right corner of the window to see the available skills.";
+ close;
+ case 2:
+ mes "[Archer Guildsman]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Archer skills.";
+ close;
}
- close;
case 2:
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "You want to be an Archer?";
mes "Ok, then, I will send you to the Archer Guild right away.";
next;
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "Wait, have you checked your Job level?";
mes "Do you want to complete the Novice training arena and go to the Archer Guild right now?";
next;
- if(select("I will think about it again.:Yes, I want to go to the Archer Guild's union.") == 2) {
- mes "[Archer Guide]";
- mes "Welcome!!";
- mes "I will send you to the Archer Guild after you complete your Novice training.";
- close2;
+ switch(select("I will think about it again.:Yes, I want to go to the Archer Guilds union")) {
+ case 1:
+ mes "[Archer Guildsman]";
+ mes "Test out all the jobs if you have to but choose Archer because we're the best.";
+ mes "We are always welcome to have you!";
+ close;
+ case 2:
+ mes "[Archer Guildsman]";
+ mes "That's great.";
+ mes "Then I will completely end the Training Process and send you to the Archer Guild.";
callfunc "F_NvErase",1;
+ close2;
savepoint "payon",256,242;
warp "payon_in02",64,65;
end;
}
- mes "[Archer Guide]";
- mes "Test out all the jobs if you have to but choose Archer because we're the best.";
- mes "We are always welcome to have you!";
- close;
case 3:
- mes "[Archer Guide]";
+ mes "[Archer Guildsman]";
mes "If you have any questions about Archers, feel free to ask me.";
mes "I think you could be a strong Archer young Novice.";
close;
}
}
+new_1-3,113,41,3 duplicate(NvArcher) Archer Guide#nv1 727
+new_2-3,113,41,3 duplicate(NvArcher) Archer Guide#nv2 727
+new_3-3,113,41,3 duplicate(NvArcher) Archer Guide#nv3 727
+new_4-3,113,41,3 duplicate(NvArcher) Archer Guide#nv4 727
+new_5-3,113,41,3 duplicate(NvArcher) Archer Guide#nv5 727
-new_1-3,113,41,4 duplicate(NvArc) Archer Guide#nv1 727
-new_2-3,113,41,4 duplicate(NvArc) Archer Guide#nv2 727
-new_3-3,113,41,4 duplicate(NvArc) Archer Guide#nv3 727
-new_4-3,113,41,4 duplicate(NvArc) Archer Guide#nv4 727
-new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
-
-// ---------------------------- Acolyte Guide -------------------------------
-- script Acolyte Guide#nv::NvAco 95,{
- if(job_novice_q < 16) {
- mes "[Prontera Acolyte]";
- mes "You look like you are not done with Instructor Brade's lessons.";
+- script Mage Guide#newbe10::NvMage -1,{
+ if (job_novice_q < 15) {
+ mes "[Mage Guild Member]";
+ mes "You are still in the process of training with Instructor Brade.";
close;
}
- mes "[Prontera Acolyte]";
- mes "What can I do for you?";
+ mes "[Mage Guild Member]";
+ mes "What can I help you with?";
next;
- switch(select("What is an Acolyte?:Job change to Acolyte:Cancel")) {
+ switch(select("Tell me about Mages:I want to be a Mage:Give me a Quest:Cancel")) {
case 1:
- mes "[Prontera Acolyte]";
- mes "An Acolyte is someone who worships the goddess Freya sacrificing themselves to help others.";
+ mes "[Mage Guild Member]";
+ mes "Mages are those who can use magic when they need to protect their friends.";
+ mes "Mages can curse enemies using the elements of fire, water, earth and thunder magic.";
next;
- mes "[Prontera Acolyte]";
- mes "Acolytes use supportive skills to make combat easier.";
- mes "It is essential to have an Acolyte in any successful party.";
+ mes "[Mage Guild Member]";
+ mes "However they cannot equip other weapons but staffs and books.";
+ mes "Because they are too delicate";
+ mes "to carry heavy weapons.";
next;
- mes "[Prontera Acolyte]";
- mes "^8C2121As an Acolyte, you can upgrade your future job to Priest or Monk.^000000";
+ mes "[Mage Guild Member]";
+ mes "But they can cover this weakness";
+ mes "by their remarkable magic skills.";
+ mes "That is why many people want";
+ mes "to become a Mage!";
next;
- mes "[Prontera Acolyte]";
- if(countitem(2821) == 0 && (getequipid(EQI_ACC_L) != 2821 || getequipid(EQI_ACC_R) != 2821)) {
- next;
- mes "[Prontera Acolyte]";
- mes "If you want, I can give you a skill manual to experience what it is like to be an Acolyte.";
- mes "Would you like to experience the skills of an Acolyte?";
- next;
- if(select("Yes, please.:No I'm not interested.") == 2) {
- mes "[Prontera Acolyte]";
- mes "Hum. Do you think so.";
- mes "Ok, I agree with you. Choosing a job is very important in our life.";
- mes "Just talk to me whenever you want to know about Acolytes.";
- close;
- }
- mes "[Prontera Acolyte]";
- mes "Here you go, the instruction manual of an Acolyte.";
- mes "I will take away those other job's manuals while you study this one.";
+ mes "[Mage Guild Member]";
+ mes "Mages have to be in their guild for guild's power and honor.";
+ mes "This is one of reasons why Mages are popular in any parties and guilds.";
+ mes "Why don't you become a Mage?";
+ next;
+ mes "[Mage Guild Member]";
+ mes "^8E2323Mages can transform to Wizards";
+ mes "^8E2323or Sages as their second job^000000.";
+ next;
+ if (isequipped(2824) || countitem(2824)) {
+ mes "[Mage Guild Member]";
+ mes "I think you should test Mage skills before you decide what to do.";
+ mes "I can provide you with our test skill registration form.";
+ close;
+ }
+ mes "[Mage Guild Member]";
+ mes "Do you want to register to experience how it is to be a Mage?";
+ mes "Would you like to test Mage skills?";
+ next;
+ switch(select("I want to test Mage skills.:I don't want to test it.")) {
+ case 1:
+ mes "[Mage Guild Member]";
+ mes "Here is the Mage Manual.";
+ mes "I will take the other job registration forms and manuals from you.";
next;
- mes "[Prontera Acolyte]";
- mes "Here you go, the instruction manual of an Acolyte.";
- mes "I will take away those other job's manuals while you study this one.";
callfunc "F_NvErase";
- getitem 2821,1; // Acolyte_Manual
+ getitem 2824,1; //Mage_Manual
next;
- mes "[Prontera Acolyte]";
- mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
- mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimizing the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ mes "[Mage Guild Member]";
+ mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
+ mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
+ close;
+ case 2:
+ mes "[Mage Guild Member]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Mage skills.";
+ close;
}
- close;
case 2:
- mes "[Prontera Acolyte]";
- mes "Of course, I assume you have enough job levels to become an Acolyte right?";
- mes "Would you like to quit the Training Process and go to the Cathedral of Prontera?";
+ mes "[Mage Guild Member]";
+ mes "You want to be a Mage?";
+ mes "Ok, then, I will send you to the Mage Guild union in Geffen right away.";
next;
- if(select("Let me reconsider.:I will go to the Cathedral.") == 2) {
- mes "[Prontera Acolyte]";
+ mes "[Mage Guild Member]";
+ mes "Wait, have you checked your Job level?";
+ mes "Do you want to complete your Novice training and go straight to the Mage Guild's union?";
+ next;
+ switch(select("I will think about it again.:Yes, complete my training.")) {
+ case 1:
+ mes "[Mage Guild Member]";
+ mes "Please test what Mage skills are all about before you decide.";
+ mes "We are always welcome to have you!";
+ close;
+ case 2:
+ mes "[Mage Guild Member]";
mes "That's great.";
- mes "Then I will completely end the Training Process and send you to the Cathedral of Prontera.";
- close2;
+ mes "Then I will end the Training Process and send you to the Mage Guild union in Geffen right away.";
callfunc "F_NvErase",1;
- savepoint "prontera",117,72;
- warp "prt_church",172,19;
+ close2;
+ savepoint "geffen",119,37;
+ warp "geffen_in",163,98;
end;
}
- mes "[Prontera Acolyte]";
- mes "You should try out each job's manuals.";
- mes "Go through them throughly and decide carefully.";
- mes "Of course, I will welcome you anytime.";
- close;
case 3:
- mes "[Prontera Acolyte]";
- mes "If you have any questions about Acolytes, please ask me anytime.";
- mes "Our God, Odin awaits adventurers like you";
+ set .@quest, checkquest(7124);
+ if (.@quest == -1) {
+ mes "[Mage Guild Member]";
+ mes "Huh? Quest?";
+ mes "Hmm... What would be suited for you...?";
+ mes "Would you like to hunt Lunatics by using Bolt skills?";
+ next;
+ mes "^4d4dffYou have received a Hunting quest from the Mage Guide.";
+ mes "You can get more information about the quest from the quest window.^000000";
+ setquest 7124;
+ next;
+ mes "[Mage Guild Member]";
+ mes "You are able to use 'Fire Bolt' skill that is shown on the Mage manual.";
+ mes "I will wait for you here.";
+ mes "Good luck!";
+ close;
+ } else if (.@quest == 0 || .@quest == 1) {
+ if (checkquest(7124,HUNTING) == 2) {
+ mes "[Mage Guild Member]";
+ mes "You have done an excellent job.";
+ mes "So, did you find any interests about Mages?";
+ mes "Alright. I will give something...";
+ mes "Here are Novice Butterfly Wings, please take them.";
+ completequest 7124;
+ getitem 12324,30; //N_Butterfly_Wing
+ getexp 5000,100;
+ close;
+ } else {
+ mes "[Mage Guild Member]";
+ mes "The quest is that you have to";
+ mes "hunt Lunatics and bring 5 clovers.";
+ close;
+ }
+ } else if (.@quest == 2) {
+ mes "[Mage Guild Member]";
+ mes "You have already completed the quest.";
+ mes "Once you enter the main world, you can get various exciting quests there!";
+ next;
+ mes "[Mage Guild Member]";
+ mes "This should be enough for your training.";
+ close;
+ } else {
+ mes "[Mage Guild Member]";
+ mes "I'm sorry but I don't have any quests to give you right now.";
+ close;
+ }
+ case 4:
+ mes "[Mage Guild Member]";
+ mes "If you have any questions about Mages, feel free to ask me.";
+ mes "I think you could be a intelligent Mage...";
close;
}
}
+new_1-3,117,41,3 duplicate(NvMage) Mage Guide#nv1 123
+new_2-3,117,41,3 duplicate(NvMage) Mage Guide#nv2 123
+new_3-3,117,41,3 duplicate(NvMage) Mage Guide#nv3 123
+new_4-3,117,41,3 duplicate(NvMage) Mage Guide#nv4 123
+new_5-3,117,41,3 duplicate(NvMage) Mage Guide#nv5 123
-new_1-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv1 95
-new_2-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv2 95
-new_3-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv3 95
-new_4-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv4 95
-new_5-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv5 95
-
-// ---------------------------- Bruce (Extended Jobs) -----------------------
-- script Bruce#nv::NvBruce 57,{
+- script Bruce#nv::NvBruce -1,{
mes "[Bruce]";
mes "Hello?";
mes "I'm here to guide you about extra jobs and special classes.";
next;
mes "[Bruce]";
- mes "For special classes, there are Taekwon, Ninja, Super Novice, and Gunslinger.";
+ mes "For special classes, there are Taekwon Boy, Taekwon Girl, Ninja, Supernovice, Gunslinger.";
mes "Which job description do you want to hear?";
next;
while(1) {
@@ -1783,24 +2156,23 @@ new_5-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv5 95
break;
case 5:
mes "[Bruce]";
- mes "If you need more information, you can always go to";
- mes "'iro.ragnarokonline.com'";
+ mes "If you need more information,";
+ mes "you can always go to ^2F4F4F'www.ragnarok.co.kr'^000000";
close;
}
}
}
+new_1-3,121,41,3 duplicate(NvBruce) Bruce#nv1 57
+new_2-3,121,41,3 duplicate(NvBruce) Bruce#nv2 57
+new_3-3,121,41,3 duplicate(NvBruce) Bruce#nv3 57
+new_4-3,121,41,3 duplicate(NvBruce) Bruce#nv4 57
+new_5-3,121,41,3 duplicate(NvBruce) Bruce#nv5 57
-new_1-3,121,41,4 duplicate(NvBruce) Bruce#nv1 57
-new_2-3,121,41,4 duplicate(NvBruce) Bruce#nv2 57
-new_3-3,121,41,4 duplicate(NvBruce) Bruce#nv3 57
-new_4-3,121,41,4 duplicate(NvBruce) Bruce#nv4 57
-new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
-
-//============================================================================
-// Eden Group Officer (Real Combat Training)
-//============================================================================
-- script Eden Group Officer#nv::NvEdn -1,{
- if(BaseLevel < 10) {
+// Eden Group Officer (iRO only)
+//============================================================
+/*
+- script Eden Group Officer::NvEden -1,{
+ if (BaseLevel < 10) {
mes "[Eden Group Officer]";
mes "Hello, I am a representative of the Eden Group.";
mes "We are here to assist adventurers in Rune Midgard.";
@@ -1815,79 +2187,78 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "Speak to me again once you have reached Base Level 10 and I will send you out of the training grounds.";
mes "Have you taken the quests from all of the Guides yet?";
close;
- }else{
+ }
+ mes "[Eden Group Officer]";
+ mes "Great! You are ready to take on the challenges of the world.";
+ mes "What would you like to do?";
+ next;
+ switch(select("I want to leave the training grounds:Tell me about the towns.:Cancel")) {
+ case 1:
+ mes "[Eden Group Officer]";
+ mes "Looks like you are ready.";
+ mes "I guess you have made up your mind, huh?";
+ next;
mes "[Eden Group Officer]";
- mes "Great! You are ready to take on the challenges of the world.";
- mes "What would you like to do?";
+ mes "If you know what job you want to change to, you should ask the ^4A4AFFJob Guides^000000 to send you out of the training grounds.";
+ mes "What town would you like to go to?";
next;
- switch(select("I want to leave the training grounds:Tell me about the towns.:Cancel")) {
+ switch(select("Prontera:Morocc:Payon:Alberta:Geffen:Cancel")) {
case 1:
mes "[Eden Group Officer]";
- mes "Looks like you are ready.";
- mes "I guess you have made up your mind, huh?";
- next;
- mes "[Eden Group Officer]";
- mes "If you know what job you want to change to, you should ask the ^4A4AFFJob Guides^000000 to send you out of the training grounds.";
- mes "What town would you like to go to?";
- next;
- switch(select("Prontera:Morocc:Payon:Alberta:Geffen:Cancel")) {
- case 1:
- mes "[Eden Group Officer]";
- mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
- mes "Take care and may Freya bless you on your journey.";
- callsub S_Warp,"prontera",121,77,121,76;
- case 2:
- mes "[Eden Group Officer]";
- mes "The desert city of Morocc was recently destroyed.";
- mes "I will send you to the camp where the survivors are.";
- callsub S_Warp,"moc_ruins",71,157,70,158;
- case 3:
- mes "[Eden Group Officer]";
- mes "Just north of Payon you'll find the Archer Village.";
- mes "Good luck on your journeys.";
- callsub S_Warp,"payon",167,68,172,111;
- case 4:
- mes "[Eden Group Officer]";
- mes "Alberta, the Port City.";
- mes "It's the main hub of all trades.";
- mes "If you want to travel to other civilizations, Alberta is the only outlet.";
- callsub S_Warp,"alberta",115,57,116,58;
- case 5:
- mes "[Eden Group Officer]";
- mes "Geffen, is known as the Magical City of Rune Midgard.";
- mes "I will send you near the Fountains.";
- mes "Goddess Freya bless you.";
- callsub S_Warp,"geffen",118,36,128,66;
- case 6:
- mes "[Eden Group Officer]";
- mes "If you're still not sure what job you want, talk to the Job Guides for more help.";
- close;
- }
+ mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
+ mes "Take care and may Freya bless you on your journey.";
+ callsub S_Warp,"prontera",121,77,121,76;
case 2:
mes "[Eden Group Officer]";
- mes "Prontera is the main capital of the Rune-Midgard Kingdom. Here you will find Merchants selling their items and is a favorite gathering point of adventurers.";
- next;
- mes "[Eden Group Officer]";
- mes "The Acolyte Guild is here at the Prontera Church located to the northwest. The Swordman Guild can be found at Izlude, a town just southeast of Prontera.";
- next;
- mes "[Eden Group Officer]";
- mes "Morocc is a city located in the desert that was recently destroyed due to an evil monster named Satan Morroc. The Thief Guild has been working to restore it to it's former glory.";
- next;
+ mes "The desert city of Morocc was recently destroyed.";
+ mes "I will send you to the camp where the survivors are.";
+ callsub S_Warp,"moc_ruins",71,157,70,158;
+ case 3:
mes "[Eden Group Officer]";
- mes "Payon is where the Archer Guild has made it's home. You can also find the Kafra Shop Employees selling their Item Mall items near the center of this city.";
- next;
+ mes "Just north of Payon you'll find the Archer Village.";
+ mes "Good luck on your journeys.";
+ callsub S_Warp,"payon",167,68,172,111;
+ case 4:
mes "[Eden Group Officer]";
- mes "Alberta is the trading hub of Rune Midgard. The Merchant Guild is located here and the docks have ships that will take you to different island cities.";
- next;
+ mes "Alberta, the Port City.";
+ mes "It's the main hub of all trades.";
+ mes "If you want to travel to other civilizations, Alberta is the only outlet.";
+ callsub S_Warp,"alberta",115,57,116,58;
+ case 5:
mes "[Eden Group Officer]";
- mes "Geffen is known as the magical city of Rune Midgard. The Mage Guild is located here and research for new magic is always being conducted at their headquarters.";
- next;
+ mes "Geffen, is known as the Magical City of Rune Midgard.";
+ mes "I will send you near the Fountains.";
+ mes "Goddess Freya bless you.";
+ callsub S_Warp,"geffen",118,36,128,66;
+ case 6:
mes "[Eden Group Officer]";
- mes "If you wish to be sent directly to the Job Guilds, then speak to the Job Guides and tell them that you want to change your job.";
- close;
- case 3:
+ mes "If you're still not sure what job you want, talk to the Job Guides for more help.";
close;
}
+ case 2:
+ mes "[Eden Group Officer]";
+ mes "Prontera is the main capital of the Rune-Midgard Kingdom. Here you will find Merchants selling their items and is a favorite gathering point of adventurers.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "The Acolyte Guild is here at the Prontera Church located to the northwest. The Swordman Guild can be found at Izlude, a town just southeast of Prontera.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Morocc is a city located in the desert that was recently destroyed due to an evil monster named Satan Morroc. The Thief Guild has been working to restore it to it's former glory.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Payon is where the Archer Guild has made it's home. You can also find the Kafra Shop Employees selling their Item Mall items near the center of this city.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Alberta is the trading hub of Rune Midgard. The Merchant Guild is located here and the docks have ships that will take you to different island cities.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Geffen is known as the magical city of Rune Midgard. The Mage Guild is located here and research for new magic is always being conducted at their headquarters.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "If you wish to be sent directly to the Job Guilds, then speak to the Job Guides and tell them that you want to change your job.";
+ close;
+ case 3:
+ close;
}
S_Warp:
@@ -1901,26 +2272,16 @@ OnTouch:
emotion e_gasp;
end;
}
+new_1-3,97,50,4 duplicate(NvEden) Eden Group Officer#nv1 729,5,5
+new_2-3,97,50,4 duplicate(NvEden) Eden Group Officer#nv2 729,5,5
+new_3-3,97,50,4 duplicate(NvEden) Eden Group Officer#nv3 729,5,5
+new_4-3,97,50,4 duplicate(NvEden) Eden Group Officer#nv4 729,5,5
+new_5-3,97,50,4 duplicate(NvEden) Eden Group Officer#nv5 729,5,5
+*/
-new_1-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv1 729,5,5
-new_2-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv2 729,5,5
-new_3-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv3 729,5,5
-new_4-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv4 729,5,5
-new_5-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv5 729,5,5
-
-// Merchant (Real Combat Training)
+// Trainer
//============================================================
-- shop Merchant#nv::NvPotato 93,516:15
-
-new_1-3,100,50,4 duplicate(NvPotato) Merchant#nv1 93
-new_2-3,100,50,4 duplicate(NvPotato) Merchant#nv2 93
-new_3-3,100,50,4 duplicate(NvPotato) Merchant#nv3 93
-new_4-3,100,50,4 duplicate(NvPotato) Merchant#nv4 93
-new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
-
-// Trainer (Real Combat Training)
-//============================================================
-- script Level 1 Trainer#nv::NvBrutus 84,{
+- script ::NvBrutus -1,{
mes "[Trainer Brutus]";
mes "These monsters are all weak and easy to kill. But be careful, a lot of them are aggressive and out for blood!";
next;
@@ -1941,7 +2302,8 @@ new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
set .@menu$, .@menu$+":";
}
set .@i, select(.@menu$+"Cancel");
- if (.@i < 7) warp "new_"+.@i+"-3",96,21;
+ if (.@i < 7)
+ warp "new_"+.@i+"-3",96,21;
close;
case 2:
mes "[Trainer Brutus]";
@@ -1950,23 +2312,23 @@ new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
next;
mes "[Trainer Brutus]";
mes "Level 1 has the weakest monsters.";
- mes "There you'll find Poring, Drops, Lunatics, Fabres, and Chonchons.";
+ mes "There you'll find Porings, Drops, and Lunatics.";
next;
mes "[Trainer Brutus]";
mes "Level 2 is more challenging.";
- mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs.";
+ mes "There you'll find Porings, Lunatics, Willows, and Chonchons.";
next;
mes "[Trainer Brutus]";
- mes "Level 3 is pretty much the same as Level 2.";
- mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs.";
+ mes "Level 3 is the same as Level 2.";
+ mes "There you'll find Porings, Lunatics, Willows, and Chonchons.";
next;
mes "[Trainer Brutus]";
mes "Level 4 has stronger monsters.";
- mes "There you'll find Rockers, Spores, and Fabres.";
+ mes "There you'll find Willows, Hornets, Pickys, and Fabres.";
next;
mes "[Trainer Brutus]";
mes "Level 5 is the same as Level 4.";
- mes "There you'll find Rockers, Spores, and Fabres.";
+ mes "There you'll find Willows, Hornets, Pickys, and Fabres.";
close;
case 3:
mes "[Trainer Brutus]";
@@ -1975,46 +2337,92 @@ new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
close;
}
}
-
new_1-3,103,50,4 duplicate(NvBrutus) Level 1 Trainer#nv1 84
new_2-3,103,50,4 duplicate(NvBrutus) Level 2 Trainer#nv2 84
new_3-3,103,50,4 duplicate(NvBrutus) Level 3 Trainer#nv3 84
new_4-3,103,50,4 duplicate(NvBrutus) Level 4 Trainer#nv4 84
new_5-3,103,50,4 duplicate(NvBrutus) Level 5 Trainer#nv5 84
-// Random Stuff (Guards & Bulletin Board)
+// Monster Spawns
//============================================================
-new_1-1,66,114,4 script Bulletin Board#nv 111,{
- mes "^FF0000=================================^000000";
- mes "^FF0000 ^000000 ^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^FF0000^000000";
+new_1-3,0,0,0,0 monster Poring 1002,20,0,0,0
+new_1-3,0,0,0,0 monster Drops 1113,10,0,0,0
+new_1-3,0,0,0,0 monster Lunatic 1063,20,0,0,0
+
+new_2-3,0,0,0,0 monster Chonchon 1011,10,0,0,0
+new_2-3,0,0,0,0 monster Lunatic 1063,15,0,0,0
+new_2-3,0,0,0,0 monster Willow 1010,10,0,0,0
+new_2-3,0,0,0,0 monster Poring 1002,15,0,0,0
+
+new_3-3,0,0,0,0 monster Chonchon 1011,10,0,0,0
+new_3-3,0,0,0,0 monster Lunatic 1063,15,0,0,0
+new_3-3,0,0,0,0 monster Willow 1010,10,0,0,0
+new_3-3,0,0,0,0 monster Poring 1002,5,0,0,0
+
+new_4-3,0,0,0,0 monster Hornet 1004,5,0,0,0
+new_4-3,0,0,0,0 monster Willow 1010,15,0,0,0
+new_4-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_4-3,0,0,0,0 monster Picky 1049,15,0,0,0
+
+new_5-3,0,0,0,0 monster Hornet 1004,5,0,0,0
+new_5-3,0,0,0,0 monster Willow 1010,15,0,0,0
+new_5-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_5-3,0,0,0,0 monster Picky 1049,15,0,0,0
+
+// Potato Merchant
+//============================================================
+- shop Potato Merchant#newbe09::NvPotato 93,516:-1
+
+new_1-3,100,50,3 duplicate(NvPotato) Potato Merchant#nv1 93
+new_2-3,100,50,3 duplicate(NvPotato) Potato Merchant#nv2 93
+new_3-3,100,50,3 duplicate(NvPotato) Potato Merchant#nv3 93
+new_4-3,100,50,3 duplicate(NvPotato) Potato Merchant#nv4 93
+new_5-3,100,50,3 duplicate(NvPotato) Potato Merchant#nv5 93
+
+// Random Stuff
+//============================================================
+- script Bulletin Board::NvBulletin -1,{
+ mes "^FF0000=================================";
+ mes " ^E40CAA[Welcome] ^CC0000to^FF9000Novice^7FFF00 Training^00FF00 Grounds^E40CAA [Welcome] ";
mes "^FF0000=================================^000000";
close;
}
+new_1-1,66,114,4 duplicate(NvBulletin) Bulletin Board#nv1 111
+new_2-1,66,114,4 duplicate(NvBulletin) Bulletin Board#nv2 111
+new_3-1,66,114,4 duplicate(NvBulletin) Bulletin Board#nv3 111
+new_4-1,66,114,4 duplicate(NvBulletin) Bulletin Board#nv4 111
+new_5-1,66,114,4 duplicate(NvBulletin) Bulletin Board#nv5 111
-new_1-1,144,116,2 script Guard#nv1 105,{
+- script Guard::NvGuardA -1,{
mes "[Training Grounds Guard]";
mes "Welcome to the Training Grounds.";
mes "You are now in the outer court yard. Please go inside the castle to begin your training.";
close;
}
+new_1-1,144,116,2 duplicate(NvGuardA) Guard#nv1a 105
+new_2-1,144,116,2 duplicate(NvGuardA) Guard#nv2a 105
+new_3-1,144,116,2 duplicate(NvGuardA) Guard#nv3a 105
+new_4-1,144,116,2 duplicate(NvGuardA) Guard#nv4a 105
+new_5-1,144,116,2 duplicate(NvGuardA) Guard#nv5a 105
-new_1-1,144,107,2 script Guard#nv2 105,{
+- script Guard::NvGuardB -1,{
mes "[Training Grounds Guard]";
- if(rand(2)) {
- mes "Come in!";
- mes "I would like to welcome you to the Training Grounds!";
- next;
- mes "[Training Grounds Guard]";
+ if (rand(2)) {
+ mes "Come in! I would like to welcome you to the Training Grounds!";
mes "In here, you can prepare yourself for your future adventures throughout the Ragnarok world!";
- }
- else {
+ } else {
mes "Go, Novice, go!";
mes "Fight, and grow stronger! Look towards a brighter tomorrow!";
}
close;
}
+new_1-1,144,107,2 duplicate(NvGuardB) Guard#nv1b 105
+new_2-1,144,107,2 duplicate(NvGuardB) Guard#nv2b 105
+new_3-1,144,107,2 duplicate(NvGuardB) Guard#nv3b 105
+new_4-1,144,107,2 duplicate(NvGuardB) Guard#nv4b 105
+new_5-1,144,107,2 duplicate(NvGuardB) Guard#nv5b 105
-new_1-2,161,182,5 script Instructor#nv 92,{
+- script Instructor#Edwin::NvEdwin -1,{
mes "[Edwin]";
mes "Eh? Why are you still here?";
mes "There are no more courses that you need to take.";
@@ -2023,34 +2431,984 @@ new_1-2,161,182,5 script Instructor#nv 92,{
mes "Well, I will let you out of here.";
mes "Go find the instructor, Brade.";
close2;
- warp "new_1-2",100,100;
+ savepoint strnpcinfo(4),100,100;
+ warp strnpcinfo(4),100,100;
end;
}
+new_1-2,161,182,5 duplicate(NvEdwin) Instructor#nv1 92
+new_2-2,161,182,5 duplicate(NvEdwin) Instructor#nv2 92
+new_3-2,161,182,5 duplicate(NvEdwin) Instructor#nv3 92
+new_4-2,161,182,5 duplicate(NvEdwin) Instructor#nv4 92
+new_5-2,161,182,5 duplicate(NvEdwin) Instructor#nv5 92
+
+function script F_NvErase {
+ if (getarg(0,0)) {
+ if (checkquest(7123) > -1) erasequest 7123;
+ if (checkquest(7124) > -1) erasequest 7124;
+ if (checkquest(7126) > -1) erasequest 7126;
+ if (checkquest(7127) > -1) erasequest 7127;
+ }
+ nude;
+ setarray .@manuals[0],countitem(2819),countitem(2820),countitem(2821),countitem(2822),countitem(2823),countitem(2824);
+ if (.@manuals[0]) delitem 2819,.@manuals[0]; //Swordman_Manual
+ if (.@manuals[1]) delitem 2820,.@manuals[1]; //Thief_Manual
+ if (.@manuals[2]) delitem 2821,.@manuals[2]; //Acolyte_Manual
+ if (.@manuals[3]) delitem 2822,.@manuals[3]; //Archer_Manual
+ if (.@manuals[4]) delitem 2823,.@manuals[4]; //Merchant_Manual
+ if (.@manuals[5]) delitem 2824,.@manuals[5]; //Mage_Manual
+ return;
+}
-// Real Combat Training Mobs
+// Pre-Renewal Backwards Compatibility
//============================================================
-new_1-3,0,0,0,0 monster ChonChon 1011,10,0,0,0
-new_1-3,0,0,0,0 monster Drops 1113,10,0,0,0
-new_1-3,0,0,0,0 monster Fabre 1184,5,0,0,0
-new_1-3,0,0,0,0 monster Lunatic 1063,10,0,0,0
-new_1-3,0,0,0,0 monster Poring 1002,10,0,0,0
-new_2-3,0,0,0,0 monster Condor 1009,10,0,0,0
-new_2-3,0,0,0,0 monster Fabre 1184,5,0,0,0
-new_2-3,0,0,0,0 monster Picky 1050,10,0,0,0
-new_2-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0
-new_2-3,0,0,0,0 monster Willow 1010,10,0,0,0
-new_3-3,0,0,0,0 monster Condor 1009,10,0,0,0
-new_3-3,0,0,0,0 monster Fabre 1184,5,0,0,0
-new_3-3,0,0,0,0 monster Picky 1050,10,0,0,0
-new_3-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0
-new_3-3,0,0,0,0 monster Willow 1010,10,0,0,0
-new_4-3,0,0,0,0 monster Fabre 1184,5,0,0,0
-new_4-3,0,0,0,0 monster Rocker 1052,10,0,0,0
-new_4-3,0,0,0,0 monster Spore 1014,10,0,0,0
-new_4-3,0,0,0,0 monster Thief Bug 1051,10,0,0,0
-new_4-3,0,0,0,0 monster Thief Bug 1053,10,0,0,0
-new_5-3,0,0,0,0 monster Fabre 1184,5,0,0,0
-new_5-3,0,0,0,0 monster Rocker 1052,10,0,0,0
-new_5-3,0,0,0,0 monster Spore 1014,1,0,0,0
-new_5-3,0,0,0,0 monster Thief Bug 1051,1,0,0,0
-new_5-3,0,0,0,0 monster Thief Bug 1053,1,0,0,0
+- script Final Tester::NvHanson -1,{
+ if (nov_3_swordman < 40) {
+ mes "[Hanson]";
+ mes "Eh? Weird?";
+ next;
+ mes "[Hanson]";
+ mes "The Training Grounds have come under new management...";
+ mes "You seem to have come from the previous management.";
+ next;
+ mes "[Hanson]";
+ mes "You may continue, you should have enough experience if you made it here.";
+ next;
+ mes "[Hanson]";
+ mes "I will send you to any town that you'd like to go to.";
+ mes "Or do you have a favourite profession?";
+ next;
+ switch(select("Choose Profession.:Go to Towns.")) {
+ case 1:
+ mes "[Hanson]";
+ mes "What profession would you like to perform?";
+ next;
+ switch(select("Swordman:Acolyte:Thief:Merchant:Archer:Mage")) {
+ case 1:
+ mes "[Hanson]";
+ mes "That's a great choice!";
+ mes "After you receive all the supplies, I will teleport you to the Swordman Association.";
+ next;
+ mes "[Hanson]";
+ mes "The town you will be sent to is called Izlude which is a satellite of Prontera. The Swordman Association is located in the West of town. Please remember this.";
+ next;
+ callsub L_Supplies;
+ savepoint "izlude",128,98; // Old coordinates: (95,104)
+ warp "izlude_in",74,167;
+ end;
+ case 2:
+ mes "[Hanson]";
+ mes "You have chosen";
+ mes "to become an Acolyte.";
+ mes "You will be sent to";
+ mes "the town of Prontera.";
+ next;
+ mes "[Hanson]";
+ mes "The Prontera Sanctuary is located to the North-East in Prontera. Please remember this.";
+ next;
+ callsub L_Supplies;
+ savepoint "prontera",117,72;
+ warp "prt_church",172,19;
+ end;
+ case 3:
+ mes "[Hanson]";
+ mes "You have chosen";
+ mes "to become a Thief.";
+ mes "You will be sent to";
+ mes "the town of Morroc.";
+ next;
+ mes "[Hanson]";
+ mes "The Thief guild is in the underground 1st floor of a pyramid which is North-West of town. Please remember this.";
+ next;
+ callsub L_Supplies;
+ savepoint "morocc",150,99;
+ warp "moc_ruins",155,44;
+ end;
+ case 4:
+ mes "[Hanson]";
+ mes "You have chosen";
+ mes "to become a Merchant.";
+ mes "You will be sent to";
+ mes "the town of Alberta.";
+ next;
+ callsub L_Supplies;
+ savepoint "alberta",30,232;
+ warp "alberta_in",62,44;
+ end;
+ case 5:
+ mes "[Hanson]";
+ mes "You have chosen";
+ mes "to become an Archer.";
+ mes "You will be sent to";
+ mes "the town of Payon.";
+ next;
+ mes "[Hanson]";
+ mes "The Archer Guild is located to the North-West in Payon. Please remember this.";
+ next;
+ callsub L_Supplies;
+ savepoint "payon",256,242;
+ warp "payon_in02",64,65;
+ end;
+ case 6:
+ mes "[Hanson]";
+ mes "You have chosen";
+ mes "to become a Mage.";
+ mes "You will be sent to";
+ mes "the town of Geffen.";
+ next;
+ mes "[Hanson]";
+ mes "The Mage Academy is located in the North-West in town. Please remember this.";
+ next;
+ callsub L_Supplies;
+ savepoint "geffen",119,37;
+ warp "geffen_in",163,98;
+ end;
+ }
+ case 2:
+ mes "[Hanson]";
+ mes "To what town do you want to go?";
+ next;
+ callsub L_Warp, select("Prontera:Geffen:Morroc:Payon:Alberta:Never mind");
+ end;
+ }
+ } else {
+ mes "[Hanson]";
+ mes "You have received all the supplies.";
+ mes "To what town do you want to go?";
+ next;
+ callsub L_Warp, select("Prontera:Geffen:Morroc:Payon:Alberta");
+ end;
+ }
+ end;
+
+L_Supplies:
+ mes "[Hanson]";
+ mes "Let me give you";
+ mes "some supplies. Then";
+ mes "you will transported";
+ mes "to the chosen town.";
+ next;
+ mes "^660000List of Supplies^000000";
+ mes "^00003320 Free Tickets for Kafra Storage^000000";
+ mes "^00003330 Free Tickets for Kafra Transportation^000000";
+ mes "^0000331 Novice Cutter^000000";
+ mes "^0000331 Novice Adventurer's Suit^000000";
+ next;
+ mes "[Hanson]";
+ mes "Please check your inventory";
+ mes "to see if you have received all the supplies listed. Let me briefly inform you about the items you've received.";
+ next;
+ mes "[Hanson]";
+ mes "Free tickets for Kafra storage and transportation can be used for Kafra storage and teleport services.";
+ set nov_3_swordman,40;
+ getitem 7059,20; //Cargo_Free_Ticket
+ getitem 7060,30; //Warp_Free_Ticket
+ getitem 2393,1; //N_Adventurer's_Suit
+ getitem 13040,1; //N_Cutter
+ next;
+ mes "[Hanson]";
+ mes "You will now";
+ mes "be teleported.";
+ mes "Good luck,";
+ mes "^A62A2A"+strcharinfo(0)+"^000000";
+ mes "and farewell.";
+ close2;
+ return;
+
+L_Warp:
+ mes "[Hanson]";
+ switch(getarg(0)) {
+ case 1:
+ mes "I will send you to Prontera, the Capital City.";
+ close2;
+ savepoint "prontera",117,72;
+ warp "prontera",150,50;
+ end;
+ case 2:
+ mes "I will send you to Geffen, the City of Magic.";
+ close2;
+ savepoint "geffen",119,37;
+ warp "geffen",122,65;
+ end;
+ case 3:
+ mes "I will send you to Morroc, the Desert Town.";
+ close2;
+ savepoint "morocc",150,99;
+ warp "morocc",155,110;
+ end;
+ case 4:
+ mes "I will send you to Payon, the Mountain Village.";
+ close2;
+ savepoint "payon",70,100;
+ warp "payon",166,67;
+ end;
+ case 5:
+ mes "I will send you to Alberta, the Port City.";
+ close2;
+ savepoint "alberta",30,232;
+ warp "alberta",114,58;
+ end;
+ case 6:
+ mes "[Hanson]";
+ mes "Come back when you've made up your mind.";
+ close;
+ }
+}
+new_1-4,100,29,1 duplicate(NvHanson) Final Tester#nv1 46
+new_2-4,100,29,1 duplicate(NvHanson) Final Tester#nv2 46
+new_3-4,100,29,1 duplicate(NvHanson) Final Tester#nv3 46
+new_4-4,100,29,1 duplicate(NvHanson) Final Tester#nv4 46
+new_5-4,100,29,1 duplicate(NvHanson) Final Tester#nv5 46
+
+// Job Test
+//============================================================
+- script Job Guide Lark::NvLark -1,{
+ mes "[Lark]";
+ mes "Have you decided what job you're going to choose?";
+ next;
+ mes "[Lark]";
+ mes "I've prepared a test to see what's the best job for you, according to your answers.";
+ next;
+ mes "[Lark]";
+ mes "How about it?";
+ mes "Would you like to take the test?";
+ next;
+ set .@loop,1;
+ while(.@loop) {
+ switch(select("Take the test.:What's the test for?:No, thank you.")) {
+ case 1:
+ mes "[Lark]";
+ mes "Great!";
+ mes "Let's start the test~";
+ next;
+ set .@loop,0;
+ break;
+ case 2:
+ mes "[Lark]";
+ mes "I will ask you a few simple questions.";
+ mes "Through this test, we will check "+strcharinfo(0)+"'s personality and propensity so that we can find the most appropriate job for you.";
+ next;
+ mes "[Lark]";
+ mes "There are 3 different types of tests and a total of 30 questions.";
+ next;
+ mes "[Lark]";
+ mes "What do you think? Will you take the test?";
+ next;
+ break;
+ case 3:
+ mes "[Lark]";
+ mes "If you haven't decided what job you want yet,";
+ mes "I suggest that you take the test.";
+ close;
+ }
+ }
+ mes "[Lark]";
+ mes "Let's start the first test.";
+ mes "Choose the answer that you like the most.";
+ mes "^FF0000There are 5 questions.^000000";
+ next;
+ mes "[Lark]";
+ mes "In the middle of the dark, you're walking on the streets of Prontera when you suddenly hear someone scream.";
+ next;
+ mes "'Aaaahh!! Don't hurt me ~'";
+ next;
+ mes "You run to the place and see someone surrounded by punks. Because of your sudden appearance, the punks are surprised.";
+ mes "What would be your reaction in this situation?";
+ next;
+ switch(select("Fight against the punks:Cast Magic.:Call for Guards.:Throw rocks at them.")) {
+ case 1:
+ set .@question_01$, "You subdue them easily.";
+ set .@swordman_p, .@swordman_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 2:
+ set .@question_01$, "You cast a spell on them.";
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 3:
+ set .@question_01$, "You call for help and Guards come to your aid.";
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ case 4:
+ set .@question_01$, "You skillfully throw rocks at the punks.";
+ set .@archer_p, .@archer_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes .@question_01$+" You have destroyed the street punks.";
+ mes "After clearing up the mess, you approach the person who was being attacked.";
+ mes "Do you think the person who was surrounded by punks is a man or a woman?";
+ next;
+ switch(select("Man:Woman")) {
+ case 1:
+ set .@question_02_01$, "he";
+ set .@question_02_02$, "son";
+ break;
+ case 2:
+ set .@question_02_01$, "she";
+ set .@question_02_02$, "daughter";
+ break;
+ }
+ mes "[Lark]";
+ mes "You find out that "+.@question_02_01$+" is the "+.@question_02_02$+" of a very rich family in Alberta and Punks attacked while "+.@question_02_01$+" was on an errand for the family.";
+ mes "What kind of errand was "+.@question_02_01$+" doing?";
+ next;
+ switch(select("Delivering an important object:Delivering a small souvenir:Delivering a message")) {
+ case 1:
+ set .@swordman_p, .@swordman_p+1;
+ set .@archer_p, .@archer_p+1;
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@thief_p, .@thief_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ case 3:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Thanks to your bravery, "+.@question_02_01$+" becomes your friend and decides to go on a trip.";
+ mes "Where are you going?";
+ next;
+ switch(select("Capital city, Prontera:Mountain city, Payon:Port city, Alberta:Magic city, Geffen:Satelite city, Izlude:Desert city, Morocc:Industrial city, Einbroch:World of natural life, Amatsu:Garden city, Hugel")) {
+ case 1:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ case 2:
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ case 3:
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 4:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 5:
+ set .@swordman_p, .@swordman_p+1;
+ break;
+ case 6:
+ set .@thief_p, .@thief_p+1;
+ break;
+ case 7:
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ case 8:
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 9:
+ set .@archer_p, .@archer_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "You're having a great time. Do you feel like something will be happening or not?";
+ next;
+ switch(select("Happening:Not happening.")) {
+ case 1:
+ set .@thief_p, .@thief_p+1;
+ set .@swordman_p, .@swordman_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ set .@magician_p, .@magician_p+1;
+ set .@thief_p, .@thief_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Let's go now for the second test. Choose the best answer in your own opinion.";
+ mes "^FF0000There are 5 questions.^000000";
+ next;
+ switch(select("Study:Exercise:Service:Violence")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@thief_p, .@thief_p+1;
+ set .@swordman_p, .@swordman_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ case 3:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ case 4:
+ set .@thief_p, .@thief_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ }
+ switch(select("Change:Preservation")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ }
+ switch(select("Consumer:Seller:Producer")) {
+ case 1:
+ set .@swordman_p, .@swordman_p+1;
+ set .@thief_p, .@thief_p+1;
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@archer_p, .@archer_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ case 2:
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 3:
+ set .@magician_p, .@magician_p+1;
+ break;
+ }
+ switch(select("Speed:Caution")) {
+ case 1:
+ set .@thief_p, .@thief_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 2:
+ set .@archer_p, .@archer_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ switch(select("Theory:Experience")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@swordman_p, .@swordman_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Let's go now for the third test. Please answer (Yes) or (No) to each question.";
+ mes "^FF0000There are 20 questions.^000000";
+ next;
+ mes "[Lark]";
+ mes "Do you always pick up the money that you find on the ground?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@merchant_p, .@merchant_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "If you had the same name as someone of the opposite sex, would that make you less attracted to them?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@ninja_p, .@ninja_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you like being able to carry a lot of items at once?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@swordman_p, .@swordman_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 2:
+ set .@magician_p, .@magician_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you like reading books?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@taekwon_p, .@taekwon_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ case 2:
+ set .@ninja_p, .@ninja_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you read everything in a magazine?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@archer_p, .@archer_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you take the time to worry about what you are wearing?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@merchant_p, .@merchant_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 2:
+ set .@swordman_p, .@swordman_p+1;
+ set .@thief_p, .@thief_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you tell others what kind of fancy foods you've eaten recently?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@thief_p, .@thief_p+1;
+ set .@swordman_p, .@swordman_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you write things down in a notebook often?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 2:
+ set .@thief_p, .@thief_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you consider yourself attractive?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@ninja_p, .@ninja_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@swordman_p, .@swordman_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you like being in areas where a lot of people gather?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@swordman_p, .@swordman_p+1;
+ break;
+ case 2:
+ set .@archer_p, .@archer_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you like the idea of living a single life?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@thief_p, .@thief_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you like keeping your distance from others?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@gunslinger_p, .@gunslinger_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ case 2:
+ set .@taekwon_p, .@taekwon_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you think that having a good hiding space is important in battle?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ case 2:
+ set .@taekwon_p, .@taekwon_p+1;
+ set .@magician_p, .@magician_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Would you defend your friends even if you knew they were wrong?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@swordman_p, .@swordman_p+1;
+ break;
+ case 2:
+ set .@thief_p, .@thief_p+1;
+ set .@ninja_p, .@ninja_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Would you try to convince an enemy not to fight you with logic?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@archer_p, .@archer_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Can you sit still in the same place for a long time?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@taekwon_p, .@taekwon_p+1;
+ set .@thief_p, .@thief_p+1;
+ break;
+ case 2:
+ set .@archer_p, .@archer_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you think that you can take a punch straight to the gut from an Orc?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@swordman_p, .@swordman_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ case 2:
+ set .@magician_p, .@magician_p+1;
+ set .@thief_p, .@thief_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you make up nicknames for your friends?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@gunslinger_p, .@gunslinger_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ case 2:
+ set .@acolyte_p, .@acolyte_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "Do you always have a plan B for various situations?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@thief_p, .@thief_p+1;
+ set .@gunslinger_p, .@gunslinger_p+1;
+ break;
+ case 2:
+ set .@gunslinger_p, .@gunslinger_p+1;
+ set .@merchant_p, .@merchant_p+1;
+ break;
+ }
+ mes "[Lark]";
+ mes "When talking with other people, do you take time so that the others have time to think?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ set .@magician_p, .@magician_p+1;
+ break;
+ case 2:
+ set .@ninja_p, .@ninja_p+1;
+ set .@archer_p, .@archer_p+1;
+ break;
+ }
+
+ // Calculate player's job.
+ // In the official script, higher .@who_job value always wins in a tie.
+ setarray .@points[0],
+ .@swordman_p, .@magician_p, .@archer_p, .@merchant_p, .@thief_p, .@acolyte_p, .@taekwon_p, .@gunslinger_p, .@ninja_p;
+ set .@max, .@points[0];
+ for(set .@i,1; .@i<9; set .@i,.@i+1) {
+ if (.@points[.@i] >= .@max) {
+ set .@max, .@points[.@i];
+ set .@ele, .@i;
+ }
+ }
+ set .@who_job, .@ele+1; // To match the official script's numbering.
+
+ mes "[Lark]";
+ mes "Thank you, have a long life.";
+ mes "The vocational aptitude assessment is finished.";
+ next;
+ mes "[Lark]";
+ mes "... ... the result is an aggregate. ... ...";
+ next;
+ mes "[Lark]";
+ mes "Tabulation is complete.";
+ mes "'^0000FFSo^000000', if you press this button";
+ mes "you can see the results.";
+ next;
+ switch(.@who_job) {
+ case 1:
+ set .@job$, "Swordman";
+ mes "[Lark]";
+ mes "...simple and straightforward...";
+ mes "...strong beliefs can affect the world...";
+ mes "...stands for hope that the people...";
+ mes "...to protect loyalty.";
+ mes "...thrusting you ...";
+ next;
+ break;
+ case 2:
+ set .@job$, "Wizard";
+ mes "[Lark]";
+ mes "...to understand all these things alone deulmyeo...";
+ mes "...hard work and independent thinking...";
+ mes "...type. Excellent judgement, naehyangjeok...";
+ mes "...and analytical, with insight...";
+ mes "...type : he observes everything...";
+ next;
+ break;
+ case 3:
+ set .@job$, "Archer";
+ mes "[Lark]";
+ mes "...immeasurable, have many emotions...";
+ mes "...to people who are trying to understand...";
+ mes "...trying to understand the type to receive. Also,...";
+ mes "...rejects mediocrity, and his true...";
+ mes "...type of life to live. Impressionable...";
+ mes "...rich and romantic ...";
+ next;
+ break;
+ case 4:
+ set .@job$, "Merchant";
+ mes "[Lark]";
+ mes "...to identify people's sense of hearing...";
+ mes "...outstanding determination and goals...";
+ mes "...oriented and a strong type of responsibility...";
+ mes "...seongchwiyok strong...";
+ next;
+ break;
+ case 5:
+ set .@job$, "Thief";
+ mes "[Lark]";
+ mes "...always makes life fun and who wants...";
+ mes "...always trying to find a new job...";
+ mes "...contribution to the world,...";
+ mes "...that type. Adventurer,...";
+ mes "...optimistic.";
+ next;
+ break;
+ case 6:
+ set .@job$, "Acolyte";
+ mes "[Lark]";
+ mes "...mentality makes him warm and considerate for others...";
+ mes "I know I have loved anyone,...";
+ mes "...be of help to others and for others...";
+ mes "...type of well-caring.";
+ mes "...always wants to help others.";
+ next;
+ break;
+ case 7:
+ set .@job$, "Taekwon Boy/Girl";
+ mes "[Lark]";
+ mes "...to believe with a stubborn conviction...";
+ mes "...heart and spirit of the grassland is consistent: it...";
+ mes "...make steps to move forward.";
+ mes "...type of comments or want to understand the beliefs...";
+ mes "...that type of effort to correct through training,...";
+ mes "...to have a sound mind...";
+ next;
+ break;
+ case 8:
+ set .@job$, "Gunslinger";
+ mes "[Lark]";
+ mes "People often praised Justice.";
+ mes "Sometimes fear and confusion may exist...";
+ mes "...that time, the definition of confusion...";
+ mes "...to maintain the balance, you're carrying the burden...";
+ mes "...for you ...";
+ next;
+ break;
+ case 9:
+ set .@job$, "Ninja";
+ mes "[Lark]";
+ mes "...to avoid the type of self-aspiring...";
+ mes "...married to a prominent goal and quietly avoiding...";
+ mes "...step and their goals...";
+ mes "...type of reaching your goal until they're complete...";
+ mes "...I do not regret it as ...";
+ next;
+ break;
+ default:
+ mes "[Lark]";
+ mes "An error has occurred.";
+ close;
+ }
+ mes "[Lark]";
+ mes "^8014EB"+.@job$+" is the job that suits you.^000000";
+ next;
+ mes "[Lark]";
+ mes "Well, "+.@job$+", you can choose among various career pathways.";
+ mes "Do you want to determine the job that suits you?";
+ mes "Do you want to select a job?";
+ next;
+ switch(select(.@job$+".:Any other profession.")) {
+ case 1:
+ mes "[Lark]";
+ mes "The Novice Training Center course is now shut down, "+.@job$+". Would you like to make this occupation your profession?";
+ next;
+ if(select("I will think about it again.:I'll choose the former.") == 1) {
+ mes "[Lark]";
+ mes "You will receive a book corresponding to each job type.";
+ mes "Please have enough experience to determine carefully the job that suits you.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Lark]";
+ mes "Quit now the Training Center Course. Would you like to make an occupation your career choice?";
+ next;
+ if(select("I will think about it again.:I still want to change my job.") == 1) {
+ mes "[Lark]";
+ mes "Primer of each class would have received.";
+ mes "Have enough experience to determine looked carefully, please.";
+ close;
+ }
+ mes "[Lark]";
+ mes "Yes, sir. Please select your desired job.";
+ next;
+ set .@who_job, select("Swordman:Wizard:Archer:Merchant:Thief:Acolyte:Taekwon Boy/Girl:Gunslinger:Ninja:I'll think again.");
+ if (.@who_job == 10) {
+ mes "[Lark]";
+ mes "The Novice Training Center has a lot of sea experience, please pay attention along the way.";
+ close;
+ }
+ break;
+ }
+ callfunc "F_NvErase",1;
+ set .@str$, "^A62A2A'"+strcharinfo(0)+"^000000'! Take care and may Freya bless you on your journey.";
+ switch(.@who_job) {
+ case 1:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the swordman guild in Izlude, the Satelite city.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "izlude",128,98; // Old coordinates: (95,104)
+ warp "izlude_in",74,167;
+ end;
+ case 2:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the magician guild in Geffen, the Magical City.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "geffen",119,37;
+ warp "geffen_in",163,98;
+ end;
+ case 3:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the Archer Guild in Payon, the city of mountains.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "payon",256,242;
+ warp "payon_in02",64,65;
+ end;
+ case 4:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the merchant guild in Alberta, the Port City.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "alberta",30,232;
+ warp "alberta_in",62,44;
+ end;
+ case 5:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the thief guild in Morocc, the desert city.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "morocc",150,99;
+ warp "moc_prydb1",99,185;
+ end;
+ case 6:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the Prontera, the capital city of the Rune-Midgarts Kingdom.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "prontera",117,72;
+ warp "prt_church",172,19;
+ end;
+ case 7:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the Phoenix in Payon, the city of mountains.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "payon",164,58;
+ warp "payon",163,141;
+ end;
+ case 8:
+ mes "[Lark]";
+ mes "You will be sent to the flyship";
+ mes "in Izlude, the Satelite city.";
+ mes "You can get on the flyship to go to Einbroch, the city of industries.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "izlude",128,98; // Old coordinates: (95,104)
+ warp "izlude",128,67;
+ end;
+ case 9:
+ mes "[Lark]";
+ mes "We will send you";
+ mes "to the captain of the smuggling ship.";
+ mes "You can move to Amatsu";
+ mes "with the captain's help.";
+ mes .@str$;
+ mes "Good bye.";
+ close2;
+ savepoint "alberta",117,56;
+ warp "alberta",171,132;
+ end;
+ default:
+ mes "[Lark]";
+ mes "An error has occurred. If you keep having the same problem, please contact the local GM team.";
+ close;
+ }
+}
+new_1-3,106,50,4 duplicate(NvLark) Job Guide Lark#01 706
+new_2-3,106,50,4 duplicate(NvLark) Job Guide Lark#02 706
+new_3-3,106,50,4 duplicate(NvLark) Job Guide Lark#03 706
+new_4-3,106,50,4 duplicate(NvLark) Job Guide Lark#04 706
+new_5-3,106,50,4 duplicate(NvLark) Job Guide Lark#05 706
diff --git a/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt
index 4a8436dfe..6d570f1c7 100644
--- a/npc/re/jobs/novice/supernovice_ex.txt
+++ b/npc/re/jobs/novice/supernovice_ex.txt
@@ -1,19 +1,17 @@
//===== Hercules Script ======================================
//= Expanded Super Novice Job Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1a
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Job Change quest for Expanded Super Novice class.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 All dialogue is custom, contains some incorrect behaviors.
//= 1.1 Switched to a translated copy of the official script
//= by Gennosuke Kouga, but vastly edited its content. [Euphy]
//= 1.1a Replaced effect numerics with constants. [Euphy]
-//============================================================
+//============================================================
function script Esseray_Ex {
if (BaseLevel > 98 && JobLevel > 98) {
diff --git a/npc/re/jobs/repair.txt b/npc/re/jobs/repair.txt
new file mode 100644
index 000000000..1c49717bc
--- /dev/null
+++ b/npc/re/jobs/repair.txt
@@ -0,0 +1,313 @@
+//===== Hercules Script ======================================
+//= Job Repairs
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= [Official Conversion]
+//= Removes potentially conflicting job data.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Added GM management function. [Euphy]
+//============================================================
+
+/*
+rAthena -> official job variable conversion
+-------------------------------------------
+
+Knight: KNIGHT_Q -> job_knight_q
+Priest: PRIEST_Q -> job_priest_q
+Wizard: WIZ_Q -> job_wizard_q
+Blacksmith: BSMITH_Q -> job_black
+Assassin: ASSIN_Q -> job_assasin
+Hunter: HNTR_Q -> job_hunter
+Crusader: CRUS_Q -> job_crusader_q
+Monk: MONK_Q -> job_monk
+Sage: SAGE_Q -> job_sage_q
+Alchemist: ALCH_Q -> job_alchemist_q
+Rogue: ROGUE_Q -> job_rogue
+Bard: BARD_Q -> job_bard_q
+Dancer: DANC_Q -> job_dancer
+
+Rebirth: ADVJOB -> job_karma
+
+Rune Knight: job_rune_edq
+Arch Bishop: job_arch
+Warlock: job_wl
+Mechanic: job__mechanic -> job_mechanic
+Guillotine Cross: job_3rd_gc
+Ranger: job_ranger01
+Royal Guard: job_royal -> job_roy
+Sura: job_shu
+Sorcerer: job_soc
+Geneticist: job_gen
+Shadow Chaser: job_sha -> job_3rd_sc
+Minstrel: job_min
+Wanderer: job_wan
+
+Gunslinger: GUNS_Q -> hg_gun
+Ninja: NINJ_Q -> hg_nin
+Taekwon: TK_Q -> job_taekwon
+Star Gladiator: STGL_Q -> job_star
+Soul Linker: SOUL_Q -> job_linker
+Super Novice: SUPNOV_Q -> job_super
+Expanded Super Novice: EXSUPNOV_Q -> job_super2
+*/
+
+prt_in,38,104,4 script Valerie 811,{
+ if (checkweight(1201,1) == 0) {
+ mes "I think you have too many items. Let's try it again after you take some out.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You're overweight with items so I don't think we can proceed any further. Challenge me after you've taken some items off.";
+ close;
+ }
+ mes "[Valerie]";
+ mes "I am Valerie; I help those with abnormalities. I am friends with Valkyrie.";
+ next;
+ mes "[Valerie]";
+ mes "If both abnormalities disappear then we must start the test over from scratch. What would you like to do?";
+ next;
+ switch(select("I don't have any abnormalities:I think my body has some abnormalities")) {
+ case 1:
+ mes "[Valerie]";
+ mes "That's a relief. Then please take care.";
+ close;
+ case 2:
+ mes "[Valerie]";
+ mes "Are you sure you want to intialize it and start over?";
+ next;
+ if(select("Nope:Yes, I want to start completely over") == 1) {
+ mes "[Valerie]";
+ mes "I understand. I'll see you next time";
+ close;
+ }
+ mes "[Valerie]";
+ mes "All items related to the existing conditions will disappear. Are you okay with this?";
+ next;
+ if(select("Nope:Yes, I want to start completely over.") == 1) {
+ mes "[Valerie]";
+ mes "I understand. I'll see you next time.";
+ close;
+ }
+ mes "[Valerie]";
+ mes "It seems that there are a sea of people who seemed to be cursed of not being able to get a significant other after going through with this. Are you still okay with this? ";
+ next;
+ if(select("Nope:I still want to intialize.") == 1) {
+ mes "[Valerie]";
+ mes "I understand. I will see you next time.";
+ close;
+ }
+ mes "[Valerie]";
+ mes "In extreme cases, some become crippled and can get ulcers. Do you still want to intilize former processes?";
+ next;
+ if(select("Nope:Please intilize the former processes") == 1) {
+ mes "[Valerie]";
+ mes "I understand. I will see you next time";
+ close;
+ }
+ specialeffect2 EF_INVENOM;
+ progressbar "0xffff00",3;
+
+ // Warlock - quest items
+ if (isequipped(2796) || isequipped(2797)) {
+ mes "[Valerie]";
+ mes "Please unequip the Magical Stone or Magical Stone Ring and try again.";
+ close;
+ }
+ if (countitem(2796) || countitem(2797)) {
+ if (isequipped(2796) || isequipped(2797)) {
+ mes "[Valerie]";
+ mes "Please talk to me after your replace all Magical Stones.";
+ close;
+ }
+ setarray .@items[0], 2796, 2797, 6152, 6151; //Magical_Stone,Magical_Stone_,Glittering_Crystal,Peice_Of_Great_Bradium
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (countitem(.@items[.@i]))
+ delitem .@items[.@i], countitem(.@items[.@i]);
+ }
+ mes "[Valerie]";
+ mes "You're carrying something that is unnecessary. I will sort it out for you.";
+ close;
+ }
+
+ // Baby and third job characters meet no further conditions.
+ if (eaclass()&(EAJL_BABY|EAJL_THIRD)) {
+ mes "[Valerie]";
+ mes "I don't think you should have any further business with me.";
+ close;
+ }
+
+ // Rebirth - variable
+ if ((Class >= Job_Swordman && Class <= Job_Crusader2) && ADVJOB != 0) {
+ set ADVJOB,0;
+ mes "[Valerie]";
+ mes "You're carrying big karma- You should erase it.";
+ next;
+ mes "[Valerie]";
+ mes "Please talk to me again as there could be additional problems.";
+ close;
+ }
+
+ // Second job - variable and quests
+ // callsub L_Second, "<variable>", <quest>;
+ if (Class == Job_Swordman) {
+ callsub L_Second, "KNIGHT_Q", 9012;
+ callsub L_Second, "CRUS_Q", 3015;
+ } else if (Class == Job_Archer) {
+ callsub L_Second, "HNTR_Q", 4013;
+ callsub L_Second, "BARD_Q", 3004;
+ callsub L_Second, "DANC_Q", 7006;
+ } else if (Class == Job_Mage) {
+ callsub L_Second, "WIZ_Q", 9018;
+ callsub L_Second, "SAGE_Q", 2052;
+ } else if (Class == Job_Merchant) {
+ callsub L_Second, "BSMITH_Q", 2016;
+ callsub L_Second, "ALCH_Q", 2040;
+ } else if (Class == Job_Thief) {
+ callsub L_Second, "ASSIN_Q", 8008;
+ callsub L_Second, "ROGUE_Q", 2027;
+ } else if (Class == Job_Acolyte) {
+ callsub L_Second, "PRIEST_Q", 8016;
+ callsub L_Second, "MONK_Q", 3032;
+ }
+
+ // Third job - variable and quests
+ // callsub L_Third, "<variable>", <main quest>, <first quest>, <last quest>{, <additional quest>};
+ if (BaseJob == Job_Assassin)
+ callsub L_Third, "job_3rd_gc", 7100, 7091, 7116;
+ else if (BaseJob == Job_Blacksmith)
+ callsub L_Third, "job__mechanic", 10101, 10090, 10101;
+ else if (BaseJob == Job_Hunter)
+ callsub L_Third, "job_ranger01", 8262, 8254, 8262;
+ else if (BaseJob == Job_Knight)
+ callsub L_Third, "job_rune_edq", 3219, 3200, 3220;
+ else if (BaseJob == Job_Priest)
+ callsub L_Third, "job_arch", 2191, 2187, 2191;
+ else if (BaseJob == Job_Wizard)
+ callsub L_Third, "job_wl", 11112, 11106, 11112;
+ else if (BaseJob == Job_Alchemist)
+ callsub L_Third, "job_gen", 2223, 2209, 2217, 2223;
+ else if (BaseJob == Job_Bard)
+ callsub L_Third, "job_min", 11154, 11135, 11154;
+ else if (BaseJob == Job_Crusader)
+ callsub L_Third, "job_royal", 0, 12090, 12094;
+ else if (BaseJob == Job_Dancer)
+ callsub L_Third, "job_wan", 2222, 2218, 2222;
+ else if (BaseJob == Job_Monk)
+ callsub L_Third, "job_shu", 11158, 11155, 11158;
+ else if (BaseJob == Job_Rogue)
+ callsub L_Third, "job_sha", 7180, 7160, 7180;
+ else if (BaseJob == Job_Sage)
+ callsub L_Third, "job_soc", 12098, 12096, 12098;
+
+ mes "[Valerie]";
+ mes "I don't think you should have any further business with me.";
+ close;
+ }
+
+L_Second:
+ if (getd(getarg(0)) != 0) {
+ setd getarg(0),0;
+ if (checkquest(getarg(1)) == 2)
+ erasequest getarg(1);
+ mes "[Valerie]";
+ mes "I will help clear your problems for you that came from your former attempts.";
+ next;
+ mes "[Valerie]";
+ mes "Please talk to me again as there could be additional problems.";
+ close;
+ } else
+ return;
+
+L_Third:
+ if (getd(getarg(0)) != 0) {
+ setd getarg(0),0;
+ if (getarg(1)) {
+ if (checkquest(getarg(1)) == 2)
+ erasequest getarg(1);
+ }
+ for(set .@i,getarg(2); .@i<=getarg(3); set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ if (getarg(4,0)) {
+ if (checkquest(getarg(4)) > -1)
+ erasequest getarg(4);
+ }
+ mes "[Valerie]";
+ mes "I will help clear your problems for you that came from your former attempts.";
+ next;
+ mes "[Valerie]";
+ mes "Please talk to me again as there could be additional problems.";
+ close;
+ } else
+ return;
+}
+
+- script Valerie#sign -1,{
+ mes "^ff00ffI couldn't pay the office rent so I am temporarily relocating to the building across from the Prontera Refinery.^000000";
+ mes " ";
+ mes "^ff00ffValerie^000000";
+ close;
+}
+in_moc_16,17,33,4 duplicate(Valerie#sign) Valerie#asn 837
+ein_in01,13,28,4 duplicate(Valerie#sign) Valerie#bls 837
+hu_in01,386,377,4 duplicate(Valerie#sign) Valerie#hnt 837
+prt_in,88,108,4 duplicate(Valerie#sign) Valerie#knt 837
+prt_church,19,36,4 duplicate(Valerie#sign) Valerie#prst 837
+gef_tower,110,30,4 duplicate(Valerie#sign) Valerie#wiz 837
+comodo,215,155,4 duplicate(Valerie#sign) Valerie#danc 837
+prt_castle,45,167,4 duplicate(Valerie#sign) Valerie#cru 837
+prt_monk,59,253,4 duplicate(Valerie#sign) Valerie#mnk 837
+moc_ruins,90,104,4 duplicate(Valerie#sign) Valerie#rg 837
+yuno_in02,43,62,4 duplicate(Valerie#sign) Valerie#sag 837
+prt_church,103,86,4 duplicate(Valerie#sign) Valerie#arch 837
+que_job01,75,92,4 duplicate(Valerie#sign) Valerie#gc 837
+yuno,129,150,4 duplicate(Valerie#sign) Valerie#mech 837
+tur_dun01,159,40,4 duplicate(Valerie#sign) Valerie#ran 837
+prt_in,167,24,4 duplicate(Valerie#sign) Valerie#rk 837
+spl_in02,81,102,4 duplicate(Valerie#sign) Valerie#wl 837
+alde_alche,38,181,4 duplicate(Valerie#sign) Valerie#alche 837
+alberta,198,129,4 duplicate(Valerie#sign) Valerie#min 837
+in_rogue,376,104,4 duplicate(Valerie#sign) Valerie#sc 837
+ve_in,244,122,4 duplicate(Valerie#sign) Valerie#shu 837
+xmas,166,209,4 duplicate(Valerie#sign) Valerie#wan 837
+
+sec_in02,12,40,5 script Job Repair 57,1,1,{
+ callfunc "F_GM_NPC";
+ mes "Please input your password.";
+ next;
+ if (callfunc("F_GM_NPC","1854",1) == 1) {
+ set job_arch,100;
+ set job_3rd_gc,100;
+ set job__mechanic,100;
+ set job_ranger01,100;
+ set job_rune_edq,100;
+ set job_wl,100;
+ set job_gen,100;
+ set job_min,100;
+ set job_royal,100;
+ set job_sha,100;
+ set job_soc,100;
+ set job_shu,100;
+ set job_wan,100;
+ set KNIGHT_Q,100;
+ set PRIEST_Q,100;
+ set WIZ_Q,100;
+ set BSMITH_Q,100;
+ set ASSIN_Q,100;
+ set HNTR_Q,100;
+ set CRUS_Q,100;
+ set MONK_Q,100;
+ set SAGE_Q,100;
+ set ALCH_Q,100;
+ set ROGUE_Q,100;
+ set BARD_Q,100;
+ set DANC_Q,100;
+ set ADVJOB,15;
+ }
+ close;
+}
diff --git a/npc/re/kafras/kafras.txt b/npc/re/kafras/kafras.txt
index 2cab9e388..5db5885d3 100644
--- a/npc/re/kafras/kafras.txt
+++ b/npc/re/kafras/kafras.txt
@@ -1,11 +1,9 @@
//===== Hercules Script ======================================
//= Kafras (Cities/Dungeons/Fields)
-//===== By: ==================================================
+//===== By: ==================================================
//= Joseph
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//===== Current Version: =====================================
+//= 1.4
//===== Description: =========================================
//= Argument settings for callfunc "F_Kafra":
//= arg(0): 0 - Default Kafra message
@@ -15,12 +13,16 @@
//= arg(2): 1 - Disable info menu
//= arg(3): Cost of Storage service
//= arg(4): Cost of Rent a Pushcart service
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 0.x Previous Authors:
//= - L0ne_W0lf, Daegaladh
//= 1.0 Merged and cleaned up Kafras. [Euphy]
//= 1.1 Added Dewata Kafra. [Lemongrass]
-//============================================================
+//= 1.2 Added Port Malaya Kafras. [Euphy]
+//= 1.3 Added Eden Group Kafra. [Euphy]
+//= 1.3a Moved Rune Knight Kafra from job file. [Euphy]
+//= 1.4 Added Izlude duplicates. [Euphy]
+//============================================================
// Brasilis
//============================================================
@@ -40,7 +42,43 @@ dewata,202,184,6 script Kafra Employee::kaf_dewata 117,{
callfunc "F_KafEnd",0,1,"on Dewata Island";
}
+// Eden Group
+//============================================================
+moc_para01,10,185,4 script Kafra Employee::kaf_eden 721,{
+ cutin "kafra_07",2;
+ mes "[Kafra Employee]";
+ mes "Welcome to the";
+ mes "Kafra Corporation.";
+ mes "I only offer Storage!";
+ callfunc "F_Kafra",5,2,0,80,0;
+}
// Izlude
//============================================================
-izlude,128,148,6 duplicate(kaf_izlude) Kafra Employee 117
+izlude,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz 117
+izlude_a,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz_a 117
+izlude_b,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz_b 117
+izlude_c,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz_c 117
+izlude_d,128,148,6 duplicate(kaf_izlude) Kafra Employee#iz_d 117
+
+// Port Malaya
+//============================================================
+malaya,71,79,4 script Kafra Employee::kaf_malaya1 581,{
+ callfunc "F_Kafra",0,3,2,500,700;
+ savepoint "malaya",44,56;
+ callfunc "F_KafEnd",0,1,"in Port Malaya";
+}
+
+malaya,234,204,4 script Kafra Employee::kaf_malaya2 581,{
+ callfunc "F_Kafra",0,3,2,500,700;
+ savepoint "malaya",281,212;
+ callfunc "F_KafEnd",0,1,"in Port Malaya";
+}
+
+// Rune Knight
+//============================================================
+job3_rune01,92,62,3 script Kafra Employee::kaf_rune 114,{
+ cutin "kafra_04",2;
+ callfunc "F_KafSet";
+ callfunc "F_Kafra",0,9,2,80,700;
+}
diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt
index 86dd01656..134a3422d 100644
--- a/npc/re/merchants/3rd_trader.txt
+++ b/npc/re/merchants/3rd_trader.txt
@@ -1,20 +1,26 @@
//===== Hercules Script ======================================
//= 3rd Item Seller
-//===== By: ==================================================
+//===== By: ==================================================
//= Masao, Mercurial
-//===== Current Version: =====================================
-//= 1.2
-//===== Description: =========================================
-//= [Aegis Conversion]
-//= Sells some 3rd Job related items.
-//===== Additional Comments: =================================
+//===== Current Version: =====================================
+//= 1.5
+//===== Description: =========================================
+//= [Official Conversion]
+//= Sells some 3rd Job related items:
+//= - Poison Herbs, Rune Stones, Rare Herbs, Points
+//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Optimized Poison Herb Salesman NPC
//= 1.2 Optimized and standardized. [Euphy]
-//============================================================
+//= 1.3 Added Malangdo/Mora Points NPC. [Euphy]
+//= 1.4 Updated to match the official scripts. [Euphy]
+//= 1.5 Added Izlude duplicates. [Euphy]
+//============================================================
-job3_guil01,79,96,3 script Poison Herb Salesman::PHS 877,{
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
+// Poison Herb Merchants (Guillotine Cross)
+//============================================================
+- script ::phs -1,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
@@ -22,68 +28,65 @@ job3_guil01,79,96,3 script Poison Herb Salesman::PHS 877,{
mes "- after you lose some weight. -";
close;
}
- mes "[Poison Herb Salesman]";
+ mes "[Poison Herb Merchant]";
mes "I am the professional";
- mes "poison herb seller.";
- mes "Which one do you want?";
- mes "They cost 4,000 zeny each!";
- set .@i, select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit")-1;
+ mes "Poison Herb merchant.";
+ mes "Each Herb costs 4,000 zeny.";
+ mes "What would you like?";
next;
+ set .@i, select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit:Cancel")-1;
+ mes "[Poison Herb Merchant]";
if (.@i < 6) {
- mes "[Poison Herb Salesman]";
- mes "How many do you want? You can";
- mes "only buy a maximum of 2000 ea";
- mes "and if you want to cancel, enter '0'.";
- next;
- input .@amount;
- mes "[Poison Herb Salesman]";
- if (.@amount == 0) {
- mes "You've cancelled the trade.";
- close;
- }
- if (.@amount > 2000) {
- mes "Please check the maximum";
- mes "amount and then try again.";
- close;
- }
- if (Zeny < .@amount*4000) {
- mes "Please check the money you have.";
- mes "It doesn't seem like you have enough money.";
- close;
- }
- set Zeny, Zeny-(.@amount*4000);
- getitem 7932+.@i,.@amount;
- mes "Thank you. See you~!";
- close;
+ set .@item,7932+.@i;
+ set .@price,4000;
+ set .@max,2000;
+ set .@max$,"2,000";
+ } else if (.@i == 6) {
+ set .@item,7931;
+ set .@price,5000;
+ set .@max,500;
+ set .@max$,"500";
+ mes "Each Poison Kit costs 5,000 zeny.";
} else {
- mes "[Poison Herb Salesman]";
- mes "You can only buy";
- mes "1 Poison Kit and it costs 5,000 zeny.";
- mes "Will you buy it?";
- next;
- if(select("Yes, I will.:No, I won't.") == 2) {
- mes "[Poison Herb Salesman]";
- mes "Well, I see. See you~!";
- close;
- }
- mes "[Poison Herb Salesman]";
- if (Zeny < 5000) {
- mes "Please check the money you have.";
- mes "It doesn't seem like you have enough money.";
- close;
- }
- set Zeny, Zeny-5000;
- getitem 7931,1;
- mes "[Poison Herb Salesman]";
- mes "Thank you. See you~!";
+ mes "Well, I see. Come back again~!";
+ close;
+ }
+ mes "How many do you want?";
+ mes "You can only buy a maximum of '"+.@max+"' ea.";
+ mes "Enter '0' if you want to cancel.";
+ next;
+ input .@amount;
+ if (.@amount == 0) {
+ mes "[Poison Herb Merchant]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ if (.@amount > .@max) {
+ mes "[Poison Herb Merchant]";
+ mes "The number must be less than "+.@max$+"!";
+ close;
+ }
+ set .@total, .@amount * .@price;
+ if (Zeny < .@total) {
+ mes "[Poison Herb Merchant]";
+ mes "You don't have enough money.";
+ mes "Check how much money you have first.";
close;
}
+ set Zeny, Zeny - .@total;
+ getitem .@item, .@amount;
+ mes "[Poison Herb Merchant]";
+ mes "Thank you. Come back again~!";
+ close;
}
-morocc,190,96,4 duplicate(PHS) Poison Herb Salesman#moc 877
-lhz_in02,16,205,4 duplicate(PHS) Poison Herb Salesman#lhz 877
+job3_guil01,79,96,3 duplicate(phs) Poison Herb Merchant 877
+morocc,191,94,4 duplicate(phs) Poison Herb Merchant#moc 877 //Official: (190,96) -> in a wall
+lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 877
-job3_rune01,90,62,3 script Rune Salesman::runesale 853,{
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
+// Rune Stone Merchants (Rune Knight)
+//============================================================
+- script ::runesale -1,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
@@ -91,57 +94,67 @@ job3_rune01,90,62,3 script Rune Salesman::runesale 853,{
mes "- after you lose some weight. -";
close;
}
- mes "[Rune Salesman]";
+ mes "[Rune Merchant]";
mes "Hey, do you need Runes?!";
- mes "I sell all kinds of Rune Stones!";
- mes "What kind of Rune do you want?";
+ mes "I sell all sorts of Rune Stones!";
+ mes "What would you like?";
next;
set .@i, select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones.");
- mes "[Rune Salesman]";
+ mes "[Rune Merchant]";
if (.@i == 1) {
mes "High-quality Runes!";
mes "They cost 2,500 zeny each!";
- setarray .@rune[0],12734,2500;
+ set .@item,12734; //Runstone_Quality
+ set .@price,2500;
} else {
mes "Ordinary Rune Stones?";
mes "They cost 1,000 zeny each!";
+ set .@item,12737; //Runstone_Ordinary
+ set .@price,1000;
setarray .@rune[0],12737,1000;
}
- mes "Tell me how many you want to buy";
+ mes "Tell me how many you want,";
mes "and remember, you can only";
- mes "buy a maximum amount of 2000 ea!";
+ mes "buy a maximum of '2000' ea.";
next;
input .@amount;
- mes "[Rune Salesman]";
if (.@amount == 0) {
- mes "You're not buying? Go away!";
+ mes "[Rune Merchant]";
+ mes "You're not buying? Please leave!";
close;
}
if (.@amount > 2000) {
- mes "Please check the maximum";
- mes "amount and then come back to me again!";
+ mes "[Rune Merchant]";
+ mes "The number must be less than 2,000!";
close;
}
- if (Zeny < .@amount*.@rune[1]) {
- mes "Money! Money!";
- mes "You are short of money!";
- mes "Check the amount of money you have!!";
+ set .@total, .@amount * .@price;
+ if (Zeny < .@total) {
+ mes "[Rune Merchant]";
+ mes "Zeny! Zeny!";
+ mes "You don't have enough money.";
+ mes "Check how much money you have first.";
close;
}
- if (!checkweight(.@rune[0],.@amount)) {
- mes "You're not able to carry it, so why are you trying to buy it?!";
+ if (!checkweight(.@item,.@amount)) {
+ mes "[Rune Merchant]";
+ mes "It doesn't seem like you are able to carry it all, why are you trying it?!";
close;
}
- set Zeny, Zeny-(.@amount*.@rune[1]);
- getitem .@rune[0],.@amount;
- mes "You can buy more again.";
- mes "So, see you later.";
+ set Zeny, Zeny - .@total;
+ getitem .@item, .@amount;
+ mes "[Rune Merchant]";
+ mes "Thank you.";
+ mes "Please come back again~!";
close;
}
-prontera,168,228,3 duplicate(runesale) Rune Salesman#1 853
+job3_rune01,90,62,3 duplicate(runesale) Rune Merchant#job3 853
+prontera,168,228,3 duplicate(runesale) Rune Merchant#prt 853
+// Rare Herb Merchants (Guillotine Cross)
+//============================================================
job3_guil01,91,93,3 script Rare Herb Collector 49,{
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
@@ -151,27 +164,48 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{
}
if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) {
mes "[Rare Poison Herb Collector]";
- mes "I wander around the world and collect rare poison herbs. Recently, I am dealing in the herb called Izidor. If you are interested, you can buy them.";
+ mes "I wander around the world and collect rare poison herbs. Recently, I started dealing in the herb called Izidor. If you are interested, you can buy them.";
next;
- set .@i, select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle")-1;
- if (.@i == 0) {
+ set .@i, select("How can I buy them?:Exchange it for Animal Blood:Exchange it for a Bitter Herb:Exchange it for a Deadly Noxious Herb:Exchange it for a Frozen Rose:Exchange it for Ment:Exchange it for Hinalle")-2;
+ if (.@i == -1) {
mes "[Rare Poison Herb Collector]";
- mes "You can buy any of those items for 10,000 zeny: Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or Hinalle. ";
+ mes "You can buy them for 10,000 zeny and one of these rare items, Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or an Hinalle.";
next;
mes "[Rare Poison Herb Collector]";
- mes "Why I ask for money? That is just to pay a little respect to a collector like me. Ha ha ha...";
+ mes "Why do I ask money? That's just to pay a little respect to a collector like me. Ha ha ha...";
close;
} else {
- setarray .@exchange[1],702,621,631,749,605,703;
+ setarray .@exchange[0],702,621,631,749,605,703;
+ set .@item, .@exchange[.@i];
+ set .@price, 10000;
+
mes "[Rare Poison Herb Collector]";
- if (!countitem(.@exchange[.@i]) || Zeny < 10000) {
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ mes "How many do you want?";
+ mes "You can only buy a maximum of '2000' ea.";
+ mes "Enter '0' if you want to cancel.";
+ next;
+ input .@amount;
+ if (.@amount == 0) {
+ mes "[Rare Poison Herb Collector]";
+ mes "You've cancelled the trade.";
+ close;
+ }
+ if (.@amount > 2000) {
+ mes "[Rare Poison Herb Collector]";
+ mes "The number must be less than 2,000!";
+ close;
+ }
+ set .@total, .@amount * .@price;
+ if (countitem(.@item) < .@amount || Zeny < .@total) {
+ mes "[Rare Poison Herb Collector]";
+ mes "Hey, come back when you have all the requirements for the exchange.";
close;
}
- mes "Thank you. I've received your payment.";
- delitem .@exchange[.@i],1;
- set Zeny, Zeny-10000;
- getitem 709,1;
+ mes "[Rare Poison Herb Collector]";
+ mes "Good. I've received the money and the special item.";
+ delitem .@item, .@amount;
+ set Zeny, Zeny - .@total;
+ getitem 709, .@amount; //Izidor
close;
}
}
@@ -180,8 +214,10 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{
close;
}
-gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
+// Point Merchants (Sorcerer)
+//============================================================
+- script ::pss -1,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
@@ -189,11 +225,11 @@ gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{
mes "- after you lose some weight. -";
close;
}
- mes "[Point Salesman]";
+ mes "[Point Merchant]";
mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?";
next;
set .@i, select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1;
- mes "[Point Salesman]";
+ mes "[Point Merchant]";
if (.@i == 4) {
mes "You can't find the stuff you need?";
close;
@@ -205,7 +241,7 @@ gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{
mes "If you want to cancel, enter 0.";
next;
input .@amount;
- mes "[Point Salesman]";
+ mes "[Point Merchant]";
if (.@amount == 0) {
mes "You've cancelled the trade.";
close;
@@ -223,6 +259,22 @@ gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{
mes "Thank you very much. See you~!";
close;
}
-comodo,241,103,6 duplicate(pss) Point Salesman#1 700
-alberta,105,52,7 duplicate(pss) Point Salesman#2 700
-veins,202,128,6 duplicate(pss) Point Salesman#3 700
+gef_tower,105,172,5 duplicate(pss) Point Merchant#Sorcerer 700
+prt_in,131,66,0 duplicate(pss) Point Merchant#Prontera 700
+alberta,105,52,7 duplicate(pss) Point Merchant#Alberta 700
+aldebaran,133,114,5 duplicate(pss) Point Merchant#Aldebaran 700
+comodo,193,159,5 duplicate(pss) Point Merchant#Comodo 700
+geffen,129,49,5 duplicate(pss) Point Merchant#Geffen 700
+izlude,138,163,5 duplicate(pss) Point Merchant#Izlude 700 // Old coordinates: izlude (135,121)
+izlude_a,138,163,5 duplicate(pss) Point Merchant#Izlude_a 700
+izlude_b,138,163,5 duplicate(pss) Point Merchant#Izlude_b 700
+izlude_c,138,163,5 duplicate(pss) Point Merchant#Izlude_c 700
+izlude_d,138,163,5 duplicate(pss) Point Merchant#Izlude_d 700
+malangdo,214,163,5 duplicate(pss) Point Merchant#Malangdo 700
+mora,115,118,3 duplicate(pss) Point Merchant#Mora 700
+ra_in01,256,273,3 duplicate(pss) Point Merchant#Rachel 700
+veins,202,128,5 duplicate(pss) Point Merchant#Veins 700
+dicastes01,207,200,5 duplicate(pss) Point Merchant#Dicastes 700
+manuk,261,206,3 duplicate(pss) Point Merchant#Manuk 700
+splendide,207,160,5 duplicate(pss) Point Merchant#Splendide 700
+mid_camp,224,237,3 duplicate(pss) Point Merchant#Midgard 700
diff --git a/npc/re/merchants/advanced_refiner.txt b/npc/re/merchants/advanced_refiner.txt
new file mode 100644
index 000000000..c6aa75124
--- /dev/null
+++ b/npc/re/merchants/advanced_refiner.txt
@@ -0,0 +1,196 @@
+//===== Hercules Script ======================================
+//= Advanced Refiner
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Refiner that uses Enriched ores to increase upgrade success.
+//= After a conversation with Doddler, it's been established that
+//= the advanced refiner works similar the the "Bubble Gum" item.
+//= The success percentage is not "increased" however, if it fails
+//= You get a second try. This tries twice at the same time,
+//= effectively giving you a re-roll on your attempt.
+//===== Additional Comments: =================================
+//= 1.0 Added Malangdo Refiner "Holink". [Euphy]
+//============================================================
+
+malangdo,221,174,6 script Holink#mal_cash 559,{
+ disable_items;
+ mes "[Holink]";
+ mes "I am the meow~ Blacksmith Holink~";
+ mes "Master of refining, Holink~";
+ mes "I am the special cat Holink who learned from Morroc~";
+ mes "My daughter is so proud of me, Holink~";
+ mes "What should Holink~ refine today?";
+ next;
+ setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
+ set .@menu$,"";
+ for(set .@i,1; .@i<=10; set .@i,.@i+1)
+ set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Empty]")+":";
+ set .@part, select(.@menu$);
+ if (!getequipisequiped(.@part)) {
+ mes "[Holink]";
+ switch(.@part) {
+ case 1:
+ mes "My teacher Aragam said meow~";
+ mes "There's no cure for stupidity...";
+ break;
+ case 2:
+ mes "There's nothing to see here, meow!!";
+ break;
+ case 3:
+ mes "Meow? What do you want me to do with this left hand...?";
+ break;
+ case 4:
+ mes "Meow? What do you want me to do with this right hand...?";
+ break;
+ case 5:
+ mes "Meow? You don't have anything on.";
+ break;
+ case 6:
+ mes "Kyang~! Do not mess with my sensitive olfactory, meow~.";
+ break;
+ case 7:
+ case 8:
+ mes "Meow? Where is the accessory?";
+ break;
+ case 9:
+ case 10:
+ mes "Meow? You talking about the other head parts, meow?~";
+ break;
+ }
+ close;
+ }
+ if (!getequipisenableref(.@part)) {
+ mes "[Holink]";
+ mes "Even Aragam can't refine such a thing, meow.";
+ close;
+ }
+ if (getequiprefinerycnt(.@part) >= 10) {
+ mes "[Holink]";
+ mes "Meow~ Perfect refining. Did Aragam do this, meow?~";
+ close;
+ }
+ mes "[Holink]";
+ switch(getequipweaponlv(.@part)) {
+ default:
+ case 0: // Armor
+ set .@price,15000;
+ set .@material,7619; //Enriched_Elunium
+ set .@type$,"armor";
+ mes "You have chosen an armor, meow~";
+ break;
+ case 1: // Level 1 Weapon
+ set .@price,500;
+ set .@material,7620; //Enriched_Oridecon
+ set .@type$,"weapon";
+ mes "A level 1 weapon...?";
+ break;
+ case 2: // Level 2 Weapon
+ set .@price,2000;
+ set .@material,7620; //Enriched_Oridecon
+ set .@type$,"weapon";
+ mes "Meow, a level 2 weapon...?";
+ break;
+ case 3: // Level 3 Weapon
+ set .@price,20000;
+ set .@material,7620; //Enriched_Oridecon
+ set .@type$,"weapon";
+ mes "Meow Meow~~ A level 3 weapon~~";
+ break;
+ case 4: // Level 4 Weapon
+ set .@price,50000;
+ set .@material,7620; //Enriched_Oridecon
+ set .@type$,"weapon";
+ mes "Me-Meow!... A level 4 weapon...!";
+ mes "I've only seen it twice while";
+ mes "learning from Aragam... Me-Meow!!";
+ break;
+ }
+ mes "You need ^ff9999"+getitemname(.@material)+"^000000 and ^ff9999"+.@price+"^000000 Zeny for this refine, meow~";
+ mes "Want to continue, meow?~";
+ next;
+ if(select("Yes!!:No!!") == 2) {
+ mes "[Holink]";
+ mes "Kyack!!";
+ mes "You don't belive in refine master Holink, meow?~";
+ close;
+ }
+ if (getequippercentrefinery(.@part) < 100) {
+ mes "[Holink]";
+ mes "Meow!!";
+ if (.@type$ == "armor")
+ mes "This armor was already refined so many times, meow.";
+ else {
+ mes "Danger. Danger~";
+ mes "This weapon was refined a lot, meow~";
+ next;
+ mes "[Holink]";
+ }
+ mes "You might break it if you continue";
+ mes "to try refining this item further, meow.";
+ next;
+ mes "[Holink]";
+ mes "Once the "+.@type$+" is broken, you can";
+ mes "never use it again, meow. Not to mention... all current";
+ mes "^ff0000cards and enchantments will vanish for sure^000000.";
+ mes "You still want to try, meow~?";
+ next;
+ if(select("Yes, I do!!:Forget about it!!") == 2) {
+ mes "[Holink]";
+ mes "Meow! Wise choice, meow.";
+ mes "But!!";
+ mes "I am not happy to see you doubting the refine master Holink, meow~";
+ close;
+ }
+ }
+ if (countitem(.@material) == 0 || Zeny < .@price) {
+ mes "[Holink]";
+ mes "You don't have the ingredients.";
+ mes "You need ^ff9999"+getitemname(.@material)+"^000000 and ^ff9999"+.@price+"^000000 Zeny, meow~";
+ mes "Go get it, meow~";
+ close;
+ }
+ delitem .@material,1;
+ set Zeny, Zeny-.@price;
+ if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+ successrefitem .@part;
+ mes "[Holink]";
+ mes "Me~ Me~ Meow! Fun fun refining~";
+ next;
+ emotion e_kis;
+ mes "[Holink]";
+ mes "Perfect!! Perfect, meow!!";
+ mes "I am the disciple of the refining wizard Aragam~";
+ mes "Holink!!";
+ mes "Another day of successful refining, meow!!";
+ close;
+ }
+ failedrefitem .@part;
+ mes "[Holink]";
+ mes "Meo~ Meow~ Kyaaak!!";
+ next;
+ switch(rand(1,5)) {
+ case 1: emotion e_sob; break;
+ case 2: emotion e_swt2; break;
+ case 3: emotion e_wah; break;
+ case 4: emotion e_hmm; break;
+ case 5: emotion e_lv2; break;
+ }
+ mes "[Holink]";
+ mes "Meow!! Aaaaakk~~!!!!";
+ mes "Kyaaak!! I have failed, meow!!";
+ next;
+ mes "[Holink]";
+ mes "......";
+ mes "......";
+ mes "All~ Everything~ Broken, meow...";
+ next;
+ mes "[Holink]";
+ mes "Meow.... Master Aragam once said,";
+ mes "learn from your failures...";
+ mes "Human, this one failure will be the beginning of your success in the future.";
+ close;
+}
diff --git a/npc/re/merchants/alchemist.txt b/npc/re/merchants/alchemist.txt
new file mode 100644
index 000000000..8687cb946
--- /dev/null
+++ b/npc/re/merchants/alchemist.txt
@@ -0,0 +1,117 @@
+//===== Hercules Script ======================================
+//= Alchemist Shop
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Merchants for Alchemist Materials and Manuals.
+//===== Additional Comments: =================================
+//= 1.0 Split Geneticist shop from main file. [Euphy]
+//= Updated dialogue to match the official script.
+//============================================================
+
+alde_alche,31,186,3 script Craft Book Merchant#alde 883,{
+ mes "[Craft Book Merchant]";
+ mes "Welcome.";
+ mes "I'm here to sell";
+ mes "^0000FFspecial craft books^000000 for Geneticists.";
+ next;
+ mes "[Craft Book Merchant]";
+ mes "Geneticists have some skills";
+ mes "that require craft books to activate.";
+ next;
+ mes "[Craft Book Merchant]";
+ mes "The more craft books you have,";
+ mes "the more skills you can use.";
+ next;
+ mes "[Craft Book Merchant]";
+ mes "Please understand that";
+ mes "I specialize in the sale of these special books and";
+ mes "I ^FF0000don't sell other items^000000.";
+ next;
+ mes "[Craft Book Merchant]";
+ mes "Would you like to take a look at my craft books?";
+ next;
+ if(select("Sure.:No.") == 2) {
+ mes "[Craft Book Merchant]";
+ mes "Thank you for visiting my shop.";
+ mes "Please be safe on your travels.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "[Craft Book Merchant]";
+ mes "I'm sorry, but your inventory is almost full.";
+ mes "Please empty your inventory first.";
+ close;
+ }
+ if (MaxWeight - Weight < 2500) {
+ mes "[Craft Book Merchant]";
+ mes "Please empty your inventory first.";
+ close;
+ }
+ mes "[Craft Book Merchant]";
+ mes "Okay then, here's the list of available craft books.";
+ next;
+ switch(select("[Apple Bomb Craft Book] 100,000 zeny:[Pineapple Bomb Craft Book] 100,000 zeny:[Coconut Bomb Craft Book] 100,000 zeny:[Melon Bomb Craft Book] 100,000 zeny:[Banana Bomb Craft Book] 100,000 zeny:[Plant Gene Cultivation Method] 100,000 zeny:[Superior Potion Craft Manual] 100,000 zeny:[Mix Cooking Book] 100,000 zeny:[Health Improvement Research Book] 100,000 zeny:[Vigor Drink Recipe] 100,000 zeny:Close")){
+ case 1: set .@item,6279; break;
+ case 2: set .@item,6280; break;
+ case 3: set .@item,6281; break;
+ case 4: set .@item,6282; break;
+ case 5: set .@item,6283; break;
+ case 6: set .@item,6284; break;
+ case 7: set .@item,6285; break;
+ case 8: set .@item,11022; break;
+ case 9: set .@item,11023; break;
+ case 10: set .@item,11024; break;
+ case 11:
+ mes "[Craft Book Merchant]";
+ mes "Thank you for your patronage.";
+ mes "Please come again.";
+ close;
+ }
+ mes "[Craft Book Merchant]";
+ mes "^0000FF["+getitemname(.@item)+"] costs";
+ mes "100,000 zeny.";
+ mes "How many would you like to purchase?";
+ next;
+ input .@amount;
+ if (.@amount == 0) {
+ mes "[Craft Book Merchant]";
+ mes "Would you like to see some different books?";
+ close;
+ }
+ if (.@amount < 1 || .@amount > 99 ){
+ mes "[Craft Book Merchant]";
+ mes "You cannot purchase more than 100 at a time.";
+ close;
+ }
+ mes "[Craft Book Merchant]";
+ mes "You've entered "+.@amount+"x ^0000FF["+getitemname(.@item)+"]^000000 to be purchased.";
+ mes "Would you like to continue?";
+ next;
+ if (select("Yes:No") == 1) {
+ set .@total, .@amount * 100000;
+ if (Zeny < .@total) {
+ mes "[Craft Book Merchant]";
+ mes "I'm sorry, but you don't have enough money.";
+ close;
+ }
+ if (checkweight(.@item,.@amount) == 0){
+ mes "[Craft Book Merchant]";
+ mes "It doesn't seem like you can carry everything.";
+ mes "Please check the space in your inventory.";
+ close;
+ }
+ mes "[Craft Book Merchant]";
+ mes "Thank you for your patronage.";
+ set Zeny,Zeny - .@total;
+ getitem .@item,.@amount;
+ close;
+ }
+ mes "[Craft Book Merchant]";
+ mes "Please take your time";
+ mes "before you make your decision.";
+ close;
+}
diff --git a/npc/re/merchants/ammo_boxes.txt b/npc/re/merchants/ammo_boxes.txt
new file mode 100644
index 000000000..ba9e4fd96
--- /dev/null
+++ b/npc/re/merchants/ammo_boxes.txt
@@ -0,0 +1,19 @@
+//===== Hercules Script ======================================
+//= Magazine Dealers
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Turns bullets into magazines/packs.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal duplicates.
+//= 1.1 Added Izlude duplicates. [Euphy]
+//============================================================
+
+que_ng,187,149,3 duplicate(mdk) Magazine Dealer Kenny#ng 83
+izlude,74,104,3 duplicate(mdk) Magazine Dealer Kenny#iz 83
+izlude_a,74,104,3 duplicate(mdk) Magazine Dealer Kenny#a 83
+izlude_b,74,104,3 duplicate(mdk) Magazine Dealer Kenny#b 83
+izlude_c,74,104,3 duplicate(mdk) Magazine Dealer Kenny#c 83
+izlude_d,74,104,3 duplicate(mdk) Magazine Dealer Kenny#d 83
diff --git a/npc/re/merchants/ammo_dealer.txt b/npc/re/merchants/ammo_dealer.txt
new file mode 100644
index 000000000..9925d809c
--- /dev/null
+++ b/npc/re/merchants/ammo_dealer.txt
@@ -0,0 +1,19 @@
+//===== Hercules Script ======================================
+//= Bullet Dealers
+//===== By ===================================================
+//= Euphy
+//===== Version ==============================================
+//= 1.1
+//===== Description ==========================================
+//= Bullet trader.
+//===== Comments =============================================
+//= 1.0 First version, Renewal duplicates.
+//= 1.1 Added Izlude duplicates. [Euphy]
+//============================================================
+
+que_ng,187,156,3 duplicate(bdt) Bullet Dealer Tony#ng 86
+izlude,77,104,3 duplicate(bdt) Bullet Dealer Tony#iz 86 //Official: (74,106) -> in the water
+izlude_a,77,104,3 duplicate(bdt) Bullet Dealer Tony#a 86
+izlude_b,77,104,3 duplicate(bdt) Bullet Dealer Tony#b 86
+izlude_c,77,104,3 duplicate(bdt) Bullet Dealer Tony#c 86
+izlude_d,77,104,3 duplicate(bdt) Bullet Dealer Tony#d 86
diff --git a/npc/re/merchants/blessed_refiner.txt b/npc/re/merchants/blessed_refiner.txt
index a25701774..fc62cd216 100644
--- a/npc/re/merchants/blessed_refiner.txt
+++ b/npc/re/merchants/blessed_refiner.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Blessed Refiner
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Refiners that use Blessed ores to refine equipment.
diff --git a/npc/re/merchants/card_separation.txt b/npc/re/merchants/card_separation.txt
index 386474000..8187d4fe7 100644
--- a/npc/re/merchants/card_separation.txt
+++ b/npc/re/merchants/card_separation.txt
@@ -1,19 +1,18 @@
//===== Hercules Script ======================================
//= Card Separation System
-//===== By: ==================================================
+//===== By: ==================================================
//= Muad_Dib
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
//= [Official Conversion]
//= Separates cards from equipment.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Euphy]
-//============================================================
+//= 1.1 Added "Richard" NPC. [Euphy]
+//============================================================
-malangdo,215,166,4 script Jeremy#mal 553,{
+- script ::CardSeparation_mal -1,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of objects. Let's try to continue after reducing those objects.";
@@ -23,19 +22,32 @@ malangdo,215,166,4 script Jeremy#mal 553,{
mes "Can't continue because you have too many heavy objects. Let's try to continue after reducing the weight.";
close;
}
- mes "[Jeremy]";
- mes "Long time no see~";
- mes "I have learned a new skill that separates cards from Armor, Shoes, Garment and Headgear. Do you want to try it?";
+ if (strnpcinfo(1) == "Jeremy") {
+ set .@Jeremy,1;
+ set .@n$, "[Jeremy]";
+ setarray .@equip_name$[0], "Armor", "Shoes", "Garment", "Upper Hat";
+ setarray .@equip_slot[0], EQI_ARMOR,EQI_SHOES,EQI_GARMENT,EQI_HEAD_TOP;
+
+ mes .@n$;
+ mes "Long time no see~";
+ mes "I have learned a new skill that separates cards from Armor, Shoes, Garment and Headgear. Do you want to try it?";
+ } else {
+ set .@Jeremy,0;
+ set .@n$, "[Richard]";
+ setarray .@equip_name$[0], "Left hand", "Right hand";
+ setarray .@equip_slot[0], EQI_HAND_L, EQI_HAND_R;
+
+ mes .@n$;
+ mes "Silly Jeremy does not want to touch weapons and shields because of picking several cards that might be damaged. That is why I prepared a card separaion skill for weapons and shields...";
+ }
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "Generally the fee is 1,000,000 Zeny. During the card separation, you can use ^990000special items that reduce the rate of destroying equipment or cards^000000. We don't charge additional zeny for this.";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "There is a possibility of destroying them even using a special item. Also, ^ff0000the refine level might be lost^000000. Do you have any equipment to separate?";
next;
- setarray .@equip_name$[0], "Armor", "Shoes", "Garment", "Upper Hat";
- setarray .@equip_slot[0], EQI_ARMOR,EQI_SHOES,EQI_GARMENT,EQI_HEAD_TOP;
for(set .@i,0; .@i<getarraysize(.@equip_slot); set .@i,.@i+1) {
if (getequipisequiped(.@equip_slot[.@i]))
set .@menu$, .@menu$+getequipname(.@equip_slot[.@i])+":";
@@ -43,62 +55,55 @@ malangdo,215,166,4 script Jeremy#mal 553,{
set .@menu$, .@menu$+"^999999"+.@equip_name$[.@i]+" (empty)^000000:";
}
- set .@i, select("Stop the work:How is it possible?:"+.@menu$);
+ set .@i, select("Stop the work:"+((.@Jeremy)?"How is it possible?":"")+":"+.@menu$);
switch(.@i) {
case 1:
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
case 2:
- mes "[Jeremy]";
+ mes .@n$;
mes "You wonder what is so special. Well, I hate to give only a guide, so let me tell you the story...";
next;
mes "^000099Jeremy is stretching his shoulders and hands. He might be waiting for someone to talk with him.^000000";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "Do you know that Malangdo's specialty is canned food?";
next;
select("I knew that well. Is it that limited?");
- mes "[Jeremy]";
+ mes .@n$;
mes "Hehe... Everyone loves it. But there were some problems before.";
next;
select("Problems? Is there any faulty fish?");
- mes "[Jeremy]";
+ mes .@n$;
mes "No, the fish does not have any problem. The problem is lots of fish oil produced after processing. That is such an industrial waste.";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "However, after a revitalizing refining process, this fish oil became valuable to use for old equipment care and industrial lubricant.";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "In addition, this oil is so useful to separate relics from equipped weapons that we can't buy Premium Lubricant and Ordinary Lubricant with Zeny.";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "Well, don't worry about money. Surely the Premium Lubricant is expensive. If you pay some zeny, I can give you cheaper lubricant.";
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "I'm not sure about the quality of success. Anyway, this is so cheap, right?";
close;
default:
set .@equip_num, .@equip_slot[.@i-3];
if (!getequipisequiped(.@equip_num)) {
- mes "[Jeremy]";
- mes "In this part, there is nothing?";
+ mes .@n$;
+ if (.@Jeremy)
+ mes "In this part, there is nothing?";
+ else
+ mes "There is nothing on that part?";
close;
}
break;
}
- setarray .@equip_card[0], getequipcardid(.@equip_num,0),getequipcardid(.@equip_num,1),getequipcardid(.@equip_num,2),getequipcardid(.@equip_num,3);
- for(set .@i,0; .@i<4; set .@i,.@i+1) {
- if (.@equip_card[.@i] >= 4700) // Armor Enchant System
- set .@equip_card[.@i],0;
- }
- if (!getarraysize(.@equip_card)) {
- mes "[Jeremy]";
- mes "The card is not equipped. Do you want to check again?";
- close;
- }
- // Detect MVP cards.
+ setarray .@equip_card[0], getequipcardid(.@equip_num,0),getequipcardid(.@equip_num,1),getequipcardid(.@equip_num,2),getequipcardid(.@equip_num,3);
set .@mvp_list$,
"|4408|4128|4456|4168|4142"+ //Gloom_Under_Night_Card, Golden_Bug_Card, Nidhogg_Shadow_Card, Dark_Lord_Card, Doppelganger_Card
"|4134|4137|4386|4407|4357"+ //Dracula_Card, Drake_Card, Detale_Card, Randgris_Card, B_Seyren_Card
@@ -109,15 +114,64 @@ malangdo,215,166,4 script Jeremy#mal 553,{
"|4403|4399|4376|4441|4302"+ //Kiel_Card, Thanatos_Card, Lady_Tanee_Card, Fallen_Bishop_Card, Tao_Gunka_Card
"|4305|4148|4318|4121|4365"+ //Turtle_General_Card, Pharaoh_Card, Knight_Windstorm_Card, Phreeoni_Card, B_Katrinn_Card
"|4363|4324|4361|4330|4342|"; //B_Magaleta_Card, Garm_Card, B_Harword_Card, Dark_Snake_Lord_Card, Rsx_0806_Card
- if ((.@equip_card[0] && compare(.@mvp_list$,"|"+.@equip_card[0]+"|")) ||
- (.@equip_card[1] && compare(.@mvp_list$,"|"+.@equip_card[1]+"|")) ||
- (.@equip_card[2] && compare(.@mvp_list$,"|"+.@equip_card[2]+"|")) ||
- (.@equip_card[3] && compare(.@mvp_list$,"|"+.@equip_card[3]+"|")))
- set .@boss_chk,1;
+ if (.@Jeremy) {
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@equip_card[.@i] >= 4700) // Armor Enchant System
+ set .@equip_card[.@i],0;
+ }
+ if (!getarraysize(.@equip_card)) {
+ mes .@n$;
+ mes "The card is not equipped. Do you want to check again?";
+ close;
+ }
+ if ((.@equip_card[0] && compare(.@mvp_list$,"|"+.@equip_card[0]+"|")) ||
+ (.@equip_card[1] && compare(.@mvp_list$,"|"+.@equip_card[1]+"|")) ||
+ (.@equip_card[2] && compare(.@mvp_list$,"|"+.@equip_card[2]+"|")) ||
+ (.@equip_card[3] && compare(.@mvp_list$,"|"+.@equip_card[3]+"|")))
+ set .@boss_chk,1;
+ } else {
+ // Official "Richard" script uses a hardcoded list including every possible item.
+ //if (!getequipisequiped(.@equip_num)) {
+ // mes "[Richard]";
+ // mes "I'm sorry. We don't provide that equipmnet yet.";
+ // close;
+ //}
+
+ mes "[Richard]";
+ mes "Which number socket do you want to separate the card? From the left socket, they are sorted 1,2,3,4.";
+ next;
+ set .@menu$,"";
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@equip_card[.@i] && .@equip_card[.@i] < 4700) // Armor Enchant System
+ set .@menu$, .@menu$+"Socket "+(.@i+1)+" - "+getitemname(.@equip_card[.@i])+":";
+ else
+ set .@menu$, .@menu$+"^777777Socket "+(.@i+1)+" - No card^000000:";
+ }
+ set .@i, select("Stop the work:"+.@menu$);
+ switch(.@i) {
+ case 1:
+ mes .@n$;
+ mes "Whenever you need to work, please come to me.";
+ close;
+ default:
+ set .@slot, .@i-2;
+ if (.@equip_card[.@slot] == 0 || .@equip_card[.@slot] >= 4700) {
+ mes .@n$;
+ mes "This socket is not equipped with any card. Why don't you check again?";
+ close;
+ }
+ break;
+ }
+ if (compare(.@mvp_list$,"|"+.@equip_card[.@slot]+"|"))
+ set .@boss_chk,1;
+ }
if (.@boss_chk == 0) {
- mes "[Jeremy]";
- mes "Except cards, ^ff0000all enchanted effects will disappear.^000000 If you agree to this, please choose the work type:";
+ mes .@n$;
+ if (.@Jeremy)
+ mes "Except cards, ^ff0000all enchanted effects will disappear.^000000 If you agree to this, please choose the work type:";
+ else
+ mes "Please choose the working fee.";
next;
set .@menu$,
"Next time...:"+
@@ -126,20 +180,20 @@ malangdo,215,166,4 script Jeremy#mal 553,{
((countitem(6440))?"Use Ordinary Lubricant":"^999999Ordinary Lubricant (Insufficient)^000000");
switch(select(.@menu$)) {
case 1:
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
case 2:
if (Zeny < 1000000) {
- mes "[Jeremy]";
+ mes .@n$;
mes "You don't have enough zeny. Please come back with enough fees.";
close;
}
- mes "[Jeremy]";
+ mes .@n$;
mes "This is pretty old equipment. There is a high rate of destroying the cards or equipment during the work. Are you sure you want to continue?";
next;
if(select("Next time...:Continue") == 1) {
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
}
@@ -150,15 +204,15 @@ malangdo,215,166,4 script Jeremy#mal 553,{
break;
case 3:
if (countitem(6441) == 0) {
- mes "[Jeremy]";
+ mes .@n$;
mes "You don't have Premium Lubricant.";
close;
}
- mes "[Jeremy]";
+ mes .@n$;
mes "If you use the Premium Lubricant, the rate of destruction will be decreased highly, but I can't give you a 100% guarantee. Are you sure you want to continue?";
next;
if(select("Next time...:Continue") == 1) {
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
}
@@ -169,15 +223,15 @@ malangdo,215,166,4 script Jeremy#mal 553,{
break;
case 4:
if (countitem(6440) == 0) {
- mes "[Jeremy]";
+ mes .@n$;
mes "You don't have Ordinary Lubricant.";
close;
}
- mes "[Jeremy]";
+ mes .@n$;
mes "If you use the Ordinary Lubricant, the rate of destruction will be decreased highly, but I can't give you a 100% guarantee. Are you sure you want to continue?";
next;
if(select("Next time...:Continue") == 1) {
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
}
@@ -188,28 +242,34 @@ malangdo,215,166,4 script Jeremy#mal 553,{
break;
}
} else if (.@boss_chk == 1) {
- mes "[Jeremy]";
+ mes .@n$;
mes "This equipment contains a precious MVP card. This card can't be separated with lubricant. If you bring the super surfactant ^0000ffSillit Pong^000000, I will be able to work.";
next;
switch(select("Next time...:I have a Sillit Pong.")) {
case 1:
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
case 2:
if (countitem(6443) == 0) {
- mes "[Jeremy]";
+ mes .@n$;
mes "You don't have Sillit Pong.";
close;
}
break;
}
- mes "[Jeremy]";
- mes "Except cards, ^ff0000all enchanted effects will disappear.^000000 If you agree to this, please choose the work type:";
+ mes .@n$;
+ if (.@Jeremy) {
+ mes "Except cards, ^ff0000all enchanted effects will disappear.^000000 If you agree to this, please choose the work type:";
+ set .@menu$,"Alright, let's do it!";
+ } else {
+ mes "May I continue?";
+ set .@menu$,"I got it. Just do it quickly!";
+ }
next;
- switch(select("Next time...:Alright, let's do it!")) {
+ switch(select("Next time...:"+.@menu$)) {
case 1:
- mes "[Jeremy]";
+ mes .@n$;
mes "Whenever you need the work, visit me here.";
close;
case 2:
@@ -229,20 +289,37 @@ malangdo,215,166,4 script Jeremy#mal 553,{
if (rand(1,.@sf_r_num) >= 61)
set .@equip_refine,0;
- // Chance of retaining equipment.
- if (rand(1,.@sf_w_num) < 61) {
- set .@equip_safe,1;
- getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,0,0;
- }
+ if (.@Jeremy) {
+ // Chance of retaining equipment.
+ if (rand(1,.@sf_w_num) < 61) {
+ set .@equip_safe,1;
+ getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,0,0;
+ }
- // Chance of retaining cards.
- for(set .@i,0; .@i<4; set .@i,.@i+1) {
- if (.@equip_card[.@i]) {
- if (rand(1,.@sf_c_num) < 61)
- getitem .@equip_card[.@i],1;
- else
- set .@card_break,1;
+ // Chance of retaining cards.
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@equip_card[.@i]) {
+ if (rand(1,.@sf_c_num) < 61)
+ getitem .@equip_card[.@i],1;
+ else
+ set .@card_break,1;
+ }
}
+ } else {
+ set .@card, .@equip_card[.@slot];
+ set .@equip_card[.@slot],0;
+
+ // Chance of retaining equipment.
+ if (rand(1,.@sf_w_num) < 61) {
+ set .@equip_safe,1;
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+ }
+
+ // Chance of retaining card.
+ if (rand(1,.@sf_c_num) < 61)
+ getitem .@card,1;
+ else
+ set .@card_break,1;
}
// Display corresponding effect.
@@ -273,7 +350,9 @@ malangdo,215,166,4 script Jeremy#mal 553,{
mes "Card has been damaged. ^ff0000Unrecoverable.^000000";
}
next;
- mes "[Jeremy]";
+ mes .@n$;
mes "That is all for the results of the card separation. Please come again.";
close;
}
+malangdo,215,166,4 duplicate(CardSeparation_mal) Jeremy#pa0829 553
+malangdo,208,166,6 duplicate(CardSeparation_mal) Richard#pa0829 559
diff --git a/npc/re/merchants/catalog.txt b/npc/re/merchants/catalog.txt
index 67f45059a..8d4d47cdc 100644
--- a/npc/re/merchants/catalog.txt
+++ b/npc/re/merchants/catalog.txt
@@ -4,8 +4,6 @@
//= skyiing, Scriptor
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Catalogs allow players to easily search for items in-game,
@@ -13,7 +11,7 @@
//===== Additional Comments: =================================
//= 1.0 Moved from root directory. [Euphy]
//= 1.1 Updated dialogue. [Euphy]
-//============================================================
+//============================================================
moc_para01,22,16,5 script Catalog Magician#catal01 704,{
if (!checkweight(1301,3)) {
@@ -105,4 +103,4 @@ moc_para01,22,16,5 script Catalog Magician#catal01 704,{
mes "So... let's start!! Buy more of them, please! PLEASE...!";
close;
}
-} \ No newline at end of file
+}
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index a78491ffc..2796a4a70 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -4,8 +4,6 @@
//= Hercules Dev Team
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Renewal coin redemption NPCs.
diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt
index fa19f372d..43d565188 100644
--- a/npc/re/merchants/diamond.txt
+++ b/npc/re/merchants/diamond.txt
@@ -4,18 +4,16 @@
//= Z3R0
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
-//= [Aegis Conversion]
+//= [Official Conversion]
//= Exchanges 17 Carat Diamond
//===== Additional Comments: =================================
-//= v1.0 First / Optimized Version
-//= v1.1 Adjusted for Missing ; on Line #271 (#15425)
-//= v1.2 Removed Comments per Request (#15426)
-//= v1.3 Changed Emotion # to Const Definition (#15427)
-//= v1.4 Removed Double Space on Line #148 (#15428)
-//= v1.5 Added This Version History (#15429)
+//= 1.0 First / Optimized Version
+//= 1.1 Adjusted for Missing ; on Line #271 (#15425)
+//= 1.2 Removed Comments per Request (#15426)
+//= 1.3 Changed Emotion # to Const Definition (#15427)
+//= 1.4 Removed Double Space on Line #148 (#15428)
+//= 1.5 Added This Version History (#15429)
//============================================================
- script RareDiamondMerchant 58,{
diff --git a/npc/re/merchants/enchan_mal.txt b/npc/re/merchants/enchan_mal.txt
index c7e182005..98a8fbf37 100644
--- a/npc/re/merchants/enchan_mal.txt
+++ b/npc/re/merchants/enchan_mal.txt
@@ -4,8 +4,6 @@
//= Muad_Dib
//===== Current Version: =====================================
//= 1.0a
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= [Official Conversion]
//= Adds enchantments to many high level weapons in exchange
@@ -28,10 +26,10 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
mes "[Mayomayo]";
mes "Wow welcome. It is new Mayomayo refinement store~ I enchant some luxury weapons including level 4 weapons.";
next;
- switch(select("Any store policy is changes?:Enhance high ranked weapons:Reset reinforcement capability")) {
+ switch(select("Any store policy changes?:Enchant High Ranked Weapon:Initialize Enchant (Need Silvervine Fruit)")) {
case 1:
mes "[Mayomayo]";
- mes "When I enchanted weapons, the slotted cards or refined level sometimes dissipated. I hated it. However, one day I found how to do it without any extinction.";
+ mes "When I enchant weapons, the slotted cards or refined level are dissipated sometimes. I hated it. However, one day I found how to do it without any extinction.";
next;
mes "[Mayomayo]";
mes "Have you ever seen a building of person of reinforcement capacity association?";
@@ -42,7 +40,7 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
close;
}
mes "[Mayomayo]";
- mes "If you go the place, there is someone who enchants the Archangel Wing. At that time that was amazing, because that was impossible ability by my own skill.";
+ mes "If you go to the place, there is someone who enchants the Archangel Wing. At that time that was amazing, because that was impossible ability by my own skill.";
next;
mes "[Mayomayo]";
mes "Every night I became his butler and did odd jobs. That is how I learned to enchant.";
@@ -67,7 +65,7 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
set @mal_equip_id, getequipid(EQI_HAND_R);
set .@equip_type, getiteminfo(@mal_equip_id,11);
- //callsub L_Socket,<cost multiplier>,<type>;
+ //callsub L_Socket,<cost multiplier>,<4-x enchants possible>;
switch(.@equip_type) { // Check weapon type first to speed up the checks.
case 1: // Daggers
switch(@mal_equip_id) {
@@ -305,7 +303,7 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
}
mes "[Mayomayo]";
if (@mal_enchant_select == 1)
- mes "This is not suitable equipment for the enchant. Don't forget we only take care of high class weapons, including level 4 weapons~";
+ mes "This is not a suitable equipment for the enchant. Don't forget we only take care of high class weapons, including level 4 weapons~";
else
mes "This equipment can not be initialized. Don't forget we only handle some luxury weapons, including level 4 weapons~";
set @mal_equip_id,0;
diff --git a/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt
index b23a33494..5c0ecdc7a 100644
--- a/npc/re/merchants/enchan_mora.txt
+++ b/npc/re/merchants/enchan_mora.txt
@@ -1,20 +1,19 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mora Enchants
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
-//= 1.1a
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= [Official Conversion]
//= Adds enchantments to various items in exchange for
//= Mora coins.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Euphy]
//= 1.1 Optimized. [Euphy]
//= 1.1a Bug fixes. [Lemongrass]
-//============================================================
+//= 1.2 Bug fixes (bugreport:7930) [DeadlySilence]
+//============================================================
// Arch Bishop Enchants :: coin_arc
//============================================================
@@ -222,7 +221,7 @@ mora,96,74,5 script Master of Relics#pa0829 495,{
if (.@i <= 1024) {
// Basic combinations
// (raw: .@i increments by 16, 4 repeats)
- setarray .@enchant_slot2[0],4710,4720,4721,4240; //Inteligence2,Dexterity1,Dexterity2,Vitality1
+ setarray .@enchant_slot2[0],4711,4720,4721,4740; //Inteligence2,Dexterity1,Dexterity2,Vitality1
setarray .@enchant_slot3[0],.@sp,4799,4766,4788; //[sp],HP500,Atk2,Mdef6
setarray .@enchants[2],
.@enchant_slot2[rand(getarraysize(.@enchant_slot2))],
@@ -457,7 +456,7 @@ mora,99,93,5 script Artifact Crafter#pa0829 495,{
break;
}
set .@item, .@items[(.@select-2)%4];
- if (countitem(6380) == 0 || countitem(.@item) == 0) {
+ if (countitem(6380) < 2 || 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;
@@ -634,7 +633,7 @@ mora,148,98,3 script Artifact Researcher#new 521,{
}
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?";
+ mes "I'm not giving these services out for free pal. 100,000 zeny and 1 Mora Coin. Is that too much to ask?";
close;
}
mes "[Artifact Researcher]";
@@ -1227,7 +1226,7 @@ mora,124,82,4 script Artifact Collector#blan 522,{
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;
+ emotion e_otl,0;
mes "[Artifact Collector]";
mes "But +7! +7 is rare and just barely strong enough to work in my crafting attempts.";
next;
diff --git a/npc/re/merchants/enchan_upg.txt b/npc/re/merchants/enchan_upg.txt
new file mode 100644
index 000000000..6e5728aa2
--- /dev/null
+++ b/npc/re/merchants/enchan_upg.txt
@@ -0,0 +1,264 @@
+//===== Hercules Script ======================================
+//= Upgrade Weapon Enchants
+//===== By: ==================================================
+//= Skorm
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= [Official Conversion]
+//= Adds enchantments to Upgrade weapons.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Standardizing, grammar and bug fixes. [Euphy]
+//============================================================
+
+prt_in,28,73,3 script Devil Enchant Master#prq 63,{
+ disable_items;
+ if (checkweight(1201,1) == 0) {
+ mes "You are carrying too many items, please reduce it and come back again!";
+ close;
+ }
+ if (MaxWeight - Weight < 10000) {
+ mes "You are over the weight limit, please reduce it and come back again!";
+ close;
+ }
+ mes "[Devil Enchant Master]";
+ mes "Yes?";
+ mes "You are looking for me?";
+ next;
+ switch(select("This is the first time seeing you!:I heard that you are the best!:Please initialize the enchant.")) {
+ case 1:
+ mes "[Devil Enchant Master]";
+ mes "Ha ha ha~ Of course, I am not the kind of person that simply deals with people.";
+ next;
+ mes "[Devil Enchant Master]";
+ mes "Including you! Even if you offer me plenty of money, I will not simply enchant for you!!";
+ next;
+ mes "[Devil Enchant Master]";
+ mes "Have you seen my title? Very few people have this title for a reason!";
+ next;
+ mes "[Devil Enchant Master]";
+ mes "I will only enchant if you bring an ^0000ffEnchant Book^000000 along!";
+ next;
+ mes "[Devil Enchant Master]";
+ mes "Else, I will not enchant for you....";
+ close;
+ case 2:
+ if (!countitem(6484)) {
+ mes "[Devil Enchant Master]";
+ mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
+ close;
+ }
+ set .@select,1;
+ break;
+ case 3:
+ mes "[Devil Enchant Master]";
+ if (Zeny < 100000) {
+ mes "Initializing will cost 100,000 zeny. It seems you do not have enough zeny...";
+ close;
+ }
+ mes "Initializing will cost 100,000 zeny and confirming whether the weapon is enchanted!";
+ next;
+ if (select("Let me think about it.:Initialize it now!") == 1) {
+ mes "[Devil Enchant Master]";
+ mes "Come back after you have confirmed!";
+ close;
+ }
+ set .@select,2;
+ break;
+ }
+ set .@part, EQI_HAND_R;
+
+ mes "[Devil Enchant Master]";
+ if (!getequipisequiped(.@part)) {
+ mes "Are you trying to remove the enchanted equipment?";
+ close;
+ }
+ setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
+ if (!getequipisequiped(.@part)) {
+ mes "It is dangerous to remove equipment during enchant process!";
+ close;
+ }
+ set .@equip_id, getequipid(.@part);
+ set .@item$, "|1292|1394|1491|1585|2015|13071|13115|16019|18112|21000|";
+ if (!compare(.@item$,"|"+.@equip_id+"|")) {
+ mes "I don't want to touch your equipment now!";
+ close;
+ }
+ set .@equip_refine, getequiprefinerycnt(.@part);
+
+ if (.@select == 1) {
+ if (!countitem(6484)) {
+ mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
+ close;
+ }
+ mes "Which type of effect do you want to enchant?";
+ next;
+ switch(select("Let me think about it.:Physical Series:Magical Series")) {
+ case 1:
+ mes "[Devil Enchant Master]";
+ mes "Come back again after you change your mind!";
+ close;
+ case 2:
+ set .@enc_type,1;
+ break;
+ case 3:
+ set .@enc_type,2;
+ break;
+ }
+ mes "[Devil Enchant Master]";
+ if (.@equip_card[3]) {
+ mes "This equipment has been enchanted! You need to initialize first before you want to enchant it again.";
+ close;
+ }
+ mes "The enchant process might fail, and ^ff0000it will reduce partial refine level^000000, but the slotted card and weapon will not be broken! Are you sure you want to continue?";
+ next;
+ if (select("Next time!:Start now!") == 1) {
+ mes "[Devil Enchant Master]";
+ mes "Come back again after you have decided!";
+ close;
+ }
+ if (.@equip_card[3]) {
+ mes "[Devil Enchant Master]";
+ mes "It seems there's a problem, let me take a look.";
+ close;
+ }
+
+ if (.@enc_type == 1) { // Physical Series
+ set .@i, rand(1,1300);
+ if (.@i < 51) set .@enchant,4734; //Agility5
+ else if (.@i < 76) set .@enchant,4735; //Agility6
+ else if (.@i < 88) set .@enchant,4736; //Agility7
+ else if (.@i < 93) set .@enchant,4737; //Agility8
+ else if (.@i < 95) set .@enchant,4738; //Agility9
+ else if (.@i < 96) set .@enchant,4739; //Agility10
+ else if (.@i < 146) set .@enchant,4724; //Dexterity5
+ else if (.@i < 171) set .@enchant,4725; //Dexterity6
+ else if (.@i < 183) set .@enchant,4726; //Dexterity7
+ else if (.@i < 188) set .@enchant,4727; //Dexterity8
+ else if (.@i < 190) set .@enchant,4728; //Dexterity9
+ else if (.@i < 191) set .@enchant,4729; //Dexterity10
+ else if (.@i < 291) set .@enchant,4704; //Strength5
+ else if (.@i < 341) set .@enchant,4705; //Strength6
+ else if (.@i < 366) set .@enchant,4706; //Strength7
+ else if (.@i < 378) set .@enchant,4707; //Strength8
+ else if (.@i < 383) set .@enchant,4708; //Strength9
+ else if (.@i < 384) set .@enchant,4709; //Strength10
+ else if (.@i < 434) set .@enchant,4754; //Luck5
+ else if (.@i < 459) set .@enchant,4755; //Luck6
+ else if (.@i < 471) set .@enchant,4756; //Luck7
+ else if (.@i < 476) set .@enchant,4757; //Luck8
+ else if (.@i < 478) set .@enchant,4758; //Luck9
+ else if (.@i < 479) set .@enchant,4759; //Luck10
+ else if (.@i < 679) set .@enchant,4744; //Vitality5
+ else if (.@i < 779) set .@enchant,4745; //Vitality6
+ else if (.@i < 829) set .@enchant,4746; //Vitality7
+ else if (.@i < 854) set .@enchant,4747; //Vitality8
+ else if (.@i < 866) set .@enchant,4748; //Vitality9
+ else if (.@i < 867) set .@enchant,4749; //Vitality10
+ else if (.@i < 967) set .@enchant,4808; //Fighting_Spirit4
+ else if (.@i < 992) set .@enchant,4820; //Fighting_Spirit5
+ else if (.@i < 1092) set .@enchant,4835; //Expert_Archer4
+ else if (.@i < 1117) set .@enchant,4836; //Expert_Archer5
+ else if (.@i < 1217) set .@enchant,4835; //Expert_Archer4
+ else if (.@i < 1242) set .@enchant,4836; //Expert_Archer5
+ else set .@enchant,0;
+ } else if (.@enc_type == 2) { // Magical Series
+ set .@i, rand(1,1200);
+ if (.@i < 51) set .@enchant,4714; //Inteligence5
+ else if (.@i < 76) set .@enchant,4715; //Inteligence6
+ else if (.@i < 88) set .@enchant,4716; //Inteligence7
+ else if (.@i < 93) set .@enchant,4717; //Inteligence8
+ else if (.@i < 95) set .@enchant,4718; //Inteligence9
+ else if (.@i < 96) set .@enchant,4719; //Inteligence10
+ else if (.@i < 146) set .@enchant,4724; //Dexterity5
+ else if (.@i < 171) set .@enchant,4725; //Dexterity6
+ else if (.@i < 183) set .@enchant,4726; //Dexterity7
+ else if (.@i < 188) set .@enchant,4727; //Dexterity8
+ else if (.@i < 190) set .@enchant,4728; //Dexterity9
+ else if (.@i < 191) set .@enchant,4729; //Dexterity10
+ else if (.@i < 291) set .@enchant,4734; //Agility5
+ else if (.@i < 341) set .@enchant,4735; //Agility6
+ else if (.@i < 366) set .@enchant,4736; //Agility7
+ else if (.@i < 378) set .@enchant,4737; //Agility8
+ else if (.@i < 383) set .@enchant,4738; //Agility9
+ else if (.@i < 384) set .@enchant,4739; //Agility10
+ else if (.@i < 484) set .@enchant,4754; //Luck5
+ else if (.@i < 534) set .@enchant,4755; //Luck6
+ else if (.@i < 559) set .@enchant,4756; //Luck7
+ else if (.@i < 571) set .@enchant,4757; //Luck8
+ else if (.@i < 576) set .@enchant,4758; //Luck9
+ else if (.@i < 577) set .@enchant,4759; //Luck10
+ else if (.@i < 777) set .@enchant,4744; //Vitality5
+ else if (.@i < 877) set .@enchant,4745; //Vitality6
+ else if (.@i < 927) set .@enchant,4746; //Vitality7
+ else if (.@i < 952) set .@enchant,4747; //Vitality8
+ else if (.@i < 964) set .@enchant,4748; //Vitality9
+ else if (.@i < 969) set .@enchant,4749; //Vitality10
+ else if (.@i < 1069) set .@enchant,4812; //Spell4
+ else if (.@i < 1094) set .@enchant,4826; //Spell5
+ else if (.@i < 1119) set .@enchant,4761; //Matk2
+ else if (.@i < 1124) set .@enchant,4806; //Matk3
+ else set .@enchant,0;
+ } else {
+ mes "[Devil Enchant Master]";
+ mes "Hmm! This item is having a problem, please check it again!";
+ close;
+ }
+ mes "[Devil Enchant Master]";
+ if (.@equip_card[3]) {
+ mes "This item has been enchanted!";
+ close;
+ }
+ if (!countitem(6484)) {
+ mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
+ close;
+ }
+ if (.@enchant == 0) {
+ specialeffect EF_SHIELDCHARGE;
+ mes "Oh! Unbelievable!! It failed!! Please come again!";
+ set .@lost_refine, rand(0,.@equip_refine);
+ set .@equip_refine, .@equip_refine - .@lost_refine;
+ } else {
+ specialeffect EF_REPAIRWEAPON;
+ mes "The slot ^9900004^000000 has been enchanted!";
+ }
+ delitem 6484,1; //Enchant_Book
+ delequip .@part;
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@enchant
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@enchant;
+
+ if (.@lost_refine) {
+ next;
+ mes "[Devil Enchant Master]";
+ mes "The failure has reduced the refine by "+.@lost_refine+" level"+((.@lost_refine == 1)?"":"s")+"! Don't be depressed!";
+ }
+ close;
+ } else if (.@select == 2) {
+ if (Zeny < 100000) {
+ mes "You need to bring some money to initialize!!";
+ close;
+ }
+ if (.@equip_card[3] < 4700) { // Armor Enchant System
+ mes "This item is not enchanted!";
+ close;
+ }
+ if (!getequipisequiped(.@part)) {
+ mes "Are you unequipping now?";
+ close;
+ }
+ specialeffect EF_REPAIRWEAPON;
+ mes "I initialized the enchant effects.";
+ set Zeny, Zeny - 100000;
+ delequip .@part;
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] 0
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],0;
+
+ close;
+ } else {
+ mes "It seems you have chosen the wrong job??";
+ close;
+ }
+} \ No newline at end of file
diff --git a/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt
index 1aa7c38d4..b882c490f 100644
--- a/npc/re/merchants/flute.txt
+++ b/npc/re/merchants/flute.txt
@@ -3,20 +3,20 @@
//===== By: ==================================================
//= Masao, Muad_Dib, Ziu
//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2a
//===== Description: =========================================
+//= [Official Conversion]
//= Sells Falcon Flute and Wolf Flute.
//===== 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]
+//= 1.2a Fixed some conditions. [Euphy]
//============================================================
- script Falcon Flute Trader::fflute -1,{
mes "[Falcon Flute Trader]";
- if (BaseJob == Job_Hunter || Class == Job_Ranger || Class == Job_Ranger_T || Class == Job_Baby_Ranger) {
+ if (BaseJob == Job_Hunter) {
mes "Do you need a Falcon?";
mes "With a magical Flute, you can call your Falcon from anywhere!";
next;
@@ -40,14 +40,13 @@
mes "[Falcon Flute Trader]";
mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?";
next;
- if (BaseJob == Job_Hunter)
- set .@price,12500;
- else {
+ if (eaclass()&EAJL_THIRD) {
mes "[Falcon Flute Trader]";
mes "For Rangers, however, I have a special price of 10,000 zeny!";
set .@price,10000;
next;
- }
+ } else
+ set .@price,12500;
if(select("Don't buy one:Buy a Falcon Flute") == 1) {
mes "[Falcon Flute Trader]";
mes "That's too bad. If you need one, come back!";
@@ -65,7 +64,7 @@
mes "Here, take this flute.";
mes "With it you can whistle for your Falcon from anywhere.";
set Zeny, Zeny - .@price;
- getitem 12848,1; // Falcon Flute
+ getitem 12848,1; //Falcon_Flute
next;
mes "[Falcon Flute Trader]";
mes "Just a reminder.";
@@ -76,7 +75,7 @@
mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!";
close;
}
- if (Class == Job_Baby_Archer || Class == Job_Archer) {
+ if (BaseJob == Job_Archer) {
mes "Hello, young one!";
mes "Currently I can't help you,";
mes "but why don't you return to me when you've become a great Hunter and learned how to handle Falcons properly?";
diff --git a/npc/re/merchants/hd_refiner.txt b/npc/re/merchants/hd_refiner.txt
index 897986cd6..fed923af9 100644
--- a/npc/re/merchants/hd_refiner.txt
+++ b/npc/re/merchants/hd_refiner.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= HD Refiners
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Refiners that use HD ores to refine equipment. Upon
diff --git a/npc/re/merchants/inn.txt b/npc/re/merchants/inn.txt
index 14e1a2eff..7f86a7d2d 100644
--- a/npc/re/merchants/inn.txt
+++ b/npc/re/merchants/inn.txt
@@ -4,8 +4,6 @@
//= c, L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Inn Npcs, Save and Heal
//===== Additional Comments: =================================
@@ -40,7 +38,7 @@ bra_in01,27,24,3 script Hotel Keeper#bra1 478,{
mes "[Hotel Keeper]";
mes "I will show you a great room.";
close2;
- set zeny,zeny-5000;
+ set Zeny, Zeny-5000;
percentheal 100,100;
warp "bra_in01",144,69;
end;
diff --git a/npc/re/merchants/quivers.txt b/npc/re/merchants/quivers.txt
index 45e44401a..ff95ae7a4 100644
--- a/npc/re/merchants/quivers.txt
+++ b/npc/re/merchants/quivers.txt
@@ -1,18 +1,17 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Arrow Quivers
//===== By: ==================================================
//= Muad_Dib (Prometheus Project); L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
+//= [Official Conversion]
//= 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).
+//= 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]
diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt
index b1493e12d..923e862e6 100644
--- a/npc/re/merchants/refine.txt
+++ b/npc/re/merchants/refine.txt
@@ -3,9 +3,7 @@
//===== By: ==================================================
//= Hercules Dev Team
//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.3
//===== Description: =========================================
//= Renewal-specific refining NPCs and material merchants.
//===== Additional Comments: =================================
@@ -14,20 +12,21 @@
//= 1.1 Added Malangdo Refiner "Clink". [Euphy]
//= 1.2 Added official success calculation, thanks to Helvetica.
//= The safe/multiple refine feature is now functional. [Euphy]
+//= 1.3 Updated to match the latest official script. [Euphy]
//============================================================
// +11 and above Refiners
//============================================================
-prt_in,90,72,5 script Bestry#prt 826,{
- callfunc "refinenew","Bestry",0;
+prt_in,90,72,5 script Vestri#prt 826,{
+ callfunc "refinenew","Vestri",0;
end;
}
-morocc_in,64,41,5 script Bestry#moc 826,{
- callfunc "refinenew","Bestry",0;
+morocc_in,64,41,5 script Vestri#moc 826,{
+ callfunc "refinenew","Vestri",0;
end;
}
-payon_in01,18,132,3 script Bestry#pay 826,{
- callfunc "refinenew","Bestry",0;
+payon_in01,18,132,3 script Vestri#pay 826,{
+ callfunc "refinenew","Vestri",0;
end;
}
@@ -45,24 +44,32 @@ payon_in01,18,132,3 script Bestry#pay 826,{
function script refinenew {
disable_items;
mes "["+ getarg(0) +"]";
- mes "I am the best Blacksmith ever!";
- mes "I don't work with normal, boring items.";
- mes "But only with items that are level 10 or higher!";
+ mes "I am the best Armsmith ever!";
+ mes "I don't refine normal, boring items.";
+ mes "I only refine items that are Level 10 or higher.";
next;
mes "["+ getarg(0) +"]";
- mes "Anyway, you may use my services if your item is lv 10 or higher.";
- mes "What do you want to have refined?";
+ mes "Anyway, you may use my services if your item is Level 10 or higher.";
+ mes "What do you want me to refine?";
next;
setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
set .@menu$,"";
for(set .@i,1; .@i<=10; set .@i,.@i+1) {
- if(getequipisequiped(.@i))
+ if (getequipisequiped(.@i)) {
set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
+ set .@equipped,1;
+ }
set .@menu$, .@menu$ + ":";
}
- set .@part,select(.@menu$);
- if(!getequipisequiped(.@part)) {
+ if (.@equipped == 0) {
+ mes "[" + getarg(0) + "]";
+ mes "I don't think I can refine any items you have...";
+ close;
+ }
+ set .@part, select(.@menu$);
+
+ if (!getequipisequiped(.@part)) { //custom check
mes "[" + getarg(0) + "]";
mes "You're not wearing";
mes "anything there that";
@@ -70,20 +77,18 @@ function script refinenew {
emotion e_an;
close;
}
- //Check if the item is refinable...
- if(!getequipisenableref(.@part)) {
+ if (!getequipisenableref(.@part)) {
mes "[" + getarg(0) + "]";
mes "I don't think I can";
mes "refine this item at all...";
close;
}
- //Check to see if the items is at least +10
- if(getequiprefinerycnt(.@part) < 10) {
+ if (getequiprefinerycnt(.@part) < 10) {
mes "["+ getarg(0) +"]";
- mes "I said I don't work with Equipment under lv. 10.";
+ mes "I said I don't work with items that are lower than Level 10.";
close;
}
- if(getequiprefinerycnt(.@part) >= 20) {
+ if (getequiprefinerycnt(.@part) >= 20) { //custom check
mes "["+ getarg(0) +"]";
mes "I can't refine this";
mes "any more. This is as";
@@ -93,7 +98,8 @@ function script refinenew {
set .@refineitemid, getequipid(.@part); // save id of the item
set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count
if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) {
- set .@material,6224;
+ set .@type$,"weapon";
+ set .@material,6224; //Bradium
set .@price,100000;
switch(getequipweaponlv(.@part)) {
case 1: set .@safe,17; break;
@@ -105,69 +111,61 @@ function script refinenew {
mes "Hmm a weapon, is that ok?";
mes "If you want to refine this weapon,";
mes "I will need 1 ^003366Bradium^000000 and 100,000 zeny.";
- mes "Are you sure you want to continue?";
} else {
- set .@material,6223;
+ set .@type$,"armor";
+ set .@material,6223; //Carnium
set .@price,100000;
set .@safe,14;
mes "["+ getarg(0) +"]";
mes "Hmm an armor, is that ok?";
mes "If you want to refine this armor,";
mes "I will need 1 ^003366Carnium^000000 and 100,000 zeny.";
- mes "Are you sure you want to continue?";
}
+ mes "Are you sure you want to continue?";
next;
if(select("Yes:No") == 2){
mes "["+ getarg(0) +"]";
- mes "Well, no challenge is one way...";
- mes "No risk... that could be wise.";
+ mes "Hm... if you mind... never mind...";
close;
}
- if(getarg(1) != 1) {
- if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) {
+ if (getarg(1) != 1) {
+ if (getequippercentrefinery(.@part) < 100) {
mes "["+ getarg(0) +"]";
- mes "This weapon already has been refined serveral times.";
- mes "It could be destroyed if you try more.";
- mes "It won't break 100%, but is has a small chance.";
+ mes "This "+.@type$+" already has been refined serveral times.";
+ mes "It could be destroyed if I try again.";
+ mes "It won't break for sure, but there is has a small chance.";
next;
mes "["+ getarg(0) +"]";
- mes "You could have the upgrade level of the weapon decreased,";
+ mes "You could be ^FF0000lowering the upgrade level^000000 of the "+.@type$+",";
mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it.";
- } else {
- mes "["+ getarg(0) +"]";
- mes "This armor already has been refined serveral times.";
- mes "It could be destroyed if you try more.";
- mes "It won't break 100%, but is has a small chance.";
next;
mes "["+ getarg(0) +"]";
- mes "You could have the upgrade level of the armor decreased,";
- mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it.";
- }
- next;
- mes "["+ getarg(0) +"]";
- mes "Do you want me to refine it?";
- mes "I think I gave you enough warnings.";
- next;
- if(select("Yes.:No.") == 2) {
- mes "["+ getarg(0) +"]";
- mes "Well, no challenge is one way..";
- mes "No risk.. that could be wise.";
- close;
+ mes "Do you still want me to refine it?";
+ mes "I think I have given you enough warning.";
+ next;
+ if(select("Yes.:No.") == 2) {
+ mes "["+ getarg(0) +"]";
+ mes "Well, no challenge is one way to go...";
+ mes "No risk... that could be wise.";
+ close;
+ }
}
- if(countitem(.@material) < 1 || Zeny < .@price) {
+ if (countitem(.@material) < 1 || Zeny < .@price) {
mes "["+ getarg(0) +"]";
- mes "Hm, it seems you don't have enough materials or money.";
- mes "Please check it out.";
+ mes "Hm. You don't seem to have enough money or "+getitemname(.@material)+".";
+ mes "Please come back when you have them.";
close;
}
set Zeny,Zeny - .@price;
delitem .@material,1;
- if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?)
+
+ //custom checks
+ if (getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?)
mes "[" + getarg(0) + "]";
mes "Look here... you don't have any items on...";
close;
}
- if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item
+ if (getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item
mes "[" + getarg(0) + "]";
emotion e_an;
mes "Wait a second...";
@@ -175,6 +173,7 @@ function script refinenew {
mes "You switched the item while I wasn't looking! Get out of here!";
close;
}
+
if (getequippercentrefinery(.@part) > rand(100)) {
mes "Clang! Clang! Clang! Clang!";
successrefitem .@part;
@@ -182,7 +181,7 @@ function script refinenew {
emotion e_no1;
mes "["+ getarg(0) +"]";
mes "Good! Succes!!!";
- mes "I am the best Blacksmith.";
+ mes "I am the best Armsmith.";
close;
} else {
if (rand(100) < 80) {
@@ -195,14 +194,8 @@ function script refinenew {
mes "Ahhh!!!";
next;
mes "["+ getarg(0) +"]";
- mes "Oh my!";
+ mes "Oh my god!";
mes "The upgrade level has dropped...";
- mes "There could've been made an mistake even though I am the best ever.";
- mes "It was out of my hands.";
- next;
- mes "["+ getarg(0) +"]";
- mes "I will do a better job next time! Don't worry!";
- close;
} else {
mes "["+ getarg(0) +"]";
mes "Clang! Clang! Clang!";
@@ -215,17 +208,17 @@ function script refinenew {
mes "["+ getarg(0) +"]";
mes "Oh my! I've failed to refine stuff...";
mes "I didn't mean it!";
- mes "There could've been made an mistake even though I am the best ever.";
- mes "It was out of my hands.";
- next;
- mes "["+ getarg(0) +"]";
- mes "I will do a better job next time! Don't worry!";
- close;
}
+ mes "I could have made a mistake even though I am the best Armsmith ever.";
+ mes "It just wasn't meant to be.";
+ next;
+ mes "["+ getarg(0) +"]";
+ mes "I will do a better job next time! Don't worry!";
+ close;
}
}
// New +11 and above Refining Functions ========================
- if(getequiprefinerycnt(.@part) < .@safe) {
+ if (getequiprefinerycnt(.@part) < .@safe) {
mes "[" + getarg(0) + "]";
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
next;
@@ -247,7 +240,7 @@ function script refinenew {
mes "I can't refine this item that many times.";
close;
}
- if(.@refinecheck > .@safe) {
+ if (.@refinecheck > .@safe) {
set .@refinecheck,.@refinecheck - .@safe;
mes "[" + getarg(0) + "]";
mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?";
@@ -268,14 +261,15 @@ function script refinenew {
mes "[" + getarg(0) + "]";
mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?";
next;
- if(select("Yes","No...") == 2){
+ if(select("Yes:No...") == 2){
mes "[" + getarg(0) + "]";
mes "You said so... So be it.";
close;
}
- if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) {
+ if (countitem(.@material) < .@refinecnt || Zeny < .@fullprice) {
mes "[" + getarg(0) + "]";
- mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes.";
+ mes "Hm. You don't seem to have enough money or "+getitemname(.@material)+".";
+ mes "Please come back when you have them.";
close;
}
set Zeny,Zeny - .@fullprice;
@@ -309,14 +303,8 @@ function script refinenew {
mes "Ahhh!!!";
next;
mes "["+ getarg(0) +"]";
- mes "Oh my!";
+ mes "Oh my god!";
mes "The upgrade level has dropped...";
- mes "There could've been made an mistake even though I am the best ever.";
- mes "It was out of my hands.";
- next;
- mes "["+ getarg(0) +"]";
- mes "I will do a better job next time! Don't worry!";
- close;
} else {
mes "["+ getarg(0) +"]";
mes "Clang! Clang! Clang!";
@@ -329,13 +317,13 @@ function script refinenew {
mes "["+ getarg(0) +"]";
mes "Oh my! I've failed to refine stuff...";
mes "I didn't mean it!";
- mes "There could've been made an mistake even though I am the best ever.";
- mes "It was out of my hands.";
- next;
- mes "["+ getarg(0) +"]";
- mes "I will do a better job next time! Don't worry!";
- close;
}
+ mes "I could have made a mistake even though I am the best Armsmith ever.";
+ mes "It just wasn't meant to be.";
+ next;
+ mes "["+ getarg(0) +"]";
+ mes "I will do a better job next time! Don't worry!";
+ close;
}
}
emotion e_no1;
@@ -347,8 +335,16 @@ function script refinenew {
// Ori/Elu to Carnium/Bradium Refiners
//============================================================
-- script Austry#ref -1,{
- mes "[Austry]";
+- script Austri#ref -1,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you lose some weight. -";
+ close;
+ }
+ mes "[Austri]";
mes "If you bring me 3";
mes "Oridecon or Elunium";
mes "I can exchange them for";
@@ -366,7 +362,7 @@ function script refinenew {
setarray .@i[0],6090,1,6223; //Purified_Bradium -> Carnium
break;
case 4:
- mes "[Austry]";
+ mes "[Austri]";
mes "Hmm...";
close;
}
@@ -374,26 +370,26 @@ function script refinenew {
delitem .@i[0],.@i[1];
set Zeny, Zeny - 50000;
getitem .@i[2],1;
- mes "[Austry]";
+ mes "[Austri]";
if (.@i[0] == 6090) {
- mes "Refining with Purified Bradium";
- mes "is a little expensive. I can";
- mes "trade it for some Carnium.";
+ mes "Refining with Refined Bradium";
+ mes "can be a little expensive.";
+ mes "I can exchange it for some Carnium.";
} else
- mes "Ok! Here is your "+getitemname(.@i[2])+".";
+ mes "Ok! Here's your "+getitemname(.@i[2])+".";
mes "Take it and use it well.";
close;
}
- mes "[Austry]";
+ mes "[Austri]";
mes "You better not be trying";
mes "to cheat me because you";
- mes "don't have enough zeny";
+ mes "don't have enough money";
mes "or "+getitemname(.@i[0])+".";
close;
}
-prt_in,85,71,5 duplicate(Austry#ref) Austry#prt 826
-payon_in01,14,125,5 duplicate(Austry#ref) Austry#pay 826
-morocc_in,60,38,5 duplicate(Austry#ref) Austry#moc 826
+prt_in,85,71,5 duplicate(Austri#ref) Austri#prt 826
+payon_in01,14,125,5 duplicate(Austri#ref) Austri#pay 826
+morocc_in,60,38,5 duplicate(Austri#ref) Austri#moc 826
// Malangdo Refiner
//============================================================
diff --git a/npc/re/merchants/renters.txt b/npc/re/merchants/renters.txt
index e4f1a02c7..c721af536 100644
--- a/npc/re/merchants/renters.txt
+++ b/npc/re/merchants/renters.txt
@@ -1,16 +1,18 @@
//===== Hercules Script ======================================
//= Renters
-//===== By: ==================================================
+//===== By: ==================================================
//= Hercules Dev Team
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 2.1
-//===== Description: =========================================
+//===== Description: =========================================
+//= [Official Conversion]
//= Renewal-specific breeder NPCs.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 2.1 Moved some renters to a separate renewal file. [Daegaladh]
-//============================================================
+//= 2.2 Updated to match the official scripts. [Euphy]
+//============================================================
-// Dragon Breeder on the Rune Knight job change map, couldn't find NPC on iRO.
+// Dragon Breeder
//============================================================
job3_rune01,88,62,5 script Dragon Breeder 105,{
mes "[Dragon Breeder]";
@@ -146,21 +148,35 @@ prontera,125,208,5 script Peco Peco Remover 105,{
// Magic Gear Renter
//============================================================
-prontera,163,178,3 script Magic Gear Master 105,{
+- script ::mgm -1,{
mes "[Magic Gear Master]";
if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {
- mes "Welcome. Would you like to rent a Magic Gear?";
+ mes "Welcome, Mechanic.";
+ mes "Would you like to rent a Pushcart or";
+ mes "ride a Magic Gear?";
next;
- switch(select("Yes:No")) {
+ switch(select("Rent a Pushcart:Ride a Magic Gear:Cancel")) {
case 1:
- if (!getskilllv("NC_MADOLICENCE")) {
+ if (checkcart()) {
+ mes "[Magic Gear Master]";
+ mes "I'm sorry, but you already";
+ mes "have a Pushcart.";
+ close;
+ }
+ setcart;
+ mes "[Magic Gear Master]";
+ mes "There you go!";
+ close;
+ case 2:
+ if (checkmadogear()) {
mes "[Magic Gear Master]";
- mes "Please learn how to use a Magic Gear first.";
+ mes "I'm sorry, but you're already";
+ mes "riding a Magic Gear.";
close;
}
- else if (checkmadogear()) {
+ else if (!getskilllv("NC_MADOLICENCE")) {
mes "[Magic Gear Master]";
- mes "You already have a Magic Gear.";
+ mes "Please learn the skill to get the Magic Gear License first.";
close;
}
else if(ismounting()) {
@@ -169,10 +185,10 @@ prontera,163,178,3 script Magic Gear Master 105,{
close;
}
setmadogear;
- close;
- case 2:
mes "[Magic Gear Master]";
- mes "I see. Then have a great day.";
+ mes "Have fun, and please come again!";
+ close;
+ case 3:
close;
}
}
@@ -180,3 +196,13 @@ prontera,163,178,3 script Magic Gear Master 105,{
mes "Magic Gears are only available for Mechanics.";
close;
}
+prontera,163,178,3 duplicate(mgm) Magic Gear Master#prt 105
+geffen,103,55,5 duplicate(mgm) Magic Gear Master#gef 105
+payon,166,106,5 duplicate(mgm) Magic Gear Master#pay 105
+aldebaran,133,112,5 duplicate(mgm) Magic Gear Master#alde 105
+yuno,167,187,3 duplicate(mgm) Magic Gear Master#yuno 105
+rachel,106,134,5 duplicate(mgm) Magic Gear Master#ra 105
+dicastes01,187,207,3 duplicate(mgm) Magic Gear Master#dic 105
+manuk,273,212,5 duplicate(mgm) Magic Gear Master#man 105
+splendide,180,174,5 duplicate(mgm) Magic Gear Master#spl 105
+mid_camp,242,243,3 duplicate(mgm) Magic Gear Master#mid 105
diff --git a/npc/re/merchants/shops.txt b/npc/re/merchants/shops.txt
index b27e5cc1d..42fc5bd03 100644
--- a/npc/re/merchants/shops.txt
+++ b/npc/re/merchants/shops.txt
@@ -1,22 +1,21 @@
//===== Hercules Script ======================================
//= Shops
-//===== By: ==================================================
+//===== By: ==================================================
//= Hercules Dev Team
-//===== Current Version: =====================================
-//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.7
+//===== Description: =========================================
//= Renewal-specific town shop NPCs.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 Moved some merchants to a separate renewal file. [Kenpachi]
//= 1.1 Added Dicastes merchants. [Joseph]
//= 1.2 Moved more shops to Renewal file. [Euphy]
//= 1.3 Added Malangdo tool dealer. [Euphy]
//= 1.4 Moved Izlude merchants. [Streusel]
//= 1.5 Added Dewata merchants. [Lemongrass]
-//= 1.6 Added Mora and Porta Malaya merchants. [Euphy]
-//============================================================
+//= 1.6 Added Mora and Port Malaya merchants.
+//= 1.7 Added Izlude duplicates. [Euphy]
+//============================================================
//=======================================================
// Comodo
@@ -46,11 +45,23 @@ dicastes01,207,200,6 shop Points Merchant#dic 66,6360:-1,6361:-1,6362:-1,6363:-1
//=======================================================
// Izlude
//=======================================================
-izlude,160,186,0 shop Butcher#iz 54,517:-1
izlude,124,165,4 shop Fruit Gardener#iz 53,512:-1,513:-1,515:-1,516:-1
-izlude,128,158,6 shop Vendor from Milk Ranch#i 90,519:-1
-izlude_in,72,98,3 shop Pet Groomer#iz 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1
-izlude_in,57,109,0 shop Tool Dealer#iz 47,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,1750:-1
+izlude_a,124,165,4 duplicate(Fruit Gardener#iz) Fruit Gardener#iz_a 53
+izlude_b,124,165,4 duplicate(Fruit Gardener#iz) Fruit Gardener#iz_b 53
+izlude_c,124,165,4 duplicate(Fruit Gardener#iz) Fruit Gardener#iz_c 53
+izlude_d,124,165,4 duplicate(Fruit Gardener#iz) Fruit Gardener#iz_d 53
+izlude,160,186,0 shop Butcher#iz 54,517:-1
+izlude_a,160,186,0 duplicate(Butcher#iz) Butcher#iz_a 54
+izlude_b,160,186,0 duplicate(Butcher#iz) Butcher#iz_b 54
+izlude_c,160,186,0 duplicate(Butcher#iz) Butcher#iz_c 54
+izlude_d,160,186,0 duplicate(Butcher#iz) Butcher#iz_d 54
+izlude,128,158,7 shop Vendor from Milk Ranch#i 90,519:-1
+izlude_a,128,158,7 duplicate(Vendor from Milk Ranch#i) Vendor from Milk Ranch#a 90
+izlude_b,128,158,7 duplicate(Vendor from Milk Ranch#i) Vendor from Milk Ranch#b 90
+izlude_c,128,158,7 duplicate(Vendor from Milk Ranch#i) Vendor from Milk Ranch#c 90
+izlude_d,128,158,7 duplicate(Vendor from Milk Ranch#i) Vendor from Milk Ranch#d 90
+izlude_in,72,98,4 shop Pet Groomer#iz 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1
+izlude_in,57,110,0 shop Tool Dealer#iz 47,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,1750:-1
izlude_in,72,110,3 shop Trading Merchant#iz 900,13200:-1,13201:-1,13202:-1,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1,13163:-1,13165:-1,13168:-1
//=======================================================
@@ -73,7 +84,7 @@ malangdo,232,163,5 shop Tool Dealer Myo 560,611:-1,1750:-1,645:-1,656:-1,601:-1,
//=======================================================
// Mora
//=======================================================
-mora,100,118,4 shop Tool Dealer#mora 517,11522:-1,11523:-1,11524:-1,602:-1,601:-1,611:-1,1773:-1,1774:-1,713:-1
+mora,100,118,4 shop Tool Dealer#mora 517,11522:-1,11523:-1,11524:-1,602:-1,601:-1,611:-1,1773:-1,1774:-1
mora,138,110,4 shop Mora Chef 518,11519:-1
//=======================================================
diff --git a/npc/re/merchants/ticket_refiner.txt b/npc/re/merchants/ticket_refiner.txt
index 7246528a4..ef8b29135 100644
--- a/npc/re/merchants/ticket_refiner.txt
+++ b/npc/re/merchants/ticket_refiner.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Ticket Refiner
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= [Official Conversion]
//= Refiner that uses +5~9/+11 refine tickets to refine
diff --git a/npc/re/mobs/citycleaners.txt b/npc/re/mobs/citycleaners.txt
new file mode 100644
index 000000000..279f81a36
--- /dev/null
+++ b/npc/re/mobs/citycleaners.txt
@@ -0,0 +1,29 @@
+//===== Hercules Script ======================================
+//= City Cleaners Monster Spawn Script
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Spawns monsters to clean up cities.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal spawns.
+//============================================================
+
+//==================================================
+// Wild Rose City Spawns
+//==================================================
+brasilis,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+dewata,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+malaya,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+izlude_a,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+izlude_b,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+izlude_c,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+izlude_d,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,0
+
+//==================================================
+// Thief Bug Egg City Spawns
+//==================================================
+payon_in02,23,68,5,5 monster Thief Bug Egg 1048,7,1200000,600000,0
+jawaii_in,73,117,4,4 monster Thief Bug Egg 1048,1,5400000,3000000,0
+jawaii_in,83,117,5,5 monster Thief Bug Egg 1048,1,4800000,2400000,0
diff --git a/npc/re/mobs/dungeons/dew_dun.txt b/npc/re/mobs/dungeons/dew_dun.txt
index 9b8a3e8ee..d5dc609a2 100644
--- a/npc/re/mobs/dungeons/dew_dun.txt
+++ b/npc/re/mobs/dungeons/dew_dun.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Official kRO monster spawns
//===== Additional Comments: =================================
@@ -27,4 +25,4 @@ dew_dun01,0,0,0,0 boss_monster Leak 2156,1,7200000,0,1
dew_dun02,0,0,0,0 monster Banaspaty 2154,50,5000,0,0
dew_dun02,0,0,0,0 monster Gajomart 1309,30,5000,0,0
dew_dun02,0,0,0,0 monster Am Mut 1301,20,5000,0,0
-dew_dun02,0,0,0,0 monster Butoijo 2155,30,5000,0,0 \ No newline at end of file
+dew_dun02,0,0,0,0 monster Butoijo 2155,30,5000,0,0
diff --git a/npc/re/mobs/dungeons/dic_dun.txt b/npc/re/mobs/dungeons/dic_dun.txt
index 95715d678..3de5528f1 100644
--- a/npc/re/mobs/dungeons/dic_dun.txt
+++ b/npc/re/mobs/dungeons/dic_dun.txt
@@ -4,8 +4,6 @@
//= Kisuka
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Official monster spawns in El Dicastes Dungeon.
//===== Additional Comments: =================================
@@ -42,4 +40,4 @@ dic_dun03,0,0,0,0 monster Gold One-Horn Scaraba 2161,30,5000,0,0
dic_dun03,0,0,0,0 monster Gold Two-Horn Scaraba 2162,30,5000,0,0
dic_dun03,0,0,0,0 monster Gold Antler Scaraba 2163,40,5000,0,0
dic_dun03,0,0,0,0 monster Gold Rake Scaraba 2164,40,5000,0,0
-dic_dun03,0,0,0,0 boss_monster Gold Queen Scaraba 2165,1,7200000,0,1 \ No newline at end of file
+dic_dun03,0,0,0,0 boss_monster Gold Queen Scaraba 2165,1,7200000,0,1
diff --git a/npc/re/mobs/dungeons/ecl_tdun.txt b/npc/re/mobs/dungeons/ecl_tdun.txt
new file mode 100644
index 000000000..0bfd17e0f
--- /dev/null
+++ b/npc/re/mobs/dungeons/ecl_tdun.txt
@@ -0,0 +1,37 @@
+//===== Hercules Script ======================================
+//= Bifrost Tower Monster Spawn Script
+//===== By: ==================================================
+//= refis
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= jRO monster spawns, taken from Auriga.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+//==================================================
+// ecl_tdun01 - Bifrost Tower F1
+//==================================================
+ecl_tdun01.gat,0,0,0,0 monster Cenere 2365,5,5000,0,0
+ecl_tdun01.gat,0,0,0,0 monster Antique Book 2366,5,5000,0,0
+ecl_tdun01.gat,0,0,0,0 monster Blue Lichtern 2367,5,5000,0,0
+
+//==================================================
+// ecl_tdun02 - Bifrost Tower F2
+//==================================================
+ecl_tdun02.gat,0,0,0,0 monster Cenere 2365,10,5000,0,0
+ecl_tdun02.gat,0,0,0,0 monster Antique Book 2366,10,5000,0,0
+ecl_tdun02.gat,0,0,0,0 monster Blue Lichtern 2367,15,5000,0,0
+ecl_tdun02.gat,0,0,0,0 monster Yellow Lichtern 2368,5,5000,0,0
+
+//==================================================
+// ecl_tdun03 - Bifrost Tower F3
+//==================================================
+ecl_tdun03.gat,0,0,0,0 monster Cenere 2365,15,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Antique Book 2366,15,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Blue Lichtern 2367,5,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Yellow Lichtern 2368,15,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Red Lichtern 2369,10,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Green Lichtern 2370,15,5000,0,0
+ecl_tdun03.gat,0,0,0,0 monster Faithful Manager 2371,5,5000,0,0
diff --git a/npc/re/mobs/dungeons/ein_dun.txt b/npc/re/mobs/dungeons/ein_dun.txt
index 3efcd52f6..53d78feff 100644
--- a/npc/re/mobs/dungeons/ein_dun.txt
+++ b/npc/re/mobs/dungeons/ein_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= 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 d6da72c1c..32967e494 100644
--- a/npc/re/mobs/dungeons/gef_dun.txt
+++ b/npc/re/mobs/dungeons/gef_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
//===== Additional Comments: =================================
//= 1.2 Official kRO 10.1 spawns [Playtester]
//= 1.3 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/dungeons/glastheim.txt b/npc/re/mobs/dungeons/glastheim.txt
index d23154de2..267541aa5 100644
--- a/npc/re/mobs/dungeons/glastheim.txt
+++ b/npc/re/mobs/dungeons/glastheim.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
//===== Additional Comments: =================================
//= 1.1 [Lupus]
//= 1.2 Updated to ep 8.5 aegis spawns [MasterOfMuppets]
diff --git a/npc/re/mobs/dungeons/gld_dunSE.txt b/npc/re/mobs/dungeons/gld_dunSE.txt
index 52d5bd0e5..8feabfed2 100644
--- a/npc/re/mobs/dungeons/gld_dunSE.txt
+++ b/npc/re/mobs/dungeons/gld_dunSE.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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
index 1280755a7..e5266713d 100644
--- a/npc/re/mobs/dungeons/gld_re.txt
+++ b/npc/re/mobs/dungeons/gld_re.txt
@@ -4,8 +4,6 @@
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version, Hall of Abyss update. [Euphy]
//============================================================
diff --git a/npc/re/mobs/dungeons/gon_dun.txt b/npc/re/mobs/dungeons/gon_dun.txt
index 19e7ee3db..51b61ba6c 100644
--- a/npc/re/mobs/dungeons/gon_dun.txt
+++ b/npc/re/mobs/dungeons/gon_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 11513ecd5..e6cefbf1c 100644
--- a/npc/re/mobs/dungeons/ice_dun.txt
+++ b/npc/re/mobs/dungeons/ice_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 c93a13cdc..50db8fdf6 100644
--- a/npc/re/mobs/dungeons/in_sphinx.txt
+++ b/npc/re/mobs/dungeons/in_sphinx.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= 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 afa850598..849e424bd 100644
--- a/npc/re/mobs/dungeons/iz_dun.txt
+++ b/npc/re/mobs/dungeons/iz_dun.txt
@@ -4,13 +4,11 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns for 1-4 [Playtester]
//= 1.2 More accurate spawns [Playtester]
//= 1.3 Added Izlude Dungeon F6 spawns [Chilly]
-//= 1.4 Official F6 spawns [Euphy]
+//= 1.4 Official F6 spawns.
//============================================================
//==================================================
diff --git a/npc/re/mobs/dungeons/kh_dun.txt b/npc/re/mobs/dungeons/kh_dun.txt
index a882550c8..b4c700534 100644
--- a/npc/re/mobs/dungeons/kh_dun.txt
+++ b/npc/re/mobs/dungeons/kh_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 d723a8d67..3e5c61edd 100644
--- a/npc/re/mobs/dungeons/lhz_dun.txt
+++ b/npc/re/mobs/dungeons/lhz_dun.txt
@@ -6,13 +6,13 @@
//= 1.9
//===== Additional Comments: =================================
//= 08/24/05 : Added 1st version. [Muad_Dib]
-//= 1.1: Some corrections to level 1, 2 as pointed out by
-//= MasterofMuppets. [Skotlex]
-//= 1.3: Some fixes based on kRO's "RO Map" [Poki#3]
-//= I also made the place more Moby ^^
-//= 1.4: Adjusted spawns according to own info from iRO [MasterOfMuppets]
-//= 1.5: More accurate spawn numbers and iRO names thanks to Tharis [Playtester]
-//= 1.6: Official X.3 spawns [Playtester]
+//= 1.1 Some corrections to level 1, 2 as pointed out by
+//= MasterofMuppets. [Skotlex]
+//= 1.3 Some fixes based on kRO's "RO Map" [Poki#3]
+//= I also made the place more Moby ^^
+//= 1.4 Adjusted spawns according to own info from iRO [MasterOfMuppets]
+//= 1.5 More accurate spawn numbers and iRO names thanks to Tharis [Playtester]
+//= 1.6 Official X.3 spawns [Playtester]
//= 1.7 Corrected MVP spawn function to be standard to iRO. [L0ne_W0lf]
//= - A random 99 will now be spawned when the MVP spawns.
//= - Spare spawn and MVP spawn now spawn in official locations.
diff --git a/npc/re/mobs/dungeons/lou_dun.txt b/npc/re/mobs/dungeons/lou_dun.txt
index f5e276757..1c6637712 100644
--- a/npc/re/mobs/dungeons/lou_dun.txt
+++ b/npc/re/mobs/dungeons/lou_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 f7028e579..1356fb5b0 100644
--- a/npc/re/mobs/dungeons/ma_dun.txt
+++ b/npc/re/mobs/dungeons/ma_dun.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= 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 562633a5d..d5321ea6c 100644
--- a/npc/re/mobs/dungeons/mag_dun.txt
+++ b/npc/re/mobs/dungeons/mag_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 9bcfc8132..eb3a73681 100644
--- a/npc/re/mobs/dungeons/mal_dun.txt
+++ b/npc/re/mobs/dungeons/mal_dun.txt
@@ -3,14 +3,13 @@
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= Official kRO monster spawns
//===== Additional Comments: =================================
//= 1.0 First Release
//= 1.1 Updated to official script. [Euphy]
+//= 1.2 Added Pouring spawn, source iRO. [Euphy]
//============================================================
//==================================================
@@ -22,3 +21,4 @@ mal_dun01,0,0,0,0 monster Aster 1266,20,5000,0,0
mal_dun01,0,0,0,0 monster Red Eruma 2197,60,5000,0,0
mal_dun01,0,0,0,0 monster Siorava 2199,45,5000,0,0
mal_dun01,0,0,0,0 monster Wild Rider 2208,1,5000,0,0
+mal_dun01,0,0,0,0 monster Pouring 1894,30,5000,0,0
diff --git a/npc/re/mobs/dungeons/mjo_dun.txt b/npc/re/mobs/dungeons/mjo_dun.txt
index 4e100d161..0204a2da7 100644
--- a/npc/re/mobs/dungeons/mjo_dun.txt
+++ b/npc/re/mobs/dungeons/mjo_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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 6fc0dbb8a..5bccac5c2 100644
--- a/npc/re/mobs/dungeons/moc_pryd.txt
+++ b/npc/re/mobs/dungeons/moc_pryd.txt
@@ -1,11 +1,9 @@
//===== Hercules Script ======================================
-//= Morocc Pryamid Dungeon Monster Spawn Script
+//= Morocc Pyramid Dungeon Monster Spawn Script
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.4
//===== Additional Comments: =================================
//= 1.1 Official kRO 10.1 spawns [Playtester]
//= 1.2 More accurate spawns [Playtester]
@@ -14,13 +12,13 @@
//============================================================
//==================================================
-// moc_pryd01 - Inside Pyramid
+// moc_pryd01 - Inside Pyramid F1
//==================================================
moc_pryd01,0,0,0,0 monster Familiar 1005,50,5000,0,0
moc_pryd01,0,0,0,0 monster Poporing 1031,20,5000,0,0
//==================================================
-// moc_pryd02 - Inside Pyramid
+// moc_pryd02 - Inside Pyramid F2
//==================================================
moc_pryd02,0,0,0,0 monster Mummy 1041,30,5000,0,0
moc_pryd02,0,0,0,0 monster Soldier Skeleton 1028,30,5000,0,0
@@ -30,7 +28,7 @@ moc_pryd02,0,0,0,0 monster Poporing 1031,20,5000,0,0
moc_pryd02,0,0,0,0 monster Isis 1029,5,5000,0,0
//==================================================
-// moc_pryd03 - Inside Pyramid
+// moc_pryd03 - Inside Pyramid F3
//==================================================
moc_pryd03,0,0,0,0 monster Mummy 1041,70,5000,0,0
moc_pryd03,0,0,0,0 monster Verit 1032,20,5000,0,0
@@ -39,7 +37,7 @@ moc_pryd03,0,0,0,0 monster Drainliar 1111,5,5000,0,0
moc_pryd03,0,0,0,0 monster Mimic 1191,5,5000,0,0
//==================================================
-// moc_pryd04 - Inside Pyramid
+// moc_pryd04 - Inside Pyramid F4
//==================================================
moc_pryd04,0,0,0,0 monster Isis 1029,50,5000,0,0
moc_pryd04,0,0,0,0 monster Mummy 1041,25,5000,0,0
@@ -49,14 +47,14 @@ moc_pryd04,0,0,0,0 monster Ancient Mummy 1297,3,5000,0,0
moc_pryd04,0,0,0,0 boss_monster Osiris 1038,1,3600000,600000,0
//==================================================
-// moc_pryd05 - Inside Pyramid
+// moc_pryd05 - Inside Pyramid B1
//==================================================
moc_pryd05,0,0,0,0 monster Minorous 1149,60,5000,0,0
moc_pryd05,0,0,0,0 monster Verit 1032,50,5000,0,0
moc_pryd05,0,0,0,0 monster Mummy 1041,10,5000,0,0
//==================================================
-// moc_pryd06 - Inside Pyramid
+// moc_pryd06 - Inside Pyramid B2
//==================================================
moc_pryd06,0,0,0,0 monster Mimic 1191,30,5000,0,0
moc_pryd06,0,0,0,0 monster Verit 1032,30,5000,0,0
@@ -65,14 +63,14 @@ moc_pryd06,0,0,0,0 monster Ancient Mummy 1297,20,5000,0,0
moc_pryd06,102,85,1,1 boss_monster Amon Ra 1511,1,3600000,600000,0
//==================================================
-// moc_prydn1 - Nightmare Mode
+// moc_prydn1 - Nightmare Mode B1
//==================================================
moc_prydn1,0,0,0,0 monster Nightmare Minorous 2353,60,5000,0,0
moc_prydn1,0,0,0,0 monster Nightmare Mummy 2354,10,5000,0,0
moc_prydn1,0,0,0,0 monster Nightmare Verit 2355,50,5000,0,0
//==================================================
-// moc_prydn2 - Nightmare Mode
+// moc_prydn2 - Nightmare Mode B2
//==================================================
moc_prydn2,0,0,0,0 monster Nightmare Mimic 2356,30,5000,0,0
moc_prydn2,0,0,0,0 monster Nightmare Verit 2355,30,5000,0,0
diff --git a/npc/re/mobs/dungeons/mosk_dun.txt b/npc/re/mobs/dungeons/mosk_dun.txt
index 64dbc9245..9049a88b8 100644
--- a/npc/re/mobs/dungeons/mosk_dun.txt
+++ b/npc/re/mobs/dungeons/mosk_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 7b8dbd156..7244bc7bd 100644
--- a/npc/re/mobs/dungeons/nyd_dun.txt
+++ b/npc/re/mobs/dungeons/nyd_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Additional Comments: =================================
//= 1.0 First version
//============================================================
diff --git a/npc/re/mobs/dungeons/odin.txt b/npc/re/mobs/dungeons/odin.txt
index cf9f046bb..372ab2f57 100644
--- a/npc/re/mobs/dungeons/odin.txt
+++ b/npc/re/mobs/dungeons/odin.txt
@@ -4,8 +4,6 @@
//= Poki#3 (0.1)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 6c0ecee54..6a368305e 100644
--- a/npc/re/mobs/dungeons/orcsdun.txt
+++ b/npc/re/mobs/dungeons/orcsdun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 83639ca2c..a4c1efba8 100644
--- a/npc/re/mobs/dungeons/pay_dun.txt
+++ b/npc/re/mobs/dungeons/pay_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 6feea8a0a..0cfb71665 100644
--- a/npc/re/mobs/dungeons/prt_maze.txt
+++ b/npc/re/mobs/dungeons/prt_maze.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= 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 6fd21922d..a7608aa7c 100644
--- a/npc/re/mobs/dungeons/prt_sew.txt
+++ b/npc/re/mobs/dungeons/prt_sew.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 b5f764b70..51f7c42fd 100644
--- a/npc/re/mobs/dungeons/ra_san.txt
+++ b/npc/re/mobs/dungeons/ra_san.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 789a71cdd..eb84e8975 100644
--- a/npc/re/mobs/dungeons/tha_t.txt
+++ b/npc/re/mobs/dungeons/tha_t.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 2d3867f5b..b882c1b0a 100644
--- a/npc/re/mobs/dungeons/thor_v.txt
+++ b/npc/re/mobs/dungeons/thor_v.txt
@@ -4,8 +4,6 @@
//= Playtester
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= 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 25d8caf60..b18d5fd62 100644
--- a/npc/re/mobs/dungeons/treasure.txt
+++ b/npc/re/mobs/dungeons/treasure.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 a73fc3d1b..6acbee74d 100644
--- a/npc/re/mobs/dungeons/tur_dun.txt
+++ b/npc/re/mobs/dungeons/tur_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 f3c6d8859..0d4374f8f 100644
--- a/npc/re/mobs/dungeons/xmas_dun.txt
+++ b/npc/re/mobs/dungeons/xmas_dun.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= 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 9fb13a6b6..939933aeb 100644
--- a/npc/re/mobs/dungeons/yggdrasil.txt
+++ b/npc/re/mobs/dungeons/yggdrasil.txt
@@ -4,8 +4,6 @@
//= Athena (1.0)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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 04667acb0..a04ed3ec2 100644
--- a/npc/re/mobs/fields/bifrost.txt
+++ b/npc/re/mobs/fields/bifrost.txt
@@ -8,8 +8,7 @@
//= Official kRO monster spawns
//===== Additional Comments: =================================
//= 1.0 First Release
-//= 1.1 Added more accurate 1@mist monsters
-//= 1.2 Renewal spawn update. [Euphy]
+//= 1.1 Renewal spawn update. [Euphy]
//============================================================
//==================================================
@@ -31,79 +30,3 @@ 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
-//==================================================
-1@mist,247,124,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,247,124,0,0 monster Nydhoggur Memory 2138,1,1200000,600000,0
-1@mist,247,124,0,0 monster Nydhoggur Memory 2139,1,1200000,600000,0
-1@mist,225,98,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,225,98,0,0 monster Nydhoggur Memory 2138,1,1200000,600000,0
-1@mist,225,98,0,0 monster Nydhoggur Memory 2139,1,1200000,600000,0
-1@mist,159,184,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,159,184,0,0 monster Nydhoggur Memory 2138,1,1200000,600000,0
-1@mist,159,184,0,0 monster Nydhoggur Memory 2139,1,1200000,600000,0
-1@mist,61,39,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,61,39,0,0 monster Nydhoggur Memory 2138,1,1200000,600000,0
-1@mist,61,39,0,0 monster Nydhoggur Memory 2139,1,1200000,600000,0
-1@mist,254,151,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,254,151,0,0 monster Nydhoggur Memory 2138,1,1200000,600000,0
-1@mist,254,151,0,0 monster Nydhoggur Memory 2139,1,1200000,600000,0
-1@mist,230,179,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,230,179,0,0 monster Nydhoggur Memory 2140,1,1200000,600000,0
-1@mist,230,179,0,0 monster Nydhoggur Memory 2141,1,1200000,600000,0
-1@mist,285,225,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,285,225,0,0 monster Nydhoggur Memory 2140,1,1200000,600000,0
-1@mist,285,225,0,0 monster Nydhoggur Memory 2141,1,1200000,600000,0
-1@mist,161,316,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,161,316,0,0 monster Nydhoggur Memory 2140,1,1200000,600000,0
-1@mist,161,316,0,0 monster Nydhoggur Memory 2141,1,1200000,600000,0
-1@mist,230,324,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,230,324,0,0 monster Nydhoggur Memory 2140,1,1200000,600000,0
-1@mist,230,324,0,0 monster Nydhoggur Memory 2141,1,1200000,600000,0
-1@mist,206,200,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,206,200,0,0 monster Nydhoggur Memory 2140,1,1200000,600000,0
-1@mist,206,200,0,0 monster Nydhoggur Memory 2141,1,1200000,600000,0
-1@mist,221,236,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,221,236,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,221,236,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,204,299,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,204,299,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,204,299,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,84,273,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,84,273,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,84,273,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,95,287,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,95,287,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,95,287,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,324,325,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,324,325,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,324,325,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,280,343,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,280,343,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,280,343,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,345,186,0,0 monster Creeper 2135,1,1200000,600000,0
-1@mist,345,186,0,0 monster Nydhoggur Memory 2142,1,1200000,600000,0
-1@mist,345,186,0,0 monster Nydhoggur Memory 2143,1,1200000,600000,0
-1@mist,105,105,85,85 monster Pom Spider 2132,8,1200000,600000,0
-1@mist,105,105,85,85 monster Angra Mantis 2133,8,1200000,600000,0
-1@mist,105,105,85,85 monster Parus 2134,8,1200000,600000,0
-1@mist,105,105,85,85 monster Little Fatum 2136,8,1200000,600000,0
-1@mist,105,105,85,85 monster Miming 2137,5,1200000,600000,0
-1@mist,105,275,85,85 monster Pom Spider 2132,10,1200000,600000,0
-1@mist,105,275,85,85 monster Angra Mantis 2133,10,1200000,600000,0
-1@mist,105,275,85,85 monster Parus 2134,10,1200000,600000,0
-1@mist,105,275,85,85 monster Little Fatum 2136,8,1200000,600000,0
-1@mist,105,275,85,85 monster Miming 2137,5,1200000,600000,0
-1@mist,275,105,85,85 monster Pom Spider 2132,12,1200000,600000,0
-1@mist,275,105,85,85 monster Angra Mantis 2133,12,1200000,600000,0
-1@mist,275,105,85,85 monster Parus 2134,10,1200000,600000,0
-1@mist,275,105,85,85 monster Little Fatum 2136,8,1200000,600000,0
-1@mist,275,105,85,85 monster Miming 2137,5,1200000,600000,0
-1@mist,275,275,85,85 monster Pom Spider 2132,15,1200000,600000,0
-1@mist,275,275,85,85 monster Angra Mantis 2133,15,1200000,600000,0
-1@mist,275,275,85,85 monster Parus 2134,10,1200000,600000,0
-1@mist,275,275,85,85 monster Little Fatum 2136,8,1200000,600000,0
-1@mist,275,275,85,85 monster Miming 2137,5,1200000,600000,0
-1@mist,325,210,25,150 boss_monster Lost Dragon 2131,1,1,7200000,600000,1
diff --git a/npc/re/mobs/fields/comodo.txt b/npc/re/mobs/fields/comodo.txt
index b2db8d86b..45a39f7bb 100644
--- a/npc/re/mobs/fields/comodo.txt
+++ b/npc/re/mobs/fields/comodo.txt
@@ -55,10 +55,6 @@ cmd_fild04,0,0,0,0 monster Aster 1266,10,5000,0,0
//==================================================
// cmd_fild05 - Disabled on Renewal
//==================================================
-//cmd_fild05,63,158,10,10 monster Shining Plant 1083,1,1800000,900000,1
-//cmd_fild05,318,277,10,10 monster Yellow Plant 1081,3,1800000,900000,1
-//cmd_fild05,282,49,20,20 monster Yellow Plant 1081,3,1800000,900000,1
-//cmd_fild05,0,0,0,0 monster Green Plant 1080,5,1800000,900000,1
//==================================================
// cmd_fild06 - Fortress Saint Darmain (West)
diff --git a/npc/re/mobs/fields/dewata.txt b/npc/re/mobs/fields/dewata.txt
index 6401b520b..9cb15466c 100644
--- a/npc/re/mobs/fields/dewata.txt
+++ b/npc/re/mobs/fields/dewata.txt
@@ -16,4 +16,4 @@
//==================================================
dew_fild01,0,0,0,0 monster Alnoldi 2151,60,5000,0,0
dew_fild01,0,0,0,0 monster Argiope 1099,45,5000,0,0
-dew_fild01,0,0,0,0 monster Cendrawasih 2153,10,5000,0,0 \ No newline at end of file
+dew_fild01,0,0,0,0 monster Cendrawasih 2153,10,5000,0,0
diff --git a/npc/re/mobs/fields/eclage.txt b/npc/re/mobs/fields/eclage.txt
new file mode 100644
index 000000000..76c53be2b
--- /dev/null
+++ b/npc/re/mobs/fields/eclage.txt
@@ -0,0 +1,17 @@
+//===== Hercules Script ======================================
+//= Eclage Field Monster Spawn Script
+//===== By: ==================================================
+//= refis
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= jRO monster spawns, taken from Auriga.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+//==================================================
+// ecl_fild01 - Blooming Flower Land
+//==================================================
+ecl_fild01.gat,0,0,0,0 monster Menblatt 2363,60,5000,0,0
+ecl_fild01.gat,0,0,0,0 monster Petal 2364,20,5000,0,0
diff --git a/npc/re/mobs/fields/einbroch.txt b/npc/re/mobs/fields/einbroch.txt
index eaf12a96d..b06c25f59 100644
--- a/npc/re/mobs/fields/einbroch.txt
+++ b/npc/re/mobs/fields/einbroch.txt
@@ -6,15 +6,15 @@
//= 1.8
//===== Additional Comments: =================================
//= 1.1 correct spawn maps, but not yet exact amount of
-//= monsters [Lupus]
-//= maps, marked with * are correct
+//= monsters [Lupus]
+//= maps, marked with * are correct
//= 1.2 Updated to correct mobs. Many thanks to vicious_pucca
//= again for providing the information [MasterOfMuppets]
//= 1.2a Fixed missing tabs [Lupus]
//= 1.3 Updated after Episode 10.4 - Hugel [Poki#3]
-//= Mob quantity is custom.
+//= Mob quantity is custom.
//= 1.3b Changed the spawn numbers a bit. [Poki#3]
-//= Thanks to Playtester and Emperium.org
+//= Thanks to Playtester and Emperium.org
//= 1.4 Updated by using Tharis' Homun AI, by Tharis [Vicious]
//= 1.5 Adjusted some spawns according to official info [Playtester]
//= 1.6 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/fields/geffen.txt b/npc/re/mobs/fields/geffen.txt
index d6d6be055..0b1c3b3c3 100644
--- a/npc/re/mobs/fields/geffen.txt
+++ b/npc/re/mobs/fields/geffen.txt
@@ -38,8 +38,8 @@ gef_fild02,0,0,0,0 monster Coco 1104,140,5000,0,0
gef_fild02,0,0,0,0 monster Poporing 1031,20,5000,0,0
gef_fild02,0,0,0,0 monster Horn 1128,20,5000,0,0
gef_fild02,0,0,0,0 monster Elder Willow 1033,20,5000,0,0
-gef_fild02,87,48,6,6 monster Red Mushroom 1085,5,360000,180000,1
gef_fild02,227,316,6,6 monster Green Plant 1080,8,360000,180000,1
+gef_fild02,87,48,6,6 monster Red Mushroom 1085,5,360000,180000,1
gef_fild02,215,209,2,1 monster Blue Plant 1079,2,360000,180000,1
gef_fild02,207,214,1,1 monster Blue Plant 1079,1,360000,180000,1
gef_fild02,220,214,1,1 monster Blue Plant 1079,1,360000,180000,1
diff --git a/npc/re/mobs/fields/hugel.txt b/npc/re/mobs/fields/hugel.txt
index fd04fc658..893de3d71 100644
--- a/npc/re/mobs/fields/hugel.txt
+++ b/npc/re/mobs/fields/hugel.txt
@@ -8,9 +8,9 @@
//= Spawns for hu_fild05 and hu_fild04, numbers may not be correct [MasterOfMuppets]
//= 0.2 Fixed Petit ID
//= 0.3 Updated the spawns using kRO's website as info, [MasterOfMuppets]
-//= thanks to battousai90
+//= thanks to battousai90
//= 0.4 Updated after Episode 10.4 - Hugel [Poki#3]
-//= Mob quantity is custom.
+//= Mob quantity is custom.
//= 1.0 Updated by using Tharis' Homun AI, by Tharis [Vicious]
//= 1.1 Official X.3 spawns [Playtester]
//= 1.2 Some 11.1 spawn updates [Playtester]
diff --git a/npc/re/mobs/fields/jawaii.txt b/npc/re/mobs/fields/jawaii.txt
deleted file mode 100644
index b2483deca..000000000
--- a/npc/re/mobs/fields/jawaii.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-//===== Hercules Script ======================================
-//= Jawaii the honeymoon Island Monster Spawn Script
-//===== By: ==================================================
-//= MasterOfMuppets (1.0)
-//===== Current Version: =====================================
-//= 1.0
-//===== Additional Comments: =================================
-//= 1.0 First version [MasterOfMuppets]
-//============================================================
-
-//==================================================
-// jawaii - Jawaii, the Honeymoon Island
-//==================================================
-jawaii,207,290,10,10 monster Phen 1158,3,3600000,1800000,0
-jawaii,221,220,30,30 monster Aster 1266,2,3600000,2400000,0
-jawaii,276,163,20,20 monster Aster 1266,1,7200000,3600000,0
-jawaii,221,220,30,30 monster Shellfish 1074,1,4800000,3000000,0
-jawaii,276,163,20,30 monster Shellfish 1074,2,4200000,2400000,0
-
-//==================================================
-// jawaii_in - Inside Jawaii
-//==================================================
-jawaii_in,128,121,1,4 monster Red Mushroom 1085,1,3000000,1200000,0
-jawaii_in,124,76,1,1 monster Black Mushroom 1084,1,3600000,1200000,0
-jawaii_in,72,74,5,1 monster Black Mushroom 1084,2,3000000,1200000,0
-jawaii_in,73,117,4,4 monster Thief Bug Egg 1048,1,5400000,3000000,0
-jawaii_in,83,117,5,5 monster Thief Bug Egg 1048,1,4800000,2400000,0
diff --git a/npc/re/mobs/fields/lighthalzen.txt b/npc/re/mobs/fields/lighthalzen.txt
index 6438c3c93..fd083f1e4 100644
--- a/npc/re/mobs/fields/lighthalzen.txt
+++ b/npc/re/mobs/fields/lighthalzen.txt
@@ -8,7 +8,7 @@
//= 1.0 by Muad_Dib (Prometheus Project)
//= 1.1 Added Porcellio by MasterOfMuppets
//= 1.2 Corrected monsters. Many thanks to vicious_pucca for
-//= the information [MasterOfMuppets]
+//= the information [MasterOfMuppets]
//= 1.3 Updated acordingly to Episode 10.4 [Poki#3]
//= 1.4 Fully updated X.4 spawns [Playtester]
//= 1.5 More accurate spawns [Playtester]
diff --git a/npc/re/mobs/fields/payon.txt b/npc/re/mobs/fields/payon.txt
index 41e239861..0d2f13874 100644
--- a/npc/re/mobs/fields/payon.txt
+++ b/npc/re/mobs/fields/payon.txt
@@ -41,8 +41,8 @@ pay_fild01,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
pay_fild02,0,0,0,0 monster Boa 1025,140,5000,0,0
pay_fild02,0,0,0,0 monster Wormtail 1024,30,5000,0,0
pay_fild02,0,0,0,0 monster Spore 1014,30,5000,0,0
-pay_fild02,105,256,10,10 monster Red Mushroom 1085,4,360000,180000,1
pay_fild02,105,256,10,10 monster Green Plant 1080,4,360000,180000,1
+pay_fild02,105,256,10,10 monster Red Mushroom 1085,4,360000,180000,1
//==================================================
// pay_fild03 - Payon Forest
@@ -71,8 +71,6 @@ pay_fild04,254,193,10,10 monster Green Plant 1080,5,360000,180000,1
//==================================================
// pay_fild05 - Disabled on Renewal
//==================================================
-//pay_fild05,95,147,5,5 monster Green Plant 1080,4,900000,450000,1
-//pay_fild05,86,90,5,5 monster Green Plant 1080,4,900000,450000,1
//==================================================
// pay_fild06 - Payon Forest
diff --git a/npc/re/mobs/fields/prontera.txt b/npc/re/mobs/fields/prontera.txt
index 0930fc088..ec7091e0b 100644
--- a/npc/re/mobs/fields/prontera.txt
+++ b/npc/re/mobs/fields/prontera.txt
@@ -94,6 +94,22 @@ prt_fild08,0,0,0,0 monster Lunatic 1063,40,5000,0,0
prt_fild08,0,0,0,0 monster Fabre 1007,40,5000,0,0
//==================================================
+// prt_fild08 - Duplicates
+//==================================================
+prt_fild08a,0,0,0,0 monster Poring 1002,140,5000,0,0
+prt_fild08b,0,0,0,0 monster Poring 1002,140,5000,0,0
+prt_fild08c,0,0,0,0 monster Poring 1002,140,5000,0,0
+prt_fild08d,0,0,0,0 monster Poring 1002,140,5000,0,0
+prt_fild08a,0,0,0,0 monster Lunatic 1063,40,5000,0,0
+prt_fild08b,0,0,0,0 monster Lunatic 1063,40,5000,0,0
+prt_fild08c,0,0,0,0 monster Lunatic 1063,40,5000,0,0
+prt_fild08d,0,0,0,0 monster Lunatic 1063,40,5000,0,0
+prt_fild08a,0,0,0,0 monster Fabre 1007,40,5000,0,0
+prt_fild08b,0,0,0,0 monster Fabre 1007,40,5000,0,0
+prt_fild08c,0,0,0,0 monster Fabre 1007,40,5000,0,0
+prt_fild08d,0,0,0,0 monster Fabre 1007,40,5000,0,0
+
+//==================================================
// prt_fild09 - Prontera Field
//==================================================
prt_fild09,0,0,0,0 monster Magnolia 1138,140,5000,0,0
diff --git a/npc/re/mobs/fields/splendide.txt b/npc/re/mobs/fields/splendide.txt
index 97a6befd4..e7e3fb0d6 100644
--- a/npc/re/mobs/fields/splendide.txt
+++ b/npc/re/mobs/fields/splendide.txt
@@ -20,8 +20,6 @@ spl_fild01,0,0,0,0 monster Cornus 1992,25,5000,0,0
// spl_fild02 - Splendide Field
//==================================================
spl_fild02,0,0,0,0 monster Pinguicula 1995,75,5000,0,0
-spl_fild02,0,0,0,0 monster Bradium Golem 2024,20,5000,0,0
-spl_fild02,0,0,0,0 monster Naga 1993,20,5000,0,0
spl_fild02,0,0,0,0 monster Luciola Vespa 1994,15,5000,0,0
//==================================================
diff --git a/npc/re/mobs/fields/umbala.txt b/npc/re/mobs/fields/umbala.txt
index 3914207a3..34e9d10de 100644
--- a/npc/re/mobs/fields/umbala.txt
+++ b/npc/re/mobs/fields/umbala.txt
@@ -1,14 +1,14 @@
-//===== Hercules Script ======================================
+//===== Hercules Script ======================================
//= Umbala Fields Monster Spawn Script
-//===== By: ==================================================
+//===== By: ==================================================
//= Darkchild (1.0)
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.5
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.3 Official kRO 10.1 spawns [Playtester]
//= 1.4 More accurate spawns [Playtester]
//= 1.5 Updated spawns to renewal. [L0ne_W0lf]
-//============================================================
+//============================================================
//==================================================
// um_fild01 - Luluka Forest
@@ -21,7 +21,6 @@ um_fild01,0,0,0,0 monster Wooden Golem 1497,10,5000,0,0
um_fild01,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
um_fild01,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
um_fild01,0,0,0,0 monster Shining Plant 1083,5,180000,90000,1
-um_fild01,0,0,0,0 monster Shining Plant 1083,1,180000,90000,1
//==================================================
// um_fild02 - Hoomga Forest
diff --git a/npc/re/mobs/fields/yuno.txt b/npc/re/mobs/fields/yuno.txt
index 15aa2046b..40641ff5c 100644
--- a/npc/re/mobs/fields/yuno.txt
+++ b/npc/re/mobs/fields/yuno.txt
@@ -9,11 +9,11 @@
//= 1.2 New/Better Spawn [Muad_Dib]
//= 1.3 Fix Up [Darkchild]
//= 1.4 Updated monster spawns. Many thanks to vicious_pucca for
-//= providing the information [MasterOfMuppets]
+//= providing the information [MasterOfMuppets]
//= 1.5 Updated after Episode 10.4 - Hugel [Poki#3]
-//= Mob quantity is custom.
+//= Mob quantity is custom.
//= 1.5b Changed the spawn numbers a bit. [Poki#3]
-//= Thanks to Playtester and Emperium.org
+//= Thanks to Playtester and Emperium.org
//= 1.6 Fixed Yuno Field 10. Mob amount sugested by Playtester [Poki#3]
//= 1.7 Updated by using Tharis' Homun AI, by Tharis [Vicious]
//= 1.8 Added kRO 10.1 spawns where they fit [Playtester]
diff --git a/npc/re/mobs/towns.txt b/npc/re/mobs/towns.txt
new file mode 100644
index 000000000..a6367d35e
--- /dev/null
+++ b/npc/re/mobs/towns.txt
@@ -0,0 +1,34 @@
+//===== Hercules Script ======================================
+//= Town Monster Spawn Script
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Spawns monsters in towns.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal spawns.
+//============================================================
+
+//==================================================
+// Brasilis, Strange Hydras
+//==================================================
+brasilis,283,88,6,6 monster Strange Hydra 2081,5,5000,0,0
+brasilis,284,104,6,6 monster Strange Hydra 2081,4,5000,0,0
+brasilis,215,80,6,6 monster Strange Hydra 2081,4,5000,0,0
+brasilis,96,50,8,8 monster Strange Hydra 2081,5,5000,0,0
+
+//==================================================
+// Alberta Ship, Swapping the Deck
+//==================================================
+alb_ship,0,0,0,0 monster Strange Mouse 2057,25,0,0,0
+
+//==================================================
+// Prontera, Training Dummy Area
+//==================================================
+prontera,251,77,0,0 monster Dummy Lv50 2409,1,5000,0,0
+prontera,259,77,0,0 monster Dummy Lv50 2409,1,5000,0,0
+prontera,251,66,0,0 monster Dummy Lv100 2410,1,5000,0,0
+prontera,259,66,0,0 monster Dummy Lv100 2410,1,5000,0,0
+prontera,251,55,0,0 monster Dummy Lv150 2411,1,5000,0,0
+prontera,259,55,0,0 monster Dummy Lv150 2411,1,5000,0,0
diff --git a/npc/re/other/bulletin_boards.txt b/npc/re/other/bulletin_boards.txt
new file mode 100644
index 000000000..ecfaaf9ca
--- /dev/null
+++ b/npc/re/other/bulletin_boards.txt
@@ -0,0 +1,37 @@
+//===== Hercules Script ======================================
+//= Bulletin Boards
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Bulletin Boards for beginners.
+//===== Additional Comments: =================================
+//= 1.0 Moved Izlude NPCs to Pre-RE/RE paths.
+//= Disabled until proper coordinates are found.
+//============================================================
+
+/*
+- script ::BulletinBoard_iz -1,{
+ mes "[Izlude: The Satellite City]";
+ mes "Welcome to Izlude, the satellite of Prontera. Izlude was built to support Prontera's defense and to accomodate its burgeoning population.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "The main buildings here are to accomodate the growth of the Cryptura Academy.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "Points of interest include the Swordman Association building which allows adventurers to change their job to Swordman, and the Battle Area that is East of Izlude.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "At the docks, you may take a ship and travel to ^003399Alberta^000000 or ^660000Byalan Island^000000.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "From Izlude, ^3355FFProntera^000000 is located to the Northwest, and ^006600Payon^000000 is located to the South. Enjoy your travels in the Rune-Midgarts Kingdom.";
+ close;
+}
+izlude,25,103,0 duplicate(BulletinBoard_iz) Bulletin Board#5 837
+izlude_a,25,103,0 duplicate(BulletinBoard_iz) Bulletin Board#5_a 837
+izlude_b,25,103,0 duplicate(BulletinBoard_iz) Bulletin Board#5_b 837
+izlude_c,25,103,0 duplicate(BulletinBoard_iz) Bulletin Board#5_c 837
+izlude_d,25,103,0 duplicate(BulletinBoard_iz) Bulletin Board#5_d 837
+*/
diff --git a/npc/re/other/item_merge.txt b/npc/re/other/item_merge.txt
new file mode 100644
index 000000000..55004785f
--- /dev/null
+++ b/npc/re/other/item_merge.txt
@@ -0,0 +1,69 @@
+//===== Hercules Script ======================================
+//= Mergician
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Merges items taking up multiple slots in a player's
+//= inventory.
+//===== Additional Comments: =================================
+//= 1.0 First version, currently useless/disabled.
+//============================================================
+
+prontera,146,95,3 script Mergician#pron 64,{
+ if (checkweight(1301,1) == 0) {
+ mes "- Wait a second !! -";
+ mes "- You are carrying too many items -";
+ mes "- or too much weight to proceed. -";
+ mes "- Come back after -";
+ mes "- arranging your inventory. -";
+ close;
+ }
+ mes "[Mergician]";
+ mes "Do you believe in the miracle of Merge god?? If so, repeat my spell loudly as I pronunce it!!!";
+ mes "Merge Merge, Merrrrge!!!";
+ next;
+ switch(select("What is the miracle of Merge?:Merrrrge!!!!:Abandon...")) {
+ case 1:
+ mes "[Mergician]";
+ mes "There is an order which rules the world and keeps the world to go well.";
+ next;
+ mes "[Mergician]";
+ mes "But there has been a bad factor which totally jeopardised this rule!!";
+ next;
+ mes "[Mergician]";
+ mes "Those things which are separated even if they are composed by the same material!!";
+ next;
+ mes "[Mergician]";
+ mes "Have you never experienced this bad incident??";
+ mes "The fact that I had ^3131FFthe same potion, but appearing more than twice in your inventory!!^000000 So unpleasant!!!";
+ next;
+ mes "[Mergician]";
+ mes "Believe in Mergism. That is the truth.";
+ mes "Then I can help you be happy and content.";
+ close;
+ case 2:
+ mes "[Mergician]";
+ mes "This is the total holy ritual to pray to the Great God, Merge! and I am borrowing the power for a while!!";
+ next;
+ mes "[Mergician]";
+ mes "And if you eagerly want to be blessed by Merge, be humble and shout out loud! Merge Merge, Merrrrge!!!";
+ next;
+ switch(select("Merrrrge!:Don't follow what he says.")) {
+ case 1:
+// MergeItem
+ mes "[Mergician]";
+ mes "Merge just heard your wish and let it be realised!";
+ mes "Open your inventory to check the miracle!";
+ close;
+ case 2:
+ mes "[Mergician]";
+ mes "You jerk!!! You just broke the whole rhythm! Why can't you get my flow and follow me?! Idiot!";
+ close;
+ }
+ case 3:
+ close;
+ }
+}
diff --git a/npc/re/other/mail.txt b/npc/re/other/mail.txt
new file mode 100644
index 000000000..3aa040ea2
--- /dev/null
+++ b/npc/re/other/mail.txt
@@ -0,0 +1,19 @@
+//===== Hercules Script ======================================
+//= Mail Boxes
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Pickup and write mail from/to players in game.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal duplicates.
+//============================================================
+
+// Izlude
+//============================================================
+izlude_a,136,94,0 duplicate(MailBox) Mailbox#iz_a 888
+izlude_b,136,94,0 duplicate(MailBox) Mailbox#iz_b 888
+izlude_c,136,94,0 duplicate(MailBox) Mailbox#iz_c 888
+izlude_d,136,94,0 duplicate(MailBox) Mailbox#iz_d 888
diff --git a/npc/re/other/mercenary_rent.txt b/npc/re/other/mercenary_rent.txt
index 0e92f8fc2..9056d56f7 100644
--- a/npc/re/other/mercenary_rent.txt
+++ b/npc/re/other/mercenary_rent.txt
@@ -4,14 +4,22 @@
//= Daegaladh
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Sells Lancer, Sword, and Archer mercenaries,
//= along with related mercenary items.
//===== Additional Comments: =================================
//= 1.0 First version. [L0ne_W0lf]
+//= 1.1 Added Izlude duplicates. [Euphy]
//============================================================
-izlude,47,169,5 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734
-izlude,56,169,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892
+izlude,47,170,4 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734
+izlude_a,47,170,4 duplicate(Mercenary Manager#main) Mercenary Manager#Swo_a 734
+izlude_b,47,170,4 duplicate(Mercenary Manager#main) Mercenary Manager#Swo_b 734
+izlude_c,47,170,4 duplicate(Mercenary Manager#main) Mercenary Manager#Swo_c 734
+izlude_d,47,170,4 duplicate(Mercenary Manager#main) Mercenary Manager#Swo_d 734
+
+izlude,55,170,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892
+izlude_a,55,170,4 duplicate(MercMerchant) Mercenary Merchant#Swo_a 892
+izlude_b,55,170,4 duplicate(MercMerchant) Mercenary Merchant#Swo_b 892
+izlude_c,55,170,4 duplicate(MercMerchant) Mercenary Merchant#Swo_c 892
+izlude_d,55,170,4 duplicate(MercMerchant) Mercenary Merchant#Swo_d 892
diff --git a/npc/re/other/pvp.txt b/npc/re/other/pvp.txt
new file mode 100644
index 000000000..deebc7b72
--- /dev/null
+++ b/npc/re/other/pvp.txt
@@ -0,0 +1,91 @@
+//===== Hercules Script ======================================
+//= PvP NPCs
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= PvP NPCs that are found in the Inns in major cities.
+//= Includes Yoyo Mode, Nightmare Mode, and Event Mode.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal.
+//============================================================
+
+// PVP Warpers
+//============================================================
+pvp_y_room,30,85,4 script Fight Square Reception#1 105,{ //5,5
+ callfunc "F_PVP_FSRS",50,69;
+ end;
+
+OnInit:
+ waitingroom "LV 50 ~ LV 69",0;
+ end;
+}
+
+pvp_y_room,38,85,4 script Fight Square Reception#2 105,{ //5,5
+ callfunc "F_PVP_FSRS",70,89;
+ end;
+
+OnInit:
+ waitingroom "LV 70 ~ LV 89",0;
+ end;
+}
+
+pvp_y_room,46,85,4 script Fight Square Reception#3 105,{ //5,5
+ callfunc "F_PVP_FSRS",90,99;
+ end;
+
+OnInit:
+ waitingroom "LV 90 ~ LV 99",0;
+ end;
+}
+
+pvp_y_room,54,85,4 script Fight Square Reception#8 105,{
+ callfunc "F_PVP_FSRS";
+ end;
+
+OnInit:
+ waitingroom "Free for all",0;
+ end;
+}
+
+pvp_y_room,62,85,4 script Fight Square Reception#4 105,{
+ //if (ADVJOB > 0) {
+ if (Upper == 1) {
+ mes "[PVP Fight Square Reception Staff]";
+ mes "You have been transcended.";
+ mes "You are not allowed to enter.";
+ close;
+ }
+ callfunc "F_PVP_FSRS";
+ end;
+
+OnInit:
+ waitingroom "Normal Jobs Only",0;
+ end;
+}
+
+pvp_y_room,70,85,4 script Fight Square Reception#5 105,{
+ //if (ADVJOB == 0) {
+ if (Upper != 1) {
+ mes "[PVP Fight Square Reception Staff]";
+ mes "You have not transcended.";
+ mes "You are not allowed to enter.";
+ close;
+ }
+ callfunc "F_PVP_FSRS";
+ end;
+
+OnInit:
+ waitingroom "Trans Jobs Only",0;
+ end;
+}
+
+pvp_n_room,86,85,4 script Fight Square Reception#n 105,{
+ callfunc "F_PVP_FSRS";
+ end;
+
+OnInit:
+ waitingroom "Free for all",0;
+ end;
+}
diff --git a/npc/re/other/resetskill.txt b/npc/re/other/resetskill.txt
new file mode 100644
index 000000000..7e14c9537
--- /dev/null
+++ b/npc/re/other/resetskill.txt
@@ -0,0 +1,147 @@
+//===== Hercules Script ======================================
+//= Hypnotist
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= [Official Conversion]
+//= Stat and skill resetter for expanded first class under
+//= base level 50 and normal first class.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal script.
+//= 1.1 Added Izlude duplicates. [Euphy]
+//============================================================
+
+izlude,127,175,3 script Hypnotist#novice 124,{
+ mes "[Hypnotist]";
+ mes "Greetings, adventurer.";
+ mes "I'm a member of the Hypnotist";
+ mes "Academy sent here to Izlude";
+ mes "to provide Skill Reset services";
+ mes "to certain First Class characters for a really good price: free!";
+ next;
+ mes "[Hypnotist]";
+ mes "Although I offer unlimited";
+ mes "stat/skill resets for now, I have";
+ mes "two conditions that must be";
+ mes "fulfilled. First, you must be";
+ mes "lower than ^FF0000Base Level 50^000000.";
+ next;
+ mes "[Hypnotist]";
+ mes "Second, you must be a";
+ mes "^FF0000Swordman, Acolyte, Mage,";
+ mes "Thief, Archer, Merchant,";
+ mes "Taekwon Boy, or Taekwon Girl,";
+ mes "Gunslinger and Ninja^000000";
+ mes "Job character to qualify.";
+ mes "Now, do you have any questions?";
+ next;
+ switch(select("^FF0000Stat/Skill Reset?:Reset stats:Reset skills^000000:Cancel")) {
+ case 1:
+ mes "[Hypnotist]";
+ mes "Stat/Skill Resets allow adventuers";
+ mes "to redistribute their Skill";
+ mes "Points if they are unhappy";
+ mes "with their current skills.";
+ next;
+ mes "[Hypnotist]";
+ mes "Before proceeding with";
+ mes "a Stat/Skill Reset, you must";
+ mes "reduce all of the weight";
+ mes "of all carried items on your";
+ mes "character to 0. You can put";
+ mes "extra items in Kafra Storage.";
+ next;
+ mes "[Hypnotist]";
+ mes "Ah, it's also important";
+ mes "to remove your ^FF0000Pushcart^000000";
+ mes "if you have one equipped.";
+ mes "Otherwise, hypnosis won't";
+ mes "work, or will backfire...";
+ close;
+ case 2:
+ set .@str$,"Stat";
+ case 3:
+ if (.@str$ == "")
+ set .@str$,"Skill";
+ mes "[Hypnotist]";
+ mes "Are you sure that you";
+ mes "want to proceed with";
+ mes "my ^FF0000"+.@str$+" Reset^000000 service?";
+ next;
+ if(select("Yes:Cancel") == 1)
+ break;
+ case 4:
+ mes "[Hypnotist]";
+ mes "Thank you, and good";
+ mes "luck on your adventures.";
+ mes "Please travel in safety~";
+ close;
+ }
+ if ((Class >= Job_Swordman && Class <= Job_Thief) || Class == Job_Taekwon || Class == Job_Gunslinger || Class == Job_Ninja) {
+ if (checkcart()) {
+ mes "[Hypnotist]";
+ mes "Oh! Please remove your";
+ mes "Pushcart before proceeding";
+ mes "with the "+.@str$+" Reset service.";
+ mes "Thanks for cooperating~";
+ close;
+ }
+ if (Weight != 0) {
+ mes "[Hypnotist]";
+ mes "If you're here for my "+.@str$;
+ mes "Reset service, please";
+ mes "remember that you can't";
+ mes "reset your "+.@str$+"s until the";
+ mes "^FF0000weight of your carried items in";
+ mes "your Inventory is reduced to 0^000000.";
+ next;
+ mes "[Hypnotist]";
+ mes "Why don't you place your";
+ mes "things into the Kafra Storage";
+ mes "for now? That way, you can";
+ mes "safely keep all of your goods.";
+ close;
+ }
+ if (BaseLevel >= 50 && (Class == Job_Taekwon || Class == Job_Gunslinger || Class == Job_Ninja)) {
+ mes "[Hypnotist]";
+ mes "I'm sorry, but characters";
+ mes "with Base Levels higher";
+ mes "than 50 are ineligible for the";
+ mes .@str$+" Reset service I provide.";
+ close;
+ }
+ mes "[Hypnotist]";
+ mes "Thank you for using";
+ mes "my "+.@str$+" Redistribution";
+ mes "services. Oh, and best";
+ mes "of luck to you on your";
+ mes "travels, adventurer.";
+ if (.@str$ == "Stat")
+ resetstatus;
+ else
+ resetskill;
+ close;
+ } else {
+ mes "[Hypnotist]";
+ mes "I'm sorry, but your";
+ mes "Job Class doesn't qualify";
+ mes "for the "+.@str$+" Reset service";
+ mes "that I provide. I can only";
+ mes "offer "+.@str$+" Resets to the";
+ mes "following Jobs...";
+ next;
+ mes "[Hypnotist]";
+ mes "^FF0000Swordman, Acolyte,";
+ mes "Mage, Thief, Archer,";
+ mes "Merchant, Taekwon";
+ mes "Boy, Taekwon Girl,";
+ mes "Gunslinder and Ninja^000000.";
+ close;
+ }
+}
+izlude_a,127,175,3 duplicate(Hypnotist#novice) Hypnotist#novice_a 124
+izlude_b,127,175,3 duplicate(Hypnotist#novice) Hypnotist#novice_b 124
+izlude_c,127,175,3 duplicate(Hypnotist#novice) Hypnotist#novice_c 124
+izlude_d,127,175,3 duplicate(Hypnotist#novice) Hypnotist#novice_d 124
diff --git a/npc/re/other/stone_change.txt b/npc/re/other/stone_change.txt
new file mode 100644
index 000000000..a6b903273
--- /dev/null
+++ b/npc/re/other/stone_change.txt
@@ -0,0 +1,59 @@
+//===== Hercules Script ======================================
+//= Stone Changer
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Organizes ores in a player's inventory.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+geffen_in,99,174,5 script Ore Tester#sorty 700,{
+ mes "[Ore Tester Sorty]";
+ mes "Do you have ^3131FFany same type of ores in your inventories^000000 which take many spaces?";
+ mes "I can distinguish your ores and organize them right away~!";
+ next;
+ switch(select("Refine my Ore.:Cancel.")) {
+ case 1:
+ mes "[Ore Tester Sorty]";
+ mes "At the moment I can only distinguish ^FF0000Steel^000000, ^FF0000Iron^000000, ^FF0000Iron Ore^000000, and ^FF0000Rough Oridecon^000000 and organize them.";
+ mes "Please note that ^3131FFother items are unable^000000!";
+ next;
+ mes "[Ore Tester Sorty]";
+ mes "So, would you like me to organize your ores?";
+ next;
+ set .@i, select("Steel, please.:Iron, please.:Iron Ore, please.:Rough Oridecon, please.:No, thanks.");
+ if (.@i == 5) {
+ mes "[Ore Tester Sorty]";
+ mes "Huh, I really hate messy people!";
+ close;
+ }
+ setarray .@ores[0],999,998,1002,756;
+ set .@item, .@ores[.@i-1];
+ if (countitem(.@item) == 0) {
+ mes "[Ore Tester Sorty]";
+ mes "You don't have any "+getitemname(.@item)+"...";
+ close;
+ }
+ while(1) {
+ if (countitem(.@item)) {
+ set .@count, countitem(.@item);
+ set .@total, .@total + .@count;
+ delitem .@item, .@count;
+ } else {
+ getitem .@item, .@total;
+ break;
+ }
+ }
+ mes "[Ore Tester Sorty]";
+ mes "It's done. Looks great! Don't you think so?";
+ close;
+ case 2:
+ mes "[Ore Tester Sorty]";
+ mes "It seems that your bag is clean? Huhu! You might be the master of cleaning!";
+ close;
+ }
+}
diff --git a/npc/re/mobs/towns/brasilis.txt b/npc/re/other/turbo_track.txt
index 12b0cd658..129f4bcc8 100644
--- a/npc/re/mobs/towns/brasilis.txt
+++ b/npc/re/other/turbo_track.txt
@@ -1,14 +1,14 @@
//===== Hercules Script ======================================
-//= Brasilis Quest Monsters
+//= Turbo Track
//===== By: ==================================================
-//= L0ne_W0lf
+//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Description: =========================================
-//= 1.0 First version
+//= [Official Conversion]
+//= Renewal duplicates.
+//===== Additional Comments: =================================
+//= 1.0 Split Mount Manager NPC.
//============================================================
-brasilis,283,88,6,6 monster Strange Hydra 2081,5,5000,0,0
-brasilis,284,104,6,6 monster Strange Hydra 2081,4,5000,0,0
-brasilis,215,80,6,6 monster Strange Hydra 2081,4,5000,0,0
-brasilis,96,50,8,8 monster Strange Hydra 2081,5,5000,0,0
+alde_gld,181,199,5 duplicate(MountManager_turbo) Mount Manager 845
diff --git a/npc/re/quests/cupet.txt b/npc/re/quests/cupet.txt
index c2ba9fec7..3f3ded52e 100644
--- a/npc/re/quests/cupet.txt
+++ b/npc/re/quests/cupet.txt
@@ -4,13 +4,11 @@
//= Z3R0
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
-//= [Aegis Conversion]
+//= [Official Conversion]
//= Exchanges Hunted Items for Tames
//===== Additional Comments: =================================
-//= v1.0 First / Optimized Version
+//= 1.0 First / Optimized Version
//============================================================
// 1st NPC
diff --git a/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt
index 5467c773e..fe147f210 100644
--- a/npc/re/quests/eden/26-40.txt
+++ b/npc/re/quests/eden/26-40.txt
@@ -84,7 +84,7 @@ L_Quest:
mes "You have declined the "+getarg(2)+" mission.";
close;
}
- if (checkquest(getarg(0)) == 1) mes "You are already doing this mission.";
+ if (checkquest(getarg(0)) > -1) mes "You are already doing this mission.";
else {
setquest getarg(0);
mes "You have accepted the "+getarg(2)+" mission.";
diff --git a/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt
index dc71a6c5a..57f131f07 100644
--- a/npc/re/quests/eden/41-55.txt
+++ b/npc/re/quests/eden/41-55.txt
@@ -24,7 +24,7 @@ moc_para01,40,38,3 script Mission [41 - 55] 857,{
}
if (checkquest(12088) == -1) {
if (BaseLevel < 41 || BaseLevel > 55) {
- mes "[41 ~ 55 Lv. Mission Board]";
+ mes "Mission bulletin board for Lv41~55 adventurers.";
close;
}
mes "[Mission Board]";
@@ -48,7 +48,7 @@ moc_para01,40,38,3 script Mission [41 - 55] 857,{
case 11: callsub L_Quest,12082,"Don't ask why, but please hunt 30 Shellfish. It is a secret mission!";
case 12: callsub L_Quest,12083,"Marine Sphere? Do you know what a Marine Sphere is? I got a mission for you to hunt 15 Marine Sphere, so please do so.";
case 13: callsub L_Quest,12084,"The mayor wants to eat a delicious fish dish. Phen will be the perfect ingredient for it. Please hunt 20 Phen!";
- case 14: callsub L_Quest,12085,"You have accepted the mission. For more details, please press 'alt + u' keys, you can get information from the Quest Window.";
+ case 14: callsub L_Quest,12085,"Dead Orc monsters got back to our town and they've revived as Orc Skeletons. We are in chaos! Please hunt 15 Orc Skeleton.";
case 15: callsub L_Quest,12086,"Some weird monsters called Zenorc are attacking us. Please hunt 30 Zenorc.";
case 16: callsub L_Quest,12087,"Be prepared! It is a cruel mission! Hunt 15 Mummies!! I tried once, but I couldn't succeed. It is too scary!";
}
diff --git a/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt
index c503a274b..c3a99ed3e 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: =====================================
-//= 2.1
+//= 1.5
//===== Description: =========================================
//= Repetable Quests for Players between Baselevel 56 - 70.
//===== Additional Comments: =================================
@@ -12,8 +12,7 @@
//= 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]
+//= 1.5 Optimized, based on code by Zopokx. [Euphy]
//============================================================
moc_para01,42,38,3 script Mission [56 - 70] 857,{
@@ -25,44 +24,40 @@ moc_para01,42,38,3 script Mission [56 - 70] 857,{
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: 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: 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: 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;
+ 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: 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;
+ }
+ case 2:
+ switch(select("Hunt Wild Boar:Preparing the Summer:A Woman's Grudge:Special ingredients:Puppet Master's Agony")) {
+ 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;
+ }
+ case 3:
+ switch(select("Tiresome Flies:Dangerous Munak:Make the World green:Magic Wand")) {
+ 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;
+ }
}
end;
L_Quest:
- if (checkquest(getarg(0)) <= 0) {
- callsub L_CheckDetails, getarg(0);
- mes " ";
+ if (checkquest(getarg(0)) == -1) {
+ callsub L_Details, getarg(0);
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)) {
+ if (BaseLevel < 55 || BaseLevel > 70) {
mes "These missions are not fit for my level. I should look for other missions.";
close;
}
@@ -73,43 +68,41 @@ L_Quest:
}
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; }
+ if (getargcount() > 5) {
+ if (countitem(getarg(5)) < getarg(6))
+ set .@items,1; //incomplete
+ else
+ set .@items,2; //complete
+ }
+ if (checkquest(getarg(0)) < 2 && (countitem(getarg(3)) < getarg(4) || .@items == 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_Details, getarg(0);
+ close;
+ } else {
+ 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.") == 1) {
delitem getarg(3),getarg(4);
- if (getarg(5,0) > 0) { delitem getarg(5),getarg(6); }
+ if (.@items)
+ 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;
}
- close;
end;
L_HuntingQuest:
- if (checkquest(getarg(0)) <= 0) {
- callsub L_CheckDetails, getarg(0);
- next;
- mes " ";
+ if (checkquest(getarg(0)) == -1) {
+ callsub L_Details, getarg(0);
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)) {
+ if (BaseLevel < 55 || BaseLevel > 70) {
mes "These missions are not fit for my level. I should look for other missions.";
close;
}
@@ -118,249 +111,249 @@ L_HuntingQuest:
next;
mes "This mission doesn't have time limits.";
}
+ close;
+ }
+ if (getargcount() > 3) {
+ if (countitem(getarg(3)) < getarg(4))
+ set .@items,1; //incomplete
+ else
+ set .@items,2; //complete
}
- else if (checkquest(getarg(0),HUNTING) == 1) {
+ if (checkquest(getarg(0),HUNTING) < 2 || .@items == 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); }
+ callsub L_Details, getarg(0);
+ close;
+ } else if (checkquest(getarg(0),HUNTING) == 2) {
+ 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.") == 1) {
+ if (.@items)
+ 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.";
}
+ close;
}
- 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;
+L_Details:
+ 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/71-85.txt b/npc/re/quests/eden/71-85.txt
index 9a11bf2b5..db704a3de 100644
--- a/npc/re/quests/eden/71-85.txt
+++ b/npc/re/quests/eden/71-85.txt
@@ -3,13 +3,14 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.2
+//= 1.3
//===== Description: =========================================
//= Repetable Quests for Players between Baselevel 71 - 85.
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Some little optimization here and there. [Masao]
//= 1.2 Optimized. [Euphy]
+//= 1.3 Updated to match the official scripts. [Euphy]
//============================================================
moc_para01,44,38,3 script Mission [71 - 85] 857,{
@@ -19,586 +20,205 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- this bulletin board. -";
close;
}
- mes "- Many hunting missions -";
- mes "- are on the bulletin board. -";
- next;
- if ((BaseLevel > 70) && (BaseLevel < 86)) {
- switch (select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) {
- case 1:
- mes "- Sphinx Dungeon -";
- mes "- I am Meidi who lives -";
- mes "- in Morocc. I want to hunt -";
- mes "- monsters in the Sphinx -";
- mes "- Dungeon. I will wait for -";
- mes "- you in front of the -";
- mes "- western gate. -";
- callsub L_Quest,10102,1;
- mes "- Good. Now go find Meidi -";
- mes "- at the western gate -";
- mes "- in Morroc. -";
- close;
- case 2:
- mes "- Glast Heim -";
- mes "- I am Ancellia. -";
- mes "- I need some help -";
- mes "- hunting monsters -";
- mes "- in Glast Heim.-";
- mes "- Please help me. -";
- callsub L_Quest,10103,2;
- mes "- Look for Ancellia. -";
- mes "- in Geffen. -";
- close;
- case 3:
- mes "- Juno Area -";
- mes "- I want to go to Juno, -";
- mes "- but the monsters on -";
- mes "- the way there are too -";
- mes "- strong for me. Come -";
- mes "- visit me in Al De Baran. -";
- mes "- My name is Jeanbai. -";
- callsub L_Quest,10104,3;
- mes "- Look for Jeanbai -";
- mes "- in Al De Baran. -";
- close;
- case 4:
- mes "- Clock Tower -";
- mes "- A Clock is the best thing! -";
- mes "- I'm asking you to hunt -";
- mes "- some monster inside of.-";
- mes "- the Clock Tower, -";
- mes "- Risingeter. -";
- callsub L_Quest,10105,4;
- mes "- Look for Risingeter -";
- mes "- in front of the -";
- mes "- Clock Tower. -";
- close;
- case 5:
- mes "- Localized Islands -";
- mes "- I need someone who -";
- mes "- can hunt monsters -";
- mes "- for Funfi in Alberta. -";
- callsub L_Quest,10106,5;
- mes "- Loof for Funfi -";
- mes "- in Alberta. -";
- close;
- }
- }
- mes "- Only members of the -";
- mes "- right level can read -";
- mes "- this bulletin board. -";
- mes "- Try to find a board -";
- mes "- that suits your level. -";
- close;
-L_Quest:
- next;
- if(select("Accept mission.:Decline mission.") == 2) {
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
- if (slv_quest && slv_quest != getarg(1)) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(getarg(0)) <= 0) {
- setquest getarg(0);
- set slv_quest,getarg(1);
- return;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
-}
-morocc,35,174,5 script Meidi 729,{
-
- if ((checkquest(10107) == 2) && (checkquest(10108) == 2) && (checkquest(10109) == 2) && (slv_quest == 6)) {
- set slv_quest,0;
- mes "[Meidi]";
- mes "You have completed the hunting missions.";
- mes "I don't have anymore missions for you.";
- mes "Thanks, you did a great job!";
- close;
- }
- if (checkquest(10107) == 1 || checkquest(10108) == 1 || checkquest(10109) == 1) {
- mes "[Meidi]";
- mes "Wow! How did you come back so fast?";
- mes "What monster did you hunt?";
- next;
- setarray .@monsters$[0],"Requiem","Marduk","Pasana";
- set .@i, select(implode(.@monsters$,":"))-1;
- if (checkquest(10107+.@i,HUNTING) == 2) {
- mes "[Meidi]";
- mes "You've hunted all 10 "+.@monsters$[.@i]+".";
- mes "Thank you very much.";
- next;
- mes "[Meidi]";
- mes "I know it isn't much but here's a small gift.";
- mes "I hope that it will be helpful to you.";
- next;
- completequest 10107+.@i;
- getexp 48000,0;
- mes "[Meidi]";
- mes "Wooohoo!";
- mes "Good luck.";
- close;
+ // Clear the original quest data (no longer used).
+ if (slv_quest) set slv_quest,0;
+ if (checkquest(10102) > -1 || checkquest(10103) > -1 || checkquest(10104) > -1 || checkquest(10105) > -1 || checkquest(10106) > -1) {
+ for(set .@quest,10102; .@quest<=10106; set .@quest,.@quest+1) {
+ if (checkquest(.@quest) > -1)
+ erasequest .@quest;
}
- mes "[Meidi]";
- mes "You didn't hunt 10 "+.@monsters$[.@i]+" yet.";
- mes "You should make sure that you hunt all of them.";
- mes "Can you check again?";
- close;
- }
- if (slv_quest == 6) {
- mes "[Meidi]";
- mes "Sphinx Dungeon... many adventurers came back with great injuries.";
- mes "That place is very dangerous.";
- mes "Someone should go inside an make it safer for everyone.";
- mes "Hopefully, very soon!";
- close;
- }
- mes "[Meidi]";
- mes "Sphinx Dungeon... many adventurers came back with great injuries.";
- mes "That place is very dangerous.";
- mes "Someone should go inside an make it safer for everyone.";
- mes "Hopefully, very soon!";
- if (slv_quest == 1) {
- next;
- mes "[Meidi]";
- mes "Oh! Are you from the Eden Group?";
- mes "Are you here for my mission?";
- mes "You came right on time.";
- mes "I was worried that noone would accept the mission that I posted.";
+ mes "- Since the client has moved -";
+ mes "- to another place, -";
+ mes "- the application form has been removed. -";
next;
- mes "[Meidi]";
- mes "So, I need help hunting 3 monsters";
- mes "inside of the Sphinx Dungeon.";
- mes "Got it? Its too dangerous for me so that's why I posted the mission.";
- next;
- mes "[Meidi]";
- mes "Requiem, Marduk and Pasana...";
- mes "I heard they are very dangerous monsters.";
- mes "Can you hunt 10 of those monsters?";
- mes "10 of each sounds good enough, right?";
- next;
- mes "[Meidi]";
- mes "If you succeed, I will give you a small reward for your help.";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- mes "[Meidi]";
- mes "Oh. Thank you so much.";
- mes "How can I pay you backf or your effort?";
- mes "May Freya bless you~";
- next;
- completequest 10102;
- setquest 10107;
- setquest 10108;
- setquest 10109;
- set slv_quest,6;
- mes "[Meidi]";
- mes "Requiem, Marduk and Pasana.";
- mes "Don't forget and good luck.";
- close;
- case 2:
- set slv_quest,0;
- erasequest 10102;
- mes "[Meidi]";
- mes "I see. There is no other way.";
- mes "I will send a message to the Eden Group.";
- mes "Don't worry and nevermind.";
- close;
- }
}
- close;
-}
-geffen,146,132,3 script Ancellia 906,{
- if ((checkquest(10110 == 2)) && (checkquest(10111) == 2) && (checkquest(10112) == 2) && (checkquest(10113) == 2) && (slv_quest == 6)) {
- set slv_quest,0;
- mes "[Ancellia]";
- mes "Wow. You've finished all";
- mes "of my missions. Great!";
- mes "You are of great help.";
- mes "I will inform the Eden Group of your assistance.";
- mes "You can go back, don't worry.";
- close;
- }
- if (checkquest(10110) == 1 || checkquest(10111) == 1 || checkquest(10112) == 1 || checkquest(10113) == 1) {
- mes "[Ancellia]";
- mes "You seem to have hunted all of the monsters.";
- mes "What monster have you hunted?";
- mes "Do you remember its name?";
- next;
- setarray .@monsters$[0],"Dark Frame","Evil Druid","Wraith","Raydric Archer";
- set .@i, select(implode(.@monsters$,":"))-1;
- if (checkquest(10110+.@i,HUNTING) == 2) {
- mes "[Ancellia]";
- mes "Ah, you've hunted 10 "+.@monsters$[.@i]+"s.";
- mes "That was pretty difficult!";
- mes "Thank you very much.";
+ if (BaseLevel < 71) {
+ mes "- Only members of the -";
+ mes "- right level can read -";
+ mes "- this bulletin board. -";
+ mes "- Try to find a board -";
+ mes "- that suits your level. -";
+ close;
+ } else if (BaseLevel > 85) {
+ // Quest IDs: 10107-10123, 5055-5057
+ setarray .@quests[0],
+ 10107,10108,10109,
+ 10110,10111,10112,10113,
+ 10114,10115,10116,10117,
+ 10118,10119,10120,
+ 10121,10122,10123,5055,5056;
+ for(set .@i,0; .@i<getarraysize(.@quests); set .@i,.@i+1) {
+ if (checkquest(.@quests[.@i],HUNTING) == 2)
+ set .@complete[getarraysize(.@complete)], .@quests[.@i];
+ }
+ if (checkquest(5057) > -1 && countitem(7187) >= 30)
+ set .@complete[getarraysize(.@complete)],5057;
+ if (getarraysize(.@complete)) {
+ mes "You have quests in progress.";
+ mes "Do you want to turn them in?";
next;
- completequest 10110+.@i;
- getexp 48000,0;
- mes "[Ancellia]";
- mes "Perhaps you can hunt the rest as well.";
- mes "I will wait for you here.";
+ if(select("Of course.:No.") == 2)
+ close;
+ for(set .@i,0; .@i<getarraysize(.@complete); set .@i,.@i+1)
+ callsub L_Quest,.@complete[.@i];
close;
}
- mes "[Ancellia]";
- mes "Hmm... maybe you were confused.";
- mes "You didn't hunt all 10 "+.@monsters$[.@i]+".";
- mes "Can you check again?";
- close;
- }
- if (slv_quest == 6) {
- mes "[Ancellia]";
- mes "Go to Glast Heim and kill";
- mes "Dark Frames, Evil Druids,";
- mes "Wraith and Raydric Archers.";
- mes "10 of each should do just fine.";
+ mes "- Only members of the -";
+ mes "- right level can read -";
+ mes "- this bulletin board. -";
+ mes "- Try to find a board -";
+ mes "- that suits your level. -";
close;
}
- mes "[Ancellia]";
- mes "Glast Heim is very far away.";
- mes "I heared that the castle was cursed by the ancient King of Prontera.";
- mes "There is a another story.";
+ mes "- Choose where you -";
+ mes "- would like to hunt. -";
next;
- mes "[Ancellia]";
- mes "One day the came out of the castle and attacked a nearby village, it was terrible.";
- mes "That's why I can't stop worrying.";
- if (slv_quest == 2) {
- next;
- mes "[Ancellia]";
- mes "Oh, you got my mission";
- mes "from the Eden Group. Great~!";
- mes "Thank you very much.";
- next;
- mes "[Ancellia]";
- mes "I already explained.";
- mes "So I expect you understand.";
- mes "You need to hurry hunting";
- mes "Dark Frames, Evil Druids,";
- mes "Wraith and Raydric Archesr.";
- next;
- mes "[Ancellia]";
- mes "You should hunt them all.";
- mes "These are dangerous monsters so please take care of yourself.";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- mes "[Ancellia]";
- mes "Thanks a lot.";
- mes "Be careful when you hunt these monsters. Good luck.";
- next;
- completequest 10103;
- setquest 10110;
- setquest 10111;
- setquest 10112;
- setquest 10113;
- set slv_quest,6;
- mes "[Ancellia]";
- mes "Remember, Dark Frames,";
- mes "Evil Druids, Wraiths";
- mes "and Raydric Archers.";
- close;
- case 2:
- set slv_quest,0;
- erasequest 10103;
- mes "[Ancellia]";
- mes "Was the mission too hard?";
- mes "I guess I'll just have to wait for someone else from the Eden Group to help me.";
- close;
+ switch(select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) {
+ case 1:
+ mes "- There are several requests -";
+ mes "- related to the Sphinx Dungeon -";
+ mes "- on this mission Board. -";
+ next;
+ set .@str1$,"The villagers of Morroc are worried by the increasing number of monsters in the Sphinx Dungeon. ";
+ set .@str2$,"- Meidi from Morroc -";
+ switch(select("Hunt Requiem:Hunt Marduk:Hunt Pasana")) {
+ case 1: callsub L_Quest,10107,.@str1$+"Hunt 10 Requiems.",.@str2$;
+ case 2: callsub L_Quest,10108,.@str1$+"Hunt 10 Marduks.",.@str2$;
+ case 3: callsub L_Quest,10109,.@str1$+"Hunt 10 Pasanas.",.@str2$;
}
- }
- close;
-}
-
-aldebaran,144,230,3 script Jeanbai 900,{
- if ((checkquest(10114) == 2) && (checkquest(10115) == 2) && (checkquest(10116) == 2) && (checkquest(10117) == 2) && (slv_quest == 6)) {
- set slv_quest,0;
- mes "[Jeanbai]";
- mes "You've hunted all of the monsters.";
- mes "I will inform the Eden Group.";
- mes "Thank you.";
- close;
- }
- if (checkquest(10114) == 1 || checkquest(10115) == 1 || checkquest(10116) == 1 || checkquest(10117) == 1) {
- mes "[Jeanbai]";
- mes "Huh? So... fast...";
- mes "You amaze me!";
- mes "So what monster did you hunt?";
- next;
- setarray .@monsters$[0],"Grand Peco","Sleeper","Goat","Harpy";
- set .@i, select(implode(.@monsters$,":"))-1;
- if (checkquest(10114+.@i,HUNTING) == 2) {
- mes "[Jeanbai]";
- mes "You've hunted 20 "+.@monsters$[.@i]+"s. Perfect!";
- mes "Thanks a lot.";
- next;
- completequest 10114+.@i;
- getexp 48000,0;
- mes "[Jeanbai]";
- mes "Please hunt the others as soon as possible.";
- mes "I have faith in you!";
- close;
+ case 2:
+ mes "- There are several requests -";
+ mes "- related to Glast Heim -";
+ mes "- on this mission Board. -";
+ next;
+ set .@str1$,"I am very afraid that the monsters from Glast Heim will attack us. ";
+ set .@str2$,"- Ancellia from Geffen -";
+ switch(select("Hunt Dark Frame:Hunt Evil Druid:Hunt Wraith:Hunt Raydric Archer")) {
+ case 1: callsub L_Quest,10110,.@str1$+"Hunt 10 Dark Frames.",.@str2$;
+ case 2: callsub L_Quest,10111,.@str1$+"Hunt 10 Evil Druids.",.@str2$;
+ case 3: callsub L_Quest,10112,.@str1$+"Hunt 10 Wraiths.",.@str2$;
+ case 4: callsub L_Quest,10113,.@str1$+"Hunt 10 Raydric Archers.",.@str2$;
}
- mes "[Jeanbai]";
- mes "What? Maybe you were confused.";
- mes "You haven't hunted all 20 "+.@monsters$[.@i]+"s.";
- mes "Please check again.";
- close;
- }
- if (slv_quest == 6) {
- mes "[Jeanbai]";
- mes "Grand Pecos, Sleepers, Goats";
- mes "and Harpies. Hunt 20 of each.";
- mes "When you're finished hunting, come back to me.";
- mes "I hope you finish as soon as you can.";
- close;
- }
- mes "[Jeanbai]";
- mes "I am traveler Jeanbai.";
- mes "As I said I'm a traveler not a adventurer so, I am not good at fighting.";
- mes "That's why I can't travel all over the world.";
- next;
- mes "[Jeanbai]";
- mes "Monsters are increasing in numbers so travelers like me have a hard time getting around.";
- mes "I wish I could travel around without having to worry about that.";
- if (slv_quest == 3) {
- next;
- mes "[Jeanbai]";
- mes "Oh, did you get my mission from the Eden Group?";
- mes "Great~! We don't have a lot of time.";
- mes "Let me explain.";
- next;
- mes "[Jeanbai]";
- mes "The monsters around Juno,";
- mes "Grand Pecos, Sleepers, Goats";
- mes "and Harpies. Please hunt 20 of them.";
- mes "I've been hesitating to visit Juno because of those monsters around there.";
- next;
- mes "[Jeanbai]";
- mes "Will you accept this mission?";
- mes "I hope you are the right person for the job.";
- mes "So what do you say?";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- mes "[Jeanbai]";
- mes "Great!";
- mes "You won't regret it.";
- next;
- completequest 10104;
- setquest 10114;
- setquest 10115;
- setquest 10116;
- setquest 10117;
- set slv_quest,6;
- mes "[Jeanbai]";
- mes "When you're finished hunting, come back to me.";
- mes "I hope you finish as soon as you can.";
- close;
- case 2:
- set slv_quest,0;
- erasequest 10104;
- mes "[Jeanbai]";
- mes "Too bad. I'm disappointed.";
- mes "I should inform the Eden Group again.";
- mes "I see, nevermind.";
- close;
+ case 3:
+ mes "- There are several requests -";
+ mes "- related to the area -";
+ mes "- around Juno. -";
+ next;
+ set .@str1$,"Those who can't fight, like me, find it much more difficult to travel due to the large number of monsters. ";
+ set .@str2$,"- Jeanbai, traveler -";
+ switch(select("Hunt Grand Peco:Hunt Sleeper:Hunt Goat:Hunt Harpy")) {
+ case 1: callsub L_Quest,10114,.@str1$+"Hunt 20 Grand Pecos.",.@str2$;
+ case 2: callsub L_Quest,10115,.@str1$+"Hunt 20 Sleepers.",.@str2$;
+ case 3: callsub L_Quest,10116,.@str1$+"Hunt 20 Goats.",.@str2$;
+ case 4: callsub L_Quest,10117,.@str1$+"Hunt 20 Harpies.",.@str2$;
}
- }
- close;
-}
-
-aldebaran,105,116,3 script Risingeter 869,{
- if ((checkquest(10118) == 2) && (checkquest(10119) == 2) && (checkquest(10120 == 2)) && (slv_quest == 6)) {
- set slv_quest,0;
- mes "[Risingeter]";
- mes "You've completed all of my missions.";
- mes "Amazing~! I will inform the Eden Group.";
- mes "of your assistance. Thanks again!";
- close;
- }
- if (checkquest(10118) == 1 || checkquest(10119) == 1 || checkquest(10120) == 1) {
- mes "[Risingeter]";
- mes "Wow. Are you done?";
- mes "So fast~?! Unbelievable~";
- mes "You were the right person for this mission.";
- mes "Which monster did you hunt?";
- next;
- setarray .@monsters$[0],"Clock","Punk","Rideword";
- set .@i, select(implode(.@monsters$,":"))-1;
- if (checkquest(10118+.@i,HUNTING) == 2) {
- mes "[Risingeter]";
- mes "Good! You've hunted 15 "+.@monsters$[.@i]+"s.";
- mes "Ah, now I can hear the clock sound clearly...";
- mes "Tic!! toc!! tic!! toc!!...";
- next;
- completequest 10118+.@i;
- getexp 48000,0;
- mes "[Risingeter]";
- mes "Thanks a lot!";
- mes "I hope you can hunt the rest as well.";
- mes "Go as soon as you can!";
- close;
+ case 4:
+ mes "- There are several requests -";
+ mes "- related to the Clock Tower -";
+ mes "- on this mission Board. -";
+ next;
+ set .@str1$,"I used to love listening to the sweet melody of the Al De Baran Clock Tower but I can't hear anything anymore because of all the noises the monsters are making. ";
+ set .@str2$,"- Rizingsetter, President of the Love Clock community -";
+ switch(select("Hunt Clock:Hunt Punk:Hunt Rideword")) {
+ case 1: callsub L_Quest,10118,.@str1$+"Hunt 15 Clocks before it breaks.",.@str2$;
+ case 2: callsub L_Quest,10119,.@str1$+"Hunt 15 Punks before it breaks.",.@str2$;
+ case 3: callsub L_Quest,10120,.@str1$+"Hunt 15 Ridewords before it breaks.",.@str2$;
}
- mes "[Risingeter]";
- mes "Uh? Something is wrong.";
- mes "15 "+.@monsters$[.@i]+"s, right?";
- mes "You better check how many you've hunted.";
- close;
- }
- if (slv_quest == 6) {
- mes "[Risingeter]";
- mes "Hunt 15 Clocks, Punks, and Ridewords.";
- mes "Please hurry.";
- close;
- }
- mes "[Risingeter]";
- mes "I like clocks so much.";
- mes "They move with regular rhythm";
- mes "making tic toc sounds.";
- mes "Ahah!! Hail to the clocks!";
- next;
- mes "[Risingeter]";
- mes "That's why I like the Clock Tower so much.";
- mes "It makes a really nice sound.";
- mes "I like it so much!";
- if (slv_quest == 4) {
- next;
- mes "[Risingeter]";
- mes "Uh? Have you come to help me solve my trouble.";
- mes "You already know I like clocks right?";
- mes "That's why I need your help to hunt these monsters.";
- next;
- mes "[Risingeter]";
- mes "There are too many monsters inside the Clock Tower.";
- mes "Their presence is destroying the Clock Tower.";
- next;
- mes "[Risingeter]";
- mes "Anyway. Can you help me?";
- mes "Please hunt 15 Clocks, Punks and Ridewords before it breaks down.";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- completequest 10105;
- setquest 10118;
- setquest 10119;
- setquest 10120;
- set slv_quest,6;
- mes "[Risingeter]";
- mes "Ok! I expect you will do the right thing.";
- mes "Hunt 15 Clocks, Punks and Ridewords.";
- close;
- case 2:
- set slv_quest,0;
- erasequest 10105;
- mes "[Risingeter]";
- mes "You don't understand my love for clocks";
- mes "I will find another brave adventurer.";
- mes "I will inform the Eden Group.";
- close;
+ case 5:
+ mes "- There are several requests -";
+ mes "- related to the Localized Islands -";
+ mes "- on this mission Board. -";
+ next;
+ set .@str1$,"I want to go on an adventure but there are so many things I have to deal with. If I can't, then others can't either! ";
+ set .@str2$,"- Funfy, who wants to go on an adventure -";
+ switch(select("Hunt Kikimora:Hunt Miyabi Doll:Hunt Mi Gao:Hunt Headless Mule:Hunt Tamruan:Gather Festival Masks for the Festival")) {
+ case 1: callsub L_Quest,10121,.@str1$+"Hunt 15 Kikimoras in Moscovia!",.@str2$;
+ case 2: callsub L_Quest,10122,.@str1$+"Hunt 15 Miyabi Dolls in Amatsu!",.@str2$;
+ case 3: callsub L_Quest,10123,.@str1$+"Hunt 15 Mi Gaos in Louyang!",.@str2$;
+ case 4: callsub L_Quest,5055,"I know there are many terrifying monsters outside the city, but what terrifies me are these Headless Mules lurking around. I hope they will never venture into town. Hunt 15 Headless Mules!","- Mariana from Brasilis -";
+ case 5: callsub L_Quest,5056,"Tamruans make a lot of noise. I don't mind in the morning but they keep me from falling asleep at night. I want to sleep. Hunt 15 Tamruans!","- Shaman Pumo from Ayotaya -";
+ case 6: callsub L_Quest,5057,"The Dumpling Childs stole all the masks that I had prepared for the festival. Try to get a hold of 30 masks! I'll owe you~","- SaYumMoon Chief of Kunlun -";
}
}
- close;
-}
+ end;
-alberta,215,111,5 script Funfi 828,{
- if ((checkquest(10121) == 2) && (checkquest(10122) == 2) && (checkquest(10123) == 2) && (slv_quest == 6)) {
- set slv_quest,0;
- mes "[Funfi]";
- mes "Um! Thank you so much for all your efforts!";
- mes "I will inform, the Eden Group about your assistance, don't worry!";
- mes "Hahahaha...";
- close;
- }
- if (checkquest(10121) == 1 || checkquest(10122) == 1 || checkquest(10123) == 1) {
- mes "[Funfi]";
- mes "Unbelievable~! So fast~!";
- mes "Which monster did you hunt?";
- next;
- setarray .@monsters$[0],"Kikimora","Miyabi Doll","Mi Gao";
- set .@i, select(implode(.@monsters$,":"))-1;
- if (checkquest(10121+.@i,HUNTING) == 2) {
- mes "[Funfi]";
- mes "Ok! You've hunted 15 "+.@monsters$[.@i]+"!";
- mes "You're the best!";
+//callsub L_Quest,<quest ID>{,"<description1>","<description2>"};
+L_Quest:
+ set .@quest, getarg(0);
+ switch(.@quest) {
+ case 10107: set .@name$,"Hunt Requiem"; set .@exp,15000; break;
+ case 10108: set .@name$,"Hunt Marduk"; set .@exp,15000; break;
+ case 10109: set .@name$,"Hunt Pasana"; set .@exp,15000; break;
+ case 10110: set .@name$,"Hunt Dark Frame"; set .@exp,20000; break;
+ case 10111: set .@name$,"Hunt Evil Druid"; set .@exp,20000; break;
+ case 10112: set .@name$,"Hunt Wraith"; set .@exp,20000; break;
+ case 10113: set .@name$,"Hunt Raydric Archer"; set .@exp,20000; break;
+ case 10114: set .@name$,"Hunt Grand Peco"; set .@exp,30000; break;
+ case 10115: set .@name$,"Hunt Sleeper"; set .@exp,30000; break;
+ case 10116: set .@name$,"Hunt Goat"; set .@exp,30000; break;
+ case 10117: set .@name$,"Hunt Harpy"; set .@exp,30000; break;
+ case 10118: set .@name$,"Hunt Clock"; set .@exp,25000; break;
+ case 10119: set .@name$,"Hunt Punk"; set .@exp,25000; break;
+ case 10120: set .@name$,"Hunt Rideword"; set .@exp,25000; break;
+ case 10121: set .@name$,"Hunt Kikimora"; set .@exp,30000; break;
+ case 10122: set .@name$,"Hunt Miyabi Doll"; set .@exp,30000; break;
+ case 10123: set .@name$,"Hunt Mi Gao"; set .@exp,30000; break;
+ case 5055: set .@name$,"Hunt Headless Mule"; set .@exp,30000; break;
+ case 5056: set .@name$,"Hunt Tamruan"; set .@exp,30000; break;
+ case 5057: set .@name$,"Gather Festival Masks for the Festival"; set .@exp,30000; break;
+ }
+ if (getargcount() == 1) {
+ mes "'"+.@name$+"' completed. Do you want to turn it in and receive your reward?";
+ next;
+ if(select("Turn in quest.:Cancel.") == 1) {
+ if (.@quest == 5057) delitem 7187,30; //Festival_Mask
+ erasequest .@quest;
+ getexp .@exp,0;
+ mes "You've received EXP for finishing the quest.";
next;
- completequest 10121+.@i;
- getexp 48000,0;
- mes "[Funfi]";
- mes "Please hunt the others as well.";
- mes "I have faith in you!";
- close;
+ return;
}
- mes "[Funfi]";
- mes "Oh~ No no~!!";
- mes "Listen carefully! Hunt 15 "+.@monsters$[.@i]+".";
close;
- }
- if (slv_quest == 6) {
- mes "[Funfi]";
- mes "Moscovia's Kikimore,";
- mes "Miyabi Dolls from Amatsu";
- mes "and Mi Gaos from Louyang.";
- mes "Please hunt 15 of each of those monsters.";
- close;
- }
- mes "[Funfi]";
- mes "I am a man who wants to experience adventures. But for some reason I can't...";
- next;
- mes "[Funfi]";
- mes "There are a lot of funny things in the world... Wooo!";
- if (slv_quest == 5) {
- next;
- mes "[Funfi]";
- mes "Anyway are you from the Eden Group?";
- mes "You are? Cool! I've been waiting for you~!";
- next;
- mes "[Funfi]";
- mes "No questions! Just do it now!";
- mes "Hunt Kikimora in Moscovia,";
- mes "Miyabi Dolls in Amatsu";
- mes "and Mi Gaos in Louyang!";
- mes "Hunt 15 each of those monsters!";
- next;
- mes "[Funfi]";
- mes "Please~!! haha.";
- mes "Hurry up!";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- completequest 10106;
- setquest 10121;
- setquest 10122;
- setquest 10123;
- set slv_quest,6;
- getitem 7167,10; //Mystery_Iron_Bit
- mes "[Funfi]";
- mes "Ok! Good! Hurry up.";
- mes "Hunt the monsters on each of those 3 islands.";
+ } else {
+ if (.@quest == 5057) {
+ // Quest 5057 is the only collection quest, so separate conditions are unnecessary.
+ if (checkquest(5057) == -1)
+ set .@hunting,-1;
+ else if (countitem(7187) >= 30)
+ set .@hunting,2;
+ } else
+ set .@hunting, checkquest(.@quest,HUNTING);
+ if (.@hunting == 0 || .@hunting == 1) {
+ mes getarg(1);
+ mes getarg(2);
next;
- mes "[Funfi]";
- mes "I will give you some materials for use in Moscovia.";
- mes "Go as soon as you can!";
- close;
- case 2:
- set slv_quest,0;
- erasequest 10106;
- mes "[Funfi]";
- mes "What? You don't want to work?! Gosh!";
- mes "I will inform the Eden Group of this!";
- close;
+ mes "Return here when you've finished the quest.";
+ } else if (.@hunting == 2) {
+ mes "You have completed the quest.";
+ next;
+ if(select("Turn in quest.:Cancel.") == 1) {
+ if (.@quest == 5057) delitem 7187,30; //Festival_Mask
+ erasequest .@quest;
+ getexp .@exp,0;
+ mes "You've received EXP for finishing the quest.";
+ }
+ }/* else if (.@hunting == 3) {
+// recall_completequest .@quest
+ erasequest .@quest;
+ mes "You have re-accepted the quest '"+.@name$+"'.";
+ }*/ else {
+ mes getarg(1);
+ mes getarg(2);
+ next;
+ mes "Do you want to accept the quest?";
+ next;
+ if(select("Yes.:No.") == 1) {
+ mes "You've received the quest '"+.@name$+"'. View your quest info for more details.";
+ setquest .@quest;
+ }
}
+ close;
}
- close;
}
diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt
index 8570fd39e..a2d2a624b 100644
--- a/npc/re/quests/eden/eden_common.txt
+++ b/npc/re/quests/eden/eden_common.txt
@@ -1,14 +1,12 @@
//===== Hercules Script ======================================
//= Eden Group Quests - Common NPCs
-//===== By: ==================================================
+//===== By: ==================================================
//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.6
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.8
+//===== Description: =========================================
//= Eden Group Headquarter NPC's.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Removed showevent use, and use of duplicates.
//= Commented out warps that should not be active.
@@ -17,10 +15,11 @@
//= 1.4 Updated to match the new Izlude Map. [Masao]
//= 1.5 Added some missing Eden Group Teleport Officers. [Masao]
//= 1.6 Added Izlude RE coordinates. [Euphy]
+//= 1.7 Added Malaya teleporter. [Euphy]
+//= 1.8 Updated to match the latest official script. [Euphy]
//============================================================
moc_para01,27,35,5 script Secretary Lime Evenor 952,{
-
if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 2000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
@@ -68,12 +67,12 @@ moc_para01,27,35,5 script Secretary Lime Evenor 952,{
mes "Let me see.";
next;
mes "[Lime Evenor]";
- mes "Your name is ^3131FFBo"+.@input$+"Ba^000000..? Is that right?";
+ mes "Your name is ^3131FFBo"+.@input$+"Ba^000000...? Is that right?";
mes "Huh? Isn't it??";
next;
emotion e_swt;
mes "[Lime Evenor]";
- mes "Hmm that isn't what you wrote?.";
+ mes "Hmm, that isn't what you wrote?";
mes "Ok, hmm, it seems a bit hard to read.";
next;
mes "[Lime Evenor]";
@@ -213,13 +212,12 @@ moc_para01,27,35,5 script Secretary Lime Evenor 952,{
close;
}
}
-
prontera,124,76,3 duplicate(eto) Eden Teleport Officer#1 729
moc_ruins,68,164,3 duplicate(eto) Eden Teleport Officer#2 729
geffen,132,66,3 duplicate(eto) Eden Teleport Officer#3 729
alberta,124,67,3 duplicate(eto) Eden Teleport Officer#4 729
aldebaran,133,119,5 duplicate(eto) Eden Teleport Officer#5 729
-izlude,131,148,4 duplicate(eto) Eden Teleport Officer#6 729
+izlude_in,68,162,1 duplicate(eto) Eden Teleport Officer#6 729
prt_church,103,78,3 duplicate(eto) Eden Teleport Officer#7 729
geffen_in,160,104,5 duplicate(eto) Eden Teleport Officer#8 729
moc_prydb1,53,126,3 duplicate(eto) Eden Teleport Officer#9 729
@@ -230,16 +228,28 @@ que_ng,33,73,3 duplicate(eto) Eden Teleport Officer#13 729
que_ng,144,161,5 duplicate(eto) Eden Teleport Officer#14 729
yuno,144,189,5 duplicate(eto) Eden Teleport Officer#15 729
rachel,125,144,3 duplicate(eto) Eden Teleport Officer#16 729
-morocc,161,97,6 duplicate(eto) Eden Teleport Officer#17 729
-comodo,202,151,4 duplicate(eto) Eden Teleport Officer#18 729
-umbala,104,158,4 duplicate(eto) Eden Teleport Officer#19 729
-veins,220,109,4 duplicate(eto) Eden Teleport Officer#20 729
+comodo,202,151,4 duplicate(eto) Eden Teleport Officer#17 729
+hugel,93,153,4 duplicate(eto) Eden Teleport Officer#18 729
+veins,220,109,4 duplicate(eto) Eden Teleport Officer#19 729
+einbroch,250,211,4 duplicate(eto) Eden Teleport Officer#20 729
lighthalzen,164,86,4 duplicate(eto) Eden Teleport Officer#21 729
-einbroch,250,211,4 duplicate(eto) Eden Teleport Officer#22 729
-hugel,93,153,4 duplicate(eto) Eden Teleport Officer#23 729
+amatsu,100,145,5 duplicate(eto) Eden Teleport Officer#22 729
+ayothaya,221,191,3 duplicate(eto) Eden Teleport Officer#23 729
+louyang,224,107,3 duplicate(eto) Eden Teleport Officer#24 729
+gonryun,162,122,5 duplicate(eto) Eden Teleport Officer#25 729
+moscovia,209,197,5 duplicate(eto) Eden Teleport Officer#26 729
+brasilis,191,224,3 duplicate(eto) Eden Teleport Officer#27 729
+dewata,192,193,5 duplicate(eto) Eden Teleport Officer#28 729
+morocc,161,97,5 duplicate(eto) Eden Teleport Officer#29 729
+izlude,131,148,4 duplicate(eto) Eden Teleport Officer#30 729
+izlude_a,131,148,4 duplicate(eto) Eden Teleport Officer#30::eto_iz_a 729
+izlude_b,131,148,4 duplicate(eto) Eden Teleport Officer#30::eto_iz_b 729
+izlude_c,131,148,4 duplicate(eto) Eden Teleport Officer#30::eto_iz_c 729
+izlude_d,131,148,4 duplicate(eto) Eden Teleport Officer#30::eto_iz_d 729
+umbala,105,158,3 duplicate(eto) Eden Teleport Officer#31 729
+malaya,238,206,6 duplicate(eto) Eden Teleport Officer#32 729
moc_para01,30,10,0 script #eden_out 45,1,1,{
-
OnTouch:
switch (nak_warp) {
case 1: warp "prontera",116,72; end;
@@ -247,7 +257,7 @@ OnTouch:
case 3: warp "geffen",120,39; end;
case 4: warp "alberta",117,56; end;
case 5: warp "aldebaran",168,112; end;
- case 6: if (checkre(0)) warp "izlude",134,118; else warp "izlude",127,142; end;
+ case 6: warp "izlude_in",73,165; end;
case 7: warp "prt_church",99,78; end;
case 8: warp "geffen_in",162,99; end;
case 9: warp "moc_prydb1",51,118; end;
@@ -258,13 +268,22 @@ OnTouch:
case 14: warp "que_ng",144,166; end;
case 15: warp "yuno",158,125; end;
case 16: warp "rachel",115,125; end;
- case 17: warp "morocc",156,93; end;
- case 18: warp "comodo",209,143; end;
- case 19: warp "umbala",99,155; end;
- case 20: warp "veins",216,123; end;
- case 21: warp "lighthalzen",158,92; end;
- case 22: warp "einbroch",245,210; end;
- case 23: warp "hugel",95,145; end;
+ case 17: warp "comodo",192,145; end;
+ case 18: warp "hugel",88,148; end;
+ case 19: warp "veins",216,104; end;
+ case 20: warp "einbroch",246,204; end;
+ case 21: warp "lighthalzen",159,95; end;
+ case 22: warp "amatsu",110,150; end;
+ case 23: warp "ayothaya",217,178; end;
+ case 24: warp "louyang",217,103; end;
+ case 25: warp "gonryun",155,120; end;
+ case 26: warp "moscovia",218,198; end;
+ case 27: warp "brasilis",190,220; end;
+ case 28: warp "dewata",192,182; end;
+ case 29: warp "morocc",161,97; end;
+ case 30: warp "izlude",134,118; end; // Old coordinates: (127,142)
+ case 31: warp "umbala",94,154; end;
+ case 32: warp "malaya",234,199; end;
default: warp "prontera",116,72; end;
}
end;
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
new file mode 100644
index 000000000..b8cd44ce4
--- /dev/null
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -0,0 +1,598 @@
+//===== Hercules Script ======================================
+//= Eden iRO NPCs
+//===== By: ==================================================
+//= -SkittleNugget-
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Eden scripts custom to iRO (disabled by default).
+//= You may need iRO's data.grf to view some of the items.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Edited and added more NPCs, lots of placeholders. [Euphy]
+//============================================================
+
+// Acolyte Warper (part of other/acolyte_warp.txt)
+//============================================================
+moc_para01,14,32,5 script Aperture#acolytewarp 90,{
+ mes "[Aperture]";
+ mes "Hello there, adventurer.";
+ mes "I've been studying magic from all over Rune-Midgard to upgrade what I believe to be one of the greatest skills available to the acolyte class.";
+ next;
+ mes "[Aperture]";
+ mes "I am the one and only Acolyte that has attained the Level 10 Warp Portal skill!";
+ emotion e_dots,1;
+ next;
+ mes "[Aperture]";
+ mes "That's right! And...";
+ mes "I promise you that I don't forget locations that I have already memorized.";
+ mes "One day I will level up my skills to warp to wherever I please~";
+ next;
+ mes "[Aperture]";
+ mes "I am willing to warp you to the many locations that I have memorized for a small fee.";
+ mes "Would you like to use this service?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ mes "[Aperture]";
+ mes "Where would you like to go to?";
+ mes "I wish you goodluck on your journey.";
+ next;
+
+ setarray .@towns$[0], "Prontera", "Izlude", "Geffen", "Payon", "Morroc", "Alberta", "Al De Baran", "Comodo", "Umbala", "Juno", "Einbroch", "Lighthalzen", "Hugel", "Rachel";
+ setarray .@cost[0], 600, 600, 1200, 1200, 1200, 1800, 2200, 2200, 2200, 1800, 2200, 2200, 2200, 2200;
+
+ set .@size, getarraysize(.@towns$);
+ for(set .@i,0; .@i<.@size; set .@i,.@i+1)
+ set .@menu$, .@menu$+.@towns$[.@i]+" -> "+.@cost[.@i]+"z:";
+ set .@i, select(.@menu$+"Cancel")-1;
+ if (.@i == .@size) {
+ mes "[Aperture]";
+ mes "Come back when you need a warp.";
+ close;
+ }
+ if (Zeny < .@cost[.@i]) {
+ mes "[Aperture]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
+ close;
+ }
+ specialeffect2 EF_READYPORTAL;
+ specialeffect2 EF_TELEPORTATION;
+ specialeffect2 EF_PORTAL;
+ next;
+ set Zeny, Zeny - .@cost[.@i];
+ switch(.@i) {
+ case 0: warp "prontera",116,72; break;
+ case 1: warp "izlude",128,98; break;
+ case 2: warp "geffen",120,39; break;
+ case 3: warp "payon",161,58; break;
+ case 4: warp "morocc",156,46; break;
+ case 5: warp "alberta",117,56; break;
+ case 6: warp "aldebaran",168,112; break;
+ case 7: warp "comodo",209,143; break;
+ case 8: warp "umbala",100,154; break;
+ case 9: warp "yuno",158,125; break;
+ case 10: warp "einbroch",67,195; break;
+ case 11: warp "lighthalzen",159,90; break;
+ case 12: warp "hugel",98,150; break;
+ case 13: warp "rachel",119,135; break;
+ }
+ close;
+ case 2:
+ mes "[Aperture]";
+ mes "Come back when you need a warp.";
+ close;
+ }
+}
+
+// Carrot & Red Potion Traders
+//============================================================
+moc_para01,166,51,3 script Phelix#edco 85,{
+ mes "[Phelix]";
+ mes "Oh... I see from that look that you want me to work and give you Meat and Carrots...";
+ mes "Well my friend Izaac here has some Red Potions with him, but I only have some Carrots.";
+ mes "So I can trade you ^0000CC1 Carrot for 3 Jellopy^000000.";
+ next;
+ mes "[Phelix]";
+ mes "If you're interested in my offer, get me the Jellopies I mentioned.";
+ next;
+ select("Carrots please.");
+ mes "[Phelix]";
+ mes "Alright, let's see what ya got...";
+ next;
+ if (countitem(909) < 3) {
+ mes "[Phelix]";
+ mes "Hmm, look dude, I said 3 Jellopies for 1 Carrot... got it?";
+ close;
+ }
+ mes "[Phelix]";
+ mes "Not too bad...";
+ mes "How many do you want?";
+ next;
+ switch(select("As many as I can get, please.:I want to choose.:Never mind, I like my Jellopy.")) {
+ case 1:
+ set .@amount, countitem(909) / 3;
+ break;
+ case 2:
+ set .@available, countitem(909) / 3;
+ mes "[Phelix]";
+ mes "How many do you want?";
+ mes "^ff0000You have enough for up to " + .@available + " Carrots.^000000";
+ input .@input;
+ next;
+ if (.@input < 1 || .@input > 10000) {
+ mes "[Phelix]";
+ mes "Don't want to deal? Fair enough...";
+ close;
+ }
+ if (.@input > .@available) {
+ mes "[Phelix]";
+ mes "Dude, I said for every 3 Jellopy I'll give you 1 Carrot.";
+ close;
+ }
+ set .@amount, .@input;
+ break;
+ case 3:
+ mes "[Phelix]";
+ mes "Don't bother me if you don't want to trade.";
+ close;
+ }
+ if (checkweight(515,.@amount) == 0) {
+ mes "[Phelix]";
+ mes "You are overweight.";
+ close;
+ }
+ mes "[Phelix]";
+ mes "There you go~! As I promised.";
+ mes "Try not to stuff yer face.";
+ delitem 909,.@amount*3; //Jellopy
+ getitem 515,.@amount; //Carrot
+ end;
+}
+
+moc_para01,163,51,7 script Izaac#edco 86,{
+ mes "[Izaac]";
+ mes "Good day!";
+ mes "Have you collected any weird stuff from monsters?";
+ mes "I want things like Jellopy, Fluff, Shell, Feather of Birds, Tree Root, Worm Peelings, and Chrysalis.";
+ mes "I need those for something.";
+ next;
+ mes "[Izaac]";
+ mes "Of course, I won't ask you to give me that stuff for free. What if I traded the following for ^CC00001 Red Potion^000000:";
+ mes "^00CC005 Shell^000000";
+ mes "^0000CC10 Fluff^000000";
+ mes "^00CC0010 Jellopy^000000";
+ mes "^0000CC6 Tree Root^000000";
+ mes "^00CC001 Worm Peeling^000000";
+ mes "^0000CC7 Feather of Birds^000000";
+ mes "^00CC006 Chrysalis^000000";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Izaac]";
+ mes "So which items do";
+ mes "you want to bring me?";
+ next;
+
+ setarray .@items[0], 935, 914, 909, 902, 955, 916, 915;
+ setarray .@count[0], 5, 10, 10, 6, 1, 7, 6;
+
+ set .@size, getarraysize(.@items);
+ for(set .@i,0; .@i<.@size; set .@i,.@i+1)
+ set .@menu$, .@menu$+getitemname(.@items[.@i])+":";
+ set .@select, select(.@menu$+"Cancel")-1;
+ if (.@select == .@size) {
+ mes "[Izaac]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ set .@item, .@items[.@select];
+ set .@item$, getitemname(.@item);
+ set .@price, .@count[.@select];
+
+ if (countitem(.@item) < .@price) {
+ mes "[Izaac]";
+ mes "Hey, where's all";
+ mes "that "+.@item$+" that";
+ mes "you promised me?";
+ mes "Give me "+.@item$+"!";
+ close;
+ }
+ mes "[Izaac]";
+ mes "Okay, let me check";
+ mes "how much "+.@item$;
+ mes "you have on you.";
+ mes "Hmm...";
+ next;
+ set .@amount, countitem(.@item) / .@price;
+ set .@trade_amount, .@amount * .@price;
+ mes "[Izaac]";
+ mes "You have";
+ mes "a total of "+countitem(.@item)+" "+.@item$+"...";
+ mes "For all those, I can give you";
+ mes "a total of "+.@amount+" Red Potion(s).";
+ next;
+ mes "[Izaac]";
+ mes "What do you say?";
+ mes "Do we have a deal?";
+ next;
+ if(select("Deal.:No deal.") == 2) {
+ mes "[Izaac]";
+ mes "Huh~";
+ mes "Alright.";
+ mes "Though are";
+ mes .@item$ + " more useful";
+ mes "to an adventurer like you?";
+ close;
+ }
+ if (checkweight(501,.@amount) == 0) { //custom check
+ mes "[Izaac]";
+ mes "You are overweight.";
+ close;
+ }
+ delitem .@item,.@trade_amount;
+ getitem 501,.@amount; //Red_Potion
+ mes "[Izaac]";
+ mes "There you go!";
+ mes "Check how many "+.@item$;
+ mes "I've given you, it should be good.";
+ mes "Thanks, that was a good deal~";
+ close;
+ case 2:
+ mes "[Izaac]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Izaac]";
+ mes "Alright, No problem.";
+ mes "But come back to me if you change your mind.";
+ close;
+ }
+}
+
+// Safe to 7 Certificate Exchanger
+//============================================================
+moc_para01,50,39,4 script Eve Natalia 882,{
+ mes "[Eve Natalia]";
+ mes "So I'm in town for a while to see if I can strike up some commerce with MVP hunters!";
+ mes "I'm willing to take some MVP gear and give you these upgrade Certificates I have in exchange;";
+ mes "if things go well enough I'll open up further business opportunities!";
+ next;
+ mes "[Eve Natalia]";
+ mes "So do you have any of the gears I'm looking for to get some random Safe to 7 Certificates?";
+ next;
+ switch(select("What gear?:Yes I am!:Never mind.")) {
+ case 1:
+ mes "[Eve Natalia]";
+ mes "Nidhoggur's Shadow Garb 4 Random Safe to 7 Certificates";
+ mes "Valkyrja's Shield 4 Random Safe to 7 Certificates";
+ mes "Valkyrian Armor 5 Random Safe to 7 Certificates";
+ mes "Diabolus Robe 5 Random Safe to 7 Certificates";
+ mes "Diabolus Armor 2 Random Safe to 7 Certificates";
+ mes "Diabolus Boots 2 Random Safe to 7 Certificates";
+ mes "Diabolus Manteau 4 Random Safe to 7 Certificates";
+ mes "Twin Edge of Naght Sieger Blue 2 Random Safe to 7 Certificates";
+ mes "Twin Edge of Naght Sieger Red 2 Random Safe to 7 Certificates";
+ close;
+ case 2:
+ mes "[Eve Natalia]";
+ mes "I'm going to ask you which piece of gear you want to trade in, please verify that the 1st one in your inventory is one you want to give up.";
+ mes "^CC0000So if it is carded, upgraded, enchanted etc, you should put it in storage before we continue.^000000";
+ next;
+ set .@i, select("Wait a minute:Nidhoggur's Shadow Garb 4:Valkyrja's Shield 4:Valkyrian Armor 5:Diabolus Robe 5:Diabolus Armor 2:Diabolus Boots 2:Diabolus Manteau 4:Twin Edge of Naght Sieger Blue 2:Twin Edge of Naght Sieger Red 2")-2;
+ if (.@i == -1)
+ break;
+
+ setarray .@items[0], 2554, 2115, 2357, 2374, 2375, 2433, 2537, 13412, 13413;
+ setarray .@tickets[0], 4, 4, 5, 5, 2, 2, 4, 2, 2;
+
+ set .@item, .@items[.@i];
+ set .@amount, .@tickets[.@i];
+
+ mes "[Eve Natalia]";
+ mes "I see you have "+countitem(.@item)+" "+getitemname(.@item)+".";
+ mes "So do you want to trade the 1st one in your inventory for ^00CC00"+.@amount+" Random Safe to 7 Certificates^000000?";
+ mes "Tell me '1' if you do, or '0' to cancel.";
+ next;
+ input .@input;
+ if (.@input < 0 || .@input > 1) {
+ mes "[Eve Natalia]";
+ mes "It is a 0 or 1, it can't be that difficult.";
+ close;
+ } else if (.@input == 0) {
+ mes "[Eve Natalia]";
+ mes "It's best to be sure before trading, have a good day.";
+ close;
+ }
+ if (countitem(.@item) == 0) {
+ mes "[Eve Natalia]";
+ mes "You don't even have 1... stop wasting my time.";
+ close;
+ }
+ mes "[Eve Natalia]";
+ mes "Oh perfect, you get ^CC0000" + .@amount + "^000000 Safe to 7 Certificates!";
+ delitem .@item,1;
+ for(set .@i,0; .@i<.@amount; set .@i,.@i+1) {
+ // Note: iRO lists item 6235 as "Safe to 7 Headgear Certificate", but it's Guarantee_Armor_6Up in our database.
+ if (rand(2))
+ getitem 6230,1; //Guarantee_Weapon_7Up
+ else
+ getitem 6234,1; //Guarantee_Armor_7Up
+ }
+ close;
+ case 3:
+ break;
+ }
+ mes "[Eve Natalia]";
+ mes "Fair enough, if you have business with me in the future don't be shy!";
+ close;
+}
+
+// Bubble Gum & Battle Manual Exchanger
+//============================================================
+moc_para01,48,184,2 script Gum & Manual Exchanger 562,{
+ if (Weight < MaxWeight / 2) {
+ mes "You're carrying too many items right now.";
+ close;
+ }
+ mes "[Trader Machine]";
+ mes "Insert Bubble Gums and/or Battle Manuals to trade for higher efficiency Gums and Manuals.";
+ next;
+ mes "[Trader Machine]";
+ mes "Exchange rate:";
+ mes "2 Bubble Gum -> 1 HE Bubble Gum";
+ mes "2 Battle Manual -> 1 HE Battle Manual";
+ mes "4 HE Battle Manual -> 1 Battle Manual X3";
+ mes "3 Thick Battle Manual -> 2 Battle Manual X3";
+ mes "What would you like to exchange for?";
+ next;
+ switch(select("HE Bubble Gum:HE Battle Manual:1 Battle Manual X3:2 Battle Manual X3:1 Costume Corsair:Nothing")) {
+ case 1:
+ callsub L_Exchange,12210,2,12412,1;
+ break;
+ case 2:
+ callsub L_Exchange,12208,2,12411,1;
+ break;
+ case 3:
+ callsub L_Exchange,12411,4,14545,1;
+ break;
+ case 4:
+ callsub L_Exchange,12312,3,14545,2;
+ break;
+ case 5:
+ mes "[Trader Machine]";
+ mes "I can give you 1 Battle Manual X3 for 1 Costume Corsair.";
+ next;
+ if (countitem(19619) == 0) {
+ mes "[Trader Machine]";
+ mes "You don't have a Costume Corsair hat to make that trade.";
+ close;
+ }
+ next;
+ if(select("Yes, give it to me!:No, wait not yet.") == 2)
+ close;
+ // Unofficial dialogue.
+ mes "[Trader Machine]";
+ mes "You place the required items into the machine...";
+ next;
+ mes "[Trader Machine]";
+ mes "The Machine has given you an item in return!";
+ delitem 19619,1; //C_Corsair
+ getitem 14545,1; //Battle_Manual_X3
+ close;
+ case 6:
+ close;
+ }
+
+//callsub L_Exchange,<Insert Item>,<Amount>,<Return Item>,<Amount>
+L_Exchange:
+ mes "[Trader Machine]";
+ mes "How many "+getitemname(getarg(2))+" do you want?";
+ mes "I can give you up to 60.";
+ mes "Type 0 to cancel.";
+ next;
+ input .@amount;
+ if (.@amount == 0) {
+ mes "[Trader Machine]";
+ mes "Cancelled.";
+ close;
+ } else if (.@amount < 0 || .@amount > 60) {
+ mes "[Trader Machine]";
+ mes "I said only 60 max.";
+ close;
+ }
+ mes "[Trader Machine]";
+ mes "That's a total of "+.@amount;
+ mes getitemname(getarg(2))+".";
+ mes "Is this correct?";
+ next;
+ if(select("Yes, give them to me!:No, wait not yet.") == 2)
+ close;
+ set .@cost, getarg(1) * .@amount;
+ set .@total_amount, getarg(3) * .@amount;
+ if (countitem(getarg(0)) < .@cost) {
+ mes "[Trader Machine]";
+ mes "You don't have enough "+getitemname(getarg(0))+" to make that trade.";
+ close;
+ }
+ delitem getarg(0),.@cost;
+ getitem getarg(2),.@total_amount;
+ close;
+}
+
+// Kafra Stacker
+//============================================================
+moc_para01,41,169,2 script Kafra Stacker#eden 749,{
+ mes "[Toma]";
+ mes "I can take your non-stacking Kafra Consumables";
+ mes "and make them fit neatly into stacks!";
+ next;
+ mes "[Toma]";
+ mes "Please understand that I can";
+ mes "only stack 10 groups at a time";
+ mes "so keep talking to me until";
+ mes "you have 1 stack of each!";
+ next;
+ while(1) {
+ if(select("Do it!:Never mind.") == 2)
+ break;
+ // Something strange goes on here, haven't quite figured it out...
+ mes "[Toma]";
+ mes "Ten stack down!";
+ mes "Want to do another?";
+ next;
+ }
+ mes "[Toma]";
+ mes "Ok then, laterz.";
+ close;
+}
+
+// Code Redeemer
+//============================================================
+moc_para01,38,162,2 script Code the Redeemer#Give1 405,{
+ mes "[Code the Redeemer]";
+ mes "Welcome, "+strcharinfo(0)+"!";
+ mes "I've been expecting you.";
+ next;
+ mes "[Code the Redeemer]";
+ mes "I am a distributor of all the";
+ mes "items that adventurers like";
+ mes "yourself purchase on websites";
+ mes "or receive as promotions.";
+ next;
+ mes "[Code the Redeemer]";
+ mes "^0000FFIf the list is empty,";
+ mes "that means that you have";
+ mes "not purchased, or inputted";
+ mes "your serial code from the purchasing website.^000000";
+ next;
+
+ // If you have a code redemption system, write your SQL queries here.
+ select("");
+
+ close;
+}
+
+// Cash Shops
+//============================================================
+/* Due to the irregularity of iRO's databases, some of these sprites may not display properly. */
+
+moc_para01,32,171,4 cashshop Kafra Headgears#eden1 115,14024:500,14098:150,17081:300,14097:500,14094:1000,14017:400,14099:300
+moc_para01,35,174,2 cashshop Kafra Dye Shop#dyes2 114,6287:150
+moc_para01,36,170,2 cashshop Kafra Consumables#eden3 112,13810:5,14167:400,16556:100,14111:75,14075:25,16419:30,14107:70,14104:50,14112:25,14082:30,14091:60,14088:30,14085:60,14169:40,14170:40,14172:40,14173:40,14171:40,14174:40,14159:100,14160:100,14161:100,14162:100,14163:100:14164:100,16420:1500
+moc_para01,32,174,2 cashshop Kafra Rental Items#eden 721,16683:150,16682:50,14126:250,14125:250,16430:250,14137:250,14127:250,14118:250,14119:250,14132:250,16425:250,14124:250,14133:250,14130:250,16424:250,14136:250,14122:250,16426:250,14135:250,14134:250,14138:250,16428:250,16431:250,14139:250,14131:250,16429:250,16427:250
+moc_para01,36,172,2 cashshop Kafra Costume#eden5 860,16974:300,16972:600,16973:150,16975:150,16977:150,17014:150,17015:150
+moc_para01,35,168,1 cashshop Kafra Utility Shop#eden 113,16677:25,13990:400,16396:100,16394:100,17106:500,6241:10,6240:10,6225:15,6226:15,14002:5,6294:500,7776:50,7619:30,7620:30,12208:40,14156:400,12210:40,14158:400,14042:50,14044:50,14046:50,14048:50,14114:50,14166:40,16418:500,16381:400,14165:100,14157:100,14178:100
+
+// Duplicate NPCs
+//============================================================
+/* Technically these NPC names are different, but it's not worth editing the original scripts. */
+
+// Weapon/Armor Refiner "Normalson" (merchants/refine.txt)
+moc_para01,14,185,4 script Normalson#ed 826,{
+ callfunc "refinemain","Normalson",0;
+ end;
+}
+
+// Advanced Refiner "Suhnmi" (merchants/advanced_refiner.txt)
+moc_para01,26,185,4 duplicate(Suhnbi#cash) Suhnmi#eden 85
+
+// HD Refiner "Blacksmith Mighty Hammer" (re/merchants/hd_refiner.txt)
+// A combination of the +7~9 and +10 and up refiner, currently a placeholder.
+moc_para01,38,185,4 duplicate(MightyHammer) Mighty Hammer#ed 826
+
+// Refiner Effect
+- script #eden_refine_effect -1,{
+OnInit:
+ initnpctimer;
+ end;
+OnTimer5000:
+ specialeffect EF_REFINEOK,AREA,"Suhnmi#eden";
+ specialeffect EF_REFINEOK,AREA,"Mighty Hammer#ed";
+ initnpctimer;
+ end;
+}
+
+// Gym Pass Trainer "Ripped Cabus" (other/gympass)
+moc_para01,33,162,4 duplicate(Ripped Cabus#GymPass) Ripped Callus#ed 899
+
+// RWC 2012 Enchanter "Goldenthiefberg" (events/RWC_2012.txt)
+// A combination of the slotter and enchanter, currently a placeholder.
+moc_para01,27,179,4 script RWC Enchanter#new10 87,{ end; }
+
+// Cash Headgear Dyer "Alora" (merchants/cashheadgear_dye.txt)
+// Also converts some +8 and up headgears into costumes, currently a placeholder.
+moc_para01,21,185,4 duplicate(Alora) Alora#headgear_dye2 862
+
+// Stylist "Dinorah Lacostt" (?)
+// Dyes clothing for an Omni Clothing Dye, currently a placeholder.
+moc_para01,33,185,4 script Dinorah Lacostt#ed 862,{ end; }
+
+// Commonly Updated NPCs
+//============================================================
+/* These scripts change on a regular basis, so they're mostly just placeholders for now. */
+
+moc_para01,29,35,4 script Gramps#huntquests 866,{
+ mes "[Gramps]";
+ mes "When you get to being my";
+ mes "age, you become bitter.";
+ mes "Too long I've done nothing about the monsters that roam around";
+ mes "Rune Midgard.";
+ next;
+ mes "[Gramps]";
+ mes "That's why I'm asking you wippersnappers to help";
+ mes "me hunt some monsters.";
+ mes "Will you help me, young adventurer?";
+ close;
+ //next;
+ //switch(select("Yes, I'll help.:Reward Me!:^ff0000I want to quit hunting^000000:^0000ffCan you warp me?^000000:Can you erase the timer?:What missions are you giving?:Give me Limited 3 day VIP:Tell me more about the VIP Access:No thanks, pops.")) {
+}
+
+moc_para01,13,22,4 script Merry Badger#xch 882,{
+ mes "[Merry Badger]";
+ mes "Hello there! I'm Merry Badger and I was hired to exchange the ^00CC00Eden Merit Badges^000000!";
+ next;
+ mes "[Merry Badger]";
+ mes "I can take your Merit Badges and give you some useful stuff, or I can take some of your stuff and give you some Eden Merit Badges.";
+ mes "As I get more authorization I can offer more things to trade with you, so definitely keep me in mind when visiting the Eden Group.";
+ close;
+ //next;
+ //switch(select("Redeem Badges:Trade in FOR badges:Exchange Rates:15 Job Manuals - 1 JM Box")) {
+}
+
+moc_para01,174,33,3 script Bathory#2012spirits 1102,{
+ mes "[Bathory]";
+ mes "Eheeheeheehee! The spotlight is on Glast Heim this week, so I'm ferrying people there for a mere 1,000z!";
+ next;
+ mes "[Bathory]";
+ mes "How about it? Want to take a ride on a beautiful Bathory's broom?";
+ next;
+ switch(select("Prepare for Takeoff!:No thanks.")) {
+ case 1:
+ if (Zeny < 1000) {
+ mes "[Bathory]";
+ mes "Come on dearie...";
+ mes "You don't even have 1,000 zeny?";
+ close;
+ }
+ mes "[Bathory]";
+ mes "Alright, hold on tight!";
+ close2;
+ set Zeny, Zeny-1000;
+ warp "niflheim",194,185;
+ end;
+ case 2:
+ mes "["+strcharinfo(0)+"]";
+ mes "No thanks, maybe later.";
+ close;
+ }
+}
+
+moc_para01,26,174,4 script Grandma Boxter#boxx 840,{ end; }
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index 074ab7e47..222a3f97e 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -3,21 +3,20 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.4b
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.5
//===== Description: =========================================
-//= Eden Group Headquarter NPC's.
+//= Eden Group Headquarter NPCs.
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Removed unencoded comments (Korean -> Gibberish)
//= Readded the GM helper NPC, commented out.
//= 1.2 Some little optimization here and there. [Masao]
//= 1.3 Added Instructor Ur and the new Quests which come
-//= alongside him. Special thanks to Chilly for the base. [Masao]
+//= alongside him. Special thanks to Chilly for the base. [Masao]
//= 1.4 Partial cleaning and bug fixing. [Euphy]
//= 1.4a Added 'npcskill' command. [Euphy]
//= 1.4b Added 'disable_items' command. [Euphy]
+//= 1.5 Added GM management function. [Euphy]
//============================================================
moc_para01,25,35,4 script Instructor Boya#para01 469,{
@@ -1182,7 +1181,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1220,7 +1219,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1276,7 +1275,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{
mes "Oh, if you are tired I will help you.";
next;
mes "-When the dog barked, your HP and SP recovered.-";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1422,8 +1421,8 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "[Timid Cat]";
mes "Take care to check your map so you don't get lost.";
mes "It's a service meeow.";
- npcskill "AL_HEAL",10,99,60;
- percentheal 0,100;
+ npcskill "AL_HEAL",11,99,60;
+ percentheal 100,100;
close;
}
if (para_suv01 == 8) {
@@ -1460,7 +1459,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "[Timid Cat]";
mes "I will help you a little.";
mes "Here, I have recovered your strengh meow..";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1495,8 +1494,8 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{
mes "It's the last course so cheer up.";
mes "I will help you a little.";
mes "Here, I have recovered your strengh meow..";
- npcskill "AL_HEAL",10,99,60;
- percentheal 0,100;
+ npcskill "AL_HEAL",11,99,60;
+ percentheal 100,100;
close;
}
if (para_suv01 >= 10) {
@@ -1607,7 +1606,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{
mes "[Karl]";
mes "Just in case I will recover all your energy.";
mes "It's the last step so be careful.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1638,8 +1637,8 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{
mes "[Karl]";
mes "Just in case I will recover all your energy.";
mes "It's the last step so be careful.";
- npcskill "AL_HEAL",10,99,60;
- percentheal 0,100;
+ npcskill "AL_HEAL",11,99,60;
+ percentheal 100,100;
close;
}
if (para_suv01 >= 16) {
@@ -1760,7 +1759,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "What do you think of Ant Hell?";
mes "Can you stay longer?";
mes "Ok, I will recover your strengh so, keep going.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1799,7 +1798,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "[Cloud]";
mes "See, to cheer you up I will heal you until you finish the training.";
mes "Chin up and cheer up.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1827,7 +1826,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{
mes "[Cloud]";
mes "Just Vitata, isn't that an easy opponent?";
mes "If you see Maya just run away.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1942,7 +1941,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired I will recover your health.";
mes "If you are in trouble just come back here to safety.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1973,7 +1972,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -1999,7 +1998,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "[Hooksha]";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -2072,7 +2071,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "Can you stay longer?";
mes "You look tired, I will recover your health.";
mes "If you are in trouble just come back here to safety.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -2096,7 +2095,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{
mes "Can you stay longer?";
mes "You look tired I will recover your health.";
mes "If you are in trouble just come back here to safety.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -2199,8 +2198,8 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{
mes "Oh are you tired?";
mes "Mermans are not easy opponents.";
mes "I will help you recover so cheer up.";
- npcskill "AL_HEAL",10,99,60;
- percentheal 0,100;
+ npcskill "AL_HEAL",11,99,60;
+ percentheal 100,100;
close;
}
if (para_suv01 == 35) {
@@ -2233,7 +2232,7 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{
mes "Oh are you tired?";
mes "Strouf are not easy opponents.";
mes "I can help you recover so cheer up.";
- npcskill "AL_HEAL",10,99,60;
+ npcskill "AL_HEAL",11,99,60;
percentheal 100,100;
close;
}
@@ -3359,6 +3358,7 @@ moc_para01,112,96,5 script Administrator Michael 967,{
mes "[Michael]";
mes "You mean upgrading equipment, right?";
mes "We can only upgrade the Eden Group Hat.";
+ next;
if (para_suv02 == 3) {
if (countitem(5583) > 0) {
disable_items;
@@ -5120,32 +5120,22 @@ L_GetWeapon:
return;
}
-/*
-sec_in02,25,33,4 script Assistant 422,{
+sec_in02,25,33,4 script Assistant#para_suvquest 422,{
+ callfunc "F_GM_NPC";
mes "Password";
next;
- input .@input;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
mes "Please select the variable you want to modify.";
next;
- switch (select("para_suv01:para_suv02")) {
- case 1:
- mes "Enter the modified value";
- next;
- input .@input;
- mes "Value of para_suv01 has been changed to "+.@input+".";
- set para_suv01,.@input;
- close;
- case 2:
- mes "Enter the modified value";
- next;
- input .@input;
- mes "Value of para_suv02 has been changed to "+.@input+".";
- set para_suv02,.@input;
- close;
- }
+ set .@var, select("para_suv01:para_suv02");
+ mes "Enter the modified value";
+ next;
+ input .@input,0,9999;
+ mes "Value of para_suv0"+.@var+" has been changed to "+.@input+".";
+ setd "para_suv0"+.@var,.@input;
+ close;
+ } else {
+ mes "......meow wee.";
+ close;
}
- mes "......meow wee.";
- close;
}
-*/
diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt
index fd6e9a47f..4bec34777 100644
--- a/npc/re/quests/eden/eden_service.txt
+++ b/npc/re/quests/eden/eden_service.txt
@@ -4,8 +4,6 @@
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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
index c9ecd6f17..6221ac16f 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules 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.
diff --git a/npc/re/quests/first_class/tu_archer.txt b/npc/re/quests/first_class/tu_archer.txt
new file mode 100644
index 000000000..2905cb9a6
--- /dev/null
+++ b/npc/re/quests/first_class/tu_archer.txt
@@ -0,0 +1,14 @@
+//===== Hercules Script ======================================
+//= Archer Class Tutorial and Job Specific Quest
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Archer training quest.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+pay_fild08,40,83,5 duplicate(Acolyte_Tu) Acolyte#tu 95
diff --git a/npc/re/quests/homun_s.txt b/npc/re/quests/homun_s.txt
index 66b7537c9..3eab35867 100644
--- a/npc/re/quests/homun_s.txt
+++ b/npc/re/quests/homun_s.txt
@@ -1,20 +1,18 @@
//===== Hercules Script ======================================
-//= Homunculus S Quest
-//===== By: ==================================================
-//= Masao
-//===== Current Version: =====================================
+//= Homunculus S Mutation Quest
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
-//= Evolves an Homunculus which is at least Level 99 to the
-//= new Homunculus S Class.
-//===== Additional Comments: =================================
-//= 1.0 First Version. The actual changing dialog is currently
-//= customized. [Masao]
+//===== Description: =========================================
+//= [Official Conversion]
+//= Genetic quest to mutate a level 99 evolved Homunculus
+//= into a Homunculus S.
+//===== Additional Comments: =================================
+//= 1.0 First Version, entirely custom. [Masao]
//= 1.1 Cleaning. [Euphy]
//= 1.2 Replaced with official script. [Euphy]
-//============================================================
+//============================================================
// Main NPCs
//============================================================
@@ -1359,4 +1357,4 @@ que_house_s,23,46,3 script #05homun_s 111,{
mes ":: new Homunculus.";
close;
}
-} \ No newline at end of file
+}
diff --git a/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt
index 9f9ccec1f..7962a0544 100644
--- a/npc/re/quests/magic_books.txt
+++ b/npc/re/quests/magic_books.txt
@@ -1,21 +1,20 @@
//===== Hercules Script ======================================
//= Magic Book Seller
-//===== By: ==================================================
+//===== By: ==================================================
//= Masao
//= Credits to Muad_Dib for the translation.
-//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.1a
+//===== Description: =========================================
+//= [Official Conversion]
//= An NPC which sells you different kinds of Magic Books.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First Version. [Masao]
-//= 1.1 Optimized, 60% size reduction. [Euphy]
-//============================================================
-
-geffen_in,176,105,4 script Magic Book Master Velof 64,{
+//= 1.1 Optimized. [Euphy]
+//= 1.1a Updated NPC name to "Master Velofos". [Euphy]
+//============================================================
+geffen_in,176,105,4 script Master Velofos 64,{
if (checkweight(1201,1) == 0) {
mes "You're carrying too many items. Please make some room in your bag first.";
close;
@@ -25,255 +24,251 @@ geffen_in,176,105,4 script Magic Book Master Velof 64,{
close;
}
if ((Upper == 2) && (Class != Job_Baby_Warlock)) {
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "What are you, a baby?";
mes "I'm not here to babysit. Get lost!";
close;
}
if ((Class != Job_Warlock) && (Class != Job_Warlock_T) && (Class != Job_Baby_Warlock)) {
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Ha ha, are you also seeking new knowledge?";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I'm sorry, but my knowledge doesn't concern you.";
close;
}
if (getskilllv(2230) < 1) {
- mes "[Magic Book Master Velof]";
- mes "Well you've met all the qualifications except one: you need the Release spell.";
+ mes "[Master Velofos]";
+ mes "Well, you've met all the qualifications except one: you need the Release spell.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Learn the spell first. I've got so many things to tell you.";
close;
}
if ((getskilllv(2230) > 0) && (Class == Job_Warlock) || (Class == Job_Warlock_T) || (Class == Job_Baby_Warlock)) {
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Welcome, my friend.";
mes "Congratulations on entering a brand new world of magic.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "We magic practitioners are always thirsty for new knowledge and power.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "We endure great hardship and pain to achieve what we want. When we finally do, the sense of accomplishment defies description. That's why both you and I have chosen the way of magic.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "By the way, what brings you to me today?";
next;
switch (select("Nothing.:Do you know the Reading Spell Book?:What's the Freezing Spell?:Can I have a Magic Book?:Can I use the Reading Spell Book without the Freezing Spell?:About the Ultimate Magic Book")) {
case 1:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Hah! You're silly.";
close;
case 2:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Reading Spell Book literally means 'read a spell book.' Do you know how to use Magic Books?";
next;
switch (select("Yes, I do.:No, I don't.")) {
case 1:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Well then, you don't need an additional lecture.";
close;
case 2:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Magic Books are an advanced type of magic scroll. While spells on scrolls disappear after one use, the ones in Magic Books can be cast multiple times.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Let's compare a spell on a scroll to a wire. When the wire is used to open a door or do something else, it's bent and crushed, losing its original shape. A spell from a Magic Book is more like a shape memory alloy.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Huh, don't you now what shape memory alloy is? Eh, just remember this: a wire made from shape memory alloy restores its shape over time.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Like the alloy, a spell on a Magic Book remains after a use, although reusing the spell has a downtime for its restoration.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "...Oh, I didn't mean to talk for too long. Anyways, you can use Magic Books to cast spells that you've learned. Its concept is different from normal spells.";
next;
select("What's the difference?");
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Why do you have to write your existing spells in Magic Books, you asked?";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "That's a good question. It's related to Magic Binding.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "You already learned Release, which allows you to hold the energy of the four different elements before the actual casting. Magic Binding is similar to Release.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Since you've learned Release, you're capable of using Magic Binding as well. Well, let's talk about that later.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "You know how to hold an existing spell, and then cast it at a desired timing via Release.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Carrying the globes of the four elements is also related to Magic Binding.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "As you know, the four elements are Fire, Water, Wind, and Earth. Being able to employ them freely is the essential principle of magic.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "We Humans use torches to keep fire, fans to blow wind, and bowls to hold water. We also use clay to make earthenware.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Those activities may differ from magic, but both are the same in the sense of employing the four elements.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "When you use complex magic spells to summon a storm, drop lightning, or burn an area, that consumes a lot of your energy, both physically and mentally.";
next;
- mes "[Magic Book Master Velof]";
- mes "When you fail to bind such powerful magic spells or fail to control them,";
- next;
- mes "[Magic Book Master Velof]";
- mes "you can receive irreparable damage to your mind and body.";
+ mes "[Master Velofos]";
+ mes "When you fail to bind such powerful magic spells or fail to control them, you can receive irreparable damage to your mind and body.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "That's why we use Magic Books to reduce that burden. It helps summon pre-cast spells while you're focusing on binding their magic power.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "There's one downside though: Magic Books cannot be used for spells that you haven't learned.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "As I said earlier, spells in Magic Books tend to go back to what they are.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "That said, as a Circler, you cannot change or create spells in Magic Books.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Even if you create one, its power will be beyond your capacity.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "In order to use the Reading Spell Book, you must learn the Freezing Spell to bind magic.";
close;
}
case 3:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "The Freezing Spell is used for Magic Binding. It helps you to insert a magic spell to a circle.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Circles of magic work organically with each other. When you use the Freezing Spell to bind a spell, the spell won't activate until you cast the release spell.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Of course, binding a spell continuously consumes your mana, but it consumes less mana than conventional magic spells.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Magic Binding becomes more difficult when you use more powerful magic spells.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "For weak spells, you can bind two to three of them with your circle. For more powerful spells, maybe one or two is possible.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "That all depends on your ability to control your spells. You'll have to try and experience Magic Binding after you first learn it to really understand.";
close;
case 4:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I'm sorry, but I only have Magic Books for beginners, but they're obviously not suitable for you. Do you still want one?";
next;
switch (select("Sure thing.:Where can I find advanced books?")) {
case 1:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Please go talk to [Lea] in the Archive. Tell her that you need one of the Magic Books that I've stored in there.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "For your information, she won't give it to you without anything in return. Expect her to ask you for something!";
if (wm_book < 1) set wm_book, 1;
close;
case 2:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I'm sorry, but our management has recently decided to limit the availability of Magic Books for Multi Circlers. It's because their numbers are increasing more quickly than we expected.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "You could find one if you try hard, but I don't have any with me.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "If our management releases the restriction, you'll be the first one to know. Don't worry.";
close;
}
case 5:
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Nothing will happen when you try to bind magic without using Magic Binding because you have nothing to hold magic.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "It's like water that needs a bowl to stay in place.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "The problem is when you try to forcefully cast a spell that you haven't learned. It'll definately backfire on you.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Of course, the damage won't be severe: you'll fall asleep or be thrown into confusion. This is all because there's a conflict between your Magic Book and the force of Magic Binding when you're trying to summon and hold a unlearned spell.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Don't try it out just to see what happens for yourself! Falling asleep while casting a spell? There's nothing more humiliating than that to magic practitioners like us.";
close;
case 6:
if ((BaseLevel > 139) && (getskilllv(2217) > 0) || (getskilllv(2213) > 0)) {
- if(mac_book < 1){
- mes "[Magic Book Master Velof]";
+ if (mac_book < 1) {
+ mes "[Master Velofos]";
mes "I'm sorry, but could you ask someone else? I'm kind of busy right now.";
close;
}
if (mac_book == 1) {
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Huh, are you looking for the Ultimate Magic Book? Who sent you?";
next;
select("Ms. Lea.");
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I'm sorry, but there's not much information left about the Ultimate Magic Book.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "A few scholars in the Midgard Continent once tried to collect ancient Magic Books and reproduce that book, but...";
next;
select("But what?");
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Oh yes, perhaps he might know something.";
next;
select("Yes, I knew this was coming!");
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "My brother is just like you. He's very interested in recreating the Ultimate Magic Book.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "His name is Galfos.";
mes "He's been taking a great interest in the ancient Magic Books.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I didn't support him or give him any advice for his research since I thought he'd give on it pretty quickly, but...";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "If he's discovered anything useful, maybe it can helpful to you.";
next;
select("Where's Galfos now?");
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I've heard that he's near the Expedition Camp beyond the Dimensional Rift to seek information about the ancient Magic Books.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "If you want to see him, you should prepare for a long journey.";
set mac_book,2;
close;
}
if (mac_book > 1) {
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Galfos is near the Expedition Camp beyond the Dimensional Rift.";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "If you want to see him, you should prepare for a long journey.";
close;
}
}
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Ha ha, I'm sorry, but you should focus on strengthening your body rather than creating Magic Books.";
close;
}
}
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "Ha ha, are you also seeking new knowledge?";
next;
- mes "[Magic Book Master Velof]";
+ mes "[Master Velofos]";
mes "I'm sorry, but my knowledge doesn't concern you.";
close;
}
geffen_in,175,112,4 script Lea 123,{
-
if (checkweight(1201,1) == 0) {
mes "You're carrying too many items. Please make some room in your bag first.";
close;
@@ -282,14 +277,14 @@ geffen_in,175,112,4 script Lea 123,{
mes "You're overweight with items. Please lose some item weight first.";
close;
}
- if ((wm_book > 0) && (Class == Job_Warlock) || (Class == Job_Warlock_T) || (Class == Job_Baby_Warlock)) {
+ if (wm_book > 0 && (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock)) {
mes "[Lea]";
mes "You can only read books here. If you'd like to borrow any books, please receive an approval from 1 manager and 1 High Mage.";
next;
mes "[Lea]";
mes "How may I help you?";
next;
- select("Master Velof asked me to bring his Magic Book.");
+ select("Master Velofos asked me to bring his Magic Book.");
mes "[Lea]";
mes "Are you borrowing a book?";
next;
@@ -481,7 +476,7 @@ geffen_in,175,112,4 script Lea 123,{
mes "Frankly, I've never even seen the Ultimate Magic Book.";
next;
mes "[Lea]";
- mes "You should ask Master Velof if you want to know more about that book.";
+ mes "You should ask Master Velofos if you want to know more about that book.";
next;
mes "[Lea]";
mes "I'm sorry that I can't help you more than that.";
@@ -490,7 +485,7 @@ geffen_in,175,112,4 script Lea 123,{
}
if ((BaseLevel > 139) && (mac_book > 0) && ((getskilllv(2217) > 0) || (getskilllv(2213) > 0))) {
mes "[Lea]";
- mes "You should ask Master Velof for some information about that book.";
+ mes "You should ask Master Velofos for some information about that book.";
close;
}
mes "[Lea]";
@@ -510,7 +505,6 @@ geffen_in,175,112,4 script Lea 123,{
}
mid_camp,255,244,4 script Galfos 735,{
-
if (checkweight(1201,1) == 0) {
mes "You're carrying too many items. Please make some room in your bag first.";
close;
@@ -519,7 +513,7 @@ mid_camp,255,244,4 script Galfos 735,{
mes "You're overweight with items. Please lose some item weight first.";
close;
}
- if (Upper == 2) {
+ if ((Upper == 2) && (Class != Job_Baby_Warlock)) {
mes "[Galfos]";
mes "What are you, a baby?";
mes "I'm not here to babysit. Get lost!";
@@ -535,7 +529,7 @@ mid_camp,255,244,4 script Galfos 735,{
mes "Ah, I'll get myself in trouble if I stay here any longer. Maybe I'm already in...";
close;
}
- if ((BaseLevel < 140) || (getskilllv(2217) < 1) && (getskilllv(2213) < 1)) {
+ if (BaseLevel < 140 || (getskilllv(2217) < 1 && getskilllv(2213) < 1)) {
mes "[Galfos]";
mes "I'm sorry, but I don't talk to people that aren't even ready for this.";
close;
@@ -556,7 +550,7 @@ mid_camp,255,244,4 script Galfos 735,{
next;
select("You're Velof's brother, right?");
mes "[Galfos]";
- mes "Yes, I'm Galfos, and Velof is my brother.";
+ mes "Yes, I'm Galfos, and Velofos is my brother.";
next;
mes "[Galfos]";
mes "Wait a minute,";
@@ -674,7 +668,6 @@ mid_camp,255,244,4 script Galfos 735,{
}
dic_in01,25,190,0 script Mysterious Documents 844,{
-
if (isequipped(2782) < 1) {
mes "I better not forget to equip my ring.";
close;
@@ -837,7 +830,6 @@ function script Magic_Book_Essence {
mes "Someone already used this area.";
close;
}
-
thor_v02,163,104,0 script Powerful Lava Energy#33 844,{ callfunc "Magic_Book_Essence",12218,7097,40,"Lava"; end; }
thor_v01,185,91,0 script Powerful Flame Energy#33 844,{ callfunc "Magic_Book_Essence",12219,7098,10,"Flame"; end; }
ice_dun03,137,148,0 script Powerful Glacier Energy 844,{ callfunc "Magic_Book_Essence",12220,7561,10,"Glacier"; end; }
diff --git a/npc/re/quests/monstertamers.txt b/npc/re/quests/monstertamers.txt
index c2a1388e1..a817cee43 100644
--- a/npc/re/quests/monstertamers.txt
+++ b/npc/re/quests/monstertamers.txt
@@ -1,15 +1,13 @@
//===== Hercules Script =======================================
//= Monster Tamers
//===== By: ==================================================
-//= Streusel
+//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Cute pet quest items
//===== Additional Comments: =================================
-//= 1.0 Duplicates for Monster Tamer
+//= 1.0 Moved Izlude NPC to pre-re/re paths.
//============================================================
-izlude_in,55,105,4 duplicate(Monster_Tamer#izu) Monster Tamer#izlude 125
+izlude_in,55,105,4 duplicate(MonsterTamer_izlude) Monster Tamer#izu 125
diff --git a/npc/re/quests/mrsmile.txt b/npc/re/quests/mrsmile.txt
index 029633437..215390ee1 100644
--- a/npc/re/quests/mrsmile.txt
+++ b/npc/re/quests/mrsmile.txt
@@ -1,16 +1,19 @@
//===== Hercules Script ======================================
//= Mr. Smile Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Daegaladh, Masao
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
-//= [Aegis Conversion]
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= [Official Conversion]
//= Trade Clover, Fluff and Jellopy for a Mr. Smile mask.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 Updated to match the new Izlude Map. [Masao]
-//============================================================
+//= 1.1 Added Izlude duplicates. [Euphy]
+//============================================================
izlude,125,175,4 duplicate(SmileHelper) Smile Assistance#iz 92
+izlude_a,125,175,4 duplicate(SmileHelper) Smile Assistance#iz_a 92
+izlude_b,125,175,4 duplicate(SmileHelper) Smile Assistance#iz_b 92
+izlude_c,125,175,4 duplicate(SmileHelper) Smile Assistance#iz_c 92
+izlude_d,125,175,4 duplicate(SmileHelper) Smile Assistance#iz_d 92
diff --git a/npc/re/quests/pile_bunker.txt b/npc/re/quests/pile_bunker.txt
index 0a6304c8d..a8a390cb0 100644
--- a/npc/re/quests/pile_bunker.txt
+++ b/npc/re/quests/pile_bunker.txt
@@ -1,17 +1,15 @@
//===== Hercules Script ======================================
//= Pile Bunker Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= JayPee Mateo
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 2.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== 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]
//= 2.1 Switched to official script, coded by Gennosuke Kouga. [Euphy]
//= 2.2 Updated to match the official script. [Euphy]
-//============================================================
+//============================================================
yuno,179,174,4 script Gomer 851,{
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
@@ -95,7 +93,7 @@ yuno,179,174,4 script Gomer 851,{
} else {
mes "[Gomer]";
mes "Oh, I've been waiting. You didn't come on time, so I was wondering if you forgot about it. Please wait there a little bit.";
- specialeffect 101;
+ specialeffect EF_REPAIRWEAPON;
next;
mes "[Gomer]";
mes "It's done. What do you think? Not bad, eh? Although I made it myself, I have to say it's pretty decently done.";
diff --git a/npc/re/quests/quests_13_1.txt b/npc/re/quests/quests_13_1.txt
index f1908874e..3e4626fd5 100644
--- a/npc/re/quests/quests_13_1.txt
+++ b/npc/re/quests/quests_13_1.txt
@@ -1,17 +1,18 @@
//===== Hercules Script ======================================
//= Quest NPCs related to Ash-Vacuum
//===== By: ==================================================
-//= Streusel
+//= Euphy
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Description: =========================================
-//= [Official Conversion]
-//= Contains:
-//= Promotional Staff Duplicate for Renewal
+//= Contains duplicate NPCs from main script.
//===== Additional Comments: =================================
-//= 1.0 First Version.
+//= 1.0 Moved Izlude NPC to pre-re/re paths. [Euphy]
+//= 1.1 Added Izlude duplicates. [Euphy]
//============================================================
-// Onward to the New World
-//============================================================
-izlude,102,171,6 duplicate(Promotional Staff#iz) Promotional Staff#izlude 100
+izlude,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz 100
+izlude_a,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_a 100
+izlude_b,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_b 100
+izlude_c,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_c 100
+izlude_d,102,171,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz_d 100
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index e9256047f..00b1f21b9 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -1,13 +1,11 @@
//===== Hercules Script ======================================
-//= Brasilis Qiests
+//= Brasilis Quests
//===== By ===================================================
//= L0ne_W0lf
//===== Version ==============================================
-//= 1.2
-//===== Compatible With ======================================
-//= Hercules
+//= 1.2a
//===== Description ==========================================
-//= [Translated from the Official]
+//= [Official Conversion]
//= Lost Puppies (Repeatable, 24 hours.)
//= Suspicious Beach (Repeatable, 24 hours. iRO/cRO version.)
//= Guarana Candy Quest
@@ -18,9 +16,11 @@
//= 1.0 First version.
//= 1.1 Hydra Ball (12408)
//= 1.2 Optimization. [Euphy]
+//= 1.2a Added 'consumeitem' command. [Euphy]
+//= 1.2b Updated RE EXP. [Michieru]
//============================================================
-// Lost Puppies, Original file: dogdog.sc
+// Lost Puppies :: dogdog.sc
//============================================================
brasilis,297,307,5 script Angelo#br 50,{
if (BaseLevel < 40) {
@@ -49,11 +49,12 @@ brasilis,297,307,5 script Angelo#br 50,{
mes "Oh, thank you. You found all of 3 puppies.";
mes "Thanks a lot.";
mes "I hope this is useful to you. hoho.";
- getexp 50000,0;
+ set .@randexp,rand(50000,112500);
+ getexp .@randexp,0;
erasequest 9031;
setquest 9032;
specialeffect2 EF_ASSUMPTIO;
- percentheal 100,100;
+ consumeitem 607; //Yggdrasilberry
set .@rand,rand(1,10);
if (.@rand > 4 && .@rand < 9) getitem 504,2; //White_Potion
else if (.@rand > 8) getitem 608,1; //Seed_Of_Yggdrasil
@@ -142,7 +143,7 @@ bra_fild01,234,101,3 duplicate(Puppy#bra) Puppy#d1 81
bra_fild01,200,84,3 duplicate(Puppy#bra) Puppy#d2 81
bra_fild01,176,63,5 duplicate(Puppy#bra) Puppy#d3 81
-// Suspicious Beach, original file: Suspicious_Beach.sc
+// Suspicious Beach :: Suspicious_Beach.sc
//============================================================
brasilis,192,133,6 script Lucia#brasilis 478,{
/* -------------- Hydra Ball -------------------------
@@ -168,7 +169,7 @@ brasilis,192,133,6 script Lucia#brasilis 478,{
else {
set .@nQState1,checkquest(9028);
set .@nQState2,checkquest(9029);
- if (.@nQState1 == 0) {
+ if (.@nQState1 == -1) {
mes "[Lucia]";
mes "Hello.";
mes "Have you come here to hunt ^FF0000Strange Hydra^000000s?";
@@ -226,10 +227,10 @@ brasilis,192,133,6 script Lucia#brasilis 478,{
//recall_completequest 9029;
if (.@nQState2 > -1) erasequest 9029;
setquest 9029;
- percentheal 100,100;
- 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;
+ consumeitem 607; //Yggdrasilberry
+ consumeitem 12070; //Luk_Dish05
+ consumeitem 12055; //Vit_Dish05
+ consumeitem 12065; //Dex_Dish05
getitem 11502,3; //Light_Blue_Pot
close;
}
@@ -354,7 +355,7 @@ OnTimer7000:
end;
}
-// Guarana Quest, Original file: brazil_tre.sc
+// Guarana Quest :: brazil_tre.sc
//============================================================
brasilis,187,162,5 script Candy Maker 476,{
if (!checkweight(1201,1)) {
@@ -450,7 +451,7 @@ brasilis,187,162,5 script Candy Maker 476,{
set brazil_gua,11;
completequest 2200;
getitem 12414,1; //Guarana_Candy
- getexp 700000,100000;
+ getexp 70000,10000;
close;
}
else if (brazil_gua == 11) {
@@ -470,7 +471,7 @@ brasilis,187,162,5 script Candy Maker 476,{
if (Zeny > 3999) {
mes "[Candy Maker]";
mes "Here is a delicious guarana candy.";
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
getitem 12414,1; //Guarana_Candy
close;
}
@@ -971,7 +972,7 @@ OnTouch_:
set brazil_gua,8;
changequest 2197,2198;
close2;
- sc_start SC_MOVHASTE_INFINITY,5000,0;
+ consumeitem 12016; //Speed_Up_Potion
end;
}
else {
@@ -1032,7 +1033,7 @@ bra_fild01,245,52,3 script Monkey#bra 111,{
}
}
-// Water Lily Quest, Original file: brazil_tre.sc
+// Water Lily Quest :: brazil_tre.sc
//============================================================
brasilis,203,286,3 script Botanist Karmen#bra 893,{
if (brazil_regia == 0) {
@@ -1088,7 +1089,7 @@ brasilis,203,286,3 script Botanist Karmen#bra 893,{
mes "The water lily must truly be a lucky flower. hahaha";
set brazil_regia,10;
completequest 2207;
- getexp 500000,100000;
+ getexp 50000,10000;
close;
}
else {
@@ -1929,7 +1930,7 @@ bra_dun02,71,200,3 script Water lily#bra 111,{
}
}
-// Dungeon Access Quest, Original file: brazil_tre.sc
+// Dungeon Access Quest :: brazil_tre.sc
//============================================================
brasilis,185,246,5 script Pedro#bra 62,{
if (brazil_ghost == 0) {
@@ -2796,7 +2797,7 @@ bra_in01,206,188,1 script Open Manhole#todunbra 844,{
set brazil_ghost,8;
//completequest 2208;
completequest 60355;
- getexp 900000,0;
+ getexp 90000,0;
disablenpc "Ghost#bra_end";
close;
}
@@ -2839,7 +2840,7 @@ OnInit:
end;
}
-// Iara, Original file: iara.sc
+// Iara :: iara.sc
//============================================================
brasilis,315,334,5 script Shaman#nk 474,{
set .@iara_re,checkquest(4135,PLAYTIME);
@@ -2962,22 +2963,19 @@ brasilis,315,334,5 script Shaman#nk 474,{
mes "Could you listen to my stories for a moment.";
mes "There's an emergency in our tribe.";
next;
- switch(select("No.:Okay.")) {
- case 1:
+ if(select("No.:Okay.") == 1) {
mes "[Anori]";
mes "You are a heartless person...";
mes "You don't seem the helpful type.";
mes "Just keep on going your way.";
close;
- case 2:
- mes "[Anori]";
- mes "Thank you, I met a kind person.";
- mes "It's a secret of our tribe that";
- mes "you cannot tell anyone.";
- next;
- break;
}
mes "[Anori]";
+ mes "Thank you, I met a kind person.";
+ mes "It's a secret of our tribe that";
+ mes "you cannot tell anyone.";
+ next;
+ mes "[Anori]";
mes "Lately young men from";
mes "the tribe are disappearing.";
mes "Our entire tribe is being threatened.";
@@ -3072,12 +3070,12 @@ bra_dun02,157,74,5 script Iara#nk 478,2,2,{
percentheal 100,100;
sc_start SC_INCFLEE,3600000,20;
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;
+ consumeitem 12043; //Str_Dish03
+ consumeitem 12063; //Dex_Dish03
+ consumeitem 12058; //Agi_Dish03
+ consumeitem 12053; //Vit_Dish03
+ consumeitem 12048; //Int_Dish03
+ consumeitem 12068; //Luk_Dish03
next;
mes "[Iara]";
mes "Ahhh~...";
@@ -3098,11 +3096,10 @@ bra_dun02,157,74,5 script Iara#nk 478,2,2,{
mes "Aaaaaaaaaaaaaaaaaaaaaah.";
mes "Eeeeeeeeeeeeeeeeeeeh.";
mes "Oooooooooooooooooh.";
- set .@get_de,rand(1,2);
- if (.@get_de == 1)
- sc_start Sc_Curse,60000,0;
+ if (rand(1,2) == 1)
+ sc_start SC_CURSE,60000,0;
else
- sc_start Sc_Confusion,60000,0;
+ sc_start SC_CONFUSION,60000,0;
next;
mes "[" + strcharinfo(0) + "]";
mes "Ugh! What's this strange voice?";
@@ -3116,11 +3113,10 @@ OnTouch:
mes "Aaaaaaaaaaaaaaaaaaaaaah.";
mes "Eeeeeeeeeeeeeeeeeeeh.";
mes "Oooooooooooooooooh.";
- set .@get_de,rand(1,2);
- if (.@get_de == 1)
- sc_start Sc_Curse,60000,0;
+ if (rand(1,2) == 1)
+ sc_start SC_CURSE,60000,0;
else
- sc_start Sc_Confusion,60000,0;
+ sc_start SC_CONFUSION,60000,0;
next;
mes "[" + strcharinfo(0) + "]";
mes "Ugh! What's this strange voice?";
@@ -3131,7 +3127,7 @@ OnTouch:
bra_fild01,188,301,5 script Native Warrior#nk 472,{
mes "[Native Warrior]";
- mes "Ah...the face I would never forget even in my dreams.";
+ mes "Ah... the face I would never forget even in my dreams.";
next;
mes "[Native Warrior]";
mes "When will she come out of the waterfall again...?";
@@ -3143,7 +3139,7 @@ bra_fild01,188,301,5 script Native Warrior#nk 472,{
else {
mes "[" + strcharinfo(0) + "]";
mes "(This guy will never";
- mes "get ocer Iara's curse...)";
+ mes "get over Iara's curse...)";
}
close;
}
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index f0f6fef1e..e50e2e5c5 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -4,9 +4,8 @@
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
+//= [Official Conversion]
//= Quest NPCs related to Dewata:
//== "Dewata Legend"
//== "Help Out the Old Man"
@@ -17,60 +16,7 @@
//= 1.2 Updated to match the official script. [Lemongrass/Euphy]
//============================================================
-// Entrance
-//============================================================
-alberta,212,202,4 script Dewata Sailor#alberta 536,{
- mes "[Dewata Sailor]";
- mes "Do you want to visit ^8B4513Dewata Island^000000?";
- mes "With it's dazzling waves and charming views it's a great place to relax.";
- mes "The transit fee is 10,000 Zeny.";
- next;
- switch(select("Yes!:No.")) {
- case 1:
- if (Zeny >= 10000) {
- mes "[Dewata Sailor]";
- mes "^8B4513Dewata^000000 is a beautiful and peaceful island country.";
- mes "Have a nice trip~";
- close2;
- set Zeny, Zeny - 10000;
- warp "dewata",232,53;
- end;
- } else {
- mes "[Dewata Sailor]";
- mes "You don't have the dough, kid.";
- mes "Come back when you have a bigger wallet.";
- close;
- }
- case 2:
- mes "[Dewata Sailor]";
- mes "Let me know";
- mes "when you're ready to travel~";
- close;
- }
-}
-
-dewata,229,49,6 script Alberta Sailor#dewata 536,{
- mes "[Alberta Sailor]";
- mes "Do you want to go back to Alberta?";
- next;
- switch(select("Yes.:No.")) {
- case 1:
- mes "[Alberta Sailor]";
- mes "I hope you had a lot of fun on";
- mes "your trip to ^8B4513Dewata^000000 Island.";
- mes "Please come again!";
- close2;
- warp "alberta",210,198;
- end;
- case 2:
- mes "[Alberta Sailor]";
- mes "Have some more fun before you go.";
- mes "^8B4513Dewata^000000 Island still has more to offer.";
- close;
- }
-}
-
-// Dewata Legend Quest
+// Dewata Legend Quest :: dewata_legend
//============================================================
dew_fild01,57,274,0 script #hideout_legend 111,6,6,{
OnTouch:
@@ -794,7 +740,7 @@ dewata,78,192,6 script Borobudur Temple Manager 536,{
close;
}
-// Help Out the Old Man
+// Help Out the Old Man :: dewata_drink
//============================================================
dewata,109,262,4 script Memo#dew_drink 534,{
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 5000) {
@@ -1716,7 +1662,7 @@ dew_fild01,209,137,0 duplicate(DewataPalm) Palm Tree#drink38 844
dew_fild01,206,156,0 duplicate(DewataPalm) Palm Tree#drink39 844
dew_fild01,209,201,0 duplicate(DewataPalm) Palm Tree#drink40 844
-// Traditional Weapon Quest
+// Traditional Weapon Quest :: dewata_weapon
//============================================================
dew_fild01,127,240,4 script Gatti#weapon 813,{
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 10000) {
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index fc841fb88..605f59d59 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -4,9 +4,8 @@
//= Gennosuke Kouga, Muad_Dib
//===== Current Version: =====================================
//= 2.3
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
+//= [Official Conversion]
//= Quest NPCs related to Dewata:
//== Sapha's Visit, Doha's Secrect Order, Frede's Request,
//== Department Quests, Document Quests,
@@ -175,6 +174,20 @@ dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 449,{
}
}
+sec_in02,16,43,5 script Scaraba Dungeon Entrance 449,{
+ callfunc "F_GM_NPC";
+ mes "Setting you for dungeon entry.";
+ mes "You will be able to go through if the password is correct.";
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
+ set ep13_3_secret,6;
+ getitem 2782,1; //Ring_Of_Wise_King
+ getitem 6437,2; //Scaraba_Perfume
+ mes "Setting Complete";
+ } else
+ mes "Wrong Password";
+ close;
+}
+
// Vigilantes
//============================================================
- script Vigilante#main -1,{
@@ -423,6 +436,19 @@ dic_in01,254,119,0 script Item Storage#01 844,{
end;
}
+sec_in02,10,42,1 script 13.3 Related Reset 449,{
+ callfunc "F_GM_NPC";
+ mes "[Reset]";
+ mes "Resets all quest windows including daily and map quests for 13.3.";
+ freeloop(1);
+ for(set .@i,12099; .@i<=12216; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ freeloop(0);
+ close;
+}
+
// Civil Services
//============================================================
function script que_dic {
@@ -1111,6 +1137,7 @@ function script unknown_d {
}
close;
}
+prt_fild03,144,95,0 script Tree Roots 844,{ unknown_d(12166,902); }
prt_fild09,371,255,0 script Reptile Tongues 844,{ unknown_d(12167,903); }
prt_fild09,352,241,0 script Scorpion Tails 844,{ unknown_d(12168,904); }
pay_fild02,177,108,0 script Stems 844,{ unknown_d(12169,905); }
@@ -1289,7 +1316,7 @@ OnTouch:
mes "As soon as you enter the room, someone";
mes "pushes down your head to force you to bow.";
soundeffect "wander_man_move.wav",0;
- sc_start SC_Blind,60000,0;
+ sc_start SC_BLIND,60000,0;
next;
mes "[Ringing Voice]";
mes "That is fine, Cheshire.";
@@ -1302,7 +1329,7 @@ OnTouch:
cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),1;
mes "You hold up your head at the sound of Ahat's voice";
mes "But you see a human in high-ranking Sapha clothing in front of you.";
- sc_end SC_Blind;
+ sc_end SC_BLIND;
emotion e_omg,1;
set ep13_3_secret, 14;
erasequest 7198;
@@ -1494,7 +1521,7 @@ dic_in01,300,280,5 script Minister Ahat#ep133_21 493,{
mes "As soon as you try to approach Ahat, someone";
mes "pushes down your head to force you to bow.";
soundeffect "wander_man_move.wav",0;
- SC_Start SC_Blind,60000,0;
+ SC_Start SC_BLIND,60000,0;
next;
mes "[Ringing Voice]";
mes "That is fine, Cheshire.";
@@ -1507,7 +1534,7 @@ dic_in01,300,280,5 script Minister Ahat#ep133_21 493,{
cutin (Sex?"ep13_ahat_f":"ep13_ahat_m"),2;
mes "You hold up your head at the sound of Ahat's voice";
mes "But you see a human in high-ranking Sapha clothing in front of you.";
- SC_End SC_Blind;
+ SC_End SC_BLIND;
emotion e_omg,1;
set ep13_3_secret, 14;
erasequest 7198;
@@ -6001,7 +6028,7 @@ dic_in01,349,129,5 script Bouy#13_3 449,{
mes "I've been waiting for the Galtens to return because I'm not accustomed to battle since I'm Venknick. Thank you very much.";
next;
mes "[Bouy]";
- mes "Handwork is much faster to refine pieces of Bradium instead of using a machine. I will only need an hour to finish.";
+ mes "Handwork is much faster to refine pieces of Bradium instead of using a machine. I will only need two hours to finish."; //Official: "an hour", but gives 2-hour quest.
next;
mes "[Bouy]";
mes "Please go rest while I get to work.";
@@ -7607,4 +7634,4 @@ moc_fild22b,182,179,3 script Cat Hand Agent#Tat 495,{
mes "[Tat]";
mes "Aren't you suppose to be done getting ready before you come here?";
close;
-} \ No newline at end of file
+}
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index e4f5cef60..291bcc1f9 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Eclage Quest NPCs
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 0.1
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= Quest NPCs related to Eclage.
//===== Additional Comments: =================================
diff --git a/npc/re/quests/quests_izlude.txt b/npc/re/quests/quests_izlude.txt
index 0286baca0..2bc548b70 100644
--- a/npc/re/quests/quests_izlude.txt
+++ b/npc/re/quests/quests_izlude.txt
@@ -1,15 +1,19 @@
//===== Hercules Script ======================================
//= Quest NPCs related to Izlude
-//===== By: ==================================================
+//===== By: ==================================================
//= Daegaladh, Masao
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
-//= Edgar's Offer
-//===== Additional Comments: =================================
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Contains:
+//= - Edgar's Offer
+//===== Additional Comments: =================================
//= 1.0 Updated to match the new Izlude Map. [Masao]
+//= 1.1 Added Izlude duplicates. [Euphy]
//============================================================
-izlude,179,219,4 duplicate(Edgar_izlude) Edgar#izlude 49
+izlude,179,219,2 duplicate(Edgar_izlude) Edgar#izlude 49
+izlude_a,179,219,2 duplicate(Edgar_izlude) Edgar#izlude_a 49
+izlude_b,179,219,2 duplicate(Edgar_izlude) Edgar#izlude_b 49
+izlude_c,179,219,2 duplicate(Edgar_izlude) Edgar#izlude_c 49
+izlude_d,179,219,2 duplicate(Edgar_izlude) Edgar#izlude_d 49
diff --git a/npc/re/quests/quests_lighthalzen.txt b/npc/re/quests/quests_lighthalzen.txt
index 3f029f7f4..18f5e42d4 100644
--- a/npc/re/quests/quests_lighthalzen.txt
+++ b/npc/re/quests/quests_lighthalzen.txt
@@ -1,22 +1,24 @@
-//===== Hercules Script =======================================
+//===== Hercules Script =======================================
//= Quest NPCs located in Lighthalzen
-//===== By: ==================================================
+//===== By: ==================================================
//= Ziu, Heris (translation)
-//===== Current Version: =====================================
-//= 1.1a
-//===== Compatible With: =====================================
-//= Hercules GIT
-//===== Description: =========================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
//= Quests related to Lighthalzen City.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 Updated to match the new Izlude Map. [Masao]
//= 1.1 Added Somatology Laboratory F4 quest. [Euphy]
-//= 1.1a Coordinate update
-//============================================================
+//= 1.2 Added Izlude duplicates. [Euphy]
+//============================================================
// Renewal split [Daegaladh]
//============================================================
-izlude,172,73,6 duplicate(Scamp) Scamp#2 853
+izlude,172,73,6 duplicate(Scamp) Scamp#iz 853
+izlude_a,172,73,6 duplicate(Scamp) Scamp#iz_a 853
+izlude_b,172,73,6 duplicate(Scamp) Scamp#iz_b 853
+izlude_c,172,73,6 duplicate(Scamp) Scamp#iz_c 853
+izlude_d,172,73,6 duplicate(Scamp) Scamp#iz_d 853
// Somatology Laboratory F4
//============================================================
@@ -71,8 +73,8 @@ lighthalzen,303,304,5 script Jerome Jameson#start 904,{
}
// Is this the correct behavior? (limited and conflicting sources)
-// -- iRO: lhz_dun03 warps directly to que_lhz.
-// -- Ziu: NPC in lhz_dun04 warps into que_lhz.
+// - NPC in lhz_dun04 warps into que_lhz. (?)
+// - lhz_dun03 warps directly to que_lhz. (?)
function script lhz4enter {
if (getmapusers("que_lhz") == 0 && mobcount("que_lhz","#controllhz4::OnMyMobDead") < 1) {
if (getarg(0) == 0) {
diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 12462762d..e120f0e39 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -1,24 +1,360 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Malangdo Quest NPCs
//===== By: ==================================================
//= Muad_Dib
//===== Current Version: =====================================
-//= 1.4
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.6
//===== Description: =========================================
+//= [Official Conversion]
//= Quest NPCs related to Malangdo:
//== Malangdo Island, Help the Bad Cats in Danger,
-//== Clean the Ship, Help Chef Nyas,
-//== Play with Baby Cats, Archangel Wing Enchants
+//== Clean the Ship, Help Chef Nyas, Play with Baby Cats,
+//== Cat Gamers, Archangel Wing Enchants
//===== Additional Comments: =================================
//= 1.0 First version. [Euphy]
//= 1.1 Added Clean the Ship and Help Chef Nyas.
//= 1.2 Added Archangel Wing Enchants.
//= 1.3 Added Play with Baby Cats.
//= 1.4 Added Malangdo Island.
+//= 1.4a Dialogue edits, source iRO.
+//= 1.5 Added Cat Gamers.
+//= Added "Investment Cat Helper" and "Storekeeper" NPCs.
+//= 1.6 Added GM management function.
//============================================================
+// Utility NPCs :: cat_merchant
+//============================================================
+mal_in02,134,31,5 script Investment Cat Helper 505,{
+ if (MaxWeight - Weight < 100 || checkweight(1201,1) == 0) {
+ mes "[Investment Cat Helper]";
+ mes "You have a heavy load. Maybe you're a peddler? No peddlers in this area.";
+ close;
+ }
+ if (ep13_yong1 < 10) {
+ mes "[Investment Cat Helper]";
+ mes "Ohh!";
+ mes "You've come here to ask about investing?";
+ mes "You've come to the right place.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "I am here to invest in the Cat Paw Merchant Association.";
+ mes "Err-- I mean I'm here to help honest people like you.";
+ mes "Hehehe~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "I can't remember everything because I've been here talking to you humans.";
+ mes "But I want to know first... Hold on.";
+ next;
+ mes "smell... smell...";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Ah?!";
+ mes "You don't know much about the Cat Paw Merchant Association, do you?";
+ mes "Hmm, you do not really smell like a cat.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Good!!";
+ mes "You made the right decision to be here to invest in the Cat Paw Merchant Association~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "First, you need to have ten pieces of Malangdo cans if you want to open an account.";
+ next;
+ while(1) {
+ switch(select("Open an account:Ask about benefits:Cancel")) {
+ case 1:
+ if (countitem(12636) < 10) {
+ mes "[Investment Cat Helper]";
+ mes "Hmm!";
+ mes "I'd love to give you account for";
+ mes "free but as you know, this is for";
+ mes "advertising investers of the trader group, sorry.";
+ close;
+ }
+ delitem 12636,10; //Malang_Sp_Can
+ set ep13_yong1,10;
+ mes "[Investment Cat Helper]";
+ mes "Good!";
+ mes "Write down here~ and";
+ mes "print your palm there,";
+ mes "ah!~ what's your name?";
+ next;
+ mes "[Investment Cat Helper]";
+ mes strcharinfo(0)+" you are~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Name: "+strcharinfo(0);
+ mes "Number of accounts: 10";
+ mes "OK! Registered!";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "You have an account now.";
+ mes "Will get an investment of a certain nunber of cans next time.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "I wish to get lots of investments";
+ mes "so you can have many services as well.";
+ mes "And, I also hope that we, the Cat Paw Merchant Association, will make much money.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "See you next investment~";
+ close;
+ case 2:
+ mes "[Investment Cat Helper]";
+ mes "You want to know the benefits of investing?";
+ mes "Actually, we are a small group of cats and we don't think like humans.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "There are lots of benefits based on how much you've invested in our services.";
+ mes "These include more warps, extra storage locations and price reductions of goods and services.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "I promise that if our trade is growing you will benefit from it as well.";
+ next;
+ break;
+ case 3:
+ mes "[Investment Cat Helper]";
+ mes "Ahh~ You're just going to leave?";
+ mes "T_T~ Please open an account.";
+ close;
+ }
+ }
+ } else if (ep13_yong1 < 20000) {
+ mes "[Investment Cat Helper]";
+ mes "I can't remember everyone since I meet so many people...";
+ mes "But I want to check first... Hold on.";
+ mes "Excuse me!";
+ next;
+ mes "smell... smell...";
+ next;
+ if (ep13_yong1 < 10000) {
+ set .@cans,10;
+ mes "[Investment Cat Helper]";
+ mes "This is a familiar smell!!";
+ mes "If it's so...!!";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "You are here to invest!!";
+ mes "Good!~~ Good to see you~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "From your smell~ you are below 10,000 accounts.";
+ mes "Until then, you can get an account by investing ten cans.";
+ } else {
+ set .@cans,20;
+ mes "[Investment Cat Helper]";
+ mes "Such a stong smell!!";
+ mes "Then it must be!!";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "A VIP invester!!!!!!";
+ mes "You're here to invest? Welcome!";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "A VIP invester with over 10,000 accounts";
+ mes "can get another account with 20 cans.";
+ mes "A good investment!";
+ }
+ next;
+ mes "[Investment Cat Helper]";
+ mes "What will you do?";
+ next;
+ switch(select("Invest:Check the number of accounts:Cancel")) {
+ case 1:
+ mes "[Investment Cat Helper]";
+ mes "Ohh~ thank you for investing~";
+ mes "You can get a maximum of 10 accounts at one time.";
+ mes "Isn't it lovely?";
+ mes "How many will you invest in? Enter 0 to cancel.";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Investment Cat Helper]";
+ mes "Please invest next time~";
+ close;
+ } else if (.@input > 10) {
+ mes "[Investment Cat Helper]";
+ mes "You can get a maximum of 10 accounts~";
+ close;
+ }
+ set .@required, .@input*.@cans;
+ mes "[Investment Cat Helper]";
+ mes "Total " + .@input + " accounts, right?";
+ mes "The number of cans you need is "+.@required+" pieces.";
+ mes "Do you want to go through with this?";
+ next;
+ if(select("Yes:No") == 2) {
+ mes "[Investment Cat Helper]";
+ mes "Oh? Is that wrong? Weird.";
+ mes "Please check again~";
+ close;
+ }
+ if (countitem(12636) < .@required) {
+ mes "[Investment Cat Helper]";
+ mes "Ahhh!";
+ mes "You don't have enough cans.";
+ mes "I'm a busy cat, you know.";
+ close;
+ }
+ if (ep13_yong1 < 10000) {
+ delitem 12636,.@required; //Malang_Sp_Can
+ set ep13_yong1, ep13_yong1+.@input;
+ mes "[Investment Cat Helper]";
+ mes .@input+" accounts were invested in.";
+ mes "Thank you for your help~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Once we get more investments of cans,";
+ mes "our trader group will grow even more.";
+ mes "And you can get services as well~";
+ mes "A win-win strategy?";
+ close;
+ } else {
+ if (.@input + ep13_yong1 > 20000) {
+ delitem 12636,.@required; //Malang_Sp_Can
+ set ep13_yong1,20000;
+ mes "[Investment Cat Helper]";
+ mes "You can have 20,000 accounts max";
+ mes "according to the trader policy...";
+ mes strcharinfo(0)+"'s accounts increase to 20,000.";
+ mes "Thank you so much for your investment~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Now, "+strcharinfo(0)+", you can't invest further";
+ mes "but you can still donate some of your cans to the trader group.";
+ mes "Thank you so much~";
+ close;
+ } else {
+ delitem 12636,.@required; //Malang_Sp_Can
+ set ep13_yong1, ep13_yong1+.@input;
+ mes "[Investment Cat Helper]";
+ mes .@input+" accounts have been invested in.";
+ mes "Thank you for your help~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "With your big investment in cans,";
+ mes "this will help us meet our goals earlier.";
+ mes "Thank you again.";
+ close;
+ }
+ }
+ case 2:
+ mes "[Investment Cat Helper]";
+ mes "You want to check the number of accounts? Hmm, let's see~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Name: "+strcharinfo(0);
+ mes "Number of accounts: "+ep13_yong1;
+ next;
+ mes "[Investment Cat Helper]";
+ if (ep13_yong1 < 10000)
+ mes "Got it?";
+ else
+ mes "You've made many investments. Thank you.";
+ close;
+ case 3:
+ mes "[Investment Cat Helper]";
+ mes "Please invest next time~";
+ close;
+ }
+ } else if (ep13_yong1 >= 20000) {
+ mes "[Investment Cat Helper]";
+ mes strcharinfo(0) + ", welcome~";
+ mes strcharinfo(0) + "~ I felt something upon your arrival.";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Want to donate?";
+ next;
+ if(select("Donate:No") == 2) {
+ mes "[Investment Cat Helper]";
+ mes "Hehe~ then have fun in here~";
+ close;
+ }
+ mes "[Investment Cat Helper]";
+ mes "Wow, thank you, "+strcharinfo(0)+"~!";
+ next;
+ mes "[Investment Cat Helper]";
+ mes strcharinfo(0)+"~ with your help";
+ mes "the cans will be distributed to cats";
+ mes "in the Midgard area with honor~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
+ next;
+ input .@input;
+ if (.@input < 20 || .@input > 10000) {
+ mes "[Investment Cat Helper]";
+ mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
+ close;
+ } else if (countitem(12636) < .@input) { // Malang_Sp_Can
+ mes "[Investment Cat Helper]";
+ mes "Hmm? You don't have enough cans.";
+ close;
+ } else {
+ delitem 12636,.@input; //Malang_Sp_Can
+ mes "[Investment Cat Helper]";
+ mes "Ohh! Thank you~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Dear "+strcharinfo(0)+" ~";
+ mes "I have only Increase AGI";
+ mes "and Blessing to give you.";
+ mes "Thank you.";
+ npcskill "AL_INCAGI",10,0,0;
+ npcskill "AL_BLESSING",10,0,0;
+ close;
+ }
+ }
+}
+
+malangdo,184,139,4 script Storekeeper#mal 560,{
+ mes "[Storekeeper]";
+ mes "Hey, looks like you might be looking to unload some of your stuff from your pack.";
+ mes "Want to open storage? For free?";
+ next;
+ mes "[Storekeeper]";
+ mes "Hahaha~ Just kidding, of course it isn't free.";
+ mes "What do you take me for?";
+ next;
+ if (ep13_yong1 > 999) {
+ set .@cans,1;
+ set .@zeny,1500;
+ set .@i, select("Pay with Can ----- 1 unit:Pay with Zeny ------- 1,500z");
+ } else {
+ set .@cans,2;
+ set .@zeny,3000;
+ set .@i, select("Pay with Can ----- 2units:Pay with Zeny ------- 3,000z");
+ }
+ if (getskilllv("NV_BASIC") < 6) {
+ mes "[Storekeeper]";
+ mes "Ah, hold on!!";
+ mes "You need to have ^FF0000Basic Skill level 6^000000 to use the storage service!!";
+ close;
+ }
+ switch(.@i) {
+ case 1:
+ if (countitem(12636) < .@cans) {
+ mes "[Storekeeper]";
+ mes "You don't have enough cans...";
+ close;
+ }
+ delitem 12636,.@cans; //Malang_Sp_Can
+ break;
+ case 2:
+ if (Zeny < .@zeny) {
+ mes "[Storekeeper]";
+ mes "You don't have enough zeny...";
+ close;
+ }
+ set Zeny, Zeny-.@zeny;
+ break;
+ }
+ mes "[Storekeeper]";
+ mes "Thank you.";
+ close2;
+ openstorage;
+ end;
+}
+
// Malangdo Island :: ma_tomas
//============================================================
mal_in02,28,56,5 script Samuel#mal 495,{
@@ -1554,20 +1890,12 @@ mal_in01,116,168,0 script Dry Machine#mal 563,{
- script Suspicious Sand Pile#0 -1,{
if (.off) end; // Official script uses a 1-second timer to disable sand piles. Added to prevent abuse.
- if (checkweight(1201,1) == 0) {
- mes " - Notice !! -";
- mes " - Since you have too many items - ";
- mes " - you cannot get the item. - ";
- mes " - Let your body lighten - ";
- mes " - and try this again. - ";
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
close;
}
- if (MaxWeight - Weight < 1000) {
- mes " - Notice !! -";
- mes " - Since your items are too heavy - ";
- mes " - you cannot get the item. - ";
- mes " - Let your body lighten - ";
- mes " - and try this again. - ";
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
close;
}
if (ma_tomas == 9 || checkquest(11238) > -1) {
@@ -2353,7 +2681,7 @@ mal_dun01,120,129,0 duplicate(#skin_mal) Hard Skin#32 111
malangdo,190,167,7 script Portali#mal 546,{
if (ma_tomas < 100) {
mes "[Portali]";
- mes "I have no business for a immature fellow!";
+ mes "I have no business for an immature fellow!";
close;
}
mes "[Portali]";
@@ -2424,8 +2752,12 @@ L_Warp:
// Malangdo Island :: mal_ppl
//============================================================
malangdo,137,200,6 script Pipielle 549,{
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
- mes "You have too many items, please try again after reducing your weight.";
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
close;
}
if (BaseLevel < 60) {
@@ -2435,14 +2767,14 @@ malangdo,137,200,6 script Pipielle 549,{
mes "[Pipielle]";
mes "I would ask for your help, if you were a stronger advanturer...";
next;
- mes "^770099This cat is working on something, but she asks for help above LV60.^000000";
+ mes "^770099This cat is working on something, but she asks for help above level 60.^000000";
close;
}
- set .@fish_ss1$, "What are you doing??";
+ set .@fish_ss1$, "What are you doing?";
if (countitem(6451) > 29)
set .@fish_ss2$, "I caught a lot of strange fishes!";
else
- set .@fish_ss2$, "Remaining " + (30-countitem(6451)) + " of ^bbbbbbUnidentified Fish are required.^000000";
+ set .@fish_ss2$, (30-countitem(6451))+" of ^bbbbbbUnidentified Fish are required.^000000";
if (ma_tomas == 100)
set .@fish_ss3$, "I met an Admiral Tomas...";
mes "[Pipielle]";
@@ -2451,48 +2783,51 @@ malangdo,137,200,6 script Pipielle 549,{
switch(select(.@fish_ss1$,.@fish_ss2$,.@fish_ss3$)) {
case 1:
mes "[Pipielle]";
- mes "There are many beautiful fishes around here. So I feel my heart beating as I stand here.";
+ mes "There are many beautiful fish around here. So I feel my heart beating standing here.";
next;
- select("Of course, after seeing such a delicious thing!");
+ select("I think my heart is beating faster...");
mes "[Pipielle]";
- mes "How come you only know about eating?! My heart doesn't beat up because I see something delicious. Don't treat me the same as the others.";
+ mes "How come you only know about eating! My heart doesn't only beat for food.";
next;
mes "[Pipielle]";
- mes "I used to study from a scholar from Uno who was human. And I am good at the human language as well. Don't treat me like the others.";
+ mes "I've studied at a human university before and I learned to speak there so don't treat me like some animal.";
next;
mes "[Pipielle]";
- mes "I am a scholar who researches fish here. It's a little funny that a cat researches fish, but it's true.";
+ mes "I am a scholar of fish research.";
+ mes "It's important for cats to research fish.";
next;
- select("Were you originally a scholar?");
+ select("How's your research going?");
mes "[Pipielle]";
- mes "Originally I used to be the mate of admiral Tomas. But our ship never went back to sea after we arrived here.";
+ mes "I was a good friend of admiral Thomas but our ship hasn't gone back to sea since we arrived here.";
next;
mes "[Pipielle]";
- mes "The mate of a ship that never voyages is lonely.";
+ mes "The shipmates seem to be pretty lonely.";
next;
mes "[Pipielle]";
- mes "The scholar from Uno came here for research, and he thought it was amazing that cats spoke the human language. Therefore he started to teach me.";
+ mes "A scholar from the university came here to research us and thought it was amazing to find a cat that speaks his language already.";
+ mes "So he's been helping me teach the others.";
next;
- select("But now everyone speaks the human language.");
+ select("Is that why I understand all the cats?");
mes "[Pipielle]";
- mes "Oh yes, there were only a few cats who spoke the human language. That's why he treated me special.";
+ mes "Yes, exactly!";
+ mes "I was one of the few cats who could talk to humans before that scholar arrived.";
next;
mes "[Pipielle]";
- mes "Anyway, now I collect specimens to be an ichthyologist. I hope you can help me.";
+ mes "Anyways, now I'm collecting specimens to study the monsters here. I hope you can help me.";
next;
- if(select("How can I help you?:I would say no.") == 2) {
+ if(select("How can I help you?:I have to decline.") == 2) {
mes "[Pipielle]";
mes "Oh, okay. If you change your mind, please come again.";
close;
}
mes "[Pipielle]";
- mes "There is a Pouring who's eating all the fishes in the Octopus and Culvert dungeons.";
+ mes "There is a monster called a Pouring who's eating all fish in the Octopus and Culvert dungeon.";
next;
mes "[Pipielle]";
- mes "It didn't use to live there, but might have come here for the winter. Could you collect the specimens of unidentified fish after geting rid of it?";
+ mes "It suddenly appeared during the winter, so could you collect the specimens of Unidentified Fish after getting rid of it?";
next;
mes "[Pipielle]";
- mes "You can get identified fishes from Pouring, so please collect about 30 pieces.";
+ mes "You can get Unidentified Fish from the Pouring monsters, so please collect 30 of them.";
close;
case 2:
if (countitem(6451) > 29) {
@@ -2509,7 +2844,7 @@ malangdo,137,200,6 script Pipielle 549,{
close;
}
mes "[Pipielle]";
- mes "I'm sorry, but please collect 30 pieces of unidentified fish specimens.";
+ mes "I'm sorry, but please collect 30 Unidentified Fish specimens.";
close;
case 3:
mes "[Pipielle]";
@@ -2571,7 +2906,7 @@ malangdo,175,206,3 script Gobonge#ml 561,{
}
if (BaseLevel < 60) {
mes "[Gobonge]";
- mes "Are you here to get help";
+ mes "Are you here to help";
mes "or to get help?";
mes "You look so weak, haha...";
mes "Go and hunt more Porings!";
@@ -2754,55 +3089,51 @@ OnDisable:
malangdo,181,205,3 script Gobulee#ml1 547,{
mes "[Gobulee]";
- mes "Why do you come now?";
- mes "You should have come when we were healthy.";
- mes "So, you want to me take out what you have?";
+ mes "What a time to show up!";
+ mes "You should come around when we're healthy.";
close;
}
malangdo,180,202,3 script Gobyungee#ml1 547,{
mes "[Gobyungee]";
- mes "I can't see other cats because";
- mes "I could't have time to do bad behavior...";
+ mes "I can't even look another cat in the eye since I'm too sick to be doin' crimes properly.";
close;
}
malangdo,186,201,3 script Gosigee#ml1 547,{
mes "[Gosigee]";
- mes "I am desperate for pill of stomachache,";
- mes "cap is only thinking of finding out criminal";
- mes "and to revenge!";
+ mes "I wish I had some peppy bistmuth pills...";
+ mes "Meanwhile the Captain only thinks about catching the bad guys and getting revenge!";
mes "...";
next;
mes "[Gosigee]";
- mes "How can we follow him as a cap...!";
+ mes "How can we follow someone so single-minded!";
close;
}
malangdo,177,202,3 script Gonanee#ml2 547,{
mes "[Gonanee]";
- mes "We are only bad circle in Malangdo";
- mes "and we are very proud.";
- mes "Can't just lie in bed.";
+ mes "We are the only violent gang in Malangdo and we are very proud.";
+ mes "I don't feel right just lying in bed.";
close;
}
malangdo,183,202,3 script Godoree#ml3 547,{
mes "[Godoree]";
mes "I saw unfamiliar cats around";
- mes "the dock frequently.";
+ mes "the dock recently.";
mes "Are they tourists?";
- mes "We should check their pockets";
- mes "once I get well...";
+ mes "I should -inspect- their pockets";
+ mes "once I'm better...";
close;
}
malangdo,203,116,5 script Suspious Dealer#ml 543,{
- mes "On listening to the story for";
- mes "a while, he pretends to be indifferent once hearing someone's noise.";
+ mes "He appears to be listening intently.";
+ mes "Upon hearing you approach, he pretends to be completely oblivious.";
next;
mes "[Suspious Dealer]";
- mes "Oh my body, too much pain...";
+ mes "Oh the pain, oh the pain of it all...";
close;
}
@@ -2810,13 +3141,13 @@ malangdo,205,116,3 script Very Suspious Dealer#ml1 543,{
mes "On listening to the story for";
mes "a while, he pretends to be indifferent once hearing someone's noise.";
next;
- mes "[Very Suspious Dealer]";
- mes "The weather is so dirty...";
+ mes "[Suspious Dealer]";
+ mes "Could it BE any smoggier today?";
close;
}
-malangdo,197,120,5 script Foolish Cat#ml 546,{
- mes "[Foolish Cat]";
+malangdo,197,120,5 script A Foolish Cat#ml 546,{
+ mes "[A Foolish Cat]";
mes "If you stay here, you";
mes "can hear all they're saying.";
mes "Don't know exactly what, but";
@@ -2906,8 +3237,7 @@ OnTouch:
malangdo,171,163,3 script Awfully Suspious Dealer 543,{
if (malang_bad_guys < 4) {
mes "[Awfully Suspious Dealer]";
- mes "We quit our sales,";
- mes "find the other merchant!";
+ mes "We quit selling them, find another merchant!";
close;
} else if (malang_bad_guys == 4) {
mes "[Awfully Suspious Dealer]";
@@ -3181,10 +3511,8 @@ malangdo,129,146,3 script Crime Prevention Staff 545,{
close;
}
-/*
malangdo,3,1,3 script Guidance for quest#ml 543,{
- input .@input,1,9999;
- if (.@input != 1854) {
+ if (callfunc("F_GM_NPC",1854,0) < 1) {
mes "[Helper]";
mes "What is this security code?";
mes "Go away!";
@@ -3229,7 +3557,6 @@ malangdo,3,1,3 script Guidance for quest#ml 543,{
close;
}
}
-*/
// Clean the Ship :: mal_day_qook
//============================================================
@@ -3527,7 +3854,7 @@ mal_in02,76,63,7 script Cleanyang 544,{
mes "He still hide them that place.";
next;
mes "[Cleanyang]";
- mes "It is so easy because I don't have to search everywhere, but";
+ mes "It is so easy because I don't have to search everywhere, but...";
mes "Please search the 9 spot where hiding frequently.";
close;
}
@@ -3601,7 +3928,7 @@ mal_in02,76,63,7 script Cleanyang 544,{
mes "He still hide them that place.";
next;
mes "[Cleanyang]";
- mes "It is so easy because I don't have to search everywhere, but...";
+ mes "It is so easy because I don't have to search everywhere, but";
mes "please search the 9 spot where hiding frequently.";
close;
case 3:
@@ -4481,13 +4808,13 @@ malangdo,211,203,4 script [Meow Team] Charo#nya_11 560,{
close;
}
if (nyadven == 0) {
- mes "There are gathered cats who seems younger than other crews.";
+ mes "There are cats who seem younger than the other crew.";
mes "They are having a serious conversation about the weird machine in front of them.";
close;
} else if (nyadven == 1) {
- mes "There are gathered cats who seems younger than other crews.";
+ mes "There are cats who seem younger than the other crew.";
mes "They are having a serious conversation about the weird machine in front of them.";
- mes "They are looks like kids who Rato told me.";
+ mes "They look like the kids that Rato told me about.";
next;
switch(select("Just watch them without a word.:Busy right now.")) {
case 1:
@@ -4880,7 +5207,7 @@ malangdo,215,201,3 script [Meow Team] Roku#nya_10 553,{
close;
}
if (nyadven < 2) {
- mes "A young black cat helps a busy white cat.";
+ mes "A young black cat helps the busy white cat.";
mes "Maybe the machine is broken.";
close;
} else if (nyadven == 2) {
@@ -6180,6 +6507,4002 @@ mal_in02,109,62,4 script Picky Crew#nyaong03 545,{
close;
}
+// Cat Gamers :: mal_gamer
+//============================================================
+mal_in01,31,210,2 script Cat Gamers Director 549,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (BaseLevel < 60) {
+ mes "A gentle looking cat is whispering to himself.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hello... Mr. Cat...";
+ next;
+ mes "The cat takes a glance at you and goes back to his whispering as if he didn't even see you.";
+ next;
+ mes "It seems you are not being considered worth talking to.";
+ close;
+ }
+ if (malang_gamer == 0) {
+ mes "A gentle looking cat is whispering to himself.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Man! 10 losses in a row...";
+ emotion e_sigh;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "We are the 'Cat Gamers' Association.";
+ mes "But, we still keep on losing and we have no idea why!";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "We've got to find out the reason for this losing streak.";
+ set malang_gamer,1;
+ next;
+ mes "You are getting interested in the cat's story. Let's hear more.";
+ close;
+ } else if (malang_gamer == 1) {
+ mes "[Cat Gamers Director]";
+ mes "The reason, yes!";
+ mes "This can be one of them.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "^DD2234Giving up so many points!^000000";
+ mes "That's right. No matter how much you score,";
+ mes "we will still lose if we give up so many points.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "For the other reason. Hmm!";
+ mes "This could be related with the previous reason.";
+ mes "No ^DD2234aggresive point betting^000000 at all.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Other teams bet on games that they think will win, and bet low when they are not confident.";
+ mes "I guess we didn't know that.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Hmm, can this be a reason?";
+ mes "For some reason there were ^DD2234players disappearing right before the match up^000000 and I guess this could have effected our game spirit.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Hmm... So the reason of our losing streak will be,";
+ mes "giving up too many points;";
+ mes "aggressive point betting;";
+ mes "and players disappearing?";
+ set malang_gamer,2;
+ next;
+ mes "It seems like the gentle looking cat has finished thinking. Let's interrupt the conversion.";
+ close;
+ } else if (malang_gamer == 2) {
+ mes "[Cat Gamers Director]";
+ mes "Now that I know the reason,";
+ mes "there should be a solution to that.";
+ emotion e_hmm;
+ next;
+ select("Umm... Mr. Cat...");
+ mes "[Cat Gamers Director]";
+ mes "Who's there? Human? You are a human?";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "... ... ... ...";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Oh! Yes! Right!";
+ mes "I remember hearing that";
+ mes "humans have started passing through here recently.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "So good to see you!!";
+ mes "What is your name by the way?";
+ emotion e_gasp;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "My name is "+strcharinfo(0)+", Mr. Cat.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Oh, ^0000FF"+strcharinfo(0)+"^000000.";
+ mes "How may I help you?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Actually I wanted to help you out since I heard that you've lost 10 games in a row...";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Well, you didn't really have to point it out like that...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "A weakness is no longer a weakness when you say it out loud.";
+ emotion e_no1,1;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Hahahaha I like that phrase.";
+ mes "I should remember it and";
+ mes "tell it to my kids. Heh~";
+ next;
+ if (Sex == 0)
+ setarray .@sex$[0],"Mr.","boy";
+ else
+ setarray .@sex$[0],"Miss","girl";
+ mes "[Cat Gamers Director]";
+ mes "I like you, "+.@sex$[0]+" "+strcharinfo(0)+". Will you help us get out of this 10 game losing streak? Ehehe~";
+ next;
+ switch(select("Sorry, I'm a stupid "+.@sex$[1]+".:Sure, I'm a cool "+.@sex$[1]+".")) {
+ case 1:
+ mes "[Cat Gamers Director]";
+ mes "Guess I was wrong about you~";
+ mes "How can a person call themself stupid.";
+ mes "Now I can see how stupid you are.";
+ mes "Good bye~";
+ emotion e_hmm;
+ close;
+ case 2:
+ mes "[Cat Gamers Director]";
+ mes "Wow. I respect you, "+strcharinfo(0)+".";
+ mes "Let me ask you a favor.";
+ mes "Please meet the hard working Manager Cat and ask about our team's attitude these days.";
+ set malang_gamer,3;
+ setquest 5058;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "The Manager Cat must be around here somewhere~";
+ close;
+ }
+ } else if (malang_gamer == 3) {
+ mes "[Cat Gamers Director]";
+ mes "Please meet the hard working";
+ mes "Manager Cat, and ask about our team's attitude these days.";
+ mes "The Manager Cat must be around here somewhere~";
+ close;
+ } else if (malang_gamer == 4) {
+ mes "[Cat Gamers Director]";
+ mes "Ok Ok. So what did the manager cat say about the atmosphere these days?~";
+ emotion e_what;
+ next;
+ mes "You tell him exactly what the Manager Cat said.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "The manager cat said...";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Do not hesitate... Just tell me everything~";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Umm... the player cats are afraid of you...";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "What... What did you say?";
+ emotion e_omg;
+ next;
+ mes "Cat Gamers Director seems to be in shock. Let's give him some time to calm down.";
+ set malang_gamer,5;
+ erasequest 5059;
+ setquest 5060;
+ close;
+ } else if (malang_gamer == 5) {
+ if (checkquest(5060,PLAYTIME) == 0 || checkquest(5060,PLAYTIME) == 1) {
+ mes "Cat Gamers Director seems to be in shock. Let's give him some time to calm down.";
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "That is impossible!";
+ mes "There is no other cat that's nicer than I am!";
+ emotion e_sob;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Am I really that scary?";
+ mes "Are those players who bailed on the practice afraid of me too?";
+ emotion e_swt2;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "It can't be, right? ehehehehe~";
+ next;
+ mes "- He laughs nervously. -";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Is that the truth?";
+ next;
+ mes "[Cat Gamers Director]";
+ mes strcharinfo(0)+", will you help me out?";
+ mes "There are 4 players who ran away from practice saying they were too tired.";
+ mes "Could you check if they ran away because of me? ehehehe~";
+ emotion e_what;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Their names are Eryu, Stew, Ketchup, and Eff.";
+ mes "They've got to be somewhere around here.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Please find them all~";
+ mes "But, don't ask too directly! Ok?";
+ mes "Just ask them gentle questions~";
+ mes "Ok? Be! Gentle!";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "I appreciate your help, "+strcharinfo(0)+". heh~";
+ set malang_gamer,6;
+ erasequest 5060;
+ setquest 5061;
+ close;
+ } else if (malang_gamer == 6) {
+ if (checkquest(5062) == 2 && checkquest(5063) == 2 && checkquest(5064) == 2 && checkquest(5065) == 2) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It seems some humans are scamming cats around this town.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "What good is it to scam innocent cats?~";
+ emotion e_gg;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Yes, I think that you're right.";
+ emotion e_hmm,1;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Oh, so you met Eryu, Stew, Ketchup, and Eff.";
+ mes "It is so good to see you again. Heh~";
+ mes "Thank you very much for your effort~. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "So what did they say?";
+ mes "They really think I am scary?";
+ next;
+ mes "You tell the Cat Gamers Director what Eryu, Stew, Ketchup, and Eff said.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "They think you push them too much through the practices. So they are scared.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "What? Really?";
+ next;
+ mes "The Cat Gamers Director seems to be shocked once again. Better give him more time to calm down.";
+ set malang_gamer,7;
+ erasequest 5061;
+ setquest 5060;
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "Their names are Eryu, Stew, Ketchup, and Eff.";
+ mes "They've got to be somewhere around here.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Please find them all~";
+ mes "But, don't ask too directly! Ok?";
+ mes "Just ask them gentle questions~";
+ mes "Ok? Be! Gentle!";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "I appreciate your help, "+strcharinfo(0)+". heh~";
+ close;
+ } else if (malang_gamer == 7) {
+ if (checkquest(5060,PLAYTIME) == 0 || checkquest(5060,PLAYTIME) == 1) {
+ mes "Cat Gamers Director seems to be in shock once again. Better give more time to calm down.";
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "Ok, I understand.";
+ mes "I was a scary cat after all.";
+ mes "This can't be right!! Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "I need to change my scary cat image. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "This is my mission now,";
+ mes "so our team can improve";
+ mes "game performance. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Please go meet our manager cat,";
+ mes "and find out how can I change";
+ mes "this scary cat image of mine. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I would much appreciate your help, "+strcharinfo(0)+"~.";
+ set malang_gamer,8;
+ erasequest 5060;
+ setquest 5066;
+ close;
+ } else if (malang_gamer == 8) {
+ mes "[Cat Gamers Director]";
+ mes "Please ask our manager cat how can I change this scary cat image.";
+ mes "Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Please help me out,";
+ mes strcharinfo(0)+"! Heh~";
+ close;
+ } else if (malang_gamer == 9) {
+ mes "[Cat Gamers Director]";
+ mes "You came back!! Heh~";
+ mes "So, what did our manager cat say?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Manager cat asked to prepare a box.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "A box? Heh~ Sure, why not?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Are you going to ask me what is it for?";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Well, I kind of was eavesdropping when "+strcharinfo(0)+" and Manager Cat were talking together. Heh~";
+ emotion e_heh;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "............";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Now I need to check with our players, see how they really feel.";
+ mes "Heh~ Why don't you come back tomorrow?";
+ mes "Heh~ Let me decide what to do after checking their honest petition letters. Heh~";
+ set malang_gamer,10;
+ erasequest 5067;
+ setquest 5068;
+ close;
+ } else if (malang_gamer == 10) {
+ if (checkquest(5068,PLAYTIME) == 0 || checkquest(5068,PLAYTIME) == 1) {
+ mes "[Cat Gamers Director]";
+ mes "Still receiving petition letters. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "I wonder what they really want to say~ Heh~";
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "Heh~ All done with collecting petition letters~";
+ mes "Heh~ Let's see what they wrote here?";
+ next;
+ mes "Reading...~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Let me see... 'Stupid Cat lea...de...'";
+ emotion e_an;
+ next;
+ mes "- Crumpling the paper -";
+ mes "Cat Gamers Director has crumpled the paper and thrown it away.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Wrong paper.";
+ mes "Let's read another one... Heh~";
+ next;
+ mes "~Reading~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Here we go.";
+ mes "'I don't like playing with the same team members over and over.";
+ mes "Please pick new team members,";
+ mes "or get me a practicing partner.'";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I see.";
+ mes "I can take this positively.";
+ mes "Heh~ Let's move on to another one.";
+ emotion e_ok;
+ next;
+ mes "~Reading~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~";
+ mes "'We need more snacks~ Get us some more snacks~'";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ This one also sounds productive.";
+ mes "Heh~ Petition letters are good, I guess... Heh~";
+ emotion e_ok;
+ next;
+ mes "Reading...~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~";
+ mes "'Elders are bullying me. Help me...'";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Our team is absolutely";
+ mes "like a family here~ Someone is";
+ mes "playing here, you know. Heh~";
+ emotion e_gasp;
+ next;
+ mes "Reading...~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ There are only 4 letters!";
+ mes "Including a prank one...";
+ mes "Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Everyone seems to have a satisfied team life~ Heh~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Not... Really...";
+ next;
+ mes "There are tons of letters piled in the back of the box, but Cat Gamers Director doesn't want to admit the problem.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~";
+ mes "Hey, "+strcharinfo(0)+". What did you say? Heh~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Nothing! Please carry on.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Because of what these players want,";
+ mes "I have a favor to ask you, "+strcharinfo(0)+"...";
+ mes "Heh~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "What is it?";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Will you be our players' practicing partner?";
+ mes "Heh~ I feel strongly that you, "+strcharinfo(0)+", can be trusted for this. Heh~";
+ next;
+ switch(select("No thanks, buddy!:Ok, I'll do it!")) {
+ case 1:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Are you rejecting me? Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "I'm sad. Sad~ Heh~";
+ mes "I didn't expect a refusal from a person like you, "+strcharinfo(0)+".";
+ mes "But still, here's some coins for you~";
+ mes "Heh~";
+ emotion e_sob;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "We will always welcome you, "+strcharinfo(0)+", as a guest member of the Cat Gamers.";
+ mes "Heh~";
+ set malang_gamer,11;
+ erasequest 5068;
+ getitem 6422,100; //Egrade_Coin
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Please come back if you change your mind.";
+ close;
+ case 2:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Good choice.";
+ mes "I knew you would help us Cat Gamers... Heh~";
+ emotion e_no1;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Thank you for your help.";
+ mes "Heh~ Here are some coins as a small gift... Heh~";
+ mes "Get yourself some goodies. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Since you will be our team's practicing partner, please come back in an hour.";
+ mes "Then I will give you our '^0000FFCat Gamers Certificate^000000'.";
+ mes "Heh~";
+ set malang_gamer,12;
+ erasequest 5068;
+ setquest 5069;
+ getitem 6422,100; //Egrade_Coin
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Ok, "+strcharinfo(0)+". I will see you in an hour. Heh~";
+ close;
+ }
+ } else if (malang_gamer == 11) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~";
+ mes "Aren't you "+strcharinfo(0)+"?";
+ mes "Have you changed your mind yet?";
+ mes "Are you willing to be our team's practicing partner?";
+ next;
+ switch(select("No, I'm just passing through.:I accept your offer.")) {
+ case 1:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I see.";
+ mes "But, let me tell you once again, "+strcharinfo(0)+".";
+ mes "You are always welcome to be one of our 'Cat Gamers Honorable Members'.";
+ mes "Heh~";
+ close;
+ case 2:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ At last!!";
+ mes strcharinfo(0)+" will become our honorable member!!";
+ mes "I shall make a '^0000FFCat Gamers Certificate^000000' right away. Heh~";
+ emotion e_ho;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Come back in an hour and I will get you a '^0000FFCat Gamers Certificate^000000'.";
+ mes "Heh~";
+ set malang_gamer,12;
+ setquest 5069;
+ close;
+ }
+ } else if (malang_gamer == 12) {
+ if (checkquest(5069,PLAYTIME) == 0 || checkquest(5069,PLAYTIME) == 1) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ You want to get the '^0000FFCat Gamers Certificate^000000' faster. Heh~ It's not really easy to get such a certificate easily.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "So, it's a bit tricky... Heh~ Please come later. Heh~";
+ emotion e_ho;
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I got a message from the workshop that their work on the certificate is done. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "This is not some ordinary certificate. Heh~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "What do you mean?";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ This is...";
+ next;
+ mes "The Cat Gamers Director's eyes are shining with pride.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ The pure essence of the 'Cat Gamers' tech team's effort!!";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Equip this item, then all of your game playing records will be saved. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Take this and show us what you've got.";
+ erasequest 5069;
+ set malang_gamer,20;
+ getitem 2872,1; //G_Honor_Certificate
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I may be worrying too much... But, please wear this '^0000FFCat Gamers Certificate^000000', and play the game. Heh~";
+ close;
+ } else if (malang_gamer == 20) {
+ // fall through
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "This is not possible. Please contact an administrator.";
+ close;
+ }
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Hello, "+strcharinfo(0)+". How is it going practicing with the players?";
+ emotion e_what;
+ next;
+ switch(select("How are the players doing?:Just stopped by to say hi~:Here's the current status...")) {
+ case 1:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Wow, "+strcharinfo(0)+"! I'm so touched by your care for the players.";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ For 13 years of my life, I've never seen anyone like you, "+strcharinfo(0)+". Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ "+strcharinfo(0)+", which player's condition are you interested in?";
+ next;
+ switch(select("Rock Paper Scissors players:ChamChamCham players:KongNyangKong players:Flag Game players")) {
+ case 1:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Rock Paper Scissors players are missing practices occasionally, but they are still getting better. Heh~";
+ break;
+ case 2:
+ mes "[Cat Gamers Director]";
+ mes "ChamChamCham players are actually complaining about the practice because you are doing so well with them, very hard to remember the winner. Heh~";
+ break;
+ case 3:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ KongNyangKong players are so happy with the practice. Heh~";
+ break;
+ case 4:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Flag Game players are always nervous since you make them work so much. Heh~ But, they are really getting better. Heh~";
+ break;
+ }
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Please keep up the good work, "+strcharinfo(0)+". Heh~";
+ close;
+ case 2:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Hello there~ "+strcharinfo(0)+". You have such good manners~ Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ These days, there are so many cats and humans without proper manners. Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "We also have some of thme in our 'Cat Gamers'. They are so arrogant every time we win the game... Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ There should be more people like you, "+strcharinfo(0)+". Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Please practice with our players more often~ Heh~ So they can learn some manners from you, "+strcharinfo(0)+". Heh~";
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Keep up the good work~ Heh~";
+ close;
+ case 3:
+ mes "[Cat Gamers Director]";
+ mes "Heh~ What happened to your face, "+strcharinfo(0)+"? Guess you lost from the practice, right? Heh~";
+ emotion e_gg;
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ I saw players puting notes in the 'Petition box'. Heh~ Guess that was your work. Let me see...";
+ next;
+ break;
+ }
+
+ // Detect quest (ID range 5074~5090)
+ mes "[Cat Gamers Director]";
+ if (checkquest(5074,HUNTING) > -1) {
+ mes "Heh~ It's not like I didn't feed them right... Heh~ I hope it was not too much for you, "+strcharinfo(0)+".";
+ next;
+ if (checkquest(5074,HUNTING) == 2 && countitem(1023) >= 10) {
+ delitem 1023,10; //Fish_Tail
+ callsub L_CompleteQuest,5074,
+ "Heh~ So, you brought 30 Phens and 10 Fish Tails, just as ordered.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says in the note to bring 30 Phens and 10 Fish Tails. Heh~ Maybe you didn't catch enough Phens, or forgot some Fish Tails? Heh~";
+ close;
+ }
+ } else if (checkquest(5075,HUNTING) > -1) {
+ mes "Heh~ Hmm, 50 Marses, and 30 Milk Bottles... Heh~";
+ next;
+ if (checkquest(5075,HUNTING) == 2 && countitem(519) >= 30) {
+ delitem 519,30; //Milk
+ callsub L_CompleteQuest,5075,
+ "Heh~ Guess they wanted some healthy food. Heh~ They should have just told me... Let me show you my skills. Heh~";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ But, where are 50 Marses and 30 Milk Bottles? Heh~ Please see if you haven't missed them...";
+ close;
+ }
+ } else if (checkquest(5076,HUNTING) > -1) {
+ mes "Heh~ Our team must have some grudge over Team 'Dog n Waltz', enough to ask you for this kind of favor...";
+ next;
+ if (checkquest(5076,HUNTING) == 2) {
+ callsub L_CompleteQuest,5076,
+ "Heh~ So you have finished harassing 30 Kobold Archers as noted. Heh~ Outstanding.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says on the note, harass 30 Kobold Archers. Heh~ Please check if you have harassed 30 of them already.";
+ close;
+ }
+ } else if (checkquest(5077,HUNTING) > -1) {
+ mes "Heh~ Ah, quickness training. It's good to see our players trying their best on training.";
+ mes "Heh~ Yes, nothing is better than mouse catching for improving quickness.";
+ next;
+ if (checkquest(5077,HUNTING) == 2) {
+ callsub L_CompleteQuest,5077,
+ "Heh~ Oh, you got some fresh and chubby Cramps. Heh~ Great.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh? Where are those 10 Cramps you promised? Heh~ You didn't eat them... did you?";
+ close;
+ }
+ } else if (checkquest(5078,HUNTING) > -1) {
+ mes "Heh~ '50 Peco Peco please!! Let's party.' Hmm... Heh~ 50 Pecos can feed all of our neighbors.";
+ next;
+ if (checkquest(5078,HUNTING) == 2) {
+ callsub L_CompleteQuest,5078,
+ "Heh~ Wow, you did bring 50 Peco Pecos. Heh~ I guess we'll really have a party this evening.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Where are those Peco Pecos? Still not ready? Heh~";
+ close;
+ }
+ } else if (checkquest(5079) > -1) {
+ mes "Heh~ Hmm... let me see... Heh~ That's right, I was worrying about our team getting so nervous before the actual game... But, they won't even talk to me about it.";
+ next;
+ if (countitem(7038) >= 20) {
+ delitem 7038,20; //Yarn
+ callsub L_CompleteQuest,5079,
+ "Heh~ How could I miss that? I shall give some to my team for sure.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Where are those 20 yarns? It says 20 on the note, right...? Please check if you have lost them somewhere.";
+ close;
+ }
+ } else if (checkquest(5080) > -1) {
+ mes "Heh~ The note says, get me 30 Rat Tails for a snack.";
+ next;
+ if (countitem(1016) >= 30) {
+ delitem 1016,30; //Rat_Tail
+ callsub L_CompleteQuest,5080,
+ "Heh~ I think I've fed them good snacks... Didn't I? Lately I was little busy, they should have some patience... Heh~ Poor manager...";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Where are those 30 Rat Tails? Please check and come back later.";
+ close;
+ }
+ } else if (checkquest(5081) > -1) {
+ mes "Heh~ It says 5 on the note... 5 of what? What?! Lemons?";
+ next;
+ if (countitem(568) >= 5) {
+ delitem 568,5; //Lemon
+ callsub L_CompleteQuest,5081,
+ "Heh~ Lemon is forbidden before the actual game... heh? They won't eat it at game time, right? Heh~";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Let's just get 5 Lemons for them, will you? Heh~ I am still not sure where they want to use them...";
+ close;
+ }
+ } else if (checkquest(5082) > -1) {
+ mes "Heh~ Give us 10 Ice Pieces or 10 Ice Creams!! Heh~ I personally prefer Ice Cream, just so you know.";
+ next;
+ if (countitem(7066) >= 10) {
+ delitem 7066,10; //Ice_Piece
+ callsub L_CompleteQuest,5082,
+ "Heh~ Oh, you brought Ice Pieces. Heh~ The players will love it.";
+ } else if (countitem(536) >= 10) {
+ delitem 536,10; //Ice_Cream
+ callsub L_CompleteQuest,5082,
+ "Heh~ Oh, you brought Ice Creams. Heh~ The players will love it.";
+ } else {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Where are the Ice Pieces or Ice Creams? You should get them before they melt...";
+ close;
+ }
+ } else if (checkquest(5083) > -1 || checkquest(5084) > -1) {
+ mes "Heh~ Here, I found the note from our team. Heh~";
+ next;
+ if (checkquest(5083) > -1) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says 'We will meet Eryu together.'. Heh~ Have you met Eryu already? I don't think so... Heh~";
+ close;
+ } else {
+ callsub L_CompleteQuest,5084,
+ "Heh~ Oh, you did meet Eryu. Heh~ I will lecture them later for making you work too much... Heh~";
+ }
+ } else if (checkquest(5085) > -1 || checkquest(5086) > -1) {
+ mes "Heh~ Here, I found the note from our team. Heh~";
+ next;
+ if (checkquest(5085) > -1) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says 'We will meet Stew together.'. Heh~ Have you met Stew already? I don't think so... Heh~";
+ close;
+ } else {
+ callsub L_CompleteQuest,5086,
+ "Heh~ Oh, you did meet Stew. Heh~ I will lecture them later for making you work too much... Heh~";
+ }
+ } else if (checkquest(5087) > -1 || checkquest(5088) > -1) {
+ mes "Heh~ Here, I found the note from our team. Heh~";
+ next;
+ if (checkquest(5087) > -1) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says 'We will meet Ketchup together.'. Heh~ Have you met Ketchup already? I don't think so... Heh~";
+ close;
+ } else {
+ callsub L_CompleteQuest,5088,
+ "Heh~ Oh, you did meet Ketchup. Heh~ I will lecture them later for making you work too much... Heh~";
+ }
+ } else if (checkquest(5089) > -1 || checkquest(5090) > -1) {
+ mes "Heh~ Here, I found the note from our team. Heh~";
+ next;
+ if (checkquest(5089) > -1) {
+ mes "[Cat Gamers Director]";
+ mes "Heh~ It says 'We will meet Eff together.'. Heh~ Have you met Eff already? I don't think so... Heh~";
+ close;
+ } else {
+ callsub L_CompleteQuest,5090,
+ "Heh~ Oh, you did meet Eff. Heh~ I will lecture them later for making you work too much... Heh~";
+ }
+ }
+ mes "[Cat Gamers Director]";
+ mes "Heh?! There's no favor note for you, "+strcharinfo(0)+". Heh~ What do you want to report? Heh~";
+ close;
+
+// callsub L_CompleteQuest,<quest ID>,"<message>";
+L_CompleteQuest:
+ erasequest getarg(0);
+ getitem 12636,3; //Malang_Sp_Can
+ mes "[Cat Gamers Director]";
+ mes getarg(1);
+ next;
+ mes "[Cat Gamers Director]";
+ mes "Heh~ Thanks for coming by, "+strcharinfo(0)+". Heh~ Keep up the good work. Heh~";
+ emotion e_thx;
+ close;
+}
+
+malangdo,127,111,4 script Strange Cat#gamer 547,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (malang_gamer < 3) {
+ mes "[Strange Cat]";
+ mes "Meow~ Meo~ Ow Ow~ Meow Meo~ Eow Eow~";
+ next;
+ mes "Some strange cat is here.";
+ close;
+ } else if (malang_gamer == 3) {
+ mes "[Manager Cat]";
+ mes "Meow~ Meo~ Ow Ow~ Meow Meo~ Eow Eow~";
+ next;
+ mes "[Manager Cat]";
+ mes "What do you want?";
+ emotion e_what;
+ next;
+ set .@cat_gam, rand(1,10);
+ select("Ask about the team's attitude...");
+ if (.@cat_gam == 5) {
+ mes "[Manager Cat]";
+ mes "Do not lie to me! How can I trust you and reveal our team secret? Aren't you a spy from the doggy team?";
+ emotion e_ag;
+ next;
+ select("Aww, come on...");
+ mes "You play with a foxtail nearby and then ask again.";
+ next;
+ select("Cat Gamers Director says...");
+ mes "The Manager Cat seems to be interested in the foxtail and starts answering.";
+ emotion e_awsm;
+ next;
+ mes "[Manager Cat]";
+ mes "Players are afraid of the Cat Gamers Director. When they see Cat Gamers Director at the game, they get nervous.";
+ emotion e_lv;
+ next;
+ mes "[Manager Cat]";
+ mes "Can you give me that?";
+ set malang_gamer,4;
+ erasequest 5058;
+ setquest 5059;
+ next;
+ mes "You hand the foxtail to the Manager Cat. Go back to the Cat Gamers Director.";
+ close;
+ } else {
+ mes "[Manager Cat]";
+ mes "Don't lie to me!";
+ mes "Why should I trust you,";
+ mes "and give our team information?";
+ mes "Aren't you a spy from doggy team...?";
+ mes "Go away.";
+ emotion e_ag;
+ next;
+ mes "This cat might hit you.";
+ close;
+ }
+ } else if (malang_gamer < 8) {
+ mes "The Manager Cat is playing with the foxtail you gave him.";
+ mes "He seems to be liking it...";
+ emotion e_lv;
+ close;
+ } else if (malang_gamer == 8) {
+ mes "The Manager Cat is playing with the foxtail you gave him.";
+ mes "He seems to be liking it...";
+ emotion e_lv;
+ next;
+ switch(select("Help~ Fire~:Hey~!:Do you want to hear something?")) {
+ case 1:
+ mes "[Manager Cat]";
+ mes "Don't lie~ We don't use fire that much~";
+ emotion e_an;
+ next;
+ break;
+ case 2:
+ mes "The Manager Cat ignores you, and keeps on playing with the foxtail.";
+ emotion e_lv;
+ close;
+ case 3:
+ mes "[Manager Cat]";
+ mes "Meow~ I want to tell you a story~ Follow me meow~ Let talk over there, meow~";
+ emotion e_gg;
+ next;
+ break;
+ }
+ mes "["+strcharinfo(0)+"]";
+ mes "Haha, I was just kidding. I actually need to tell you that the Cat Gamers Director has an issue...";
+ emotion e_swt2,1;
+ next;
+ mes "You explain the story to the Manager Cat.";
+ emotion e_swt2,1;
+ next;
+ mes "[Manager Cat]";
+ mes "Scary image... Meow, I understand... Cat Gamers Director should feel peace by giving up things.";
+ emotion e_hmm;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "... ... ...";
+ emotion e_dots,1;
+ next;
+ mes "[Manager Cat]";
+ mes "Meow! Go tell him this, meow~ Prepare a box, meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "A box?";
+ emotion e_what,1;
+ next;
+ mes "[Manager Cat]";
+ mes "Petition it is, meow!! There is some place where humans do such things, I think it will help us~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ok, I will go tell it to the Games Director~";
+ emotion e_ok,1;
+ set malang_gamer,9;
+ erasequest 5066;
+ setquest 5067;
+ close;
+ } else if (malang_gamer == 9) {
+ mes "[Manager Cat]";
+ mes "You tell the Cat Gamers Director to prepare a Box for sure!~ I will tell this to my team, meow.";
+ close;
+ } else if (malang_gamer == 10) {
+ mes "[Manager Cat]";
+ mes "The players are excited and writing a bunch of things for the petition box... I wonder what they are writing.";
+ close;
+ } else if (malang_gamer == 11) {
+ mes "[Manager Cat]";
+ mes "You won't help practice? If you help, the Cat Gamers Director will give you food cans... Please reconsider!";
+ close;
+ } else if (malang_gamer == 12) {
+ mes "[Manager Cat]";
+ mes "Meow~ Aren't you "+strcharinfo(0)+"? I heard Cat Gamers Director ordered a special certificate, meow~";
+ next;
+ mes "[Manager Cat]";
+ mes "When practicing, you must equip the '^0000FFCat Gamers Certificate^000000' item~ Don't forget, meow~";
+ close;
+ } else if (malang_gamer == 20) {
+ // fall through
+ } else {
+ mes "[Manager Cat]";
+ mes "This is not possible. Please contact an administrator.";
+ close;
+ }
+ mes "[Manager Cat]";
+ mes "What do you want meow?";
+ next;
+ switch(select("Hi.:Any news?:Help me with playing.")) {
+ case 1:
+ mes "[Manager Cat]";
+ mes "Oh, hi meow~";
+ emotion e_heh;
+ close;
+ case 2:
+ switch(rand(1,7)) {
+ case 1:
+ mes "[Manager Cat]";
+ mes "I tell you this meow~ You don't know Cat Gamers Director's feeling meow~.";
+ next;
+ mes "[Manager Cat]";
+ mes "lol? >> Curious, Admire";
+ mes "Heh~ >> Normal";
+ mes "lol Heh~ >> Happy";
+ mes "lol lol Heh~ >> Crazy meow";
+ emotion e_ok;
+ close;
+ case 2:
+ mes "[Manager Cat]";
+ mes "But, why are you asking me meow? Strange meow...";
+ close;
+ case 3:
+ mes "[Manager Cat]";
+ mes "Some cats use 'meow meow' like me when talking, but some don't.";
+ close;
+ case 4:
+ mes "[Manager Cat]";
+ mes "Cats don't have an honorific phrase, so don't get us wrong as looking down on you meow.~";
+ close;
+ case 5:
+ mes "[Manager Cat]";
+ mes "You should walk around many places and ask for information meow... But, don't bother me please meow~";
+ close;
+ case 6:
+ case 7:
+ mes "[Manager Cat]";
+ mes "No easy way for that... I just breathe meow...";
+ close;
+ }
+ case 3:
+ mes "[Manager Cat]";
+ mes "What game do you want to play?";
+ mes "'Cat Gamers' has players for 4 types of games meow~";
+ mes "The Cat Gamers Director said he will challenge other games later~";
+ next;
+ switch(select("Rock Paper Scissors:KongNyangKong:ChamChamCham:Flag Game")) {
+ case 1:
+ mes "[Manager Cat]";
+ mes "Rock Paper Scissors meow? Nothing special...";
+ next;
+ mes "[Manager Cat]";
+ mes "Scissor beats Paper, meow.";
+ mes "Rock beats Scissors, meow.";
+ mes "Paper beats Rock, meow.";
+ mes "These are basic rules.";
+ next;
+ mes "[Manager Cat]";
+ mes "You play 5 Rock Paper Scissors games with player cats meow.";
+ mes "You play again when you are even meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You can get a present after 3 times of winning meow.";
+ mes "And you get a big present when you win all 5 matches, meow!!";
+ next;
+ mes "[Manager Cat]";
+ mes "Find Paa or Ser if you want to play the Rock Paper Scissors game.";
+ close;
+ case 2:
+ mes "[Manager Cat]";
+ mes "KongNyangKong is not an easy game meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "When attacking, face your hand the same direction as the opponent meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "When defending, you should face your hand the opposite direction from the opponent meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "If the attack is a success, you can keep on attacking.";
+ mes "But, if you fail, you have to defend meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "If you be careful, you can win without getting hit at all meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "Once you make your opponent's HP 0, you win meow.";
+ mes "Of course there will be a present meow.";
+ mes "Good luck meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "Oh~ right meow~!! Find KungKung if you want to play KongNyangKong.";
+ close;
+ case 3:
+ mes "[Manager Cat]";
+ mes "ChamChamCham is a high level mind game meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "The rules are simple, but you need to think a lot meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You should direct your hand to where the cat turns its face meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "A present is given for 3 wins in a row meow.";
+ mes "The more wins, the more presents meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "Kuka is smart, and remembers players with many wins meow.";
+ mes "There will be more presents when you take 1st place meow.";
+ close;
+ case 4:
+ mes "[Manager Cat]";
+ mes "Flag Game is way harder than ChamChamCham game meow.";
+ mes "Really~ Really~ Really~";
+ mes "hard mind game meow.";
+ mes "It's 1,000 times harder meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You get 5 Flag Point when starting meow.";
+ mes "1 point goes away when you wave the flag once meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You win the game when no other cats are waving flags meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You can predict if other cats will wave their flags or not meow.";
+ mes "By looking at their actions meow.";
+ next;
+ mes "[Manager Cat]";
+ mes "You must win to get presents meow.";
+ mes "You will get more presents since this is hard game meow~";
+ next;
+ mes "[Manager Cat]";
+ mes "If you want to play Flag Game meow~";
+ mes "Go find the other manager cat who is trying to get the Referee Certificate meow.";
+ close;
+ }
+ }
+}
+
+malangdo,161,197,4 script Eryu#gamer 876,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (checkquest(5061) == 0 || checkquest(5061) == 1) {
+ if (checkquest(5062) == -1) {
+ mes "You found Eryu the cat, and start talking.";
+ next;
+ mes "[Eryu]";
+ mes "Umm... Who are you?";
+ next;
+ switch(select("The Games Director sent me.:I am a writer for the 'Human' magazine.:Who are you?")) {
+ case 1:
+ mes "[Eryu]";
+ mes "Arrgg. Go away...";
+ mes "I don't know who you're talking about.";
+ emotion e_an;
+ break;
+ case 2:
+ mes "[Eryu]";
+ mes "Umm? 'Human' magazine?";
+ mes "Is there such a thing?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "We've been publishing for 10 years.";
+ mes "But, I guess it is possible for cats to not know who we are.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "We are a really famous magazine throughout the World!";
+ mes "Don't you believe me?";
+ next;
+ mes "[Eryu]";
+ mes "Hmm... ok. But, what can I do for you?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I am in the middle of writing an article named 'Game Playing Cats'...'";
+ mes "It is a special piece for me.";
+ mes "And some team named umm... do... umm... wal... not sure...";
+ next;
+ mes "[Eryu]";
+ mes "'Dog n Waltz'?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Oh! Yes!";
+ mes "One of players there 'Dog n Waltz' has recommended Eryu for an interview.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "He says you are a really good player who can help me with the article.";
+ next;
+ mes "[Eryu]";
+ mes "I don't remember anyone from 'Dog n Waltz' that much.";
+ emotion e_dots;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "The person isn't important.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Just answer a few questions for me, ok?";
+ mes "Be yourself and you'll do just fine.";
+ mes "Ok, first question: How much do you practice a day?";
+ emotion e_what,1;
+ next;
+ mes "[Eryu]";
+ mes "Usually for about 8 hours, but I have to tell you that I'm not on the team anymore...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Wait, what?";
+ mes "You are not with the team now? How come...?";
+ emotion e_omg,1;
+ next;
+ mes "[Eryu]";
+ mes "Well...";
+ mes "The Director Cat was too scary...";
+ mes "I was very sick and had to take a day off...";
+ mes "Just one freaking day...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "And...?";
+ next;
+ mes "[Eryu]";
+ mes "And then the Director Cat was raging at me!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hmm, sounds pretty rough.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "'Cat Gamers' has lost another great player.";
+ mes "I'm sorry to hear that you're not on the team anymore.";
+ mes "I guess this is the end of the interview.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Because this is for current players only.";
+ next;
+ mes "[Eryu]";
+ mes "Oh...";
+ mes "Sorry to make you waste your time.";
+ emotion e_sry;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Oh, don't worry.";
+ mes "I should say sorry for taking up your precious time.";
+ mes "Have a nice day.";
+ next;
+ mes "You found out the reason why Eryu left the team.";
+ mes "Time to go find the other cats.";
+ setquest 5062;
+ completequest 5062;
+ break;
+ case 3:
+ mes "[Eryu]";
+ mes "Yes, I am Eryu! What do you want, huh, meow~";
+ break;
+ }
+ close2;
+ } else if (checkquest(5062) == 2) {
+ mes "[Eryu]";
+ mes "Aren't you the magazine writer?";
+ mes "What brings you here again...?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ah!";
+ mes "Sorry, I was trying to interview another cat...";
+ mes "And came back to you by mistake.";
+ mes "I'm sorry.";
+ emotion e_sry,1;
+ next;
+ mes "[Eryu]";
+ mes "Ah... I see. Take care of yourself.";
+ close2;
+ } else {
+ mes "[Eryu]";
+ mes "This is not possible. Please contact an administrator.";
+ close2;
+ }
+ } else if (checkquest(5083) == 0 || checkquest(5083) == 1) {
+ mes "[Eryu]";
+ mes "Who are you?";
+ next;
+ mes "What do you want to say?";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Come back") {
+ erasequest 5083;
+ setquest 5084;
+ set .@str$, "You've delivered the message, so let's get away.";
+ } else
+ set .@str$, "You didn't deliver the right message, but let's still get away.";
+ mes "[Eryu]";
+ mes "What is this? What do you mean by '"+.@inputstr$+"'...?";
+ mes "Ah... aren't you the writer?";
+ emotion e_an;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh... Who is that..?";
+ next;
+ mes "Eryu seems to recognize you.";
+ mes .@str$;
+ close2;
+ } else if (checkquest(5084) == 0 || checkquest(5084) == 1) {
+ mes "[Eryu]";
+ mes "I think you are the writer...";
+ mes "Hey~ Stop there~";
+ next;
+ mes "You've been found. Let's get away.";
+ close2;
+ } else {
+ if (malang_gamer < 6) {
+ mes "[Eryu]";
+ mes "Dirty 'Cat Gamers'!";
+ mes "I won't go back ever... Who are you?";
+ next;
+ mes "This cat might hit you. Let's get away.";
+ close2;
+ } else {
+ mes "[Eryu]";
+ mes "Aren't you the writer?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh... Who is that..?";
+ next;
+ mes "Eryu seems to recognize you. Let's get away.";
+ close2;
+ }
+ }
+ donpcevent "Eryu#gamer::OnDisable";
+ end;
+OnEnable:
+ enablenpc "Eryu#gamer";
+ disablenpc "Stew#gamer";
+ disablenpc "Ketchup#gamer";
+ disablenpc "Eff#gamer";
+ end;
+OnDisable:
+ switch(rand(3)) {
+ case 0:
+ donpcevent "Stew#gamer::OnEnable";
+ break;
+ case 1:
+ donpcevent "Ketchup#gamer::OnEnable";
+ break;
+ case 2:
+ donpcevent "Eff#gamer::OnEnable";
+ break;
+ }
+ end;
+}
+
+malangdo,230,197,4 script Stew#gamer 555,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (checkquest(5061) == 0 || checkquest(5061) == 1) {
+ if (checkquest(5063) == -1) {
+ mes "You found Stew the cat, and start talking.";
+ next;
+ mes "[Stew]";
+ mes "Meow...? Who are you, meow?";
+ emotion e_what;
+ next;
+ switch(select("The 'Cat Gamers' Manager sent me.:Meow~ Grrr~:I'm with the 'Boom Can' Company.")) {
+ case 1:
+ mes "[Stew]";
+ mes "Stew is not interested meow.";
+ mes "Don't come back again meow~";
+ break;
+ case 2:
+ mes "[Stew]";
+ mes "Stew doesn't have time for crazy people.";
+ break;
+ case 3:
+ mes "[Stew]";
+ mes "'Boom Can' Company, meow?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "You don't know 'Boom Can' food?";
+ mes "You don't eat canned food at all?";
+ mes "Then, I came to the wrong cat.";
+ next;
+ mes "[Stew]";
+ mes "Yes meow~ Stew likes canned food very much meow~";
+ emotion e_lv;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ah! Ok then.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "We, the 'Boom Can' Company, have been servicing for over 10 years, so we are doing a survey for better food production.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Let me ask a few questions.";
+ mes "It is very easy.";
+ next;
+ mes "[Stew]";
+ mes "Ok meow~ Go ahead meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Thank you! We were right about out cat customers with big hearts.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I met dog customers last week and they didn't answer me at all...";
+ mes "And they were so rude~ You know.";
+ next;
+ mes "[Stew]";
+ mes "Dogs are natually like that~";
+ mes "You humans know animals~";
+ emotion e_ok;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Thank you! I'm flattered.~";
+ mes "Ok, let me ask you a few things.";
+ mes "What is your job?";
+ next;
+ mes "[Stew]";
+ mes "Job meow? Stew was a pro gamer meow~";
+ mes "But, Stew quit now meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Well, how did that happen?";
+ mes "You seem to have good skills.";
+ mes "Fast and big hearted, its a pity that you quit already.";
+ next;
+ mes "[Stew]";
+ mes "Meow~ Meow~ Meow~ Yes, Stew was something meow.";
+ mes "If it was not for that Cat Gamers Director scaring me, Stew would still be playing meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "What a bad Director.";
+ next;
+ mes "[Stew]";
+ mes "Not that bad actually meow~";
+ mes "Sometimes.. Stew gets very tired meow.";
+ mes "So, Stew takes it easy while practicing meow.";
+ next;
+ mes "[Stew]";
+ mes "Then the Cat Gamers Director started to get angry and scary meow.";
+ mes "So I quit meow.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ah! I see.";
+ mes "Ok, the survey is over now.";
+ mes "Thank you for your opinion on our survey for the 'Boom Can' company.";
+ emotion e_thx,1;
+ next;
+ mes "[Stew]";
+ mes "Meow? Did you aks anything meow?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I already asked you everything...";
+ mes "Don't you remember?";
+ mes "There were 10 questions!";
+ emotion e_what,1;
+ next;
+ mes "[Stew]";
+ mes "Really meow? Strange meow.";
+ mes "Sorry meow? Don't remember meow.";
+ mes "It didn't felt like an interview meow.";
+ emotion e_sry;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Well you did way better than those dogs.";
+ mes "I don't even want to think about them~ Phew~..";
+ mes "I should get going now.";
+ mes "Have a great day.";
+ next;
+ mes "[Stew]";
+ mes "Really meow? Dogs are always like that meow.";
+ mes "Cats are winners meow~";
+ mes "Ok meow~ Good bye meow~";
+ next;
+ mes "You found out the reason why Stew left the team.";
+ mes "Let's find the other cats.";
+ setquest 5063;
+ completequest 5063;
+ break;
+ }
+ close2;
+ } else if (checkquest(5063) == 2) {
+ mes "[Stew]";
+ mes "Aren't you from the 'Boom Can' Company?";
+ mes "Another survey meow?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Oops! I should be meeting other cats.";
+ mes "I am very sorry...";
+ emotion e_sry,1;
+ next;
+ mes "[Stew]";
+ mes "It's ok meow~ Good bye meow~";
+ close2;
+ } else {
+ mes "[Stew]";
+ mes "This is not possible. Please contact an administrator.";
+ close2;
+ }
+ } else if (checkquest(5085) == 0 || checkquest(5085) == 1) {
+ mes "[Stew]";
+ mes "Who are you meow?";
+ emotion e_what;
+ next;
+ mes "What do you want to say?";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Come back") {
+ erasequest 5085;
+ setquest 5086;
+ set .@str$, "You've delivered the message, so let's get away.";
+ } else
+ set .@str$, "You didn't deliver the right message, but let's still get away.";
+ mes "[Stew]";
+ mes "What is this? What do you mean by '"+.@inputstr$+"'? Meow...";
+ mes "And... Aren't you from the 'Boom Can' Company, meow?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh? What's that?";
+ next;
+ mes "Stew seems to recognize you.";
+ mes .@str$;
+ close2;
+ } else if (checkquest(5086) == 0 || checkquest(5086) == 1) {
+ mes "[Stew]";
+ mes "I think you are from the 'Boom Can' Company, meow... Who are you, meow~";
+ next;
+ mes "Stew seems to recognize you. Let's get away.";
+ close2;
+ } else {
+ if (malang_gamer < 6) {
+ mes "[Stew]";
+ mes "Meow Meow~ Good bye to 'Cat Gamer's meow~ Who are you meow?";
+ next;
+ mes "This cat might hit you. Let's get away.";
+ close2;
+ } else {
+ mes "[Stew]";
+ mes "The 'Boom Can' Company!!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh? What's that?";
+ next;
+ mes "Stew seems to recognize you. Let's get away.";
+ close2;
+ }
+ }
+ donpcevent "Stew#gamer::OnDisable";
+ end;
+OnInit:
+ disablenpc "Stew#gamer";
+ end;
+OnEnable:
+ disablenpc "Eryu#gamer";
+ enablenpc "Stew#gamer";
+ disablenpc "Ketchup#gamer";
+ disablenpc "Eff#gamer";
+ end;
+OnDisable:
+ switch(rand(3)) {
+ case 0:
+ donpcevent "Eryu#gamer::OnEnable";
+ break;
+ case 1:
+ donpcevent "Ketchup#gamer::OnEnable";
+ break;
+ case 2:
+ donpcevent "Eff#gamer::OnEnable";
+ break;
+ }
+ end;
+}
+
+malangdo,244,144,4 script Ketchup#gamer 546,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (checkquest(5061) == 0 || checkquest(5061) == 1) {
+ if (checkquest(5064) == -1) {
+ mes "You found Ketchup the cat, and start talking.";
+ next;
+ mes "[Ketchup]";
+ mes "Meow...? Who are you?";
+ emotion e_what;
+ next;
+ switch(select("Grrr~ Bow wow~:The Game Director cat sent me.:I'm from 'Cans for Kittens'.")) {
+ case 1:
+ mes "[Ketchup]";
+ mes "What the dog? Hiss~";
+ break;
+ case 2:
+ mes "[Ketchup]";
+ mes "Get away from me, human, before I get really angry~";
+ break;
+ case 3:
+ mes "[Ketchup]";
+ mes "Oh yeah? 'Cans for Kittens'?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I want to share some of our philosophy with you.";
+ mes "Do you believe in giving to others?";
+ emotion e_what,1;
+ next;
+ mes "[Ketchup]";
+ mes "Umm I guess so...";
+ emotion e_slur;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "'Cans for Kittens' is a religion that embraces all felines.";
+ mes "Bow before the Lord of Cans!";
+ next;
+ mes "[Ketchup]";
+ mes "...";
+ next;
+ mes "[Ketchup]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Ketchup]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ mes "What's the Lord of Cans?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Your name is Ketchup, right? Don't you know about the Lord of Cans?";
+ mes "He knows everything.";
+ mes "Do not try to fool him and bow!";
+ next;
+ mes "[Ketchup]";
+ mes "Meow?! How can you know my name? Wow...";
+ next;
+ mes "[Ketchup]";
+ mes "I am sorry. Really sorry.";
+ mes "Please forgive me Lord of Cans.";
+ emotion e_sob;
+ next;
+ mes "[Ketchup]";
+ mes "That Director Cat was so scary~!";
+ mes "I said so many bad things when I left the Cat Gamers...";
+ mes "Please forgive.";
+ emotion e_sob;
+ next;
+ emotion e_dots;
+ emotion e_dots,1;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "The Lord of Cans forgives Ketchup's sins.";
+ mes "Our Lord also wants you to stop swearing and live an honest life!";
+ next;
+ mes "[Ketchup]";
+ mes "Thank you Lord of Cans.";
+ mes "I will live a kind cat life from this point on.";
+ next;
+ mes "You found out why did Ketchup left the Cat gamers.";
+ mes "Let's look for the other cats.";
+ setquest 5064;
+ completequest 5064;
+ break;
+ }
+ close2;
+ } else if (checkquest(5064) == 2) {
+ mes "[Ketchup]";
+ mes "You are...";
+ emotion e_omg;
+ next;
+ mes "Ketchup gives you an apologetic look and runs away.";
+ mes "He probably did something bad already.";
+ close2;
+ } else {
+ mes "[Ketchup]";
+ mes "This is not possible. Please contact an administrator.";
+ close2;
+ }
+ } else if (checkquest(5087) == 0 || checkquest(5087) == 1) {
+ mes "[Ketchup]";
+ mes "Who are you?";
+ emotion e_what;
+ next;
+ mes "What do you want to say?";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Come back") {
+ erasequest 5087;
+ setquest 5088;
+ mes "[Ketchup]";
+ mes "What is this? What do you mean by 'Come back'...?";
+ mes "Can... 'Cans for Kittens'?";
+ emotion e_omg;
+ emotion e_what;
+ next;
+ mes "Ketchup recognized you and ran away.";
+ mes "You've delivered the message.";
+ close2;
+ } else {
+ mes "[Ketchup]";
+ mes "What is this? What do you mean by '"+.@inputstr$+"'...?";
+ mes "Can... 'Cans for Kittens'?";
+ emotion e_omg;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh? What's that?";
+ next;
+ mes "Ketchup recognized you and ran away.";
+ mes "It seems you need to find Ketchup one more time.";
+ close2;
+ }
+ } else if (checkquest(5088) == 0 || checkquest(5088) == 1) {
+ mes "[Ketchup]";
+ mes "Can... 'Cans for Kittens'?";
+ emotion e_omg;
+ next;
+ mes "Ketchup ran away once again.";
+ close2;
+ } else {
+ if (malang_gamer < 6) {
+ mes "[Ketchup]";
+ mes "Dirty 'Cat Gamers'!";
+ mes "I will never come back, for sure... Who are you?";
+ next;
+ mes "This cat might hit you. Let's get away.";
+ close2;
+ } else {
+ mes "[Ketchup]";
+ mes "Can... 'Cans for Kittens'?";
+ next;
+ mes "Ketchup ran away.";
+ close2;
+ }
+ }
+ donpcevent "Ketchup#gamer::OnDisable";
+ end;
+OnInit:
+ disablenpc "Ketchup#gamer";
+ end;
+OnEnable:
+ disablenpc "Eryu#gamer";
+ disablenpc "Stew#gamer";
+ enablenpc "Ketchup#gamer";
+ disablenpc "Eff#gamer";
+ end;
+OnDisable:
+ switch(rand(3)) {
+ case 0:
+ donpcevent "Stew#gamer::OnEnable";
+ break;
+ case 1:
+ donpcevent "Eryu#gamer::OnEnable";
+ break;
+ case 2:
+ donpcevent "Eff#gamer::OnEnable";
+ break;
+ }
+ end;
+}
+
+malangdo,181,119,7 script Eff#gamer 560,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ if (checkquest(5061) == 0 || checkquest(5061) == 1) {
+ if (checkquest(5065) == -1) {
+ mes "You found Eff the cat, and start talking.";
+ next;
+ mes "[Eff]";
+ mes "Who are you meow?";
+ emotion e_what;
+ next;
+ switch(select("I have some good investment news...:A... Cat?:The 'Cat Gamers' Director sent me...")) {
+ case 1:
+ mes "[Eff]";
+ mes "Investment info? Meow~?";
+ mes "What is that? Meow~?";
+ emotion e_what;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Interested, huh?";
+ mes "This is classified information.";
+ mes "You won't get it from any other human.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Haha! You are lucky today.";
+ mes "You heard that land can be a good investment, right?";
+ emotion e_what,1;
+ next;
+ mes "[Eff]";
+ mes "Oh oh~ I think so. Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "You do know about our capital Prontera, don't you?";
+ next;
+ mes "[Eff]";
+ mes "Prontera meow? Yes, I know about it. Meow~";
+ emotion e_heh;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "There are some locations where";
+ mes "Prontera kingdom is secretly selling...";
+ next;
+ mes "[Eff]";
+ mes "And... And...?? Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hmm, this is top secret.";
+ mes "Something that must not be revealed at all...";
+ mes "Can you really keep this secret...?";
+ emotion e_what,1;
+ next;
+ mes "[Eff]";
+ mes "Well... I've always been known for being a good keeper of secrets meow.";
+ mes "Meow~ Don't worry at all. Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ok, I believe you, Eff...";
+ mes "Please keep this a secret.";
+ next;
+ mes "[Eff]";
+ mes "I got it. Meow~";
+ emotion e_ok;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Well, I heard that there is a location in Juno where underground big shots will be investing about 10,000,000,000 zeny.";
+ mes "And it is now available for pre-investment.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "If you invest in 1 Can food here, the outcome will be enormous.";
+ next;
+ mes "[Eff]";
+ mes "Enor... mous... meow...?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "100 Cans!!";
+ mes "You will get 100 cans for investing just 1 can food!";
+ mes "The profit will be X100! X100!!";
+ next;
+ mes "[Eff]";
+ mes "Woot!! 100 Cans~ Meow~";
+ emotion e_omg;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "So, how many cans do you want to invest?";
+ mes "You'll be a part owner so make sure to invest the max that you can afford.";
+ emotion e_what,1;
+ next;
+ mes "[Eff]";
+ mes "I want to invest.";
+ mes "But, I don't have cans with me. Meow~";
+ emotion e_sob;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "You can always get a loan!!";
+ mes "This a like 100 times result for sure!!";
+ mes "How can you loose a chance like this?";
+ mes "You should do whatever it takes!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "You know what..? They say some careers like pro gamers can get solid loans.";
+ mes "Like about 1,000 can loan at once.";
+ mes "Without a high interest rate!";
+ next;
+ mes "[Eff]";
+ mes "Meow!! 1... 1,000...";
+ mes "Moew~ I am a Pro Gamer.";
+ mes "Meow~ But, I quit~ Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "What!! Why would you quit such good a gig!! Are you crazy?";
+ emotion e_omg,1;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Let's say we invest 1,000 cans after getting that loan.";
+ mes "One, Ten, Hundred, Tousand. Woot!";
+ mes "I can't believe this.";
+ mes "The result will be 100,000 cans, 100,000!!";
+ next;
+ mes "[Eff]";
+ mes "1... 100,000 cans... Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "So tell me... Why did you quit such a great job?";
+ mes "Why?";
+ next;
+ mes "[Eff]";
+ mes "I was afraid of the Director Cat there...";
+ mes "Meow~ This one time, I had to take a sick day.";
+ mes "Meow~ And I haven't seen such scary cat my entire life...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "So you quit because Cat Gamers Director was so scary. Hmm, sorry but I can't let you in on this investment...";
+ mes "I guess... What a waste of time!";
+ mes "Good bye!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Oh and don't tell anyone what I just told you!";
+ mes "Bye~";
+ next;
+ mes "You found out why Eff has left the team.";
+ mes "Now, let's find the other cats.";
+ setquest 5065;
+ completequest 5065;
+ break;
+ case 2:
+ mes "[Eff]";
+ mes "Yes. I am a cat.";
+ mes "Meow~ Do you think I am a dog?";
+ mes "Meow~ You are a strange human. Meow~";
+ break;
+ case 3:
+ mes "[Eff]";
+ mes "Seeing as this is like the first time I met you.";
+ mes "I'll forgive you today. Meow.";
+ mes "Meow~ Don't even think about bringing up that name to me again...";
+ break;
+ }
+ close2;
+ } else if (checkquest(5065) == 2) {
+ mes "[Eff]";
+ mes "You are--!!";
+ mes "Meow~ I want to invest. Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Not without the cans you can't!!";
+ mes "You didn't tell anyone about this deal, right?";
+ next;
+ mes "[Eff]";
+ mes "I didn't. Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ok, good cat! Never!!";
+ mes "Tell this to other cats!~";
+ mes "Bye Bye~";
+ close2;
+ } else {
+ mes "[Eff]";
+ mes "This is not possible. Please contact an administrator.";
+ close2;
+ }
+ } else if (checkquest(5089) == 0 || checkquest(5089) == 1) {
+ mes "[Eff]";
+ mes "Who are you, meow?";
+ next;
+ mes "What do you want to say?";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Come back") {
+ erasequest 5089;
+ setquest 5090;
+ set .@str$, "You've delivered the message, so let's get away.";
+ } else
+ set .@str$, "You didn't deliver the right message, but let's still get away.";
+ mes "[Eff]";
+ mes "What is this? What do you mean by '"+.@inputstr$+"'? Meow...";
+ mes "Meow...? Meow! You! Investor meow?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh? Who...?";
+ next;
+ mes "Eff seems to recognize you.";
+ mes .@str$;
+ close2;
+ } else if (checkquest(5090) == 0 || checkquest(5090) == 1) {
+ mes "[Eff]";
+ mes "You are--!!";
+ mes "Meow~ I want to invest. Meow~";
+ next;
+ mes "Eff seems to recognize you, so let's get away.";
+ close2;
+ } else {
+ if (malang_gamer < 6) {
+ mes "[Eff]";
+ mes "Meow Meow~ 'Cat Gamers' can say good bye to me, meow.";
+ mes "Meow... Who are you meow?";
+ next;
+ mes "This cat might hit you. Let's get away.";
+ close2;
+ } else {
+ mes "[Eff]";
+ mes "Meow~ I want to invest. Meow~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh? Who...?";
+ next;
+ mes "Eff seems to recognize you, so let's get away.";
+ close2;
+ }
+ }
+ donpcevent "Eff#gamer::OnDisable";
+ end;
+OnInit:
+ disablenpc "Eff#gamer";
+ end;
+OnEnable:
+ disablenpc "Eryu#gamer";
+ disablenpc "Stew#gamer";
+ disablenpc "Ketchup#gamer";
+ enablenpc "Eff#gamer";
+ end;
+OnDisable:
+ switch(rand(3)) {
+ case 0:
+ donpcevent "Stew#gamer::OnEnable";
+ break;
+ case 1:
+ donpcevent "Ketchup#gamer::OnEnable";
+ break;
+ case 2:
+ donpcevent "Eryu#gamer::OnEnable";
+ break;
+ }
+ end;
+}
+
+mal_in01,91,216,4 script Ser#gamer 544,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ for(set .@i,5074; .@i<=5090; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1) {
+ mes "[Ser]";
+ mes "Hey, ^0000FF"+strcharinfo(0)+"^000000. You haven't done what we asked you for. A promise is a promise, you know.";
+ next;
+ mes "[Ser]";
+ mes "Ah!! When you are done, please get checked by the Cat Gamers Director over there.";
+ close;
+ }
+ }
+ if (malang_gamer < 20) {
+ if (countitem(2872)) {
+ mes "[Ser]";
+ mes "You seem like a first timer! Where did you get the certificate? Someone lost it, I guess.";
+ close;
+ }
+ mes "[Ser]";
+ mes "Rock Paper Scissors is a serious game. When will our practicing partner come?";
+ close;
+ }
+ if (!isequipped(2872)) {
+ mes "[Ser]";
+ mes "Oh, ^0000FF"+strcharinfo(0)+"^000000? Want to play the Rock Paper Scissors game?";
+ next;
+ mes "[Ser]";
+ mes "... ... ...";
+ next;
+ mes "[Ser]";
+ mes "Where is your Cat Gamers Certificate? It seems like nothing, but you can't play this game without it!";
+ next;
+ mes "[Ser]";
+ mes "Please go get the certificate.";
+ close;
+ }
+ if (checkquest(5070,PLAYTIME) == 0 || checkquest(5070,PLAYTIME) == 1) {
+ mes "[Ser]";
+ mes "Is it tomorrow already? I don't think so! Can't you read the time?";
+ close;
+ } else if (checkquest(5070,PLAYTIME) == 2)
+ erasequest 5070;
+ mes "[Ser]";
+ mes "Oh, ^0000FF"+strcharinfo(0)+"^000000? Want to play the Rock Paper Scissors game?";
+ next;
+ switch(select("Play the game.:Say hi.:Ask about the game rules.")) {
+ case 1:
+ mes "[Ser]";
+ mes "Good idea.";
+ next;
+ break;
+ case 2:
+ mes "[Ser]";
+ mes "Oh! Ok, hi? But, why now?";
+ next;
+ mes "[Ser]";
+ mes "Ah... You are bored? Why don't you play a game with me?";
+ next;
+ mes "[Ser]";
+ mes "Hey, you! Don't neglect the Rock Paper Scissors game!!";
+ mes "I've seen many people getting their butts kicked in this game!!";
+ next;
+ mes "[Ser]";
+ mes "You better mark my words, if you don't want to end up like them!~";
+ close;
+ case 3:
+ mes "[Ser]";
+ mes "You don't even know how to play this game?";
+ mes "Let me kindly teach you.";
+ next;
+ mes "[Ser]";
+ mes "Scissors beats Paper,";
+ emotion e_scissors;
+ emotion e_paper,1;
+ next;
+ mes "[Ser]";
+ mes "Paper beats Rock,";
+ emotion e_paper;
+ emotion e_rock,1;
+ next;
+ mes "[Ser]";
+ mes "And Rock beats Scissors.";
+ emotion e_rock;
+ emotion e_scissors,1;
+ next;
+ mes "[Ser]";
+ mes "Ok? Got it now?";
+ next;
+ mes "[Ser]";
+ mes "You must play 5 matches with me.";
+ mes "We go again if the game is even!!";
+ next;
+ mes "[Ser]";
+ mes "I will give you a present if you beat me 3 times. Ok?";
+ next;
+ mes "[Ser]";
+ mes "Ok, then. Go away.";
+ close;
+ }
+ setarray .@rps$[0], "Rock", "Paper", "Scissors";
+ setarray .@emote[0], e_rock, e_paper, e_scissors;
+ setarray .@count$[0],"First","Second","Third","Fourth","Last";
+ while(1) {
+ mes "[Ser]";
+ mes .@count$[.@match]+" match ~~";
+ if (.@tie) {
+ mes "Result is even, so we play again.";
+ set .@tie,0;
+ }
+ mes "Try your best!";
+ next;
+ mes "[Ser & "+strcharinfo(0)+"]";
+ mes "Rock! Paper! Scissors!";
+ next;
+
+ set .@pc, select("Rock:Paper:Scissors")-1;
+ set .@npc, rand(3);
+ emotion .@emote[.@pc],1;
+ emotion .@emote[.@npc];
+ mes "["+strcharinfo(0)+"] "+.@rps$[.@pc];
+ mes "--------------------------------";
+ mes "[Ser] "+.@rps$[.@npc];
+ if (.@pc == .@npc) {
+ set .@tie,1;
+ set .@result$, "Hmm, we are even. Let's play again.";
+ } else if ((.@pc == 0 && .@npc == 2) || (.@pc == 1 && .@npc == 0) || (.@pc == 2 && .@npc == 1)) {
+ set .@match, .@match+1;
+ set .@win, .@win+1;
+ set .@result$, "I lost!";
+ } else {
+ set .@match, .@match+1;
+ set .@loss, .@loss+1;
+ set .@result$, "So I win!!";
+ }
+ next;
+ mes "[Ser]";
+ mes "You were "+.@rps$[.@pc]+", I was "+.@rps$[.@npc]+"~";
+ mes .@result$;
+ next;
+ if (.@match == 5) break;
+ }
+ mes "[Ser]";
+ mes "All 5 matches are over!!";
+ next;
+ mes "[Ser]";
+ mes "Hmm... Let me see...";
+ mes "I won "+.@loss+" times, and you, "+strcharinfo(0)+", won "+.@win+" times, right?";
+ next;
+ if (.@win > .@loss) {
+ mes "[Ser]";
+ mes strcharinfo(0)+" has won the game.";
+ next;
+ mes "Ser became polite all of a sudden.";
+ next;
+ mes "[Ser]";
+ mes "Great game it was. I admire your enthusiasm for the game. So, I want to give you my precious Can as a present.";
+ next;
+ switch(select("I don't need it!:Thank you.")) {
+ case 1:
+ mes "[Ser]";
+ mes "Just take it!! Do as I say~";
+ break;
+ case 2:
+ mes "[Ser]";
+ mes "You are polite. But, sadly this is all I can give you.";
+ break;
+ }
+ next;
+ mes "[Ser]";
+ mes "Good bye~ Come back tomorrow for more practice~";
+ if (.@win == 5) {
+ mes "Oh! You won all 5 matches. Here are some more extra Cans.";
+ getitem 12636,10; //Malang_Sp_Can
+ } else
+ getitem 12636,5; //Malang_Sp_Can
+ setquest 5070;
+ close;
+ }
+ mes "[Ser]";
+ mes strcharinfo(0)+" has lost. Ha... Ha...";
+ next;
+ mes "Ser became very arrogant.";
+ next;
+ mes "[Ser]";
+ mes "You want to play with me? Ser? With that skill of yours? Meow?";
+ next;
+ mes "[Ser]";
+ mes "What? Present? How can you ask for such a thing when you lose? Go practice more!! Work!! Yes, I should make you do this!!";
+ next;
+ setquest 5070;
+ switch(rand(1,13)) {
+ case 1:
+ setquest 5074;
+ mes "[Ser]";
+ mes "Hmm. Do you know a fish named Phen? Do you? Isn't it a delicious looking fish?";
+ next;
+ mes "- Chrub -";
+ mes "Ser wipes the drool from his mouth.";
+ next;
+ mes "[Ser]";
+ mes "Go catch 30 Phens. And also get me 10 Fish Tails. Get them to our Director cat, and he will make a delicious dish with them.";
+ close;
+ case 2:
+ setquest 5075;
+ mes "[Ser]";
+ mes "Lately, I've felt powerless and that there's too much weight on me. I should take care of my health.";
+ next;
+ mes "[Ser]";
+ mes "Now it's time for some healthy food.";
+ next;
+ mes "[Ser]";
+ mes "Get 50 Marse and 25 Milk to our Cat Gamers Director. He has excellent knowledge on healthy foods.";
+ close;
+ case 3:
+ setquest 5076;
+ mes "[Ser]";
+ mes "Well... we do have a rival, you know. They are 'Dog n Waltz', and everything goes wrong when they come around.";
+ next;
+ mes "[Ser]";
+ mes "I would ask you to bully them, but I suppose that's illegal... So, please at least harass similar looking monsters. What would be a good target?";
+ next;
+ mes "[Ser]";
+ mes "Oh, that archer among Kobolds!! I hate those the most. Go harass 30 Kobold Archers, and report to our Cat Gamers Director.";
+ close;
+ case 4:
+ setquest 5077;
+ mes "[Ser]";
+ mes "What is most important for winning the game? It is quickness. What should we do to get faster?";
+ next;
+ mes "[Ser]";
+ mes "I've been thinking... The best way for us cats is obviously catching rats.";
+ next;
+ mes "[Ser]";
+ mes "You know Cramp, right? That blue chubby creature... Please go catch 10 of them, and report to our Cat Gamers Director.";
+ close;
+ case 5:
+ setquest 5078;
+ mes "[Ser]";
+ mes "Ah... I want some bird cuisine. Which one would be most delicious?";
+ next;
+ mes "[Ser]";
+ mes "Picky? Ah! It's too small. How about Condor? I am not sure... Peco Peco?";
+ next;
+ mes "[Ser]";
+ mes "Alright! Please catch 50 Peco Pecos and get them to our Cat Gamers Director. We shall have a party with bird cuisine tonight.";
+ close;
+ case 6:
+ setquest 5079;
+ mes "[Ser]";
+ mes "I get too nervous before the game. And I don't play well when I'm nervous. I need something to calm down before the game starts.";
+ next;
+ mes "[Ser]";
+ mes "Oh! That's right! Yarn! I used to play with Yarn when I was young. Wasn't able to have that kind of relaxation after joining the 'Cat Gamers'.";
+ next;
+ mes "[Ser]";
+ mes "Please get 20 Yarns for me. Why 20? There are many other cats with the same issue. Our Director should take care of this for you.";
+ close;
+ case 7:
+ setquest 5080;
+ mes "[Ser]";
+ mes "Recently, our Director seems to have been trying to cut some expenses. Or is the manager taking advantage?";
+ next;
+ mes "[Ser]";
+ mes "Regular snacks for our players have been reduced. You should go get 30 Rat Tails, and give them to our Cat Gamers Director.";
+ next;
+ mes "[Ser]";
+ mes "Then, we shall find out if our manager is being greedy or not.";
+ close;
+ case 8:
+ setquest 5081;
+ mes "[Ser]";
+ mes "I am having a slump these days. I can't give my 100% to the game.";
+ next;
+ mes "[Ser]";
+ mes "It is the lemon we need in times like this.";
+ next;
+ mes "[Ser]";
+ mes "Please get 5 lemons for me. Don't forget, I need 5 Lemons... Our Cat Gamers Director should know what to do with them.";
+ close;
+ case 9:
+ setquest 5082;
+ mes "[Ser]";
+ mes "Malangdo is a good place for a cat to live. But, it gets very hot when we play games.";
+ next;
+ mes "[Ser]";
+ mes "When we are playing a lot, it gets really crazy hot, hard for us to bear. You know how hysterical we cats can be, right?";
+ next;
+ mes "[Ser]";
+ mes "Please get us either 10 Ice Pieces or 10 Ice Creams. Our Cat Gamers Director should know what to do with them.";
+ close;
+ case 10:
+ setquest 5083;
+ mes "[Ser]";
+ mes "I can see that you also need some rest. Feel free to relax for a while. How about taking a walk around the village? I insist~!";
+ next;
+ mes "[Ser]";
+ mes "But, it is no fun to just walk around the village. Hmm... Right!! Why don't you go ahead and meet a cat named Eryu?";
+ next;
+ mes "[Ser]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back'. That is the password. And don't forget to tell our Director I was with you all the time!!";
+ close;
+ case 11:
+ setquest 5085;
+ mes "[Ser]";
+ mes "I can see that you also need some rest. Feel free to relax for a while. How about taking a walk around the village? I insist~!";
+ next;
+ mes "[Ser]";
+ mes "But, it is no fun to just walk around the village. Hmm... Right!! Why don't you go ahead and meet a cat named Stew?";
+ next;
+ mes "[Ser]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back'. That is the password. And don't forget to tell our Director I was with you all the time!!";
+ close;
+ case 12:
+ setquest 5087;
+ mes "[Ser]";
+ mes "I can see that you also need some rest. Feel free to relax for a while. How about taking a walk around the village? I insist~!";
+ next;
+ mes "[Ser]";
+ mes "But, it is no fun to just walk around the village. Hmm... Right!! Why don't you go ahead and meet a cat named Ketchup?";
+ next;
+ mes "[Ser]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back'. That is the password. And don't forget to tell our Director I was with you all the time!!";
+ close;
+ case 13:
+ setquest 5089;
+ mes "[Ser]";
+ mes "I can see that you also need some rest. Feel free to relax for a while. How about taking a walk around the village? I insist~!";
+ next;
+ mes "[Ser]";
+ mes "But, it is no fun to just walk around the village. Hmm... Right!! Why don't you go ahead and meet a cat named Eff?";
+ next;
+ mes "[Ser]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back'. That is the password. And don't forget to tell our Director I was with you all the time!!";
+ close;
+ }
+}
+
+mal_in01,86,222,4 script Paa#gamer 544,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ for(set .@i,5074; .@i<=5090; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1) {
+ mes "[Paa]";
+ mes "You haven't done what we asked you for meow. A promise is a promise, you know meow.";
+ next;
+ mes "[Paa]";
+ mes "When you are done meow, please get checked by the Cat Gamers Director over there meow.";
+ close;
+ }
+ }
+ if (malang_gamer < 20) {
+ if (countitem(2872)) {
+ mes "[Paa]";
+ mes "You seem like a first timer meow! Where did you get the certificate meow? Someone lost it, I guess meow.";
+ close;
+ }
+ mes "[Paa]";
+ mes "When is our practicing partner coming meow? I am bored meow.";
+ close;
+ }
+ if (!isequipped(2872)) {
+ mes "[Paa]";
+ mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
+ next;
+ mes "[Paa]";
+ mes "... ... ...";
+ next;
+ mes "[Paa]";
+ mes "Where is your Cat Gamers Certificate meow? It seems like nothing, but you can't play this game without it meow!";
+ next;
+ mes "[Paa]";
+ mes "Go get the certificate meow.";
+ close;
+ }
+ if (checkquest(5070,PLAYTIME) == 0 || checkquest(5070,PLAYTIME) == 1) {
+ mes "[Paa]";
+ mes "We can only play the game once a day meow. Come tomorrow meow.";
+ close;
+ } else if (checkquest(5070,PLAYTIME) == 2)
+ erasequest 5070;
+ mes "[Paa]";
+ mes "Oh, ^0000FF"+strcharinfo(0)+"^000000 meow? Want to play the Rock Paper Scissors game meow?";
+ next;
+ switch(select("Play the game.:Say hi.:Ask about the game rules.")) {
+ case 1:
+ mes "[Paa]";
+ mes "Good idea meow.";
+ next;
+ break;
+ case 2:
+ mes "[Paa]";
+ mes "Hello meow~ Nice to see you meow~";
+ next;
+ mes "[Paa]";
+ mes "Other games have one cat player. But, we have two for Rock Paper Scissors. You want to know why meow?";
+ next;
+ mes "[Paa]";
+ mes "Paa is kind meow. So, I'll tell you story meow.";
+ next;
+ mes "[Paa]";
+ mes "Ser cat is my twin brother. I was born first, but he always says he is the elder meow. But, I don't fight with Ser meow. I am a good brother meow.";
+ next;
+ mes "[Paa]";
+ mes "Anyways, me and Ser are well known as the pro gamer cat brothers meow. Everyone knows us meow.";
+ next;
+ mes "[Paa]";
+ mes "You are free to admire me, meow. I give you permission meow.";
+ close;
+ case 3:
+ mes "[Paa]";
+ mes "You want to know how to play this game meow? I'll teach you because I am a kind cat meow~";
+ next;
+ mes "[Paa]";
+ mes "You don't seem that stupid meow. So, let's skip the part about what beats what meow.";
+ next;
+ mes "[Paa]";
+ mes "You must play 5 matches with me meow. We go again if the game is even meow.";
+ next;
+ mes "[Paa]";
+ mes "If you win 3 times, I'll give you a present meow~ Cat Gamers Director said so meow.";
+ next;
+ mes "[Paa]";
+ mes "That is all meow~ But it is not an easy game meow. Respect the game meow~";
+ close;
+ }
+ setarray .@rps$[0], "Rock", "Paper", "Scissors";
+ setarray .@emote[0], e_rock, e_paper, e_scissors;
+ setarray .@count$[0],"First","Second","Third","Fourth","Last";
+ while(1) {
+ mes "[Paa]";
+ mes .@count$[.@match]+" match ~~ meow.";
+ if (.@tie) {
+ mes "Result is even, so we play again meow.";
+ set .@tie,0;
+ }
+ mes "Try your best meow!";
+ next;
+ mes "[Ser & "+strcharinfo(0)+"]";
+ mes "Rock! Paper! Scissors!";
+ next;
+
+ set .@pc, select("Rock:Paper:Scissors")-1;
+ set .@npc, rand(3);
+ emotion .@emote[.@pc],1;
+ emotion .@emote[.@npc];
+ mes "["+strcharinfo(0)+"] "+.@rps$[.@pc];
+ mes "--------------------------------";
+ mes "[Ser] "+.@rps$[.@npc];
+ if (.@pc == .@npc) {
+ set .@tie,1;
+ set .@result$, "Hmm, we are even. Let's play again meow.";
+ } else if ((.@pc == 0 && .@npc == 2) || (.@pc == 1 && .@npc == 0) || (.@pc == 2 && .@npc == 1)) {
+ set .@match, .@match+1;
+ set .@win, .@win+1;
+ set .@result$, "I lost meow!";
+ } else {
+ set .@match, .@match+1;
+ set .@loss, .@loss+1;
+ set .@result$, "So I win meow!!";
+ }
+ next;
+ mes "[Paa]";
+ mes "You were "+.@rps$[.@pc]+", I was "+.@rps$[.@npc]+"~";
+ mes .@result$;
+ next;
+ if (.@match == 5) break;
+ }
+ mes "[Paa]";
+ mes "Meow!! All 5 matches are over meow!!";
+ next;
+ mes "[Paa]";
+ mes "Let me see meow...";
+ mes "I won "+.@loss+" times meow, and you, "+strcharinfo(0)+", won "+.@win+" times, right meow?";
+ next;
+ if (.@win > .@loss) {
+ mes "[Paa]";
+ mes "You won meow.";
+ next;
+ mes "Paa became polite all of a sudden.";
+ next;
+ mes "[Paa]";
+ mes "Great game it was meow. I admire your enthusiasm for the game meow. So, I want to give you my precious Can as a present meow.";
+ next;
+ switch(select("I don't need it!:Thank you.")) {
+ case 1:
+ mes "[Paa]";
+ mes "Just take it meow!! Do as I say meow~";
+ break;
+ case 2:
+ mes "[Paa]";
+ mes "You are polite meow. But, sadly this is all I can give you meow.";
+ break;
+ }
+ next;
+ mes "[Paa]";
+ mes "Good bye meow~ Come back tomorrow for more practice meow~";
+ if (.@win == 5) {
+ mes "Oh! You won all 5 matches meow. Here are some more extra Cans meow!";
+ getitem 12636,10; //Malang_Sp_Can
+ } else
+ getitem 12636,5; //Malang_Sp_Can
+ setquest 5070;
+ close;
+ }
+ mes "[Paa]";
+ mes "You lost. Meow... Meow...";
+ next;
+ mes "Paa became very arrogant.";
+ next;
+ mes "[Paa]";
+ mes "You want to play with me? Paa? With that skill of yours? Meow?";
+ next;
+ mes "[Paa]";
+ mes "What? Present meow? How can you ask for such a thing meow? You lost meow! Go practice more!! Work!! Yes, I should make you do this meow!!";
+ next;
+ setquest 5070;
+ switch(rand(1,13)) {
+ case 1:
+ setquest 5074;
+ mes "[Paa]";
+ mes "Hmm. Do you know a fish named Phen meow? Do you? Isn't it a delicious looking fish meow?";
+ next;
+ mes "- Chrub -";
+ mes "Paa wipes the drool from his mouth.";
+ next;
+ mes "[Paa]";
+ mes "Go catch 30 Phens meow. And also get me 10 Fish Tails meow. Get them to our Director cat, and he will make a delicious dish with them meow.";
+ close;
+ case 2:
+ setquest 5075;
+ mes "[Paa]";
+ mes "Lately, I've felt powerless and that there's too much weight on me meow. I should take care of my health meow.";
+ next;
+ mes "[Paa]";
+ mes "Now it's time for some healthy food meow.";
+ next;
+ mes "[Paa]";
+ mes "Get 50 Marse and 25 Milk to our Cat Gamers Director meow. He has excellent knowledge on healthy foods meow.";
+ close;
+ case 3:
+ setquest 5076;
+ mes "[Paa]";
+ mes "We do have a rival, you know meow. They are 'Dog n Waltz', and everything goes wrong when they come around meow.";
+ next;
+ mes "[Paa]";
+ mes "I would ask you to bully them, but I suppose that's illegal meow... So, I will ask you to harass similar looking monsters meow.";
+ next;
+ mes "[Paa]";
+ mes "Oh, that archer among Kobolds meow!! I hate those the most. Go harass 30 Kobold Archers, and report to our Cat Gamers Director meow.";
+ close;
+ case 4:
+ setquest 5077;
+ mes "[Paa]";
+ mes "What is most important for winning the game meow? It is quickness. What should we do to get faster meow?";
+ next;
+ mes "[Paa]";
+ mes "I've been thinking meow... The best way for us cats is obviously catching rats meow.";
+ next;
+ mes "[Paa]";
+ mes "You know Cramp, right meow? That blue chubby creature meow... Please go catch 10 of them, and report to our Cat Gamers Director meow.";
+ close;
+ case 5:
+ setquest 5078;
+ mes "[Paa]";
+ mes "Chrub... I want some bird cuisine meow. Which one would be most delicious meow?";
+ next;
+ mes "[Paa]";
+ mes "Picky? Ah! It's too small meow. How about Condor? I am not sure... Peco Peco meow?";
+ next;
+ mes "[Paa]";
+ mes "Alright meow! Please catch 50 Peco Pecos and get them to our Cat Gamers Director meow. We shall have a party with bird cuisine tonight meow.";
+ close;
+ case 6:
+ setquest 5079;
+ mes "[Paa]";
+ mes "I get too nervous before the game meow. And I don't play well when I'm nervous meow. I need something to calm down before the game starts meow.";
+ next;
+ mes "[Paa]";
+ mes "Oh! That's right meow! Yarn meow! I used to play with Yarn when I was young meow. Wasn't able to have that kind of relaxation after joining the 'Cat Gamers' meow.";
+ next;
+ mes "[Paa]";
+ mes "Please get 20 Yarns for me meow. Why 20? There are many other cats with the same issue meow. Our Director should take care of this for you meow.";
+ close;
+ case 7:
+ setquest 5080;
+ mes "[Paa]";
+ mes "Recently, our Director seems to have been trying to cut some expenses meow. Or is the manager taking advantage meow?";
+ next;
+ mes "[Paa]";
+ mes "Regular snacks for our players have been reduced meow. You should go get 30 Rat Tails, and give them to our Cat Gamers Director meow.";
+ next;
+ mes "[Paa]";
+ mes "Then, we shall find out if our manager is being greedy or not meow.";
+ close;
+ case 8:
+ setquest 5081;
+ mes "[Paa]";
+ mes "I am having a slump these days meow. I can't give my 100% to the game meow.";
+ next;
+ mes "[Paa]";
+ mes "It is the lemon we need in times like this meow.";
+ next;
+ mes "[Paa]";
+ mes "Get 5 lemons for me meow. Don't forget, I need 5 Lemons meow... Our Cat Gamers Director should know what to do with them meow.";
+ close;
+ case 9:
+ setquest 5082;
+ mes "[Paa]";
+ mes "Malangdo is a good place for a cat to live meow. But, it gets very hot when we play games meow.";
+ next;
+ mes "[Paa]";
+ mes "When we are playing a lot, it gets really crazy hot, hard for us to bear meow. You know how hysterical we cats can be, right meow?";
+ next;
+ mes "[Paa]";
+ mes "Get me either 10 Ice Pieces or 10 Ice Creams. Our Cat Gamers Director should know what to do with them meow.";
+ close;
+ case 10:
+ setquest 5083;
+ mes "[Paa]";
+ mes "I can see that you also need some rest meow. Feel free to relax for a while meow. How about taking a walk around the village meow? I insist meow~!";
+ next;
+ mes "[Paa]";
+ mes "But, it is no fun to just walk around the village meow. Hmm... Right meow!! Why don't you go ahead and meet a cat named Eryu meow?";
+ next;
+ mes "[Paa]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back' meow. That is the password meow. And don't forget to tell our Director I was with you all the time meow!!";
+ close;
+ case 11:
+ setquest 5085;
+ mes "[Paa]";
+ mes "I can see that you also need some rest meow. Feel free to relax for a while meow. How about taking a walk around the village meow? I insist meow~!";
+ next;
+ mes "[Paa]";
+ mes "But, it is no fun to just walk around the village meow. Hmm... Right meow!! Why don't you go ahead and meet a cat named Stew meow?";
+ next;
+ mes "[Paa]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back' meow. That is the password meow. And don't forget to tell our Director I was with you all the time meow!!";
+ close;
+ case 12:
+ mes "[Paa]";
+ mes "I can see that you also need some rest meow. Feel free to relax for a while meow. How about taking a walk around the village meow? I insist meow~!";
+ next;
+ mes "[Paa]";
+ mes "But, it is no fun to just walk around the village meow. Hmm... Right meow!! Why don't you go ahead and meet a cat named Ketchup meow?";
+ next;
+ mes "[Paa]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back' meow. That is the password meow. And don't forget to tell our Director I was with you all the time meow!!";
+ close;
+ case 13:
+ mes "[Paa]";
+ mes "I can see that you also need some rest meow. Feel free to relax for a while meow. How about taking a walk around the village meow? I insist meow~!";
+ next;
+ mes "[Paa]";
+ mes "But, it is no fun to just walk around the village meow. Hmm... Right meow!! Why don't you go ahead and meet a cat named Eff meow?";
+ next;
+ mes "[Paa]";
+ mes "Oh! And when you meet the cat, make sure to say 'Come back' meow. That is the password meow. And don't forget to tell our Director I was with you all the time meow!!";
+ close;
+ }
+}
+
+mal_in01,91,222,4 script Kuka#gamer 422,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ for(set .@i,5074; .@i<=5090; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1) {
+ mes "[Kuka]";
+ mes "You haven't done what we asked you for yo~. A promise is a promise, you know yo~.";
+ next;
+ mes "[Kuka]";
+ mes "When you are done, please get checked by the Cat Gamers Director over there yo.~";
+ close;
+ }
+ }
+ if (malang_gamer < 20) {
+ if (countitem(2872)) {
+ mes "[Kuka]";
+ mes "You seem like a first timer yo~ Where did you get the certificate yo~ You better give that back yo~";
+ close;
+ }
+ mes "[Kuka]";
+ mes "The Cat Gamers Director said a practicing partner is coming yo~ But, that human didn't show up yo~ I am bored yo~";
+ close;
+ }
+ if (!isequipped(2872)) {
+ mes "[Kuka]";
+ mes "Oh great member you, ^0000FF"+strcharinfo(0)+"^000000~ Let's play ChamChamCham yo~";
+ next;
+ mes "[Kuka]";
+ mes "... ... ...";
+ next;
+ mes "[Kuka]";
+ mes "But, you don't have the certificate yo~ Certificate helps you save the game record yo~ You must have it! yo~";
+ next;
+ mes "[Kuka]";
+ mes "Please go get the certificate yo~";
+ close;
+ }
+ if (checkquest(5071,PLAYTIME) == 0 || checkquest(5071,PLAYTIME) == 1) {
+ mes "[Kuka]";
+ mes "Is it not tomorrow yet yo~ You can play one game a day yo~ Come back tomorrow yo~";
+ close;
+ } else if (checkquest(5071,PLAYTIME) == 2)
+ erasequest 5071;
+ mes "[Kuka]";
+ mes "Oh great member you, ^0000FF"+strcharinfo(0)+"^000000~ Let's play ChamChamCham yo~";
+ next;
+ switch(select("Play the game.:Ask who is 1st place.:Ask about the game rules.")) {
+ case 1:
+ mes "[Kuka]";
+ mes "Good choice yo~";
+ next;
+ break;
+ case 2:
+ // custom condition
+ if (!$malangdo_gamer) {
+ mes "[Kuka]";
+ mes "No one holds a record for the ChamChamCham game yo~";
+ mes "You could be the first yo~";
+ close;
+ }
+ mes "[Kuka]";
+ mes "Current 1st place for the ChamChamCham game is";
+ mes "^0000FF"+$malangdo_gamer$+"^000000 with ^DE2B21"+$malangdo_gamer+"^000000 winning streak yo~";
+ if (strcharinfo(0) == $malangdo_gamer$)
+ mes "Never know when someone else would break the record yo~";
+ else
+ mes "I expect that you, "+strcharinfo(0)+", can beat ^0000FF"+$malangdo_gamer$+"^000000 sometime yo~";
+ close;
+ case 3:
+ mes "[Kuka]";
+ mes "ChamChamCham game rules are very simple yo~";
+ mes "Just direct your hand towards the direction where I direct my face yo~";
+ next;
+ cutin "g_cat_01",4;
+ mes "[Kuka]";
+ mes "Like this yo~";
+ next;
+ cutin "g_cat_03",4;
+ mes "[Kuka]";
+ mes "Or like that yo~";
+ next;
+ cutin "",255;
+ mes "[Kuka]";
+ mes "A present is available for 3 wins yo~";
+ mes "If you beat the previous record, you get a bigger present yo~";
+ next;
+ mes "[Kuka]";
+ mes "See you at the practice yo~";
+ close;
+ }
+ while(1) {
+ cutin "g_cat_00",4;
+ mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "Cham!";
+ next;
+ mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "Cham! Cham!";
+ next;
+ mes "[Kuka & "+strcharinfo(0)+"]";
+ mes "Cham! Cham! Cham!";
+ next;
+ switch(select("Hand towards left:Hand towards right")) {
+ case 1:
+ if (rand(1000) < 500) {
+ cutin "g_cat_01",4;
+ set .@win, .@win+1;
+ } else {
+ cutin "g_cat_02",4;
+ set .@loss,1;
+ }
+ break;
+ case 2:
+ if (rand(1000) < 500) {
+ cutin "g_cat_03",4;
+ set .@win, .@win+1;
+ } else {
+ cutin "g_cat_04",4;
+ set .@loss,1;
+ }
+ break;
+ }
+ if (.@loss) {
+ mes "[Kuka]";
+ mes "Hehe~ I won yo~ I feel good yo~";
+ next;
+ cutin "",255;
+ break;
+ }
+ mes "[Kuka]";
+ mes "Well~ I lost yo~ Let's practice more yo~";
+ next;
+ cutin "",255;
+ mes "[Kuka]";
+ mes strcharinfo(0)+" has won "+.@win+" times yo~ Next game starts yo~";
+ next;
+ }
+ if (.@win == 0) {
+ // fall through
+ } else if (.@win > 0 && .@win < 3) {
+ setquest 5071;
+ mes "[Kuka]";
+ mes "After the practice, "+strcharinfo(0)+" has won "+.@win+" in a row yo~";
+ mes "Present is for 3 wins or more yo~ Nothing for today yo~ But, come again tomorrow yo~";
+ close;
+ } else {
+ set .@name_record$, $malangdo_gamer$;
+ set .@win_record, $malangdo_gamer;
+ set .@win_cnt, .@win-.@win_record;
+ set .@cans, .@win-2;
+ if (.@win > .@win_record) {
+ set $malangdo_gamer$, strcharinfo(0);
+ set $malangdo_gamer, .@win;
+ mes "[Kuka]";
+ mes "Congrats yo~ You won ^DE2B21"+.@win+"^000000 in a row yo~";
+ if (strcharinfo(0) == .@name_record$)
+ mes "You won ^DE2B21"+.@win_cnt+"^000000 more than the recent ^DE2B21"+.@win_record+"^000000 record yo~ Congrats yo~";
+ // custom conditions
+ //else
+ else if (.@win_record)
+ mes "And you have won ^DE2B21"+.@win_cnt+"^000000 more than ^0000FF"+.@name_record$+"^000000's ^DE2B21"+.@win_record+"^000000 winning streak yo~ New record yo~ Congrats yo~";
+ else
+ mes "A new record yo~ Congrats yo~";
+ next;
+ mes "[Kuka]";
+ mes "I'll give you 1 random coin pocket as a special present yo~ Well done yo~ Come back tomorrow yo~";
+ setquest 5071;
+ getitem 12636, .@cans; //Malang_Sp_Can
+ getitem 12621,1; //Egrade_Pocket
+ close;
+ } else {
+ mes "[Kuka]";
+ mes "Congrats yo~ For winning "+.@win+" times I'll give you "+.@cans+" cans yo~ Well done yo~ Come back tomorrow yo~";
+ setquest 5071;
+ getitem 12636, .@cans; //Malang_Sp_Can
+ close;
+ }
+ }
+ mes "[Kuka]";
+ mes strcharinfo(0)+" didn't win at all yo~ You must work it out yo~";
+ next;
+ setquest 5071;
+ switch(rand(1,13)) {
+ case 1:
+ setquest 5074;
+ mes "[Kuka]";
+ mes "Kuka wants you to catch delicious Phens yo~";
+ next;
+ mes "- Chrub -";
+ mes "Kuka wipes the drool from his mouth.";
+ next;
+ mes "[Kuka]";
+ mes "Catch 30 Phens yo~ And also get me 10 Fish Tails yo~ Get them to our Director Cat, and he will make a delicious dish with them yo~";
+ close;
+ case 2:
+ setquest 5075;
+ mes "[Kuka]";
+ mes "Lately, I've felt powerless and that there's too much weight on me yo~ I should take care of my health yo~";
+ next;
+ mes "[Kuka]";
+ mes "Now it's time for some healthy food yo~";
+ next;
+ mes "[Kuka]";
+ mes "Get 50 Marse and 25 Milk to our Cat Gamers Director yo~. He has excellent knowledge on healthy foods yo~.";
+ close;
+ case 3:
+ setquest 5076;
+ mes "[Kuka]";
+ mes "We have a rival yo~ 'Dog n Waltz' yo~";
+ next;
+ mes "[Kuka]";
+ mes "I want to harass similar goons yo~";
+ next;
+ mes "[Kuka]";
+ mes "There is an archer among Kobolds yo~ Harass 30 Kobold Archers and report to our Cat Gamers Director yo~";
+ close;
+ case 4:
+ setquest 5077;
+ mes "[Kuka]";
+ mes "Quickness is very important for winning the game yo~ Work on quickness yo~";
+ next;
+ mes "[Kuka]";
+ mes "Mouse catching is the best work out for quickness training yo~";
+ next;
+ mes "[Kuka]";
+ mes "Catch 10 blue and chubby Cramps, and report to our Cat Gamers Director yo~";
+ close;
+ case 5:
+ setquest 5078;
+ mes "[Kuka]";
+ mes "I crave bird cuisine yo~ Bird cuisine is so delicious yo~";
+ next;
+ mes "[Kuka]";
+ mes "Picky is too small and Condor is not tasty yo~ How about Peco Peco yo~?";
+ next;
+ mes "[Kuka]";
+ mes "Ok yo~ Catch 50 Peco Pecos and report to our Cat Gamers Director yo~ Tonight, we will have a bird cuisine party yo~";
+ close;
+ case 6:
+ setquest 5079;
+ mes "[Kuka]";
+ mes "I get too nervous before the game yo~. And I don't play well when I am nervous yo~. I need something to calm down before the game starts yo~.";
+ next;
+ mes "[Kuka]";
+ mes "Yarn is very useful for relaxing yo~";
+ next;
+ mes "[Kuka]";
+ mes "Get 20 Yarns yo~ There are many other cats with the same issue yo~ The Cat Gamers Director will take care of them yo~";
+ close;
+ case 7:
+ setquest 5080;
+ mes "[Kuka]";
+ mes "Recently, our Director seems to have been trying to cut some expenses yo~ Or maybe the Manager Cat is taking advantage yo~";
+ next;
+ mes "[Kuka]";
+ mes "Regular snacks for our players have been reduced yo~ "+strcharinfo(0)+" should go get 30 Rat Tails, and report to our Cat Gamers Director yo~";
+ next;
+ mes "[Kuka]";
+ mes "Then, we shall find out if our manager is being greedy or not yo~";
+ close;
+ case 8:
+ setquest 5081;
+ mes "[Kuka]";
+ mes "I am having a slump these days yo~ I can't give my 100% to the game.";
+ next;
+ mes "[Kuka]";
+ mes "It is the lemon we need in times like this yo~";
+ next;
+ mes "[Kuka]";
+ mes "Get 5 lemons for me yo~ Don't forget, I need 5 Lemons yo~ Our Cat Gamers Director should know what to do with them yo~";
+ close;
+ case 9:
+ setquest 5082;
+ mes "[Kuka]";
+ mes "Malangdo is a good place for a cat to live yo~ But, it gets very hot when we play games yo~";
+ next;
+ mes "[Kuka]";
+ mes "When we are playing a lot, it gets really crazy hot yo~ Crazy cats are scary yo~ We need Ice Pieces or Ice Cream yo~";
+ next;
+ mes "[Kuka]";
+ mes "Get us either 10 Ice Pieces or 10 Ice Creams, and report to our Cat Gamers Director yo~";
+ close;
+ case 10:
+ setquest 5083;
+ mes "[Kuka]";
+ mes "Cat Gamers Director's order yo~ Find Eryu who is afraid of the Director yo~";
+ next;
+ mes "[Kuka]";
+ mes "You must find Eryu, and tell him 'Come back' yo~ report to our Cat Gamers Director yo~";
+ close;
+ case 11:
+ setquest 5085;
+ mes "[Kuka]";
+ mes "Cat Gamers Director's order yo~ Find Stew who is afraid of the Director yo~";
+ next;
+ mes "[Kuka]";
+ mes "You must find Stew, and tell him 'Come back' yo~ report to our Cat Gamers Director yo~";
+ close;
+ case 12:
+ setquest 5087;
+ mes "[Kuka]";
+ mes "Cat Gamers Director's order yo~ Find Ketchup who is afraid of the Director yo~";
+ next;
+ mes "[Kuka]";
+ mes "You must find Ketchup, and tell him 'Come back' yo~ report to our Cat Gamers Director yo~";
+ close;
+ case 13:
+ setquest 5089;
+ mes "[Kuka]";
+ mes "Cat Gamers Director's order yo~ Find Eff who is afraid of the Director yo~";
+ next;
+ mes "[Kuka]";
+ mes "You must find Eff, and tell him 'Come back' yo~ report to our Cat Gamers Director yo~";
+ close;
+ }
+}
+
+mal_in01,134,221,4 script KungKung#gamer 422,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ for(set .@i,5074; .@i<=5090; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1) {
+ mes "[KungKung]";
+ mes "You didn't keep your promise. I have no business with you.";
+ close;
+ }
+ }
+ if (malang_gamer < 20) {
+ if (countitem(2872)) {
+ mes "[KungKung]";
+ mes "You are not qualified. Hmm... I am not sure how you got this, but we cannot practice with you. Go back.";
+ close;
+ }
+ mes "[KungKung]";
+ mes "Do not bother me. I am waiting for my practicing partner.";
+ close;
+ }
+ if (!isequipped(2872)) {
+ mes "[KungKung]";
+ mes "Are you the practice partner? You are late. Let's start right away.";
+ next;
+ mes "[KungKung]";
+ mes "... ... ...";
+ next;
+ mes "[KungKung]";
+ mes "Where is your certificate? You cannot practice with us unless you have that certificate. Go get it.";
+ close;
+ }
+ if (checkquest(5072,PLAYTIME) == 0 || checkquest(5072,PLAYTIME) == 1) {
+ mes "[KungKung]";
+ mes "You don't have a watch? Or can't read the time? It's not the time yet.";
+ close;
+ } else if (checkquest(5072,PLAYTIME) == 2)
+ erasequest 5072;
+ mes "[KungKung]";
+ mes "Are you the practice partner? You are late. Let's start right away.";
+ next;
+ switch(select("Play the game.:Ask current 1st place.:Ask about the game rules.")) {
+ case 1:
+ mes "[KungKung]";
+ mes "Before the game, we will decide the turn by rolling a dice.";
+ next;
+ break;
+ case 2:
+ mes "[KungKung]";
+ mes "Why do you want to know the 1st place? KongNyangKong is a brutal and tough match game. Kuka should know such thing!";
+ close;
+ case 3:
+ mes "[KungKung]";
+ mes "You want to learn the game rules?";
+ mes "You seem to have a polite way of asking things.";
+ mes "Listen carefully.";
+ next;
+ mes "[KungKung]";
+ mes "KongNyangKong has different play rules when attacking and defending.";
+ next;
+ mes "[KungKung]";
+ mes "When attacking, you must turn your hand to the same side as your opponent in order to complete the attack.";
+ next;
+ cutin "cat_g_01",4;
+ mes "[KungKung]";
+ mes "If we turn our hands the same way like this, then your attack is successful.";
+ next;
+ cutin "",255;
+ mes "[KungKung]";
+ mes "For defending, you must turn your hand to the opposite side of your opponent in order to defend yourself.";
+ next;
+ cutin "cat_g_06",4;
+ mes "[KungKung]";
+ mes "Yes! If you turn your hand opposite to mine like that, you have succeeded defending yourself.";
+ next;
+ cutin "",255;
+ mes "[KungKung]";
+ mes "If you are clever enough, you should know that the bottom hand is the attacker's hand.";
+ next;
+ mes "[KungKung]";
+ mes "Last!! Most important rule.";
+ mes "Once you succeed attacking, you can continue attacking your opponent.";
+ mes "When you fail, then you are on the defending side.";
+ mes "Do not forget this!";
+ next;
+ mes "[KungKung]";
+ mes "You can ask about the KongNyangKong rules anytime you want!";
+ mes "Our Manager Cat also knows all about the KongNyangKong rules.";
+ mes "That is all!";
+ close;
+ }
+ while(1) {
+ set .@pc_dic, rand(6);
+ set .@npc_dic, rand(6);
+
+ // Emote[58-63]:
+ // e_dice1, e_dice2, e_dice3, e_dice4, e_dice5, e_dice6
+ emotion 58+.@pc_dic,1;
+ emotion 58+.@npc_dic;
+
+ if (.@pc_dic > .@npc_dic) {
+ mes "[KungKung]";
+ mes "Your dice roll number is higher. You can attack first.";
+ set .@attack_turn,1;
+ next;
+ break;
+ } else if (.@pc_dic < .@npc_dic) {
+ mes "[KungKung]";
+ mes "My dice roll number is higher. I will attack first.";
+ set .@attack_turn,2;
+ next;
+ break;
+ } else {
+ mes "[KungKung]";
+ mes "We have even numbers. Let's roll the dice once again.";
+ next;
+ }
+ }
+ set .@pc_hp,100;
+ set .@npc_hp,100;
+ while(1) {
+ if (!.@pc_hp || !.@npc_hp) break;
+ mes strcharinfo(0)+" (^FF0000"+.@pc_hp+"^000000/100)";
+ mes "--------------------------------";
+ mes "KungKung (^FF0000"+.@npc_hp+"^000000/100)";
+ next;
+ mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "Kong!";
+ emotion e_loud,1;
+ emotion e_loud;
+ next;
+ mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "Kong! Nyang!";
+ emotion e_loud,1;
+ emotion e_loud;
+ next;
+ mes "[KungKung & "+strcharinfo(0)+"]";
+ mes "Kong! Nyang! Kong!";
+ emotion e_loud,1;
+ emotion e_loud;
+ next;
+ set .@cat_hand, rand(1,10);
+ switch(.@attack_turn) {
+ case 1: // Attack
+ mes "How would you like to attack?";
+ mes " ";
+ mes "¡¡ Tip !!";
+ mes "Choose back: ^FF0000You win if the cat shows the back of its paw.^000000";
+ mes "Choose palm: ^FF0000You win if the cat shows the palm of its paw.^000000";
+ next;
+ switch(select("Back:Palm")) {
+ case 1:
+ if (.@cat_hand <= 5) {
+ set .@npc_hp, .@npc_hp-10;
+ cutin "cat_g_01",4;
+ specialeffect EF_BASH;
+ mes "Attack was successful.";
+ mes "You have slapped the back of KungKung's paw.";
+ next;
+ cutin "",255;
+ } else {
+ set .@attack_turn,2;
+ cutin "cat_g_02",4;
+ mes "Attack has failed.";
+ mes "KungKung starts attack now.";
+ next;
+ cutin "",255;
+ }
+ break;
+ case 2:
+ if (.@cat_hand <= 5) {
+ set .@attack_turn,2;
+ cutin "cat_g_03",4;
+ mes "Attack has failed.";
+ mes "KungKung starts attack now.";
+ next;
+ cutin "",255;
+ } else {
+ set .@npc_hp, .@npc_hp-10;
+ cutin "cat_g_04",4;
+ specialeffect EF_BASH;
+ mes "Attack was successful.";
+ mes "You have slapped the back of KungKung's paw.";
+ next;
+ cutin "",255;
+ }
+ break;
+ }
+ break;
+ case 2: // Defend
+ mes "How would you like to defend?";
+ mes " ";
+ mes "¡¡ Tip !!";
+ mes "Choose back: ^FF0000You win if the cat shows the back of its paw.^000000";
+ mes "Choose palm: ^FF0000You win if the cat shows the palm of its paw.^000000";
+ next;
+ switch(select("Back:Palm")) {
+ case 1:
+ if (.@cat_hand <= 5) {
+ set .@pc_hp, .@pc_hp-10;
+ cutin "cat_g_05",4;
+ specialeffect2 EF_BASH;
+ mes "Defending has failed.";
+ mes "KungKung attacks the back of your hand with its sharp claw.";
+ next;
+ cutin "",255;
+ } else {
+ set .@attack_turn,1;
+ cutin "cat_g_06",4;
+ mes "Defending was succesful.";
+ mes "You can start attack now.";
+ next;
+ cutin "",255;
+ }
+ break;
+ case 2:
+ if (.@cat_hand <= 5) {
+ set .@attack_turn,1;
+ cutin "cat_g_07",4;
+ mes "Defending was succesful.";
+ mes "You can start attack now.";
+ next;
+ cutin "",255;
+ } else {
+ set .@pc_hp, .@pc_hp-10;
+ cutin "cat_g_08",4;
+ specialeffect2 EF_BASH;
+ mes "Defending has failed.";
+ mes "KungKung attacks the back of your hand with its sharp claw.";
+ next;
+ cutin "",255;
+ }
+ break;
+ }
+ break;
+ }
+ }
+ if (.@npc_hp == 0) {
+ mes "[KungKung]";
+ mes "I lost. It was good game indeed.";
+ mes "A win would have been better, but I am too busy to look back at the past.";
+ next;
+ cutin "cat_g_lose",4;
+ mes "[KungKung]";
+ mes "Sob...";
+ emotion e_sob;
+ next;
+ cutin "",255;
+ mes "[KungKung]";
+ mes "Hmm... That wasn't necessary, I guess.";
+ mes "This is for you, Human!";
+ setquest 5072;
+ getitem 12636,5; //Malang_Sp_Can
+ next;
+ mes "[KungKung]";
+ mes "Come again tomorrow. I will beat you next time.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ cutin "cat_g_win",4;
+ mes "[KungKung]";
+ mes "I won. It was a boring match.";
+ mes "You need to practice more. Maybe some extra work will help.";
+ next;
+ setquest 5072;
+ switch(rand(1,13)) {
+ case 1:
+ setquest 5074;
+ mes "[KungKung]";
+ mes "Catch the delicious fish Phen.";
+ next;
+ mes "[KungKung]";
+ mes "Go catch 30 Phens. And also get me 10 Fish Tails. Give them to our Director cat, and he will make a delicious dish with them.";
+ break;
+ case 2:
+ setquest 5075;
+ mes "[KungKung]";
+ mes "I may have worked out too much... I feel powerless and that there's too much weight on me. I should take care of my health.";
+ next;
+ mes "[KungKung]";
+ mes "I am already 10 years old, so it's time for some healthy food.";
+ next;
+ mes "[KungKung]";
+ mes "Get 50 Marse and 30 Milk to our Cat Gamers Director. He has excellent knowledge on healthy foods.";
+ break;
+ case 3:
+ setquest 5076;
+ mes "[KungKung]";
+ mes "We have a rival. The 'Dog n Waltz' team... Everything goes wrong when they come around.";
+ next;
+ mes "[KungKung]";
+ mes "I want to ask you to bully them, but that's illegal...";
+ next;
+ mes "[KungKung]";
+ mes "Go harass 30 Kobold Archers instead of 'Dog n Waltz', and report to our Cat Gamers Director.";
+ break;
+ case 4:
+ setquest 5077;
+ mes "[KungKung]";
+ mes "Quickness is most important for winning the game. For better quickness...";
+ next;
+ mes "[KungKung]";
+ mes "Catching mice is best. It's Cramp hunting time.";
+ next;
+ mes "[KungKung]";
+ mes "Catch 10 Cramps, and report to our Cat Gamers Director.";
+ break;
+ case 5:
+ setquest 5078;
+ mes "[KungKung]";
+ mes "I want some bird cuisine. Have you tasted any before?";
+ next;
+ mes "[KungKung]";
+ mes "Peco Peco sounds delicious to me. I don't like eating alone, so...";
+ next;
+ mes "[KungKung]";
+ mes "Catch 50 Peco Pecos, and report to our Cat Gamers Director. We all can have a dinner party with Peco Peco cuisine.";
+ break;
+ case 6:
+ setquest 5079;
+ mes "[KungKung]";
+ mes "Being calm is the key to winning important matches.";
+ next;
+ mes "[KungKung]";
+ mes "There's not a single cat who hasn't played with Yarn when they were young.";
+ next;
+ mes "[KungKung]";
+ mes "Get 20 Yarns, and report to our Cat Gamers Director. It will help improve our team's ability.";
+ break;
+ case 7:
+ setquest 5080;
+ mes "[KungKung]";
+ mes "I have a strong belief that our Manager Cat is taking advantage of our snacks.";
+ next;
+ mes "[KungKung]";
+ mes "All we need is evidence... Get 30 Rat Tails, and report to our Cat Gamers Director.";
+ next;
+ mes "[KungKung]";
+ mes "Then, we shall find out whether or not Manager Cat was doing something wrong.";
+ break;
+ case 8:
+ setquest 5081;
+ mes "[KungKung]";
+ mes "Practice was ok, but I seem to be having a slump these days.";
+ next;
+ mes "[KungKung]";
+ mes "We need to have some Lemon in times like this.";
+ next;
+ mes "[KungKung]";
+ mes "Get 5 Lemons to our Cat Gamers Director. He'll know what to do.";
+ break;
+ case 9:
+ setquest 5082;
+ mes "[KungKung]";
+ mes "Malangdo is a good place for a cat to live. But, it gets hot easily.";
+ next;
+ mes "[KungKung]";
+ mes "On a hot days like this, we could use some Ice Pieces or Ice Cream.";
+ next;
+ mes "[KungKung]";
+ mes "Get either 10 Ice Pieces or 10 Ice Creams. Our Cat Gamers Director should know what to do with them.";
+ break;
+ case 10:
+ setquest 5083;
+ mes "[KungKung]";
+ mes "Our Cat Gamers Director asked this. I should make you do this errand.";
+ next;
+ mes "[KungKung]";
+ mes "Find Eryu the cat from Malangdo, and say 'Come back' loud and clear.";
+ next;
+ mes "[KungKung]";
+ mes "Afterwards, you can report to our Cat Gamers Director. Off you go!!";
+ break;
+ case 11:
+ setquest 5085;
+ mes "[KungKung]";
+ mes "Our Cat Gamers Director asked this. I should make you do this errand.";
+ next;
+ mes "[KungKung]";
+ mes "Find Stew the cat from Malangdo, and say 'Come back' loud and clear.";
+ next;
+ mes "[KungKung]";
+ mes "Afterwards, you can report to our Cat Gamers Director. Off you go!!";
+ break;
+ case 12:
+ setquest 5087;
+ mes "[KungKung]";
+ mes "Our Cat Gamers Director asked this. I should make you do this errand.";
+ next;
+ mes "[KungKung]";
+ mes "Find Ketchup the cat from Malangdo, and say 'Come back' loud and clear.";
+ next;
+ mes "[KungKung]";
+ mes "Afterwards, you can report to our Cat Gamers Director. Off you go!!";
+ break;
+ case 13:
+ setquest 5089;
+ mes "[KungKung]";
+ mes "Our Cat Gamers Director asked this. I should make you do this errand.";
+ next;
+ mes "[KungKung]";
+ mes "Find Eff the cat from Malangdo, and say 'Come back' loud and clear.";
+ next;
+ mes "[KungKung]";
+ mes "Afterwards, you can report to our Cat Gamers Director. Off you go!!";
+ break;
+ }
+ close2;
+ cutin "",255;
+ end;
+}
+
+mal_in01,133,214,6 script Leader#gamer 546,{
+ if (MaxWeight - Weight < 1000) {
+ mes "Your inventory is too heavy to proceed. Come back after lightening your load.";
+ close;
+ }
+ if (checkweight(1201,1) == 0) {
+ mes "Your inventory is too full to proceed. Come back after reducing your load.";
+ close;
+ }
+ for(set .@i,5074; .@i<=5090; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1) {
+ mes "[Leader]";
+ mes "You cannot challenge this Flag Game unless you are done with your assigned work.";
+ close;
+ }
+ }
+ if (malang_gamer < 20) {
+ if (countitem(2872)) {
+ mes "[Leader]";
+ mes "Not everyone can challenge just because they have the certificate.";
+ close;
+ }
+ mes "[Leader]";
+ mes "Ok, let's practice until a challenger comes!!";
+ close;
+ }
+ if (!isequipped(2872)) {
+ mes "[Leader]";
+ mes "Do you want to challege?";
+ next;
+ mes "[Leader]";
+ mes "... ... ...";
+ next;
+ mes "[Leader]";
+ mes "You cannot challenge this Flag Game unless you are wearing our certificate item. Please come back later.";
+ close;
+ }
+ if (checkquest(5073) == 0 || checkquest(5073) == 1) {
+ mes "[Leader]";
+ mes "The Flag Game is only available once a day.";
+ close;
+ } else if (checkquest(5073) == 2)
+ erasequest 5073;
+ mes "[Leader]";
+ mes "Do you want to challege?";
+ next;
+ switch(select("Challenge.:Who are you?:Ask about the rules.")) {
+ case 1:
+ mes "[Leader]";
+ mes "Let's challenge the Flag Game. Please wait while our cats get prepared.";
+ next;
+ break;
+ case 2:
+ mes "[Leader]";
+ mes "Oh! I retired from 'Cat Gamers', and am working on a national game referee license. Licenses are the new trend these days.";
+ next;
+ mes "[Leader]";
+ mes "A referee must use standard language... So it was very hard for me to stop crying meow meow~ like other cats.";
+ next;
+ mes "[Leader]";
+ mes "I know the game rules for players for sure, but refereeing the game is a lot harder than it seems.";
+ next;
+ mes "[Leader]";
+ mes "Sometimes I do make mistakes, and people go crazy like it's the end of world. What a hard job this is.";
+ next;
+ mes "[Leader]";
+ mes "But, I want to finish this course, and be the world's best referee ever.";
+ next;
+ mes "[Leader]";
+ mes "You can bet on it!!";
+ close;
+ case 3:
+ mes "[Leader]";
+ mes "Allow me to explain the rule for the Flag-Waving Game.";
+ next;
+ mes "[Leader]";
+ mes "You play with 5 other cats.";
+ mes "Wait and wave the flag when no others are waving it.";
+ next;
+ mes "[Leader]";
+ mes "You start with 5 Flag Points, and each time you wave the flag 1 point vanishes.";
+ mes "When your points hit 0, the game ends.";
+ next;
+ mes "[Leader]";
+ mes "There's a special rule for this Flag Game. For more thrill, we reduce 1 point if you do not wave your flag for 10 games.";
+ next;
+ mes "[Leader]";
+ mes "You will get bigger presents as you win with less Flag Points used.";
+ next;
+ mes "[Leader]";
+ mes "Come back anytime if you need more help with the game rules. Our Manager Cat is also available for some help with the game rules.";
+ close;
+ }
+
+ // Starting Flag Points (default 5).
+ set .@flag_point,5;
+ setarray .@flag_point_cat[1],5,5,5,5,5;
+
+ // Cat players' names.
+ setarray .@npc_name$[1],
+ "Debong#gamer","Seichi#gamer","Libs#gamer","Row#gamer","YongYong#gamer";
+ setarray .@cat_name$[1],
+ "Debong","Seichi","Annoying Libs","Row","YongYong";
+ setarray .@cat_desc$[1],
+ " who likes to pick hair"," the observer",""," who likes to show off"," who likes to droop";
+
+ // Emotions displayed when cats' flags not waved.
+ setarray .@cat_emote[1],
+ e_ho,e_no,e_an,e_no1,e_spin;
+
+ // .@cat_action[] when cats' flags are not waved.
+ setarray .@cat_emotes$[1],
+ "1|3|5|7", // Picking hair
+ "2|4|6|8", // Looking around
+ "1|3|6|8", // Getting annoyed
+ "2|4|5|7", // Showing off
+ "3|4|5|6"; // Drooping
+
+ while(1) {
+ for(set .@i,1; .@i<=5; set .@i,.@i+1)
+ set .@cat_action[.@i], ((.@flag_point_cat[.@i])?rand(1,8):0);
+
+ switch(.@cat_action[1]) {
+ case 0: set .@cat_mes$[1], "cannot do anything with all points used"; break;
+ case 1: set .@cat_mes$[1], "focuses on hair picking, careless for the game"; break;
+ case 2: set .@cat_mes$[1], "looks around with round eyes"; break;
+ case 3: set .@cat_mes$[1], "picks out hair around the front paw"; break;
+ case 4: set .@cat_mes$[1], "is getting annoyed at tails smacking on the ground"; break;
+ case 5: set .@cat_mes$[1], "picks his hair while looking around"; break;
+ case 6: set .@cat_mes$[1], "shows off his front paw to the Leader Cat"; break;
+ case 7: set .@cat_mes$[1], "is picking some hair on his belly with a calm mind"; break;
+ case 8: set .@cat_mes$[1], "is drooping down with a pleasant face"; break;
+ }
+ switch(.@cat_action[2]) {
+ case 0: set .@cat_mes$[2], "cannot do anything with all points used"; break;
+ case 1: set .@cat_mes$[2], "picks out hair around the front paw"; break;
+ case 2: set .@cat_mes$[2], "looks around with round eyes"; break;
+ case 3: set .@cat_mes$[2], "is getting annoyed with the Leader Cat"; break;
+ case 4: set .@cat_mes$[2], "observes flies flying around"; break;
+ case 5: set .@cat_mes$[2], "shows off picked hair proudly"; break;
+ case 6: set .@cat_mes$[2], "observes Leader Cat's tail curiously"; break;
+ case 7: set .@cat_mes$[2], "looks at you with drooping eyes"; break;
+ case 8: set .@cat_mes$[2], "is checking you out with a weird glimmer"; break;
+ }
+ switch(.@cat_action[3]) {
+ case 0: set .@cat_mes$[3], "cannot do anything with all points used"; break;
+ case 1: set .@cat_mes$[3], "is getting annoyed at tails smacking on the ground"; break;
+ case 2: set .@cat_mes$[3], "observes Leader Cat's tail curiously"; break;
+ case 3: set .@cat_mes$[3], "is getting annoyed while picking his hair"; break;
+ case 4: set .@cat_mes$[3], "scratches with a drooping face"; break;
+ case 5: set .@cat_mes$[3], "catches a flying fly and shows off"; break;
+ case 6: set .@cat_mes$[3], "is getting irritable with a tired face"; break;
+ case 7: set .@cat_mes$[3], "picks his hair while looking around"; break;
+ case 8: set .@cat_mes$[3], "is getting annoyed with the Leader Cat"; break;
+ }
+ switch(.@cat_action[4]) {
+ case 0: set .@cat_mes$[4], "cannot do anything with all points used"; break;
+ case 1: set .@cat_mes$[4], "is picking some hair on his belly with a calm mind"; break;
+ case 2: set .@cat_mes$[4], "shows off his front paw to the Leader Cat"; break;
+ case 3: set .@cat_mes$[4], "is getting irritable with a tired face"; break;
+ case 4: set .@cat_mes$[4], "catches a flying fly and shows off"; break;
+ case 5: set .@cat_mes$[4], "shows off an attractive tail"; break;
+ case 6: set .@cat_mes$[4], "is drooping and mumbling"; break;
+ case 7: set .@cat_mes$[4], "shows off picked hair proudly"; break;
+ case 8: set .@cat_mes$[4], "is checking you out with a weird glimmer"; break;
+ }
+ switch(.@cat_action[5]) {
+ case 0: set .@cat_mes$[5], "cannot do anything with all points used"; break;
+ case 1: set .@cat_mes$[5], "is fighting with his tail"; break;
+ case 2: set .@cat_mes$[5], "is scratching with his hind foot"; break;
+ case 3: set .@cat_mes$[5], "is drooping down with a pleasant face"; break;
+ case 4: set .@cat_mes$[5], "checks you out with a drooping face"; break;
+ case 5: set .@cat_mes$[5], "scratches with a drooping face"; break;
+ case 6: set .@cat_mes$[5], "is drooping and mumbling"; break;
+ case 7: set .@cat_mes$[5], "is lying around~"; break;
+ case 8: set .@cat_mes$[5], "is doing nothing"; break;
+ }
+
+ switch(rand(3)) {
+ case 0: set .@tip$, "You can predict if the cat will wave the flag or not with 'Observe cats'."; break;
+ case 1: set .@tip$, "1 Flag Point will be deducted if you choose 'Wave flag'."; break;
+ case 2: set .@tip$, "Choosing 'Wait', you can check the results and move on to the next game."; break;
+ }
+ while(1) {
+ mes "[Leader]";
+ mes "Cats are now all prepared.";
+ mes "What will you do?";
+ mes " ";
+ mes "Tip: ^F86A08"+.@tip$+"^000000";
+ next;
+ set .@choice, select("Observe cats:Wave flag:Wait");
+ switch(.@choice) {
+ case 1:
+ mes "Observing cats...";
+ next;
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ mes "[------ Observing cats ------]";
+ mes .@cat_name$[.@i]+.@cat_desc$[.@i]+" ^FF0000"+.@cat_mes$[.@i]+"^000000.";
+ next;
+ }
+ break;
+ case 2:
+ set .@flag_point, .@flag_point-1;
+ set .@you_flag,1;
+ break;
+ case 3:
+ break;
+ }
+ if (.@choice != 1) break;
+ }
+ set .@round, .@round+1;
+ set .@rounds_nowave, .@rounds_nowave+1;
+ if (.@you_flag == 1) {
+ set .@you_flag$, "You waved the flag";
+ set .@emotion[0], e_korea;
+ } else {
+ set .@you_flag$, "You didn't wave the flag";
+ set .@emotion[0], e_swt2;
+ }
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ if (.@flag_point_cat[.@i] == 0) {
+ set .@cat_flag$[.@i], "Not enough Flag Points, could not wave";
+ set .@emotion[.@i], e_ho;
+ } else {
+ if (compare(.@cat_emotes$[.@i],""+.@cat_action[.@i])) {
+ set .@cat_flag$[.@i], "Didn't wave";
+ set .@emotion[.@i], .@cat_emote[.@i];
+ } else {
+ set .@cat_flag$[.@i], "Did wave";
+ set .@flag_point_cat[.@i], .@flag_point_cat[.@i]-1;
+ set .@cat_flags_waved, .@cat_flags_waved+1;
+ set .@emotion[.@i], e_korea;
+ }
+ }
+ }
+ mes "[Leader]";
+ mes "Game ^C1653E"+.@round+"^000000 results...";
+ next;
+ mes "[Leader]";
+ mes "~ Flag Game challenger "+strcharinfo(0)+" ~";
+ mes "^FF0000"+.@you_flag$+"^000000 for game ^C1653E"+.@round+"^000000.";
+ mes .@flag_point+" Flag Point remaining.";
+ emotion .@emotion[0],1;
+ next;
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ mes "[Leader]";
+ mes "~ "+.@cat_name$[.@i]+.@cat_desc$[.@i]+" ~";
+ mes "^FF0000"+.@cat_flag$[.@i]+"^000000 the flag for game ^C1653E"+.@round+"^000000.";
+ mes .@flag_point_cat[.@i]+" Flag Point remaining for "+.@cat_name$[.@i]+".";
+ emotion .@emotion[.@i],0,.@npc_name$[.@i];
+ next;
+ }
+ if (.@you_flag == 1) {
+ set .@rounds_nowave,0;
+ if (.@cat_flags_waved == 0) {
+ // You win.
+ break;
+ } else if (.@flag_point == 0) {
+ // You lose.
+ mes "[Leader]";
+ mes "You have used all your Flag Points.";
+ next;
+ break;
+ } else {
+ set .@you_flag,0;
+ mes "[Leader]";
+ mes "You have failed at flag waving.";
+ mes .@flag_point+" Flag Point remaining.";
+ next;
+ mes "[Leader]";
+ mes "Let's move on to the next game.";
+ next;
+ mes "... ... ... ...";
+ next;
+ }
+ } else {
+ if (.@cat_flags_waved == 5) {
+ mes "[Leader]";
+ mes "Congrats "+strcharinfo(0)+". You have succeed on not waving your flag.";
+ next;
+ mes "[Leader]";
+ mes "But! This is flag waving game, so this doesn't count.";
+ next;
+ } else {
+ if (.@rounds_nowave == 10) {
+ set .@rounds_nowave,0;
+ set .@flag_point, .@flag_point-1;
+ mes "[Leader]";
+ mes "Since you didn't wave your flag for 10 games, 1 Flag Point will be reduced according to the official Flag Game rules.";
+ next;
+ if (.@flag_point == 0) {
+ // You lose.
+ mes "[Leader]";
+ mes "You have used all your Flag Points.";
+ next;
+ break;
+ } else {
+ mes "[Leader]";
+ mes .@flag_point+" Flag Point remaining.";
+ next;
+ }
+ } else {
+ mes "[Leader]";
+ mes "Game "+.@round+" has ended properly. Point penalty will be given after "+(10-.@rounds_nowave)+" more.";
+ next;
+ }
+ mes "[Leader]";
+ mes "Let's move on to the next game.";
+ next;
+ mes "... ... ... ...";
+ next;
+ }
+ }
+ set .@cat_flags_waved,0;
+ }
+ mes "[Leader]";
+ mes "The Flag-Waving Game has ended.";
+ next;
+ mes "[Leader]";
+ mes "Final results!!";
+ mes "After "+.@round+" games, "+strcharinfo(0)+" has "+.@flag_point+" Flag Point left.";
+ mes "... ... ...";
+ next;
+ if (.@you_flag == 1 && .@cat_flags_waved == 0) {
+ setquest 5073;
+ if (.@flag_point_cat[1]+.@flag_point_cat[2]+.@flag_point_cat[3]+.@flag_point_cat[4]+.@flag_point_cat[5] < 5) {
+ getitem 12636,3; //Malang_Sp_Can
+ mes "[Leader]";
+ mes "Congratulations. You have won the Flag-Waving Game.";
+ next;
+ mes "[Leader]";
+ mes "But, only 3 Canned Foods will be given as the present since you didn't take a big part through the game.";
+ } else {
+ switch(.@flag_point) {
+ case 0: set .@cans,5; break;
+ case 1: set .@cans,7; break;
+ case 2: set .@cans,10; break;
+ case 3: set .@cans,15; break;
+ case 4: set .@cans,20; break;
+ }
+ getitem 12636, .@cans; //Malang_Sp_Can
+ mes "[Leader]";
+ mes "Congratulations. You have won the Flag-Waving Game. "+.@cans+" Canned Foods will be given as the present.";
+ }
+ next;
+ mes "[Leader]";
+ mes "Hope you win some more Canned Foods tomorrow.";
+ close;
+ }
+ mes "[Leader]";
+ mes "Flag waving failed...";
+ mes "... ... ... ...";
+ next;
+ setquest 5073;
+ switch(rand(1,13)) {
+ case 1: setquest 5074; break;
+ case 2: setquest 5075; break;
+ case 3: setquest 5076; break;
+ case 4: setquest 5077; break;
+ case 5: setquest 5078; break;
+ case 6: setquest 5079; break;
+ case 7: setquest 5080; break;
+ case 8: setquest 5081; break;
+ case 9: setquest 5082; break;
+ case 10: setquest 5083; break;
+ case 11: setquest 5085; break;
+ case 12: setquest 5087; break;
+ case 13: setquest 5089; break;
+ }
+ mes "Leader gives you a note without hesitation. You must follow the order now.";
+ close;
+}
+
+mal_in01,136,216,2 script Seichi#gamer 553,{
+ if (malang_gamer == 20) {
+ mes "[Seichi]";
+ mes "Ah~ I'm hungry. Any rats wandering around?";
+ next;
+ mes "[Seichi]";
+ mes "Ah~ I think I could eat 100 cramps at once.";
+ next;
+ mes "[Seichi]";
+ mes "Hey, why don't you look around? Who knows? Maybe we can find a delicious canned food~";
+ emotion e_no;
+ next;
+ mes "[Seichi]";
+ mes "Then, you can give me one. Hehe~";
+ close;
+ } else {
+ mes "[Seichi]";
+ mes "I am hungry~ Any leftover canned food there?";
+ emotion e_no;
+ close;
+ }
+ end;
+}
+
+mal_in01,136,215,2 script Row#gamer 559,{
+ if (malang_gamer == 20) {
+ mes "[Row]";
+ mes "Hut! Human, you came to see me, Row the Great? What? No?";
+ next;
+ mes "[Row]";
+ mes "What do want then? Get lost. Ah...!!";
+ next;
+ mes "[Row]";
+ mes "You want to play the Flag Game? I see. Show me what you've got.";
+ next;
+ mes "[Row]";
+ mes "But, you know you can never beat me, the great Row.";
+ emotion e_gg;
+ close;
+ } else {
+ mes "[Row]";
+ mes "Flag waving is a serious game. Only special cats like me can compete. Meow~";
+ close;
+ }
+ end;
+}
+
+mal_in01,136,214,2 script Debong#gamer 876,{
+ if (malang_gamer == 20) {
+ mes "[Debong]";
+ mes "Hair picking is my best hobby meow.";
+ next;
+ mes "[Debong]";
+ mes "When picking hair meow~";
+ mes "Time really flies meow~";
+ next;
+ mes "[Debong]";
+ mes "Come here, you, meow. I'll pick your hair meow.";
+ emotion e_lv;
+ close;
+ } else {
+ mes "The cat is picking your hair.";
+ close;
+ }
+ end;
+}
+
+mal_in01,136,213,2 script Libs#gamer 421,{
+ if (malang_gamer == 20) {
+ mes "[Libs]";
+ mes "Arrgg!! Why should I play this stupid flag waving game here?";
+ emotion e_an;
+ next;
+ mes "[Libs]";
+ mes "Hey you. What do you think? I know you've hearing me!";
+ next;
+ mes "[Libs]";
+ mes "... ... ...";
+ next;
+ mes "[Libs]";
+ mes "Well, I'm sure you won't have a clue why this is happening. I forgive you.";
+ emotion e_ok;
+ next;
+ mes "[Libs]";
+ mes "How can a human understand the overwhelming heart of cats.";
+ emotion e_pif;
+ close;
+ } else {
+ mes "[Libs]";
+ mes "A human? What are you doing here?";
+ next;
+ mes "[Libs]";
+ mes "Oh! I see. Our director is looking a practicing partner, why don't you apply?";
+ close;
+ }
+ end;
+}
+
+mal_in01,136,212,2 script YongYong#gamer 554,{
+ if (malang_gamer == 20) {
+ mes "[YongYong]";
+ mes "Meow~ I'm annoyed meow~";
+ emotion e_an;
+ next;
+ mes "[YongYong]";
+ mes "Annoying meow~";
+ emotion e_an;
+ next;
+ mes "[YongYong]";
+ mes "You're annoying meow~";
+ emotion e_an;
+ next;
+ mes "[YongYong]";
+ mes "What are you, a dog? Meow~!";
+ emotion e_an;
+ specialeffect EF_SONICBLOW2;
+ next;
+ mes "[YongYong]";
+ mes "Do not mess with the drooping cat.";
+ mes "Or you will regret it.";
+ close;
+ } else {
+ mes "z..Z..z..Z";
+ mes "The cat is sleeping.";
+ close;
+ }
+ end;
+}
+
+malangdo,120,140,7 script Sign#Cat G Entrance 858,{
+ mes "A small sign.";
+ next;
+ mes "[Cat Gamers Headquarters]";
+ mes "- Practicing partner welcome -";
+ mes "- Recruiting 'Cat Gamers' -";
+ mes "Consult with our Cat Gamers Director.";
+ close;
+}
+
+mal_in01,15,221,6 script Sign#Cat G 1F 858,{
+ mes "[Cat Gamers Headquarters 1F]";
+ mes "- ~ B 1 ~ -";
+ mes "Rock Paper Scissors practice room";
+ mes "ChamChamCham practice room";
+ close;
+}
+
+mal_in01,77,214,4 script Sign#Cat G B1 858,{
+ mes "[Cat Gamers Headquarters B1]";
+ mes "- ~ 1 F ~ -";
+ mes "Consult with the director...";
+ mes "-----------------------------";
+ mes "- ~ B 2 ~ -";
+ mes "KongNyangKong & Flag Game practice room";
+ mes "'Cat Gamers' Tech Team lab";
+ close;
+}
+
+mal_in01,142,220,6 script Sign#Cat G B2 858,{
+ mes "[Cat Gamers Headquarters B2]";
+ mes "- ~ B 1 ~ -";
+ mes "Rock Paper Scissors practice room";
+ mes "ChamChamCham practice room";
+ close;
+}
+
+mal_in01,155,222,2 script Uneet#gamer 890,{
+ set .@playtime, checkquest(5069,PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Uneet]";
+ mes "Wow Wot~ What a busy day~";
+ mes "Oh, you are the one who won the honorable certificate?";
+ next;
+ mes "[Uneet]";
+ mes "There are more orders coming every day. Ahh!! Give me some more manpower!!";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Uneet]";
+ mes "Nyah~ Ong~ Certificate complete!!";
+ next;
+ mes "[Uneet]";
+ mes "I already gave your certificate to the Cat Gamers Director! Go check it out~";
+ next;
+ mes "[Uneet]";
+ mes "Please... Keep this wherever you go.";
+ close;
+ } else if (malang_gamer < 19) {
+ mes "[Uneet]";
+ mes "I am a cat. Nyah~ Ong~";
+ mes "I look like a sheep because I was so busy I didn't have time to shave.";
+ mes "It is not my fault...";
+ close;
+ } else {
+ mes "[Uneet]";
+ mes "Nyah~ Ong~ Do not interrupt my resting.";
+ mes "Usually, I am very busy...";
+ mes "Don't touch me.";
+ next;
+ mes "[Uneet]";
+ mes "I'm a bit fat now, but you should look at yourself too. Haha...";
+ close;
+ }
+ end;
+}
+
+mal_in01,30,222,4 script Interview Cat#gamer 560,{
+ mes "[Interview Cat]";
+ mes "I want join 'Cat Gamers'.";
+ mes "But it seems the Cat Gamers Director is busy now. Should I just leave?";
+ next;
+ mes "[Interview Cat]";
+ mes "What? You also want join this group?";
+ close;
+}
+
+mal_in01,19,213,1 script Waiting Cat#gamer 555,{
+ mes "[Waiting Cat]";
+ mes "Why did someone put that vase inside of a glass?";
+ mes "The Cat Gamers Director did that?";
+ next;
+ mes "[Waiting Cat]";
+ mes "What strange taste.";
+ mes "Maybe I should rethink joining 'Cat Gamers', huh?";
+ close;
+}
+
// Archangel Wing Enchants :: enc_angel
//============================================================
malangdo,234,153,6 script Notice Board#mal 837,{
@@ -6356,6 +10679,7 @@ mal_in01,15,16,3 script Fallen Angel#mal 403,{
}
set .@equip_refine, getequiprefinerycnt(EQI_GARMENT);
setarray .@equip_card[0], getequipcardid(EQI_GARMENT,0),getequipcardid(EQI_GARMENT,1),getequipcardid(EQI_GARMENT,2);
+ delitem 6417,3; //Silvervine
delequip EQI_GARMENT;
getitem2 2573,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],0; //Archangel_Wing
mes "[Fallen Angel]";
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 96fb036b0..177638895 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -1,21 +1,3342 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Port Malaya Quest NPCs
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 0.3
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.1
//===== Description: =========================================
//= [Official Conversion]
-//= Quest NPCs related to Port Malaya.
+//= Quest NPCs related to Port Malaya:
+//== Cautious Village, Port Malaya Daily Quests,
+//== Secret in the Woods, Bakonawa Extermination
+//== Nurse in Port Malaya, Pintados Festival
+//= Merchants:
+//== Traders, Upgrade Boss Equipment
//===== Additional Comments: =================================
//= 0.1 Traders only. Adapted from Masao's conversion. [Euphy]
//= 0.2 Added Tribe Blacksmith [DeadlySilence]
//= 0.3 Added "Secret in the Woods" quest [DeadlySilence]
+//= 0.4 Added "Cautious Village" and subsequent quests [DeadlySilence]
+//= 0.5 Added "Bakonawa Extermination" quest. [Euphy]
+//= 1.0 Added "Nurse in Port Malaya" and "Pintados Festival" quests. [Euphy]
+//= 1.1 Added GM management function and NPC. [Euphy]
//============================================================
-// Traders :: npc
+// Cautious Village & Daily Quests :: hi_malaya
+//============================================================
+malaya,266,76,3 script Rodel the Guard#malaya 570,4,4,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi == 0) {
+ mes "[Rodel the Guard]";
+ mes "Traveling at such confusing times?";
+ mes "Villagers have been feeling more threatened by evil spirits recently.";
+ mes "Villagers are scared and trembling with fear.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "So... the citizens of Port Malaya will feel uncomfortable around you even though there are no hard feelings toward you.";
+ mes "Inns and stops may be closed to outsiders.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "There is no definite solution to this, but you might want to meet Phong in Mumbaki first.";
+ mes "If the village leader gives his confirmation, other people might be less worried.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "I will mark on the map the location of Phong in Mumbaki.";
+ mes "I welcome your visit though the times are harsh.";
+ viewpoint 1, 185, 358, 0, 0x0A82FF;
+ set malaya_hi, 1;
+ setquest 7350;
+ close;
+ } else if (malaya_hi == 1) {
+ mes "[Rodel the Guard]";
+ mes "Meet with Phong in Mumbaki first.";
+ mes "If you are proven to have a pure soul, other villagers will not avoid you.";
+ mes "If you are not sure of the location, I will mark it on your map.";
+ viewpoint 1, 185, 358, 0, 0x0A82FF;
+ close;
+ } else if (malaya_hi >= 20) {
+ if (BaseLevel < 100) {
+ mes "[Rodel the Guard]";
+ mes "How is the life here?";
+ mes "People aren't so bad are they?";
+ mes "If you were a little more skillful, there might be a job for you. Right now, you are little bit below the standard.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "If you become stronger,";
+ mes "I was thinking of giving you the extermination mission that's being carried out in the city. What a shame. ";
+ close;
+ }
+ .@playtime = checkquest(7405, PLAYTIME);
+ if (.@playtime == 0) {
+ mes "[Rodel the Guard]";
+ mes "Whew, thanks to you, I have one less thing to worry about.";
+ mes "I will lose less of my things.";
+ mes "Job well done.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "You can come back if you want.";
+ mes "You understand what I mean right?";
+ close;
+ } else if (.@playtime == 2) {
+ erasequest 7405;
+ mes "[Rodel the Guard]";
+ mes "Oh, about Jejeling that you hunted down before.";
+ mes "People traveling in and out of Baryo are happy about it.";
+ mes "If it's not much too much trouble, I'd like to ask for your help one more time.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "You don't have to do it now, just whenever you are comfortable.";
+ mes "Come and find me when you decide.";
+ close;
+ } else {
+ .@hunting = checkquest(7404, HUNTING);
+ if (.@hunting == -1) {
+ mes "[Rodel the Guard]";
+ switch(rand(1, 6)) {
+ case 1:
+ mes "Recently, there have been a few that gained recognition for their bravery among the villagers." + $malayaNames$[0] + ", " + $malayaNames$[3] + ", " + $malayaNames$[5] + "... Isn't that amazing?";
+ break;
+ case 2:
+ mes "Yesterday, I saw someone who was carried off to the hospital after rolling down the stairs at the park. That person went by the name of " + $malayaNames$[1] + ". I wonder if that person is alright.";
+ break;
+ case 3:
+ mes "The one who contributed the most in the Jejeling hunt was " + $malayaNames$[1] + ".";
+ break;
+ case 4:
+ mes "If you are bored, how about you stand guard for me? This is a heck of a job. You have to keep standing like a statue even till the sun rises up above your head.";
+ break;
+ case 5:
+ mes "Have you been alone with a woman inside a Jeepney? Wow that was awkward... I'm never going to get married at this rate...";
+ break;
+ case 6:
+ mes "Recently among visitors, one became a close friend to me. Do you know " + $malayaNames$[1] + "? Oh, of course you are a good friend as well.";
+ break;
+ }
+ mes "Oh yes, there is a job for you if you are not too busy. Are you interested?";
+ next;
+ mes "[Rodel the Guard]";
+ mes "We are going to organize an extensive Jejeling hunt this time.";
+ mes "Peddlers going in and out of Baryo are always complaining about Jejelings.";
+ next;
+ if (select("Join the Jejeling hunt.:Refuse.") == 2) {
+ mes "[Rodel the Guard]";
+ mes "Is that so? I'm sorry to hear that.";
+ mes "Things would be so much simpler if we had a person like you around.";
+ close;
+ }
+ mes "[Rodel the Guard]";
+ mes "You just have to hunt 20 jejelings each.";
+ mes "It would be a simple task for you.";
+ setquest 7404;
+ close;
+ } else if (.@hunting == 0) {
+ mes "[Rodel the Guard]";
+ mes "You have to get rid of 20 Jejelings.";
+ mes "20 should be enough to give those Jejelings a good scare.";
+ close;
+ } else if (.@hunting == 1) {
+ mes "[Rodel the Guard]";
+ mes "Oh, the hunt is over, but you haven't killed all the Jejelings.";
+ mes "Come again if you want another try.";
+ erasequest 7404;
+ close;
+ } else {
+ mes "[Rodel the Guard]";
+ mes "Oh, I have confirmed you got rid of 20 Jejelings.";
+ mes "Here, this is a reward for people who participated in the Jejeling hunt.";
+ next;
+ mes "[Rodel the Guard]";
+ mes "I think there will be more Jejeling hunts in the future. Please join us again next time.";
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ erasequest 7404;
+ setquest 7405;
+ if (rand(1))
+ $malayaNames$[1] = strcharinfo(0);
+// SavePPL Jejellopy
+ close;
+ }
+ }
+ } else {
+ mes "[Rodel the Guard]";
+ mes "Please understand even if people look at you warily.";
+ mes "The ghost have been haunting the people around here.";
+ close;
+ }
+OnTouch:
+ emotion e_gasp;
+ end;
+
+OnInit:
+ // if there are no names set, set some default values
+ if (!getarraysize($malayaNames$)) {
+ $malayaNames$[0] = "unknown";
+ $malayaNames$[1] = "unknown";
+ $malayaNames$[2] = "unknown";
+ $malayaNames$[3] = "unknown";
+ $malayaNames$[4] = "unknown";
+ $malayaNames$[5] = "unknown";
+ }
+ end;
+}
+
+malaya,185,358,3 script Leader Phong in Mumbaki 580,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 2) {
+ mes "[Phong in Mumbaki]";
+ mes "Looks like this soul came across a big body of water.";
+ mes "Young friend.";
+ mes "The reason you found me... yes... I see.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "You don't have to say it in words.";
+ mes "The people are overly cautious of you.";
+ mes "Rodel was probably concerned about it, so he sent you here.";
+ next;
+ if (malaya_hi == 0) {
+ mes "[Phong in Mumbaki]";
+ mes "No?";
+ mes "Well then maybe there was some kind of a Spiritual bond between us.";
+ next;
+ }
+ mes "[Phong in Mumbaki]";
+ mes "Nonetheless, good to meet you, young friend.";
+ mes "Don't blame the villagers too much for their attitudes toward you.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "We are always surrounded by spirits.";
+ mes "We live with them, praying for peace.";
+ mes "But recently, there has been a problem.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "For some unknown reason,";
+ mes "Spirits have been running amok, and evil sprits have been haunting the villagers.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "This is the shadow that is cast on this beautiful town.";
+ mes "They are cautious because they don't know when the dark shadow will fall on them.";
+ mes "They visit without warning.";
+ next;
+ mes "^4d4dffPhong in Mumbaki turns his head and dark shadows appear.";
+ mes "People are in panic, everyone trembling with fear.^000000";
+ cutin "malaya_ghost01", 4;
+ next;
+ select("Step toward the shadow.:Draw weapon.");
+ mes "[Phong in Mumbaki]";
+ mes "They have followed the trace of the outsider. ";
+ mes "Don't get to close too them.";
+ mes "Your soul can get absorbed.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Hmm? They are responding.";
+ mes "I don't understand? They look scared as if facing a powerful soul.";
+ mes "This feeling... it can't be...";
+ cutin "malaya_ghost02", 4;
+ next;
+ mes "^4d4dffLike words of Phong in Mumbaki, spirits are responding to something, hesitating.";
+ mes "Observing their reaction, you get closer. The spirits are flustered.^000000";
+ next;
+ cutin "", 255;
+ mes "[Phong in Mumbaki]";
+ mes "Amazing. Holder of a soul so strong and pure...!";
+ mes "The dark spirits have disappeared because of your presence.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "I think other villagers would treat you differently now...";
+ mes "Haven't we all witnessed this miracle?";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Young friend. Your presence is welcomed anywhere.";
+ mes "The light from your pure soul will protect you from the darkness.";
+ set malaya_hi, 10;
+ if (checkquest(7350) > -1)
+ erasequest 7350;
+ close;
+ } else if (malaya_hi == 10) {
+ mes "[Phong in Mumbaki]";
+ mes "Everyone in the village witnessed how strong and pure your soul is.";
+ mes "Do not be afraid of the dark.";
+ close;
+ } else if (malaya_hi == 11) {
+ mes "[Phong in Mumbaki]";
+ mes "Is there something wrong?";
+ mes "You look disturbed.";
+ mes "Your clothes also look messed up. Was there some kind of trouble?";
+ next;
+ switch (select("Explain what happened.:There is nothing to talk about.")) {
+ case 1:
+ mes "[Phong in Mumbaki]";
+ mes "Is that so?";
+ mes "Ha ha... that is a big problem. ";
+ mes "You must've been concerned.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "You know, we were preparing a spiritual protection for ";
+ mes "villagers who are afraid of evil spirits...";
+ mes "but preparation is not going well.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "As a temporary solution, how about giving them what they want?";
+ mes "Just pick among the items you have that are unimportant and give them to them.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "All they want is inner peace anyways.";
+ mes "They give meaning to little things and find peace within that behavior.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "What is really important is the belief that you will be safe as long as you carry that item.";
+ mes "If people can stop being afraid by holding on to your old shirt button, then that button is a Spiritual Protection.";
+ next;
+ mes "^4d4dffAs Mumbaki said, giving out some items to serve as a Spiritual Protection would be a good idea.";
+ mes "What would be adequate as a Spiritual Protection..^000000";
+ next;
+ switch (select("Holy Water!:Holy magical item Blue Gemstone?!:Writing utensils or school supplies")) {
+ case 1:
+ mes "[Phong in Mumbaki]";
+ mes "The name itself suggests holiness.";
+ mes "It was blessed by the Holy Water, yes?";
+ mes "Not bad.";
+ mes "Is there another? Something more persuading would be nice.";
+ next;
+ select("Talk about Blue Gemstone.");
+ mes "[Phong in Mumbaki]";
+ mes "Aha... a stone that disappears after absorbing the curse or magical affect instead of the holder.";
+ mes "Used in holy magic?";
+ mes "Sounds good.";
+ next;
+ break;
+ case 2:
+ mes "[Phong in Mumbaki]";
+ mes "Aha... a stone that disappears after absorbing the curse or magical affect instead of the holder.";
+ mes "Used in holy magic?";
+ mes "But it does not sound so holy though.";
+ next;
+ select("Talk about the Holy Water.");
+ mes "[Phong in Mumbaki]";
+ mes "The name itself suggests holiness.";
+ mes "It was blessed by the Holy Water, yes?";
+ mes "Sounds good.";
+ next;
+ break;
+ case 3:
+ mes "[Phong in Mumbaki]";
+ mes "Hmm? It isn't too bad if you are always going to carry it around.";
+ mes "But I think something that looks more persuading would be better.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "It would be better is there is a holy feel to it...";
+ mes "Do you have something that was blessed by your god?";
+ next;
+ select("Holy Water or Blue Gemstone?");
+ mes "[Phong in Mumbaki]";
+ mes "The name itself suggests holiness.";
+ mes "It was blessed by the Holy Water, yes?";
+ mes "Stone that protects the bearer...";
+ mes "Sounds perfect.";
+ next;
+ break;
+ }
+ mes "[Phong in Mumbaki]";
+ mes "Can you find Holy Water and Blue Gemstone that you spoke of?";
+ mes "While I'm working on the Spiritual Protection, you can give out the Holy Artifacts.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "People's trust toward you will grow stronger if you do that.";
+ mes "They will trust and listen to you.";
+ mes "Yes, because you will become their heart's savior.";
+ next;
+ mes "^4d4dffListening to Phong in Mumbaki, you decided to give out Holy Water and Blue Gemstone to the villagers.";
+ set malaya_hi, 12;
+ erasequest 7358;
+ setquest 7351;
+ close;
+ case 2:
+ mes "[Phong in Mumbaki]";
+ mes "Is that so?";
+ mes "Tell me if anything happens.";
+ mes "For you, it'll be my pleasure to lend you a hand";
+ close;
+ }
+ } else if (malaya_hi == 12) {
+ mes "[Phong in Mumbaki]";
+ mes "Holy Water and Blue Gemstone you spoke of will function well. ";
+ mes "I hope they can set aside their fear and worries this way...";
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Phong in Mumbaki]";
+ mes "Did you give out your present to everyone?";
+ mes "By doing this, you made friends with everyone in the town.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "I found ways to build Spiritual Protection.";
+ mes "My grandchild Imelda will create it.";
+ mes "So don't worry. You don't have to give out any more of your things.";
+ erasequest 7365;
+ set malaya_hi, 20;
+ getexp 200000, 200000;
+// SavePPL Soul_Protection
+ close;
+ } else {
+ mes "[Phong in Mumbaki]";
+ switch(rand(1, 6)) {
+ case 1:
+ mes "There was a traveler who is as brave as you. The traveler went by the name of " + $malayaNames$[0] + ". Do you know that person?";
+ break;
+ case 2:
+ mes "There is a traveler recently that has been gaining popularity in the village. The traveler's name was " + $malayaNames$[0] + ". Outsiders seem to be very vigorous.";
+ break;
+ case 3:
+ mes "I have never in my life living as a Mumbaki seen a soul as pure and as strong as that of " + $malayaNames$[0] + "'s. Yes, even stronger and purer than yours.";
+ break;
+ case 4:
+ mes "I witnessed a traveler who flipped backward after stepping on a fruit peel. " + $malayaNames$[1] + ". He cried out 'Ouch! Somebody please help~'. We all had a good laugh.";
+ break;
+ case 5:
+ mes "Welcome! Welcome! You are always welcome around here.";
+ break;
+ case 6:
+ mes "I don't know if you are aware of this, but " + $malayaNames$[0] + " even aided Baryo. I feel good to know that there is a one more good soul around.";
+ break;
+ }
+ next;
+ switch (select("Ask for advice.:Bless flowers...")) {
+ case 1:
+ if (malaya_diwata == 2) {
+ mes "[Phong in Mumbaki]";
+ mes "Ferry at the Port?";
+ mes "So that has happened...";
+ mes "Important thing is to first find out why that child is so upset.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "In this case, a bribe would work perfectly.";
+ mes "Flowers are always the best choice for seducing woman, right?";
+ next;
+ select("This is not a love consulting.");
+ mes "[Phong in Mumbaki]";
+ mes "I'm just saying.";
+ mes "Dead or alive, that poor soul is just a little girl.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Girls that age will smile even at the falling leaves.";
+ mes "Open her heart with an armful of flowers. ";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Let's see...";
+ mes "^4d4dff3 Mystic Flowers, 3 Elegant Flowers, 3 Pretty Flowers^000000 would be enough to make a Bouquet.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Gather these flowers, and I'll make a Bouquet out of it and bless it.";
+ mes "Flowers can be found out side the village.";
+ set malaya_diwata, 3;
+ erasequest 7396;
+ setquest 7397;
+ close;
+ } else if (malaya_diwata == 3) {
+ if ((countitem(6509) < 3) || (countitem(6510) < 3) && (countitem(6511) < 3)) {
+ mes "[Phong in Mumbaki]";
+ mes "There are ^4d4dff3 Mystic Flowers, 3 Elegant Flowers, 3 Pretty Flowers^000000.";
+ mes "Do you understand?";
+ close;
+ }
+ mes "[Phong in Mumbaki]";
+ mes "Oh... I can smell the scent of flowers from here.";
+ mes "I'll gather these and bless them.";
+ next;
+ mes "-Phong in Mumbaki carries out a blessing ceremony after carefully tying flowers into a Bouquet.-";
+ mes "-Just by watching it, holiness overwhelms you.-";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Isn't it a beauty?";
+ mes "Not bad for a old man huh?";
+ mes "I made so many Offering Bouquets in the past that I can make one with my eyes closed now.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Now, deliver this to that child.";
+ mes "I hope she opens her heart with this and becomes willing to talk to you.";
+ delitem 6509, 3; // Mysterious_Flower
+ delitem 6510, 3; // Elegant_Flower
+ delitem 6511, 3; // Beautiful_Flower
+ getitem 6506, 1; // Memorial_Bouquet
+ set malaya_diwata, 4;
+ erasequest 7397;
+ setquest 7398;
+ close;
+ } else if (malaya_diwata == 4) {
+ mes "[Phong in Mumbaki]";
+ mes "Take this Bouquet and talk to the spirit that has nested in the boat.";
+ close;
+ } else if (malaya_diwata > 5) {
+ mes "[Phong in Mumbaki]";
+ mes "It is a pity to see a misfortunate spirit... just as with that Ferry incident.";
+ mes "If you are going to offer a Bouquet for a spirit, I'm always willing to help.";
+ close;
+ } else {
+ mes "[Phong in Mumbaki]";
+ mes "There is nothing this old man can tell you.";
+ mes "Nothing can beat staying healthy, right?";
+ close;
+ }
+ case 2:
+ if (checkquest(7402) == -1) {
+ mes "[Phong in Mumbaki]";
+ mes "Who is the floral tribute for?";
+ mes "Don't tell me you're making one in advance cause you're lazy?";
+ mes "A tribute must be sincere. Don't forget that.";
+ close;
+ }
+ if (countitem(6506) > 0) {
+ mes "[Phong in Mumbaki]";
+ mes "Isn't it already made?";
+ mes "What is that in your hand?";
+ mes "Why are you standing around here? Go and give out those flowers.";
+ close;
+ }
+ if ((countitem(6509) < 3) || (countitem(6510) < 3) || (countitem(6511) < 3)) {
+ mes "[Phong in Mumbaki]";
+ mes "Going to Diwata?";
+ mes "You need Mysterious Flowers, Elegant Flowers and Beautiful Flowers, 3 of each, okay?";
+ mes "I'll make it when the flowers are ready.";
+ close;
+ }
+ mes "[Phong in Mumbaki]";
+ mes "Diwata is some woman.";
+ mes "And you going to her every day is something too.";
+ next;
+ mes "[Phong in Mumbaki]";
+ mes "Hey, here's the Bouquet.";
+ mes "Make offerings with your soul and wish for a fruitful day.";
+ delitem 6509, 3; // Mysterious_Flower
+ delitem 6510, 3; // Elegant_Flower
+ delitem 6511, 3; // Beautiful_Flower
+ getitem 6506, 1; // Memorial_Bouquet
+ close;
+ }
+ }
+}
+
+malaya,169,350,5 script Imelda#malaya 475,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 10) {
+ mes "[Imelda]";
+ mes ".... Hmm.";
+ close;
+ } else if (malaya_hi < 20) {
+ mes "[Imelda]";
+ mes "..........";
+ mes "Not bad.";
+ mes "I have my eyes on you. Let's see how you do in this town.. *chuckle*";
+ next;
+ mes "- She is a rather annoying little girl. -";
+ close;
+ } else if (malaya_hi == 20) {
+ mes "[Imelda]";
+ mes "Aren't you the hero who recently got on the villagers good side with the cheap foreign Holy Artifact?";
+ mes "What's up?";
+ next;
+ select ("You want to make a traditional Spiritual Protection?");
+ mes "[Imelda]";
+ mes "Yes. My grandfather found a way.";
+ mes "I'm going to make it.";
+ next;
+ mes "[Imelda]";
+ mes "This is my job and nobody else's.";
+ mes "Protecting traditions is my job.";
+ next;
+ switch (select("Is that so?:Good luck on your own!")) {
+ case 1:
+ if (BaseLevel < 100) {
+ mes "[Imelda]";
+ mes "Of course.";
+ mes "And to get help from someone as... weak as you is not such a good idea.";
+ next;
+ mes "[Imelda]";
+ mes "Getting the materials is not as easy as it sounds.";
+ mes "Maybe when you become stronger, yes, but not now. Never.";
+ close;
+ }
+ mes "[Imelda]";
+ mes "What then?";
+ mes "You're going to get the materials?";
+ mes "Fine I'll accept your proposal.";
+ next;
+ select ("....?!");
+ mes "[Imelda]";
+ mes "If you wanted to help me out so much, why didn't you say so from the beginning?";
+ mes "Or ask my grandfather?";
+ next;
+ mes "[Imelda]";
+ mes "If you are so enthusiastic about making a Spiritual Protection.";
+ mes "I'd have to give up, won't I?";
+ next;
+ mes "[Imelda]";
+ mes "Now, the needed materials are ^4d4dff6 Sharpened Bamboos, 6 Salt bags and 6 Silver Crosses^000000.";
+ next;
+ mes "[Imelda]";
+ mes "You'll have to manufacture the salt yourself at the north western beach.";
+ mes "You'll find the pits I've made there.";
+ next;
+ mes "[Imelda]";
+ mes "Go to Pandoi at the weapon shop for the Silver Crosses.";
+ mes "He promised to make me some.";
+ next;
+ mes "[Imelda]";
+ mes "Sharpened Bamboos you can get at Baryo or from a nearby forest.";
+ mes "You got all that?";
+ next;
+ mes "[Imelda]";
+ mes "Now's the time to prove your prowess!";
+ set malaya_hi, 21;
+ setquest 7366;
+ close;
+ case 2:
+ mes "[Imelda]";
+ mes "Indeed.";
+ mes "I will protect the village!";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Now I haven't seen any Spiritual Protections made with those!";
+ mes "Interesting~";
+ mes "I'm sure you'll do just fine~";
+ mes "Ha ha ha ha~";
+ next;
+ mes "[Imelda]";
+ mes "Stop annoying me and go away!";
+ close;
+ }
+ } else if (malaya_hi == 21) {
+ if ((countitem(6501) < 6) || (countitem(6500) < 6) || (countitem(6502) < 6)) {
+ mes "[Imelda]";
+ mes "I'll approve you as worthy if you bring all the materials for the Spiritual Protection!";
+ next;
+ mes "[Imelda]";
+ mes "Manufacture the salt at the north western beach and bamboos grow in Baryo Mahiwaga.";
+ mes "Ask Pandoi to make the Silver Crosses.";
+ mes "Don't forget to get 6 of each.";
+ close;
+ }
+ mes "[Imelda]";
+ mes "... Oh... My, you really did get them?";
+ mes "You're better than I thought.";
+ mes "That was not a compliment at all!";
+ next;
+ mes "[Imelda]";
+ mes "Now I'm going through the holy ritual to make a traditional Spiritual Protection.";
+ mes "Give them to me! And don't bother me during the process!";
+ set malaya_hi, 22;
+ delitem 6500, 6; // Sharp_Bamboo
+ delitem 6501, 6; // Salt_Bag
+ delitem 6502, 6; // Silver_Cross
+ erasequest 7366;
+ setquest 7367;
+ close;
+ } else if (malaya_hi == 22) {
+ .@playtime = checkquest(7367, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "Imelda is in ritual with a devout aura, compared to when she streamed invectives.";
+ mes "Better not disturb her.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Imelda]";
+ mes "Still here?";
+ mes "Of course, you want to see how much better my Spiritual Protection is compared to that cheap Holy Artifact.";
+ next;
+ mes "[Imelda]";
+ mes "Fine.";
+ mes "Now go and give these Spiritual Protections to the people!";
+ mes "You have all the rights to do so!";
+ mes "*Giggles*";
+ next;
+ mes "Took the Spiritual Protection, despite her ridiculous logic and vigor.";
+ mes "Let's give them to the villagers.";
+ set malaya_hi, 23;
+ getitem 6503, 6; // Soul_Protection
+ erasequest 7367;
+ setquest 7368;
+ setquest 7369;
+ setquest 7370;
+ setquest 7371;
+ setquest 7372;
+ setquest 7373;
+ setquest 7374;
+ close;
+ } else {
+ mes "[Imelda]";
+ mes "Don't disturb the ritual and go away.";
+ mes "Please wait while I make the Spiritual Protection.";
+ setquest 7367;
+ close;
+ }
+ } else if (malaya_hi == 23) {
+ mes "[Imelda]";
+ mes "The ones who gets the Spiritual Protections are on the list.";
+ mes "Go and give them the new Spiritual Protections";
+ next;
+ mes "[Imelda]";
+ mes "Such a kind person like yourself will surely do it, won't you? ";
+ mes "*Smirk*";
+ close;
+ } else if (malaya_hi == 24) {
+ mes "[Imelda]";
+ mes "... You really did what I asked you?";
+ mes "You know what? I give up.";
+ mes "I thought you'd leave after getting something from this town with sweet talk...";
+ next;
+ mes "[Imelda]";
+ mes "I apologize for my rude behavior.";
+ mes "....This is something to go with the apology.";
+ next;
+ mes "[Imelda]";
+ mes "I'd be happy if you could help me, because the Spiritual Protections needs to be made every day.";
+ set malaya_hi, 25;
+ erasequest 7374;
+ erasequest 7379;
+ setquest 7375;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (rand(1))
+ $malayaNames$[0] = strcharinfo(0);
+ close;
+ } else {
+ mes "[Imelda]";
+ mes "Hello there.";
+ mes "Did you enjoy the scenery of Malaya?";
+ mes "It's nice to have a chat with friends on a Jeepney.";
+ next;
+ switch (select("I'll help you making Spiritual Protections.:Love and Spiritual Protection for all.")) {
+ case 1:
+ if (checkquest(7380) > -1) {
+ if ((countitem(6501) < 6) || (countitem(6502) < 6) || (countitem(6500) < 6)) {
+ mes "[Imelda]";
+ mes "Materials for making a Spiritual Protection are";
+ mes "Salt Bags, Silver Crosses and Sharpened Bamboos, 6 of each.";
+ next;
+ mes "[Imelda]";
+ mes "Salt form the north western beach, Silver Crosses from Pandoi, and Sharpened Bamboos from near Baryo.";
+ close;
+ }
+ mes "[Imelda]";
+ mes "Yes, you got everything precisely.";
+ mes "Thanks for the help.";
+ next;
+ mes "[Imelda]";
+ mes "It'll be nice if you could help again tomorrow.";
+ mes "Here's something for your trouble.";
+ delitem 6500, 6; // Sharp_Bamboo
+ delitem 6501, 6; // Salt_Bag
+ delitem 6502, 6; // Silver_Cross
+ erasequest 7380;
+ setquest 7381;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ close;
+ } else {
+ .@playtime = checkquest(7381, PLAYTIME);
+ if ((.@playtime == 0) || (.@playtime == 1)) {
+ mes "[Imelda]";
+ mes "I appreciate your kindness, but we have enough for today.";
+ mes "I'll ask for you when I need more materials.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Imelda]";
+ mes "Very good timing.";
+ mes "I ran out of materials for today's Spiritual Protections.";
+ mes "Could you go for them now?";
+ erasequest 7381;
+ next;
+ switch (select("Sure.:I need some preparations.")) {
+ case 1:
+ mes "[Imelda]";
+ mes "As usual then.";
+ mes "6 Salt Bags. Silver Crosses and Sharpened Bamboos, please.";
+ setquest 7380;
+ close;
+ case 2:
+ mes "[Imelda]";
+ mes ".......I see.";
+ mes "I'll be waiting then.";
+ close;
+ }
+ } else {
+ mes "[Imelda]";
+ mes "That is great news indeed.";
+ mes "You know what you need for making Spiritual Protections?";
+ mes "Of course, it's not your first time...";
+ next;
+ mes "[Imelda]";
+ mes "I'll leave you to it then.";
+ mes "6 Salt Bags. Silver Crosses and Sharpened Bamboos, please.";
+ setquest 7380;
+ close;
+ }
+ }
+ case 2:
+ if (checkquest(7374) != -1) {
+ if (checkquest(7379) == -1) {
+ mes "[Imelda]";
+ mes "Please deliver these new Spiritual Protections to the villagers.";
+ mes "You know them, right?";
+ close;
+ }
+ mes "[Imelda]";
+ mes "They cannot rely on these Spiritual Protections forever...";
+ mes "It would be much better to have a strong mind such as yours.";
+ next;
+ mes "[Imelda]";
+ mes "Strong spirits are full of light.";
+ mes "Those of the dark cannot approach due the blinding light";
+ next;
+ mes "[Imelda]";
+ mes "I guess that's it for today.";
+ mes "Thank you very much.";
+ setquest 7375;
+ erasequest 7374;
+ erasequest 7379;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (rand(1))
+ $malayaNames$[0] = strcharinfo(0);
+ close;
+ } else {
+ .@playtime = checkquest(7375, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Imelda]";
+ mes "The Spiritual Protections given before will still be in effect";
+ mes "It's okay for now.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Imelda]";
+ mes "I was wondering when you would drop by.";
+ mes "Could you deliver Spiritual Protections to the folks today?";
+ erasequest 7375;
+ next;
+ if (select("Of course.:Not today.") == 2) {
+ mes "[Imelda]";
+ mes "Yes.";
+ mes "Why not take a stroll in Malaya today?";
+ mes "Of course, you'll still encounter ghosts here and there.";
+ close;
+ }
+ if ((checkquest(7381) == 0) || (checkquest(7381) == 1)) {
+ mes "[Imelda]";
+ mes "Thank you very much.";
+ mes "Come back when you've given them all out.";
+ setquest 7374;
+ setquest 7368;
+ setquest 7369;
+ setquest 7370;
+ setquest 7371;
+ setquest 7372;
+ setquest 7373;
+ getitem 6503, 6; // Soul_Protection
+ close;
+ } else {
+ mes "[Imelda]";
+ mes "Thanks for your concern, but I couldn't make any because I ran out of materials.";
+ mes "Shame, is it not?";
+ mes "I do hope there's somebody willing to get them for me.";
+ close;
+ }
+ } else {
+ mes "[Imelda]";
+ mes "Are you at peace? I could feel your serenity all the way from here.";
+ mes "You want to spend that extra time for me?";
+ next;
+ mes "[Imelda]";
+ mes "Could you give out these Spiritual Protections to the villagers for me?";
+ next;
+ switch (select("Yes.:Not today.") == 2) {
+ mes "[Imelda]";
+ mes "Yes.";
+ mes "Why not take a stroll in Malaya today?";
+ mes "Of course, you'll still encounter ghosts here and there.";
+ close;
+ }
+ if ((checkquest(7381, PLAYTIME) == 0) || (checkquest(7381, PLAYTIME) == 1)) {
+ mes "[Imelda]";
+ mes "Thank you very much.";
+ mes "Come back when you've given them all out.";
+ setquest 7374;
+ setquest 7368;
+ setquest 7369;
+ setquest 7370;
+ setquest 7371;
+ setquest 7372;
+ setquest 7373;
+ getitem 6503, 6; // Soul_Protection
+ close;
+ } else {
+ mes "[Imelda]";
+ mes "Thanks for your concern, but I couldn't make any because I ran out of materials.";
+ mes "Shame, is it not?";
+ mes "I do hope there's somebody willing to get them for me.";
+ close;
+ }
+ }
+ }
+ break;
+ }
+ }
+ end;
+}
+
+malaya,181,353,5 script Old Man Nardo#malaya 574,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 10) {
+ mes "[Old Man Nardo]";
+ mes ".......";
+ mes "Not from around here, I see. I have nothing to say.";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7353) == 2) {
+ mes "[Old Man Nardo]";
+ mes "How about lending a hand for a poor old man?";
+ mes "I don't care if it's just a sleeve of your shirt, just give me something with your vigor.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "You know, I've not long to go now...";
+ mes "Help me be at peace along the way.";
+ close;
+ } else {
+ mes "[Old Man Nardo]";
+ mes "Y... You!!";
+ mes "You're the young one with such strong spirit to fend off ghosts of darkness?!";
+ mes "Would it be... Possible to share some of your spirit with me?";
+ next;
+ mes "[Old Man Nardo]";
+ mes "I have trouble sleeping because of the mischievous ghosts around town, and my back hurts when it rains.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Please share that miraculous spirit of yours with me.";
+ mes "How about just a button of yours?";
+ next;
+ mes "-The troubled villagers desire your belongings because you fend off the ghosts. -";
+ setquest 7353;
+ completequest 7353;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "-So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki.-";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ }
+ } else if (malaya_hi == 11) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "He'll rake off all my buttons if I talk to him now.";
+ mes "Must counsel with Mumbaki first!";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7360) != -1) {
+ mes "[Old Man Nardo]";
+ mes "To be honest, I do not believe that this Holy Artifact has any abilities.";
+ mes "It's just for the peace of mind.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Nevertheless, I see you differently now";
+ mes "To exclude just because someone's an outsider doesn't seem like a good idea anymore.";
+ mes "I'm sorry I ignored you.";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water. ^000000";
+ close;
+ }
+ mes "[Old Man Nardo]";
+ mes "So, changed your mind about sharing your spirit?";
+ next;
+ select("Hand over the prepared items.");
+ mes "[Old Man Nardo]";
+ mes "Ahh... Thank you.";
+ mes "Now I can be at peace for some time...";
+ mes "...Peace is always good. Yes.";
+ next;
+ mes "- Gave Holy Water and Blue Gemstone to Old Man Nardo.-";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7360;
+ completequest 7360;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With the Old Man as last, enough Holy Artifacts have been given out.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if ((malaya_hi > 12) && (malaya_hi < 20)) {
+ mes "[Old Man Nardo]";
+ mes "To be honest, I do not believe that this Holy Artifact has any abilities.";
+ mes "It's just for the peace of mind.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "When you have the time, could you help me out with something?";
+ mes "I'm fine now... I mean later.";
+ close;
+ } else {
+ mes "[Old Man Nardo]";
+ switch(rand(1, 6)) {
+ case 1:
+ mes "Do you know Capre? I hear " + $malayaNames$[1] + " travelers are helping out Capre... Anyhow...";
+ break;
+ case 2:
+ mes "There are plenty of Spiritual Protection these days. " + $malayaNames$[0] + " was keen at giving out Spiritual Protections. Is it a tradition where you come from?";
+ break;
+ case 3:
+ mes "I hear that, between merchants, " + $malayaNames$[1] + "? The name seems to pop up a lot. He seems to be talented in the business.";
+ break;
+ case 4:
+ mes "Once, I saw a traveler who slipped on a piece of fruit. 'Someone help " + $malayaNames$[1] + "~' he shouted, which gave me a good laugh.";
+ break;
+ case 5:
+ mes "Ah, you again? Thanks for the help back then.";
+ break;
+ case 6:
+ mes "I hear that " + $malayaNames$[2] + " is famous in Baryo. Why don't you try for some fame?";
+ break;
+ }
+ mes "What is it?";
+ next;
+ switch (select("Speak.:Give Spiritual Protection.:The Old Man and the Cast Iron Cauldron")) {
+ case 1:
+ mes "[Old Man Nardo]";
+ mes "Port Malaya is a beautiful city.";
+ mes "The old and new are in perfect harmony.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Of course there's the recent problem with ghosts wondering about...";
+ mes "It relieves me that you and other young people are working hard on it.";
+ mes "Thank you.";
+ close;
+ case 2:
+ if ((checkquest(7374) != -1) && (checkquest(7369) != -1)) {
+ if (!countitem(6503)) {
+ mes "^4d4dffThere's no Spiritual Protection to give to the Old Man.^000000";
+ close;
+ }
+ mes "[Old Man Nardo]";
+ mes "Is this a new Spiritual Protection made from traditional methods?";
+ mes "I am grateful that you'd replace mine with a new one.";
+ mes "I am always in your and Imelda's debt.";
+ next;
+ mes "-Delivered the Spiritual Protection to Old Man Nardo.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7369;
+ setquest 7383;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "- With the Old Man as last, all Spiritual Protections have been delivered. Head back to Imelda.-";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ } else {
+ mes "[Old Man Nardo]";
+ mes "What? A new Spiritual Protection?";
+ mes "I'm okay. I still have the one you gave me before.";
+ mes "Could you give me a new one when this one wears out?";
+ close;
+ }
+ break;
+ case 3:
+ if (BaseLevel < 100) {
+ mes "[Old Man Nardo]";
+ mes "Hmm... You don't look strong enough to travel to Baryo.";
+ mes "I'm sorry but I can't let you carry the precious Cast Iron Cauldron.";
+ close;
+ }
+ if ((checkquest(7378, PLAYTIME) == 0) || (checkquest(7378, PLAYTIME) == 1)) {
+ mes "[Old Man Nardo]";
+ mes "You've delivered the Cast Iron Cauldron to Baryo, so that's enough for today.";
+ mes "No matter how strong a cauldron is, even with the toughest cast iron, it only lasts a day.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Help me out again tomorrow if you can.";
+ close;
+ } else if (checkquest(7378, PLAYTIME) == 2) {
+ mes "[Old Man Nardo]";
+ mes "Hey there!";
+ mes "So, are you well and well fed?";
+ mes "Come back again when you have the time.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "It's about the Cast Iron Cauldron, but it can wait for after your current errand.";
+ erasequest 7378;
+ close;
+ } else {
+ if (checkquest(7377) != -1) {
+ if (countitem(6503) < 5) {
+ mes "[Old Man Nardo]";
+ mes "Did you deliver the cauldron in one piece?";
+ mes "Kiko in Mumbaki should have given you a Spiritual Protection. Do you have it?";
+ mes "You must have left it somewhere. Go fetch it please.";
+ close;
+ }
+ mes "[Old Man Nardo]";
+ mes "Good. It's the Spiritual Protection promised by Kiko in Mumbaki in return.";
+ mes "I know Imelda makes them and you bring them every day, but more the Spiritual Protections, the better.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Please stop by again.";
+ mes "I always prepare the Cast Iron Cauldron needed at Baryo.";
+ delitem 6503, 5; // Soul_Protection
+ setquest 7378;
+ erasequest 7377;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[2] = strcharinfo(0);
+ close;
+ } else {
+ if (checkquest(7376) > -1) {
+ mes "[Old Man Nardo]";
+ mes "Go to Kiko in Mumbaki at Baryo Mahiwaga and deliver the Cast Iron Cauldron.";
+ mes "This should help against the Bakonawa troubles.";
+ close;
+ } else {
+ mes "[Old Man Nardo]";
+ mes "Yes, the Cast Iron Cauldron.";
+ mes "Go to Kiko in Mumbaki at Baryo Mahiwaga and deliver the Cast Iron Cauldron.";
+ mes "I'd like you to do it for me...";
+ next;
+ switch (select("Cast Iron Cauldron??:I'll do it.:I'm busy right now.")) {
+ case 1:
+ mes "[Old Man Nardo]";
+ mes "It's because of the Bakonawa.";
+ mes "Beat the cauldron and the surprised Bakonawa spits back out the moon.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Baryo Mahiwaga is close to where Bakonawa lives, so they are always prepared for trouble.";
+ next;
+ mes "[Old Man Nardo]";
+ mes "Enough Cast Iron Cauldrons must be prepared for beating.";
+ mes "But the forge is better here.";
+ mes "So I deliver them every day.";
+ close;
+ case 2:
+ mes "[Old Man Nardo]";
+ mes "This is the Cast Iron Cauldron. They have fine blacksmiths in Malaya.";
+ mes "Deliver this to Kiko in Mumbaki at the nearby town of Baryo Mahiwaga.";
+ setquest 7376;
+ getitem 6504, 5; // Cast_Iron_Caldron
+ close;
+ case 3:
+ mes "[Old Man Nardo]";
+ mes "Is that so.";
+ mes "I'm sorry, you must be very busy.";
+ close;
+ }
+ }
+ }
+ }
+ break;
+ }
+ }
+ end;
+}
+
+malaya,224,267,3 script Romel#malaya 573,{
+ if (malaya_hi < 10) {
+ mes "[Romel]";
+ mes ".........";
+ mes " ";
+ mes "(He evades your gaze and ignores you.)";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7357) == 2) {
+ mes "[Romel]";
+ mes "....So cold-hearted.";
+ mes "And here we are, always trembling in anxiety...";
+ next;
+ mes "[Romel]";
+ mes "Not even allowed the peace of mind...";
+ close;
+ } else {
+ mes "[Romel]";
+ mes "Ahh....";
+ mes "... You..";
+ mes "I'm sorry I ignored you.";
+ mes "But... you must be the one they're talking about...";
+ next;
+ mes "[Romel]";
+ mes "Are you the one who fends off the ghosts?";
+ mes "If it's okay with you, can I have one of your belongings or some hair?";
+ next;
+ mes "[Romel]";
+ mes "I want to carry it... Like a charm of sort.";
+ next;
+ mes "-The troubled villagers desire your belongings because you fend off the ghosts. -";
+ setquest 7357;
+ completequest 7357;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "- So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki.-";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ }
+ } else if (malaya_hi == 11) {
+ mes "Romel looks in your way with a sad look.";
+ mes "He'll surely take a hair or pull a sleeve if he had his way!";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7364) != -1) {
+ mes "[Romel]";
+ mes "Frankly speaking, it's for the peace of mind.";
+ mes "With it, I could face them with more boldness.";
+ next;
+ mes "[Romel]";
+ mes "I mean, I'm relying on such items,";
+ mes "but I am braver with them.";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water. ^000000";
+ close;
+ }
+ mes "[Romel]";
+ mes "...What is it?";
+ next;
+ select ("Hand him the prepared items");
+ mes "[Romel]";
+ mes "Oh... Thank you.";
+ mes "I can feel your spirit.";
+ mes "This will keep me safe.";
+ next;
+ mes "[Romel]";
+ mes "Hey... Could you give some for my daughter as well?";
+ next;
+ mes "- Gave Romel the prepared Holy Water and Blue Gemstone.-";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7364;
+ completequest 7364;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With Romel as last, I think enough Holy Artifacts have been given.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Romel]";
+ mes "The Holy Artifact is in good hands.";
+ mes "Same with my daughter.";
+ close;
+ } else {
+ mes "[Romel]";
+ mes "Hello there.";
+ switch(rand(1, 6)) {
+ case 1:
+ mes "Ha ha, I had a dream last night, you see, and there was " + $malayaNames$[0] + " in the dream. Ha ha... Strange indeed...";
+ break;
+ case 2:
+ mes "Sometimes, my wife makes these sounds in her sleep. " + $malayaNames$[0] + "... " + $malayaNames$[0] + "... she says. Who is it? Do you know?! Is she possessed by a ghost?";
+ break;
+ case 3:
+ mes "It's all thanks to " + $malayaNames$[0] + " for changing the atmosphere of the house. It seems like we were saved by the Holy Artifact and Spiritual Protection.";
+ break;
+ case 4:
+ mes "The people of the neighboring Baryo Mahiwaga are so strong. Even their children play in the forest. I can't imagine myself doing that.";
+ break;
+ case 5:
+ mes "Without the slightest doubt, the most famous person in town is " + $malayaNames$[2] + ". Even famous in Baryo they say.";
+ break;
+ case 6:
+ mes "Merchant Woeon says 'Our " + $malayaNames$[1] + " sir/ma'am' 'we " + $malayaNames$[1] + " sir/ma'am' during drinking. I wonder what happened between the two of them?";
+ break;
+ }
+ next;
+ if (select("Give Spiritual Protection:How are things?") == 2) {
+ mes "[Romel]";
+ mes "I am at peace these days.";
+ close;
+ }
+ if ((checkquest(7374) == -1) || (checkquest(7373) == -1)) {
+ mes "[Romel]";
+ mes "A new Spiritual Protection?";
+ mes "The one you gave me before still works fine.";
+ mes "I'm okay for now.";
+ close;
+ }
+ if (!countitem(6503)) {
+ mes "^4d4dffThere are no Spiritual Protections to give to Romel.^000000";
+ close;
+ }
+ mes "[Romel]";
+ mes "A new Spiritual Protection.";
+ mes "I was thinking this one had worn out... Thanks for coming.";
+ mes "This Spiritual Protection will also protect us.";
+ next;
+ mes "- Delivered Romel his Spiritual Protection.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7373;
+ setquest 7387;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "- With Romel as last, all Spiritual Protections have been delivered. Head back to Imelda.-";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ }
+ end;
+}
+
+malaya,223,267,5 script Talah#malaya 941,{
+ if (malaya_hi < 10) {
+ mes "[Talah]";
+ mes "..........gasp!";
+ mes " ";
+ mes "(When your eyes met with hers, she ran and hid behind her father.)";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7356) == 2) {
+ mes "[Talah]";
+ mes "Talah might be taken away tonight.";
+ mes "Scary kids might come to Talah.";
+ next;
+ mes "When Talah tugs at Romel's shirt, Romel looks at you with a sad gaze.";
+ mes "Better do something before they take a button from you...";
+ close;
+ } else {
+ mes "[Talah]";
+ mes "....I..umm... that.....";
+ mes ".........oh... Daddy....";
+ next;
+ mes "[Romel]";
+ mes "Hey, could you give my daughter a button or some hair of yours?";
+ mes "She has trouble sleeping at night .......";
+ next;
+ mes "[Romel]";
+ mes "Wouldn't she be able to sleep well if she had something from you as a lucky charm?";
+ next;
+ mes "- The troubled villagers desire your belongings because you fend off the ghosts. -";
+ setquest 7356;
+ completequest 7356;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "- So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki. -";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ }
+ } else if (malaya_hi == 11) {
+ mes "Talah looks from you to her father with inquisitive eyes.";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7363) != -1) {
+ mes "[Talah]";
+ mes "I dont know for sure";
+ mes "but I get a warm feel from them.";
+ mes "Daddy's braver now and that makes Talah stronger too.";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water. ^000000";
+ close;
+ }
+ mes "[Talah]";
+ mes ".... Can I say hello?";
+ mes "Hello... there...";
+ next;
+ select("Give the prepared items.");
+ mes "[Talah]";
+ mes "Pretty blue stones...!";
+ mes "Oooooh~ They're beautiful!";
+ mes "Is this stone going to keep Talah safe?";
+ next;
+ mes "- Delivered the Holy Water and Blue Gemstone to Talah. -";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7363;
+ completequest 7363;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With Talah as last, I think enough Holy Artifacts have been given.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Talah]";
+ mes "Daddy told me to hold on to the Holy Artifact really tight.";
+ mes "So it keeps away bad ghosts...";
+ close;
+ } else {
+ mes "[Talah]";
+ mes "Hello...";
+ next;
+ if (select("Give Spiritual Protection.:Hi there?") == 2) {
+ mes "[Talah]";
+ mes "...Hey...Thank you.";
+ mes "You're keeping us safe aren't you?";
+ close;
+ }
+ if ((checkquest(7374) != -1) && (checkquest(7372) != -1)) {
+ if (!countitem(6503)) {
+ mes "^4d4dffThere is no Spiritual Protection to give to Talah.^000000";
+ close;
+ }
+ mes "[Talah]";
+ mes "Is this a new Spiritual Protection?";
+ mes "Thank you.";
+ mes "Talah can sleep well now with the Spiritual Protection.";
+ mes "Daddy likes it too.";
+ next;
+ mes "- Delivered new Spiritual Protection to Talah.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7372;
+ setquest 7386;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "- With Talah as last, all Spiritual Protections have been delivered. Head back to Imelda. -";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ } else {
+ mes "[Talah]";
+ mes "Umm...";
+ mes "The one you gave before still keeps Talah safe.";
+ mes "I'm okay.";
+ close;
+ }
+ }
+ end;
+}
+
+malaya,62,274,0 script Sand Trap#malaya 557,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if ((checkquest(7366) == -1) && (checkquest(7380) == -1)) {
+ mes "A device to evaporate sea water is buried in the sand...";
+ close;
+ }
+ if (countitem(6501) >= 6) {
+ mes "There's enough salt.";
+ close;
+ }
+ mes "A device to evaporate sea water is installed in the Sand Trap.";
+ next;
+ mes "Salt can be scraped off the dried leaves";
+ mes "someone scattered on the sea water.";
+ close2;
+ progressbar "0xffff00", 5;
+ disablenpc strnpcinfo(0);
+ initnpctimer;
+ getitem 6501, 1; // Salt_Bag
+ mes "[" + strcharinfo(0) + "]";
+ mes "This should be enough.";
+ close;
+
+OnTimer30000:
+ enablenpc strnpcinfo(0);
+ stopnpctimer;
+ end;
+}
+malaya,66,277,0 duplicate(Sand Trap#malaya) Sand Trap#malaya01 557
+malaya,70,282,0 duplicate(Sand Trap#malaya) Sand Trap#malaya02 557
+
+ma_fild01,178,206,0 script Black Bamboo#malaya 844,4,4,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if ((checkquest(7366) == -1) && (checkquest(7380) == -1)) {
+ mes "There's a short and black bamboo tree.";
+ close;
+ }
+ if (countitem(6500) >= 6) {
+ mes "There's enough Sharpened Bamboos...";
+ close;
+ }
+ mes "There's bamboo here with black cane and leaves.";
+ mes "If some of it is cut off and sharpened, I think it will suffice for the Sharpened Bamboo Imelda wanted.";
+ close2;
+ progressbar "0xffff00", 3;
+ disablenpc strnpcinfo(0);
+ initnpctimer;
+ getitem 6500, 1; //Sharp_Bamboo
+ mes "[" + strcharinfo(0) + "]";
+ mes "I knew I could do this!";
+ close;
+OnTouch:
+ if ((checkquest(7366) != -1) || (checkquest(7380) != -1)) {
+ specialeffect EF_LEVEL99_4;
+ }
+ end;
+OnTimer30000:
+ enablenpc strnpcinfo(0);
+ stopnpctimer;
+ end;
+}
+ma_fild01,225,186,0 duplicate(Black Bamboo#malaya) Black Bamboo#malaya01 844,4,4
+ma_fild01,230,244,0 duplicate(Black Bamboo#malaya) Black Bamboo#malaya02 844,4,4
+ma_fild01,174,238,0 duplicate(Black Bamboo#malaya) Black Bamboo#malaya03 844,4,4
+ma_fild01,180,273,0 duplicate(Black Bamboo#malaya) Black Bamboo#malaya04 844,4,4
+ma_fild01,179,145,0 duplicate(Black Bamboo#malaya) Black Bamboo#malaya05 844,4,4
+
+malaya,295,171,3 script Collection Dealer Woeon 582,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 10) {
+ mes "[Woeon]";
+ mes "Urghh... Urgh... I got a headache...";
+ mes "My headache must have been brought to me by you from out of town!";
+ mes "Go away. Shoo, leave!";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7355) == 2) {
+ mes "[Woeon]";
+ mes "Now, look here my friend...";
+ mes "This can all be solved by giving me a button.";
+ mes "It doesn't look so expensive either.";
+ close;
+ } else {
+ mes "[Woeon]";
+ mes "Aha! You're the one they're all talking about!";
+ mes "I was kinda rude right? Forget about it!";
+ mes "Yes, do forget...";
+ next;
+ mes "[Woeon]";
+ mes "If you're in dire need, I could get you a job around here you know..";
+ mes ".... Could you give me some of your things?";
+ next;
+ mes "[Woeon]";
+ mes "I heard the rumors about you shooing away the ghosts!";
+ mes "Can't you see my shaking hands from fear of them ghosts?";
+ mes "I'll feel much better if you could just give me a button off your sleeve...";
+ next;
+ mes "- The troubled villagers desire your belongings because you fend off the ghosts. -";
+ setquest 7355;
+ completequest 7355;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "- So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki.-";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ }
+ } else if (malaya_hi == 11) {
+ mes "[Woeon]";
+ mes "Sigh... Life is so tough these days.";
+ mes "Why did ghosts come along to bother me so.";
+ mes "I wish I had a lucky charm or something...";
+ next;
+ mes "[Woeon]";
+ mes "Why won't you give me one of your belongings so I could keep as a charm?";
+ mes "Come on, one sock could save a man's life, you know.";
+ mes "Cold hearted son of a...";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7362) != -1) {
+ mes "[Woeon]";
+ mes "Hmm. Look at my hands.";
+ mes "Less shaky, eh?";
+ mes "Isn't that so?";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water. ^000000";
+ close;
+ }
+ mes "[Woeon]";
+ mes "Humph! What do you want?";
+ next;
+ select ("Give the prepared items.");
+ mes "[Woeon]";
+ mes "Oh dear... Forget about the thing back there.";
+ mes "You see, I was haunted by another ghost after you left...";
+ mes "No hard feelings..";
+ next;
+ mes "[Woeon]";
+ mes "Is this the source of your spirit?";
+ mes "It feels kinda cool!";
+ mes "Perhaps this will fend off some of them...";
+ next;
+ mes "[Woeon]";
+ mes "Anyway, thanks a lot.";
+ mes "I'll call for you first when a job opens up for you.";
+ next;
+ mes "- Gave Woeon the Holy Water and Blue Gemstone.-";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7362;
+ completequest 7362;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With Woeon as last, I think enough Holy Artifacts have been given.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Woeon]";
+ mes "Now... Let's get back to business.";
+ mes "Thanks to you, I don't see any of those darn ghosts.";
+ mes "Ha ha ha ha ha";
+ close;
+ } else {
+ mes "[Woeon]";
+ mes "Oh, hi there!";
+ next;
+ if (select("Give Spiritual Protection.:The Dealer and his Collection") == 1) {
+ if (((checkquest(7374) == 0) || (checkquest(7374) == 1)) && ((checkquest(7371) == 0) || (checkquest(7371) == 1))) {
+ if (!countitem(6503)) {
+ mes "^4d4dffThere is no Spiritual Protection to give to Woeon.^000000";
+ close;
+ }
+ mes "[Woeon]";
+ mes "Phew~ A new Spiritual Protection?";
+ mes "Is it an officially made protective charm? Imelda does some fine work.";
+ mes "I'm thankful to you as well, of course.";
+ next;
+ mes "-Delivered Spiritual Protection to Woeon.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7371;
+ setquest 7385;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "-With Woeon as last, all Spiritual Protections have been delivered.-";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ } else {
+ mes "[Woeon]";
+ mes "Spiritual Protection?";
+ mes "Mine still works fine.";
+ mes "Very effective indeed.";
+ close;
+ }
+ } else {
+ if (BaseLevel < 100) {
+ mes "[Woeon]";
+ mes "Yes, I collect various by-products from monsters.";
+ mes "In fact, I'm collecting Jejellopys here...";
+ next;
+ mes "[Woeon]";
+ mes "It's too much for you.";
+ mes "Things can get pretty ugly around here, you see.";
+ mes "I'll let you have at it once you're stronger, my friend!";
+ close;
+ }
+ if ((checkquest(7392, PLAYTIME) == 0) || (checkquest(7392, PLAYTIME) == 1)) {
+ mes "[Woeon]";
+ mes "Oh, the Jejellopy collecting?";
+ mes "I have enough for today.";
+ mes "Come back again tomorrow.";
+ close;
+ } else if (checkquest(7392, PLAYTIME) == 2) {
+ mes "[Woeon]";
+ mes "Oh, yes yes.";
+ mes "You're going to collect Jejellopy today as well?";
+ mes "I know it's a difficult job... But you do it so well.";
+ erasequest 7392;
+ next;
+ if (select("I'm too busy today.:Leave it to me!") == 1) {
+ mes "[Woeon]";
+ mes "Is that so? So it is then.";
+ mes "Come stop by when you need some work.";
+ close;
+ }
+ mes "[Woeon]";
+ mes "As usual, bring me 30 Jejellopys, please.";
+ mes "You can get them from the Jejelings.";
+ setquest 7391;
+ close;
+ } else {
+ if ((checkquest(7391) == 0) || (checkquest(7391) == 1)) {
+ if (countitem(6498) < 30) {
+ mes "[Woeon]";
+ mes "Hmm? I don't think you have enough.";
+ mes "I asked you for 30 Jejellopys. Business is business I'm afraid.";
+ close;
+ }
+ mes "[Woeon]";
+ mes "Oh, you have the requested numbers?";
+ mes "I'll take them from here.";
+ mes "You have no need for them, right?";
+ next;
+ mes "[Woeon]";
+ mes "So I have all the Jejellopys...";
+ mes "Come back again!";
+ delitem 6498, countitem(6498); //Jejellopy
+ setquest 7392;
+ erasequest 7391;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ set .@memo_name, rand(1,3);
+ if (!rand(3))
+ $malayaNames$[1] = strcharinfo(0);
+ close;
+ } else {
+ mes "[Woeon]";
+ mes "As you can see, I'm a Collection Dealer.";
+ mes "I trade all kinds of monster or animal by-products.";
+ next;
+ mes "[Woeon]";
+ mes "They're used as materials for manufactured goods.";
+ mes "Of course, the most preferred in Port Malaya is from the monster Jejeling..";
+ next;
+ mes "[Woeon]";
+ mes "Jejellopy can be acquired from the Jejeling.";
+ mes "Can you get me 30 Jejellopys?";
+ next;
+ if (select("Yeah, sure.:Nope.") == 2) {
+ mes "[Woeon]";
+ mes "Is that so. Such a shame.";
+ mes "Come back when you need some work.";
+ close;
+ }
+ mes "[Woeon]";
+ mes "Good, I trust you can do it.";
+ mes "Remember, 30 Jejellopys.";
+ setquest 7391;
+ close;
+ }
+ }
+ }
+ }
+ end;
+}
+
+malaya,119,217,3 script Blacksmith Pandoi 538,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 10) {
+ mes "[Pandoi]";
+ mes "...Gasp!";
+ mes "Go... Go away!";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7354) == 2) {
+ mes "[Pandoi]";
+ mes "Please..";
+ mes "Couldn't you help a guy out here, just for the sake of it?";
+ mes "Do you really think ignoring me is the best option?!";
+ next;
+ mes "[Pandoi]";
+ mes "Now look here.";
+ mes "Please give me just a peek..";
+ mes "It's just a button...";
+ close;
+ } else {
+ mes "[Pandoi]";
+ mes "Hello there!";
+ mes "I've heard of your prestige.";
+ mes "I was wondering if I could receive something to prove that I've met you in person...";
+ next;
+ mes "[Pandoi]";
+ mes "Oh... You're surprised because I'm suddenly so nice to you.";
+ mes "I heard the news you fought off the ghosts.";
+ mes "That's brilliant!";
+ next;
+ mes "[Pandoi]";
+ mes "With an item of your spirit, it would scare away the ghosts, wouldn't it?";
+ mes "Please, be generous, I beg you...";
+ next;
+ mes "-The troubled villagers desire your belongings because you fend off the ghosts. -";
+ setquest 7354;
+ completequest 7354;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "- So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki.-";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ }
+ } else if (malaya_hi == 11) {
+ mes "[Pandoi]";
+ mes "Phew... Life is so tough these days.";
+ mes "Why did ghosts come along to bother me so.";
+ mes "I wish I had a lucky charm or something...";
+ next;
+ mes "[Pandoi]";
+ mes "Please...";
+ mes "Couldn't you help a guy out here, just for the sake of it?";
+ mes "Do you really think ignoring me is the best option?!";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7361) != -1) {
+ mes "[Pandoi]";
+ mes "Now that I have confidence, the only thing left for me to do is charge to the hospital or field for material!";
+ mes "Bu... But, I'm too scared...";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water. ^000000";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "Wh, what, you've finally decided to help me?!";
+ mes "You're going to give Pandoi a gift of peace?!";
+ next;
+ select ("Give the prepared items.");
+ mes "[Pandoi]";
+ mes "Great! I knew you'd come back!";
+ mes "Yes... Now that I have some of your spirit, I can rest well at night.";
+ next;
+ mes "- Gave Pandoi the Holy Water and Blue Gemstone.-";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7361;
+ completequest 7361;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With Pandoi as last, I think I've given enough Holy Artifacts.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Pandoi]";
+ mes "Sil... Silver. I need silver, please.";
+ mes "I thought I could get the silver once the ghosts are gone, but I can't...";
+ close;
+ } else {
+ mes "[Pandoi]";
+ switch(rand(1, 6)) {
+ case 1:
+ mes "You know. " + $malayaNames$[1] + ". You are my hero for becoming stronger. I look up to you!";
+ break;
+ case 2:
+ mes "I've seen you, " + $malayaNames$[1] + " beating those Jejelings outside the town. The energy... I... I was so impressed!";
+ break;
+ case 3:
+ mes "You, " + $malayaNames$[0] + ", lit up my soul. It sparkles, you know. No? You don't?";
+ break;
+ case 4:
+ mes "As far as I can see, recently, " + $malayaNames$[1] + " is the most diligent person around. He's like a god of hard work.";
+ break;
+ case 5:
+ mes $malayaNames$[5] + "made a huge discovery. A dragon, they say.";
+ break;
+ case 6:
+ mes "Hello there?!";
+ break;
+ }
+ next;
+ switch (select("Give Spiritual Protection.:Silver Blade.:Silver Cross")) {
+ case 1:
+ if ((checkquest(7374) == -1) || (checkquest(7370) == -1)) {
+ mes "[Pandoi]";
+ mes "I appreciate you taking care of the expiration dates of my Spiritual Protection.";
+ mes "I think mine's good for now. ";
+ mes "When it wear's out, I'll ask you for another one!";
+ close;
+ }
+ if (!countitem(6503)) {
+ mes "^4d4dffThere is no Spiritual Protection to give to Pandoi.^000000";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "Good. A new Spiritual Protection.";
+ mes "It's always good to know that you won't see those black things again!";
+ next;
+ mes "-Delivered Spiritual Protection to Pandoi.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7370;
+ setquest 7384;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "-With Pandoi as last, all Spiritual Protections have been delivered.-";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ case 2:
+ if (BaseLevel < 100) {
+ mes "[Pandoi]";
+ mes "Hmm... To make a Silver Blade, you need silver.";
+ mes "I could melt Silver Bracelets to get silver.";
+ mes "Silver Bracelets can be acquired at the hospital.";
+ next;
+ mes "[Pandoi]";
+ mes "However, I don't think you can make it right now. I'm sorry, it's just too much for you!";
+ mes "If you go in there like that... You'll never make it out alive!";
+ close;
+ }
+ .@hunting = checkquest(7393, HUNTING);
+ if (.@hunting == 2) {
+ if (countitem(6508) < 10) {
+ mes "[Pandoi]";
+ mes "Where are the Silver Bracelets?";
+ mes "I know you're invincible...";
+ mes "But I must have a Silver Bracelet to make a Silver Blade.";
+ next;
+ mes "[Pandoi]";
+ mes "10 Silver Bracelets!";
+ mes "Regardless of how many of them you hinder, I need 10 Silver Bracelets!!";
+ mes "Now it is in your hands!";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "Respect, all the way!";
+ mes "You fought them off and brought the Silver Bracelets as well.";
+ next;
+ mes "[Pandoi]";
+ mes "From this day on, I shall try to smelt a new silver weapon..!!";
+ mes "I will pound and beat at them until I am left with a fine silver blade in my hands...!!";
+ next;
+ mes "[Pandoi]";
+ mes "It's not much, but here's something for the troubles you went through to get the Silver Bracelets.";
+ mes "If I fail... I'll ask of you the task again!";
+ delitem 6508, 10; //Silver_Bracelet
+ setquest 7394;
+ erasequest 7393;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[1] = strcharinfo(0);
+ close;
+ } else if (.@hunting == 0 || .@hunting == 1) {
+ mes "[Pandoi]";
+ mes "The village hospital holds the most hideous things inside.";
+ mes "I'm not sure what exactly... Whatever's in there, I'm not willing to go near it...";
+ next;
+ mes "[Pandoi]";
+ mes "Please get rid of those rumored monsters and get those Silver Bracelets.";
+ mes "You're the only one I can trust!";
+ close;
+ } else {
+ .@playtime = checkquest(7394, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Pandoi]";
+ mes "I still have some silver to smelt.";
+ mes "I'll request more if I fail again.";
+ close;
+ } else if (.@playtime == 2) {
+ erasequest 7394;
+ mes "[Pandoi]";
+ mes "Oh... what am I to do?";
+ mes "I've wasted the precious materials you brought back for me...";
+ next;
+ mes "[Pandoi]";
+ mes "Maybe I'm not supposed to be a blacksmith!";
+ mes "I'm good with crafting silver, though!";
+ next;
+ if (select("I'll get you the materials. Cheer up.:Give up. It's a lot easier when you do.") == 2) {
+ mes "[Pandoi]";
+ mes "... You're right...";
+ mes "I'll never be able to make a Silver Blade...";
+ mes "Give up... I thought you'd cheer me up.. I'm a little disappointed in you.";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "I knew I could count on you!";
+ mes "I knew I could count on you!";
+ mes "10 Silver Bracelets, please.";
+ setquest 7393;
+ next;
+ mes "[Pandoi]";
+ mes "Pandoi will always smile at you~";
+ mes "*Grin*";
+ close;
+ } else {
+ mes "[Pandoi]";
+ mes "Silver Blade!";
+ mes "It's great. Wonderful! The holy blade to carve all evil with one stroke...!";
+ next;
+ mes "[Pandoi]";
+ mes "I want to be a noted blacksmith by making a Silver Blade.";
+ mes "However, I cannot get the materials.";
+ next;
+ mes "[Pandoi]";
+ mes "I heard that they wore silver bracelets as recognition at the hospital.";
+ mes "But when I got there, it was not the hospital that I used to know.";
+ next;
+ mes "[Pandoi]";
+ mes "Could you slay the horrible creepers and get me the Silver Bracelets?";
+ next;
+ if (select("Indeed!:No. Way.") == 2) {
+ mes "[Pandoi]";
+ mes "... You're right...";
+ mes "I'll never make a Silver Blade...";
+ mes "Such plain expression of disgust. You know what? I hate the idea now.";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "I knew it!";
+ mes "Teach those things at the hospital some manners...";
+ mes "And bring back 10 Silver Bracelets, please.";
+ setquest 7393;
+ next;
+ mes "[Pandoi]";
+ mes "Pandoi will always smile at you~";
+ mes "*Grin*";
+ close;
+ }
+ }
+ case 3:
+ mes "[Pandoi]";
+ mes "You need Silver Crosses?";
+ mes "Pandoi will make them for you!";
+ mes "Still, I cannot create something out of the blue, so I'll be needing some silver.";
+ next;
+ mes "[Pandoi]";
+ mes "I could make one Silver Cross for ^4d4dff2 Silver Bracelets^000000 the monsters hold there...";
+ mes "If you have Silver Bracelets, I could make Silver Crosses with them.";
+ next;
+ switch(select("Make 1 Silver Cross:Make 6 Silver Crosses:Input Number:Quit.")) {
+ case 1:
+ set .@amount,1;
+ case 2:
+ if (!.@amount) set .@amount,6;
+ if (countitem(6508) < (.@amount * 2)) {
+ mes "[Pandoi]";
+ mes "You need at least " + (.@amount * 2) + " Silver Bracelets to make " + .@amount + " Silver " + ((.@amount == 1) ? "Cross" : "Crosses") + ".";
+ close;
+ }
+ set .@time,5;
+ break;
+ case 3:
+ mes "[Pandoi]";
+ mes "How many Silver Crosses do you need?";
+ mes "I can make up to 50 at a time.";
+ next;
+ input .@amount;
+ if (.@amount == 0) {
+ mes "[Pandoi]";
+ mes "Don't need Silver Crosses?";
+ mes "Well, I can take a rest then. Ha ha ha ha~";
+ close;
+ } else if (.@amount > 50) {
+ mes "[Pandoi]";
+ mes "A maximum of 50 at a time!";
+ close;
+ }
+ if (countitem(6508) < (2 * .@amount)) {
+ mes "[Pandoi]";
+ mes "To make " + .@amount + " Silver " + ((.@amount == 1) ? "Cross" : "Crosses") + ", I need at least " + (2 * .@amount) + " Silver Bracelets.";
+ close;
+ }
+ set .@time,15;
+ break;
+ case 4:
+ mes "[Pandoi]";
+ mes "I'll be here if you need me!";
+ close;
+ }
+ mes "[Pandoi]";
+ mes "It'll take just a second.";
+ mes "Pandoi can do it in a jiffy!";
+ close2;
+ progressbar "0xffff00", .@time;
+ delitem 6508, .@amount * 2; //Silver_Bracelet
+ getitem 6502, .@amount; // Silver_Cross
+ mes "[Pandoi]";
+ mes "Look at this!";
+ mes "Very nice indeed.";
+ mes "I should've been a craftsman, not a blacksmith!";
+ close;
+ }
+ }
+ end;
+}
+
+malaya,326,68,2 script Pedro the Sailor 100,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 10) {
+ mes "[Pedro the Sailor]";
+ mes "Oh... This ship's not in service.";
+ mes "Or rather, it can't set sail. *Snigger*";
+ mes "I'm seeing ghosts. I think it's my time to die.";
+ close;
+ } else if (malaya_hi == 10) {
+ if (checkquest(7352) == 2) {
+ mes "- Pedro the Sailor seems to have given up, but he can't take his gaze off of me.-";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "Oh, you're th... The one who fends off ghosts at the wave of a hand?!";
+ mes "Could you stay for a bit and hear me out?!";
+ next;
+ if (select("Sorry.:Sure.") == 1) {
+ mes "[Pedro the Sailor]";
+ mes "Oh, a solid denial.";
+ mes "You just impaled my last glimpse of hope.";
+ mes "Maybe I wasn't persuasive enough...";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "Straight to the point, this town is a den of ghosts!";
+ mes "Sigh... I've been a sailor for quite a while and went to a lot of places, but this I never experienced before.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "You see that ship there?";
+ mes "It's a small ferry, but it also stopped service because of these darn ghosts!";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "It looks okay from the outside, but it's full of ghost, I tell ya.";
+ mes "But the way I heard it, they're afraid of you, right?";
+ next;
+ select ("Oh no, you too...:Not my buttons!");
+ mes "[Pedro the Sailor]";
+ mes "I see many have already asked you for some of your stuff for charms, huh.";
+ mes "Can I budge in that line too?";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I need to have some sincere conversations with that ghost over there.";
+ mes "But the spirit is too strong for me to approach.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "...........That was a lame story.";
+ mes "And it's not easy to give away your stuff to someone else.";
+ next;
+ mes "- Pedro the Sailor seems to have given up, but he can't take his gaze off of me.-";
+ setquest 7352;
+ completequest 7352;
+ if ((checkquest(7352) + checkquest(7353) + checkquest(7354) + checkquest(7355) + checkquest(7356) + checkquest(7357)) > 9) {
+ next;
+ mes "- So many have already asked you for this. Perhaps it will be better to speak with Phong in Mumbaki. -";
+ set malaya_hi, 11;
+ setquest 7358;
+ }
+ close;
+ } else if (malaya_hi == 11) {
+ mes "[Pedro the Sailor]";
+ mes "Sigh...";
+ mes "This is so awkward.";
+ close;
+ } else if (malaya_hi == 12) {
+ if (checkquest(7359) != -1) {
+ mes "[Pedro the Sailor]";
+ mes "Anyway, now that I have what they hate...";
+ mes "Now's the time to charge into my ship...!";
+ close;
+ }
+ if (!countitem(523) || !countitem(717)) {
+ mes "^4d4dffPrepare and give Blue Gemstone and Holy Water.^000000";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "What? I can sense something refreshing in your hands. What is it?";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "You're giving it to me?";
+ mes "Ghosts will hate it?";
+ mes "That's wonderful news!";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Pedro, at your service!";
+ mes "After you're finished with the ghosts here, I'll take on my ship to the end of the world!";
+ next;
+ mes "- Gave Pedro the Sailor the Holy Water and Blue Gemstone. -";
+ delitem 717, 1; //Blue_Gemstone
+ delitem 523, 1; //Holy_Water
+ setquest 7359;
+ completequest 7359;
+ if ((checkquest(7359) + checkquest(7360) + checkquest(7361) + checkquest(7362) + checkquest(7363) + checkquest(7364)) > 11) {
+ mes "-With Pedro the Sailor as last, I think I gave enough Holy Artifacts.-";
+ set malaya_hi, 13;
+ erasequest 7351;
+ setquest 7365;
+ }
+ close;
+ } else if (malaya_hi == 13) {
+ mes "[Pedro the Sailor]";
+ mes "Anyway, now that I have what they hate...";
+ mes "Now's the time to charge into my ship...!";
+ next;
+ mes "-Pedro the Sailor looks determined.-";
+ close;
+ } else {
+ mes "[Pedro the Sailor]";
+ mes "Whoa... Did you see that?";
+ mes "Those black souls just came up and disappeared.";
+ mes "Well, living the dream, eh?";
+ next;
+ if (select("Give Spiritual Protection.:About the Ferry Ride") == 1) {
+ if ((checkquest(7374) == -1) || (checkquest(7368) == -1)) {
+ mes "[Pedro the Sailor]";
+ mes "The Spiritual Protection you gave me before works fine.";
+ mes "I'm good for now.";
+ mes "It's still up for the fight!";
+ close;
+ }
+ if (!countitem(6503)) {
+ mes "^4d4dffThere is no Spiritual Protection to give to Pedro the Sailor.^000000";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "A newly made Spiritual Protection.";
+ mes "Alright. I'll go at them with this one today.";
+ next;
+ mes "-Delivered the Spiritual Protection to Pedro the Sailor.-";
+ delitem 6503, 1; // Soul_Protection
+ erasequest 7368;
+ setquest 7382;
+ if ((checkquest(7382) + checkquest(7383) + checkquest(7384) + checkquest(7385) + checkquest(7386) + checkquest(7387)) > 5) {
+ mes "-With Pedro the Sailor as last, all Spiritual Protections have been delivered.-";
+ if (malaya_hi == 23) {
+ set malaya_hi, 24;
+ }
+ setquest 7379;
+ erasequest 7382;
+ erasequest 7383;
+ erasequest 7384;
+ erasequest 7385;
+ erasequest 7386;
+ erasequest 7387;
+ }
+ close;
+ }
+ if (BaseLevel < 100) {
+ mes "[Pedro the Sailor]";
+ mes "Hmm... Don't you remember me talking about ghosts?";
+ mes "The Ferry is full of ghosts.";
+ mes "Wait, was it one or many?";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Whatever. For you and your current condition, it's out of the question.";
+ mes "Yes. You can't do it. You'll be dragged out in a body bag.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Now I'm not going to stand here and wait for that to happen. No way.";
+ close;
+ }
+ if (malaya_diwata == 0) {
+ mes "[Pedro the Sailor]";
+ mes "I'm sorry, but didn't I say something about ghosts over there?";
+ mes "It can't set sail because of that.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "So what's this whole ghost story about?";
+ mes "Hmmm..........";
+ mes "It's a long story...";
+ next;
+ if (select("I'm listening.:Maybe later.") == 2) {
+ mes "[Pedro the Sailor]";
+ mes "I knew it.";
+ mes "Though, it's not such a boring story.";
+ mes "After all, it is a ghost story.";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "The story goes back to when I first made port here.";
+ mes "It was a nerve racking first time as a liner manager.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I was ready to disembark when I saw something I simply could not believe.";
+ mes "Black haze was swarming to the port from all over town.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "At first, I thought it was just a very thick smog.";
+ mes "As the days went by, it became clear as to what it was.";
+ mes "It was a swarm of souls.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "A very unpleasant group of souls indeed.";
+ mes "Some were wailing some horrible cries around the Ferry about to set sail...";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "After that incident, that ship stayed on that spot until this day.";
+ mes "Why? Because they took over the ship! It's haunted!";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "If you don't believe me, see for yourself.";
+ mes "Then you'll believe me.";
+ set malaya_diwata, 1;
+ setquest 7395;
+ close;
+ } else if (malaya_diwata == 1) {
+ mes "[Pedro the Sailor]";
+ mes "If you want to know, go and see for yourself and get on it.";
+ close;
+ } else if (malaya_diwata == 2) {
+ mes "[Pedro the Sailor]";
+ mes "Soul of a Little Girl?";
+ mes "What about all them bullying ones?";
+ mes "They came and went?";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I don't understand.";
+ mes "Maybe the Leader Mumbaki will know what to do.";
+ close;
+ } else if (malaya_diwata == 3) {
+ mes "[Pedro the Sailor]";
+ mes "Hmm... A floral tribute to soothe the soul....";
+ mes "You want to hear its story after it calms down?";
+ mes "Well... Good luck.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "It can't be helped for the Ferry to set sail again.";
+ mes "I can't go near it because of those mean ones.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Now I'm asking you to do this not because I can't be bothered,";
+ mes "but because I simply can't do it myself.";
+ close;
+ } else if (malaya_diwata == 4) {
+ mes "[Pedro the Sailor]";
+ mes "Did Mumbaki bless the flower?";
+ mes "I hope this works...";
+ mes "I wish you all the luck!!";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I hope you can negotiate with success!";
+ mes "I'll take care of those rude ones outside the ship the best I can.";
+ close;
+ } else if (malaya_diwata == 5) {
+ mes "[Pedro the Sailor]";
+ mes "I see.";
+ mes "Perhaps the Ferry can move again...";
+ mes "Thank you for all you've done for us.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I'd better get ready to set sail then.";
+ mes "It's not much, but this is for you.";
+ mes "If we can get back in business, I'll take you to Izlude for just 1000z.";
+ set malaya_diwata, 6;
+ erasequest 7399;
+ setquest 7401;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[0] = strcharinfo(0);
+ close;
+ } else {
+ .@playtime = checkquest(7401, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Pedro the Sailor]";
+ mes "If you want to go to Alberta, use the big ship over there.";
+ mes "This little one goes to Izlude.";
+ mes "That will be 1000z.";
+ next;
+ if (select("Use.:That's a rip off!") == 2) {
+ mes "[Pedro the Sailor]";
+ mes "What?!";
+ mes "How much do you pay for the Alberta Liner to get here!?";
+ mes "Call this a rip off... You think I'm doing charity?";
+ close;
+ }
+ if (Zeny < 1000) {
+ mes "[Pedro the Sailor]";
+ mes "The price is 1000 zeny.";
+ mes "I can't help you there~";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "Thank you~";
+ mes "Let's go before the ghosts come back!";
+ set Zeny, Zeny - 1000;
+ close2;
+ warp "izlude",195,180;
+ end;
+ } else if (.@playtime == 2) {
+ erasequest 7401;
+ goto L_SetQuest;
+ } else {
+ if (checkquest(7403) == -1) {
+ if (checkquest(7402) == -1) {
+ goto L_SetQuest;
+ }
+ mes "[Pedro the Sailor]";
+ mes "You know what to do.";
+ mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "Give the Bouquet to Miss Diwata to cheer her up.";
+ mes "....Thank you.";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "Diwata is calm!";
+ mes "I can even feel the difference out here.";
+ mes "I am always in your debt.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "You know what? Why don't you do this on a more regular basis?";
+ mes "I think you kind of like doing it.";
+ setquest 7401;
+ erasequest 7403;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[0] = strcharinfo(0);
+ close;
+ }
+ }
+ }
+ end;
+
+L_SetQuest:
+ mes "[Pedro the Sailor]";
+ mes "Ah, the thing is...";
+ mes "We can't go right now..";
+ mes "You see, the ghosts are back...";
+ mes "I'm fed up with nuisance.";
+ next;
+ mes "[Pedro the Sailor]";
+ mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection";
+ mes "a normal person can't stand it.";
+ next;
+ if (select("I see. Take care then.:How about a Floral Tribute?") == 1) {
+ mes "[Pedro the Sailor]";
+ mes "I'm glad you understand.";
+ mes "Sigh...";
+ close;
+ }
+ mes "[Pedro the Sailor]";
+ mes "Hmmm. That would be nice.";
+ mes "If she can be soothed with flowers...!";
+ mes "Good luck.";
+ setquest 7402;
+ close;
+}
+
+ma_in01,125,107,3 script Ghost Diwata 1761,4,4,{
+ end;
+OnTouch:
+ if (malaya_diwata == 0) {
+ cutin "malaya_diwata01", 2;
+ mes "- A creepy Little Girl is standing.";
+ mes "As our eyes meet, a chill runs down my spine with goose bumps all over. -";
+ next;
+ mes "[Diwata]";
+ mes "Are you here to bully Diwata too?";
+ mes "I won't have it!";
+ next;
+ cutin "", 255;
+ mes "-I was thrown out after the Little Girl's low creepy voice and flash from her eyes.-";
+ close;
+ warp "malaya", 324, 66;
+ end;
+ } else if (malaya_diwata == 1) {
+ cutin "malaya_diwata01", 2;
+ mes "- A creepy Little Girl is standing.";
+ mes "As our eyes meet, a chill runs down my spine with goose bumps all over. -";
+ next;
+ mes "[Diwata]";
+ mes "Are you here to bully Diwata too?";
+ mes "I won't have it!";
+ next;
+ select ("Wait! I just want to talk!");
+ mes "[Diwata]";
+ mes "Then who are they behind you?";
+ mes "You're one of them!";
+ next;
+ cutin "malaya_ghost01", 4;
+ mes "- Familiar souls are approaching Diwata. -";
+ next;
+ if (select("It's a misunderstanding!:You're from that..!") == 2) {
+ cutin "malaya_ghost02", 4;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Just as I thought! You're afraid of me?!";
+ mes "Stand aside!";
+ mes "I need to talk to her.";
+ next;
+ cutin "malaya_diwata01", 2;
+ mes "[Diwata]";
+ mes "I don't know why they're backing away...";
+ mes "You get out of my sight too!";
+ next;
+ cutin "", 255;
+ mes "-I was thrown out after the Little Girl's annoyed cry and flash from her eyes.-";
+ set malaya_diwata, 2;
+ setquest 7396;
+ erasequest 7395;
+ close2;
+ warp "malaya", 324, 66;
+ end;
+ }
+ cutin "malaya_diwata01",2;
+ mes "[Diwata]";
+ mes "Enough!";
+ next;
+ cutin "", 255;
+ mes "-I was thrown out after the Little Girl's resolute cry and flash from her eyes.-";
+ set malaya_diwata, 2;
+ setquest 7396;
+ erasequest 7395;
+ close2;
+ warp "malaya", 324, 66;
+ end;
+ } else if ((malaya_diwata == 2) || (malaya_diwata == 3)) {
+ cutin "malaya_diwata01", 2;
+ mes "[Diwata]";
+ mes "You crawled back in?";
+ mes "Get out-!!!!!";
+ next;
+ cutin "", 255;
+ mes "-I was thrown out after the Little Girl's screeching cry and flash from her eyes.-";
+ close;
+ warp "malaya", 324, 66;
+ end;
+ } else if (malaya_diwata == 4) {
+ if (!countitem(6506)) {
+ cutin "malaya_diwata01", 2;
+ mes "- The soul of Little Girl Diwata is looking at me fiercely.";
+ mes "No Offering Bouquet...!!!";
+ next;
+ cutin "", 255;
+ mes "-I was thrown out with a remote look from her.-";
+ close;
+ warp "malaya", 324, 66;
+ end;
+ }
+ mes "- The soul of Little Girl Diwata is looking at me fiercely. -";
+ mes "- The Offering Bouquet... -";
+ cutin "malaya_diwata01", 2;
+ next;
+ if (select("Throw it to the Little Girl.:Slide it across on the floor.") == 1) {
+ mes "- I threw the bouquet before she could toss me out, and she catches in surprise...";
+ mes "She won't toss me... far, now that she has the flower.-";
+ } else {
+ mes "- I slid the flower across the floor to her. She looks puzzled. -";
+ }
+ next;
+ mes "[Diwata]";
+ mes "What is the meaning of this?";
+ mes "You're not an enemy?";
+ next;
+ mes "[Diwata]";
+ mes "What? You're an outsider too?";
+ mes "Ha, so live ones are allowed and I'm not?";
+ next;
+ mes "[Diwata]";
+ mes "Now there's the stereotype of countryside people over outsiders.";
+ mes "I am so annoyed. I feel like wiping them off the map.";
+ next;
+ mes "[Diwata]";
+ mes "What? I shouldn't?";
+ mes "Why should I not?";
+ mes "I'm stalling the ship?";
+ next;
+ mes "[Diwata]";
+ mes "I was going to hear you out because of the flowers";
+ mes "but you're telling me lies?!";
+ next;
+ mes "[Diwata]";
+ mes "So you're saying that I brought these hillbillies on this ship";
+ mes "and that fighting with them is causing the stall?";
+ next;
+ mes "[Diwata]";
+ mes "... Hmm... Humph. It wasn't what I was intending to do.";
+ mes "But they're the ones who're getting on my nerves!";
+ next;
+ mes "[Diwata]";
+ mes "... I can't get off anyway.";
+ mes "Which means that I could feel bad again. Got it?";
+ next;
+ mes "[Diwata]";
+ mes "... I'll try to keep it in today.";
+ mes "It's not because I like the flowers or because I like having company!";
+ mes "It's because I was treated the same way as those cheap ghosts!";
+ next;
+ mes "[Diwata]";
+ mes "Now if you'll excuse me.";
+ mes "And I'll be clear. I'm not going to hold my temper for so long.";
+ next;
+ mes "[Diwata]";
+ mes "Now, g... go away!";
+ set malaya_diwata, 5;
+ delitem 6506, 1; // Memorial_Boquet
+ erasequest 7398;
+ setquest 7399;
+ close;
+ } else if (malaya_diwata == 5) {
+ cutin "malaya_diwata02", 2;
+ mes "[Diwata]";
+ mes "I promise I'll be a good little girl if those hillbillies leave me alone.";
+ mes "If they bother me again, however, I won't be.";
+ close;
+ } else {
+ if (checkquest(7402) == -1) {
+ if (checkquest(7403) == -1) {
+ if ((checkquest(7401, PLAYTIME) == 0) || (checkquest(7401, PLAYTIME) == 1)) {
+ cutin "malaya_diwata02", 2;
+ mes "[Diwata]";
+ mes "Surprisingly enough, I'm doing fine.";
+ mes "Of course I'm tense for when they return,";
+ mes "but, as always, I'll win.";
+ next;
+ mes "[Diwata]";
+ mes "Then the poor crew will cry again";
+ mes "I just can't calm myself down after a fight.";
+ next;
+ mes "[Diwata]";
+ mes "The flowers you bring makes me calm down.";
+ mes "....";
+ mes ".. It's not because I miss people or I like the flowers. Don't take it the wrong way.";
+ close;
+ }
+ cutin "malaya_diwata01", 2;
+ mes "[Diwata]";
+ mes "Get lost!";
+ mes "What? Oh, it's you.";
+ mes "Those hillbillies came back again!";
+ mes "I'm going to kill them!";
+ close;
+ }
+ cutin "malaya_diwata02", 2;
+ mes "[Diwata]";
+ mes "It's good to look at flowers from abroad~";
+ mes "Do all flowers from the warm parts of the world smell so nice?";
+ next;
+ mes "[Diwata]";
+ mes "The flowers you bring makes me calm down.";
+ mes "....";
+ mes ".. It's not because I miss people or I like the flowers. Don't take it the wrong way.";
+ close;
+ }
+ cutin "malaya_diwata01", 2;
+ mes "[Diwata]";
+ mes "Darn it! Have you come for more?!";
+ mes "What?";
+ mes "Oh. It's you?";
+ mes "I'm really depressed right now.";
+ next;
+ mes "- Diwata reached her hands out as if expecting something. -";
+ next;
+ if (select("Give the Bouquet.:Hold her hand.") == 2) {
+ mes "[Diwata]";
+ mes "What do you think you're doing?!!??!?!!";
+ mes "Arghhhh - I have enough creeps around here, thank you!!";
+ next;
+ cutin "", 255;
+ mes "-I was tossed out with Diwata's thunderous cry.-";
+ close;
+ warp "malaya", 324, 66;
+ end;
+ }
+ if (!countitem(6506)) {
+ mes "[Diwata]";
+ mes "What? You want me to wave?";
+ mes "You didn't bring it?";
+ mes "You didn't?!?";
+ mes "Arghhh you just can't trust anybody! Anybody!";
+ next;
+ cutin "", 255;
+ mes "-I was tossed out with Diwata's thunderous cry.-";
+ close;
+ warp "malaya", 324, 66;
+ end;
+ }
+ cutin "malaya_diwata02", 2;
+ mes "[Diwata]";
+ mes "... Oh... Just as I thought!";
+ mes "My only happiness, my only peace of mind..!";
+ mes "Flowers from abroad~!";
+ next;
+ mes "-Diwata seems to feel better. The atmosphere shifts to a more refreshing ambience.-";
+ next;
+ mes "[Diwata]";
+ mes "Tell Pedro the Sailor!";
+ mes "Diwata will be a goddess of sea, so set sail in my generosity.";
+ delitem 6506, 1; // Memorial_Boquet
+ setquest 7403;
+ erasequest 7402;
+ close;
+ }
+ cutin "", 255;
+ end;
+}
+
+ma_fild01,261,208,2 script Kiko in Mumbaki 580,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ mes "[Kiko in Mumbaki]";
+ mes "Welcome to Baryo, stranger.";
+ mes "I am the soul guidance, protector of people and souls here at Baryo.";
+ mes "So, I'm a good leader Kiko in Mumbaki.";
+ next;
+ switch (select("Give Cast-Iron Caldron.:Request Purification Ritual.:Exchange Jellopy for gold.")) {
+ case 1:
+ if (checkquest(7376) == -1) {
+ if (checkquest(7377) == -1) {
+ mes "[Kiko in Mumbaki]";
+ mes "What cauldron?";
+ mes "As far as I know, you're not the one bringing it.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "Poor thing.";
+ mes "do not live a life of lies.";
+ close;
+ }
+ mes "[Kiko in Mumbaki]";
+ mes "Baryo is not a great place for smithy work.";
+ mes "So we always ask a favor to the forge of Malaya.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "Bakonawa does not like loud noises.";
+ mes "That's why we beat the sturdy Cast Iron Cauldrons.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "The Spiritual Protection is proof that I've got my cauldron,";
+ mes "so deliver it well. Okay? Good.";
+ close;
+ }
+ if (countitem(6504) < 5) {
+ mes "[Kiko in Mumbaki]";
+ mes "Oh, must be the cauldron I ordered.";
+ mes "But, where is it?";
+ mes "Are you mocking me?!";
+ close;
+ }
+ mes "[Kiko in Mumbaki]";
+ mes "Yes, excellent!";
+ mes "Very Good.";
+ mes "We can aggravate the Bakonawa more with this.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "I'll give you this for the cauldron.";
+ mes "I hear you're having some trouble with souls?";
+ mes "Take this. It will help you.";
+ delitem 6504, 5; // Cast_Iron_Caldron
+ getitem 6503, 5; // Soul_Protection
+ setquest 7377;
+ erasequest 7376;
+ close;
+ case 2:
+ if (checkquest(7406) == -1) {
+ if (checkquest(7407) == -1) {
+ mes "[Kiko in Mumbaki]";
+ mes "The only purification needed in this village is Vantai's food.";
+ mes "There are no rituals where an outsider, like yourself, can take part in.";
+ close;
+ }
+ mes "[Kiko in Mumbaki]";
+ mes "Vantai must be hungry.";
+ mes "Go give it to him.";
+ mes "Quickly now.";
+ close;
+ }
+ if ((countitem(523) < 10) || (countitem(6507) < 10)) {
+ mes "[Kiko in Mumbaki]";
+ mes "Purification of the bones the Guard Dog Vantai needs to gnaw on?";
+ mes "My work here just gets better and better.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "Go into the forest and fetch me ^4d4dff10 Evil Spirit Bones^000000 and ^4d4dff10 Holy Waters^000000 for the purification ritual.";
+ mes "I'll do the ritual myself.";
+ close;
+ }
+ mes "[Kiko in Mumbaki]";
+ mes "Bones from the animals of this forest all have bad spirits within.";
+ mes "Of course it cannot be helped due to the malignant spirits flailing about...";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "You do this and do this here and there and...";
+ mes "There. The evil spirit has left and the bone is so pure that you can just chew on it.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "Now, take this back to Dong the Guard.";
+ mes "Vantai will become stronger after eating this purified Evil Spirit Bone.";
+ next;
+ mes "[Kiko in Mumbaki]";
+ mes "Moreover, holding on to Evil Spirit Bones will only do you harm,";
+ mes "so I'll take them all to purify.";
+ delitem 6507, countitem(6507); // Evil_Bone
+ delitem 523, 10; //Holy_Water
+ getitem 6505, 10; //Purified_Bone
+ setquest 7407;
+ erasequest 7406;
+ close;
+ case 3:
+ mes "[Kiko in Mumbaki]";
+ mes "Oh no you don't!";
+ mes "Don't you dare!";
+ close;
+ }
+ end;
+}
+
+ma_fild01,239,253,3 script Dhong the Guard 570,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ mes "[Dhong the Guard]";
+ mes "Hi there!";
+ mes "Welcome to Baryo.";
+ next;
+ if (select("You're job seems so hard~:Guard Dog Vantai") == 1) {
+ mes "[Dhong the Guard]";
+ mes "Not at all. I just watch who comes and goes from here.";
+ mes "Travelers are the ones who go through more hardship.";
+ close;
+ }
+ if (BaseLevel < 100) {
+ mes "[Dhong the Guard]";
+ mes "Vantai is a nice dog.";
+ mes "He's probably stronger than you.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "No offense, but";
+ mes "you look weaker than the original owners of the bones Vantai chews on.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "That means just about as strong as me!";
+ mes "Ha ha ha ha ha ha ha!";
+ close;
+ }
+ .@playtime = checkquest(7408, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Dhong the Guard]";
+ mes "The bones you brought Vantai gave him a feast.";
+ mes "He'll be full and merry for a while now.";
+ mes "Nobody can beat Vantai in recon around here.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "Though it is not nice to say a person is lesser than a dog,";
+ mes "but there are some who are lesser.";
+ close;
+ } else if (.@playtime == 2) {
+ erasequest 7408;
+ mes "[Dhong the Guard]";
+ mes "Vantai?";
+ mes "Always the same.";
+ mes "Now that you mention it, it's almost time for him to get hungry.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "Of course, he eats normal dog food, but he can't go without those.";
+ mes "You know what I mean, right?";
+ mes "Smirk...";
+ next;
+ mes "[Dhong the Guard]";
+ mes "Me and Vantai are always waiting";
+ mes "for the hero to get us some Evil Spirit Bones from the forest.";
+ close;
+ } else {
+ if (checkquest(7406) != -1) {
+ mes "[Dhong the Guard]";
+ mes "What I'm saying is that, to be a good guard dog, he must be able to stand ground against evil spirits.";
+ mes "For that he needs to eat Evil Spirit Bones, but it must be purified before he can eat them.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "You can get Evil Spirit Bones from monsters or animals in the forest.";
+ mes "Kiko in Mumbaki will purify them for you.";
+ close;
+ } else {
+ if (checkquest(7407) == 1) {
+ if (countitem(6505) < 10) {
+ mes "[Dhong the Guard]";
+ mes "Kiko in Mumbaki asked for 10 Purified Spirit Bones.";
+ mes "He needs to have at least 10 at a time. Which of course does not last a day...";
+ close;
+ }
+ mes "[Dhong the Guard]";
+ mes "Hey, Vantai will love these!";
+ mes "It's all in good condition...";
+ mes "An evil bone purified through holy ritual...";
+ next;
+ mes "[Dhong the Guard]";
+ mes "This is the perfect dog food!!";
+ mes "Now he can sense and detect evil spirits,";
+ mes "and since he ate purified ones, he'll get the ability to eradicate them.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "I bet he's the strongest living thing in the village now.";
+ mes "Of course not me. I mean Vantai.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "This is your reward.";
+ mes "It would be very nice if you could help us again tomorrow.";
+ delitem 6505, 10; // Purified_Bone
+ setquest 7408;
+ erasequest 7407;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(0, 2))
+ $malayaNames$[2] = strcharinfo(0);
+ close;
+ } else {
+ mes "[Dhong the Guard]";
+ mes "Vantai is not only a guard dog, but he's also a great detector and recon scout.";
+ mes "But for him to do so, he needs to eat Purified Spirit Bones.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "As you can see, I can't move from here,";
+ mes "so I was wondering if you can get the bones for Vantai...";
+ next;
+ if (select("Alright.:Sorry.") == 2) {
+ mes "[Dhong the Guard]";
+ mes "I see.";
+ mes "Vantai!";
+ mes "No treat for you today..!!";
+ next;
+ mes "- It seems like Vantai's eyes are more moist today. -";
+ close;
+ }
+ mes "[Dhong the Guard]";
+ mes "Bones can be acquired from animals or monsters around here.";
+ mes "Take them to Kiko in Mumbaki for purification, which, in turn, can be given to Vantai to eat.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "Bring us 10 Purified Spirit Bones.";
+ mes "That reminds me. You'll need Holy Water for the purification ritual.";
+ next;
+ mes "[Dhong the Guard]";
+ mes "Take your time.";
+ mes "Look here. Vantai likes it too.";
+ setquest 7406;
+ close;
+ }
+ }
+ }
+ end;
+}
+
+ma_fild01,238,257,2 script Guard Dog Vantai 972,{
+ mes "[Vantai]";
+ mes "Grrrrrrr...";
+ mes " ";
+ mes "(He is intimidated by you.)";
+ close;
+}
+
+ma_fild01,200,190,3 script Maries#malaya 579,{
+ if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) {
+ mes "- Cannot proceed with the quest. You are carrying too many items. -";
+ close;
+ }
+ if (BaseLevel < 100) {
+ mes "[Maries]";
+ mes "Umm... Hey...";
+ mes "Oh, no, sorry. You don't look so strong or bold.";
+ mes "I'm sorry. I'm just not quite myself...";
+ close;
+ }
+ if (malaya_hi < 20) {
+ mes "An anxious looking woman is stands.";
+ close;
+ }
+ .@playtime = checkquest(7390, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Maries]";
+ mes "Now that the children know that they can get back home with an Inside-out Shirt,";
+ mes "they play out in the forest recklessly and timelessly.";
+ next;
+ mes "[Maries]";
+ mes "The children will surely get lost again in these conditions.";
+ mes "If it happens again, I'll seek your help again.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Maries]";
+ mes "I'm missing a child... again.";
+ mes "Oh my goodness...";
+ erasequest 7390;
+ close;
+ } else {
+ if (checkquest(7389) != -1) {
+ mes "[Maries]";
+ mes "You came back.";
+ mes "Thanks to you, the child has returned home safely.";
+ next;
+ mes "[Maries]";
+ mes "Although the shirt is inside-out, it miraculously brings them back to where they should be.";
+ mes "Thank you for delivering those precious shirts to my children.";
+ setquest 7390;
+ erasequest 7389;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[2] = strcharinfo(0);
+ close;
+ } else {
+ if (checkquest(7388) != -1) {
+ mes "[Maries]";
+ mes "I'm sure they're lost in the woods because of mischievous spirits.";
+ mes "Please give the child the ^4d4dffInside-out Shirt^000000 when found.";
+ next;
+ mes "[Maries]";
+ mes "The Inside-out Shirts...";
+ mes "You can probably get them from the demons, since they ran away with them.";
+ close;
+ } else {
+ mes "[Maries]";
+ mes "Hello... I'm looking for my child...";
+ mes "My daughter did not return.";
+ mes "Please help, I think she's lost in the forest.";
+ next;
+ switch (select("Of course.:I'm too busy right now.:You have so many children.")) {
+ case 1:
+ mes "[Maries]";
+ mes "I'm sure she's lost in the woods because of mischievous spirits.";
+ next;
+ mes "[Maries]";
+ mes "If she's cursed, it will be difficult to get her out of there.";
+ mes "She'll drift around in the maze so mesmerizing, even for you, in fact.";
+ next;
+ mes "[Maries]";
+ mes "Acquire an ^4d4dffInside-out Shirt^000000 and give it to my daughter.";
+ mes "Although the shirt is inside-out, it miraculously brings them back to where they should be.";
+ next;
+ mes "[Maries]";
+ mes "The Inside-out Shirts...";
+ mes "You can probably get them from the demons, since they ran away with them.";
+ setquest 7388;
+ close;
+ case 2:
+ mes "[Maries]";
+ mes "... Yes... I see.";
+ mes "I'll have to ask someone else.";
+ mes "Alright.";
+ mes "Sigh...";
+ close;
+ case 3:
+ mes "[Maries]";
+ mes "...I ended up having triplets.";
+ mes "Even I sometimes get confused. *Chuckle*";
+ next;
+ mes "[Maries]";
+ mes "They seem to be under a curse because one of them always get's lost in the woods..";
+ mes "Sigh...";
+ close;
+ }
+ }
+ }
+ }
+ end;
+}
+
+ma_fild01,203,189,3 script Little Girl#malaya 576,{
+ mes "[Little Girl]";
+ mes "He he, the forest is scary, but it's so much fun so I go there often to play~";
+ mes "Strange, how we always get lost.";
+ next;
+ mes "[Little Girl]";
+ mes "But it's okay because I'm not the only one getting lost~";
+ mes "We're triplets~ And we're missing the other two~ Giggle~";
+ close;
+}
+
+ma_fild01,251,93,3 script Lost Child#malaya01 576,{
+ if (checkquest(7388) > -1) {
+ if (!countitem(12700)) {
+ mes "[Little Kid]";
+ mes "Sigh. Are you lost too?";
+ mes "They are so naughty.";
+ next;
+ mes "[Little Kid]";
+ mes "An Inside-out Shirt is just what I need.";
+ mes "*Chuckle*...";
+ close;
+ }
+ mes "[Little Kid]";
+ mes "Oh, darn them.";
+ mes "They must have tricked me into getting lost again!";
+ next;
+ select ("Do you want to go home?");
+ mes "[Little Kid]";
+ mes "If I don't get back soon, my mom will be worried sick.";
+ mes "Sigh... I wish I had an Inside-out Shirt to go back.";
+ next;
+ select ("Here you are.");
+ mes "[Little Kid]";
+ mes "Really?";
+ mes "It really is the shirt!";
+ mes "This will take me straight home!";
+ next;
+ mes "[Little Kid]";
+ mes "Did mom send you?";
+ mes "She must be worried..!";
+ mes "I'll go home now!";
+ mes "Thanks' a lot!";
+ delitem 12700, 1; // Insideout_Shirt
+ setquest 7389;
+ erasequest 7388;
+ close2;
+ disablenpc strnpcinfo(0);
+ if (strnpcinfo(0) == "Lost Child#malaya01") {
+ enablenpc "Lost Child#malaya02";
+ } else if (strnpcinfo(0) == "Lost Child#malaya01") {
+ enablenpc "Lost Child#malaya03";
+ } else {
+ enablenpc "Lost Child#malaya01";
+ }
+ end;
+ } else {
+ if (checkquest(7389) != -1) {
+ mes "[Little Kid]";
+ mes "I want to play some more.";
+ mes "I can always go back with this shirt.";
+ mes "Mom won't be concerned.";
+ close;
+ } else {
+ mes "[Little Kid]";
+ mes "Hmmm. Am I lost again?";
+ mes "Where am I...";
+ mes "I'm sure I have to head in the direction of sunrise from the third tree to get home... Huh?";
+ next;
+ mes "[Little Kid]";
+ mes "Why~ Do I always go in circles here?";
+ mes "Do you why, " + ((Sex) ? "mister" : "ma'am") + "?";
+ mes "What's with this road?";
+ mes "Is somebody trying to trick me?";
+ close;
+ }
+ }
+ end;
+
+OnInit:
+ if (strnpcinfo(0) != "Lost Child#malaya01")
+ disablenpc strnpcinfo(0);
+}
+ma_fild01,114,141,3 duplicate(Lost Child#malaya01) Lost Child#malaya02 576
+ma_fild01,130,314,3 duplicate(Lost Child#malaya01) Lost Child#malaya03 576
+
+ma_fild02,241,39,5 script Good Capre Budidai 572,{
+ mes "[Budidai]";
+ mes "Hey hey hey~";
+ mes "I am such a nice Capre~ Hey!";
+ mes "I am going to a fine cafe~YO!";
+ mes "I am better than yesterday~Hey!";
+ mes "I'm a fine rhyming Capre~Oh?";
+ next;
+ mes "[Budidai]";
+ mes "Hey buddy, You here to hear Budidai singing?";
+ next;
+ switch (select("You like songs?:A profound study of one eyed monsters.:See ya!")) {
+ case 1:
+ mes "[Budidai]";
+ mes "Yup, Budidai loves singing.";
+ mes "Cows, horses, goats, roosters, boars all love my songs.";
+ mes "They're all friends.";
+ next;
+ mes "[Budidai]";
+ mes "Except for that one eyed Bongisungisu.";
+ mes "He picks on my friends.";
+ mes "I am annoyed, but Budidai is weak.";
+ next;
+ mes "[Budidai]";
+ mes "I fear it's single gaze, but I fear more the club he flails.";
+ mes "I have to sing my friends some songs, but they don't come because of him.";
+ next;
+ mes "[Budidai]";
+ mes "So Budidai, sings here.";
+ mes "Lots of travelers pass by.";
+ mes "Capre is a wanderer's buddy.";
+ mes "You're a buddy too.";
+ close;
+ case 2:
+ if (BaseLevel < 100) {
+ mes "[Budidai]";
+ mes "You interested in that fiend, my friend?";
+ mes "It's just a bully of the forest!";
+ mes "It picks on my animal friends!";
+ next;
+ mes "[Budidai]";
+ mes "Sadly, singing is all that Budidai is skilled at.";
+ mes "I can't do anything about the scary gaze and the flailing club.";
+ next;
+ mes "[Budidai]";
+ mes "Bongisungisu! I get the chills just by being in the same forest with it...";
+ mes "But Budidai is weak.";
+ next;
+ mes "[Budidai]";
+ mes "You and me, wanderer.";
+ mes "We'll never make it.";
+ close;
+ }
+ .@playtime = checkquest(7410, PLAYTIME);
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Budidai]";
+ mes "Traveler, my friend!";
+ mes "Bongisungisu ran far far away.";
+ mes "Dogs, cows, horse, goat and rooster will come back to me, won't they?";
+ next;
+ mes "[Budidai]";
+ mes "But Budidai is worried.";
+ mes "The one eyed bully will return eventually.";
+ mes "Will you help me out again?";
+ next;
+ mes "[Budidai]";
+ mes "You, friend of Budidai";
+ mes "You won't turn you're back on a good Capre?";
+ close;
+ } else {
+ if (checkquest(7409) != -1) {
+ if (checkquest(7409, HUNTING) == 2) {
+ mes "[Budidai]";
+ mes "Astonishing, wanderer!";
+ mes "I could hear the pitiful wails of Bongisungisu all the way from here!";
+ mes "Budidai can sing again for his friends, yes?";
+ next;
+ mes "[Budidai]";
+ mes "Now, what can Budidai do for the kind wanderer, slayer of the one eyed monster?";
+ mes "Aha! Here's a talisman.";
+ mes "It will be good for you travelers.";
+ next;
+ mes "[Budidai]";
+ mes "Kind Capre is a friend of travelers.";
+ mes "I hope to see you again, wanderer.";
+ mes "This is a blessing for friends. Hey hey hey~";
+ setquest 7410;
+ erasequest 7409;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497, 2; // Lesser_Agimat
+// else
+// getitem 6497, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[1] = strcharinfo(0);
+ close;
+ } else {
+ mes "[Budidai]";
+ mes "Please slay the destructive libertine Bongisungisu.";
+ mes "For me, a Capre to sing again for one's friends.";
+ close;
+ }
+ } else {
+ if (.@playtime == 2) {
+ mes "[Budidai]";
+ mes "Hey, kind wanderer.";
+ mes "Bongisungisu, the one eyed debauchee is back!";
+ mes "What do I do? What should I do?";
+ next;
+ mes "[Budidai]";
+ mes "He gets angry when I sing.";
+ mes "But the horse, cow, goat, dog and boars love it.";
+ mes "It gives Budidai such a hard time.";
+ erasequest 7410;
+ close;
+ } else {
+ mes "[Budidai]";
+ mes "You interested in that fiend, my friend?";
+ mes "It's just a bully of the forest!";
+ mes "It picks on my animal friends!";
+ next;
+ mes "[Budidai]";
+ mes "Sadly, singing is all that Budidai is skilled at.";
+ mes "I can't do anything about the scary gaze and the flailing club.";
+ next;
+ mes "[Budidai]";
+ mes "Bongisungisu! I get the chills just by being in the same forest with it...";
+ mes "But Budidai is weak.";
+ next;
+ if (select("Shall I take care of it?:That does give the chills.") == 2) {
+ mes "[Budidai]";
+ mes "Don't remind me.";
+ mes "My friends can't come and listen to my songs because of that behemoth.";
+ mes "It is so frustrating.";
+ close;
+ }
+ mes "[Budidai]";
+ mes "You'd teach Bongisungisu a lesson?!";
+ mes "Kind wanderer!!";
+ mes "Kick some libertine butt!!";
+ setquest 7409;
+ close;
+ }
+ }
+ }
+ break;
+ case 3:
+ mes "[Budidai]";
+ mes "Leave me wanderer~";
+ mes "Capre Budidai will sing of wonders~";
+ mes "You best everyone else~";
+ mes "You bring all them beasts~";
+ mes "Just go back to Kafra~";
+ next;
+ mes "[Budidai]";
+ mes "Hey hey hey~";
+ mes "Blessing of the Kind and Good Capre~";
+ mes "A wanderer's friend the gift of Capre~";
+ mes "Hey hey hey~";
+ close;
+ }
+ end;
+}
+
+// Traders :: malaya_npc
//============================================================
ma_fild01,166,214,6 script Old Man in Dilemma#GA 575,{
if (MaxWeight - Weight < 600 || checkweight(1201,1) == 0) {
@@ -276,8 +3597,8 @@ ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{
}
}
-// MVP Armors :: mvpitem
-// ============================================================
+// Upgrade Boss Equipment :: malaya_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.";
@@ -506,7 +3827,7 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
close;
}
-// Secret in the Woods :: buwaya
+// Secret in the Woods :: malaya_buwaya
//============================================================
malaya,305,281,3 script Guard#buwaya 570,7,7,{
if (malaya_hi < 10) {
@@ -913,9 +4234,9 @@ ma_in01,47,101,3 script Totoy#buwaya 577,7,7,{
close;
} else if (malaya_buwaya == 13) {
// if (IsPremiumPcCafe == 10)
-// .@amount = 10;
+ .@amount = 10;
// else
- .@amount = 5;
+// .@amount = 5;
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
mes "- Wait!! -";
mes "- You have too many items on you. -";
@@ -1081,6 +4402,7 @@ malaya,290,152,5 script Master of Hunting#buwaya 578,{
mes "Argh! That's so foul.";
mes "You've really brought back the samples.";
mes "Ho! Leave it there and come back after washing your hands. Even god won't smile down at you with that stench.";
+ delitem 6519,10; //Collected_Sample
set malaya_buwaya,8;
erasequest 2274;
setquest 2275;
@@ -1365,10 +4687,10 @@ malaya,290,340,3 script Guard Leader#buwaya 571,{
mes "There is no shame in rejecting this request.";
erasequest 2281;
} else if (.@hunting == 2) {
-// if (IsPremiumPcCafe == 10) {
-// .@amount = 10;
+// if (IsPremiumPcCafe == 10)
+ .@amount = 10;
// else
- .@amount = 5;
+// .@amount = 5;
mes "[Guard Leader]";
mes "Can't believe you really got rid of Buwaya!";
mes "You aren't just any ordinary youth, aren't you? People of Port Malaya can now sleep at night.";
@@ -1481,3 +4803,4320 @@ OnInit:
disablenpc "Guard#buwayacave";
end;
}
+
+// Bakonawa Extermination :: malaya_bakonawa
+//============================================================
+malaya,280,331,4 script Singing Man#bako1 578,{
+ if (malaya_bakona1 < 5) {
+ mes "[Singing Man]";
+ mes "Story of dragon that lives at a lake~";
+ mes "Story of an old lady";
+ mes "that became a dragon long ago~";
+ next;
+ mes "[Singing Man]";
+ mes "Waiting for the son that left for a foreign land,";
+ mes "my son will return";
+ mes "when that moon sets for the 90th time";
+ next;
+ mes "[Singing Man]";
+ mes "The moon sets for the 89th,";
+ mes "The moon sets for the 90th,";
+ mes "The moon sets for the 191st...";
+ next;
+ mes "[Singing Man]";
+ mes "That moon has taken my son away~";
+ mes "That horrible thing";
+ mes "has swallowed my son,";
+ mes "and I will punish that moon~";
+ next;
+ mes "[Singing Man]";
+ mes "The day the furious moon hides itself from sight,";
+ mes "the whole world will be flooded with rain";
+ mes "with all the villages and people facing death under water~";
+ next;
+ mes "[Singing Man]";
+ mes "The old lady's curse made the moon furious~";
+ mes "Get rid of the old lady to calm the moon~";
+ mes "If only the old lady wasn't here, If only the old lady wasn't here...";
+ next;
+ mes "[Singing Man]";
+ mes "I hear rumors~";
+ mes "The old lady threw herself into the lake~";
+ mes "the old lady, now turned into a dragon, will swallow the moon";
+ mes "and soon swallow the village too~";
+ close;
+ } else {
+ mes "[Singing Man]";
+ mes "You say the legend is all a lie?";
+ mes "You mean my ancestors are all liars";
+ mes "and swindlers?";
+ next;
+ mes "[Singing Man]";
+ mes "This village is built on an old legend";
+ mes "and history.";
+ mes "They are not the kind of people that will be shaken by";
+ mes "foolish words of an imbecile such as yourself.";
+ close;
+ }
+}
+
+malaya,275,333,5 script Singing Woman#bako1 579,{
+ if (malaya_bakona1 < 5) {
+ mes "[Singing Woman]";
+ mes "Bakonawa that live at a lake,";
+ mes "story of an old lady that became a dragon.";
+ next;
+ mes "[Singing Woman]";
+ mes "The son that was suppose to return after the moon sets for the 90th time";
+ mes "never did come back even after the moon had set for a few hundred times~";
+ mes "The moon has swallowed the old lady's son~";
+ next;
+ mes "[Singing Woman]";
+ mes "The moon, the moon, you shall receive the old lady's curse~";
+ mes "The whole village was immersed in death";
+ mes "with rain and floods sent by the furious moon~";
+ next;
+ mes "[Singing Woman]";
+ mes "The moon, the moon, be still and be calm,";
+ mes "for the old lady is gone and she is no more~";
+ mes "The old lady has drowned in the lake~";
+ mes "She will transform into Bakonawa and come back...";
+ next;
+ mes "[Singing Woman]";
+ mes "...to swallow you and";
+ mes "punish the village soon~";
+ mes "The day the moon dies";
+ mes "is the day the village dies too~";
+ close;
+ } else {
+ mes "[Singing Woman]";
+ mes "The legends are all a lie?";
+ mes "Why do you say such nonsense?";
+ mes "Is there nothing";
+ mes "that is important for you to protect?";
+ next;
+ mes "[Singing Woman]";
+ mes "Poor Bakonawa...";
+ mes "I would be happy";
+ mes "if she took a big bite out of someone like you!";
+ close;
+ }
+}
+
+malaya,290,329,4 script Frightened Boy#bako1 577,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona1 < 5) {
+ mes "[Frightened Boy]";
+ mes "The vicious monster Bakonawa will soon come";
+ mes "to swallow the moon and take vengeance upon the village.";
+ mes "I'm scared, please help...";
+ close;
+ } else {
+ mes "[Frightened Boy]";
+ mes "The legend of Bakonawa is all a lie?";
+ mes "So that means Bakonawa doesn't exist?";
+ mes "I'm going to play with my friends at the lake later.";
+ mes "You told me it was all a lie right?";
+ close;
+ }
+}
+
+malaya,264,338,4 script Frightened Maiden#bako1 576,{
+ if (malaya_hi < 20) {
+ mes "- She seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona1 < 5) {
+ mes "[Frightened Maiden]";
+ mes "It is said that Bakonawa hates loud noises.";
+ mes "Pound the pot if you want to live!";
+ next;
+ switch(select("Hates loud noises?:What is Bakonawa?")) {
+ case 1:
+ mes "[Frightened Maiden]";
+ mes "You already heard that the old lady";
+ mes "died and became Bakonawa, right?";
+ next;
+ mes "[Frightened Maiden]";
+ mes "The legend has it that";
+ mes "the old lady had very keen hearing";
+ mes "because she was always focusing on";
+ mes "the returning of her traveling son.";
+ next;
+ mes "[Frightened Maiden]";
+ mes "So naturally, Bakonawa also";
+ mes "has very keen hearing.";
+ mes "The reason why everyone is banging";
+ mes "pots and pans is because of this.";
+ close;
+ case 2:
+ mes "[Frightened Maiden]";
+ mes "It is a terrible monster that lives at a lake.";
+ mes "We are all trembling with fear";
+ mes "because we don't know when it might attack the village.";
+ next;
+ mes "[Frightened Maiden]";
+ mes "Some say that it is more obsessed with swallowing the moon";
+ mes "than attacking the village.";
+ mes "if that's the case, I wish it would just swallow the moon";
+ mes "and leave us alone.";
+ close;
+ }
+ } else {
+ mes "[Frightened Maiden]";
+ mes "The villagers hate you now.";
+ mes "You've been saying that legend of Bakonawa";
+ mes "is a lie and they are saying you are more of a monster";
+ mes "than Bakonawa.";
+ close;
+ }
+}
+
+malaya,272,339,5 script Old Fortune Teller#bako1 575,{
+ if (malaya_hi < 20) {
+ mes "- Old Fortune Teller seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona1 < 5) {
+ mes "[Old Fortune Teller]";
+ mes "You must not hate Bakonawa.";
+ mes "The hate against it is only feeding its rage";
+ mes "to grow bigger.";
+ next;
+ mes "[Old Fortune Teller]";
+ mes "To calm the dead lady's anger,";
+ mes "we annually hold a ceremony and prepare food.";
+ mes "But there seems to be no way to calm the";
+ mes "ever growing anger of the old lady.";
+ next;
+ mes "[Old Fortune Teller]";
+ mes "The day is nearing. I can sense it.";
+ mes "Bakonawa will soon swallow the moon";
+ mes "and come to punish the village.";
+ close;
+ } else {
+ mes "[Old Fortune Teller]";
+ mes "How can you say the legend is a lie!";
+ mes "Because of you, the fury of Bakonawa";
+ mes "grew even larger!";
+ mes "If the village perishes,";
+ mes "it is all your fault!";
+ close;
+ }
+}
+
+malaya,285,332,4 script Old Legend Teller#bako1 574,{
+ if (checkweight(1301,3) == 0) {
+ mes "You cannot start the conversation. You are carrying too many items. -";
+ close;
+ }
+ if (BaseLevel < 120) {
+ mes "[Old Legend Teller]";
+ mes "There is something that needs to be done";
+ mes "but you look too fragile";
+ mes "to give me a hand.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Come back when";
+ mes "your strength grows strong enough";
+ mes "to match Incubus.";
+ close;
+ }
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona1 == 0) {
+ mes "[Old Legend Teller]";
+ mes "The old lady has come back";
+ mes "to life as Bakonawa.";
+ mes "Soon she will come to take vengeance on the village.";
+ mes "We must calm her";
+ mes "if to prevent further destruction...";
+ next;
+ switch(select("Calm Bakonawa?:Further destruction?")) {
+ case 1:
+ mes "[Old Legend Teller]";
+ mes "The old lady faced an unjust death";
+ mes "because of villagers' selfishness.";
+ mes "She was a caring mother who loved her";
+ mes "son dearly.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "If we track the whereabouts of her son and hold a ritual";
+ mes "with her son's belongings,";
+ mes "her restless soul will be calmed";
+ mes "and she will spare us from destruction.";
+ next;
+ mes "[Villagers]";
+ mes "It is no use sir!!";
+ next;
+ mes "[Villagers]";
+ mes "You cannot stop the monster that way!";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Of course, it will not be easy to track down the whereabouts of a person";
+ mes "who has been gone for a hundred years.";
+ mes "...";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Still, don't you think";
+ mes "it is worth a try?";
+ mes "Please help us and save us from our misery.";
+ next;
+ switch(select("It is no use.:I'll help.")) {
+ case 1:
+ mes "[Old Legend Teller]";
+ mes "Yes, you are also right.";
+ mes "You are up against not a human,";
+ mes "but a monster.";
+ mes "Still, I trust in that old lady's";
+ mes "good heart.";
+ close;
+ case 2:
+ mes "[Old Legend Teller]";
+ mes "Will you do it?";
+ mes "According to the legend,";
+ mes "the old lady's son was limping";
+ mes "and was a traveling merchant that sold wooden dolls.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "There is a ^FF0000Slate Piece^000000 he left.";
+ mes "But the piece is small and damaged,";
+ mes "its hard to identify it.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "First, bring it to me.";
+ mes "Down along this path";
+ mes "you will meet my granddaughter near the port.";
+ mes "Get the Slate Piece from there.";
+ set malaya_bakona1,1;
+ setquest 1174;
+ close;
+ }
+ case 2:
+ mes "[Old Legend Teller]";
+ mes "The grudge against the people of";
+ mes "Bakonawa- I mean, the dead old lady.";
+ mes "The moon and this village...";
+ mes "She will try to destroy it.";
+ next;
+ select("Take vengeance? After all these years?");
+ mes "[Old Legend Teller]";
+ mes "For some time, she has";
+ mes "blamed the moon and";
+ mes "resented the villagers.";
+ mes "The feeling grew larger as the time passed.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Why do you think she became such a monster?";
+ mes "What do you think went through her head";
+ mes "for years and years?";
+ mes "Anger and vengeance.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Unforgettable grudge";
+ mes "that she was abandoned.";
+ mes "against the moon and the village.";
+ mes "This is why this grudge must be resolved.";
+ close;
+ }
+ } else if (malaya_bakona1 == 1) {
+ mes "[Old Legend Teller]";
+ mes "Please bring the ^FF0000Slate Piece^000000.";
+ mes "Down along this path";
+ mes "you will meet my granddaughter near the port.";
+ mes "Get the Slate Piece from there.";
+ close;
+ } else if (malaya_bakona1 == 2) {
+ mes "[Old Legend Teller]";
+ mes "Good, you have the Slate Piece.";
+ mes "Hold on to it and don't lose it.";
+ mes "It will be of helpful in tracking down the legend.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "I heard there is a man that lives by himself";
+ mes "at the end of northwestern part of Forest Field.";
+ mes "I heard someone saw a wooden doll there.";
+ mes "It is such a remote place that people like us";
+ mes "simply cannot travel there.";
+ mes "Could you visit the place for us?";
+ next;
+ switch(select("Go there yourself!:Your explanation is too vague.:On my way!")) {
+ case 1:
+ mes "[Old Legend Teller]";
+ mes "You twisted youth!";
+ close;
+ case 2:
+ mes "[Old Legend Teller]";
+ mes "You have a point, but";
+ mes "this is the best I can do for now.";
+ mes "The place is at the end of northwestern part of the forest.";
+ mes "After you pass the bridge and travel west,";
+ mes "you will see a person.";
+ break;
+ case 3:
+ mes "[Old Legend Teller]";
+ mes "You have a good heart young man!";
+ mes "The place is at the end of northwestern part of the forest.";
+ mes "After you pass the bridge and travel west,";
+ mes "You will see a ^0000FFMalaya Immigrant^000000.";
+ break;
+ }
+ mes "Good luck to you... for our sake...";
+ erasequest 1175;
+ setquest 1176;
+ set malaya_bakona1,3;
+ close;
+ } else if (malaya_bakona1 == 3) {
+ mes "[Old Legend Teller]";
+ mes "The place is at the end of northwestern part of the forest.";
+ mes "After you pass the bridge and travel west,";
+ mes "you will see a person.";
+ mes "Good luck to you... for our sake...";
+ close;
+ } else if (malaya_bakona1 < 6) {
+ mes "[Old Legend Teller]";
+ mes "The track of the old lady's son";
+ mes "is connected all the way to";
+ mes "Baryo Mahiwaga?";
+ mes "There is a chance he wasn't a merchant...";
+ mes "I'm really curious about who he was...";
+ next;
+ mes "[Old Legend Teller]";
+ mes "Why did you come back here";
+ mes "instead of going straight to";
+ mes "Baryo Mahiwaga?";
+ close;
+ } else if (malaya_bakona1 == 6) {
+ mes "[Old Legend Teller]";
+ mes "Is that really true?";
+ mes "Bakonawa turning into an old lady";
+ mes "and fabricating the legend...";
+ mes "It seems all the villagers up until now";
+ mes "have been manipulated by that terrible monster.";
+ next;
+ mes "[Old Legend Teller]";
+ mes "There is no reason to hesitate then.";
+ mes "You must go into Bakonawa's lair";
+ mes "before it attacks first.";
+ mes "I believe we can trust you to do this, yes?";
+ next;
+ switch(select("Well...:Of course!")) {
+ case 1:
+ mes "[Old Legend Teller]";
+ mes "The atmosphere was really good";
+ mes "but suddenly it's all ruined.";
+ mes "I didn't expect you to be so shy...";
+ close;
+ case 2:
+ mes "[Old Legend Teller]";
+ mes "I will speak to";
+ mes "the village chief for you";
+ mes "so that you can enter the Bakonawa Lake.";
+ mes "Please get rid of this monster for us.";
+ erasequest 1179;
+ set malaya_bakona1,7;
+// if (IsPremiumPcCafe == 10)
+ getitem 6499,5; //Ancient_Grudge
+// else
+// getitem 6499,3; //Ancient_Grudge
+ getexp 500000,200000;
+ close;
+ }
+ close;
+ } else if (malaya_bakona1 == 7) {
+ if (malaya_bakona2 < 15) {
+ mes "[Old Legend Teller]";
+ mes "If you don't mind,";
+ mes "could you lend a hand to the Village Chief?";
+ mes "Nobody cares for each other anymore";
+ mes "because of Bakonawa...";
+ next;
+ }
+ mes "[Old Legend Teller]";
+ mes "The legend that";
+ mes "we believed for a hundred years,";
+ mes "all lies....";
+ mes "Please get rid of this monster for us.";
+ close;
+ }
+}
+
+ma_fild02,40,240,4 script Malaya Immigrant#bako1 578,{
+ if (malaya_bakona1 < 3) {
+ mes "[Malaya Immigrant]";
+ mes "You must have a brave heart";
+ mes "to come to such a remote place.";
+ mes "How is Port Malaya these days?";
+ mes "I heard the monster that lives at the lake, Baknoawa";
+ mes "is threatening the villagers.";
+ mes "I am in the dark about what is going on because I'm here all the time.";
+ close;
+ } else if (malaya_bakona1 == 3) {
+ mes "[Malaya Immigrant]";
+ mes "You must have a brave heart";
+ mes "to come to such a remote place.";
+ mes "How is Port Malaya these days?";
+ mes "I heard the monster that lives at the lake, Baknoawa";
+ mes "is threatening the villagers.";
+ mes "I am in the dark about what is going on because I'm here all the time.";
+ next;
+ mes "[Malaya Immigrant]";
+ mes "Are you the traveling merchant who used to sell Wooden Doll, right?";
+ mes "I don't know about any traveling merchant, but by Wooden Doll";
+ mes "(going through things) do you mean this?";
+ mes "I don't know about the specifics, but";
+ mes "I think it's related to what I heard long time ago.";
+ next;
+ switch(select("What are you doing here?:Do you know about this Slate Piece?:Please tell me the story.:Who is the traveling merchant?")) {
+ case 1:
+ mes "[Malaya Immigrant]";
+ mes "I liked the environment here";
+ mes "so I decided to stay and live.";
+ mes "There is no obligation here.";
+ mes "To me, that's as good as heaven.";
+ close;
+ case 2:
+ mes "[Malaya Immigrant]";
+ mes "It is a very old Slate Piece.";
+ mes "I'm sorry but I never seen this before.";
+ mes "There is some kind of writing here";
+ mes "but I can't make it out.";
+ close;
+ case 3:
+ mes "[Malaya Immigrant]";
+ mes "It's a simple story.";
+ mes "^0000FFA wounded man who I had never seen before^000000";
+ mes "^0000FFcame to my house and asked for help.^000000";
+ mes "^0000FFOnce healed, he made a Wooden Doll^000000";
+ next;
+ mes "[Malaya Immigrant]";
+ mes "^0000FFthat is suppose to chase away evil spirits ^000000";
+ mes "^0000FFas a token of gratitude,^000000";
+ mes "^0000FFand left for Baryo Mahiwaga.^000000";
+ next;
+ select("He left for Baryo Mahiwaga?");
+ mes "[Malaya Immigrant]";
+ mes "According to what I've heard";
+ mes "that's correct. But the story has been";
+ mes "passed on from mouth to mouth for a";
+ mes "long time. I can't be sure.";
+ next;
+ mes "From Baryo Mahiwaga village, using keyword ^0000FFMalaya^000000,";
+ mes "or ^0000FFBakonawa^000000,";
+ mes "maybe I could find out the identity and whereabouts";
+ mes "of the traveling merchant.";
+ erasequest 1176;
+ setquest 1177;
+ set malaya_bakona1,4;
+ close;
+ case 4:
+ mes "[Malaya Immigrant]";
+ mes "Well, there is a lack of information";
+ mes "so I can't make say for sure but";
+ mes "I'm skeptical if he was in fact even a merchant.";
+ mes "Coming to a town with a";
+ mes "critical wound seems too suspicious...";
+ next;
+ mes "[Malaya Immigrant]";
+ mes "And craving a Wooden Doll";
+ mes "could be seen to have some kind of ritualistic meaning.";
+ mes "Protecting one from some evil force...";
+ mes "that kind of thing.";
+ next;
+ mes "Identity of the traveling merchant...";
+ mes "Looks like there is one more";
+ mes "mystery to be solved.";
+ mes "I suppose it will all come to light";
+ mes "soon enough.";
+ close;
+ }
+ } else {
+ mes "[Malaya Immigrant]";
+ mes "I will tell you again slowly";
+ mes "the story that has been passed on.";
+ mes "Listen carefully and repeat...";
+ mes "no, I mean, you don't have repeat it.";
+ next;
+ mes "[Orally Transmitted Story]";
+ mes "^0000FFA wounded man who I had never seen before^000000";
+ mes "^0000FFcame to my house and asked for help.^000000";
+ mes "^0000FFOnce healed, as a token of gratitude, he made a Wooden Doll^000000";
+ mes "^0000FFthat is suppose to chase away evil sprits.^000000";
+ mes "^0000FFThen he left for Baryo Mahiwaga.^000000";
+ next;
+ mes "From Baryo Mahiwaga village, using keyword ^0000FFMalaya^000000,";
+ mes "or ^0000FFBakonawa^000000,";
+ mes "maybe I could find out the identity and whereabouts";
+ mes "of the traveling merchant.";
+ close;
+ }
+}
+
+ma_fild01,165,237,4 script Malaya Immigrant#bako2 582,{
+ if (malaya_bakona1 < 4) {
+ mes "[Malaya Immigrant]";
+ mes "Have you been to";
+ mes "Port Malaya?";
+ mes "I am curious to know";
+ mes "what is going on there";
+ mes "but I can't travel because there are monsters everywhere.";
+ close;
+ } else if (malaya_bakona1 == 4) {
+ mes "[Malaya Immigrant]";
+ mes "Wooden Doll?";
+ mes "There is a tale related to that,";
+ mes "but you didn't come all the way";
+ mes "just to hear some folktale right?";
+ next;
+ switch(select("I just came here to take a break.:Tell me the tale.")) {
+ case 1:
+ mes "[Malaya Immigrant]";
+ mes "You must have a lot of free time on your hands!";
+ mes "I'm no travel agent";
+ mes "so go bother someone else!";
+ close;
+ case 2:
+ mes "[Malaya Immigrant]";
+ mes "It's baloney";
+ mes "so I don't really remember the details.";
+ next;
+ mes "[Summary of the folktale]";
+ mes "Long time ago, 5 swordsmen fought";
+ mes "against the monster Bakonawa.";
+ mes "Four died and one left a critical wound";
+ mes "to the monster but in return";
+ mes "sustained a serious wound in his leg himself.";
+ next;
+ mes "[Summary of the folktale]";
+ mes "After escaping the scene, Bakonawa transformed into a human";
+ mes "and secretly pursued the swordsman.";
+ mes "The swordsman made a Wooden Doll that";
+ mes "can keep the monster from approaching.";
+ next;
+ mes "[Malaya Immigrant]";
+ mes "This is the end of story.";
+ mes "Without any conclusion...";
+ next;
+ mes "[Malaya Immigrant]";
+ mes "I heard there is a record that the swordsman left";
+ mes "but I don't understand why";
+ mes "he would leave it here in such a distant place";
+ mes "here instead of Malaya.";
+ next;
+ select("I wish to see the record.");
+ mes "[Malaya Immigrant]";
+ mes "The record is engraved on the stone ahead.";
+ mes "However, the stone is so badly";
+ mes "damaged and some pieces fell out that";
+ mes "it will be hard to make the words out.";
+ next;
+ mes "Investigate the stone ahead.";
+ erasequest 1177;
+ setquest 1178;
+ set malaya_bakona1,5;
+ close;
+ }
+ } else if (malaya_bakona1 == 5) {
+ mes "[Malaya Immigrant]";
+ mes "The stone ahead holds a record that";
+ mes "a swordsman from a long time ago left.";
+ next;
+ switch(select("Where did this swordsman go after?:Tell me the tale again.")) {
+ case 1:
+ mes "[Malaya Immigrant]";
+ mes "Well, there is no story after that so";
+ mes "I guess nobody would know what happened.";
+ close;
+ case 2:
+ mes "[Summary of the folktale]";
+ mes "Long time ago, 5 swordsmen fought";
+ mes "against the monster Bakonawa.";
+ mes "Four died and one left a critical wound";
+ mes "on the monster but in return";
+ mes "sustained a serious wound in his leg himself.";
+ next;
+ mes "[Summary of the folktale]";
+ mes "After escaping the scene, Bakonawa transformed into a human";
+ mes "and secretly pursued the swordsman.";
+ mes "The swordsman made a Wooden Doll that";
+ mes "can keep the monster from approaching.";
+ close;
+ }
+ } else {
+ mes "[Malaya Immigrant]";
+ mes "I suppose you wish to hear the story again right?";
+ mes "No problem! I can tell this story forever!";
+ next;
+ mes "[Summary of the folktale]";
+ mes "Long time ago, 5 swordsmen fought";
+ mes "against the monster Bakonawa.";
+ mes "Four died and one left a critical wound";
+ mes "on the monster but in return";
+ mes "sustained a serious wound in his leg himself.";
+ next;
+ mes "[Summary of the folktale]";
+ mes "After escaping the scene, Bakonawa transformed into a human";
+ mes "and secretly pursued the swordsman.";
+ mes "The swordsman made a Wooden Doll that";
+ mes "can keep the monster from approaching.";
+ close;
+ }
+}
+
+ma_fild01,171,235,0 script #bako1 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona1 == 5) {
+ mes "The damage is so severe";
+ mes "that the record is unidentifiable.";
+ mes "When inserting the Slate Piece";
+ mes "to a hole on the wall, it fits perfectly like a piece of puzzle.";
+ mes "The letters are not clear but you can still read it.";
+ next;
+ callsub L_Record;
+ set malaya_bakona1,6;
+ erasequest 1178;
+ setquest 1179;
+ close;
+ } else if (malaya_bakona1 == 6) {
+ mes "Here is the record left by a swordsman";
+ mes "from a hundred years ago.";
+ next;
+ switch(select("I don't need to read it.:Read the record again.")) {
+ case 1:
+ mes "I remember the story clearly.";
+ mes "Let's tell the ^0000FFOld Legend Teller^000000 in Malaya";
+ mes "about what I discovered.";
+ close;
+ case 2:
+ callsub L_Record;
+ close;
+ }
+ }
+ end;
+
+L_Record:
+ mes "[Record left by a swordsman from a hundred years ago]";
+ mes "After fighting with Bakonawa, I sustained a critical wound";
+ mes "and came to this place.";
+ mes "Only thing I can do is";
+ mes "Place the Wooden Doll in one place";
+ mes "the monster would come.";
+ next;
+ mes "[Record left by a swordsman from a hundred years ago]";
+ mes "^0000FFSometimes transforming into a child, or even a old lady,^000000";
+ mes "I know that ^0000FFBakonawa^000000has been";
+ mes "chasing after me in secret to kill me.";
+ mes "Because of that critical injury the monster * sustained,";
+ next;
+ mes "[Record left by a swordsman from a hundred years ago]";
+ mes "** it will need nearly a hundred years";
+ mes "for Bakonawa to absorb the power of the moon";
+ mes "to fully recover its power.";
+ mes "Beware of the day the moon disappears.";
+ next;
+ mes "[Record left by a swordsman from a hundred years ago]";
+ mes "The day will come when Bakonawa";
+ mes "will run amuck.";
+ mes "But it will take nearly a hundred years to fully recover its power.";
+ mes "There will always be someone better than me";
+ mes "to defeat the vile creature.";
+ next;
+ mes "[Record left by a swordsman from a hundred years ago]";
+ mes "I will place my trust in the one that will replace me ages from now...";
+ next;
+ mes "How could this be...";
+ mes "Lie told by Bakonawa when it turned into an old lady";
+ mes "in order to take revenge on the swordsman";
+ mes "turned into a legend after all these years.";
+ next;
+ mes "I found out that Bakonawa";
+ mes "is nothing but a blood thirsty monster.";
+ mes "I must tell what I know to the ^0000FFOld Legend Teller^000000";
+ mes "in Malaya.";
+ return;
+}
+
+malaya,304,100,4 script Old Man's Granddaughter 576,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona1 == 0) {
+ mes "[Old Man's Granddaughter]";
+ mes "Grandpa believes";
+ mes "Bakonawa can";
+ mes "turn good.";
+ mes "Do you think it's possible?";
+ close;
+ } else if (malaya_bakona1 == 1) {
+ mes "[Old Man's Granddaughter]";
+ mes "^FF0000Slate Piece^000000?";
+ mes "Why would you need something";
+ mes "that is barely recognizable?";
+ mes "I'll give it to you if you want.";
+ next;
+ mes "Let's go to the";
+ mes "^FF0000Old Legend Teller^000000";
+ mes "now that I have the Slate Piece.";
+ erasequest 1174;
+ setquest 1175;
+ set malaya_bakona1,2;
+ close;
+ } else if (malaya_bakona1 == 2) {
+ mes "[Old Man's Granddaughter]";
+ mes "Please take this Slate Piece";
+ mes "and deliver it to my grandpa.";
+ next;
+ mes "Let's go to the";
+ mes "^FF0000Old Legend Teller^000000";
+ mes "now that I have the Slate Piece.";
+ close;
+ } else {
+ mes "[Old Man's Granddaughter]";
+ mes "Because of Bakonawa,";
+ mes "the village is always unpeaceful.";
+ close;
+ }
+}
+
+malaya,286,269,4 script Angry Man#bako2 578,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ mes "[Angry Man]";
+ mes "Calm Bakonawa?";
+ mes "Do you know how many people have been";
+ mes "sacrificed by Bakonawa?";
+ mes "I will fight on my own if I have to!";
+ close;
+}
+
+malaya,276,269,5 script Calm Woman#bako2 579,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ mes "[Calm Little Girl]";
+ mes "It is too dangerous to fight against";
+ mes "Bakonawa. There is a chance";
+ mes "it will get more angry and put children and";
+ mes "elders in danger.";
+ close;
+}
+
+malaya,276,262,4 script Angry Boy#bako2 577,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ mes "[Angry Boy]";
+ mes "I lost my father and my friend";
+ mes "to that Bakonawa.";
+ mes "I will surely revenge them!";
+ close;
+}
+
+malaya,283,265,4 script Village Chief#bako2 580,{
+ if (checkweight(1301,3) == 0) {
+ mes "You cannot start the conversation. You are carrying too many items. -";
+ close;
+ }
+ if (BaseLevel < 120) {
+ mes "[Village Chief]";
+ mes "I'm desperate for a helping hand";
+ mes "but you look";
+ mes "too weak and fragile.";
+ next;
+ mes "[Village Chief]";
+ mes "Please come back when";
+ mes "you grow strong enough";
+ mes "to match Incubus.";
+ close;
+ }
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 == 0) {
+ if (malaya_bakona1 <= 5) {
+ mes "[Village Chief]";
+ mes "I'm don't know what's the right decision.";
+ mes "To fight against Bakonawa,";
+ mes "or calm it by offering it a sacrificial gift.";
+ } else {
+ mes "[Village Chief]";
+ mes "The legend was all a lie?";
+ mes "It seems all the villagers up until now";
+ mes "were manipulated by that vile monster.";
+ next;
+ mes "[Village Chief]";
+ }
+ mes "Recently, there have been more people that have";
+ mes "been harmed by Bakonawa.";
+ next;
+ mes "[Village Chief]";
+ mes "There are some missing villagers";
+ mes "but I can't find out if";
+ mes "they are simply missing or if they have been";
+ mes "killed by Bakonawa.";
+ next;
+ mes "[Village Chief]";
+ mes "I heard that the belongings of the missing people";
+ mes "are being found at Baryo Mahiwaga Field.";
+ mes "Please go there to find ^0000FFLost Belongings^000000";
+ mes "and give them to the families of";
+ mes "the missing people";
+ mes "in whatever amount they want.";
+ next;
+ mes "[Village Chief]";
+ mes "^0000FFLost Belongings^000000";
+ mes "are said to be carried by";
+ mes "^FF0000Tiucknuc^000000 that roams Baryo Mahiwaga.";
+ next;
+ switch(select("Do it yourself.:I'm on my way.")) {
+ case 1:
+ mes "[Village Chief]";
+ mes "You give me a lot to think about.";
+ mes "Leave the village at once.";
+ close;
+ case 2:
+ mes "[Village Chief]";
+ mes "Let's start then. First,";
+ mes "retrieve two ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and take them to ^0000FFMissing Person's Father^000000";
+ mes "for me.";
+ set malaya_bakona2,1;
+ setquest 1180;
+ close;
+ }
+ } else if (malaya_bakona2 == 1) {
+ mes "[Village Chief]";
+ mes "From Tiucknuc that roams Baryo Mahiwaga Field,";
+ mes "retrieve two ^FF0000Lost Belongings^000000";
+ mes "and deliver them to ^0000FFMissing Person's Father^000000";
+ mes "for me.";
+ close;
+ } else if (malaya_bakona2 == 2) {
+ mes "[Village Chief]";
+ mes "Retrieve Seven ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Friend^000000";
+ mes "for me.";
+ close;
+ } else if (malaya_bakona2 == 3) {
+ mes "[Village Chief]";
+ mes "Retrieve three ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Son^000000";
+ mes "for me.";
+ close;
+ } else if (malaya_bakona2 == 4) {
+ mes "[Village Chief]";
+ mes "Retrieve five ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Mother^000000";
+ mes "for me.";
+ close;
+ } else if (malaya_bakona2 == 5) {
+ mes "[Village Chief]";
+ mes "So it's clear that all the missing people";
+ mes "have been killed by Bakonawa.";
+ next;
+ mes "[Villagers]";
+ mes "Kill Bakonawa!";
+ mes "Let's get rid of the monster ourselves!";
+ next;
+ mes "[Village Chief]";
+ mes "It seems we would no longer be able to";
+ mes "hold rituals to calm Bakonawa.";
+ next;
+ mes "[Village Chief]";
+ mes "Young Fortune Teller is looking for your help";
+ mes "saying that the energy of the moon seems strange.";
+ erasequest 1184;
+ setquest 1185;
+ set malaya_bakona2,6;
+// if (IsPremiumPcCafe == 10)
+ getitem 12700,7; //Insideout_Shirt
+// else
+// getitem 12700,5; //Insideout_Shirt
+ close;
+ } else if (malaya_bakona2 == 6) {
+ mes "[Village Chief]";
+ mes "Young Fortune Teller is looking for your help";
+ mes "saying that the energy of the moon seems strange.";
+ close;
+ } else if (malaya_bakona2 == 7) {
+ mes "[Village Chief]";
+ mes "I know that terrible things happened";
+ mes "long time ago when the moon disappeared.";
+ mes "I hope the moon recovers its strength";
+ mes "with your devoted effort.";
+ close;
+ } else if (malaya_bakona2 == 8) {
+ mes "[Village Chief]";
+ mes "I will tell the";
+ mes "Young Fortune Teller to help you.";
+ mes "But before that, there is";
+ mes "something you must do immediately.";
+ next;
+ mes "[Village Chief]";
+ mes "We never know when Bakonawa will attack";
+ mes "the village so we must set traps near the village";
+ mes "entrance and near the cave.";
+ next;
+ mes "[Village Chief]";
+ mes "I would be grateful if you help us.";
+ mes "I have dispatched workers";
+ mes "near where traps will be set up,";
+ mes "so you just have to visit about 5 places.";
+ next;
+ switch(select("Sounds like too much work.:Sure thing.")) {
+ case 1:
+ mes "[Village Chief]";
+ mes "This operation means life and death to us";
+ mes "yet you refuse it easily as if";
+ mes "it was some kind of a chore...";
+ next;
+ mes "[Village Chief]";
+ mes "What a hero!";
+ close;
+ case 2:
+ mes "[Village Chief]";
+ mes "The first trap will be set up at";
+ mes "Baryo Mahiwaga Field";
+ mes "near the village entrance. ^0000FFGruffy Worker^000000";
+ mes "will be waiting for you. He will be very helpful.";
+ erasequest 1187;
+ setquest 1188;
+ set malaya_bakona2,9;
+ close;
+ }
+ } else if (malaya_bakona2 == 9) {
+ mes "[Village Chief]";
+ mes "The first trap will be set up at";
+ mes "Baryo Mahiwaga Field";
+ mes "near the village entrance. ^0000FFGruffy Worker^000000";
+ mes "will be waiting for you. He will be very helpful.";
+ close;
+ } else if (malaya_bakona2 == 10) {
+ mes "[Village Chief]";
+ mes "The second trap will be set up";
+ mes "near a place where it connects from";
+ mes "Baryo Mahiwaga Field to Bakonawa Lake.";
+ mes "^0000FFGrumpy Worker^000000";
+ mes "will be waiting for you. He will be very helpful.";
+ close;
+ } else if (malaya_bakona2 == 11) {
+ mes "[Village Chief]";
+ mes "The third trap will be set up";
+ mes "near Bakonawa Lake Entrance.";
+ mes "^0000FFCowardly Worker^000000";
+ mes "will be waiting for you. He will be very helpful.";
+ close;
+ } else if (malaya_bakona2 == 12) {
+ mes "[Village Chief]";
+ mes "The fourth trap will be set up";
+ mes "near the entrance of Bakonawa Lake as well.";
+ mes "^0000FFGloomy Worker^000000 will be waiting for you.";
+ mes "He will be very helpful.";
+ close;
+ } else if (malaya_bakona2 == 13) {
+ mes "[Village Chief]";
+ mes "The fifth trap will be set up";
+ mes "near the entrance of Bakonawa Lake too.";
+ mes "^0000FFSentimental Worker^000000";
+ mes "will be waiting for you. He will be very helpful.";
+ close;
+ } else if (malaya_bakona2 == 14) {
+ mes "[Village Chief]";
+ mes "It looks like the traps are all set up.";
+ mes "We just finished our village meeting on";
+ mes "what to do about Bakonawa.";
+ next;
+ mes "[Village Chief]";
+ mes "We have concluded that";
+ mes "we will fight against Bakonawa.";
+ mes "Please help us by";
+ mes "attacking his lair.";
+ erasequest 1193;
+ set malaya_bakona2,15;
+ getexp 1000000,600000;
+// if (IsPremiumPcCafe == 10)
+ getitem 6497,7; //Lesser_Agimat
+// else
+// getitem 6497,5; //Lesser_Agimat
+ close;
+ } else if (malaya_bakona2 == 15) {
+ mes "[Village Chief]";
+ if (malaya_bakona1 < 7) {
+ mes "Would you visit ^0000FFOld Legend Teller^000000";
+ mes "when you have a chance?";
+ mes "I think you would be able to help him.";
+ next;
+ mes "[Village Chief]";
+ mes "Thank you.";
+ }
+ mes "Please think of the countless victims";
+ mes "and defeat Bakonawa";
+ mes "for their sake.";
+ close;
+ }
+}
+
+malaya,269,267,5 script Missing Person's Father 582,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 == 0) {
+ mes "[Missing Person's Father]";
+ mes "Please find our";
+ mes "child.";
+ mes "Bakonawa would have not harmed our child.";
+ mes "He must be around here somewhere.";
+ close;
+ } else if (malaya_bakona2 == 1) {
+ if (countitem(6501) < 2) {
+ mes "[Missing Person's Father]";
+ mes "You are looking for two of his ^FF0000Lost Belongings^000000?";
+ mes "Are you confident that";
+ mes "he already died?";
+ close;
+ }
+ mes "[Missing Person's Father]";
+ mes "This... is our child's ^FF0000Lost Belongings^000000";
+ mes "for sure.";
+ mes "The monster got to him after all....";
+ next;
+ mes "The man is unable to continue as he tries to hold back his tears.";
+ mes "Let's continue to find the lost belongings of the missing people.";
+ mes "Let's retrieve them from Tiucknuc that roams Baryo Mahiwaga Field,";
+ mes "seven ^FF0000Lost Belongings^000000";
+ mes "and deliver them to ^0000FFMissing Person's Friend^000000.";
+ delitem 6501,2; //Lost_Belongings
+ erasequest 1180;
+ setquest 1181;
+ set malaya_bakona2,2;
+ close;
+ } else if (malaya_bakona2 == 2) {
+ mes "[Missing Person's Father]";
+ mes "My baby... my poor baby...";
+ next;
+ mes "The man is unable to continue as he tries to hold back his tears.";
+ mes "Let's continue to find the lost belongings of the missing people.";
+ mes "Retrieve seven ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Friend^000000.";
+ close;
+ } else {
+ mes "[Missing Person's Father]";
+ mes "My baby... my poor baby...";
+ close;
+ }
+}
+
+malaya,265,274,5 script Missing Person's Friend 577,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 < 2) {
+ mes "[Missing Person's Friend]";
+ mes "Please find";
+ mes "my friend.";
+ mes "We were playing ball together";
+ mes "and suddenly my friend disappeared.";
+ next;
+ mes "[Missing Person's Friend]";
+ mes "I'm sure he is alive and well";
+ mes "somewhere.";
+ close;
+ } else if (malaya_bakona2 == 2) {
+ if (countitem(6501) < 7) {
+ mes "[Missing Person's Friend]";
+ mes "You are looking for seven ^FF0000Lost Belongings^000000";
+ mes "of my friend?";
+ mes "My friend is not dead!";
+ close;
+ }
+ mes "[Missing Person's Friend]";
+ mes "These are marbles and toys I gave him...";
+ mes "These are clearly ^FF0000Lost Belongings^000000";
+ mes "of my friend... Where is my friend?";
+ mes "Bring him here, bring him here now!";
+ callsub L_Quest;
+ delitem 6501,7; //Lost_Belongings
+ erasequest 1181;
+ setquest 1182;
+ set malaya_bakona2,3;
+ close;
+ } else {
+ mes "[Missing Person's Friend]";
+ mes "Bring back my friend!";
+ mes "Bring back my friend now!";
+ mes "My friend is alive,";
+ mes "It's all a lie, sob~";
+ if (malaya_bakona2 == 3)
+ callsub L_Quest;
+ close;
+ }
+
+L_Quest:
+ next;
+ mes "Leaving behind the crying boy,";
+ mes "let's continue to find the lost belongings of the missing people.";
+ mes "Retrieve three ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Son^000000.";
+ return;
+}
+
+malaya,270,278,4 script Missing Person's Son 578,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 < 3) {
+ mes "[Missing Person's Son]";
+ mes "Bakonawa has hurt my father?";
+ mes "I can't believe this.";
+ mes "Please find my father!";
+ close;
+ } else if (malaya_bakona2 == 3) {
+ if (countitem(6501) < 3) {
+ mes "[Missing Person's Son]";
+ mes "You are looking for three ^FF0000Lost Belongings^000000";
+ mes "of my father? Why lost belongings and not my father?";
+ mes "No, that can't be it. He is alive somewhere!";
+ close;
+ }
+ mes "[Missing Person's Son]";
+ mes "These are clearly his clothes and shoes...";
+ mes "These are ^FF0000Lost Belongings^000000 of my father.";
+ mes "Oh dear lord... father!";
+ callsub L_Quest;
+ delitem 6501,3; //Lost_Belongings
+ erasequest 1182;
+ setquest 1183;
+ set malaya_bakona2,4;
+ close;
+ } else {
+ mes "[Missing Person's Son]";
+ mes "Why did such a thing happen....";
+ if (malaya_bakona2 == 4)
+ callsub L_Quest;
+ close;
+ }
+
+L_Quest:
+ next;
+ mes "Man crying in agony.";
+ mes "Let's continue to find the lost belongings of the missing people.";
+ mes "Retrieve five ^FF0000Lost Belongings^000000 from Tiucknuc";
+ mes "and deliver them to ^0000FFMissing Person's Mother^000000.";
+ return;
+}
+
+malaya,265,284,4 script Missing Person's Mother 579,{
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 < 4) {
+ mes "[Missing Person's Mother]";
+ mes "Please find my child.";
+ mes "I sent her out to do a chore";
+ mes "and she still isn't back.";
+ close;
+ } else if (malaya_bakona2 == 4) {
+ if (countitem(6501) < 5) {
+ mes "[Missing Person's Mother]";
+ mes "You are looking for five ^FF0000Lost Belongings^000000 of my child?";
+ mes "What does this mean?";
+ mes "Are you saying my child is dead?";
+ close;
+ }
+ mes "[Missing Person's Mother]";
+ mes "This is my child's hair comb.";
+ mes "Why do you have five ^FF0000Lost Belongings^000000 of my child?";
+ mes "Why...? She's... dead?";
+ next;
+ mes "[Missing Person's Mother]";
+ mes "No wait... I think I hear her voice.";
+ mes "She's going to be home soon. I should go home now.";
+ mes "I should prepare a dinner for her. She must be starving.";
+ mes "Ha ha...";
+ next;
+ mes "A mother that has gone mad...";
+ mes "Now that I finished finding the missing people,";
+ mes "I should report back to the Village Chief.";
+ delitem 6501,5; //Lost_Belongings
+ erasequest 1183;
+ setquest 1184;
+ set malaya_bakona2,5;
+ close;
+ } else {
+ mes "[Missing Person's Mother]";
+ mes "Ha ha ha... I can hear my child's voice,";
+ mes "just listen closely.";
+ mes "Can't you hear her calling her mother?";
+ mes "Ha ha ha...";
+ next;
+ mes "A mother that has gone mad...";
+ if (malaya_bakona2 == 5) {
+ mes "Now that I finished finding the missing people,";
+ mes "I should report back to the Village Chief.";
+ }
+ close;
+ }
+}
+
+malaya,289,364,4 script Young Fortune Teller 583,{
+ if (checkweight(1301,3) == 0) {
+ mes "You cannot start the conversation. You are carrying too many items. -";
+ close;
+ }
+ if (malaya_hi < 20) {
+ mes "- He seems cautious of you. -";
+ close;
+ }
+ if (malaya_bakona2 < 6) {
+ mes "[Young Fortune Teller]";
+ mes "The energy of the moon grew weak.";
+ mes "The reason there are more monsters,";
+ mes "and the reason there are more victims,";
+ mes "is all because of this.";
+ close;
+ } else if (malaya_bakona2 == 6) {
+ mes "[Young Fortune Teller]";
+ mes "The energy of the moon grew weak for a couple of days.";
+ mes "The reason there are more monsters,";
+ mes "and the reason there are more victims, is all because of this.";
+ next;
+ mes "[Young Fortune Teller]";
+ mes "I'm trying to hold a ritual";
+ mes "that will restore the moon's energy by sacrificing monsters' blood,";
+ mes "so I need you to hunt fifteen ^FF0000Tikbalang^000000";
+ mes "at Baryo Mahiwaga Field.";
+ next;
+ switch(select("It's none of my business.:You can count on me.")) {
+ case 1:
+ mes "[Young Fortune Teller]";
+ mes "You are so selfish!";
+ mes "During the ritual,";
+ mes "I will pray for your bad luck too.";
+ close;
+ case 2:
+ mes "[Young Fortune Teller]";
+ mes "Hurry.";
+ mes "If the moon completely disappears,";
+ mes "there will be a great disaster.";
+ erasequest 1185;
+ setquest 1186;
+ set malaya_bakona2,7;
+ close;
+ }
+ } else if (malaya_bakona2 == 7) {
+ if (checkquest(1186,HUNTING) == 2) {
+ mes "[Young Fortune Teller]";
+ mes "It looks like you took care of ^FF0000Tikbalang^000000";
+ mes "well enough.";
+ mes "I think I can start the ritual now.";
+ mes "There are some items that we need, please go to";
+ mes "the Village Chief for help.";
+ erasequest 1186;
+ setquest 1187;
+ set malaya_bakona2,8;
+// if (IsPremiumPcCafe == 10)
+ getitem 12699,7; //Tikbalang_Belt
+// else
+// getitem 12699,5; //Tikbalang_Belt
+ close;
+ } else {
+ mes "[Young Fortune Teller]";
+ mes "I need you to hunt fifteen ^FF0000Tikbalang^000000";
+ mes "at Baryo Mahiwaga Field.";
+ next;
+ mes "[Young Fortune Teller]";
+ mes "Hurry.";
+ mes "If the moon completely disappears,";
+ mes "there will be a great disaster.";
+ close;
+ }
+ } else if (malaya_bakona2 == 8) {
+ mes "[Young Fortune Teller]";
+ mes "I think I can start the ritual now.";
+ mes "There are some items that we need, please go to";
+ mes "the Village Chief for help.";
+ close;
+ } else {
+ mes "[Young Fortune Teller]";
+ mes "On the day when the moon fully disappears,";
+ mes "the dragon will attack the village.";
+ mes "No one will be safe.";
+ close;
+ }
+ end;
+}
+
+ma_fild01,54,253,4 script Gruffy Worker#bako2 582,{
+ if (malaya_bakona2 < 9) {
+ mes "[Gruffy Worker]";
+ mes "The Village Chief told me to";
+ mes "wait for you here.";
+ close;
+ } else if (malaya_bakona2 == 9) {
+ mes "[Gruffy Worker]";
+ mes "The trap will be set right in front.";
+ mes "Walk forward a little.";
+ close;
+ } else if (malaya_bakona2 == 10) {
+ mes "[Gruffy Worker]";
+ mes "You can find the";
+ mes "Grumpy Worker near where";
+ mes "Baryo Mahiwaga Field connects to Bakonawa Lake.";
+ mes "Go and set up the trap together.";
+ close;
+ } else {
+ mes "[Gruffy Worker]";
+ mes "Are you trying to advertise that";
+ mes "there is a trap here? Step aside.";
+ close;
+ }
+ end;
+}
+
+ma_fild01,54,244,0 script #bako2 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona2 == 9) {
+ mes "I should set up the trap";
+ mes "right about here.";
+ next;
+ mes "[Gruffy Worker]";
+ mes "Using the tools like this";
+ mes "bang bang bang!";
+ next;
+ mes "bang bang bang!";
+ next;
+ mes "The trap is now set.";
+ next;
+ mes "[Gruffy Worker]";
+ mes "You can find the";
+ mes "Grumpy Worker near where";
+ mes "Baryo Mahiwaga Field connects to Bakonawa Lake.";
+ mes "Go and set up the trap together.";
+ erasequest 1188;
+ setquest 1189;
+ set malaya_bakona2,10;
+ close;
+ } else if (malaya_bakona2 == 10) {
+ mes "The trap has been set up here.";
+ next;
+ mes "[Gruffy Worker]";
+ mes "This trap is not meant to capture you,";
+ mes "so move.";
+ next;
+ mes "[Gruffy Worker]";
+ mes "You can find the";
+ mes "Grumpy Worker near where";
+ mes "Baryo Mahiwaga Field connects to Bakonawa Lake.";
+ mes "Go there to him.";
+ close;
+ }
+ end;
+}
+
+ma_fild01,236,119,5 script Grumpy Worker#bako2 577,{
+ if (malaya_bakona2 < 10) {
+ mes "[Grumpy Worker]";
+ mes "Village Chief told me to";
+ mes "wait for you here.";
+ mes "Sooo boring!";
+ close;
+ } else if (malaya_bakona2 == 10) {
+ mes "[Grumpy Worker]";
+ mes "A hole needs to be dug up in front of here?";
+ mes "I have to dig too?";
+ mes "Says who?";
+ close;
+ } else if (malaya_bakona2 == 11) {
+ mes "[Grumpy Worker]";
+ mes "Go find the Cowardly Worker";
+ mes "near the entrance of Bakonawa Lake.";
+ mes "Come on, move it!";
+ close;
+ } else {
+ mes "[Grumpy Worker]";
+ mes "I set up the trap";
+ mes "and you are advertising that it's here.";
+ mes "Scram!";
+ close;
+ }
+}
+
+ma_fild01,242,116,0 script #bako3 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona2 == 10) {
+ mes "I should set up the trap";
+ mes "right about here.";
+ next;
+ mes "[Grumpy Worker]";
+ mes "I really don't like it here!";
+ mes "...";
+ mes "With this pickax,";
+ mes "dig dig dig!";
+ next;
+ mes "dig dig dig!";
+ next;
+ mes "The trap is now set.";
+ next;
+ mes "[Grumpy Worker]";
+ mes "Go find the Cowardly Worker";
+ mes "near the entrance of Bakonawa Lake.";
+ mes "Come on, move it!";
+ erasequest 1189;
+ setquest 1190;
+ set malaya_bakona2,11;
+ close;
+ } else if (malaya_bakona2 == 11) {
+ mes "The trap has been set up here.";
+ next;
+ mes "[Grumpy Worker]";
+ mes "Are you trying to test";
+ mes "with your body if the trap works?";
+ mes "Move aside!";
+ next;
+ mes "[Grumpy Worker]";
+ mes "Go find the Cowardly Worker";
+ mes "near the entrance of Bakonawa Lake.";
+ mes "Come on, move it!";
+ close;
+ }
+ end;
+}
+
+ma_scene01,177,89,4 script Cowardly Worker#bako2 578,{
+ if (malaya_bakona2 < 11) {
+ mes "[Cowardly Worker]";
+ mes "Village Chief told me to";
+ mes "wait for you here.";
+ mes "Why me? I have a bad feeling about this....";
+ close;
+ } else if (malaya_bakona2 == 11) {
+ mes "[Cowardly Worker]";
+ mes "set up a trap in front of here?";
+ mes "Village Chief said I have to help too?";
+ mes "Can you please do it by yourself?";
+ close;
+ } else if (malaya_bakona2 == 12) {
+ mes "[Cowardly Worker]";
+ mes "Go up and you will";
+ mes "find the Gloomy Worker.";
+ mes "Go! You scare me.";
+ mes "You look like you are going to beat me up.";
+ close;
+ } else {
+ mes "[Cowardly Worker]";
+ mes "Go away!";
+ mes "What if Bakonawa";
+ mes "appears because of you?";
+ mes "I'm scared to death!";
+ close;
+ }
+ end;
+}
+
+ma_scene01,179,85,0 script #bako4 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona2 == 11) {
+ mes "I should set up the trap";
+ mes "right about here.";
+ next;
+ mes "[Cowardly Worker]";
+ mes "There is nothing weird";
+ mes "buried here right?";
+ mes "...";
+ mes "Using the shovel, dig dig dig!";
+ next;
+ mes "dig dig dig!";
+ next;
+ mes "The trap is now set.";
+ next;
+ mes "[Cowardly Worker]";
+ mes "Go up and you will";
+ mes "find the Gloomy Worker.";
+ erasequest 1190;
+ setquest 1191;
+ set malaya_bakona2,12;
+ close;
+ } else if (malaya_bakona2 == 12) {
+ mes "The trap has been set up here.";
+ next;
+ mes "[Cowardly Worker]";
+ mes "Step aside immediately!";
+ mes "Bakonawa might find out this is a trap";
+ mes "and come for us.";
+ next;
+ mes "[Cowardly Worker]";
+ mes "Go up and you will";
+ mes "find the Gloomy Worker.";
+ emotion e_swt,1;
+ close;
+ }
+ end;
+}
+
+ma_scene01,141,118,4 script Gloomy Worker#bako2 582,{
+ if (malaya_bakona2 < 12) {
+ mes "[Gloomy Worker]";
+ mes "Village Chief told me to wait for you here.";
+ mes "He must want me to do something.";
+ mes "Whew...";
+ close;
+ } else if (malaya_bakona2 == 12) {
+ mes "[Gloomy Worker]";
+ mes "set up a trap on the left side?";
+ mes "I don't think it will be much use...";
+ mes "Whew, I should've moved away or something...";
+ close;
+ } else if (malaya_bakona2 == 13) {
+ mes "[Gloomy Worker]";
+ mes "We are all gonna die anyway by Bakonawa.";
+ mes "This is pointless.";
+ mes "Just go up the path and you will find";
+ mes "Sentimental Worker.";
+ close;
+ } else {
+ mes "[Gloomy Worker]";
+ mes "Bakonawa is going to attack us anyway.";
+ mes "What pointless work...";
+ close;
+ }
+ end;
+}
+
+ma_scene01,138,122,0 script #bako5 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona2 == 12) {
+ mes "I should set up the trap";
+ mes "right about here.";
+ next;
+ mes "[Gloomy Worker]";
+ mes "Just catch this net,";
+ mes "throw throw!";
+ next;
+ mes "throw throw!";
+ next;
+ mes "The trap is now set.";
+ next;
+ mes "[Gloomy Worker]";
+ mes "Just go up the path and you will find";
+ mes "Sentimental Worker.";
+ mes "Though I doubt it will be much help.";
+ erasequest 1191;
+ setquest 1192;
+ set malaya_bakona2,13;
+ close;
+ } else if (malaya_bakona2 == 13) {
+ mes "The trap has been set up here.";
+ next;
+ mes "[Gloomy Worker]";
+ mes "The trap is meaningless.";
+ mes "See? It doesn't even work.";
+ close;
+ }
+ end;
+}
+
+ma_scene01,175,170,5 script Sentimental Worker#bako2 578,{
+ if (malaya_bakona2 < 13) {
+ mes "[Sentimental Worker]";
+ mes "Village Chief told me to wait for you here.";
+ mes "Is there a some kind of surprise event?";
+ mes "My heart is beating faster~";
+ close;
+ } else if (malaya_bakona2 == 13) {
+ mes "[Sentimental Worker]";
+ mes "Wow! So we are going to work together";
+ mes "to set up a trap behind this place?";
+ mes "This is sooo cool!";
+ mes "This is the coolest thing in the world!";
+ close;
+ } else if (malaya_bakona2 == 14) {
+ mes "[Sentimental Worker]";
+ mes "Now that the trap is set,";
+ mes "Are we going to report back to Village Chief?";
+ mes "Oh what fun!";
+ mes "It sounds so exiting!";
+ close;
+ } else {
+ mes "[Sentimental Worker]";
+ mes "More I think about it, more exited I get.";
+ mes "I'm secretly guarding the trap!";
+ mes "I want to hear out loud.";
+ mes "I have a trap in front of me! Ha ha ha ha~";
+ emotion e_swt2,1;
+ close;
+ }
+ end;
+}
+
+ma_scene01,171,174,0 script #bako6 139,2,2,{
+ end;
+OnTouch:
+ if (malaya_bakona2 == 13) {
+ mes "I should set up the trap";
+ mes "right about here.";
+ next;
+ mes "[Sentimental Worker]";
+ mes "Wow! This really is a perfect place";
+ mes "to set up a trap.";
+ mes "I'm going to throw the rope!";
+ mes "Here goes the rope!";
+ next;
+ mes "Here goes the rope!";
+ next;
+ mes "The trap is now set.";
+ mes "Let's go to the Village Chief";
+ mes "now that the trap is set.";
+ erasequest 1192;
+ setquest 1193;
+ set malaya_bakona2,14;
+ close;
+ } else if (malaya_bakona2 == 14) {
+ mes "The trap is set here.";
+ next;
+ mes "[Sentimental Worker]";
+ mes "Try out the trap first!";
+ mes "I'm so curious";
+ mes "what would happen!";
+ mes "It's going to be so much fun!";
+ close;
+ }
+ end;
+}
+
+// Original name: "Bakonawa Introduction Quest Helper#bako1"
+sec_in02,10,16,5 script Bakonawa Intro Helper 543,{
+ if (callfunc("F_GM_NPC",1854,0) < 1) {
+ mes "Seafood and Black Bean Sauce Noodle!";
+ close;
+ }
+ mes "[Briquet Scheme]";
+ mes "Just boldly tell me";
+ mes "what is it that you want!";
+ next;
+ switch(select("Reset all quests:Just before the end of first quest:Reset secondary quest:Distribution of lost belongings:Just after hunting")) {
+ case 1:
+ mes "Here you go!";
+ set malaya_bakona1,0;
+ set malaya_bakona2,0;
+ for(set .@i,1174; .@i<=1193; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ close;
+ case 2:
+ mes "[Briquet Scheme]";
+ mes "Here you go!";
+ set malaya_bakona1,6;
+ for(set .@i,1174; .@i<=1178; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ setquest 1179;
+ close;
+ case 3:
+ mes "[Briquet Scheme]";
+ mes "Here you go!";
+ set malaya_bakona2,0;
+ for(set .@i,1180; .@i<=1193; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ close;
+ case 4:
+ mes "[Briquet Scheme]";
+ mes "Here you go!";
+ getitem 6520,17; //Lost_Belongings
+ close;
+ case 5:
+ mes "[Briquet Scheme]";
+ mes "Here you go!";
+ set malaya_bakona2,8;
+ setquest 1187;
+ for(set .@i,1178; .@i<=1193; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ close;
+ }
+}
+
+// Nurse in Port Malaya :: malaya_bang
+//============================================================
+function script F_Malaya_Nurse {
+ if (malaya_bang == 30) {
+ mes "[Nurse Las]";
+ mes "A talisman?";
+ mes "I think you should search for something else.";
+ cutin "malaya_nurseA01",2;
+ callsub L_Warp, getarg(0);
+ } else if (malaya_bang == 31) {
+ mes "[Nurse Las]";
+ mes "A talisman and a person?";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "I did see the talisman but I didn't go near it because I got a bad feeling about it.";
+ next;
+ mes "[Nurse Las]";
+ mes "Oh!";
+ mes "Speaking of talismans, wouldn't that old lady know about them, since she put some around the village?";
+ mes "I think it'll be a good idea to ask her.";
+ set malaya_bang,32;
+ changequest 11303,11304;
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 32) {
+ mes "[Nurse Las]";
+ mes "Oh!";
+ mes "Speaking of talismans, wouldn't that old lady know about them, since she put some around the hospital?";
+ mes "I think it'll be a good idea to ask her.";
+ cutin "malaya_nurseA01",2;
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 33) {
+ mes "[Nurse Las]";
+ mes "A shaman... Best if we met her.";
+ cutin "malaya_nurseA01",2;
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 34) {
+ mes "[Nurse Las]";
+ mes "Oh!";
+ mes "You must have met her.";
+ mes "I feel something strong...";
+ cutin "malaya_nurseA01",2;
+ next;
+ select("Tell her about the talisman.");
+ mes "[Nurse Las]";
+ mes "Yes!";
+ mes "I have an idea.";
+ mes "How about we stick that one over the one we saw on the 2nd floor door?";
+ emotion e_ic;
+ next;
+ mes "[Nurse Las]";
+ mes "Maybe it will block the bad energy it's giving out.";
+ set malaya_bang,35;
+ changequest 11306,11307;
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 35) {
+ mes "[Nurse Las]";
+ mes "Yes!";
+ mes "I have an idea.";
+ mes "How about we stick that one over the one we saw on the 2nd floor door?";
+ emotion e_ic;
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Maybe it will block the bad energy it's giving out.";
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 36) {
+ callsub L_Weight;
+ mes "[Nurse Maenne]";
+ mes "*Sigh*...";
+ mes "I thought it strange when you were standing behind me....";
+ cutin "malaya_nurseB",2;
+ next;
+ mes "[Nurse Maenne]";
+ mes "I didn't think you'd do something like this.";
+ emotion e_dots;
+ next;
+ mes "[Nurse Maenne]";
+ mes "We were just about to enter Bangungot's room, before we were thrown out...";
+ next;
+ switch(select("Bangungot?:Nurse Maenne?")) {
+ case 1:
+ callsub L_Bangungot;
+ select("Nurse Maenne");
+ callsub L_Maenne;
+ break;
+ case 2:
+ callsub L_Maenne;
+ select("Bangungot");
+ callsub L_Bangungot;
+ break;
+ }
+ callsub L_Incomplete;
+ set malaya_bang,42;
+ changequest 11308,11309;
+ callsub L_Reward;
+ callsub L_Warp, getarg(0), 1;
+ } else if (malaya_bang == 40) {
+ callsub L_Weight;
+ if (checkquest(11309,HUNTING) == 2) {
+ callsub L_Complete;
+ set malaya_bang,41;
+ completequest 11309;
+ callsub L_Reward;
+ callsub L_Warp, getarg(0), 1;
+ } else {
+ callsub L_Incomplete;
+ set malaya_bang,42;
+ callsub L_Reward;
+ callsub L_Warp, getarg(0);
+ }
+ } else if (malaya_bang > 40) {
+ if (malaya_bang == 42) {
+ if (checkquest(11309,HUNTING) == 2) {
+ callsub L_Complete;
+ set malaya_bang,41;
+ completequest 11309;
+ callsub L_Warp, getarg(0), 1;
+ } else {
+ callsub L_Incomplete;
+ callsub L_Warp, getarg(0);
+ }
+ }
+ callsub L_Incomplete;
+ switch(getarg(0)) {
+ case 1:
+ next;
+ switch(select("Enter the hospital.:Quit.")) {
+ case 1:
+ callsub L_Warp, getarg(0);
+ case 2:
+ mes "[Nurse Maenne]";
+ mes "Hmmm...";
+ close2;
+ cutin "",255;
+ end;
+ }
+ case 2:
+ callsub L_Warp, getarg(0);
+ }
+ }
+ return;
+
+L_Weight:
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items. -";
+ mes "- Cannot receive item. -";
+ mes "- Please lighten your bag -";
+ mes "- and try again. -";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "- Wait !! -";
+ mes "- You are carrying too many items. -";
+ mes "- Cannot receive item. -";
+ mes "- Please lighten your bag -";
+ mes "- and try again. -";
+ close;
+ }
+ return;
+
+L_Warp:
+ switch(getarg(0)) {
+ case 1:
+ close2;
+ cutin "",255;
+ if (getarg(1,0) == 0)
+ warp "ma_dun01",33,110;
+ end;
+ case 2:
+ next;
+ switch(select("Go outside.:Quit.")) {
+ case 1:
+ close2;
+ cutin "",255;
+ warp "malaya",58,76;
+ end;
+ case 2:
+ mes "[Nurse Las]";
+ mes "Tsk...";
+ close2;
+ cutin "",255;
+ end;
+ }
+ }
+
+L_Reward:
+// if (IsPremiumPcCafe == 10) {
+ getitem 6499,5; //Ancient_Grudge
+ getitem 6497,10; //Lesser_Agimat
+// } else {
+// getitem 6499,3; //Ancient_Grudge
+// getitem 6497,5; //Lesser_Agimat
+// }
+ getitem 617,1; //Old_Violet_Box
+ getexp 1000000,0;
+ return;
+
+L_Bangungot:
+ mes "[Nurse Maenne]";
+ mes "It's a vicious monster roaming this hospital.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "Hmmmm...";
+ mes "It's not exactly a monster....";
+ mes "More like a curse or disease...";
+ next;
+ mes "[Nurse Maenne]";
+ mes "There's a story saying that it used to be a wood fairy.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "Anyway, it doesnt change the fact that she killed the patients of this hospital and turned them into monsters.";
+ next;
+ return;
+
+L_Maenne:
+ mes "[Nurse Maenne]";
+ mes "Me?";
+ mes "As you can see, I'm the new nurse here.";
+ mes "I'm a nurse who specializes in 'this' kind of work, instead of looking after patients.";
+ cutin "malaya_nurseB",2;
+ next;
+ mes "[Nurse Maenne]";
+ mes "Oh!";
+ mes "The Bangungot pretended to be me?";
+ next;
+ mes "[Nurse Maenne]";
+ mes "Seeing how much it rattled you.";
+ mes "It's a rather smart one.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "Simply said, I cure unnatural phenomenon around hospitals.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "Many things happen in the world.";
+ next;
+ return;
+
+L_Complete:
+ mes "[Nurse Maenne]";
+ mes "She may have rooted here deeper than I thought.";
+ mes "I can still feel her presence.";
+ cutin "malaya_nurseB",2;
+ next;
+ mes "[Nurse Maenne]";
+ mes "What you killed was a part of her...";
+ mes "But, it was a big help since you confused and damaged her at the same time.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "It makes things a lot easier.";
+ mes "Thank you.";
+ return;
+
+L_Incomplete:
+ mes "[Nurse Maenne]";
+ mes "It would've been easier if she was apart from her body, but now that she returned to her room, this is going to be a little tricky.";
+ cutin "malaya_nurseB",2;
+ next;
+ mes "[Nurse Maenne]";
+ mes "Of course, don't you dare walk away from this, since you disturbed my job and led her to her room.";
+ next;
+ mes "[Nurse Maenne]";
+ mes "If you make it to the 2nd floor door, I'll open a small door to her room for you.";
+ mes "After that, she's all yours.";
+ return;
+}
+
+malaya,55,72,4 script Nurse#ma_n1 569,{
+ if (malaya_hi < 20) {
+ mes "[Nurse]";
+ mes "People of this town are too cautious of outsiders.";
+ emotion e_ag;
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse]";
+ mes "I'm sure they have their reasons, but I wish they'd tell me how to get closer...";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (BaseLevel < 100) {
+ mes "There's a nurse outside the hospital holding a large bag.";
+ mes "I don't think I can help her.";
+ close;
+ }
+ if (malaya_bang == 0) {
+ mes "[Nurse]";
+ mes "Hey, hold on.";
+ mes "Are you planning on going inside?";
+ cutin "malaya_nurseA01",2;
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Nurse]";
+ mes "Oh~";
+ mes "I'm so glad!";
+ mes "I was literally waiting all day for someone to some by.";
+ cutin "malaya_nurseA02",2;
+ next;
+ switch(select("About the hospital:Reason for stalling me:Ignore.")) {
+ case 1:
+ mes "[Nurse]";
+ mes "This hospital is the only one in town.";
+ mes "And it's going to be my new job.";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse]";
+ mes "I heard it was just built, but it seems so creepy....";
+ emotion e_swt;
+ next;
+ mes "[Nurse]";
+ mes "I was surprised when I got here too.";
+ mes "It says 'closed' all around it!";
+ next;
+ select("Reason for stalling me.");
+ mes "[Nurse]";
+ mes "I was told that they needed nurses in this town,";
+ mes "so I came here after turning down numerous proposals.";
+ next;
+ mes "[Nurse]";
+ mes "I'd heard they were really cautious of outsiders...";
+ next;
+ mes "[Nurse]";
+ mes "Not even a soul to welcome me, let alone a party!";
+ mes "Shocking!";
+ emotion e_sob;
+ next;
+ mes "[Nurse]";
+ mes "What's more, I made it here after being lost and now I'm facing a creepy and locked hospital!";
+ next;
+ break;
+ case 2:
+ mes "[Nurse]";
+ mes "I was told that they needed nurses in this town,";
+ mes "so I came here after turning down numerous proposals.";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse]";
+ mes "I'd heard they were really cautious of outsiders...";
+ next;
+ mes "[Nurse]";
+ mes "Not even a soul to welcome me, let alone a party!";
+ mes "Shocking!";
+ emotion e_sob;
+ next;
+ mes "[Nurse]";
+ mes "What's more, I made it here after being lost and now I'm facing a creepy and locked hospital!";
+ next;
+ select("About the hospital");
+ mes "[Nurse]";
+ mes "This hospital is the only one in town.";
+ mes "And it's going to be my new job.";
+ next;
+ mes "[Nurse]";
+ mes "I heard it was just built, but it seems so creepy....";
+ emotion e_swt;
+ next;
+ mes "[Nurse]";
+ mes "I was surprised when I got here too.";
+ mes "It says 'closed' all around it!";
+ next;
+ break;
+ case 3:
+ mes "[Nurse]";
+ mes "Yes, you must be busy.";
+ mes "Oh, well.";
+ mes "I'll let you be on your way.";
+ mes "Don't mind me. *Sob*";
+ emotion e_sob;
+ cutin "malaya_nurseA03",2;
+ close2;
+ cutin "",255;
+ end;
+ }
+ break;
+ case 2:
+ mes "[Nurse]";
+ mes "Oh, I see...";
+ emotion e_sob;
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "[Nurse]";
+ mes "Now that you say it... If you're going inside, could you take me with you?";
+ cutin "malaya_nurseA04",2;
+ next;
+ mes "[Nurse]";
+ mes "Doors are locked!";
+ mes "My bags are heavy!";
+ mes "And my legs are killing me.";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse]";
+ mes "If I knew this was going to happen, I would've worn ER night-shift shoes instead of first-day shoes... *sniff*";
+ emotion e_sob;
+ next;
+ switch(select("Help.:Don't help.")) {
+ case 1:
+ mes "[Nurse]";
+ mes "*Sob*";
+ mes "I guess this world is still worth living in.";
+ mes "You are too kind.";
+ emotion e_sob;
+ next;
+ mes "[Nurse Las]";
+ mes "I'm 'Las', who's supposed to work in this hospital.";
+ mes "By the looks of it, though, I may become jobless...";
+ next;
+ mes "[Nurse Las]";
+ mes "Let's start by getting inside.";
+ next;
+ mes "[Nurse Las]";
+ mes "Before that....";
+ mes "Could you get something to wrap my feet? I can't put my shoes on because I've got blisters.";
+ emotion e_hlp;
+ cutin "malaya_nurseA04",2;
+ next;
+ mes "[Nurse Las]";
+ mes "2 Rotten Bandages should do to wrap both my feet. They may look dirty, but they have special liquid on them that have amazing effects.";
+ set malaya_bang,1;
+ setquest 11284;
+ close2;
+ cutin "",255;
+ end;
+ case 2:
+ mes "[Nurse]";
+ mes "Yes, you must be busy.";
+ mes "Oh, well.";
+ mes "I'll let you be on your way.";
+ mes "Don't mind me. *Sob*";
+ emotion e_sob;
+ cutin "malaya_nurseA03",2;
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else if (malaya_bang == 1) {
+ if (countitem(930) > 1) {
+ mes "[Nurse Las]";
+ mes "Oh......";
+ mes "I know they're effective but... Not so tempting.";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Rotten Bandages... A fit name for something that seems to have been cut fresh from a mummy.";
+ next;
+ mes "[Nurse Las]";
+ mes "I'm having second thoughts looking at them, but as I am to be a professional nurse!!";
+ mes "Here goes nothing!!!";
+ mes "Ewwww!!";
+ next;
+ mes "[Nurse Las]";
+ mes "*Squish*";
+ mes "*Squelch*";
+ delitem 930,2; //Rotten_Bandage
+ set malaya_bang,2;
+ close2;
+ cutin "",255;
+ end;
+ } else {
+ mes "[Nurse Las]";
+ mes "Before that...";
+ mes "Could you get something to wrap my feet? I can't put my shoes on because I've got blisters.";
+ emotion e_hlp;
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse Las]";
+ mes "2 Rotten Bandages should do to wrap both my feet. They may look dirty, but they have special liquid on that have with amazing effects.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else if (malaya_bang == 2) {
+ mes "[Nurse Las]";
+ mes "Ahhhhh...";
+ mes "My feet feel a lot better now, but it smells funny.";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Oh...... the smell......";
+ mes "My new shoes will be ruined...";
+ emotion e_swt2;
+ next;
+ mes "[Nurse Las]";
+ mes "Okay!!!!!!";
+ mes "I don't know if it's locked or stuck, let's try pushing it together!";
+ set malaya_bang,3;
+ changequest 11284,11285;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 3) {
+ mes "[Nurse Las]";
+ mes "Okay!!!!!!";
+ mes "I don't know if it's locked or stuck, let's try pushing it together!";
+ cutin "malaya_nurseA01",2;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 4) {
+ mes "["+strcharinfo(0)+"]";
+ mes "We pushed and pulled, but it won't budge.";
+ emotion e_swt2,1;
+ next;
+ mes "[Nurse Las]";
+ mes "Strange~";
+ mes "They wouldn't have sent me to a closed down hospital.";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Hmmm!";
+ mes "I can't stand it anymore!";
+ emotion e_an;
+ next;
+ mes "[Nurse Las]";
+ mes "Could you ask the townsfolk about the hospital while I contact HQ?";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Hey, why don't you start with that girl over there?";
+ mes "Perhaps she'll tell you something.";
+ set malaya_bang,5;
+ changequest 11286,11287;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 5) {
+ mes "[Nurse Las]";
+ mes "Could you ask the townsfolk about the hospital while I contact HQ?";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Hey, why don't you start with that girl over there?";
+ mes "Perhaps she'll tell you something.";
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 6) {
+ mes "[Nurse Las]";
+ mes "What did she say?";
+ emotion e_what;
+ cutin "malaya_nurseA02",2;
+ next;
+ select("Tell her what she said.");
+ mes "[Nurse Las]";
+ mes "Strange.";
+ mes "HQ confirmed that I am assigned here.";
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Maybe that girl doesn't know about this place?";
+ mes "HQ couldn't have sent me here and be lying about it. Could you ask someone else in town?";
+ next;
+ mes "[Nurse Las]";
+ mes "I'll contact HQ again for more info.";
+ mes "Hey, why not ask that man over there?";
+ mes "I'm sure he'll know something.";
+ set malaya_bang,7;
+ changequest 11288,11289;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 7) {
+ mes "[Nurse Las]";
+ mes "I'll contact HQ again for more info.";
+ mes "Hey, why not ask that man over there?";
+ mes "I'm sure he'll know something.";
+ cutin "malaya_nurseA01",2;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 8) {
+ mes "[Nurse Las]";
+ mes "An inn?";
+ mes "Good gracious!";
+ mes "If they'd have told me earlier I wouldn't have had to stand out here for so long!";
+ emotion e_pif;
+ cutin "malaya_nurseA01",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Ummm......";
+ mes "......";
+ mes "......";
+ next;
+ mes "[Nurse Las]";
+ mes "Hey... you know what...";
+ next;
+ mes "[Nurse Las]";
+ mes "I don't think I can move anymore because of my feet. Could you go to the inn for me?";
+ emotion e_swt2;
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse Las]";
+ mes "I can't carry my bags around so I'll stay here and watch over them while I treat my feet.";
+ next;
+ mes "[Nurse Las]";
+ mes "I have to be back here again anyway.";
+ mes "Thank you.";
+ set malaya_bang,9;
+ changequest 11290,11291;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 9) {
+ mes "[Nurse Las]";
+ mes "I don't think I can move anymore because of my feet. Could you go to the inn for me?";
+ emotion e_swt2;
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse Las]";
+ mes "I can't carry my bags around so I'll stay here and watch over them while I treat my feet.";
+ next;
+ mes "[Nurse Las]";
+ mes "I have to be back here again anyway.";
+ mes "Thank you.";
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 10) {
+ mes "[Nurse Las]";
+ mes "Hey~";
+ mes "How'd it go?";
+ cutin "malaya_nurseA02",2;
+ next;
+ select("Hand over the key and message.");
+ mes "[Nurse Las]";
+ mes "Keys?";
+ mes "Well this is one step closer to my goals!";
+ mes "Let's open the door right now!";
+ set malaya_bang,11;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 11) {
+ mes "[Nurse Las]";
+ mes "Keys?";
+ mes "Well this is one step closer to my goals!";
+ mes "Let's open the door right now!";
+ cutin "malaya_nurseA02",2;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 12) {
+ mes "[Nurse Las]";
+ mes "That's weird~!";
+ mes "The door's not locked?";
+ mes "How can this be?????";
+ mes "????";
+ emotion e_what;
+ emotion e_what,1;
+ cutin "malaya_nurseA04",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Oh no!!!";
+ mes "Everything's falling apart.";
+ mes "Maybe we should wait for the doctor to come.....";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[???]";
+ mes "...";
+ cutin "",255;
+ next;
+ mes "[???]";
+ mes "*Snigger*";
+ emotion e_what,1;
+ emotion e_what;
+ next;
+ mes "[???]";
+ mes "Hey "+((Sex)?"dude":"missy")+",";
+ mes "You're not getting in the hospital.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Who's there?!";
+ next;
+ mes "[???]";
+ mes "*Snigger*";
+ next;
+ mes "[???]";
+ mes "That's a secret~";
+ mes "My mom will kill me if she knew I was here!";
+ next;
+ switch(select("About entering the hospital.:About it's mom.:About ???:Quit.")) {
+ case 1:
+ mes "[???]";
+ mes "A few days ago, the old lady who lives near us went around the hospital sticking some kind of sticks into the ground.";
+ next;
+ mes "[???]";
+ mes "She was mumbling and looking around a lot.";
+ next;
+ mes "[???]";
+ mes "I was well hidden here because I wasn't supposed to be here.";
+ next;
+ break;
+ case 2:
+ mes "[???]";
+ mes "My mom once told me.";
+ mes "The old lady's daughter was hospitalized here.";
+ next;
+ mes "[???]";
+ mes "She never got out of it though...";
+ next;
+ mes "[???]";
+ mes "She wasn't the only one. There were many strange things going on at the hospital.";
+ next;
+ mes "[???]";
+ mes "That's why my mom doesn't want me coming around here.";
+ next;
+ break;
+ case 3:
+ mes "[???]";
+ mes "No way Jose!";
+ mes "I got a spanking last time I was caught around here!";
+ next;
+ mes "[???]";
+ mes "If I'm caught again, it won't end with a spanking....";
+ mes "So scary.";
+ next;
+ break;
+ case 4:
+ mes "[???]";
+ mes "Humph!!";
+ close;
+ }
+ mes "The voice seems to be coming from the bushes near the entrance of the hospital.";
+ specialeffect EF_STEAL,AREA,"Bushes#ma";
+ set malaya_bang,13;
+ changequest 11293,11294;
+ close;
+ } else if (malaya_bang == 13) {
+ mes "The voice seems to be coming from the bushes near the entrance of the hospital.";
+ mes "Let's check around.";
+ specialeffect EF_STEAL,AREA,"Bushes#ma";
+ close;
+ } else if (malaya_bang == 14) {
+ mes "[Nurse Las]";
+ mes "Hmmm... Let's look around the hospital.";
+ cutin "malaya_nurseA01",2;
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 15) {
+ mes "[Nurse Las]";
+ mes "Hey... ummm...";
+ mes "You know...";
+ mes "Could you give that old lady a visit?";
+ cutin "malaya_nurseA04",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Oh, me? I'll look be looking around here.";
+ next;
+ mes "[Nurse Las]";
+ mes "As you know, my feet hurt...";
+ mes "Yes?";
+ mes "Yes?";
+ next;
+ switch(select("Go.:Don't go.")) {
+ case 1:
+ mes "[Nurse Las]";
+ mes "Okay, off you go.";
+ mes "I think she lives on the west side of town.";
+ mes "Go on.";
+ next;
+ mes "[Nurse Las]";
+ mes "Hey you in the bushes, I'll tell on you if you don't go home now!";
+ set malaya_bang,16;
+ changequest 11296,11297;
+ close2;
+ cutin "",255;
+ end;
+ case 2:
+ mes "[Nurse Las]";
+ mes "Why!?";
+ mes "Staying here won't solve anything.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else if (malaya_bang == 16 || malaya_bang == 17) {
+ mes "[Nurse Las]";
+ mes "Okay, off you go.";
+ mes "I think she lives on the west side of town.";
+ mes "Go on.";
+ cutin "malaya_nurseA04",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Hey you in the bushes, I'll tell on you if you don't go home now!";
+ emotion e_omg,0,"Bushes#ma";
+ close2;
+ cutin "",255;
+ end;
+ } else if (malaya_bang == 18) {
+ mes "[Nurse Las]";
+ mes "How'd it go?";
+ mes "Did you meet the old lady?";
+ cutin "malaya_nurseA02",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Oh by the way, when ["+strcharinfo(0)+"], you were gone, I tried the door.";
+ mes "It did open...";
+ next;
+ mes "[Nurse Las]";
+ mes "But the way to the 2nd floor was blocked.";
+ mes "I thought the door opening was a break through, but turns out it wasn't.";
+ cutin "malaya_nurseA03",2;
+ next;
+ mes "[Nurse Las]";
+ mes "Anyway, the first floor door is open, so let's go inside.";
+ mes "Everything would be meaningless if the second floor door is not opened.";
+ emotion e_sob;
+ set malaya_bang,19;
+ changequest 11299,11300;
+ close2;
+ cutin "",255;
+ warp "ma_dun01",33,110;
+ end;
+ } else if (malaya_bang == 19) {
+ mes "[Nurse Las]";
+ mes "Anyway, the first floor door is open, so let's go inside.";
+ mes "Everything would be meaningless if the second floor door is not opened.";
+ emotion e_sob;
+ cutin "malaya_nurseA01",2;
+ close2;
+ cutin "",255;
+ warp "ma_dun01",33,110;
+ end;
+ } else if (malaya_bang < 30) {
+ mes "[Nurse Las]";
+ mes "Could you check the 2nd floor door again in case I missed something?";
+ cutin "malaya_nurseA01",2;
+ close2;
+ cutin "",255;
+ warp "ma_dun01",33,110;
+ end;
+ } else {
+ callfunc "F_Malaya_Nurse",1;
+ end;
+ }
+ mes "There's a nurse outside the hospital holding a large bag.";
+ mes "I don't think I can help her.";
+ close;
+}
+
+ma_dun01,35,108,4 script Nurse#ma_n2 569,{
+ if (malaya_bang < 19) {
+ // fall through
+ } else if (malaya_bang < 30) {
+ if (malaya_bang == 19) {
+ mes "The hospital is infested with monsters, like the old lady said.";
+ mes "How could she have gone back and forth to the 2nd floor with her feet like that....";
+ next;
+ set malaya_bang,20;
+ changequest 11300,11301;
+ }
+ mes "[Nurse Las]";
+ mes "Could you check the 2nd floor door again in case I missed something?";
+ cutin "malaya_nurseA01",2;
+ next;
+ switch(select("Go outside.:Quit.")) {
+ case 1:
+ close2;
+ cutin "",255;
+ warp "malaya",58,76;
+ end;
+ case 2:
+ mes "[Nurse Las]";
+ mes "Tsk...";
+ close2;
+ cutin "",255;
+ end;
+ }
+ } else {
+ callfunc "F_Malaya_Nurse",2;
+ end;
+ }
+ mes "[Nurse]";
+ mes "I want to be left alone.";
+ mes "Please leave.";
+ close2;
+ warp "malaya",58,76;
+ end;
+}
+
+ma_dun01,152,23,4 script Suspicious Wooden Stick::MalayaStick0 858,{
+ if (malaya_bang == 20) {
+ mes "There's a talisman similar to the ones outside the hospital.";
+ mes "Let's look around for something else.";
+ set malaya_bang,30;
+ changequest 11301,11302;
+ close;
+ } else if (malaya_bang == 30) {
+ mes "There's a talisman similar to the ones outside the hospital.";
+ mes "Let's look around for something else.";
+ close;
+ } else if (malaya_bang == 35) {
+ mes "After sticking on the talisman over the other one, the dark feeling lifted away, just like Las said.";
+ next;
+ mes "[Nurse Las]";
+ mes "*Snigger*";
+ cutin "malaya_nurseA05",2;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "?!";
+ cutin "",255;
+ next;
+ mes "[Nurse Las]";
+ mes "Yes, yes!";
+ cutin "malaya_nurseA05",2;
+ next;
+ mes "[Nurse Las]";
+ mes "The annoying talismans are gone!";
+ next;
+ mes "[Nurse Las]";
+ mes "*Giggle*";
+ next;
+ mes "[Nurse Las]";
+ mes "Human's are so dumb. You show them a pretty little helpless look and they fall for it.";
+ next;
+ mes "[Nurse Las]";
+ mes "*Snigger*";
+ next;
+ mes "[Nurse Las]";
+ mes "For your work, I shall take you to my room...";
+ mes "Darn...";
+ next;
+ mes "[Nurse Las]";
+ mes "......";
+ next;
+ mes "[Nurse Las]";
+ mes "No no no!";
+ mes "You still have those annoying talismans!!!";
+ next;
+ mes "[Nurse Las]";
+ mes "This is your lucky day!";
+ mes "*Snigger*";
+ set malaya_bang,36;
+ changequest 11307,11308;
+ close2;
+ cutin "",255;
+ warp "malaya",58,76;
+ end;
+ } else if (malaya_bang > 35) {
+ mes "Cannot feel anything evil about the talisman.";
+ mes "Only the bitter taste of being fooled around Las remains...";
+ close;
+ } else {
+ mes "No power can be felt.";
+ close;
+ }
+}
+
+malaya,48,76,4 script Hospital Door#ma_n1 844,{
+ if (malaya_bang == 3) {
+ mes "Pushed hard on the door, but it won't open.";
+ mes "It doesn't feel like it's locked or stuck, but encased by a layer of something.";
+ set malaya_bang,4;
+ changequest 11285,11286;
+ close;
+ } else if (malaya_bang == 4) {
+ mes "Pushed hard on the door, but it won't open.";
+ mes "It doesn't feel like it's locked or stuck, but encased by a layer of something.";
+ close;
+ } else if (malaya_bang == 11) {
+ mes "Put the key inside the lock of the hospital door...";
+ mes "But it's not locked as expected.";
+ next;
+ mes "Then why is the door not opening?";
+ set malaya_bang,12;
+ changequest 11292,11293;
+ close;
+ } else if (malaya_bang == 12) {
+ mes "Put the key inside the lock of the hospital door...";
+ mes "But it's not locked as expected.";
+ next;
+ mes "Then why is the door not opening?";
+ close;
+ } else if (malaya_bang > 18) {
+ if(select("Enter the hospital.:Quit.") == 1)
+ warp "ma_dun01",33,110;
+ end;
+ } else {
+ mes "The hospital door seems to be closed.";
+ close;
+ }
+}
+
+malaya,64,78,4 script Village Woman#mab 583,{
+ if (malaya_hi < 20) {
+ mes "[Village Woman]";
+ mes "......";
+ next;
+ mes "Seems very cautious about you.";
+ close;
+ }
+ if (malaya_bang == 5) {
+ mes "[Village Woman]";
+ mes "Oh~Are you an adventurer?";
+ mes "It seems like we have a lot of them in town lately.";
+ next;
+ mes "[Village Woman]";
+ mes "I was born here and never went far away from here, so I always feel like going on my adventures when I hear the stories they bring.";
+ next;
+ switch(select("Ask about the hospital.:End conversation.")) {
+ case 1:
+ mes "[Village Woman]";
+ mes "The hospital?";
+ mes "It's been closed for a very long time.";
+ mes "They don't talk about it around here.";
+ next;
+ mes "[Village Woman]";
+ mes "I never had to go to the hospital.";
+ mes "I've been there once when I had a stomach ache as a child. I remember the place being creepy.";
+ next;
+ mes "[Village Woman]";
+ mes "Children never like hospitals.";
+ next;
+ select("Ask about the nurse.");
+ mes "[Village Woman]";
+ mes "The new nurse?";
+ mes "I don't know.";
+ mes "I haven't given it a thought.";
+ mes "It is strange to have a new nurse coming to a closed hospital.";
+ set malaya_bang,6;
+ changequest 11287,11288;
+ close;
+ case 2:
+ mes "[Village Woman]";
+ mes "Have a nice day~";
+ close;
+ }
+ } else if (malaya_bang == 6) {
+ mes "[Village Woman]";
+ mes "The new nurse?";
+ mes "I don't know.";
+ mes "I haven't given it a thought.";
+ mes "It is strange to have a new nurse coming to a closed hospital.";
+ set malaya_bang,6;
+ changequest 11287,11288;
+ close;
+ } else {
+ mes "[Village Woman]";
+ mes "Oh~Are you an adventurer?";
+ mes "It seems like we have a lot of them in town lately.";
+ next;
+ mes "[Village Woman]";
+ mes "I was born here and never went far away from here, so I always feel like going on my adventures when I hear the stories they bring.";
+ close;
+ }
+}
+
+malaya,62,37,4 script Village Man#mab 582,{
+ if (malaya_hi < 20) {
+ mes "[Village Man]";
+ mes "Hmmm! Haven't seen you around?";
+ mes "What brings you to our town?";
+ next;
+ mes "Seems very cautious about you.";
+ close;
+ }
+ if (malaya_bang == 7) {
+ mes "[Village Man]";
+ mes "*Laughs*";
+ mes "An adventurer, are you?";
+ mes "When you have time, come and take a look around my pineapple farm.";
+ next;
+ mes "[Village Man]";
+ mes "Just a little bit~";
+ mes "far from the village, but I'll give you all the pineapple you want in exchange for a good story of yours!";
+ next;
+ switch(select("Ask about the hospital.:End conversation.")) {
+ case 1:
+ mes "[Village Man]";
+ mes "Ummm......";
+ mes "You mean that hospital?";
+ next;
+ mes "[Village Man]";
+ mes "It was closed down because of an accident.";
+ mes "But I wouldn't trouble an outsider with the details......";
+ mes "There's not much I can tell you.";
+ next;
+ select("Ask about the nurse.");
+ mes "[Village Man]";
+ mes "Oh!!!";
+ mes "Did you meet the nurse?!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "She was standing in front of the hospital.";
+ mes "Oh!";
+ mes "She must have gone to contact HQ.";
+ next;
+ mes "[Village Man]";
+ mes "We requested 'the nurse', and she's already here! We're saved!";
+ next;
+ select("The nurse?");
+ mes "[Village Man]";
+ mes "She was invited here to save our hospital.";
+ next;
+ mes "[Village Man]";
+ mes "Now I have to spread the good news! Could you bring her to the inn at the center of town?";
+ next;
+ mes "[Village Man]";
+ mes "That's where the doctor is staying.";
+ mes "He's been there ever since the hospital was closed.";
+ set malaya_bang,8;
+ changequest 11289,11290;
+ close;
+ case 2:
+ mes "[Village Man]";
+ mes "Whoopeee!";
+ close;
+ }
+ } else if (malaya_bang == 8) {
+ mes "[Village Man]";
+ mes "Now I have to spread the good news! Could you bring her to the inn at the center of town?";
+ next;
+ mes "[Village Man]";
+ mes "That's where the doctor is staying.";
+ mes "He's been there ever since the hospital was closed.";
+ close;
+ } else {
+ mes "[Village Man]";
+ mes "Whoopeee!";
+ mes "An adventurer, are you?";
+ mes "When you have time, come and take a look around my pineapple farm.";
+ next;
+ mes "[Village Man]";
+ mes "Just a little bit~";
+ mes "far from the village, but I'll give you all the pineapple you want in exchange for a good story of yours!";
+ close;
+ }
+}
+
+malaya,210,200,5 script Dr. Boon#ma 865,{
+ if (malaya_hi < 20) {
+ mes "[Dr. Boon]";
+ mes "......";
+ next;
+ mes "Seems very cautious about you.";
+ close;
+ }
+ if (malaya_bang == 9) {
+ mes "[Dr. Boon]";
+ mes "So~ You're the new nurse?";
+ next;
+ switch(select("Yes.:No.")) {
+ case 1:
+ mes "[Dr. Boon]";
+ mes "Nothing's more important for a nurse than their white uniform.";
+ mes "Go get changed!";
+ close;
+ case 2:
+ mes "[Dr. Boon]";
+ mes "Oh! I'm sorry.";
+ mes "We're waiting for a new nurse.";
+ mes "My bad.";
+ next;
+ select("Explain the situation.");
+ mes "[Dr. Boon]";
+ mes "Aha~";
+ mes "So that's what happened.";
+ mes "Oh, dear. I guess there was a misunderstanding.";
+ next;
+ mes "[Dr. Boon]";
+ mes "You see, I've been treating patients at the inn after what happened to the hospital.";
+ next;
+ mes "[Dr. Boon]";
+ mes "Even so, I must apologize for making her stand there so long.";
+ next;
+ mes "[Dr. Boon]";
+ mes "I can't leave right now because I have patients to look after. Why don't you go over and hand over this key?";
+ next;
+ mes "[Dr. Boon]";
+ mes "And give her a message with the key saying, 'I'll leave it to your own discretion'.";
+ next;
+ mes "[Dr. Boon]";
+ mes "I'll be there as soon as I'm done here.";
+ mes "Good luck~";
+ set malaya_bang,10;
+ changequest 11291,11292;
+ close;
+ }
+ } else if (malaya_bang == 10) {
+ mes "[Dr. Boon]";
+ mes "I can't leave right now because I have patients to look after. Why don't you go over and hand over this key?";
+ next;
+ mes "[Dr. Boon]";
+ mes "And give her a message with the key saying, 'I'll leave it to your own discretion'.";
+ next;
+ mes "[Dr. Boon]";
+ mes "I'll be there as soon as I'm done here.";
+ mes "Good luck~";
+ close;
+ } else {
+ mes "[Dr. Boon]";
+ mes "*Sigh*";
+ mes "The work... It never ends...";
+ mes "How am I supposed to handle all these patients on my own?";
+ next;
+ mes "[Dr. Boon]";
+ mes "What? What's a doctor doing in an inn?";
+ mes "Well, why not?";
+ close;
+ }
+}
+
+malaya,53,68,4 script Bushes#ma 844,{
+ if (malaya_bang < 13) {
+ mes "It's just a bush.";
+ mes "A sweet scent of wood rises when shaken.";
+ close;
+ }
+ if (malaya_bang == 13) {
+ mes "[???]";
+ mes "Don't come any closer!";
+ mes "Old "+((Sex)?"man":"lady")+"!";
+ mes "How'd you know I was here?";
+ emotion e_omg;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I'm not old.";
+ emotion e_an,1;
+ next;
+ switch(select("About entering the hospital.:About its mom.:About ???.:Ask about the old lady.:Ask about the hospital grounds.:Quit.")) {
+ case 1:
+ mes "[???]";
+ mes "A few days ago, the old lady who lives near us went around the hospital sticking some kind of sticks into the ground.";
+ next;
+ mes "[???]";
+ mes "She was mumbling and looking around a lot.";
+ next;
+ mes "[???]";
+ mes "I was well hidden here because I wasn't supposed to be here.";
+ next;
+ break;
+ case 2:
+ mes "[???]";
+ mes "My mom once told me.";
+ mes "The old lady's daughter was hospitalized here.";
+ next;
+ mes "[???]";
+ mes "She never got out of it though...";
+ next;
+ mes "[???]";
+ mes "She wasn't the only one. There were many strange things going on at the hospital.";
+ next;
+ mes "[???]";
+ mes "That's why my mom doesn't want me coming around here.";
+ next;
+ break;
+ case 3:
+ mes "[???]";
+ mes "No way Jose!";
+ mes "I got a spanking last time I was caught around here!";
+ next;
+ mes "[???]";
+ mes "If I'm caught again, it won't end with a spanking....";
+ mes "So scary.";
+ next;
+ break;
+ case 4:
+ mes "[???]";
+ mes "It's the lady who lives next door to us.";
+ next;
+ mes "[???]";
+ mes "I saw her a few days ago doing something around the hospital.";
+ next;
+ mes "[???]";
+ mes "I couldn't see what she was doing from here, but I found some sticks there after she'd left.";
+ set malaya_bang,14;
+ changequest 11294,11295;
+ close;
+ case 5:
+ mes "[???]";
+ mes "I dunno.";
+ mes "Nothing's different except for the sticks.";
+ next;
+ mes "[???]";
+ mes "The old lady comes back once in a while to check on the sticks.";
+ mes "My heart races when that happens!";
+ next;
+ break;
+ case 6:
+ mes "[???]";
+ mes "Humph!!";
+ emotion e_pif;
+ close;
+ }
+ mes "[???]";
+ mes "Promise me you won't tell anyone that you saw me!!!";
+ mes "Promise?!";
+ close;
+ } else if (malaya_bang == 14) {
+ mes "[???]";
+ mes "I couldn't see what she was doing from here, but I found some sticks there after she'd left.";
+ close;
+ } else if (malaya_bang == 15) {
+ mes "[???]";
+ mes "Don't come any closer!";
+ mes "Old "+((Sex)?"man":"lady")+"!";
+ mes "How'd you know I was here?";
+ emotion e_omg;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I'm not old.";
+ emotion e_an,1;
+ close;
+ } else {
+ mes "There's a trace of a young child.";
+ mes "Think the child's gone home now.";
+ close;
+ }
+}
+
+- script Suspicious Wooden Stick::MalayaStick -1,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items. -";
+ mes "- Cannot receive item. -";
+ mes "- Please lighten your bag -";
+ mes "- and try again. -";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "- Wait !! -";
+ mes "- You are carrying too many items. -";
+ mes "- Cannot receive item. -";
+ mes "- Please lighten your bag -";
+ mes "- and try again. -";
+ close;
+ }
+ if (malaya_bang == 14) {
+ mes "A strange stick is planted on the ground.";
+ mes "A mysterious force can be felt.";
+ next;
+ switch(select("Pull it out.:Leave it.")) {
+ case 1:
+ if (rand(1,5) == 4) {
+ mes "Pulled out the deeply planted stick.";
+ mes "The hospital seems to have become more gloomy.";
+ if (rand(2)) {
+ set malaya_bang,15;
+ changequest 11295,11296;
+ getitem 6497,1; //Lesser_Agimat
+ donpcevent "Tent"+replacestr(strnpcinfo(3),"MalayaStick","")+"#ma::OnEnable";
+ next;
+ mes "Better show Las the talisman.";
+ close;
+ } else {
+ getitem 6497,1; //Lesser_Agimat
+ donpcevent "Tent"+replacestr(strnpcinfo(3),"MalayaStick","")+"#ma::OnEnable";
+ close;
+ }
+ } else {
+ mes "After pulling out the deeply planted stick, an uneasy feeling washes over.";
+ donpcevent "Tent"+replacestr(strnpcinfo(3),"MalayaStick","")+"#ma::OnEnable";
+ close;
+ }
+ case 2:
+ mes "It looks ominous. Better leave it alone.";
+ close;
+ }
+ } else {
+ mes "There's a strange looking stick.";
+ close;
+ }
+ end;
+OnEnable:
+ enablenpc strnpcinfo(3); // NPC name is too long for strnpcinfo(0).
+ end;
+OnDisable:
+ disablenpc strnpcinfo(3);
+ end;
+}
+malaya,40,52,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick1 858
+malaya,31,42,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick2 858
+malaya,34,36,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick3 858
+malaya,40,32,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick4 858
+malaya,50,85,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick5 858
+malaya,46,93,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick6 858
+malaya,36,98,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick7 858
+malaya,48,79,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick8 858
+malaya,50,46,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick9 858
+malaya,59,84,4 duplicate(MalayaStick) Suspicious Wooden Stick::MalayaStick10 858
+
+- script Tent#ma -1,{ //557
+ end;
+OnInit:
+ disablenpc strnpcinfo(0);
+ end;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ initnpctimer;
+ end;
+OnDisable:
+ stopnpctimer;
+ disablenpc strnpcinfo(0);
+ end;
+OnTimer1000:
+ donpcevent "MalayaStick"+replacestr(strnpcinfo(1),"Tent","")+"::OnDisable";
+ end;
+OnTimer30000:
+ donpcevent "MalayaStick"+replacestr(strnpcinfo(1),"Tent","")+"::OnEnable";
+ donpcevent strnpcinfo(0)+"::OnDisable";
+ end;
+}
+- duplicate(Tent#ma) Tent1#ma -1
+- duplicate(Tent#ma) Tent2#ma -1
+- duplicate(Tent#ma) Tent3#ma -1
+- duplicate(Tent#ma) Tent4#ma -1
+- duplicate(Tent#ma) Tent5#ma -1
+- duplicate(Tent#ma) Tent6#ma -1
+- duplicate(Tent#ma) Tent7#ma -1
+- duplicate(Tent#ma) Tent8#ma -1
+- duplicate(Tent#ma) Tent9#ma -1
+- duplicate(Tent#ma) Tent10#ma -1
+
+malaya,114,183,3 script Bent Old Lady#ma 575,{
+ if (malaya_bang == 16) {
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am, excuse me, but can I ask you a question?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am!!!!!!!!!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Who? What?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Excuse me, but can I ask you something?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "What? I can't hear you.";
+ mes "Speak up!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I! Have! Something! To! Ask! You!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Oh~Yes dear~";
+ mes "I'll tell you everything I know, dear~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Do you know anything about the hospital?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Hospital?";
+ mes "........";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Hospital?!?!?!?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "That hospital is cursed!";
+ mes "Something wicked is living there!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "The thing took away my poor little girl.";
+ next;
+ switch(select("Ask about the hospital.:Ask about her daughter.")) {
+ case 1:
+ mes "[Bent Old Lady]";
+ mes "Everybody was happy to hear about the hospital being built.";
+ next;
+ mes "[Bent Old Lady]";
+ mes "We no longer had to go to other towns for medical care.";
+ next;
+ mes "[Bent Old Lady]";
+ mes "But the one they built didn't work out so well.";
+ mes "It couldn't cure people.";
+ mes "I knew this would happen when they chopped down the old tree to build it.";
+ next;
+ mes "[Bent Old Lady]";
+ mes "But the administrator wouldn't listen.";
+ mes "Far from curing people, they started to die.";
+ mes "So did my daughter...";
+ set malaya_bang,17;
+ changequest 11297,11298;
+ close;
+ case 2:
+ mes "[Bent Old Lady]";
+ mes "She suffered from nothing life threatening.";
+ mes "It was...";
+ mes "Just a cold......";
+ next;
+ mes "[Bent Old Lady]";
+ mes "The wicked thing.... My daughter...";
+ mes "There's something in that hospital.";
+ close;
+ }
+ } else if (malaya_bang == 17) {
+ select("Show her the stick.");
+ mes "[Bent Old Lady]";
+ mes "What?";
+ mes "Arghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh";
+ emotion e_omg;
+ next;
+ mes "[Bent Old Lady]";
+ mes "Arghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh";
+ emotion e_omg;
+ next;
+ mes "[Bent Old Lady]";
+ mes "Arghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh";
+ emotion e_omg;
+ next;
+ mes "[Bent Old Lady]";
+ mes "Arghhhhhhhhhh!!!!!!!!!!!";
+ emotion e_omg;
+ next;
+ mes "[Bent Old Lady]";
+ mes "What have you done!";
+ mes "That... That was a talisman to stop the wicked thing!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "If you pull them up, it will go after people again!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "I saw it!";
+ mes "I saw it when they closed the hospital saying that everybody had died.";
+ next;
+ mes "[Bent Old Lady]";
+ mes "But they all knew.";
+ mes "The patients weren't all dead.";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Taken alive...";
+ mes "By the thing that took my daughter...";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Oh dear.";
+ next;
+ mes "Nurse Las may be in danger, standing alone in front of the hospital.";
+ mes "If I don't return quickly...";
+ set malaya_bang,18;
+ changequest 11298,11299;
+ close;
+ } else if (malaya_bang == 18) {
+ mes "Nurse Las may be in danger, standing alone in front of the hospital.";
+ mes "If I don't return quickly...";
+ close;
+ } else if (malaya_bang == 32) {
+ mes "[Bent Old Lady]";
+ mes "Yes? The talisman?";
+ mes "I asked the shaman up north of the village to make them,";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Not famous, but a talented shaman.";
+ set malaya_bang,33;
+ changequest 11304,11305;
+ close;
+ } else {
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am, excuse me, but can I ask you a question?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Ho ho ho ho~~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ma'am!!!!!!!!!";
+ next;
+ mes "[Bent Old Lady]";
+ mes "Who? What?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Excuse me, but can I ask you something?";
+ next;
+ mes "[Bent Old Lady]";
+ mes "What? I can't hear you.";
+ mes "Speak up!";
+ close;
+ }
+}
+
+malaya,276,367,4 script Bent Shaman#ma 782,{
+ if (malaya_hi < 20) {
+ mes "[Bent Shaman]";
+ mes "Urgh Urgh Urghhhhhh";
+ next;
+ mes "Doesn't give even a glance...";
+ close;
+ }
+ mes "[Bent Shaman]";
+ mes "Hmmmm...";
+ mes "I feel, feel....";
+ next;
+ mes "[Bent Shaman]";
+ mes "I feel something bad from you...";
+ if (malaya_bang == 33) {
+ next;
+ mes "[Bent Shaman]";
+ mes "No no...";
+ mes "You need not say anything!";
+ mes "You'll be needing this.";
+ next;
+ mes "[Bent Shaman]";
+ mes "It's okay.";
+ mes "No need for money.";
+ mes "It's the karma this village must face...";
+ set malaya_bang,34;
+ changequest 11305,11306;
+ }
+ close;
+}
+
+// Pintados Festival :: malaya_pintados
+//============================================================
+/*
+Description
+-----------
+The Pintados Festival begins when players have accumulated 1000 Lesser Agimats,
+1000 Silver Crosses, and 300 dyestuffs, and lasts for 7 days. During that time,
+players are able to create a tattoo.
+
+Global Variables
+----------------
+$malaya_pintados_00 - Festival time limit, in 30-minute intervals. (range: 0~344)
+$malaya_pintados_01 - Number of Lesser Agimats collected. (range: 0~1000)
+$malaya_pintados_02 - Number of Silver Crosses collected. (range: 0~1000)
+$malaya_pintados_03 - Number of dyestuffs collected. (range: 0~300)
+$malaya_pintados_04$ - Last player to create a tattoo.
+*/
+
+ma_fild01,1,1,4 script Pintados Manager#pin 894,{
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
+ mes "Bingo!";
+ next;
+ } else {
+ mes "Error occurred.";
+ close;
+ }
+ mes "Hi, I'm the Pintados Festival Manager. Please select an item.";
+ mes "Time Value: ("+$malaya_pintados_00+"/344)";
+ mes "Lesser Agimat Value: ("+$malaya_pintados_01+"/1,000)";
+ mes "Cross Value: ("+$malaya_pintados_02+"/1,000)";
+ mes "Dyestuffs Value: ("+$malaya_pintados_03+"/300)";
+ mes "Recent Tattoo Creator: "+$malaya_pintados_04$;
+ next;
+ switch(select("Eastern Medicine Button ? Start & End:Detail Button ? Adjust Value:Start Timer:End Timer")) {
+ case 1:
+ mes "This is the Eastern Medicine Control Button.";
+ mes "You can set the Start or End values for the festival.";
+ next;
+ switch(select("Start Pintados Festival:End Pintados Festival:NPC_ON:NPC_OFF")) {
+ case 1:
+ set $malaya_pintados_00,1;
+ donpcevent "Pintados Manager#pin::OnEnable";
+ mes "Start the Pintados Festival.";
+ close;
+ case 2:
+ donpcevent "Pintados Manager#pin::OnDisable";
+ mes "End the Pintados Festival.";
+ close;
+ case 3:
+ donpcevent "Pintados Manager#pin::OnEnableNPC";
+ mes "Add an NPC.";
+ close;
+ case 4:
+ donpcevent "Pintados Manager#pin::OnDisableNPC";
+ mes "Remove an NPC.";
+ close;
+ }
+ case 2:
+ mes "Adjust the global value. Please select the value to adjust.";
+ next;
+ while(1) {
+ switch(select("Complete Adjustment:Time ("+$malaya_pintados_00+"):Lesser Agimat ("+$malaya_pintados_01+"):Silver Cross ("+$malaya_pintados_02+"):Dyestuffs ("+$malaya_pintados_03+")")) {
+ case 1:
+ mes "Completed global adjustment.";
+ close;
+ case 2:
+ mes "Adjust Time [0~344]";
+ mes "Global Increase by 1/30 min.";
+ mes "1 - 49 -> Day 1";
+ mes "50 - 98 -> Day 2";
+ mes "99 - 147 -> Day 3";
+ mes "148 - 196 -> Day 4";
+ mes "197 - 245 -> Day 5";
+ mes "246 - 294 -> Day 6";
+ mes "295 - 343 -> Day 7";
+ mes "Global 1 = 1 hr.";
+ next;
+ input .@input;
+ if (.@input < 0 || .@input > 344)
+ close;
+ set $malaya_pintados_00, .@input;
+ break;
+ case 3:
+ mes "Adjust the accumulated value for the Lesser Agimat.";
+ mes "Values can be adjusted between 0 to 1000.";
+ next;
+ input .@input;
+ if (.@input < 0 || .@input > 1000)
+ close;
+ set $malaya_pintados_01, .@input;
+ break;
+ case 4:
+ mes "Adjust the accumulated value of the Silver Cross.";
+ mes "Values can be adjusted between 0 to 1000.";
+ next;
+ input .@input;
+ if (.@input < 0 || .@input > 1000)
+ close;
+ set $malaya_pintados_02, .@input;
+ break;
+ case 5:
+ mes "Adjust the accumulated value for the Dyestuff.";
+ mes "Values can be adjusted between 0 to 300.";
+ next;
+ input .@input;
+ if (.@input < 0 || .@input > 300)
+ close;
+ set $malaya_pintados_03, .@input;
+ break;
+ }
+ mes "Time Value: ("+$malaya_pintados_00+"/344)";
+ mes "Lesser Agimat Value: ("+$malaya_pintados_01+"/1,000)";
+ mes "Cross Value: ("+$malaya_pintados_02+"/1,000)";
+ mes "Dyestuffs Value: ("+$malaya_pintados_03+"/300)";
+ mes "This is the current value. Do you want to adjust it?";
+ next;
+ }
+ case 3:
+ initnpctimer;
+ break;
+ case 4:
+ stopnpctimer;
+ break;
+ }
+ end;
+
+// Moved to individual NPCs for smoother processing.
+//OnInit:
+// if ($malaya_pintados_00 > 0)
+// donpcevent "Pintados Manager#pin::OnEnableNPC";
+// end;
+
+OnTimer1800000:
+ set $malaya_pintados_00, $malaya_pintados_00;
+ if ($malaya_pintados_00 > 0 && $malaya_pintados_00 < 344) {
+ set $malaya_pintados_00,$malaya_pintados_00+1;
+ stopnpctimer;
+ initnpctimer;
+ } else {
+ set $malaya_pintados_00,0;
+ donpcevent "Pintados Manager#pin::OnDisable";
+ }
+ end;
+OnEnable:
+ initnpctimer;
+ donpcevent "Pintados Manager#pin::OnEnableNPC";
+ announce "The 'Pintados Festival' will be held for a week in Baryo Mahiwaga.",bc_all,"0xFB9D04",FW_NORMAL,12;
+ end;
+OnDisable:
+ stopnpctimer;
+ set $malaya_pintados_00,0;
+ set $malaya_pintados_01,0;
+ set $malaya_pintados_02,0;
+ set $malaya_pintados_03,0;
+ donpcevent "Pintados Manager#pin::OnDisableNPC";
+ announce "The 'Pintados Festival' ended with great success.",bc_all,"0xFB9D04",FW_NORMAL,12;
+ end;
+OnEnableNPC:
+ set .@str$, "::OnEnable";
+OnDisableNPC:
+ if (.@str$ == "")
+ set .@str$, "::OnDisable";
+ donpcevent "Tourist#pin01"+.@str$;
+ donpcevent "Tourist#pin02"+.@str$;
+ donpcevent "Tourist#pin03"+.@str$;
+ donpcevent "Young Tattooist#pin04"+.@str$;
+ donpcevent "Tourist#pin05"+.@str$;
+ donpcevent "Drumming Young Man#pin06"+.@str$;
+ donpcevent "Drumming Young Man#pin07"+.@str$;
+ donpcevent "Drumming Young Man#pin08"+.@str$;
+ donpcevent "Beat Catching Boy#pin09"+.@str$;
+ donpcevent "Beat Catching Boy#pin10"+.@str$;
+ donpcevent "Beat Catching Boy#pin11"+.@str$;
+ end;
+}
+
+ma_fild01,179,260,2 script Festival Helper Boy#pin 577,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ if ($malaya_pintados_00 == 0) {
+ if ($malaya_pintados_01 > 999 && $malaya_pintados_02 > 999 && $malaya_pintados_03 > 299) {
+ set $malaya_pintados_00,1;
+ donpcevent "Pintados Manager#pin::OnEnable";
+ emotion e_lv;
+ mes "[Isco]";
+ mes "Many adventurers helped find festival items that I returned to the village.";
+ next;
+ emotion e_ho;
+ mes "[Isco]";
+ mes "He he... Now we can hold the '^7A96E0Pintados Festival^000000'.";
+ close;
+ }
+ // fall through
+ } else {
+ mes "[Isco]";
+ mes "He he... The fun '^7A96E0Pintados Festival^000000' is in full swing.";
+ next;
+ if ($malaya_pintados_00 > 0 && $malaya_pintados_00 < 50) {
+ emotion e_ho;
+ mes "[Isco]";
+ mes "Today's the first day of the '^7A96E0Pintados Festival^000000'. The festival is held for 7 days, so have fun.";
+ close;
+ } else if ($malaya_pintados_00 > 49 && $malaya_pintados_00 < 99) {
+ mes "[Isco]";
+ mes "Oh! Did you know?";
+ mes "Village tattooists draw tattoos only during the '^7A96E0Pintados Festival^000000'.";
+ close;
+ } else if ($malaya_pintados_00 > 98 && $malaya_pintados_00 < 148) {
+ mes "[Isco]";
+ mes "Today's the third day of the '^7A96E0Pintados Festival^000000'.";
+ next;
+ mes "[Isco]";
+ mes "Villagers say that an adventurer named "+$malaya_pintados_04$+" got a tattoo at the festival.";
+ close;
+ } else if ($malaya_pintados_00 > 147 && $malaya_pintados_00 < 197) {
+ mes "[Isco]";
+ mes "Villagers say that an adventurer named "+$malaya_pintados_04$+" got a tattoo at the festival.";
+ next;
+ mes "[Isco]";
+ mes "The Tattooist is scary and doesn't draw tattoos for just anyone so the adventurer must be special.";
+ close;
+ } else if ($malaya_pintados_00 > 196 && $malaya_pintados_00 < 246) {
+ mes "[Isco]";
+ mes "An adventurer named "+$malaya_pintados_04$+" is famous in the village.";
+ next;
+ mes "[Isco]";
+ mes "Have you every seen ^FF8440Bakonawa^000000, the monster known to swallow the moon? They say he is really ferocious.";
+ close;
+ } else if ($malaya_pintados_00 > 245 && $malaya_pintados_00 < 295) {
+ emotion e_sob;
+ mes "[Isco]";
+ mes "I'm so sad. Many adventurers helped to hold the '^7A96E0Pintados Festival^000000' and now only one day is left.";
+ close;
+ } else {
+ emotion e_sob;
+ mes "[Isco]";
+ mes "Oh gosh! It's already the last day of the '^7A96E0Pintados Festival^000000'. Can't believe there won't be more festivities.";
+ close;
+ }
+ }
+ emotion e_spin;
+ mes "[Isco]";
+ mes "Oh no. What will we do with the festival coming to an end.";
+ next;
+ switch(select("What is it?:How many did you collect?:Brought back a lost belonging.")) {
+ case 1:
+ mes "[Isco]";
+ mes "There is a traditional festival held since ancient times";
+ mes "in Baryo Mahiwaga called the '^7A96E0Pintados Festival^000000'.";
+ next;
+ emotion e_otl;
+ mes "[Isco]";
+ mes "I don't think I'll make it to the festival this time.";
+ next;
+ select("Why?");
+ mes "[Isco]";
+ mes "I was going back to the village delivering 1000 Lesser Agimats, 1000 Silver Crosses, and 300 Dyestuffs as an errand from Port Malaya.";
+ next;
+ mes "[Isco]";
+ mes "But '^FF8440Bongisungisu^000000' appeared out of nowhere and took the items away from me.";
+ next;
+ select("Are you hurt?");
+ emotion e_sigh;
+ mes "[Isco]";
+ mes "Fortunately not.";
+ next;
+ mes "[Isco]";
+ mes "But I'm in deep trouble. The '^7A96E0Pintados Festival^000000' can't be held without those items. What should I do.";
+ close;
+ case 2:
+ mes "[Isco]";
+ mes "Many adventurers are helping out but only collected...";
+ next;
+ mes "[Isco]";
+ mes "Lesser Agimat "+$malaya_pintados_01+", Silver Cross "+$malaya_pintados_02+", Dyestuff "+$malaya_pintados_03+" so far.";
+ next;
+ emotion e_sigh;
+ mes "[Isco]";
+ mes "Sigh... We are still short of materials to start the '^7A96E0Pintados Festival^000000'.";
+ close;
+ case 3:
+ set .@str$, (Sex)?"Bro":"Sis";
+ break;
+ }
+ emotion e_lv;
+ mes "[Isco]";
+ mes "Oh~ Really? Wow!";
+ mes "Thanks! "+strcharinfo(0)+" "+.@str$+"!!";
+ mes "He he. What did you bring?";
+ next;
+ set .@i, select(
+ "Lesser Agimat (^FF0000"+(($malaya_pintados_01 > 999)?"Collection complete":(1000 - $malaya_pintados_01)+" short")+"^000000):"+
+ "Silver Cross (^FF0000"+(($malaya_pintados_02 > 999)?"Collection complete":(1000 - $malaya_pintados_02)+" short")+"^000000):"+
+ "Dyestuff (^FF0000"+(($malaya_pintados_03 > 299)?"Collection complete":(300 - $malaya_pintados_03)+" short")+"^000000)"
+ );
+ switch(.@i) {
+ case 1:
+ set .@item,6497; //Lesser_Agimat
+ set .@name$,"Lesser Agimats";
+ set .@total,1000;
+ break;
+ case 2:
+ set .@item,6502; //Silver_Cross
+ set .@name$,"Silver Crosses";
+ set .@total,1000;
+ break;
+ case 3:
+ setarray .@items[0],975,976,978,979,980,981,982,983;
+ set .@name$,"Dyestuffs";
+ set .@total,300;
+ break;
+ }
+ mes "[Isco]";
+ mes "Wow! "+.@str$+" You've brought "+.@name$+"!";
+ next;
+ mes "[Isco]";
+ mes "Wait. One... two...";
+ if (getd("$malaya_pintados_0"+.@i) >= .@total) {
+ mes "Eh... oh? I already have all the "+.@name$+" I need. "+.@str$+"! But thank you for helping.";
+ close;
+ }
+ if (.@i < 3) {
+ mes "I am "+(.@total - getd("$malaya_pintados_0"+.@i))+" short of "+.@name$+". How many did you bring?";
+ next;
+ switch(select("One?!:Enter quantity.")) {
+ case 1:
+ set .@amount,1;
+ mes "[Isco]";
+ mes "He he... You've brought back one.";
+ next;
+ break;
+ case 2:
+ mes "[Isco]";
+ mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
+ next;
+ input .@amount;
+ if (.@amount < 1 || .@amount > 50) {
+ mes "[Isco]";
+ mes "Sigh~ I'm lost! I can't count if the numbers are weird.";
+ close;
+ }
+ break;
+ }
+ if (countitem(.@item) < .@amount) {
+ mes "[Isco]";
+ mes "Sigh~ "+.@str$+"! Where is the "+getitemname(.@item)+"?";
+ close;
+ }
+ } else {
+ mes "I am "+(.@total - getd("$malaya_pintados_0"+.@i))+" short of Dyestuffs. What kind of Dyestuff did you bring?";
+ next;
+ for(set .@j,0; .@j<getarraysize(.@items); set .@j,.@j+1)
+ set .@menu$, .@menu$+getitemname(.@items[.@j])+" (^FF0000"+countitem(.@items[.@j])+"^000000):";
+ set .@item, .@items[select(.@menu$)-1];
+ if (countitem(.@item) == 0) {
+ mes "[Isco]";
+ mes "Sigh~ You don't have any "+getitemname(.@item)+".";
+ close;
+ }
+ mes "[Isco]";
+ mes .@str$+"! How many Scarlet Dyestuffs can you give me from the "+countitem(.@item)+" you have?";
+ next;
+ switch(select("Enter Quantity:All")) {
+ case 1:
+ mes "[Isco]";
+ mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
+ next;
+ input .@amount;
+ if (.@amount < 1 || .@amount > 50) {
+ mes "[Isco]";
+ mes "Sigh~ I told you I'm not good with numbers.";
+ close;
+ }
+ break;
+ case 2:
+ set .@amount, countitem(.@item);
+ break;
+ }
+ if (countitem(.@item) < .@amount) {
+ mes "[Isco]";
+ mes "Sigh... I'm short of "+getitemname(.@item)+".";
+ close;
+ }
+ }
+ delitem .@item,.@amount;
+ setd "$malaya_pintados_0"+.@i, getd("$malaya_pintados_0"+.@i)+.@amount;
+ set .@amount_left, .@total - getd("$malaya_pintados_0"+.@i);
+ mes "[Isco]";
+ mes "He he... Thanks. "+.@str$+"!";
+ if (.@amount_left <= 0)
+ mes "Whoa! We've collected all the "+.@name$+" we need. Happy~!";
+ else
+ mes "I only need "+.@amount_left+" more "+.@name$+".";
+ close;
+}
+
+ma_fild01,172,223,6 script Tattooist#pin 574,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "Cannot proceed because you have too many items in your possession.";
+ close;
+ }
+ emotion e_what;
+ mes "[Tattooist]";
+ mes "Why do you want a Tattoo?";
+ next;
+ switch(select("What is a Tattoo?:I'm curious about the effect of Tattoos.:I need a Tattoo.")) {
+ case 1:
+ mes "[Tattooist]";
+ mes "A Tattoo of a powerful monster is said to increase the ability of the holder.";
+ next;
+ select("Awesome. How can I get one?");
+ mes "[Tattooist]";
+ mes "Drawing a Tattoo is a very holy task.";
+ next;
+ mes "[Tattooist]";
+ mes "10 Ancient Grudges to protect me while I draw Tattoos.";
+ next;
+ mes "[Tattooist]";
+ mes "1 Doll that looks like a powerful monster.";
+ next;
+ mes "[Tattooist]";
+ mes "And last but not least, 1 Spirit Piece to imbue the energy of a powerful monster into the Tattoo.";
+ next;
+ select("What kind of Tattoo will you draw?");
+ mes "[Tattooist]";
+ mes "I can draw 3 kinds of Tattoos.";
+ next;
+ mes "[Tattooist]";
+ mes "Bangungot Agimat Tattoo for a powerful monster that comes from an old gigantic tree in Port Malaya.";
+ next;
+ mes "[Tattooist]";
+ mes "Bakonawa Agimat Tattoo for a huge monster that can swallow the moon.";
+ next;
+ mes "[Tattooist]";
+ mes "Buwaya Agimat Tattoo for a giant alligator that kidnaps people.";
+ next;
+ select("Where can I get the Spirit Pieces and Doll?");
+ mes "[Tattooist]";
+ mes "You can get these powerful items from Buwaya, Bangungot, and Bakonawa themselves but it won't be an easy task.";
+ next;
+ mes "[Tattooist]";
+ mes "This holy task isn't done every day. Tattoos are drawn only during the '^7A96E0Pintados Festival^000000'.";
+ close;
+ case 2:
+ mes "[Tattooist]";
+ mes "Which Tattoo's effect are you curious about?";
+ next;
+ while(1) {
+ switch (select("Bangungot Agimat Tattoo:Buwaya Agimat Tattoo:Bakonawa Agimat Tattoo:I have no questions.")) {
+ case 1:
+ mes "[Tattooist]";
+ mes "Need 10 Ancient Grudges, 1 Piece of Bangungot's Spirit, and 1 Bangungot Doll to create";
+ next;
+ mes "[Tattooist]";
+ mes "The Bangungot Agimat Tattoo holds the energy of an old gigantic tree in Port Malaya.";
+ next;
+ mes "[Tattooist]";
+ mes "Increases the effect of healing others by 4% and healing from others by 7%.";
+ next;
+ break;
+ case 2:
+ mes "[Tattooist]";
+ mes "Need 10 Ancient Grudges, 1 Piece of Buwaya's Spirit, and 1 Buwaya Doll to create";
+ next;
+ mes "[Tattooist]";
+ mes "The Buwaya Agimat Tattoo contains the energy from a giant alligator.";
+ next;
+ mes "[Tattooist]";
+ mes "Increases MATK by +7% and decreases Fixed Casting by 7%.";
+ next;
+ break;
+ case 3:
+ mes "[Tattooist]";
+ mes "Need 10 Ancient Grudges, 1 Piece of Bakonawa's Spirit, and 1 Bakonawa Doll to create";
+ next;
+ mes "[Tattooist]";
+ mes "The Bakonawa Agimat Tattoo holds the energy from a gigantic monster that can swallow the moon.";
+ next;
+ mes "[Tattooist]";
+ mes "Increases ATK by +7% and ASPD by 10%.";
+ next;
+ break;
+ case 4:
+ mes "[Tattooist]";
+ mes "Looks like you've got all the answers. Hope you enjoy your journey.";
+ close;
+ }
+ mes "[Tattooist]";
+ mes "Do you have any questions about other Tattoo effects?";
+ next;
+ }
+ case 3:
+ break;
+ }
+ if ($malaya_pintados_00 == 0) {
+ mes "[Tattooist]";
+ mes "The holy task of drawing Tattoos is only done during the '^7A96E0Pintados Festival^000000'. Sorry but looks like the festival is not on.";
+ close;
+ }
+ mes "[Tattooist]";
+ mes "You've come right on time during the '^7A96E0Pintados Festival^000000'.";
+ next;
+ mes "[Tattooist]";
+ mes "There is no time like during the holy '^7A96E0Pintados Festival^000000' to draw Tattoos.";
+ next;
+ mes "[Tattooist]";
+ mes "The festival doesn't last long so I should start drawing. What Tattoo do you need?";
+ next;
+ switch(select("I will think it over.:Bangungot Agimat Tattoo:Buwaya Agimat Tattoo:Bakonawa Agimat Tattoo")) {
+ case 1:
+ mes "[Tattooist]";
+ mes "Hope you enjoy the '^7A96E0Pintados Festival^000000'.";
+ close;
+ case 2:
+ set .@tattoo,2911; //Bangungot_Tattoo
+ set .@doll,6517; //Bangungot_Doll
+ set .@spirit,6524; //Bangungot_Spirit_Piece
+ set .@name$,"Bangungot";
+ break;
+ case 3:
+ set .@tattoo,2907; //Buwaya_Tattoo
+ set .@doll,6518; //Buwaya_Doll
+ set .@spirit,6525; //Buwaya_Spirit_Piece
+ set .@name$,"Buwaya";
+ break;
+ case 4:
+ set .@tattoo,2910; //Bakonawa_Tattoo
+ set .@doll,6516; //Bakonawa_Doll
+ set .@spirit,6523; //Bakonawa_Spirit_Piece
+ set .@name$,"Bakonawa";
+ break;
+ }
+ if (countitem(6499) < 10 || countitem(.@spirit) == 0 || countitem(.@doll) == 0) {
+ mes "[Tattooist]";
+ mes "I think you are short on materials.";
+ mes "Need 10 Ancient Grudges, 1 Piece of "+.@name$+"'s Spirit, and 1 "+.@name$+" Doll to create a ^EE1D11"+.@name$+" Agimat Tattoo^000000.";
+ close;
+ }
+ emotion e_flash;
+ mes "[Tattooist]";
+ mes "The materials are full with holy energy. I'm sure we'll get a great Tattoo using these.";
+ next;
+ mes "[Tattooist]";
+ mes "Please don't interrupt while I'm working on drawing a holy Tattoo if you want it to come out right.";
+ next;
+ mes "The Tattooist placed the Ancient Grudges around the workplace.";
+ next;
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#01";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#02";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#03";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#04";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#05";
+ mes "The Ancient Grudge lit up and tools starts to glow. He smiled satisfyingly at the glowing tools and materials.";
+ next;
+ mes "And then "+.@name$+" stared intensely at the doll as if to remember every detail of it in his head.";
+ next;
+ if(select("Aren't you going to start?:... ... ..") == 1) {
+ emotion e_an;
+ delitem 6499,5; //Ancient_Grudge
+ mes "[Tattooist]";
+ mes "Oh no, now you ruined it.";
+ mes "I cannot draw a Tattoo for someone like you who doesn't understand art. You can take back the remaining materials.";
+ next;
+ mes "Received back 5 Ancient Grudges, "+.@name$+" Doll, and Piece of "+.@name$+"'s Spirit.";
+ close;
+ }
+ emotion e_bzz;
+ mes "Think he will melt the doll with his eyes?";
+ next;
+ specialeffect EF_SONICBLOWHIT;
+ mes "He closed and opened his eyes slowly as if to memorize the doll in his head and then held up a glowing tool to start drawing.";
+ next;
+ mes "The "+.@name$+" Tattoo was completed almost instantly.";
+ next;
+ emotion e_an;
+ mes "But he kept on looking at each corner of the drawing as if he didn't like some of its details.";
+ next;
+ if(select("Looks good to me.:... ... ..") == 1) {
+ emotion e_an;
+ emotion e_ag;
+ delitem 6499,5; //Ancient_Grudge
+ mes "[Tattooist]";
+ mes "Ergh! I told you not to interrupt!";
+ next;
+ mes "The Tattooist ripped up the drawing irritably.";
+ next;
+ mes "[Tattooist]";
+ mes "I can't continue like this. Maybe another time. You can take back the remaining materials.";
+ next;
+ mes "Received back 5 Ancient Grudges, "+.@name$+" Doll, and Piece of "+.@name$+"'s Spirit.";
+ close;
+ }
+ mes "He looked at the drawing intensely for a long time and then nodded with a satisfied smile.";
+ next;
+ mes "Looks like he is satisfied with the "+.@name$+" drawing.";
+ next;
+ emotion e_dum;
+ mes "But now he is staring at the sky without doing anything else. What is he waiting for?";
+ next;
+ if(select("When will it be done?:... ... ..") == 1) {
+ emotion e_an;
+ emotion e_ag;
+ delitem 6499,5; //Ancient_Grudge
+ mes "[Tattooist]";
+ mes "Ergh! I told you not to interrupt!";
+ next;
+ mes "The Tattooist ripped up the drawing irritably.";
+ next;
+ mes "[Tattooist]";
+ mes "I can't continue like this. Maybe another time. You can take back the remaining materials.";
+ next;
+ mes "Received back 5 Ancient Grudges, "+.@name$+" Doll, and Piece of "+.@name$+"'s Spirit.";
+ close;
+ }
+ emotion e_dots;
+ mes "[Tattooist]";
+ mes ".";
+ next;
+ mes "[Tattooist]";
+ mes ". .";
+ next;
+ mes "[Tattooist]";
+ mes ". . .";
+ next;
+ emotion e_dots;
+ mes "[Tattooist]";
+ mes ". . . .";
+ next;
+ mes "[Tattooist]";
+ mes ". . . . .";
+ next;
+ mes "[Tattooist]";
+ mes ". . . . . .";
+ next;
+ mes "[Tattooist]";
+ mes ". . . . . . .";
+ next;
+ emotion e_flash;
+ mes "The Tattooist's eyes started to shine after staring at the sky for awhile, then he broke the Piece of "+.@name$+"'s Spirit with both his hands.";
+ next;
+ specialeffect EF_DETOXICATION;
+ mes "The Piece of "+.@name$+"'s Spirit is shattered into powder. The Tattooist's hands are glowing.";
+ next;
+ if(select("Why did you break the pieces...:... ... ..") == 1) {
+ delitem 6499,5; //Ancient_Grudge
+ delitem .@spirit,1;
+ emotion e_an;
+ emotion e_ag;
+ mes "[Tattooist]";
+ mes "Ergh! I told you not to interrupt!";
+ next;
+ mes "The glowing light from his hands faded away. He starred at his hands for a while and then ripped up the drawing irritably.";
+ next;
+ mes "[Tattooist]";
+ mes "I was this close to completing a wonderful piece but you ruined it. Not in a good mood. You can take the remaining materials.";
+ next;
+ mes "Received back 5 Ancient Grudges and the doll.";
+ close;
+ }
+ mes "He held up the powder in both hands and then blew it onto the drawing.";
+ next;
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#01";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#02";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#03";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#04";
+ specialeffect EF_FLAMELAUNCHER,AREA,"Ancient Grudge#05";
+ mes "All Ancient Grudges started to burn and then the glowing light from the "+.@name$+" drawing faded away.";
+ next;
+ specialeffect EF_LIGHTSPHERE;
+ mes "Blinking light on top of the drawing.";
+ next;
+ mes "Light faded away and the "+.@name$+" drawing is no longer the simple one it was before.";
+ next;
+ mes "The "+.@name$+" drawing looks as if it is... alive.";
+ next;
+ mes "The Tattooist is finally satisfied and is all smiles.";
+ next;
+ emotion e_heh;
+ mes "[Tattooist]";
+ mes "Ha ha. It came out great.";
+ next;
+ delitem 6499,10; //Ancient_Grudge
+ delitem .@spirit,1;
+ delitem .@doll,1;
+ getitem .@tattoo,1;
+ set $malaya_pintados_04$, strcharinfo(0);
+ mes "[Tattooist]";
+ mes "I'm sorry you had to wait for a long time. But it was worth it cause I haven't created a Tattoo of this quality in a long time.";
+ next;
+ mes "[Tattooist]";
+ mes "The ^EE1D11"+.@name$+" Agimat Tattoo^000000 you've waited for is now completed.";
+ next;
+ mes "[Tattooist]";
+ mes "Hope you enjoy the '^7A96E0Pintados Festival^000000'.";
+ close;
+}
+
+ma_fild01,171,224,0 script Ancient Grudge#01 139,{ end; }
+ma_fild01,173,224,0 duplicate(Ancient Grudge#01) Ancient Grudge#02 139
+ma_fild01,173,223,0 duplicate(Ancient Grudge#01) Ancient Grudge#03 139
+ma_fild01,172,222,0 duplicate(Ancient Grudge#01) Ancient Grudge#04 139
+ma_fild01,171,223,0 duplicate(Ancient Grudge#01) Ancient Grudge#05 139
+
+ma_fild01,192,200,8 script Tourist#pin01 58,{
+ mes "[Tourist]";
+ mes "I came from afar and dropped everything to come and enjoy the 'Pintados Festival'.";
+ next;
+ mes "[Tourist]";
+ mes "I don't regret visiting but...";
+ next;
+ mes "[Tourist]";
+ mes "I don't like the Tattoo I got after all I've gone through to get it.";
+ next;
+ mes "[Tourist]";
+ mes "I've looked at it in the light but I think the Tattooist made a mistake.";
+ next;
+ mes "[Tourist]";
+ mes "This ruined my whole visit.";
+ next;
+ mes "[Tourist]";
+ mes "Tsk!";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Tourist#pin01";
+ end;
+OnEnable:
+ enablenpc "Tourist#pin01";
+ end;
+OnDisable:
+ disablenpc "Tourist#pin01";
+ end;
+}
+
+ma_fild01,211,200,6 script Tourist#pin02 775,{
+ mes "[Tourist]";
+ mes "I heard of the 'Pintados Festival' and came all the way from Gonryun.";
+ next;
+ mes "[Tourist]";
+ mes "Just in case you might think otherwise, this is a mask on my face and not a tattoo.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Tourist#pin02";
+ end;
+OnEnable:
+ enablenpc "Tourist#pin02";
+ end;
+OnDisable:
+ disablenpc "Tourist#pin02";
+ end;
+}
+
+ma_fild01,251,205,2 script Tourist#pin03 824,{
+ mes "[Tourist]";
+ mes "Hey, hear me. This isn't the Tattoo I wanted.";
+ next;
+ mes "[Tourist]";
+ mes "I asked for a Bakonawa Tattoo but the more I look at it, this is Bangungot.";
+ next;
+ mes "[Tattooist]";
+ mes "No... you said that you wanted that one. Don't be so difficult.";
+ next;
+ mes "[Tourist]";
+ mes "Don't you know that customer is king? Huh? Do you want a bad reputation?";
+ next;
+ mes "[Tattooist]";
+ mes "Ugh... Can't believe this.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Tourist#pin03";
+ end;
+OnEnable:
+ enablenpc "Tourist#pin03";
+ end;
+OnDisable:
+ disablenpc "Tourist#pin03";
+ end;
+}
+
+ma_fild01,249,206,6 script Young Tattooist#pin04 582,{
+ mes "[Tattooist]";
+ mes "Ah... I can't work with customers like this.";
+ next;
+ mes "[Tattooist]";
+ mes "How many times do I have to tell you, you said you wanted a Bangungot.";
+ next;
+ mes "[Tattooist]";
+ mes "Ouch, my throat... Shouting will get me nowhere.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Young Tattooist#pin04";
+ end;
+OnEnable:
+ enablenpc "Young Tattooist#pin04";
+ end;
+OnDisable:
+ disablenpc "Young Tattooist#pin04";
+ end;
+}
+
+ma_fild01,162,235,6 script Tourist#pin05 815,{
+ mes "[Tourist]";
+ mes "They say the Pintados Festival will only be held for one week.";
+ next;
+ mes "[Tourist]";
+ mes "I came from Louyang without knowing about the festival. Must be my lucky day.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Tourist#pin05";
+ end;
+OnEnable:
+ enablenpc "Tourist#pin05";
+ end;
+OnDisable:
+ disablenpc "Tourist#pin05";
+ end;
+}
+
+ma_fild01,164,234,6 script Drumming Young Man#pin06 578,{
+ mes "ba-dum-DUM- ba-dum-DUM";
+ next;
+ mes "[Drumming Young Man]";
+ mes "The Pintados Festival wouldn't be a festival without a drummer.";
+ next;
+ mes "[Drumming Young Man]";
+ mes "Why don't you join?";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Drumming Young Man#pin06";
+ end;
+OnEnable:
+ enablenpc "Drumming Young Man#pin06";
+ end;
+OnDisable:
+ disablenpc "Drumming Young Man#pin06";
+ end;
+}
+
+ma_fild01,170,231,4 script Drumming Young Man#pin07 578,{
+ mes "ba-dum-DUM- ba-dum-DUM";
+ next;
+ mes "[Drumming Young Man]";
+ mes "The Pintados from Pintados Festival means painted in our language.";
+ next;
+ mes "[Drumming Young Man]";
+ mes "So that is probably why we have people drawing special Tattoos during the festival.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Drumming Young Man#pin07";
+ end;
+OnEnable:
+ enablenpc "Drumming Young Man#pin07";
+ end;
+OnDisable:
+ disablenpc "Drumming Young Man#pin07";
+ end;
+}
+
+ma_fild01,164,228,6 script Drumming Young Man#pin08 578,{
+ mes "ba-dum-DUM- ba-dum-DUM";
+ next;
+ mes "[Drumming Young Man]";
+ mes "I don't remember it accurately, but they say the Pintados Festival was to celebrate a rich harvest.";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Drumming Young Man#pin08";
+ end;
+OnEnable:
+ enablenpc "Drumming Young Man#pin08";
+ end;
+OnDisable:
+ disablenpc "Drumming Young Man#pin08";
+ end;
+}
+
+ma_fild01,170,234,4 script Beat Catching Boy#pin09 577,{
+ mes "ba-dum-TSH- ba-dum-TSH-";
+ next;
+ mes "[Beat Catching Boy]";
+ mes "I always get energetic when I hear drums and sticks in a rhythmic beat.";
+ next;
+ mes "[Beat Catching Boy]";
+ mes "ba-dum-TSH- ba-dum-TSH- So much fun!";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc "Beat Catching Boy#pin09";
+ end;
+OnEnable:
+ enablenpc "Beat Catching Boy#pin09";
+ end;
+OnDisable:
+ disablenpc "Beat Catching Boy#pin09";
+ end;
+}
+
+ma_fild01,164,231,6 script Beat Catching Boy#pin10 577,{
+ mes "ba-dum-TSH- ba-dum-TSH-";
+ next;
+ mes "[Beat Catching Boy]";
+ mes "I may be using sticks to catch the beat right now but you never know if I'll grow big enough to play the drums, right?";
+ close;
+OnInit:
+ if (!$malaya_pintados_00)
+ disablenpc strnpcinfo(0);
+ end;
+OnEnable:
+ enablenpc strnpcinfo(0);
+ end;
+OnDisable:
+ disablenpc strnpcinfo(0);
+ end;
+}
+ma_fild01,170,228,4 duplicate(Beat Catching Boy#pin10) Beat Catching Boy#pin11 577
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
index 3e58961d2..9e6660c01 100644
--- a/npc/re/quests/quests_mora.txt
+++ b/npc/re/quests/quests_mora.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Mora Quest NPCs
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.1
//===== Description: =========================================
//= [Official Conversion]
//= Quest NPCs related to Mora:
@@ -15,9 +13,10 @@
//===== Additional Comments: =================================
//= 0.1 NPCs are currently placeholders. [Euphy]
//= 1.0 Implemented all official quests. [Euphy]
+//= 1.1 Added GM management function and NPCs. [Euphy]
//============================================================
-// Theore's Request :: bs
+// Theore's Request :: ep14_1_bs
//============================================================
mid_camp,148,222,4 script Theore#ep14_1_bs 982,3,3,{
if (BaseLevel < 100) {
@@ -509,12 +508,11 @@ 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,{
+ callfunc "F_GM_NPC";
donpcevent "Bush#ep14_1_bs1::OnEnable";
end;
}
-*/
splendide,183,117,4 script Tired-looking Fairy 438,{
if (!isequipped(2782)) {
@@ -1444,7 +1442,23 @@ splendide,121,260,4 script Daphrer#ep14_1_bs 435,{
close;
}
-// Chesire's New Day :: cheshir2
+sec_in02,35,175,0 script Theore Set Guid 436,{
+ callfunc "F_GM_NPC";
+ switch(select("Set0:Set33:Set2_0")) {
+ case 1:
+ set ep14_1_bs,0;
+ end;
+ case 2:
+ set ep4_1_bs,3;
+ setquest 11183;
+ end;
+ case 3:
+ set ep14_1_bs2,0;
+ end;
+ }
+}
+
+// Chesire's New Day :: ep14_1_cheshir2
//============================================================
dic_in01,262,191,0 script #ep14_1_xq02 139,0,3,{
end;
@@ -1936,7 +1950,7 @@ OnTimer600000:
end;
}
-// Helping Lope and Euridi :: rofe
+// Helping Lope and Euridi :: ep14_1_rofe
//============================================================
mora,117,66,3 script Euridi#pa 521,{
if (BaseLevel < 100) {
@@ -2064,7 +2078,11 @@ mora,117,66,3 script Euridi#pa 521,{
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
+
+ //delitem 6383,30; //Clue_Of_Lope
+ set .@count, countitem(6383);
+ if (.@count) delitem 6383,((.@count > 30)?30:.@count); //Clue_Of_Lope
+
set ep14_1_rope,5;
close;
} else if (ep14_1_rope == 5) {
@@ -2107,7 +2125,10 @@ mora,117,66,3 script Euridi#pa 521,{
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
+
+ //delitem 6384,1; //Ring_Of_Lope
+ if (countitem(6384)) delitem 6384,1; //Ring_Of_Lope
+
close;
}
} else if (ep14_1_rope > 9) {
@@ -2483,7 +2504,7 @@ OnTouch:
}
}
-// Find the Research Tools :: muk
+// Find the Research Tools :: ep14_1_muk
//============================================================
mora,31,138,6 script Raffle Researcher#ep14 522,{
if (checkweight(1201,1) == 0 || MaxWeight - Weight < 500) {
@@ -4333,7 +4354,7 @@ 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 Daily Quests :: ep14_1_dealer
//============================================================
mora,133,80,6 script Elephantine#pa0829 509,{
if (checkweight(1201,1) == 0) {
@@ -5055,6 +5076,26 @@ mora,104,172,7 script Victim#pa0829 520,{
close;
}
+sec_in02,29,34,5 script Initializing Mora Sanjo 453,{
+ callfunc "F_GM_NPC";
+ mes "Enter your password";
+ if (callfunc("F_GM_NPC","1854",1) == 0) {
+ mes "Hehe";
+ close;
+ } else {
+ mes "[Initialization]";
+ mes "14.1 Initializing all quest window include related daily quest and map and so on";
+ freeloop(1);
+ for(set .@i,12225; .@i<=12353; set .@i,.@i+1) {
+ if (checkquest(.@i) > -1)
+ erasequest .@i;
+ }
+ freeloop(0);
+ set ep14_1_mistwoods,10;
+ close;
+ }
+}
+
// Mora Daily Quests - Souls :: md_cadaver_in
//============================================================
// callfunc "mora_remains",<quest ID>,<NPC name>,<Mora Coin amount>,<reward ID>,<max reward amount>;
@@ -5093,7 +5134,7 @@ function script mora_remains {
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
+// Knights of the Neighborhood :: ep14_1_mora_knight
//============================================================
mora,118,166,6 script Knights Chief#mo 525,{
mes "[Order of the Knights Chief]";
diff --git a/npc/re/quests/quests_morocc.txt b/npc/re/quests/quests_morocc.txt
index 95d2ef5e4..b1eb02a35 100644
--- a/npc/re/quests/quests_morocc.txt
+++ b/npc/re/quests/quests_morocc.txt
@@ -1,19 +1,52 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morroc Quest NPCs
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.0a
-//===== Compatible With: =====================================
-//= rAthena SVN
+//= 1.1
//===== Description: =========================================
//= [Official Conversion]
//= Quest NPCs related to Morroc.
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.0a Gathered remaining dialogues. [Euphy]
+//= 1.1 Added new warpers for Satan Morroc maps. [Euphy]
//============================================================
+// Resurrection of Satan Morroc
+// ============================================================
+- script Continental Guard#man -1,{
+ mes "[Continental Guard]";
+ mes "We've received orders from Headquarters to block access to this area since an unusual space-time phenomenon has been detected.";
+ next;
+ mes "[Continental Guard]";
+ mes "If you really want to go to the next area, you'll be responsible for your own safety.";
+ next;
+ switch(select("Nevermind.:Enter the Field.")) {
+ case 1:
+ mes "[Continental Guard]";
+ mes "Wise choice.";
+ mes "Have a safe journey.";
+ close;
+ case 2:
+ mes "[Continental Guard]";
+ mes "I see.";
+ mes "I'll send you to the field shortly.";
+ close2;
+ warp "moc_fild20",208,207;
+ end;
+ }
+}
+moc_fild07,380,202,1 duplicate(Continental Guard#man) Continental Guard#man1 852
+moc_fild11,189,360,6 duplicate(Continental Guard#man) Continental Guard#man2 852
+prt_fild10,263,23,1 duplicate(Continental Guard#man) Continental Guard#man3 852
+prt_fild09,95,19,1 duplicate(Continental Guard#man) Continental Guard#man4 852
+prt_fild09,246,17,1 duplicate(Continental Guard#man) Continental Guard#man5 852
+moc_fild13,32,171,6 duplicate(Continental Guard#man) Continental Guard#man6 852
+moc_fild16,124,381,4 duplicate(Continental Guard#man) Continental Guard#man7 852
+moc_fild16,333,380,4 duplicate(Continental Guard#man) Continental Guard#man8 852
+moc_fild01,84,19,1 duplicate(Continental Guard#man) Continental Guard#man9 852
+
// Pyramids Nightmare Mode
//============================================================
moc_prydb1,103,54,3 script Suspicious Cat#night 547,{
diff --git a/npc/re/quests/quests_nameless.txt b/npc/re/quests/quests_nameless.txt
new file mode 100644
index 000000000..ebe7a7cfd
--- /dev/null
+++ b/npc/re/quests/quests_nameless.txt
@@ -0,0 +1,15 @@
+//===== Hercules Script ======================================
+//= Nameless Island Quests
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Official Conversion]
+//= Contains:
+//= - Muff's Loan
+//===== Additional Comments: =================================
+//= 1.0 Moved Dorian to pre-re/re paths.
+//============================================================
+
+izlude_in,57,92,3 duplicate(Dorian_izlude) Dorian 878,2,2
diff --git a/npc/re/quests/quests_veins.txt b/npc/re/quests/quests_veins.txt
index 0f3df7828..28e92d504 100644
--- a/npc/re/quests/quests_veins.txt
+++ b/npc/re/quests/quests_veins.txt
@@ -1,15 +1,13 @@
//===== Hercules Script ======================================
//= Quest NPCs located in Veins
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Quests related to Veins.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version.
-//============================================================
+//============================================================
ve_fild02,337,314,4 duplicate(WincingOldMan_veins) Wincing Old Man#ve 945
diff --git a/npc/re/quests/skills/sage_skills.txt b/npc/re/quests/skills/sage_skills.txt
deleted file mode 100644
index 64ebe20e3..000000000
--- a/npc/re/quests/skills/sage_skills.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//===== 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 26e2d5d26..c271a2b3b 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -16,8 +16,10 @@ npc: npc/re/cities/jawaii.txt
npc: npc/re/cities/malangdo.txt
npc: npc/re/cities/malaya.txt
npc: npc/re/cities/mora.txt
+npc: npc/re/cities/yuno.txt
// --------------------------- Guides ---------------------------
+npc: npc/re/guides/navigation.txt
npc: npc/re/guides/guides_alberta.txt
npc: npc/re/guides/guides_aldebaran.txt
npc: npc/re/guides/guides_amatsu.txt
@@ -36,6 +38,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_malaya.txt
npc: npc/re/guides/guides_mora.txt
npc: npc/re/guides/guides_morroc.txt
npc: npc/re/guides/guides_moscovia.txt
@@ -47,22 +50,30 @@ npc: npc/re/guides/guides_umbala.txt
npc: npc/re/guides/guides_veins.txt
// ------------------------ Instances ---------------------------
+npc: npc/re/instances/BakonawaLake.txt
+npc: npc/re/instances/BangungotHospital.txt
+npc: npc/re/instances/BuwayaCave.txt
npc: npc/re/instances/HazyForest.txt
npc: npc/re/instances/MalangdoCulvert.txt
npc: npc/re/instances/OctopusCave.txt
npc: npc/re/instances/OldGlastHeim.txt
-npc: npc/re/instances/BakonawaLake.txt
-npc: npc/re/instances/BangungotHospital.txt
-npc: npc/re/instances/BuwayaCave.txt
// ---------------- Kafras & Cool Event Corp. -------------------
npc: npc/re/kafras/kafras.txt
// -------------------------- Merchant --------------------------
npc: npc/re/merchants/3rd_trader.txt
+npc: npc/re/merchants/advanced_refiner.txt
+npc: npc/re/merchants/alchemist.txt
+npc: npc/re/merchants/ammo_boxes.txt
+npc: npc/re/merchants/ammo_dealer.txt
+//npc: npc/re/merchants/blessed_refiner.txt
+npc: npc/re/merchants/card_separation.txt
npc: npc/re/merchants/catalog.txt
-npc: npc/re/merchants/blessed_refiner.txt
+npc: npc/re/merchants/coin_exchange.txt
npc: npc/re/merchants/diamond.txt
+npc: npc/re/merchants/enchan_mal.txt
+npc: npc/re/merchants/enchan_mora.txt
npc: npc/re/merchants/flute.txt
npc: npc/re/merchants/hd_refiner.txt
npc: npc/re/merchants/inn.txt
@@ -70,13 +81,18 @@ 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/ticket_refiner.txt
-npc: npc/re/merchants/enchan_mal.txt
-npc: npc/re/merchants/enchan_mora.txt
-npc: npc/re/merchants/coin_exchange.txt
+//npc: npc/re/merchants/ticket_refiner.txt
+//npc: npc/re/merchants/enchan_upg.txt
// --------------------------- Others ---------------------------
+npc: npc/re/other/bulletin_boards.txt
+//npc: npc/re/other/item_merge.txt
+npc: npc/re/other/mail.txt
npc: npc/re/other/mercenary_rent.txt
+npc: npc/re/other/pvp.txt
+npc: npc/re/other/resetskill.txt
+npc: npc/re/other/stone_change.txt
+npc: npc/re/other/turbo_track.txt
// --------------------------- Quests ---------------------------
// - Eden Group -------------------------------------------------
@@ -91,12 +107,19 @@ npc: npc/re/quests/eden/eden_common.txt
npc: npc/re/quests/eden/eden_quests.txt
npc: npc/re/quests/eden/eden_service.txt
npc: npc/re/quests/eden/eden_tutorial.txt
+// iRO custom additions.
+//npc: npc/re/quests/eden/eden_iro.txt
+// --------------------------------------------------------------
+// - Quests-Tutorials for basic classes (1st class quests) ------
+npc: npc/re/quests/first_class/tu_archer.txt
// --------------------------------------------------------------
//npc: npc/re/quests/cupet.txt
npc: npc/re/quests/homun_s.txt
npc: npc/re/quests/magic_books.txt
+npc: npc/re/quests/monstertamers.txt
npc: npc/re/quests/mrsmile.txt
npc: npc/re/quests/pile_bunker.txt
+npc: npc/re/quests/quests_13_1.txt
npc: npc/re/quests/quests_brasilis.txt
npc: npc/re/quests/quests_dewata.txt
npc: npc/re/quests/quests_dicastes.txt
@@ -104,8 +127,8 @@ npc: npc/re/quests/quests_eclage.txt
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_malaya.txt
npc: npc/re/quests/quests_mora.txt
npc: npc/re/quests/quests_morocc.txt
-npc: npc/re/quests/monstertamers.txt
-npc: npc/re/quests/quests_13_1.txt
+npc: npc/re/quests/quests_nameless.txt
+npc: npc/re/quests/quests_veins.txt
diff --git a/npc/re/scripts_jobs.conf b/npc/re/scripts_jobs.conf
index 14e532bcf..1d6e9f8f9 100644
--- a/npc/re/scripts_jobs.conf
+++ b/npc/re/scripts_jobs.conf
@@ -28,3 +28,5 @@ npc: npc/re/jobs/3-2/wanderer.txt
// - Novice
npc: npc/re/jobs/novice/novice.txt
npc: npc/re/jobs/novice/supernovice_ex.txt
+// - Job Repairs
+npc: npc/re/jobs/repair.txt
diff --git a/npc/re/scripts_main.conf b/npc/re/scripts_main.conf
index 6440ada21..082fb81f4 100644
--- a/npc/re/scripts_main.conf
+++ b/npc/re/scripts_main.conf
@@ -1,5 +1,5 @@
// --------------------------------------------------------------
-// - Hercules Renewal Primary Scripts File -
+// - Hercules Renewal Primary Scripts File -
// --------------------------------------------------------------
// 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
diff --git a/npc/re/scripts_monsters.conf b/npc/re/scripts_monsters.conf
index 46ab419d8..913fac0c0 100644
--- a/npc/re/scripts_monsters.conf
+++ b/npc/re/scripts_monsters.conf
@@ -2,6 +2,9 @@
// - Renewal Monster Scripts -
// --------------------------------------------------------------
+npc: npc/re/mobs/citycleaners.txt
+npc: npc/re/mobs/towns.txt
+
// -------------------------- Dungeons --------------------------
npc: npc/re/mobs/dungeons/abbey.txt
npc: npc/re/mobs/dungeons/abyss.txt
@@ -14,12 +17,13 @@ npc: npc/re/mobs/dungeons/bra_dun.txt
npc: npc/re/mobs/dungeons/c_tower.txt
npc: npc/re/mobs/dungeons/dew_dun.txt
npc: npc/re/mobs/dungeons/dic_dun.txt
+npc: npc/re/mobs/dungeons/ecl_tdun.txt
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_re.txt
npc: npc/re/mobs/dungeons/gld_dunSE.txt
+npc: npc/re/mobs/dungeons/gld_re.txt
npc: npc/re/mobs/dungeons/gon_dun.txt
npc: npc/re/mobs/dungeons/ice_dun.txt
npc: npc/re/mobs/dungeons/in_sphinx.txt
@@ -56,11 +60,11 @@ npc: npc/re/mobs/fields/brasilis.txt
npc: npc/re/mobs/fields/comodo.txt
npc: npc/re/mobs/fields/dewata.txt
npc: npc/re/mobs/fields/dicastes.txt
+npc: npc/re/mobs/fields/eclage.txt
npc: npc/re/mobs/fields/einbroch.txt
npc: npc/re/mobs/fields/geffen.txt
npc: npc/re/mobs/fields/gonryun.txt
npc: npc/re/mobs/fields/hugel.txt
-npc: npc/re/mobs/fields/jawaii.txt
npc: npc/re/mobs/fields/lighthalzen.txt
npc: npc/re/mobs/fields/louyang.txt
npc: npc/re/mobs/fields/lutie.txt
@@ -77,6 +81,3 @@ npc: npc/re/mobs/fields/splendide.txt
npc: npc/re/mobs/fields/umbala.txt
npc: npc/re/mobs/fields/veins.txt
npc: npc/re/mobs/fields/yuno.txt
-
-// --------------------------- Towns ----------------------------
-npc: npc/re/mobs/towns/brasilis.txt
diff --git a/npc/re/scripts_warps.conf b/npc/re/scripts_warps.conf
index 861da1958..801aac5b4 100644
--- a/npc/re/scripts_warps.conf
+++ b/npc/re/scripts_warps.conf
@@ -18,7 +18,7 @@ npc: npc/re/warps/dungeons/bra_dun.txt
npc: npc/re/warps/dungeons/dic_dun.txt
npc: npc/re/warps/dungeons/ecl_dun.txt
npc: npc/re/warps/dungeons/iz_dun.txt
-npc: npc/re/warps/dungeons/moc_pryd.txt
+npc: npc/re/warps/dungeons/moc_pryd.txt
// --------------------------- Fields ---------------------------
npc: npc/re/warps/fields/bif_fild.txt
@@ -35,7 +35,9 @@ npc: npc/re/warps/fields/veins_fild.txt
npc: npc/re/warps/fields/yuno_fild.txt
// --------------------------- Others ---------------------------
+npc: npc/re/warps/other/arena.txt
npc: npc/re/warps/other/jobquests.txt
npc: npc/re/warps/other/paradise.txt
npc: npc/re/warps/other/s_workshop.txt
npc: npc/re/warps/other/sign.txt
+npc: npc/re/warps/guildcastles.txt
diff --git a/npc/re/warps/cities/brasilis.txt b/npc/re/warps/cities/brasilis.txt
index e5e8a5386..289ab235d 100644
--- a/npc/re/warps/cities/brasilis.txt
+++ b/npc/re/warps/cities/brasilis.txt
@@ -5,7 +5,7 @@
//===== Current Version: =====================================
//= 1.2
//===== Description: =========================================
-//= [Aegis Conversion]
+//= [Official Conversion]
//= Warp Points for Brasilis
//===== Additional Comments: =================================
//= 1.0 First version.
diff --git a/npc/re/warps/cities/dewata.txt b/npc/re/warps/cities/dewata.txt
index 602e40fb4..c134df537 100644
--- a/npc/re/warps/cities/dewata.txt
+++ b/npc/re/warps/cities/dewata.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= 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 1a59f5241..8d43c8edd 100644
--- a/npc/re/warps/cities/dicastes.txt
+++ b/npc/re/warps/cities/dicastes.txt
@@ -4,8 +4,6 @@
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warp Points for El Dicastes
//===== Additional Comments: =================================
@@ -71,4 +69,4 @@ dic_in01,57,48,0 duplicate(Elevator#main) Elevator#9 844
dic_in01,137,46,0 duplicate(Elevator#main) Elevator#10 844
dic_in01,222,46,0 duplicate(Elevator#main) Elevator#11 844
dic_in01,388,272,0 duplicate(Elevator#main) Elevator#12 844
-dic_in01,389,208,0 duplicate(Elevator#main) Elevator#13 844
+dic_in01,389,208,0 duplicate(Elevator#main) Elevator#13 844 \ No newline at end of file
diff --git a/npc/re/warps/cities/eclage.txt b/npc/re/warps/cities/eclage.txt
index 0400489f5..dd9e1d55e 100644
--- a/npc/re/warps/cities/eclage.txt
+++ b/npc/re/warps/cities/eclage.txt
@@ -3,19 +3,18 @@
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.0a
//===== Description: =========================================
//= Warp Points for Eclage
//===== Additional Comments: =================================
//= 1.0 First Version.
+//= 1.0a Disabled quest warp. [Euphy]
//============================================================
// Town Warps
bif_fild02,292,351,0 warp eclage_field0001 1,1,ecl_fild01,205,74
ecl_fild01,207,72,0 warp eclage_field0002 1,1,bif_fild02,294,349
-ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28
+//ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28
eclage,98,26,0 warp eclage_field0004 1,1,ecl_fild01,97,317
eclage,299,309,0 warp eclage_field0005 1,1,ecl_in01,47,11
ecl_in01,47,8,0 warp eclage_field0006 1,1,eclage,297,307
diff --git a/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt
index fa888c7fb..8bf26e31d 100644
--- a/npc/re/warps/cities/izlude.txt
+++ b/npc/re/warps/cities/izlude.txt
@@ -3,39 +3,88 @@
//===== By: ==================================================
//= Athena (1.0), Nana (1.1)
//===== Current Version: =====================================
-//= 1.7
-//===== Compatible With: =====================================
-//= Any Athena & Hercules Version
+//= 1.8
//===== Description: =========================================
//= Warp Points for Izlude
//===== Additional Comments: =================================
//= 1.3 Added warps to Izlude Airship [Justin84]
//= 1.4 Minor correction on airport warps
//= 1.5 Updated to match the new Izlude Map. [Masao]
-//= 1.6 Added new warps [Streusel]
-//= 1.7 Removed indoor warps [Streusel]
+//= 1.6 Added new warps. [Streusel]
+//= 1.7 Updated to match the official scripts. [Euphy]
+//= 1.8 Added Izlude & Prontera Field 8 duplicates. [Euphy]
//============================================================
//= Izlude City ==============================================
-izlude,109,182,0 warp iz01 3,3,izlude_in,65,87
-izlude,216,162,0 warp iz03 3,2,izlude_in,151,127
-izlude,21,98,0 warp iz001 3,3,prt_fild08,367,212
+prt_fild08,371,212,0 warp prtf005 3,3,izlude,24,98
+izlude,20,98,0 warp iz001 3,3,prt_fild08,367,212
+izlude_in,116,46,0 warp iz02-1 3,2,izlude,128,98
+izlude,110,182,0 warp iz01 2,2,izlude_in,65,87
+izlude_in,65,84,0 warp iz01-1 2,2,izlude,112,179
izlude,52,172,0 warp iz04 2,2,izlude_in,74,161
-izlude,130,257,0 warp iz09#1 2,2,iz_ac01,99,29
-izlude,125,257,0 warp iz09#2 2,2,iz_ac01,99,29
-izlude,213,161,0 warp iz10 2,2,arena_room,100,30
-arena_room,99,24,0 warp iz_arena 2,2,izlude,209,161
+izlude_in,74,158,0 warp iz04-1 3,2,izlude,52,168
+izlude_in,43,169,0 warp w219 2,3,izlude_in,63,169
+izlude_in,87,169,0 warp iz05-1 2,3,izlude_in,111,169
izlude_in,108,169,0 warp iz05 2,3,izlude_in,84,169
-izlude_in,148,127,0 warp iz03-1 2,5,izlude,207,162
+izlude_in,148,127,0 warp iz03-1 2,5,izlude,210,161
+izlude_in,172,139,0 warp iz07 3,2,izlude_in,172,161
+izlude_in,172,158,0 warp iz07-1 3,2,izlude_in,172,136
+izlude_in,172,116,0 warp iz06-1 3,2,izlude_in,172,94
+izlude_in,171,97,0 warp iz06 3,2,izlude_in,172,119
-izlude_in,43,169,0 warp w219 2,3,izlude_in,64,169
-izlude_in,65,84,0 warp iz01-1 5,2,izlude,113,178
-izlude_in,74,158,0 warp iz04-1 3,2,izlude,52,166
-izlude_in,87,169,0 warp iz05-1 2,3,izlude_in,111,169
+//= Izlude & Prontera Field 8 Duplicates =====================
+prt_fild08a,371,212,0 warp prtf005_a 3,3,izlude_a,24,98
+prt_fild08b,371,212,0 warp prtf005_b 3,3,izlude_b,24,98
+prt_fild08c,371,212,0 warp prtf005_c 3,3,izlude_c,24,98
+prt_fild08d,371,212,0 warp prtf005_d 3,3,izlude_d,24,98
+izlude_a,20,98,0 warp iz001_a 3,3,prt_fild08a,367,212
+izlude_b,20,98,0 warp iz001_b 3,3,prt_fild08b,367,212
+izlude_c,20,98,0 warp iz001_c 3,3,prt_fild08c,367,212
+izlude_d,20,98,0 warp iz001_d 3,3,prt_fild08d,367,212
+izlude_a,110,182,0 warp iz01_a 2,2,izlude_in,65,87
+izlude_b,110,182,0 warp iz01_b 2,2,izlude_in,65,87
+izlude_c,110,182,0 warp iz01_c 2,2,izlude_in,65,87
+izlude_d,110,182,0 warp iz01_d 2,2,izlude_in,65,87
+izlude_a,52,172,0 warp iz04_a 2,2,izlude_in,74,161
+izlude_b,52,172,0 warp iz04_b 2,2,izlude_in,74,161
+izlude_c,52,172,0 warp iz04_c 2,2,izlude_in,74,161
+izlude_d,52,172,0 warp iz04_d 2,2,izlude_in,74,161
+
+//= Izlude Academy ===========================================
+izlude,125,257,0 warp #to_ac01 2,2,iz_ac01,99,29
+izlude,130,257,0 warp #to_ac02 2,2,iz_ac01,99,29
+iz_ac01,100,24,0 warp #to_ac01-1 2,2,izlude,127,253
+iz_ac01,78,25,0 warp #to_ac2f01 2,2,iz_ac02,104,27
+iz_ac01,122,25,0 warp #to_ac2f02 2,2,iz_ac02,104,27
+iz_ac02,94,27,0 warp #to_ac1f01 2,2,iz_ac01,78,28
+iz_ac02,113,27,0 warp #to_ac1f02 2,2,iz_ac01,122,28
-//Izlude Academy
-iz_ac01,100,24,0 warp iz_ac01 2,2,izlude,127,253
-iz_ac01,122,25,0 warp iz_ac02 2,2,iz_ac02,104,27
-iz_ac01,78,25,0 warp iz_ac03 2,2,iz_ac02,104,27
-iz_ac02,113,27,0 warp iz_ac04 2,2,iz_ac01,122,28
-iz_ac02,94,27,0 warp iz_ac05 2,2,iz_ac01,78,28
+//= Izlude Academy Duplicates ================================
+izlude_a,125,257,0 warp #to_ac01_a 2,2,iz_ac01_a,99,29
+izlude_b,125,257,0 warp #to_bc01_b 2,2,iz_ac01_b,99,29
+izlude_c,125,257,0 warp #to_cc01_c 2,2,iz_ac01_c,99,29
+izlude_d,125,257,0 warp #to_dc01_d 2,2,iz_ac01_d,99,29
+izlude_a,130,257,0 warp #to_ac02_a 2,2,iz_ac01_a,99,29
+izlude_b,130,257,0 warp #to_bc02_b 2,2,iz_ac01_b,99,29
+izlude_c,130,257,0 warp #to_cc02_c 2,2,iz_ac01_c,99,29
+izlude_d,130,257,0 warp #to_dc02_d 2,2,iz_ac01_d,99,29
+iz_ac01_a,100,24,0 warp #to_ac01-1_a 2,2,izlude_a,127,253
+iz_ac01_b,100,24,0 warp #to_bc01-1_b 2,2,izlude_b,127,253
+iz_ac01_c,100,24,0 warp #to_cc01-1_c 2,2,izlude_c,127,253
+iz_ac01_d,100,24,0 warp #to_dc01-1_d 2,2,izlude_d,127,253
+iz_ac01_a,78,25,0 warp #to_ac2f01_a 2,2,iz_ac02_a,104,27
+iz_ac01_b,78,25,0 warp #to_bc2f01_b 2,2,iz_ac02_b,104,27
+iz_ac01_c,78,25,0 warp #to_cc2f01_c 2,2,iz_ac02_c,104,27
+iz_ac01_d,78,25,0 warp #to_dc2f01_d 2,2,iz_ac02_d,104,27
+iz_ac01_a,122,25,0 warp #to_ac2f02_a 2,2,iz_ac02_a,104,27
+iz_ac01_b,122,25,0 warp #to_bc2f02_b 2,2,iz_ac02_b,104,27
+iz_ac01_c,122,25,0 warp #to_cc2f02_c 2,2,iz_ac02_c,104,27
+iz_ac01_d,122,25,0 warp #to_dc2f02_d 2,2,iz_ac02_d,104,27
+iz_ac02_a,94,27,0 warp #to_ac1f01_a 2,2,iz_ac01_a,78,28
+iz_ac02_b,94,27,0 warp #to_bc1f01_b 2,2,iz_ac01_b,78,28
+iz_ac02_c,94,27,0 warp #to_cc1f01_c 2,2,iz_ac01_c,78,28
+iz_ac02_d,94,27,0 warp #to_dc1f01_d 2,2,iz_ac01_d,78,28
+iz_ac02_a,113,27,0 warp #to_ac1f02_a 2,2,iz_ac01_a,122,28
+iz_ac02_b,113,27,0 warp #to_bc1f02_b 2,2,iz_ac01_b,122,28
+iz_ac02_c,113,27,0 warp #to_cc1f02_c 2,2,iz_ac01_c,122,28
+iz_ac02_d,113,27,0 warp #to_dc1f02_d 2,2,iz_ac01_d,122,28
diff --git a/npc/re/warps/cities/malangdo.txt b/npc/re/warps/cities/malangdo.txt
index f2bf50572..501c9e85b 100644
--- a/npc/re/warps/cities/malangdo.txt
+++ b/npc/re/warps/cities/malangdo.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warp Points for Malangdo Island
//===== Additional Comments: =================================
diff --git a/npc/re/warps/cities/malaya.txt b/npc/re/warps/cities/malaya.txt
index 38e67e3e0..b18a1f52d 100644
--- a/npc/re/warps/cities/malaya.txt
+++ b/npc/re/warps/cities/malaya.txt
@@ -1,36 +1,53 @@
-//===== Hercules Script ======================================
-//= Mayala Port Town Warps
-//===== By: ==================================================
+//===== Hercules Script ======================================
+//= Port Malaya Warp Script
+//===== By: ==================================================
//= Chilly
-//===== 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].
-//============================================================
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= Warp Points for Port Malaya
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Updated to match official scripts. [Masao]
+//= 1.2 Added official Jeepney warp scripts. [Euphy]
+//============================================================
+// Town Warps
+//============================================================
+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
+
+// Locked Warps
+//============================================================
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.";
+ mes "Door is closed. It seems to be 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.";
+ mes "Door is closed. It seems to be keeping its eyes on you.";
close;
}
warp "ma_in01",83,16;
@@ -39,10 +56,9 @@ OnTouch:
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.";
+ mes "Door is closed. It seems to be keeping its eyes on you.";
close;
}
warp "ma_in01",12,24;
@@ -51,10 +67,9 @@ OnTouch:
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.";
+ mes "Door is closed. It seems to be keeping its eyes on you.";
close;
}
warp "ma_in01",126,20;
@@ -63,40 +78,69 @@ OnTouch:
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.";
+ mes "Door is closed. It seems to be keeping its eyes on you.";
close;
- }
+ }
warp "ma_in01",36,152;
end;
}
-// Town Warps
-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
+// Jeepney Warps
+//============================================================
+function script F_Malaya_Warp {
+ mes "Where would you like to go?";
+ next;
+ set .@i$, getarg(select("Back outside",getarg(1)+" Jeepney",getarg(2)+" Jeepney") - 1);
+ close2;
+ switch(getarg(3)) {
+ case 1: // 12 passenger
+ if (.@i$ == "Center")
+ warp "malaya",241,238;
+ if (.@i$ == "Southwest")
+ warp "malaya",71,43;
+ else if (.@i$ == "Southeast")
+ warp "malaya",284,129;
+ break;
+ case 2: // 30 passenger
+ if (.@i$ == "Northwest")
+ warp "malaya",134,247;
+ else if (.@i$ == "Southeast")
+ warp "malaya",341,150;
+ else if (.@i$ == "Northeast")
+ warp "malaya",294,293;
+ break;
+ case 3: // 60 passenger
+ if (.@i$ == "Center")
+ warp "malaya",239,221;
+ else if (.@i$ == "Northwest")
+ warp "malaya",59,246;
+ else if (.@i$ == "Southeast")
+ warp "malaya",254,68;
+ break;
+ }
+ end;
+}
+
+ma_zif01,30,22,0 script Town Warp#zif01 45,1,1,{ callfunc "F_Malaya_Warp","Center","Southwest","Southeast",1; }
+ma_zif02,30,22,0 script Town Warp#zif02 45,1,1,{ callfunc "F_Malaya_Warp","Southwest","Center","Southeast",1; }
+ma_zif03,30,22,0 script Town Warp#zif03 45,1,1,{ callfunc "F_Malaya_Warp","Southeast","Center","Southwest",1; }
+
+ma_zif04,30,22,0 script Town Warp#zif04 45,1,1,{ callfunc "F_Malaya_Warp","Northwest","Southeast","Northeast",2; }
+ma_zif05,30,22,0 script Town Warp#zif05 45,1,1,{ callfunc "F_Malaya_Warp","Southeast","Northwest","Northeast",2; }
+ma_zif06,30,22,0 script Town Warp#zif06 45,1,1,{ callfunc "F_Malaya_Warp","Northeast","Northwest","Southeast",2; }
+
+ma_zif07,30,22,0 script Town Warp#zif07 45,1,1,{ callfunc "F_Malaya_Warp","Center","Northwest","Southeast",3; }
+ma_zif08,30,22,0 script Town Warp#zif08 45,1,1,{ callfunc "F_Malaya_Warp","Northwest","Center","Southeast",3; }
+ma_zif09,30,22,0 script Town Warp#zif09 45,1,1,{ callfunc "F_Malaya_Warp","Southeast","Center","Northwest",3; }
-// Car Warps
-ma_zif01,30,22,0 warp malaya_car0001 1,1,malaya,241,238
-ma_zif02,30,22,0 warp malaya_car0002 1,1,malaya,71,43
-ma_zif03,30,22,0 warp malaya_car0003 1,1,malaya,284,129
-ma_zif04,30,22,0 warp malaya_car0004 1,1,malaya,134,247
-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_zif01,30,22,0 warp malaya_car0001 1,1,malaya,241,238
+//ma_zif02,30,22,0 warp malaya_car0002 1,1,malaya,71,43
+//ma_zif03,30,22,0 warp malaya_car0003 1,1,malaya,284,129
+//ma_zif04,30,22,0 warp malaya_car0004 1,1,malaya,134,247
+//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
diff --git a/npc/re/warps/cities/rachel.txt b/npc/re/warps/cities/rachel.txt
index eb2b0722f..608e7ec2b 100644
--- a/npc/re/warps/cities/rachel.txt
+++ b/npc/re/warps/cities/rachel.txt
@@ -4,8 +4,6 @@
//= erKURITA & RockmanEXE
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= 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 3076d22b1..72004882a 100644
--- a/npc/re/warps/cities/yggdrasil.txt
+++ b/npc/re/warps/cities/yggdrasil.txt
@@ -4,8 +4,6 @@
//= PKGINGO (1.0)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules; RO Episode 6+
//===== Description: =========================================
//= Warp Points for Yggdrasil Tree
//===== Additional Comments: =================================
diff --git a/npc/re/warps/dungeons/bra_dun.txt b/npc/re/warps/dungeons/bra_dun.txt
index de7d1d94f..57210f108 100644
--- a/npc/re/warps/dungeons/bra_dun.txt
+++ b/npc/re/warps/dungeons/bra_dun.txt
@@ -5,7 +5,7 @@
//===== Current Version: =====================================
//= 1.0
//===== Description: =========================================
-//= [Aegis Conversion]
+//= [Official Conversion]
//= Brasilis Dungeon warp script
//===== Additional Comments: =================================
//= 1.0 First version.
diff --git a/npc/re/warps/dungeons/dic_dun.txt b/npc/re/warps/dungeons/dic_dun.txt
index 9016c3e0c..7dde16769 100644
--- a/npc/re/warps/dungeons/dic_dun.txt
+++ b/npc/re/warps/dungeons/dic_dun.txt
@@ -4,8 +4,6 @@
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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 5209c4f25..d3ce45cc7 100644
--- a/npc/re/warps/dungeons/ecl_dun.txt
+++ b/npc/re/warps/dungeons/ecl_dun.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= 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 7b46b5e2d..9a65e15a7 100644
--- a/npc/re/warps/dungeons/iz_dun.txt
+++ b/npc/re/warps/dungeons/iz_dun.txt
@@ -5,13 +5,11 @@
//= Nana (1.1)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warp Points for Bibilyn Island & Undersea Cave
//===== Additional Comments: =================================
//= 1.2 Moved common warps to base path. [Euphy]
-//= 1.3 Added Undersea Tunnel 6th floor warper. [L0ne_W0lf]
+//= 1.3 Added Undersea Tunnel 6th floor warper.
//============================================================
// Undersea Tunnel Warper
diff --git a/npc/re/warps/dungeons/moc_pryd.txt b/npc/re/warps/dungeons/moc_pryd.txt
index aa2feb937..097b5fc3d 100644
--- a/npc/re/warps/dungeons/moc_pryd.txt
+++ b/npc/re/warps/dungeons/moc_pryd.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Morroc Pyramid Nightmare Warp Script
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= Warp Points for Morroc Pyramid Nightmare Mode
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/bif_fild.txt b/npc/re/warps/fields/bif_fild.txt
index ec9de1cf9..b2a9594c0 100644
--- a/npc/re/warps/fields/bif_fild.txt
+++ b/npc/re/warps/fields/bif_fild.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Bifrost Field Warp Script
//===== By: ==================================================
//= Chilly
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= Warp Points for Bifrost Field
//===== Additional Comments: =================================
diff --git a/npc/re/warps/fields/com_fild.txt b/npc/re/warps/fields/com_fild.txt
index c90257eb3..8e7759504 100644
--- a/npc/re/warps/fields/com_fild.txt
+++ b/npc/re/warps/fields/com_fild.txt
@@ -4,10 +4,8 @@
//= Nana
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
-//= [Aegis Conversion]
+//= [Official Conversion]
//= Warp Points for Comodo Fields
//===== Additional Comments: =================================
//= 1.1 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf]
diff --git a/npc/re/warps/fields/dic_fild.txt b/npc/re/warps/fields/dic_fild.txt
index 41ac07aaf..73edb87fb 100644
--- a/npc/re/warps/fields/dic_fild.txt
+++ b/npc/re/warps/fields/dic_fild.txt
@@ -4,8 +4,6 @@
//= Chilly, Muad_Dib
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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 289ad3a6c..fbe737906 100644
--- a/npc/re/warps/fields/geffen_fild.txt
+++ b/npc/re/warps/fields/geffen_fild.txt
@@ -4,8 +4,6 @@
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= 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 309ba8cc1..11f03b489 100644
--- a/npc/re/warps/fields/hugel_fild.txt
+++ b/npc/re/warps/fields/hugel_fild.txt
@@ -4,8 +4,6 @@
//= Sara-chan (1.0)
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 b256e9413..050c76038 100644
--- a/npc/re/warps/fields/morroc_fild.txt
+++ b/npc/re/warps/fields/morroc_fild.txt
@@ -3,9 +3,7 @@
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
-//= 1.4b
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.5
//===== Description: =========================================
//= Warp Points for Morroc Fields
//===== Additional Comments: =================================
@@ -15,11 +13,12 @@
//= 1.4 Uncommented warp that shouldn't have been commented. [L0ne_W0lf]
//= 1.4a Uncommented yet ANOTHER warp that was taken out. [L0ne_W0lf]
//= 1.4b Uncommented ANOTHER warp! Yay! :D [L0ne_W0lf]
+//= 1.5 Commented moc_fild20 warps replaced with new NPCs. [Euphy]
//============================================================
//= Sograt Dessert ===========================================
//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild04,317,376
-moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342
+//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342
moc_fild01,22,242,0 warp mocf005 2,2,prt_fild09,380,237
moc_fild01,239,382,0 warp mocf006 12,1,prt_fild08,233,20
moc_fild01,301,16,0 warp mocf02 10,1,moc_fild02,77,338
@@ -64,7 +63,7 @@ moc_fild03,70,341,0 warp mocf04-1 5,2,moc_fild02,332,23
//moc_fild06,377,316,0 warp mocf10-3 1,15,moc_fild05,24,153
moc_fild07,198,21,0 warp mocf001 2,2,morocc,160,294
//moc_fild07,381,201,0 warp mocf13-1 2,16,moc_fild06,28,201
-moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
+//moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
//moc_fild08,16,207,0 warp mocf15 2,4,moc_fild09,371,195
//moc_fild08,170,383,0 warp mocf08-1 3,2,moc_fild04,175,21
//moc_fild08,204,16,0 warp mocf16 4,2,moc_fild14,196,379
@@ -79,7 +78,7 @@ moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
//moc_fild10,208,298,0 warp mocf14-1 10,2,moc_fild06,207,21
//moc_fild10,384,258,0 warp mocf19-1 2,3,moc_fild09,33,162
//moc_fild11,189,363,0 warp mocf20-1 3,2,moc_fild10,189,26
-moc_fild11,189,360,0 warp mocf20-1 3,2,moc_fild20,197,24
+//moc_fild11,189,360,0 warp mocf20-1 3,2,moc_fild20,197,24
moc_fild11,212,29,0 warp mocf21 4,2,moc_fild17,218,366
moc_fild11,26,161,0 warp mocf22 2,10,moc_fild12,286,168
//moc_fild11,379,197,0 warp mocf23 2,6,moc_fild15,41,105
@@ -89,7 +88,7 @@ moc_fild12,159,381,0 warp mocf003 2,2,morocc,160,20
moc_fild12,289,168,0 warp mocf22-1 2,3,moc_fild11,29,161
moc_fild13,146,368,0 warp mocf05-1 5,2,moc_fild02,71,21
//moc_fild13,29,171,0 warp mocf17-1 2,4,moc_fild08,380,211
-moc_fild13,32,171,0 warp mocf17-1 2,4,moc_fild20,349,179
+//moc_fild13,32,171,0 warp mocf17-1 2,4,moc_fild20,349,179
moc_fild13,298,370,0 warp mocf03-1 4,2,moc_fild02,228,32
moc_fild13,308,49,0 warp mocf06-1 2,4,moc_fild03,20,37
//moc_fild14,16,278,0 warp mocf25 2,6,moc_fild15,364,276
@@ -101,10 +100,10 @@ moc_fild13,308,49,0 warp mocf06-1 2,4,moc_fild03,20,37
//moc_fild15,367,276,0 warp mocf25-1 2,4,moc_fild14,19,278
//moc_fild15,38,105,0 warp mocf23-1 2,4,moc_fild11,376,197
//moc_fild16,125,383,0 warp mocf26-1 5,2,moc_fild15,104,19
-moc_fild16,124,381,0 warp mocf26-1 5,2,moc_fild20,197,24
+//moc_fild16,124,381,0 warp mocf26-1 5,2,moc_fild20,197,24
moc_fild16,16,179,0 warp mocf28 2,6,moc_fild17,366,272
//moc_fild16,334,382,0 warp mocf27-1 4,2,moc_fild15,348,21
-moc_fild16,333,380,0 warp mocf27-1 4,2,moc_fild20,197,24
+//moc_fild16,333,380,0 warp mocf27-1 4,2,moc_fild20,197,24
moc_fild17,218,369,0 warp mocf21-1 5,2,moc_fild11,212,32
moc_fild17,30,300,0 warp moc29 2,5,moc_fild18,379,305
moc_fild17,369,272,0 warp mocf28-1 2,3,moc_fild16,19,179
diff --git a/npc/re/warps/fields/payon_fild.txt b/npc/re/warps/fields/payon_fild.txt
index 5bec271e8..292aa0785 100644
--- a/npc/re/warps/fields/payon_fild.txt
+++ b/npc/re/warps/fields/payon_fild.txt
@@ -1,18 +1,16 @@
//===== Hercules Script ======================================
//= Payon Field Warps
-//===== By: ==================================================
+//===== By: ==================================================
//= Nana (1.0)
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Payon Field Warps
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.1 Refixed payon field08 -> payon warp
//= 1.2 Changed trigger area of pay_fild08 -> payon warp. [L0ne_W0lf]
//= 1.3 Renewal warp adjustments.
-//============================================================
+//============================================================
//= Payon Field's ============================================
pay_fild01,13,152,0 warp payf001 2,7,moc_fild03,299,170
diff --git a/npc/re/warps/fields/prontera_fild.txt b/npc/re/warps/fields/prontera_fild.txt
index 2267c298d..d033d4c53 100644
--- a/npc/re/warps/fields/prontera_fild.txt
+++ b/npc/re/warps/fields/prontera_fild.txt
@@ -3,15 +3,16 @@
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.5
//===== Description: =========================================
//= Warp Points for Prontera Field
//===== Additional Comments: =================================
//= 1.1 updating according to jA [Lupus]
//= 1.2 Updated warps for episode 12.1 [L0ne_W0lf]
//= 1.3 Updated to match the new Izlude Map. [Masao]
+//= 1.3a Moved Izlude warp to other file. [Euphy]
+//= 1.4 Commented moc_fild20 warps replaced with new NPCs. [Euphy]
+//= 1.5 Added Prontera Field 8 duplicates. [Euphy]
//============================================================
//= Prontera Fields ==========================================
@@ -65,29 +66,50 @@ prt_fild08,16,187,0 warp prtf15-1 3,17,prt_fild07,380,186
prt_fild08,16,239,0 warp prtf14-1 3,15,prt_fild07,379,239
prt_fild08,170,378,0 warp prtf004 3,2,prontera,156,26
prt_fild08,233,16,0 warp prtf023 12,1,moc_fild01,238,378
-prt_fild08,371,212,0 warp prtf005 3,3,izlude,26,98
prt_fild08,55,21,0 warp prtf024 4,2,moc_fild01,56,380
prt_fild09,14,124,0 warp prtf17 2,6,prt_fild10,336,126
prt_fild09,14,139,0 warp prtf17-1 2,8,prt_fild10,336,126
prt_fild09,224,380,0 warp prtf13-1 4,2,prt_fild07,206,15
//prt_fild09,246,16,0 warp prtf025 7,2,moc_fild04,92,378
-prt_fild09,246,17,0 warp prtf025 7,2,moc_fild20,209,333
+//prt_fild09,246,17,0 warp prtf025 7,2,moc_fild20,209,333
prt_fild09,383,223,0 warp prtf026 2,15,moc_fild01,25,242
prt_fild09,383,251,0 warp prtf027 2,15,moc_fild01,25,242
prt_fild09,87,380,0 warp prtf16-1 5,2,prt_fild07,84,16
//prt_fild09,95,16,0 warp prtf028 7,2,moc_fild05,325,379
-prt_fild09,95,19,0 warp prtf028 7,2,moc_fild20,209,333
+//prt_fild09,95,19,0 warp prtf028 7,2,moc_fild20,209,333
prt_fild10,20,122,0 warp prtf19 2,4,prt_fild11,359,111
prt_fild10,20,196,0 warp prtf20 2,4,prt_fild11,358,184
prt_fild10,227,299,0 warp prtf020 5,2,gef_fild02,266,21
//prt_fild10,263,20,0 warp prtf029 6,2,moc_fild05,144,372
-prt_fild10,263,22,0 warp prtf029 6,2,moc_fild20,209,333
+//prt_fild10,263,22,0 warp prtf029 6,2,moc_fild20,209,333
prt_fild10,339,126,0 warp prtf17-2 2,8,prt_fild09,17,133
prt_fild11,17,281,0 warp prtf021 2,4,gef_fild11,374,293
prt_fild11,302,301,0 warp prtf022 5,2,gef_fild03,312,19
prt_fild11,361,184,0 warp prtf20-1 2,5,prt_fild10,23,196
prt_fild11,362,111,0 warp prtf19-1 2,6,prt_fild10,23,122
+//= Prontera Field 8 Duplicates ==============================
+prt_fild08a,16,187,0 warp prtf15-1_a 3,17,prt_fild07,380,186
+prt_fild08b,16,187,0 warp prtf15-1_b 3,17,prt_fild07,380,186
+prt_fild08c,16,187,0 warp prtf15-1_c 3,17,prt_fild07,380,186
+prt_fild08d,16,187,0 warp prtf15-1_d 3,17,prt_fild07,380,186
+prt_fild08a,16,239,0 warp prtf14-1_a 3,15,prt_fild07,379,239
+prt_fild08b,16,239,0 warp prtf14-1_b 3,15,prt_fild07,379,239
+prt_fild08c,16,239,0 warp prtf14-1_c 3,15,prt_fild07,379,239
+prt_fild08d,16,239,0 warp prtf14-1_d 3,15,prt_fild07,379,239
+prt_fild08a,170,378,0 warp prtf004_a 3,2,prontera,156,26
+prt_fild08b,170,378,0 warp prtf004_b 3,2,prontera,156,26
+prt_fild08c,170,378,0 warp prtf004_c 3,2,prontera,156,26
+prt_fild08d,170,378,0 warp prtf004_d 3,2,prontera,156,26
+prt_fild08a,233,16,0 warp prtf023_a 12,1,moc_fild01,238,378
+prt_fild08b,233,16,0 warp prtf023_b 12,1,moc_fild01,238,378
+prt_fild08c,233,16,0 warp prtf023_c 12,1,moc_fild01,238,378
+prt_fild08d,233,16,0 warp prtf023_d 12,1,moc_fild01,238,378
+prt_fild08a,55,21,0 warp prtf024_a 4,2,moc_fild01,56,380
+prt_fild08b,55,21,0 warp prtf024_b 4,2,moc_fild01,56,380
+prt_fild08c,55,21,0 warp prtf024_c 4,2,moc_fild01,56,380
+prt_fild08d,55,21,0 warp prtf024_d 4,2,moc_fild01,56,380
+
//= St. Capitolina Abbey =====================================
monk_in,128,46,0 warp monk03 1,3,monk_in,161,38
monk_in,128,84,0 warp monk04 1,3,monk_in,161,90
diff --git a/npc/re/warps/fields/rachel_fild.txt b/npc/re/warps/fields/rachel_fild.txt
index 87d4f16d7..621062377 100644
--- a/npc/re/warps/fields/rachel_fild.txt
+++ b/npc/re/warps/fields/rachel_fild.txt
@@ -4,8 +4,6 @@
//= Playtester
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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 c1a5cce5a..255ce637c 100644
--- a/npc/re/warps/fields/veins_fild.txt
+++ b/npc/re/warps/fields/veins_fild.txt
@@ -4,8 +4,6 @@
//= $ephiroth
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warp Points for Veins Field
//===== Additional Comments: =================================
@@ -45,9 +43,9 @@ ve_fild07,147,371,0 warp ve_fild7-1 1,1,veins,146,28
// Renewal Addon
ve_fild06,81,177,0 warp VeF06S_VeF04S 1,1,ve_fild04,115,55
-//============================================================
+//============================================================
// Old changelog
-//============================================================
+//============================================================
//= 1.0 Initial version [$ephiroth]
//= 1.1 Updated more warps [$ephiroth]
//= 1.2 Removed some unofficial warps [Playtester]
diff --git a/npc/re/warps/fields/yuno_fild.txt b/npc/re/warps/fields/yuno_fild.txt
index b570fca9e..fe998c843 100644
--- a/npc/re/warps/fields/yuno_fild.txt
+++ b/npc/re/warps/fields/yuno_fild.txt
@@ -4,8 +4,6 @@
//= Nana (1.0), Sara
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= 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
index d8eab7cea..6e0b2adca 100644
--- a/npc/re/warps/guildcastles.txt
+++ b/npc/re/warps/guildcastles.txt
@@ -1,11 +1,9 @@
-//===== rAthena Script =======================================
+//===== Hercules Script ======================================
//= Guild Castles Warp Script
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= rAthena SVN
//===== Description: =========================================
//= Warp Points for Renewal Guild Castles
//===== Additional Comments: =================================
diff --git a/npc/re/warps/other/arena.txt b/npc/re/warps/other/arena.txt
new file mode 100644
index 000000000..81eac96ed
--- /dev/null
+++ b/npc/re/warps/other/arena.txt
@@ -0,0 +1,18 @@
+//===== Hercules Script ======================================
+//= Arena Warps
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Warp Points related to Izlude Arena.
+//===== Additional Comments: =================================
+//= 1.0 First version, Renewal warps.
+//============================================================
+
+izlude,213,161,0 warp welcome_arena 1,1,arena_room,100,30
+izlude_a,213,161,0 warp welcome_arena_a 1,1,arena_room,100,30
+izlude_b,213,161,0 warp welcome_arena_b 1,1,arena_room,100,30
+izlude_c,213,161,0 warp welcome_arena_c 1,1,arena_room,100,30
+izlude_d,213,161,0 warp welcome_arena_d 1,1,arena_room,100,30
+arena_room,99,24,0 warp bye_arena 2,2,izlude,209,161
diff --git a/npc/re/warps/other/jobquests.txt b/npc/re/warps/other/jobquests.txt
index 3a2a321fb..39eebc334 100644
--- a/npc/re/warps/other/jobquests.txt
+++ b/npc/re/warps/other/jobquests.txt
@@ -3,17 +3,23 @@
//===== By: ==================================================
//= Athena (1.0)
//===== Current Version: =====================================
-//= 2.2
-//===== Compatible With: =====================================
-//= Hercules; RO Version Ep4+
+//= 2.3
//===== Description: =========================================
//= Warp Points for Job Quest Maps
//===== Additional Comments: =================================
//= 2.1 Added one Shadow Chaser job warp. [Euphy]
//= 2.2 Moved common warps to base path, added warps. [Euphy]
+//= 2.3 Added exit warps (job_exit) for 2nd class quests. [Euphy]
//============================================================
//==============================================================================
+//Exit Warps
+//==============================================================================
+job_knt,89,98,0 warp knt_out 1,1,prt_in,77,99
+job_wiz,49,154,0 warp wiz_out 1,1,gef_tower,108,29
+job_sage,55,154,0 warp sage_out 1,1,yuno_in03,169,171
+
+//==============================================================================
//Arch Bishop
//==============================================================================
job3_arch01,29,24,0 warp #archout 1,1,odin_tem02,282,263
@@ -41,4 +47,4 @@ job3_gen01,71,56,0 warp #from2to1gen 1,1,job3_gen01,11,60
//==============================================================================
//Shadow Chaser
//==============================================================================
-job3_sha01,71,19,0 warp shadowc1 1,1,tha_t01,149,224
+job3_sha01,71,19,0 warp shadowc1 1,1,tha_t01,149,224 \ No newline at end of file
diff --git a/npc/re/warps/other/paradise.txt b/npc/re/warps/other/paradise.txt
index 4d4b241a9..4a7d6c29f 100644
--- a/npc/re/warps/other/paradise.txt
+++ b/npc/re/warps/other/paradise.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= 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 3f50edb6b..286c63e45 100644
--- a/npc/re/warps/other/s_workshop.txt
+++ b/npc/re/warps/other/s_workshop.txt
@@ -4,8 +4,6 @@
//= Chilly
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warp Points for Shadow Workshop
//===== Additional Comments: =================================
@@ -28,4 +26,4 @@ s_atelier,80,66,0 warp s_atelier0012 1,1,s_atelier,32,56
s_atelier,109,129,0 warp s_atelier0013 1,1,s_atelier,159,125
s_atelier,160,130,0 warp s_atelier0014 1,1,s_atelier,114,129
yuno,278,66,0 warp s_atelier0015 1,1,s_atelier,111,122
-s_atelier,107,122,0 warp s_atelier0016 1,1,yuno,274,66
+s_atelier,107,122,0 warp s_atelier0016 1,1,yuno,274,66 \ No newline at end of file
diff --git a/npc/re/warps/other/sign.txt b/npc/re/warps/other/sign.txt
index 84895c26b..8ecd3a777 100644
--- a/npc/re/warps/other/sign.txt
+++ b/npc/re/warps/other/sign.txt
@@ -4,8 +4,6 @@
//= MasterOfMuppets
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules; RO Episode 8+
//===== Description: =========================================
//= Warp Points related to the Sign Quest will be put here
//===== Additional Comments: =================================